From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 16:22:46 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 202FB1065866; Sun, 22 Aug 2010 16:22:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4613B8FC17; Sun, 22 Aug 2010 16:22:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MGMiC2008837; Sun, 22 Aug 2010 16:22:44 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MGMiV7008835; Sun, 22 Aug 2010 16:22:44 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008221622.o7MGMiV7008835@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 16:22:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211631 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:22:46 -0000 Author: attilio Date: Sun Aug 22 16:22:44 2010 New Revision: 211631 URL: http://svn.freebsd.org/changeset/base/211631 Log: - Fix the arguments passing to the process by using the getopt interface - Always close the process via the exit(3) interface - Fix some points where the exit(3) was invoked without a prior cleanup of pidfile - Add a couple of comments explaining how the error handling happpens Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 16:13:51 2010 (r211630) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 16:22:44 2010 (r211631) @@ -55,6 +55,10 @@ /* Host name length (keep at least as big as INET_ADDRSTRLEN) */ #define MAXHOSTNAMELEN 256 +#define PFLAGS_ABIND 0x01 +#define PFLAGS_DDIR 0x02 +#define PFLAGS_SCRIPT 0x04 + #define LOGERR(m, ...) \ syslog(LOG_ERR | LOG_DAEMON, (m), ## __VA_ARGS__) #define LOGERR_PERROR(m) \ @@ -86,6 +90,7 @@ struct netdump_client SLIST_HEAD(, netdump_client) clients = SLIST_HEAD_INITIALIZER(clients); char dumpdir[MAXPATHLEN]; +uint32_t pflags = 0; char *handler_script=NULL; time_t now; int do_shutdown; @@ -118,6 +123,15 @@ static void send_ack(struct netdump_cl struct netdump_msg *msg); static void signal_shutdown(int sig); static void timeout_clients(void); +static void usage(const char *cmd); + +static void +usage(const char *cmd) +{ + + fprintf(stderr, "Usage: %s [-a bind_addr] [-d dump_dir] [-i script]\n", + cmd); +} static struct netdump_client *alloc_client(struct sockaddr_in *sip) { @@ -296,6 +310,10 @@ static void exec_handler(struct netdump_ assert(client != NULL); + /* If no script is specified this is a no-op. */ + if ((pflags & PFLAGS_SCRIPT) == 0) + return; + pid=fork(); /* @@ -653,6 +671,7 @@ static void eventloop() LOGERR_PERROR("select()"); /* Errors with select() probably won't go away if we just try to * select() again */ + pidfile_remove(pfh); exit(1); } @@ -672,6 +691,7 @@ static void eventloop() if (errno != EAGAIN) { + pidfile_remove(pfh); LOGERR_PERROR("recvfrom()"); exit(1); } @@ -767,6 +787,7 @@ int main(int argc, char **argv) struct stat statbuf; struct sockaddr_in bindaddr; struct sigaction sa; + int ch; pfh = pidfile_open(NULL, 0600, NULL); if (pfh == NULL) { @@ -777,65 +798,82 @@ int main(int argc, char **argv) exit(1); } - /* Check argc and set the bindaddr and handler_script */ - switch (argc) - { - case 4: - handler_script = strdup(argv[3]); - if (access(handler_script, F_OK|X_OK)) - { - pidfile_remove(pfh); - fputs("Warning: may be unable to execute handler script\n", - stderr); - free(handler_script); - return 1; - } - case 3: - if (!inet_aton(argv[2], &bindip)) - { - pidfile_remove(pfh); - fputs("Invalid bind IP specified\n", stderr); - return 1; - } - printf("Listening on IP %s\n", argv[2]); - break; - case 2: - bindip.s_addr = INADDR_ANY; - puts("Listening on all interfaces"); - break; + while ((ch = getopt(argc, argv, "a:d:i:")) != -1) { + switch (ch) { + case 'a': + pflags |= PFLAGS_ABIND; + if (!inet_aton(optarg, &bindip)) { + pidfile_remove(pfh); + fprintf(stderr, "Invalid bind IP specified\n"); + exit(1); + } + printf("Listening on IP %s\n", optarg); + break; + case 'd': + pflags |= PFLAGS_DDIR; + bzero(dumpdir, sizeof(dumpdir)); + strncpy(dumpdir, optarg, sizeof(dumpdir) - 1); + break; + case 'i': + pflags |= PFLAGS_SCRIPT; + + /* + * When suddently closing the process for an error, + * it is unuseful to take care of handler_script deallocation + * as long as the process will _exit(2) anyway. + */ + handler_script = strdup(optarg); + if (handler_script == NULL) { + pidfile_remove(pfh); + perror("strdup()"); + fprintf(stderr, "Unable to set script file\n"); + exit(1); + } + if (access(handler_script, F_OK|X_OK)) { + pidfile_remove(pfh); + perror("access()"); + fprintf(stderr, "Unable to access script file\n"); + exit(1); + } + break; default: - pidfile_remove(pfh); - fprintf(stderr, "Usage: %s " - "[bind IP [handler script]]\n", argv[0]); - return 1; + pidfile_remove(pfh); + usage(argv[0]); + exit(1); + } + } + if ((pflags & PFLAGS_ABIND) == 0) { + bindip.s_addr = INADDR_ANY; + printf("Default: listening on all interfaces\n"); + } + if ((pflags & PFLAGS_DDIR) == 0) { + strcpy(dumpdir, "/var/crash"); + printf("Default: dumping on /var/crash/\n"); } /* Check dump location for sanity */ - if (stat(argv[1], &statbuf)) - { + if (stat(dumpdir, &statbuf)) { pidfile_remove(pfh); - perror("stat"); - fputs("Invalid dump location specified\n", stderr); - return 1; + perror("stat()"); + fprintf(stderr, "Invalid dump location specified\n"); + exit(1); } - if ((statbuf.st_mode & S_IFMT) != S_IFDIR) - { + if ((statbuf.st_mode & S_IFMT) != S_IFDIR) { pidfile_remove(pfh); - fputs("Dump location is not a directory\n", stderr); - return 1; + fprintf(stderr, "Dump location is not a directory\n"); + exit(1); } - if (access(argv[1], F_OK|W_OK)) - { - fprintf(stderr, "Warning: May be unable to write into dump " - "location: %s\n", strerror(errno)); + if (access(dumpdir, F_OK|W_OK)) { + fprintf(stderr, + "Warning: May be unable to write into dump location: %s\n", + strerror(errno)); } - strncpy(dumpdir, argv[1], sizeof(dumpdir)-1); - dumpdir[sizeof(dumpdir)-1]='\0'; if (daemon(0, 0) == -1) { pidfile_remove(pfh); perror("daemon()"); - return 1; + fprintf(stderr, "Impossible to demonize the process\n"); + exit(1); } pidfile_write(pfh); @@ -844,7 +882,7 @@ int main(int argc, char **argv) { pidfile_remove(pfh); LOGERR_PERROR("socket()"); - return 1; + exit(1); } bzero(&bindaddr, sizeof(bindaddr)); bindaddr.sin_len = sizeof(bindaddr); @@ -854,15 +892,15 @@ int main(int argc, char **argv) if (bind(sock, (struct sockaddr *)&bindaddr, sizeof(bindaddr))) { pidfile_remove(pfh); - LOGERR_PERROR("bind()"); close(sock); - return 1; + LOGERR_PERROR("bind()"); + exit(1); } if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { pidfile_remove(pfh); - LOGERR_PERROR("fcntl()"); close(sock); - return 1; + LOGERR_PERROR("fcntl()"); + exit(1); } /* Signal handlers */ @@ -871,9 +909,9 @@ int main(int argc, char **argv) if (sigaction(SIGINT, &sa, NULL) || sigaction(SIGTERM, &sa, NULL)) { pidfile_remove(pfh); - LOGERR_PERROR("sigaction(SIGINT | SIGTERM)"); close(sock); - return 1; + LOGERR_PERROR("sigaction(SIGINT | SIGTERM)"); + exit(1); } bzero(&sa, sizeof(sa)); sa.sa_handler = SIG_IGN; @@ -883,7 +921,7 @@ int main(int argc, char **argv) pidfile_remove(pfh); LOGERR_PERROR("sigaction(SIGCHLD)"); close(sock); - return 1; + exit(1); } LOGINFO("Waiting for clients.\n"); @@ -891,12 +929,7 @@ int main(int argc, char **argv) do_shutdown=0; eventloop(); - if (handler_script) - { - free(handler_script); - } pidfile_remove(pfh); - return 0; } From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 16:53:29 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 570461065697; Sun, 22 Aug 2010 16:53:29 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B6218FC1D; Sun, 22 Aug 2010 16:53:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MGrTYj009557; Sun, 22 Aug 2010 16:53:29 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MGrTdL009555; Sun, 22 Aug 2010 16:53:29 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008221653.o7MGrTdL009555@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 16:53:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211634 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:53:29 -0000 Author: attilio Date: Sun Aug 22 16:53:28 2010 New Revision: 211634 URL: http://svn.freebsd.org/changeset/base/211634 Log: Style cleanup for macros, structures and static variable declaration. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 16:42:46 2010 (r211633) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 16:53:28 2010 (r211634) @@ -48,12 +48,8 @@ #include #include -/* How many dumps to allow per IP before they need to be cleaned out */ -#define MAX_DUMPS 256 -/* Clients time out after two minutes */ -#define CLIENT_TIMEOUT 120 -/* Host name length (keep at least as big as INET_ADDRSTRLEN) */ -#define MAXHOSTNAMELEN 256 +#define MAX_DUMPS 256 /* Dumps per IP before to be cleaned out. */ +#define CLIENT_TIMEOUT 120 /* Clients timeout (secs). */ #define PFLAGS_ABIND 0x01 #define PFLAGS_DDIR 0x02 @@ -73,30 +69,34 @@ #define client_pinfo(cl, f, ...) \ fprintf((cl)->infofile, (f), ## __VA_ARGS__) -struct netdump_client -{ - SLIST_ENTRY(netdump_client) iter; - char infofilename[MAXPATHLEN]; - char corefilename[MAXPATHLEN]; - char hostname[NI_MAXHOST]; - struct in_addr ip; - FILE *infofile; - int corefd; - int sock; - time_t last_msg; - unsigned int printed_port_warning : 1; - unsigned int any_data_rcvd : 1; +struct netdump_client { + char infofilename[MAXPATHLEN]; + char corefilename[MAXPATHLEN]; + char hostname[NI_MAXHOST]; + time_t last_msg; + SLIST_ENTRY(netdump_client) iter; + struct in_addr ip; + FILE *infofile; + int corefd; + int sock; + unsigned short printed_port_warning: 1; + unsigned short any_data_rcvd: 1; }; -SLIST_HEAD(, netdump_client) clients = SLIST_HEAD_INITIALIZER(clients); -char dumpdir[MAXPATHLEN]; -uint32_t pflags = 0; -char *handler_script=NULL; -time_t now; -int do_shutdown; -struct in_addr bindip; -struct pidfh *pfh; -int sock; +/* Clients list. */ +static SLIST_HEAD(, netdump_client) clients = SLIST_HEAD_INITIALIZER(clients); + +/* Program arguments handlers. */ +static uint32_t pflags; +static char dumpdir[MAXPATHLEN]; +static char *handler_script; +static struct in_addr bindip; + +/* Miscellaneous handlers. */ +static struct pidfh *pfh; +static time_t now; +static int do_shutdown; +static int sock; static struct netdump_client *alloc_client(struct sockaddr_in *sip); static void eventloop(void); @@ -811,7 +811,7 @@ int main(int argc, char **argv) break; case 'd': pflags |= PFLAGS_DDIR; - bzero(dumpdir, sizeof(dumpdir)); + assert(dumpdir[0] == '\0'); strncpy(dumpdir, optarg, sizeof(dumpdir) - 1); break; case 'i': From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 19:57:42 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 131761065672; Sun, 22 Aug 2010 19:57:42 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01CDF8FC18; Sun, 22 Aug 2010 19:57:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MJvfGb013150; Sun, 22 Aug 2010 19:57:41 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MJvfgO013148; Sun, 22 Aug 2010 19:57:41 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008221957.o7MJvfgO013148@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 19:57:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211637 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 19:57:42 -0000 Author: attilio Date: Sun Aug 22 19:57:41 2010 New Revision: 211637 URL: http://svn.freebsd.org/changeset/base/211637 Log: Fix style fot the alloc_client() function. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 19:09:18 2010 (r211636) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 19:57:41 2010 (r211637) @@ -133,162 +133,148 @@ usage(const char *cmd) cmd); } -static struct netdump_client *alloc_client(struct sockaddr_in *sip) +static struct netdump_client * +alloc_client(struct sockaddr_in *sip) { - struct sockaddr_in saddr; - struct netdump_client *client; - struct in_addr *ip; - char *firstdot; - int i, ecode, fd, bufsz; + struct sockaddr_in saddr; + struct netdump_client *client; + struct in_addr *ip; + char *firstdot; + int i, ecode, fd, bufsz; + + assert(sip != NULL); + + client = calloc(1, sizeof(*client)); + if (client == NULL) { + LOGERR_PERROR("calloc()"); + return (NULL); + } + ip = &sip->sin_addr; + bcopy(ip, &client->ip, sizeof(*ip)); + client->corefd = -1; + client->sock = -1; + client->last_msg = now; - assert(sip != NULL); - - client = calloc(1, sizeof(*client)); - if (!client) - { - LOGERR_PERROR("calloc()"); - return NULL; - } - ip = &sip->sin_addr; - bcopy(ip, &client->ip, sizeof(*ip)); - client->corefd = -1; - client->sock = -1; - client->last_msg = now; - - ecode = getnameinfo((struct sockaddr *)sip, sip->sin_len, client->hostname, - sizeof(client->hostname), NULL, 0, NI_NAMEREQD); - if (ecode != 0) { - - /* Can't resolve, try with a numeric IP. */ ecode = getnameinfo((struct sockaddr *)sip, sip->sin_len, - client->hostname, sizeof(client->hostname), NULL, 0, 0); + client->hostname, sizeof(client->hostname), NULL, 0, NI_NAMEREQD); if (ecode != 0) { - LOGERR("getnameinfo(): %s\n", gai_strerror(ecode)); - free(client); - return NULL; + + /* Can't resolve, try with a numeric IP. */ + ecode = getnameinfo((struct sockaddr *)sip, sip->sin_len, + client->hostname, sizeof(client->hostname), NULL, 0, 0); + if (ecode != 0) { + LOGERR("getnameinfo(): %s\n", gai_strerror(ecode)); + free(client); + return (NULL); + } + } else { + + /* Strip off the domain name */ + firstdot = strchr(client->hostname, '.'); + if (firstdot) + *firstdot = '\0'; } - } else { - /* Strip off the domain name */ - firstdot = strchr(client->hostname, '.'); - if (firstdot) - { - *firstdot='\0'; + client->sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (client->sock == -1) { + LOGERR_PERROR("socket()"); + free(client); + return (NULL); + } + if (fcntl(client->sock, F_SETFL, O_NONBLOCK) == -1) { + LOGERR_PERROR("fcntl()"); + close(client->sock); + free(client); + return (NULL); + } + bzero(&saddr, sizeof(saddr)); + saddr.sin_len = sizeof(saddr); + saddr.sin_family = AF_INET; + saddr.sin_addr.s_addr = bindip.s_addr; + saddr.sin_port = htons(0); + if (bind(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { + LOGERR_PERROR("bind()"); + close(client->sock); + free(client); + return (NULL); + } + bzero(&saddr, sizeof(saddr)); + saddr.sin_len = sizeof(saddr); + saddr.sin_family = AF_INET; + saddr.sin_addr.s_addr = ip->s_addr; + saddr.sin_port = htons(NETDUMP_ACKPORT); + if (connect(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { + LOGERR_PERROR("connect()"); + close(client->sock); + free(client); + return (NULL); } - } - /* Set up the client socket */ - if ((client->sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) - { - LOGERR_PERROR("socket()"); - free(client); - return NULL; - } - if (fcntl(client->sock, F_SETFL, O_NONBLOCK) == -1) { - LOGERR_PERROR("fcntl()"); - close(client->sock); - free(client); - return NULL; - } - bzero(&saddr, sizeof(saddr)); - saddr.sin_len = sizeof(saddr); - saddr.sin_family = AF_INET; - saddr.sin_addr.s_addr = bindip.s_addr; - saddr.sin_port = htons(0); - if (bind(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { - LOGERR_PERROR("bind()"); - close(client->sock); - free(client); - return NULL; - } - bzero(&saddr, sizeof(saddr)); - saddr.sin_len = sizeof(saddr); - saddr.sin_family = AF_INET; - saddr.sin_addr.s_addr = ip->s_addr; - saddr.sin_port = htons(NETDUMP_ACKPORT); - if (connect(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { - LOGERR_PERROR("connect()"); - close(client->sock); - free(client); - return NULL; - } - bufsz=131072; /* XXX: Enough to hold approx twice the chunk size. Should be - * plenty for any 1 client. */ - if (setsockopt(client->sock, SOL_SOCKET, SO_RCVBUF, &bufsz, sizeof(bufsz))) - { - LOGERR_PERROR("setsockopt()"); + /* It should be enough to hold approximatively twize the chunk size. */ + bufsz = 131072; + if (setsockopt(client->sock, SOL_SOCKET, SO_RCVBUF, &bufsz, + sizeof(bufsz))) { + LOGERR_PERROR("setsockopt()"); LOGWARN("May drop packets from %s due to small receive buffer\n", - client->hostname); - } - - /* Try info.host.0 through info.host.255 in sequence */ - for (i=0; i < MAX_DUMPS; i++) - { - snprintf(client->infofilename, sizeof(client->infofilename), - "%s/info.%s.%d", dumpdir, client->hostname, i); - snprintf(client->corefilename, sizeof(client->corefilename), - "%s/vmcore.%s.%d", dumpdir, client->hostname, i); - - /* Try the info file first */ - if ((fd = open(client->infofilename, O_WRONLY|O_CREAT|O_EXCL, - DEFFILEMODE)) == -1) - { - if (errno == EEXIST) - { - continue; - } - LOGERR("open(\"%s\"): %s\n", client->infofilename, strerror(errno)); - continue; - } - if (!(client->infofile = fdopen(fd, "w"))) - { - LOGERR_PERROR("fdopen()"); - close(fd); - unlink(client->infofilename); - continue; + client->hostname); } - /* Next make the core file */ - if ((fd = open(client->corefilename, O_RDWR|O_CREAT|O_EXCL, - DEFFILEMODE)) == -1) - { - /* Failed. Keep the numbers in sync. */ - fclose(client->infofile); - unlink(client->infofilename); - client->infofile = NULL; + /* Try info.host.0 through info.host.255 in sequence. */ + for (i = 0; i < MAX_DUMPS; i++) { + snprintf(client->infofilename, sizeof(client->infofilename), + "%s/info.%s.%d", dumpdir, client->hostname, i); + snprintf(client->corefilename, sizeof(client->corefilename), + "%s/vmcore.%s.%d", dumpdir, client->hostname, i); + + /* Try the info file first. */ + fd = open(client->infofilename, O_WRONLY|O_CREAT|O_EXCL, + DEFFILEMODE); + if (fd == -1) { + if (errno != EEXIST) + LOGERR("open(\"%s\"): %s\n", + client->infofilename, strerror(errno)); + continue; + } + client->infofile = fdopen(fd, "w"); + if (client->infofile == NULL) { + LOGERR_PERROR("fdopen()"); + close(fd); + unlink(client->infofilename); + continue; + } - if (errno == EEXIST) - { - continue; - } - LOGERR("open(\"%s\"): %s\n", client->corefilename, strerror(errno)); - continue; + /* Next make the core file. */ + fd = open(client->corefilename, O_RDWR|O_CREAT|O_EXCL, + DEFFILEMODE); + if (fd == -1) { + + /* Failed. Keep the numbers in sync. */ + fclose(client->infofile); + unlink(client->infofilename); + client->infofile = NULL; + if (errno != EEXIST) + LOGERR("open(\"%s\"): %s\n", + client->corefilename, strerror(errno)); + continue; + } + client->corefd = fd; + break; } - client->corefd = fd; - break; - } - if (!client->infofile || client->corefd == -1) - { - LOGERR("Can't create output files for new client %s [%s]\n", - client->hostname, client_ntoa(client)); - if (client->infofile) - { - fclose(client->infofile); - } - if (client->corefd != -1) - { - close(client->corefd); - } - if (client->sock != -1) - { - close(client->sock); + if (client->infofile == NULL || client->corefd == -1) { + LOGERR("Can't create output files for new client %s [%s]\n", + client->hostname, client_ntoa(client)); + if (client->infofile) + fclose(client->infofile); + if (client->corefd != -1) + close(client->corefd); + if (client->sock != -1) + close(client->sock); + free(client); + return (NULL); } - free(client); - return NULL; - } - SLIST_INSERT_HEAD(&clients, client, iter); - return client; + SLIST_INSERT_HEAD(&clients, client, iter); + return (client); } static void free_client(struct netdump_client *client) From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 20:04:48 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96FD510656A5; Sun, 22 Aug 2010 20:04:48 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 869E28FC1A; Sun, 22 Aug 2010 20:04:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MK4m2W013345; Sun, 22 Aug 2010 20:04:48 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MK4mrP013343; Sun, 22 Aug 2010 20:04:48 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222004.o7MK4mrP013343@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 20:04:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211638 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 20:04:48 -0000 Author: attilio Date: Sun Aug 22 20:04:48 2010 New Revision: 211638 URL: http://svn.freebsd.org/changeset/base/211638 Log: More style cleanups for other functions. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 19:57:41 2010 (r211637) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:04:48 2010 (r211638) @@ -50,6 +50,7 @@ #define MAX_DUMPS 256 /* Dumps per IP before to be cleaned out. */ #define CLIENT_TIMEOUT 120 /* Clients timeout (secs). */ +#define CLIENT_TPASS 10 /* Clients timeout pass (secs). */ #define PFLAGS_ABIND 0x01 #define PFLAGS_DDIR 0x02 @@ -95,6 +96,7 @@ static struct in_addr bindip; /* Miscellaneous handlers. */ static struct pidfh *pfh; static time_t now; +static time_t last_timeout_check; static int do_shutdown; static int sock; @@ -277,88 +279,78 @@ alloc_client(struct sockaddr_in *sip) return (client); } -static void free_client(struct netdump_client *client) +static void +free_client(struct netdump_client *client) { - assert(client != NULL); + assert(client != NULL); - /* Remove from the list. Ignore errors from close() routines. */ - SLIST_REMOVE(&clients, client, netdump_client, iter); - fclose(client->infofile); - close(client->corefd); - close(client->sock); - free(client); + /* Remove from the list. Ignore errors from close() routines. */ + SLIST_REMOVE(&clients, client, netdump_client, iter); + fclose(client->infofile); + close(client->corefd); + close(client->sock); + free(client); } -static void exec_handler(struct netdump_client *client, const char *reason) +static void +exec_handler(struct netdump_client *client, const char *reason) { - int pid; + int pid; - assert(client != NULL); + assert(client != NULL); - /* If no script is specified this is a no-op. */ - if ((pflags & PFLAGS_SCRIPT) == 0) - return; + /* If no script is specified this is a no-op. */ + if ((pflags & PFLAGS_SCRIPT) == 0) + return; - pid=fork(); + pid = fork(); - /* - * The function is invoked in critical conditions, thus just exiting - * without reporting errors is fine. - */ - if (pid == -1) - { - LOGERR_PERROR("fork()"); - return; - } - else if (pid) - { - return; - } - else - { - close(sock); - pidfile_close(pfh); - if (execl(handler_script, handler_script, reason, client_ntoa(client), - client->hostname, client->infofilename, client->corefilename, - NULL) == -1) { + /* + * The function is invoked in critical conditions, thus just exiting + * without reporting errors is fine. + */ + if (pid == -1) { LOGERR_PERROR("fork()"); - _exit(1); + return; + } else if (pid != 0) { + close(sock); + pidfile_close(pfh); + if (execl(handler_script, handler_script, reason, + client_ntoa(client), client->hostname, + client->infofilename, client->corefilename, NULL) == -1) { + LOGERR_PERROR("fork()"); + _exit(1); + } } - } } -static void handle_timeout(struct netdump_client *client) +static void +handle_timeout(struct netdump_client *client) { - assert(client != NULL); + assert(client != NULL); - LOGINFO("Client %s timed out\n", client_ntoa(client)); - client_pinfo(client, "Dump incomplete: client timed out\n"); - exec_handler(client, "timeout"); - free_client(client); + LOGINFO("Client %s timed out\n", client_ntoa(client)); + client_pinfo(client, "Dump incomplete: client timed out\n"); + exec_handler(client, "timeout"); + free_client(client); } -static void timeout_clients() +static void +timeout_clients() { - static time_t last_timeout_check; - struct netdump_client *client, *tmp; + struct netdump_client *client, *tmp; - /* Only time out clients every 10 seconds */ - if (now - last_timeout_check < 10) - { - return; - } - - last_timeout_check = now; - - /* Traverse the list looking for stale clients */ - SLIST_FOREACH_SAFE(client, &clients, iter, tmp) { - if (client->last_msg+CLIENT_TIMEOUT < now) - { - handle_timeout(client); - } - } + /* Only time out clients every 10 seconds. */ + if (now - last_timeout_check < CLIENT_TPASS) + return; + last_timeout_check = now; + + /* Traverse the list looking for stale clients. */ + SLIST_FOREACH_SAFE(client, &clients, iter, tmp) + if (client->last_msg + CLIENT_TIMEOUT < now) + handle_timeout(client); } static void send_ack(struct netdump_client *client, struct netdump_msg *msg) From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 20:21:10 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B66381065696; Sun, 22 Aug 2010 20:21:10 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A52E68FC0A; Sun, 22 Aug 2010 20:21:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MKLA6Y013734; Sun, 22 Aug 2010 20:21:10 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MKLA89013732; Sun, 22 Aug 2010 20:21:10 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222021.o7MKLA89013732@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 20:21:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211640 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 20:21:10 -0000 Author: attilio Date: Sun Aug 22 20:21:10 2010 New Revision: 211640 URL: http://svn.freebsd.org/changeset/base/211640 Log: More functions converted to style. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:17:28 2010 (r211639) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:21:10 2010 (r211640) @@ -353,183 +353,161 @@ timeout_clients() handle_timeout(client); } -static void send_ack(struct netdump_client *client, struct netdump_msg *msg) +static void +send_ack(struct netdump_client *client, struct netdump_msg *msg) { - struct netdump_ack ack; - int tryagain; + struct netdump_ack ack; + int tryagain; - assert(client != NULL && msg != NULL); + assert(client != NULL && msg != NULL); - bzero(&ack, sizeof(ack)); - ack.seqno = htonl(msg->hdr.seqno); - - do - { - tryagain=0; - - if (send(client->sock, &ack, sizeof(ack), 0) == -1) - { - if (errno == EINTR) - { - tryagain=1; - continue; - } - - /* XXX: On EAGAIN, we should probably queue the packet to be sent - * when the socket is writable... but that's too much effort, since - * it's mostly harmless to wait for the client to retransmit. */ - LOGERR_PERROR("send()"); - } - } - while (tryagain); + bzero(&ack, sizeof(ack)); + ack.seqno = htonl(msg->hdr.seqno); + do { + tryagain = 0; + if (send(client->sock, &ack, sizeof(ack), 0) == -1) { + if (errno == EINTR) { + tryagain = 1; + continue; + } + + /* + * XXX: On EAGAIN, we should probably queue the packet + * to be sent when the socket is writable but + * that is too much effort, since it is mostly + * harmless to wait for the client to retransmit. + */ + LOGERR_PERROR("send()"); + } + } while (tryagain); } -static void handle_herald(struct sockaddr_in *from, - struct netdump_client *client, struct netdump_msg *msg) +static void +handle_herald(struct sockaddr_in *from, struct netdump_client *client, + struct netdump_msg *msg) { - assert(from != NULL && msg != NULL); - - if (client) - { - if (!client->any_data_rcvd) - { - /* Must be a retransmit of the herald packet. */ - send_ack(client, msg); - return; - } - - /* An old connection must have timed out. Clean it up first */ - handle_timeout(client); - } - - client = alloc_client(from); + assert(from != NULL && msg != NULL); - if (!client) - { - LOGERR("handle_herald(): new client allocation failure\n"); - return; - } + if (client != NULL) { + if (client->any_data_rcvd == 0) { - client_pinfo(client, "Dump from %s [%s]\n", client->hostname, - client_ntoa(client)); + /* Must be a retransmit of the herald packet. */ + send_ack(client, msg); + return; + } - LOGINFO("New dump from client %s [%s] (to %s)\n", client->hostname, - client_ntoa(client), client->corefilename); + /* An old connection must have timed out. Clean it up first. */ + handle_timeout(client); + } - send_ack(client, msg); + client = alloc_client(from); + if (client == NULL) { + LOGERR("handle_herald(): new client allocation failure\n"); + return; + } + client_pinfo(client, "Dump from %s [%s]\n", client->hostname, + client_ntoa(client)); + LOGINFO("New dump from client %s [%s] (to %s)\n", client->hostname, + client_ntoa(client), client->corefilename); + send_ack(client, msg); } -static void handle_kdh(struct netdump_client *client, struct netdump_msg *msg) +static void +handle_kdh(struct netdump_client *client, struct netdump_msg *msg) { - struct kerneldumpheader *h; - uint64_t dumplen; - time_t t; - int parity_check; - - assert(msg != NULL); - - if (!client) - { - return; - } + time_t t; + uint64_t dumplen; + struct kerneldumpheader *h; + int parity_check; + + assert(msg != NULL); + + if (client == NULL) + return; + + client->any_data_rcvd = 1; + h = (struct kerneldumpheader *)msg->data; + if (msg->hdr.len < sizeof(struct kerneldumpheader)) { + LOGERR("Bad KDH from %s [%s]: packet too small\n", + client->hostname, client_ntoa(client)); + client_pinfo(client, "Bad KDH: packet too small\n"); + fflush(client->infofile); + send_ack(client, msg); + return; + } + parity_check = kerneldump_parity(h); - client->any_data_rcvd = 1; - h=(struct kerneldumpheader *)msg->data; - - if (msg->hdr.len < sizeof(struct kerneldumpheader)) - { - LOGERR("Bad KDH from %s [%s]: packet too small\n", client->hostname, - client_ntoa(client)); - client_pinfo(client, "Bad KDH: packet too small\n"); + /* Make sure all the strings are null-terminated. */ + h->architecture[sizeof(h->architecture) - 1] = '\0'; + h->hostname[sizeof(h->hostname) - 1] = '\0'; + h->versionstring[sizeof(h->versionstring) - 1] = '\0'; + h->panicstring[sizeof(h->panicstring) - 1] = '\0'; + + client_pinfo(client, " Architecture: %s\n", h->architecture); + client_pinfo(client, " Architecture version: %d\n", + dtoh32(h->architectureversion)); + dumplen = dtoh64(h->dumplength); + client_pinfo(client, " Dump length: %lldB (%lld MB)\n", + (long long)dumplen, (long long)(dumplen >> 20)); + client_pinfo(client, " blocksize: %d\n", dtoh32(h->blocksize)); + t = dtoh64(h->dumptime); + client_pinfo(client, " Dumptime: %s", ctime(&t)); + client_pinfo(client, " Hostname: %s\n", h->hostname); + client_pinfo(client, " Versionstring: %s", h->versionstring); + client_pinfo(client, " Panicstring: %s\n", h->panicstring); + client_pinfo(client, " Header parity check: %s\n", + parity_check ? "Fail" : "Pass"); fflush(client->infofile); - send_ack(client, msg); - return; - } - - parity_check = kerneldump_parity(h); - - /* Make sure we null terminate all the strings */ - h->architecture[sizeof(h->architecture)-1] = '\0'; - h->hostname[sizeof(h->hostname)-1] = '\0'; - h->versionstring[sizeof(h->versionstring)-1] = '\0'; - h->panicstring[sizeof(h->panicstring)-1] = '\0'; - - client_pinfo(client, " Architecture: %s\n", h->architecture); - client_pinfo(client, " Architecture version: %d\n", - dtoh32(h->architectureversion)); - dumplen = dtoh64(h->dumplength); - client_pinfo(client, " Dump length: %lldB (%lld MB)\n", - (long long)dumplen, (long long)(dumplen >> 20)); - client_pinfo(client, " blocksize: %d\n", dtoh32(h->blocksize)); - t = dtoh64(h->dumptime); - client_pinfo(client, " Dumptime: %s", ctime(&t)); - client_pinfo(client, " Hostname: %s\n", h->hostname); - client_pinfo(client, " Versionstring: %s", h->versionstring); - client_pinfo(client, " Panicstring: %s\n", h->panicstring); - client_pinfo(client, " Header parity check: %s\n", - parity_check ? "Fail" : "Pass"); - fflush(client->infofile); - LOGINFO("(KDH from %s [%s])", client->hostname, client_ntoa(client)); - - send_ack(client, msg); + LOGINFO("(KDH from %s [%s])", client->hostname, client_ntoa(client)); + send_ack(client, msg); } -static void handle_vmcore(struct netdump_client *client, - struct netdump_msg *msg) +static void +handle_vmcore(struct netdump_client *client, struct netdump_msg *msg) { - assert(msg != NULL); - - if (!client) - { - return; - } + assert(msg != NULL); - client->any_data_rcvd = 1; - - if (msg->hdr.seqno % 11523 == 0) - { - /* Approximately every 16MB with MTU of 1500 */ - LOGINFO("."); - } + if (client == NULL) + return; - if (pwrite(client->corefd, msg->data, msg->hdr.len, msg->hdr.offset) == -1) - { - LOGERR("pwrite (for client %s [%s]): %s\n", client->hostname, - client_ntoa(client), strerror(errno)); - client_pinfo(client, "Dump unsuccessful: write error at offset %08"PRIx64": %s\n", - msg->hdr.offset, strerror(errno)); - exec_handler(client, "error"); - free_client(client); - return; - } + client->any_data_rcvd = 1; + if (msg->hdr.seqno % 11523 == 0) { - send_ack(client, msg); + /* Approximately every 16MB with MTU of 1500 */ + LOGINFO("."); + } + if (pwrite(client->corefd, msg->data, msg->hdr.len, + msg->hdr.offset) == -1) { + LOGERR("pwrite (for client %s [%s]): %s\n", client->hostname, + client_ntoa(client), strerror(errno)); + client_pinfo(client, + "Dump unsuccessful: write error @ offset %08"PRIx64": %s\n", + msg->hdr.offset, strerror(errno)); + exec_handler(client, "error"); + free_client(client); + return; + } + send_ack(client, msg); } -static void handle_finish(struct netdump_client *client, - struct netdump_msg *msg) +static void +handle_finish(struct netdump_client *client, struct netdump_msg *msg) { - assert(msg != NULL); + assert(msg != NULL); - if (!client) - { - return; - } - - - LOGINFO("\nCompleted dump from client %s [%s]\n", client->hostname, - client_ntoa(client)); - client_pinfo(client, "Dump complete\n"); + if (client == NULL) + return; - /* Do this before we free the client */ - send_ack(client, msg); - - exec_handler(client, "success"); - free_client(client); + LOGINFO("\nCompleted dump from client %s [%s]\n", client->hostname, + client_ntoa(client)); + client_pinfo(client, "Dump complete\n"); + send_ack(client, msg); + exec_handler(client, "success"); + free_client(client); } From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 20:30:18 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C43A2106566B; Sun, 22 Aug 2010 20:30:18 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B3DD68FC1B; Sun, 22 Aug 2010 20:30:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MKUIjJ014136; Sun, 22 Aug 2010 20:30:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MKUIHS014134; Sun, 22 Aug 2010 20:30:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222030.o7MKUIHS014134@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 20:30:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211644 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 20:30:18 -0000 Author: attilio Date: Sun Aug 22 20:30:18 2010 New Revision: 211644 URL: http://svn.freebsd.org/changeset/base/211644 Log: More functions style cleanups. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:25:03 2010 (r211643) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:30:18 2010 (r211644) @@ -511,83 +511,83 @@ handle_finish(struct netdump_client *cli } -static int receive_message(int sock, struct sockaddr_in *from, char *fromstr, - size_t fromstrlen, struct netdump_msg *msg) +static int +receive_message(int sock, struct sockaddr_in *from, char *fromstr, + size_t fromstrlen, struct netdump_msg *msg) { - socklen_t fromlen; - ssize_t len; + socklen_t fromlen; + ssize_t len; - assert(from != NULL && fromstr != NULL && msg != NULL); + assert(from != NULL && fromstr != NULL && msg != NULL); - bzero(from, sizeof(*from)); - from->sin_family = AF_INET; - from->sin_len = fromlen = sizeof(*from); - from->sin_port = 0; - from->sin_addr.s_addr = INADDR_ANY; + bzero(from, sizeof(*from)); + from->sin_family = AF_INET; + from->sin_len = fromlen = sizeof(*from); + from->sin_port = 0; + from->sin_addr.s_addr = INADDR_ANY; + + len = recvfrom(sock, msg, sizeof(*msg), 0, (struct sockaddr *)from, + &fromlen); + if (len == -1) { - if ((len = recvfrom(sock, msg, sizeof(*msg), 0, - (struct sockaddr *)from, &fromlen)) == -1) - { - /* The caller can use errno to find the error */ - return -1; - } + /* + * As long as some callers may discard the errors printing + * in defined circumstances, leave them the choice and avoid + * any error reporting. + */ + return (-1); + } - snprintf(fromstr, fromstrlen, "%s:%hu", inet_ntoa(from->sin_addr), + snprintf(fromstr, fromstrlen, "%s:%hu", inet_ntoa(from->sin_addr), ntohs(from->sin_port)); + if ((size_t)len < sizeof(struct netdump_msg_hdr)) { + LOGERR("Ignoring runt packet from %s (got %zu)\n", fromstr, + (size_t)len); + return (0); + } - if ((size_t)len < sizeof(struct netdump_msg_hdr)) - { - LOGERR("Ignoring runt packet from %s (got %zu)\n", fromstr, - (size_t)len); - return 0; - } - - /* Convert byte order */ - msg->hdr.type = ntohl(msg->hdr.type); - msg->hdr.seqno = ntohl(msg->hdr.seqno); - msg->hdr.offset = be64toh(msg->hdr.offset); - msg->hdr.len = ntohl(msg->hdr.len); - - if ((size_t)len < sizeof(struct netdump_msg_hdr) + msg->hdr.len) - { - LOGERR("Packet too small from %s (got %zu, expected %zu)\n", - fromstr, (size_t)len, - sizeof(struct netdump_msg_hdr) + msg->hdr.len); - return 0; - } - - return len; + /* Convert byte order. */ + msg->hdr.type = ntohl(msg->hdr.type); + msg->hdr.seqno = ntohl(msg->hdr.seqno); + msg->hdr.offset = be64toh(msg->hdr.offset); + msg->hdr.len = ntohl(msg->hdr.len); + + if ((size_t)len < sizeof(struct netdump_msg_hdr) + msg->hdr.len) { + LOGERR("Packet too small from %s (got %zu, expected %zu)\n", + fromstr, (size_t)len, + sizeof(struct netdump_msg_hdr) + msg->hdr.len); + return (0); + } + return (len); } -static void handle_packet(struct netdump_client *client, - struct sockaddr_in *from, const char *fromstr, struct netdump_msg *msg) +static void +handle_packet(struct netdump_client *client, struct sockaddr_in *from, + const char *fromstr, struct netdump_msg *msg) { - assert(from != NULL && fromstr != NULL && msg != NULL); + assert(from != NULL && fromstr != NULL && msg != NULL); - if (client) - { - client->last_msg = time(NULL); - } + if (client != NULL) + client->last_msg = time(NULL); - switch (msg->hdr.type) - { + switch (msg->hdr.type) { case NETDUMP_HERALD: - handle_herald(from, client, msg); - break; + handle_herald(from, client, msg); + break; case NETDUMP_KDH: - handle_kdh(client, msg); - break; + handle_kdh(client, msg); + break; case NETDUMP_VMCORE: - handle_vmcore(client, msg); - break; + handle_vmcore(client, msg); + break; case NETDUMP_FINISHED: - handle_finish(client, msg); - break; + handle_finish(client, msg); + break; default: - LOGERR("Received unknown message type %d from %s\n", - msg->hdr.type, fromstr); - } + LOGERR("Received unknown message type %d from %s\n", + msg->hdr.type, fromstr); + } } static void eventloop() @@ -733,9 +733,11 @@ static void eventloop() } } -static void signal_shutdown(int sig) +static void +signal_shutdown(int sig) { - do_shutdown=1; + + do_shutdown = 1; } int main(int argc, char **argv) From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 21:06:19 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BE7B1065698; Sun, 22 Aug 2010 21:06:19 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B1BF8FC13; Sun, 22 Aug 2010 21:06:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7ML6J1a015011; Sun, 22 Aug 2010 21:06:19 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7ML6IOO015009; Sun, 22 Aug 2010 21:06:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222106.o7ML6IOO015009@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 21:06:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211645 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:06:19 -0000 Author: attilio Date: Sun Aug 22 21:06:18 2010 New Revision: 211645 URL: http://svn.freebsd.org/changeset/base/211645 Log: Style-cleanup for eventloop(). Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 20:30:18 2010 (r211644) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 21:06:18 2010 (r211645) @@ -590,147 +590,134 @@ handle_packet(struct netdump_client *cli } } -static void eventloop() +static void +eventloop() { - struct netdump_msg msg; - - while (!do_shutdown) - { + struct netdump_msg msg; + char fromstr[INET_ADDRSTRLEN + 6]; fd_set readfds; - int maxfd=sock+1; - struct netdump_client *client, *tmp; - struct timeval tv; struct sockaddr_in from; - char fromstr[INET_ADDRSTRLEN+6]; /* Long enough for IP+':'+port+'\0' */ - - FD_ZERO(&readfds); - FD_SET(sock, &readfds); - SLIST_FOREACH(client, &clients, iter) { - FD_SET(client->sock, &readfds); - if (maxfd <= client->sock) - { - maxfd = client->sock+1; - } - } - - /* So that we time out clients regularly */ - tv.tv_sec = 10; - tv.tv_usec = 0; - - if (select(maxfd, &readfds, NULL, NULL, &tv) == -1) - { - if (errno == EINTR) - { - continue; - } - - LOGERR_PERROR("select()"); - /* Errors with select() probably won't go away if we just try to - * select() again */ - pidfile_remove(pfh); - exit(1); - } - - now = time(NULL); - - if (FD_ISSET(sock, &readfds)) { - int len; - - len = receive_message(sock, &from, fromstr, sizeof(fromstr), &msg); + struct timeval tv; + struct netdump_client *client, *tmp; + int len, maxfd; - if (len == -1) - { - if (errno == EINTR) - { - continue; + while (do_shutdown == 0) { + maxfd = sock + 1; + FD_ZERO(&readfds); + FD_SET(sock, &readfds); + SLIST_FOREACH(client, &clients, iter) { + FD_SET(client->sock, &readfds); + if (maxfd <= client->sock) + maxfd = client->sock+1; } - if (errno != EAGAIN) - { - pidfile_remove(pfh); - LOGERR_PERROR("recvfrom()"); - exit(1); + /* So that we time out clients regularly. */ + tv.tv_sec = CLIENT_TPASS; + tv.tv_usec = 0; + if (select(maxfd, &readfds, NULL, NULL, &tv) == -1) { + if (errno == EINTR) + continue; + LOGERR_PERROR("select()"); + + /* + * Errors with select() probably will not go away + * with simple retrying. + */ + pidfile_remove(pfh); + exit(1); } - } - else if (len == 0) - { - /* The packet was rejected (probably because it was too small). - * Just ignore it. */ - } - else - { - /* Check if they're on the clients list */ - SLIST_FOREACH(client, &clients, iter) { - if (client->ip.s_addr == from.sin_addr.s_addr) - { - break; - } + now = time(NULL); + if (FD_ISSET(sock, &readfds)) { + len = receive_message(sock, &from, fromstr, + sizeof(fromstr), &msg); + if (len == -1) { + if (errno == EINTR) + continue; + if (errno != EAGAIN) { + pidfile_remove(pfh); + LOGERR_PERROR("recvfrom()"); + exit(1); + } + } else if (len != 0) { + + /* + * With len == 0 the packet was rejected + * (probably because it was too small) so just + * ignore this case. + */ + + /* Check if they are on the clients list. */ + SLIST_FOREACH(client, &clients, iter) + if (client->ip.s_addr == + from.sin_addr.s_addr) + break; + + /* + * Technically, clients should not be + * responding on the server port, so client + * should be NULL, however, if they insist on + * doing so, it's not really going to hurt + * anything (except maybe fill up the server + * socket's receive buffer), so still + * accept it. The only possibly legitimate case + * is if there's a new dump starting and the + * previous one didn't finish cleanly. Handle + * this by suppressing the error on HERALD + * packets. + */ + if (client != NULL && + msg.hdr.type != NETDUMP_HERALD && + client->printed_port_warning == 0) { + LOGWARN("Client %s responding on server port\n", + client->hostname); + client->printed_port_warning = 1; + } + handle_packet(client, &from, fromstr, &msg); + } } - /* Technically, clients shouldn't be responding on the server - * port, so client should be NULL, however, if they insist on - * doing so, it's not really going to hurt anything (except - * maybe fill up the server socket's receive buffer), so still - * accept it. The only possibly legitimate case is if there's - * a new dump starting and the previous one didn't finish - * cleanly. Handle this by suppressing the error on HERALD - * packets. + /* + * handle_packet() and handle_timeout() may free the client, + * handle stale pointers. */ - if (client && msg.hdr.type != NETDUMP_HERALD && - !client->printed_port_warning) - { - LOGWARN("Client %s responding on server port\n", - client->hostname); - client->printed_port_warning = 1; + SLIST_FOREACH_SAFE(client, &clients, iter, tmp) { + if (FD_ISSET(client->sock, &readfds)) { + len = receive_message(client->sock, &from, + fromstr, sizeof(fromstr), &msg); + if (len == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + LOGERR_PERROR("recvfrom()"); + + /* + * Client socket is broken for + * some reason. + */ + handle_timeout(client); + } else if (len != 0) { + + /* + * With len == 0 the packet was + * rejected (probably because it was + * too small) so just ignore this case. + */ + + FD_CLR(client->sock, &readfds); + handle_packet(client, &from, fromstr, + &msg); + } + } } - - handle_packet(client, &from, fromstr, &msg); - } + timeout_clients(); } + LOGINFO("Shutting down..."); /* - * handle_packet() and handle_timeout() may free the client, - * handle stale pointers. + * Clients is the head of the list, so clients != NULL iff the list + * is not empty. Call it a timeout so that the scripts get run. */ - SLIST_FOREACH_SAFE(client, &clients, iter, tmp) { - if (FD_ISSET(client->sock, &readfds)) - { - int len = receive_message(client->sock, &from, fromstr, - sizeof(fromstr), &msg); - if (len == -1) - { - if (errno == EINTR || errno == EAGAIN) - { - continue; - } - - LOGERR_PERROR("recvfrom()"); - /* Client socket is broken for some reason */ - handle_timeout(client); - } - else if (len == 0) - { - /* The packet was rejected (probably because it was too - * small). Just ignore it. */ - } - else - { - FD_CLR(client->sock, &readfds); - handle_packet(client, &from, fromstr, &msg); - } - } - } - - timeout_clients(); - } - - LOGINFO("Shutting down..."); - /* Clients is the head of the list, so clients != NULL iff the list isn't - * empty. Call it a timeout so that the scripts get run. */ - while (!SLIST_EMPTY(&clients)) - { - handle_timeout(SLIST_FIRST(&clients)); - } + while (!SLIST_EMPTY(&clients)) + handle_timeout(SLIST_FIRST(&clients)); } static void From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 21:25:22 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1227C10656A4; Sun, 22 Aug 2010 21:25:22 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 012C48FC12; Sun, 22 Aug 2010 21:25:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLPL8v016613; Sun, 22 Aug 2010 21:25:21 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLPL0h016611; Sun, 22 Aug 2010 21:25:21 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222125.o7MLPL0h016611@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 21:25:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211647 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:25:22 -0000 Author: attilio Date: Sun Aug 22 21:25:21 2010 New Revision: 211647 URL: http://svn.freebsd.org/changeset/base/211647 Log: Style-cleanup for the main() function. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 21:18:21 2010 (r211646) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 21:25:21 2010 (r211647) @@ -727,154 +727,151 @@ signal_shutdown(int sig) do_shutdown = 1; } -int main(int argc, char **argv) +int +main(int argc, char **argv) { - struct stat statbuf; - struct sockaddr_in bindaddr; - struct sigaction sa; - int ch; - - pfh = pidfile_open(NULL, 0600, NULL); - if (pfh == NULL) { - if (errno == EEXIST) - printf("Instance of netdump already running\n"); - else - printf("Impossible to open the pid file\n"); - exit(1); - } - - while ((ch = getopt(argc, argv, "a:d:i:")) != -1) { - switch (ch) { - case 'a': - pflags |= PFLAGS_ABIND; - if (!inet_aton(optarg, &bindip)) { - pidfile_remove(pfh); - fprintf(stderr, "Invalid bind IP specified\n"); - exit(1); - } - printf("Listening on IP %s\n", optarg); - break; - case 'd': - pflags |= PFLAGS_DDIR; - assert(dumpdir[0] == '\0'); - strncpy(dumpdir, optarg, sizeof(dumpdir) - 1); - break; - case 'i': - pflags |= PFLAGS_SCRIPT; - - /* - * When suddently closing the process for an error, - * it is unuseful to take care of handler_script deallocation - * as long as the process will _exit(2) anyway. - */ - handler_script = strdup(optarg); - if (handler_script == NULL) { - pidfile_remove(pfh); - perror("strdup()"); - fprintf(stderr, "Unable to set script file\n"); - exit(1); - } - if (access(handler_script, F_OK|X_OK)) { + struct stat statbuf; + struct sockaddr_in bindaddr; + struct sigaction sa; + int ch; + + pfh = pidfile_open(NULL, 0600, NULL); + if (pfh == NULL) { + if (errno == EEXIST) + printf("Instance of netdump already running\n"); + else + printf("Impossible to open the pid file\n"); + exit(1); + } + + while ((ch = getopt(argc, argv, "a:d:i:")) != -1) { + switch (ch) { + case 'a': + pflags |= PFLAGS_ABIND; + if (!inet_aton(optarg, &bindip)) { + pidfile_remove(pfh); + fprintf(stderr, "Invalid bind IP specified\n"); + exit(1); + } + printf("Listening on IP %s\n", optarg); + break; + case 'd': + pflags |= PFLAGS_DDIR; + assert(dumpdir[0] == '\0'); + strncpy(dumpdir, optarg, sizeof(dumpdir) - 1); + break; + case 'i': + pflags |= PFLAGS_SCRIPT; + + /* + * When suddenly closing the process for an error, + * it is unuseful to take care of handler_script + * deallocation as long as the process will _exit(2) + * anyway. + */ + handler_script = strdup(optarg); + if (handler_script == NULL) { + pidfile_remove(pfh); + perror("strdup()"); + fprintf(stderr, "Unable to set script file\n"); + exit(1); + } + if (access(handler_script, F_OK | X_OK)) { + pidfile_remove(pfh); + perror("access()"); + fprintf(stderr, + "Unable to access script file\n"); + exit(1); + } + break; + default: pidfile_remove(pfh); - perror("access()"); - fprintf(stderr, "Unable to access script file\n"); + usage(argv[0]); exit(1); } - break; - default: + } + if ((pflags & PFLAGS_ABIND) == 0) { + bindip.s_addr = INADDR_ANY; + printf("Default: listening on all interfaces\n"); + } + if ((pflags & PFLAGS_DDIR) == 0) { + strcpy(dumpdir, "/var/crash"); + printf("Default: dumping on /var/crash/\n"); + } + + /* Further sanity checks on dump location. */ + if (stat(dumpdir, &statbuf)) { + pidfile_remove(pfh); + perror("stat()"); + fprintf(stderr, "Invalid dump location specified\n"); + exit(1); + } + if ((statbuf.st_mode & S_IFMT) != S_IFDIR) { pidfile_remove(pfh); - usage(argv[0]); + fprintf(stderr, "Dump location is not a directory\n"); exit(1); } - } - if ((pflags & PFLAGS_ABIND) == 0) { - bindip.s_addr = INADDR_ANY; - printf("Default: listening on all interfaces\n"); - } - if ((pflags & PFLAGS_DDIR) == 0) { - strcpy(dumpdir, "/var/crash"); - printf("Default: dumping on /var/crash/\n"); - } - - /* Check dump location for sanity */ - if (stat(dumpdir, &statbuf)) { - pidfile_remove(pfh); - perror("stat()"); - fprintf(stderr, "Invalid dump location specified\n"); - exit(1); - } - if ((statbuf.st_mode & S_IFMT) != S_IFDIR) { - pidfile_remove(pfh); - fprintf(stderr, "Dump location is not a directory\n"); - exit(1); - } - if (access(dumpdir, F_OK|W_OK)) { - fprintf(stderr, - "Warning: May be unable to write into dump location: %s\n", - strerror(errno)); - } + if (access(dumpdir, F_OK | W_OK)) { + fprintf(stderr, + "Warning: May be unable to write into dump location: %s\n", + strerror(errno)); + } - if (daemon(0, 0) == -1) { - pidfile_remove(pfh); - perror("daemon()"); - fprintf(stderr, "Impossible to demonize the process\n"); - exit(1); - } - pidfile_write(pfh); - - /* Set up the server socket */ - if ((sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) - { - pidfile_remove(pfh); - LOGERR_PERROR("socket()"); - exit(1); - } - bzero(&bindaddr, sizeof(bindaddr)); - bindaddr.sin_len = sizeof(bindaddr); - bindaddr.sin_family = AF_INET; - bindaddr.sin_addr.s_addr = bindip.s_addr; - bindaddr.sin_port = htons(NETDUMP_PORT); - if (bind(sock, (struct sockaddr *)&bindaddr, sizeof(bindaddr))) - { - pidfile_remove(pfh); - close(sock); - LOGERR_PERROR("bind()"); - exit(1); - } - if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { - pidfile_remove(pfh); - close(sock); - LOGERR_PERROR("fcntl()"); - exit(1); - } - - /* Signal handlers */ - bzero(&sa, sizeof(sa)); - sa.sa_handler = signal_shutdown; - if (sigaction(SIGINT, &sa, NULL) || sigaction(SIGTERM, &sa, NULL)) - { - pidfile_remove(pfh); - close(sock); - LOGERR_PERROR("sigaction(SIGINT | SIGTERM)"); - exit(1); - } - bzero(&sa, sizeof(sa)); - sa.sa_handler = SIG_IGN; - sa.sa_flags = SA_NOCLDWAIT; - if (sigaction(SIGCHLD, &sa, NULL)) - { - pidfile_remove(pfh); - LOGERR_PERROR("sigaction(SIGCHLD)"); - close(sock); - exit(1); - } + if (daemon(0, 0) == -1) { + pidfile_remove(pfh); + perror("daemon()"); + fprintf(stderr, "Impossible to demonize the process\n"); + exit(1); + } + pidfile_write(pfh); - LOGINFO("Waiting for clients.\n"); + /* Set up the server socket. */ + sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (sock == -1) { + pidfile_remove(pfh); + LOGERR_PERROR("socket()"); + exit(1); + } + bzero(&bindaddr, sizeof(bindaddr)); + bindaddr.sin_len = sizeof(bindaddr); + bindaddr.sin_family = AF_INET; + bindaddr.sin_addr.s_addr = bindip.s_addr; + bindaddr.sin_port = htons(NETDUMP_PORT); + if (bind(sock, (struct sockaddr *)&bindaddr, sizeof(bindaddr))) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("bind()"); + exit(1); + } + if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("fcntl()"); + exit(1); + } - do_shutdown=0; - eventloop(); + /* Override some signal handlers. */ + bzero(&sa, sizeof(sa)); + sa.sa_handler = signal_shutdown; + if (sigaction(SIGINT, &sa, NULL) || sigaction(SIGTERM, &sa, NULL)) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("sigaction(SIGINT | SIGTERM)"); + exit(1); + } + bzero(&sa, sizeof(sa)); + sa.sa_handler = SIG_IGN; + sa.sa_flags = SA_NOCLDWAIT; + if (sigaction(SIGCHLD, &sa, NULL)) { + pidfile_remove(pfh); + LOGERR_PERROR("sigaction(SIGCHLD)"); + close(sock); + exit(1); + } - pidfile_remove(pfh); - return 0; -} + LOGINFO("Waiting for clients.\n"); + eventloop(); + pidfile_remove(pfh); + return (0); +} From owner-svn-src-projects@FreeBSD.ORG Sun Aug 22 21:27:15 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FAA61065693; Sun, 22 Aug 2010 21:27:15 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4FA648FC1F; Sun, 22 Aug 2010 21:27:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLRFjT016720; Sun, 22 Aug 2010 21:27:15 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLRF69016718; Sun, 22 Aug 2010 21:27:15 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008222127.o7MLRF69016718@svn.freebsd.org> From: Attilio Rao Date: Sun, 22 Aug 2010 21:27:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211649 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:27:15 -0000 Author: attilio Date: Sun Aug 22 21:27:15 2010 New Revision: 211649 URL: http://svn.freebsd.org/changeset/base/211649 Log: Fix for WARNS=6. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 21:26:35 2010 (r211648) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Sun Aug 22 21:27:15 2010 (r211649) @@ -118,12 +118,12 @@ static void handle_packet(struct netdu static void handle_timeout(struct netdump_client *client); static void handle_vmcore(struct netdump_client *client, struct netdump_msg *msg); -static int receive_message(int sock, struct sockaddr_in *from, +static int receive_message(int isock, struct sockaddr_in *from, char *fromstr, size_t fromstrlen, struct netdump_msg *msg); static void send_ack(struct netdump_client *client, struct netdump_msg *msg); -static void signal_shutdown(int sig); +static void signal_shutdown(int sig __unused); static void timeout_clients(void); static void usage(const char *cmd); @@ -512,7 +512,7 @@ handle_finish(struct netdump_client *cli static int -receive_message(int sock, struct sockaddr_in *from, char *fromstr, +receive_message(int isock, struct sockaddr_in *from, char *fromstr, size_t fromstrlen, struct netdump_msg *msg) { socklen_t fromlen; @@ -526,7 +526,7 @@ receive_message(int sock, struct sockadd from->sin_port = 0; from->sin_addr.s_addr = INADDR_ANY; - len = recvfrom(sock, msg, sizeof(*msg), 0, (struct sockaddr *)from, + len = recvfrom(isock, msg, sizeof(*msg), 0, (struct sockaddr *)from, &fromlen); if (len == -1) { @@ -721,7 +721,7 @@ eventloop() } static void -signal_shutdown(int sig) +signal_shutdown(int sig __unused) { do_shutdown = 1; From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 02:04:27 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7B151065672; Mon, 23 Aug 2010 02:04:27 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A73BB8FC12; Mon, 23 Aug 2010 02:04:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N24RZo023761; Mon, 23 Aug 2010 02:04:27 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N24RRX023759; Mon, 23 Aug 2010 02:04:27 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008230204.o7N24RRX023759@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 02:04:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211681 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 02:04:27 -0000 Author: attilio Date: Mon Aug 23 02:04:27 2010 New Revision: 211681 URL: http://svn.freebsd.org/changeset/base/211681 Log: Fix style for headers. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 01:50:34 2010 (r211680) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 02:04:27 2010 (r211681) @@ -23,30 +23,30 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include #include -#include -#include #include #include +#include +#include + +#include +#include #include -#include + +#include #include +#include +#include +#include + +#include +#include +#include +#include +#include +#include #define MAX_DUMPS 256 /* Dumps per IP before to be cleaned out. */ #define CLIENT_TIMEOUT 120 /* Clients timeout (secs). */ From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 17:03:07 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E74041065696; Mon, 23 Aug 2010 17:03:06 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D6A2E8FC12; Mon, 23 Aug 2010 17:03:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NH366P046905; Mon, 23 Aug 2010 17:03:06 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NH36GD046903; Mon, 23 Aug 2010 17:03:06 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231703.o7NH36GD046903@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 17:03:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211708 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 17:03:07 -0000 Author: attilio Date: Mon Aug 23 17:03:06 2010 New Revision: 211708 URL: http://svn.freebsd.org/changeset/base/211708 Log: Add a -D flag that runs the tool in 'debugging mode', avoiding daemonization and having output on console instead. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 16:47:29 2010 (r211707) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 17:03:06 2010 (r211708) @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -54,16 +55,17 @@ #define PFLAGS_ABIND 0x01 #define PFLAGS_DDIR 0x02 -#define PFLAGS_SCRIPT 0x04 +#define PFLAGS_DEBUG 0x04 +#define PFLAGS_SCRIPT 0x08 #define LOGERR(m, ...) \ - syslog(LOG_ERR | LOG_DAEMON, (m), ## __VA_ARGS__) + (*phook)(LOG_ERR | LOG_DAEMON, (m), ## __VA_ARGS__) #define LOGERR_PERROR(m) \ - syslog(LOG_ERR | LOG_DAEMON, "%s: %s\n", m, strerror(errno)) + (*phook)(LOG_ERR | LOG_DAEMON, "%s: %s\n", m, strerror(errno)) #define LOGINFO(m, ...) \ - syslog(LOG_INFO | LOG_DAEMON, (m), ## __VA_ARGS__) + (*phook)(LOG_INFO | LOG_DAEMON, (m), ## __VA_ARGS__) #define LOGWARN(m, ...) \ - syslog(LOG_WARNING | LOG_DAEMON, (m), ## __VA_ARGS__) + (*phook)(LOG_WARNING | LOG_DAEMON, (m), ## __VA_ARGS__) #define client_ntoa(cl) \ inet_ntoa((cl)->ip) @@ -100,6 +102,9 @@ static time_t last_timeout_check; static int do_shutdown; static int sock; +/* Daemon print functions hook. */ +static void (*phook)(int, const char *, ...); + static struct netdump_client *alloc_client(struct sockaddr_in *sip); static void eventloop(void); static void exec_handler(struct netdump_client *client, @@ -118,6 +123,9 @@ static void handle_packet(struct netdu static void handle_timeout(struct netdump_client *client); static void handle_vmcore(struct netdump_client *client, struct netdump_msg *msg); +static void phook_printf(int priority __unused, + const char *message, ...); +static void phook_syslog(int priority, const char *message, ...); static int receive_message(int isock, struct sockaddr_in *from, char *fromstr, size_t fromstrlen, struct netdump_msg *msg); @@ -135,6 +143,24 @@ usage(const char *cmd) cmd); } +static void +phook_printf(int priority __unused, const char *message, ...) +{ + va_list ap; + + va_start(ap, message); + vprintf(message, ap); +} + +static void +phook_syslog(int priority, const char *message, ...) +{ + va_list ap; + + va_start(ap, message); + vsyslog(priority, message, ap); +} + static struct netdump_client * alloc_client(struct sockaddr_in *sip) { @@ -744,7 +770,7 @@ main(int argc, char **argv) exit(1); } - while ((ch = getopt(argc, argv, "a:d:i:")) != -1) { + while ((ch = getopt(argc, argv, "a:Dd:i:")) != -1) { switch (ch) { case 'a': pflags |= PFLAGS_ABIND; @@ -755,6 +781,9 @@ main(int argc, char **argv) } printf("Listening on IP %s\n", optarg); break; + case 'D': + pflags |= PFLAGS_DEBUG; + break; case 'd': pflags |= PFLAGS_DDIR; assert(dumpdir[0] == '\0'); @@ -798,6 +827,10 @@ main(int argc, char **argv) strcpy(dumpdir, "/var/crash"); printf("Default: dumping on /var/crash/\n"); } + if ((pflags & PFLAGS_DEBUG) == 0) + phook = phook_syslog; + else + phook = phook_printf; /* Further sanity checks on dump location. */ if (stat(dumpdir, &statbuf)) { @@ -817,7 +850,7 @@ main(int argc, char **argv) strerror(errno)); } - if (daemon(0, 0) == -1) { + if ((pflags & PFLAGS_DEBUG) == 0 && daemon(0, 0) == -1) { pidfile_remove(pfh); perror("daemon()"); fprintf(stderr, "Impossible to demonize the process\n"); From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 17:08:18 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88179106567A; Mon, 23 Aug 2010 17:08:18 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 779EF8FC1F; Mon, 23 Aug 2010 17:08:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NH8IKx047026; Mon, 23 Aug 2010 17:08:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NH8Ipt047024; Mon, 23 Aug 2010 17:08:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231708.o7NH8Ipt047024@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 17:08:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211709 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 17:08:18 -0000 Author: attilio Date: Mon Aug 23 17:08:18 2010 New Revision: 211709 URL: http://svn.freebsd.org/changeset/base/211709 Log: Use stderr for reporting errors and stdout for the normal output. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 17:03:06 2010 (r211708) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 17:08:18 2010 (r211709) @@ -123,8 +123,7 @@ static void handle_packet(struct netdu static void handle_timeout(struct netdump_client *client); static void handle_vmcore(struct netdump_client *client, struct netdump_msg *msg); -static void phook_printf(int priority __unused, - const char *message, ...); +static void phook_printf(int priority, const char *message, ...); static void phook_syslog(int priority, const char *message, ...); static int receive_message(int isock, struct sockaddr_in *from, char *fromstr, size_t fromstrlen, @@ -144,12 +143,16 @@ usage(const char *cmd) } static void -phook_printf(int priority __unused, const char *message, ...) +phook_printf(int priority, const char *message, ...) { va_list ap; va_start(ap, message); - vprintf(message, ap); + if ((priority & LOG_INFO) != 0) { + assert((priority & (LOG_WARNING | LOG_ERR) == 0); + vprintf(message, ap); + } else + vfprintf(stderr, message, ap); } static void From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 17:22:13 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DF511065672; Mon, 23 Aug 2010 17:22:12 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D8458FC08; Mon, 23 Aug 2010 17:22:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NHMCpK047388; Mon, 23 Aug 2010 17:22:12 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NHMCe4047386; Mon, 23 Aug 2010 17:22:12 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231722.o7NHMCe4047386@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 17:22:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211710 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 17:22:13 -0000 Author: attilio Date: Mon Aug 23 17:22:11 2010 New Revision: 211710 URL: http://svn.freebsd.org/changeset/base/211710 Log: - Fix a compilation problem - There is no need to wrap up syslog(), thus just it plainly. Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Modified: projects/sv/usr.sbin/netdumpsrv/netdump_server.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 17:08:18 2010 (r211709) +++ projects/sv/usr.sbin/netdumpsrv/netdump_server.c Mon Aug 23 17:22:11 2010 (r211710) @@ -124,7 +124,6 @@ static void handle_timeout(struct netd static void handle_vmcore(struct netdump_client *client, struct netdump_msg *msg); static void phook_printf(int priority, const char *message, ...); -static void phook_syslog(int priority, const char *message, ...); static int receive_message(int isock, struct sockaddr_in *from, char *fromstr, size_t fromstrlen, struct netdump_msg *msg); @@ -149,21 +148,12 @@ phook_printf(int priority, const char *m va_start(ap, message); if ((priority & LOG_INFO) != 0) { - assert((priority & (LOG_WARNING | LOG_ERR) == 0); + assert((priority & (LOG_WARNING | LOG_ERR)) == 0); vprintf(message, ap); } else vfprintf(stderr, message, ap); } -static void -phook_syslog(int priority, const char *message, ...) -{ - va_list ap; - - va_start(ap, message); - vsyslog(priority, message, ap); -} - static struct netdump_client * alloc_client(struct sockaddr_in *sip) { @@ -831,7 +821,7 @@ main(int argc, char **argv) printf("Default: dumping on /var/crash/\n"); } if ((pflags & PFLAGS_DEBUG) == 0) - phook = phook_syslog; + phook = syslog; else phook = phook_printf; From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 17:22:46 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28E3F1065694; Mon, 23 Aug 2010 17:22:46 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 175938FC15; Mon, 23 Aug 2010 17:22:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NHMk0G047431; Mon, 23 Aug 2010 17:22:46 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NHMkrC047429; Mon, 23 Aug 2010 17:22:46 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231722.o7NHMkrC047429@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 17:22:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211711 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 17:22:46 -0000 Author: attilio Date: Mon Aug 23 17:22:45 2010 New Revision: 211711 URL: http://svn.freebsd.org/changeset/base/211711 Log: Rename netdump_server.c into netdumpsrv.c Added: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c - copied unchanged from r211710, projects/sv/usr.sbin/netdumpsrv/netdump_server.c Deleted: projects/sv/usr.sbin/netdumpsrv/netdump_server.c Copied: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c (from r211710, projects/sv/usr.sbin/netdumpsrv/netdump_server.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Mon Aug 23 17:22:45 2010 (r211711, copy of r211710, projects/sv/usr.sbin/netdumpsrv/netdump_server.c) @@ -0,0 +1,903 @@ +/*- + * Copyright (c) 2005-2006 Sandvine Incorporated. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define MAX_DUMPS 256 /* Dumps per IP before to be cleaned out. */ +#define CLIENT_TIMEOUT 120 /* Clients timeout (secs). */ +#define CLIENT_TPASS 10 /* Clients timeout pass (secs). */ + +#define PFLAGS_ABIND 0x01 +#define PFLAGS_DDIR 0x02 +#define PFLAGS_DEBUG 0x04 +#define PFLAGS_SCRIPT 0x08 + +#define LOGERR(m, ...) \ + (*phook)(LOG_ERR | LOG_DAEMON, (m), ## __VA_ARGS__) +#define LOGERR_PERROR(m) \ + (*phook)(LOG_ERR | LOG_DAEMON, "%s: %s\n", m, strerror(errno)) +#define LOGINFO(m, ...) \ + (*phook)(LOG_INFO | LOG_DAEMON, (m), ## __VA_ARGS__) +#define LOGWARN(m, ...) \ + (*phook)(LOG_WARNING | LOG_DAEMON, (m), ## __VA_ARGS__) + +#define client_ntoa(cl) \ + inet_ntoa((cl)->ip) +#define client_pinfo(cl, f, ...) \ + fprintf((cl)->infofile, (f), ## __VA_ARGS__) + +struct netdump_client { + char infofilename[MAXPATHLEN]; + char corefilename[MAXPATHLEN]; + char hostname[NI_MAXHOST]; + time_t last_msg; + SLIST_ENTRY(netdump_client) iter; + struct in_addr ip; + FILE *infofile; + int corefd; + int sock; + unsigned short printed_port_warning: 1; + unsigned short any_data_rcvd: 1; +}; + +/* Clients list. */ +static SLIST_HEAD(, netdump_client) clients = SLIST_HEAD_INITIALIZER(clients); + +/* Program arguments handlers. */ +static uint32_t pflags; +static char dumpdir[MAXPATHLEN]; +static char *handler_script; +static struct in_addr bindip; + +/* Miscellaneous handlers. */ +static struct pidfh *pfh; +static time_t now; +static time_t last_timeout_check; +static int do_shutdown; +static int sock; + +/* Daemon print functions hook. */ +static void (*phook)(int, const char *, ...); + +static struct netdump_client *alloc_client(struct sockaddr_in *sip); +static void eventloop(void); +static void exec_handler(struct netdump_client *client, + const char *reason); +static void free_client(struct netdump_client *client); +static void handle_finish(struct netdump_client *client, + struct netdump_msg *msg); +static void handle_herald(struct sockaddr_in *from, + struct netdump_client *client, + struct netdump_msg *msg); +static void handle_kdh(struct netdump_client *client, + struct netdump_msg *msg); +static void handle_packet(struct netdump_client *client, + struct sockaddr_in *from, const char *fromstr, + struct netdump_msg *msg); +static void handle_timeout(struct netdump_client *client); +static void handle_vmcore(struct netdump_client *client, + struct netdump_msg *msg); +static void phook_printf(int priority, const char *message, ...); +static int receive_message(int isock, struct sockaddr_in *from, + char *fromstr, size_t fromstrlen, + struct netdump_msg *msg); +static void send_ack(struct netdump_client *client, + struct netdump_msg *msg); +static void signal_shutdown(int sig __unused); +static void timeout_clients(void); +static void usage(const char *cmd); + +static void +usage(const char *cmd) +{ + + fprintf(stderr, "Usage: %s [-a bind_addr] [-d dump_dir] [-i script]\n", + cmd); +} + +static void +phook_printf(int priority, const char *message, ...) +{ + va_list ap; + + va_start(ap, message); + if ((priority & LOG_INFO) != 0) { + assert((priority & (LOG_WARNING | LOG_ERR)) == 0); + vprintf(message, ap); + } else + vfprintf(stderr, message, ap); +} + +static struct netdump_client * +alloc_client(struct sockaddr_in *sip) +{ + struct sockaddr_in saddr; + struct netdump_client *client; + struct in_addr *ip; + char *firstdot; + int i, ecode, fd, bufsz; + + assert(sip != NULL); + + client = calloc(1, sizeof(*client)); + if (client == NULL) { + LOGERR_PERROR("calloc()"); + return (NULL); + } + ip = &sip->sin_addr; + bcopy(ip, &client->ip, sizeof(*ip)); + client->corefd = -1; + client->sock = -1; + client->last_msg = now; + + ecode = getnameinfo((struct sockaddr *)sip, sip->sin_len, + client->hostname, sizeof(client->hostname), NULL, 0, NI_NAMEREQD); + if (ecode != 0) { + + /* Can't resolve, try with a numeric IP. */ + ecode = getnameinfo((struct sockaddr *)sip, sip->sin_len, + client->hostname, sizeof(client->hostname), NULL, 0, 0); + if (ecode != 0) { + LOGERR("getnameinfo(): %s\n", gai_strerror(ecode)); + free(client); + return (NULL); + } + } else { + + /* Strip off the domain name */ + firstdot = strchr(client->hostname, '.'); + if (firstdot) + *firstdot = '\0'; + } + + client->sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (client->sock == -1) { + LOGERR_PERROR("socket()"); + free(client); + return (NULL); + } + if (fcntl(client->sock, F_SETFL, O_NONBLOCK) == -1) { + LOGERR_PERROR("fcntl()"); + close(client->sock); + free(client); + return (NULL); + } + bzero(&saddr, sizeof(saddr)); + saddr.sin_len = sizeof(saddr); + saddr.sin_family = AF_INET; + saddr.sin_addr.s_addr = bindip.s_addr; + saddr.sin_port = htons(0); + if (bind(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { + LOGERR_PERROR("bind()"); + close(client->sock); + free(client); + return (NULL); + } + bzero(&saddr, sizeof(saddr)); + saddr.sin_len = sizeof(saddr); + saddr.sin_family = AF_INET; + saddr.sin_addr.s_addr = ip->s_addr; + saddr.sin_port = htons(NETDUMP_ACKPORT); + if (connect(client->sock, (struct sockaddr *)&saddr, sizeof(saddr))) { + LOGERR_PERROR("connect()"); + close(client->sock); + free(client); + return (NULL); + } + + /* It should be enough to hold approximatively twize the chunk size. */ + bufsz = 131072; + if (setsockopt(client->sock, SOL_SOCKET, SO_RCVBUF, &bufsz, + sizeof(bufsz))) { + LOGERR_PERROR("setsockopt()"); + LOGWARN("May drop packets from %s due to small receive buffer\n", + client->hostname); + } + + /* Try info.host.0 through info.host.255 in sequence. */ + for (i = 0; i < MAX_DUMPS; i++) { + snprintf(client->infofilename, sizeof(client->infofilename), + "%s/info.%s.%d", dumpdir, client->hostname, i); + snprintf(client->corefilename, sizeof(client->corefilename), + "%s/vmcore.%s.%d", dumpdir, client->hostname, i); + + /* Try the info file first. */ + fd = open(client->infofilename, O_WRONLY|O_CREAT|O_EXCL, + DEFFILEMODE); + if (fd == -1) { + if (errno != EEXIST) + LOGERR("open(\"%s\"): %s\n", + client->infofilename, strerror(errno)); + continue; + } + client->infofile = fdopen(fd, "w"); + if (client->infofile == NULL) { + LOGERR_PERROR("fdopen()"); + close(fd); + unlink(client->infofilename); + continue; + } + + /* Next make the core file. */ + fd = open(client->corefilename, O_RDWR|O_CREAT|O_EXCL, + DEFFILEMODE); + if (fd == -1) { + + /* Failed. Keep the numbers in sync. */ + fclose(client->infofile); + unlink(client->infofilename); + client->infofile = NULL; + if (errno != EEXIST) + LOGERR("open(\"%s\"): %s\n", + client->corefilename, strerror(errno)); + continue; + } + client->corefd = fd; + break; + } + + if (client->infofile == NULL || client->corefd == -1) { + LOGERR("Can't create output files for new client %s [%s]\n", + client->hostname, client_ntoa(client)); + if (client->infofile) + fclose(client->infofile); + if (client->corefd != -1) + close(client->corefd); + if (client->sock != -1) + close(client->sock); + free(client); + return (NULL); + } + SLIST_INSERT_HEAD(&clients, client, iter); + return (client); +} + +static void +free_client(struct netdump_client *client) +{ + + assert(client != NULL); + + /* Remove from the list. Ignore errors from close() routines. */ + SLIST_REMOVE(&clients, client, netdump_client, iter); + fclose(client->infofile); + close(client->corefd); + close(client->sock); + free(client); +} + +static void +exec_handler(struct netdump_client *client, const char *reason) +{ + int pid; + + assert(client != NULL); + + /* If no script is specified this is a no-op. */ + if ((pflags & PFLAGS_SCRIPT) == 0) + return; + + pid = fork(); + + /* + * The function is invoked in critical conditions, thus just exiting + * without reporting errors is fine. + */ + if (pid == -1) { + LOGERR_PERROR("fork()"); + return; + } else if (pid != 0) { + close(sock); + pidfile_close(pfh); + if (execl(handler_script, handler_script, reason, + client_ntoa(client), client->hostname, + client->infofilename, client->corefilename, NULL) == -1) { + LOGERR_PERROR("fork()"); + _exit(1); + } + } +} + +static void +handle_timeout(struct netdump_client *client) +{ + + assert(client != NULL); + + LOGINFO("Client %s timed out\n", client_ntoa(client)); + client_pinfo(client, "Dump incomplete: client timed out\n"); + exec_handler(client, "timeout"); + free_client(client); +} + +static void +timeout_clients() +{ + struct netdump_client *client, *tmp; + + /* Only time out clients every 10 seconds. */ + if (now - last_timeout_check < CLIENT_TPASS) + return; + last_timeout_check = now; + + /* Traverse the list looking for stale clients. */ + SLIST_FOREACH_SAFE(client, &clients, iter, tmp) + if (client->last_msg + CLIENT_TIMEOUT < now) + handle_timeout(client); +} + +static void +send_ack(struct netdump_client *client, struct netdump_msg *msg) +{ + struct netdump_ack ack; + int tryagain; + + assert(client != NULL && msg != NULL); + + bzero(&ack, sizeof(ack)); + ack.seqno = htonl(msg->hdr.seqno); + do { + tryagain = 0; + if (send(client->sock, &ack, sizeof(ack), 0) == -1) { + if (errno == EINTR) { + tryagain = 1; + continue; + } + + /* + * XXX: On EAGAIN, we should probably queue the packet + * to be sent when the socket is writable but + * that is too much effort, since it is mostly + * harmless to wait for the client to retransmit. + */ + LOGERR_PERROR("send()"); + } + } while (tryagain); +} + +static void +handle_herald(struct sockaddr_in *from, struct netdump_client *client, + struct netdump_msg *msg) +{ + + assert(from != NULL && msg != NULL); + + if (client != NULL) { + if (client->any_data_rcvd == 0) { + + /* Must be a retransmit of the herald packet. */ + send_ack(client, msg); + return; + } + + /* An old connection must have timed out. Clean it up first. */ + handle_timeout(client); + } + + client = alloc_client(from); + if (client == NULL) { + LOGERR("handle_herald(): new client allocation failure\n"); + return; + } + client_pinfo(client, "Dump from %s [%s]\n", client->hostname, + client_ntoa(client)); + LOGINFO("New dump from client %s [%s] (to %s)\n", client->hostname, + client_ntoa(client), client->corefilename); + send_ack(client, msg); +} + +static void +handle_kdh(struct netdump_client *client, struct netdump_msg *msg) +{ + time_t t; + uint64_t dumplen; + struct kerneldumpheader *h; + int parity_check; + + assert(msg != NULL); + + if (client == NULL) + return; + + client->any_data_rcvd = 1; + h = (struct kerneldumpheader *)msg->data; + if (msg->hdr.len < sizeof(struct kerneldumpheader)) { + LOGERR("Bad KDH from %s [%s]: packet too small\n", + client->hostname, client_ntoa(client)); + client_pinfo(client, "Bad KDH: packet too small\n"); + fflush(client->infofile); + send_ack(client, msg); + return; + } + parity_check = kerneldump_parity(h); + + /* Make sure all the strings are null-terminated. */ + h->architecture[sizeof(h->architecture) - 1] = '\0'; + h->hostname[sizeof(h->hostname) - 1] = '\0'; + h->versionstring[sizeof(h->versionstring) - 1] = '\0'; + h->panicstring[sizeof(h->panicstring) - 1] = '\0'; + + client_pinfo(client, " Architecture: %s\n", h->architecture); + client_pinfo(client, " Architecture version: %d\n", + dtoh32(h->architectureversion)); + dumplen = dtoh64(h->dumplength); + client_pinfo(client, " Dump length: %lldB (%lld MB)\n", + (long long)dumplen, (long long)(dumplen >> 20)); + client_pinfo(client, " blocksize: %d\n", dtoh32(h->blocksize)); + t = dtoh64(h->dumptime); + client_pinfo(client, " Dumptime: %s", ctime(&t)); + client_pinfo(client, " Hostname: %s\n", h->hostname); + client_pinfo(client, " Versionstring: %s", h->versionstring); + client_pinfo(client, " Panicstring: %s\n", h->panicstring); + client_pinfo(client, " Header parity check: %s\n", + parity_check ? "Fail" : "Pass"); + fflush(client->infofile); + + LOGINFO("(KDH from %s [%s])", client->hostname, client_ntoa(client)); + send_ack(client, msg); +} + +static void +handle_vmcore(struct netdump_client *client, struct netdump_msg *msg) +{ + + assert(msg != NULL); + + if (client == NULL) + return; + + client->any_data_rcvd = 1; + if (msg->hdr.seqno % 11523 == 0) { + + /* Approximately every 16MB with MTU of 1500 */ + LOGINFO("."); + } + if (pwrite(client->corefd, msg->data, msg->hdr.len, + msg->hdr.offset) == -1) { + LOGERR("pwrite (for client %s [%s]): %s\n", client->hostname, + client_ntoa(client), strerror(errno)); + client_pinfo(client, + "Dump unsuccessful: write error @ offset %08"PRIx64": %s\n", + msg->hdr.offset, strerror(errno)); + exec_handler(client, "error"); + free_client(client); + return; + } + send_ack(client, msg); +} + +static void +handle_finish(struct netdump_client *client, struct netdump_msg *msg) +{ + + assert(msg != NULL); + + if (client == NULL) + return; + + LOGINFO("\nCompleted dump from client %s [%s]\n", client->hostname, + client_ntoa(client)); + client_pinfo(client, "Dump complete\n"); + send_ack(client, msg); + exec_handler(client, "success"); + free_client(client); +} + + +static int +receive_message(int isock, struct sockaddr_in *from, char *fromstr, + size_t fromstrlen, struct netdump_msg *msg) +{ + socklen_t fromlen; + ssize_t len; + + assert(from != NULL && fromstr != NULL && msg != NULL); + + bzero(from, sizeof(*from)); + from->sin_family = AF_INET; + from->sin_len = fromlen = sizeof(*from); + from->sin_port = 0; + from->sin_addr.s_addr = INADDR_ANY; + + len = recvfrom(isock, msg, sizeof(*msg), 0, (struct sockaddr *)from, + &fromlen); + if (len == -1) { + + /* + * As long as some callers may discard the errors printing + * in defined circumstances, leave them the choice and avoid + * any error reporting. + */ + return (-1); + } + + snprintf(fromstr, fromstrlen, "%s:%hu", inet_ntoa(from->sin_addr), + ntohs(from->sin_port)); + if ((size_t)len < sizeof(struct netdump_msg_hdr)) { + LOGERR("Ignoring runt packet from %s (got %zu)\n", fromstr, + (size_t)len); + return (0); + } + + /* Convert byte order. */ + msg->hdr.type = ntohl(msg->hdr.type); + msg->hdr.seqno = ntohl(msg->hdr.seqno); + msg->hdr.offset = be64toh(msg->hdr.offset); + msg->hdr.len = ntohl(msg->hdr.len); + + if ((size_t)len < sizeof(struct netdump_msg_hdr) + msg->hdr.len) { + LOGERR("Packet too small from %s (got %zu, expected %zu)\n", + fromstr, (size_t)len, + sizeof(struct netdump_msg_hdr) + msg->hdr.len); + return (0); + } + return (len); +} + +static void +handle_packet(struct netdump_client *client, struct sockaddr_in *from, + const char *fromstr, struct netdump_msg *msg) +{ + + assert(from != NULL && fromstr != NULL && msg != NULL); + + if (client != NULL) + client->last_msg = time(NULL); + + switch (msg->hdr.type) { + case NETDUMP_HERALD: + handle_herald(from, client, msg); + break; + case NETDUMP_KDH: + handle_kdh(client, msg); + break; + case NETDUMP_VMCORE: + handle_vmcore(client, msg); + break; + case NETDUMP_FINISHED: + handle_finish(client, msg); + break; + default: + LOGERR("Received unknown message type %d from %s\n", + msg->hdr.type, fromstr); + } +} + +static void +eventloop() +{ + struct netdump_msg msg; + char fromstr[INET_ADDRSTRLEN + 6]; + fd_set readfds; + struct sockaddr_in from; + struct timeval tv; + struct netdump_client *client, *tmp; + int len, maxfd; + + while (do_shutdown == 0) { + maxfd = sock + 1; + FD_ZERO(&readfds); + FD_SET(sock, &readfds); + SLIST_FOREACH(client, &clients, iter) { + FD_SET(client->sock, &readfds); + if (maxfd <= client->sock) + maxfd = client->sock+1; + } + + /* So that we time out clients regularly. */ + tv.tv_sec = CLIENT_TPASS; + tv.tv_usec = 0; + if (select(maxfd, &readfds, NULL, NULL, &tv) == -1) { + if (errno == EINTR) + continue; + LOGERR_PERROR("select()"); + + /* + * Errors with select() probably will not go away + * with simple retrying. + */ + pidfile_remove(pfh); + exit(1); + } + now = time(NULL); + if (FD_ISSET(sock, &readfds)) { + len = receive_message(sock, &from, fromstr, + sizeof(fromstr), &msg); + if (len == -1) { + if (errno == EINTR) + continue; + if (errno != EAGAIN) { + pidfile_remove(pfh); + LOGERR_PERROR("recvfrom()"); + exit(1); + } + } else if (len != 0) { + + /* + * With len == 0 the packet was rejected + * (probably because it was too small) so just + * ignore this case. + */ + + /* Check if they are on the clients list. */ + SLIST_FOREACH(client, &clients, iter) + if (client->ip.s_addr == + from.sin_addr.s_addr) + break; + + /* + * Technically, clients should not be + * responding on the server port, so client + * should be NULL, however, if they insist on + * doing so, it's not really going to hurt + * anything (except maybe fill up the server + * socket's receive buffer), so still + * accept it. The only possibly legitimate case + * is if there's a new dump starting and the + * previous one didn't finish cleanly. Handle + * this by suppressing the error on HERALD + * packets. + */ + if (client != NULL && + msg.hdr.type != NETDUMP_HERALD && + client->printed_port_warning == 0) { + LOGWARN("Client %s responding on server port\n", + client->hostname); + client->printed_port_warning = 1; + } + handle_packet(client, &from, fromstr, &msg); + } + } + + /* + * handle_packet() and handle_timeout() may free the client, + * handle stale pointers. + */ + SLIST_FOREACH_SAFE(client, &clients, iter, tmp) { + if (FD_ISSET(client->sock, &readfds)) { + len = receive_message(client->sock, &from, + fromstr, sizeof(fromstr), &msg); + if (len == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + LOGERR_PERROR("recvfrom()"); + + /* + * Client socket is broken for + * some reason. + */ + handle_timeout(client); + } else if (len != 0) { + + /* + * With len == 0 the packet was + * rejected (probably because it was + * too small) so just ignore this case. + */ + + FD_CLR(client->sock, &readfds); + handle_packet(client, &from, fromstr, + &msg); + } + } + } + timeout_clients(); + } + LOGINFO("Shutting down..."); + + /* + * Clients is the head of the list, so clients != NULL iff the list + * is not empty. Call it a timeout so that the scripts get run. + */ + while (!SLIST_EMPTY(&clients)) + handle_timeout(SLIST_FIRST(&clients)); +} + +static void +signal_shutdown(int sig __unused) +{ + + do_shutdown = 1; +} + +int +main(int argc, char **argv) +{ + struct stat statbuf; + struct sockaddr_in bindaddr; + struct sigaction sa; + int ch; + + pfh = pidfile_open(NULL, 0600, NULL); + if (pfh == NULL) { + if (errno == EEXIST) + printf("Instance of netdump already running\n"); + else + printf("Impossible to open the pid file\n"); + exit(1); + } + + while ((ch = getopt(argc, argv, "a:Dd:i:")) != -1) { + switch (ch) { + case 'a': + pflags |= PFLAGS_ABIND; + if (!inet_aton(optarg, &bindip)) { + pidfile_remove(pfh); + fprintf(stderr, "Invalid bind IP specified\n"); + exit(1); + } + printf("Listening on IP %s\n", optarg); + break; + case 'D': + pflags |= PFLAGS_DEBUG; + break; + case 'd': + pflags |= PFLAGS_DDIR; + assert(dumpdir[0] == '\0'); + strncpy(dumpdir, optarg, sizeof(dumpdir) - 1); + break; + case 'i': + pflags |= PFLAGS_SCRIPT; + + /* + * When suddenly closing the process for an error, + * it is unuseful to take care of handler_script + * deallocation as long as the process will _exit(2) + * anyway. + */ + handler_script = strdup(optarg); + if (handler_script == NULL) { + pidfile_remove(pfh); + perror("strdup()"); + fprintf(stderr, "Unable to set script file\n"); + exit(1); + } + if (access(handler_script, F_OK | X_OK)) { + pidfile_remove(pfh); + perror("access()"); + fprintf(stderr, + "Unable to access script file\n"); + exit(1); + } + break; + default: + pidfile_remove(pfh); + usage(argv[0]); + exit(1); + } + } + if ((pflags & PFLAGS_ABIND) == 0) { + bindip.s_addr = INADDR_ANY; + printf("Default: listening on all interfaces\n"); + } + if ((pflags & PFLAGS_DDIR) == 0) { + strcpy(dumpdir, "/var/crash"); + printf("Default: dumping on /var/crash/\n"); + } + if ((pflags & PFLAGS_DEBUG) == 0) + phook = syslog; + else + phook = phook_printf; + + /* Further sanity checks on dump location. */ + if (stat(dumpdir, &statbuf)) { + pidfile_remove(pfh); + perror("stat()"); + fprintf(stderr, "Invalid dump location specified\n"); + exit(1); + } + if ((statbuf.st_mode & S_IFMT) != S_IFDIR) { + pidfile_remove(pfh); + fprintf(stderr, "Dump location is not a directory\n"); + exit(1); + } + if (access(dumpdir, F_OK | W_OK)) { + fprintf(stderr, + "Warning: May be unable to write into dump location: %s\n", + strerror(errno)); + } + + if ((pflags & PFLAGS_DEBUG) == 0 && daemon(0, 0) == -1) { + pidfile_remove(pfh); + perror("daemon()"); + fprintf(stderr, "Impossible to demonize the process\n"); + exit(1); + } + pidfile_write(pfh); + + /* Set up the server socket. */ + sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (sock == -1) { + pidfile_remove(pfh); + LOGERR_PERROR("socket()"); + exit(1); + } + bzero(&bindaddr, sizeof(bindaddr)); + bindaddr.sin_len = sizeof(bindaddr); + bindaddr.sin_family = AF_INET; + bindaddr.sin_addr.s_addr = bindip.s_addr; + bindaddr.sin_port = htons(NETDUMP_PORT); + if (bind(sock, (struct sockaddr *)&bindaddr, sizeof(bindaddr))) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("bind()"); + exit(1); + } + if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("fcntl()"); + exit(1); + } + + /* Override some signal handlers. */ + bzero(&sa, sizeof(sa)); + sa.sa_handler = signal_shutdown; + if (sigaction(SIGINT, &sa, NULL) || sigaction(SIGTERM, &sa, NULL)) { + pidfile_remove(pfh); + close(sock); + LOGERR_PERROR("sigaction(SIGINT | SIGTERM)"); + exit(1); + } + bzero(&sa, sizeof(sa)); + sa.sa_handler = SIG_IGN; + sa.sa_flags = SA_NOCLDWAIT; + if (sigaction(SIGCHLD, &sa, NULL)) { + pidfile_remove(pfh); + LOGERR_PERROR("sigaction(SIGCHLD)"); + close(sock); + exit(1); + } + + LOGINFO("Waiting for clients.\n"); + eventloop(); + + pidfile_remove(pfh); + return (0); +} From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 17:27:29 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE9EB10656B0; Mon, 23 Aug 2010 17:27:29 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DEBE68FC0C; Mon, 23 Aug 2010 17:27:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NHRTUV047550; Mon, 23 Aug 2010 17:27:29 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NHRT7B047548; Mon, 23 Aug 2010 17:27:29 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231727.o7NHRT7B047548@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 17:27:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211712 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 17:27:30 -0000 Author: attilio Date: Mon Aug 23 17:27:29 2010 New Revision: 211712 URL: http://svn.freebsd.org/changeset/base/211712 Log: Update che copyright. Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Mon Aug 23 17:22:45 2010 (r211711) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Mon Aug 23 17:27:29 2010 (r211712) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005-2006 Sandvine Incorporated. All rights reserved. + * Copyright (c) 2005-2010 Sandvine Incorporated. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 18:11:10 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A97DD10656A8; Mon, 23 Aug 2010 18:11:10 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E7328FC1D; Mon, 23 Aug 2010 18:11:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NIBAjg048578; Mon, 23 Aug 2010 18:11:10 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NIBAKO048576; Mon, 23 Aug 2010 18:11:10 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231811.o7NIBAKO048576@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 18:11:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211714 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 18:11:10 -0000 Author: attilio Date: Mon Aug 23 18:11:10 2010 New Revision: 211714 URL: http://svn.freebsd.org/changeset/base/211714 Log: Add a manpage for the netdumpsrv utility. Text submitted by: emaste Added: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 (contents, props changed) Added: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 Mon Aug 23 18:11:10 2010 (r211714) @@ -0,0 +1,75 @@ +.\" Copyright (c) 2010 Sandvine Incorporated. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 23, 2010 +.Dt NETDUMPSRV 1 +.Os +.Sh NAME +.Nm netdumpsrv +.Nd receive kernel core dumps over the network +.Sh SYNOPSIS +.Nm +.Op Fl a Ar addr +.Op Fl D +.Op Fl d Ar dumpdir +.Op Fl i Ar script +.Sh DESCRIPTION +The +.Nm +utility listens on a UDP socket for incoming connections, +from a FreeBSD kernel core dumping over the network. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl a +Bind the daemon to the given address +.Dq Pa addr . +.It Fl D +Run the utility in debugging mode. +The daemon version is not entered while the output +is printed entirely on the console. +.It Fl d +Save the core dumps to the specified +.Dq Pa dumpdir +directory. +.It Fl i +Execute the script +.Dq Pa script +after each dump received. +The script accepts the following strings as parameters: +its name, +reasons for invokation, +the client address, +the client hostname, +the info file name and the core dump file name. +.El +.Sh SEE ALSO +.Xr dumpon 8 +.El +.Sh HISTORY +The +.Nm +utility appeared in +.Bx Free 9.0 . From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 18:21:41 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31FA5106566C; Mon, 23 Aug 2010 18:21:41 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 21C5E8FC1B; Mon, 23 Aug 2010 18:21:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NILfI5048805; Mon, 23 Aug 2010 18:21:41 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NILfVk048803; Mon, 23 Aug 2010 18:21:41 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008231821.o7NILfVk048803@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 18:21:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211715 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 18:21:41 -0000 Author: attilio Date: Mon Aug 23 18:21:40 2010 New Revision: 211715 URL: http://svn.freebsd.org/changeset/base/211715 Log: Make the manpage an 8 subtype. Added: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 - copied, changed from r211714, projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 Deleted: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 Copied and modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 (from r211714, projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1) ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdumpsrv.1 Mon Aug 23 18:11:10 2010 (r211714, copy source) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 Mon Aug 23 18:21:40 2010 (r211715) @@ -24,7 +24,7 @@ .\" $FreeBSD$ .\" .Dd August 23, 2010 -.Dt NETDUMPSRV 1 +.Dt NETDUMPSRV 8 .Os .Sh NAME .Nm netdumpsrv From owner-svn-src-projects@FreeBSD.ORG Mon Aug 23 20:19:17 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0E331065675; Mon, 23 Aug 2010 20:19:17 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 909EE8FC08; Mon, 23 Aug 2010 20:19:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NKJHEs051893; Mon, 23 Aug 2010 20:19:17 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NKJHHM051891; Mon, 23 Aug 2010 20:19:17 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008232019.o7NKJHHM051891@svn.freebsd.org> From: Attilio Rao Date: Mon, 23 Aug 2010 20:19:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211718 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 20:19:17 -0000 Author: attilio Date: Mon Aug 23 20:19:17 2010 New Revision: 211718 URL: http://svn.freebsd.org/changeset/base/211718 Log: Add the FBSDID tag. Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Mon Aug 23 19:18:50 2010 (r211717) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.c Mon Aug 23 20:19:17 2010 (r211718) @@ -23,6 +23,8 @@ * SUCH DAMAGE. */ +__FBSDID("$FreeBSD$"); + #include #include #include From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 08:11:12 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CD3A10656A3; Tue, 24 Aug 2010 08:11:12 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 12E528FC0A; Tue, 24 Aug 2010 08:11:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7O8BB9k067849; Tue, 24 Aug 2010 08:11:11 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7O8BB8Y067848; Tue, 24 Aug 2010 08:11:11 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008240811.o7O8BB8Y067848@svn.freebsd.org> From: Andrew Turner Date: Tue, 24 Aug 2010 08:11:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211736 - projects/arm_eabi X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 08:11:12 -0000 Author: andrew Date: Tue Aug 24 08:11:11 2010 New Revision: 211736 URL: http://svn.freebsd.org/changeset/base/211736 Log: Branch HEAD to add support for the ARM EABI abi Approved by: imp (mentor) Added: - copied from r211731, head/ Directory Properties: projects/arm_eabi/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 11:39:24 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7F2A1065695; Tue, 24 Aug 2010 11:39:24 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D7AC88FC1D; Tue, 24 Aug 2010 11:39:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OBdOGk074577; Tue, 24 Aug 2010 11:39:24 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OBdOZG074575; Tue, 24 Aug 2010 11:39:24 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008241139.o7OBdOZG074575@svn.freebsd.org> From: Attilio Rao Date: Tue, 24 Aug 2010 11:39:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211739 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 11:39:25 -0000 Author: attilio Date: Tue Aug 24 11:39:24 2010 New Revision: 211739 URL: http://svn.freebsd.org/changeset/base/211739 Log: Add a suitable Makefile for the netdumpsrv utility. Added: projects/sv/usr.sbin/netdumpsrv/Makefile (contents, props changed) Added: projects/sv/usr.sbin/netdumpsrv/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sv/usr.sbin/netdumpsrv/Makefile Tue Aug 24 11:39:24 2010 (r211739) @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG= netdumpsrv +MAN= netdumpsrv.1 + +CFLAGS+= -DNDEBUG -I${.CURDIR} + +WARNS?= 6 + +DPADD= ${LIBUTIL} +LDADD= -lutil + +.include From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 11:39:49 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AEF810656C2; Tue, 24 Aug 2010 11:39:49 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 309248FC14; Tue, 24 Aug 2010 11:39:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OBdnj9074621; Tue, 24 Aug 2010 11:39:49 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OBdn5x074619; Tue, 24 Aug 2010 11:39:49 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008241139.o7OBdn5x074619@svn.freebsd.org> From: Attilio Rao Date: Tue, 24 Aug 2010 11:39:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211740 - projects/sv/usr.sbin X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 11:39:49 -0000 Author: attilio Date: Tue Aug 24 11:39:48 2010 New Revision: 211740 URL: http://svn.freebsd.org/changeset/base/211740 Log: Connect netdumpsrv to the build. Modified: projects/sv/usr.sbin/Makefile Modified: projects/sv/usr.sbin/Makefile ============================================================================== --- projects/sv/usr.sbin/Makefile Tue Aug 24 11:39:24 2010 (r211739) +++ projects/sv/usr.sbin/Makefile Tue Aug 24 11:39:48 2010 (r211740) @@ -112,6 +112,7 @@ SUBDIR= ${_ac} \ ${_named.reload} \ ${_ndiscvt} \ ${_ndp} \ + netdumpsrv \ newsyslog \ nfscbd \ nfsd \ From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 13:22:01 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED8101065673; Tue, 24 Aug 2010 13:22:01 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD4E68FC0A; Tue, 24 Aug 2010 13:22:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7ODM14r077382; Tue, 24 Aug 2010 13:22:01 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7ODM1Eu077380; Tue, 24 Aug 2010 13:22:01 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008241322.o7ODM1Eu077380@svn.freebsd.org> From: Attilio Rao Date: Tue, 24 Aug 2010 13:22:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211754 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 13:22:02 -0000 Author: attilio Date: Tue Aug 24 13:22:01 2010 New Revision: 211754 URL: http://svn.freebsd.org/changeset/base/211754 Log: Fix a bug with the different filename. Submitted by: emaste Modified: projects/sv/usr.sbin/netdumpsrv/Makefile Modified: projects/sv/usr.sbin/netdumpsrv/Makefile ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/Makefile Tue Aug 24 13:21:05 2010 (r211753) +++ projects/sv/usr.sbin/netdumpsrv/Makefile Tue Aug 24 13:22:01 2010 (r211754) @@ -1,7 +1,7 @@ # $FreeBSD$ PROG= netdumpsrv -MAN= netdumpsrv.1 +MAN= netdumpsrv.8 CFLAGS+= -DNDEBUG -I${.CURDIR} From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 16:11:14 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 971621065679; Tue, 24 Aug 2010 16:11:14 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 82A208FC12; Tue, 24 Aug 2010 16:11:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OGBEsu081189; Tue, 24 Aug 2010 16:11:14 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OGBDSl081123; Tue, 24 Aug 2010 16:11:13 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008241611.o7OGBDSl081123@svn.freebsd.org> From: Attilio Rao Date: Tue, 24 Aug 2010 16:11:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211757 - in projects/sv: . bin/sh cddl/contrib/dtracetoolkit cddl/contrib/opensolaris/cmd/dtrace cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts cddl/contrib/opensolaris/cmd/dtrac... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 16:11:14 -0000 Author: attilio Date: Tue Aug 24 16:11:12 2010 New Revision: 211757 URL: http://svn.freebsd.org/changeset/base/211757 Log: MFC @ 211755 Added: projects/sv/cddl/contrib/dtracetoolkit/ - copied from r211755, head/cddl/contrib/dtracetoolkit/ projects/sv/cddl/usr.sbin/dtruss/ - copied from r211755, head/cddl/usr.sbin/dtruss/ projects/sv/cddl/usr.sbin/plockstat/ - copied from r211755, head/cddl/usr.sbin/plockstat/ projects/sv/sys/dev/tpm/ - copied from r211755, head/sys/dev/tpm/ projects/sv/sys/modules/if_carp/ - copied from r211755, head/sys/modules/if_carp/ projects/sv/sys/modules/send/ - copied from r211755, head/sys/modules/send/ projects/sv/sys/modules/tpm/ - copied from r211755, head/sys/modules/tpm/ projects/sv/tools/regression/pjdfstest/ - copied from r211755, head/tools/regression/pjdfstest/ projects/sv/tools/test/auxinfo/ - copied from r211755, head/tools/test/auxinfo/ projects/sv/tools/tools/vhba/mptest/ - copied from r211755, head/tools/tools/vhba/mptest/ Deleted: projects/sv/lib/libcompat/4.1/ascftime.c projects/sv/lib/libcompat/4.1/cftime.3 projects/sv/lib/libcompat/4.1/cftime.c projects/sv/lib/libcompat/4.1/getpw.3 projects/sv/lib/libcompat/4.1/getpw.c projects/sv/lib/libcompat/4.3/cfree.3 projects/sv/lib/libcompat/4.3/cfree.c projects/sv/lib/libthr/thread/thr_atfork.c projects/sv/sbin/iscontrol/pdu.h projects/sv/tools/build/options/WITH_GNU_GREP Modified: projects/sv/Makefile.inc1 projects/sv/Makefile.mips projects/sv/ObsoleteFiles.inc projects/sv/bin/sh/error.c projects/sv/bin/sh/eval.c projects/sv/bin/sh/expand.c projects/sv/bin/sh/main.c projects/sv/bin/sh/mksyntax.c projects/sv/bin/sh/sh.1 projects/sv/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.index.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteicmp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6localicmp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.c projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/tst.sdtargs.c projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.badguess.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.eliminate.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.entryreturn.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.fork.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.guess32.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.guess64.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.header.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.linkpriv.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.linkunpriv.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiple.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.nodtrace.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.onlyenabled.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reeval.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.static.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.static2.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.user.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/vars/tst.ucaller.ksh projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/usdt/tst.tailcall.ksh projects/sv/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c projects/sv/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h projects/sv/cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c projects/sv/cddl/lib/Makefile projects/sv/cddl/lib/drti/Makefile projects/sv/cddl/lib/libdtrace/Makefile projects/sv/cddl/lib/libzpool/Makefile projects/sv/cddl/usr.bin/ctfconvert/Makefile projects/sv/cddl/usr.bin/ctfdump/Makefile projects/sv/cddl/usr.bin/ctfmerge/Makefile projects/sv/cddl/usr.sbin/Makefile projects/sv/contrib/bsnmp/snmp_mibII/mibII.c projects/sv/contrib/bsnmp/snmpd/bsnmpd.1 projects/sv/contrib/bsnmp/snmpd/snmpmod.3 projects/sv/contrib/gcc/crtstuff.c projects/sv/contrib/gcc/longlong.h projects/sv/contrib/libstdc++/include/ext/bitmap_allocator.h projects/sv/contrib/libstdc++/include/ext/ropeimpl.h projects/sv/contrib/libstdc++/src/locale-inst.cc projects/sv/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/sv/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/sv/contrib/pf/pflogd/pflogd.c projects/sv/contrib/top/display.c projects/sv/contrib/traceroute/traceroute.c projects/sv/contrib/tzdata/africa projects/sv/contrib/tzdata/asia projects/sv/etc/defaults/periodic.conf projects/sv/etc/netstart projects/sv/etc/periodic/daily/Makefile projects/sv/etc/periodic/security/460.chkportsum projects/sv/etc/rc.resume projects/sv/etc/rc.subr projects/sv/etc/rc.suspend projects/sv/games/fortune/datfiles/freebsd-tips projects/sv/gnu/lib/csu/Makefile projects/sv/gnu/lib/libdialog/checklist.c projects/sv/gnu/lib/libgomp/Makefile projects/sv/gnu/lib/libobjc/Makefile projects/sv/gnu/lib/libreadline/history/Makefile projects/sv/gnu/lib/libreadline/readline/doc/Makefile projects/sv/gnu/lib/libstdc++/Makefile projects/sv/gnu/usr.bin/Makefile projects/sv/gnu/usr.bin/binutils/gdb/Makefile projects/sv/gnu/usr.bin/cvs/contrib/Makefile projects/sv/gnu/usr.bin/gdb/Makefile projects/sv/gnu/usr.bin/gdb/doc/Makefile projects/sv/gnu/usr.bin/gdb/gdbserver/Makefile projects/sv/gnu/usr.bin/gdb/kgdb/kgdb.h projects/sv/gnu/usr.bin/gdb/kgdb/kthr.c projects/sv/gnu/usr.bin/gdb/kgdb/trgt_i386.c projects/sv/include/Makefile projects/sv/include/stdio.h projects/sv/include/unistd.h projects/sv/lib/Makefile projects/sv/lib/clang/clang.build.mk projects/sv/lib/libbluetooth/bluetooth.3 projects/sv/lib/libc/Makefile projects/sv/lib/libc/compat-43/Makefile.inc projects/sv/lib/libc/gen/Makefile.inc projects/sv/lib/libc/gen/Symbol.map projects/sv/lib/libc/gen/__getosreldate.c projects/sv/lib/libc/gen/dlfcn.c projects/sv/lib/libc/gen/dlopen.3 projects/sv/lib/libc/gen/getosreldate.c projects/sv/lib/libc/gen/getpagesize.c projects/sv/lib/libc/gen/getpagesizes.c projects/sv/lib/libc/include/libc_private.h projects/sv/lib/libc/locale/Makefile.inc projects/sv/lib/libc/net/gethostbydns.c projects/sv/lib/libc/net/gethostbyht.c projects/sv/lib/libc/net/gethostbynis.c projects/sv/lib/libc/net/gethostnamadr.c projects/sv/lib/libc/net/getnetbydns.c projects/sv/lib/libc/net/getnetbyht.c projects/sv/lib/libc/net/getnetbynis.c projects/sv/lib/libc/net/getnetnamadr.c projects/sv/lib/libc/net/getproto.c projects/sv/lib/libc/net/getprotoent.c projects/sv/lib/libc/net/getprotoname.c projects/sv/lib/libc/net/inet6_rth_space.3 projects/sv/lib/libc/net/sctp_recvmsg.3 projects/sv/lib/libc/net/sctp_send.3 projects/sv/lib/libc/net/sctp_sendmsg.3 projects/sv/lib/libc/quad/Makefile.inc projects/sv/lib/libc/softfloat/Makefile.inc projects/sv/lib/libc/stdlib/Makefile.inc projects/sv/lib/libc/stdlib/atexit.c projects/sv/lib/libc/stdlib/getopt_long.3 projects/sv/lib/libc/stdlib/malloc.3 projects/sv/lib/libc/stdlib/malloc.c projects/sv/lib/libc/stdlib/realpath.3 projects/sv/lib/libc/string/Makefile.inc projects/sv/lib/libc/sys/Makefile.inc projects/sv/lib/libc/sys/getfh.2 projects/sv/lib/libc/sys/kldstat.2 projects/sv/lib/libc/sys/kqueue.2 projects/sv/lib/libc/sys/ntp_adjtime.2 projects/sv/lib/libc/sys/open.2 projects/sv/lib/libc/sys/ptrace.2 projects/sv/lib/libc/sys/shm_open.2 projects/sv/lib/libc/sys/stack_protector.c projects/sv/lib/libc_r/sys/Makefile.inc projects/sv/lib/libcam/cam.3 projects/sv/lib/libcompat/4.1/ftime.c projects/sv/lib/libcompat/Makefile projects/sv/lib/libdisk/Makefile projects/sv/lib/libedit/editline.3 projects/sv/lib/libelf/elf.3 projects/sv/lib/libelf/libelf_data.c projects/sv/lib/libexpat/Makefile projects/sv/lib/libgeom/libgeom.3 projects/sv/lib/libgpib/gpib.3 projects/sv/lib/libgssapi/gss_accept_sec_context.3 projects/sv/lib/libgssapi/gss_acquire_cred.3 projects/sv/lib/libgssapi/gssapi.3 projects/sv/lib/libkvm/Makefile projects/sv/lib/libpmc/Makefile projects/sv/lib/libpmc/pmc.3 projects/sv/lib/libpmc/pmc.corei7.3 projects/sv/lib/libpmc/pmc.corei7uc.3 projects/sv/lib/libpmc/pmc.mips.3 projects/sv/lib/libpmc/pmc.westmere.3 projects/sv/lib/libpmc/pmc.westmereuc.3 projects/sv/lib/libpmc/pmc_event_names_of_class.3 projects/sv/lib/libpmc/pmc_read.3 projects/sv/lib/libproc/libproc.h projects/sv/lib/libproc/proc_bkpt.c projects/sv/lib/libproc/proc_rtld.c projects/sv/lib/libproc/proc_sym.c projects/sv/lib/libproc/proc_util.c projects/sv/lib/libradius/libradius.3 projects/sv/lib/librpcsec_gss/rpcsec_gss.3 projects/sv/lib/libsdp/sdp.3 projects/sv/lib/libstand/Makefile projects/sv/lib/libthr/pthread.map projects/sv/lib/libthr/thread/thr_cancel.c projects/sv/lib/libthr/thread/thr_cond.c projects/sv/lib/libthr/thread/thr_exit.c projects/sv/lib/libthr/thread/thr_fork.c projects/sv/lib/libthr/thread/thr_join.c projects/sv/lib/libthr/thread/thr_private.h projects/sv/lib/libthr/thread/thr_sig.c projects/sv/lib/libthr/thread/thr_syscalls.c projects/sv/lib/libthread_db/Makefile projects/sv/lib/libusb/libusb.3 projects/sv/lib/libusb/libusb20.3 projects/sv/lib/libutil/expand_number.3 projects/sv/lib/libutil/expand_number.c projects/sv/lib/libutil/kld.c projects/sv/lib/libutil/libutil.h projects/sv/lib/libutil/login_class.c projects/sv/lib/libutil/property.3 projects/sv/lib/libutil/pw_util.c projects/sv/lib/libutil/quotafile.3 projects/sv/lib/msun/Makefile projects/sv/lib/msun/man/fdim.3 projects/sv/libexec/rtld-elf/Makefile projects/sv/libexec/rtld-elf/Symbol.map projects/sv/libexec/rtld-elf/amd64/Makefile.inc projects/sv/libexec/rtld-elf/i386/Makefile.inc projects/sv/libexec/rtld-elf/malloc.c projects/sv/libexec/rtld-elf/mips/reloc.c projects/sv/libexec/rtld-elf/rtld.c projects/sv/libexec/talkd/announce.c projects/sv/libexec/talkd/table.c projects/sv/libexec/ypxfr/ypxfr.8 projects/sv/release/picobsd/tinyware/login/pico-login.c projects/sv/rescue/rescue/Makefile projects/sv/sbin/atm/atmconfig/Makefile projects/sv/sbin/bsdlabel/Makefile projects/sv/sbin/bsdlabel/bsdlabel.c projects/sv/sbin/camcontrol/Makefile projects/sv/sbin/devd/devd.conf.5 projects/sv/sbin/fsck/fsck.8 projects/sv/sbin/fsck_ffs/fsck_ffs.8 projects/sv/sbin/gbde/Makefile projects/sv/sbin/geom/class/multipath/geom_multipath.c projects/sv/sbin/geom/class/part/gpart.8 projects/sv/sbin/geom/core/geom.8 projects/sv/sbin/geom/core/geom.c projects/sv/sbin/hastctl/hastctl.8 projects/sv/sbin/hastctl/hastctl.c projects/sv/sbin/hastd/control.c projects/sv/sbin/hastd/control.h projects/sv/sbin/hastd/hast.conf.5 projects/sv/sbin/hastd/hast.h projects/sv/sbin/hastd/hastd.c projects/sv/sbin/hastd/hastd.h projects/sv/sbin/hastd/parse.y projects/sv/sbin/hastd/pjdlog.c projects/sv/sbin/hastd/pjdlog.h projects/sv/sbin/hastd/primary.c projects/sv/sbin/hastd/proto.c projects/sv/sbin/hastd/proto_common.c projects/sv/sbin/hastd/proto_impl.h projects/sv/sbin/hastd/proto_socketpair.c projects/sv/sbin/hastd/proto_tcp4.c projects/sv/sbin/hastd/proto_uds.c projects/sv/sbin/hastd/secondary.c projects/sv/sbin/ifconfig/af_link.c projects/sv/sbin/ifconfig/ifconfig.8 projects/sv/sbin/ifconfig/ifconfig.c projects/sv/sbin/ipfw/dummynet.c projects/sv/sbin/ipfw/ipfw.8 projects/sv/sbin/iscontrol/Makefile projects/sv/sbin/iscontrol/auth_subr.c projects/sv/sbin/iscontrol/config.c projects/sv/sbin/iscontrol/fsm.c projects/sv/sbin/iscontrol/iscontrol.8 projects/sv/sbin/iscontrol/iscontrol.c projects/sv/sbin/iscontrol/iscontrol.h projects/sv/sbin/iscontrol/iscsi.conf.5 projects/sv/sbin/iscontrol/login.c projects/sv/sbin/iscontrol/misc.c projects/sv/sbin/iscontrol/pdu.c projects/sv/sbin/newfs_msdos/Makefile projects/sv/sbin/ping6/ping6.8 projects/sv/sbin/sunlabel/Makefile projects/sv/sbin/sunlabel/sunlabel.8 projects/sv/secure/lib/libcrypto/Makefile projects/sv/share/man/man4/Makefile projects/sv/share/man/man4/alc.4 projects/sv/share/man/man4/bge.4 projects/sv/share/man/man4/bktr.4 projects/sv/share/man/man4/bt.4 projects/sv/share/man/man4/bwi.4 projects/sv/share/man/man4/cmx.4 projects/sv/share/man/man4/dc.4 projects/sv/share/man/man4/enc.4 projects/sv/share/man/man4/gbde.4 projects/sv/share/man/man4/gre.4 projects/sv/share/man/man4/hwpmc.4 projects/sv/share/man/man4/iic.4 projects/sv/share/man/man4/ip.4 projects/sv/share/man/man4/ipsec.4 projects/sv/share/man/man4/linux.4 projects/sv/share/man/man4/lmc.4 projects/sv/share/man/man4/mac_lomac.4 projects/sv/share/man/man4/man4.i386/glxsb.4 projects/sv/share/man/man4/meteor.4 projects/sv/share/man/man4/mk48txx.4 projects/sv/share/man/man4/net80211.4 projects/sv/share/man/man4/netgraph.4 projects/sv/share/man/man4/ng_atm.4 projects/sv/share/man/man4/ng_btsocket.4 projects/sv/share/man/man4/ng_car.4 projects/sv/share/man/man4/ngatmbase.4 projects/sv/share/man/man4/pcii.4 projects/sv/share/man/man4/pcm.4 projects/sv/share/man/man4/rl.4 projects/sv/share/man/man4/sctp.4 projects/sv/share/man/man4/termios.4 projects/sv/share/man/man4/u3g.4 projects/sv/share/man/man5/Makefile projects/sv/share/man/man5/mqueuefs.5 projects/sv/share/man/man5/periodic.conf.5 projects/sv/share/man/man7/bsd.snmpmod.mk.7 projects/sv/share/man/man7/tuning.7 projects/sv/share/man/man9/BUS_NEW_PASS.9 projects/sv/share/man/man9/DEVICE_PROBE.9 projects/sv/share/man/man9/Makefile projects/sv/share/man/man9/VOP_LISTEXTATTR.9 projects/sv/share/man/man9/VOP_VPTOCNP.9 projects/sv/share/man/man9/crypto.9 projects/sv/share/man/man9/g_geom.9 projects/sv/share/man/man9/g_wither_geom.9 projects/sv/share/man/man9/ieee80211.9 projects/sv/share/man/man9/ieee80211_vap.9 projects/sv/share/man/man9/kproc.9 projects/sv/share/man/man9/mbuf.9 projects/sv/share/man/man9/memguard.9 projects/sv/share/man/man9/netisr.9 projects/sv/share/man/man9/rman.9 projects/sv/share/man/man9/runqueue.9 projects/sv/share/man/man9/vm_page_bits.9 projects/sv/share/misc/bsd-family-tree projects/sv/share/mk/bsd.dep.mk projects/sv/share/mk/bsd.lib.mk projects/sv/share/mk/bsd.own.mk projects/sv/share/mk/bsd.sys.mk projects/sv/share/mk/sys.mk projects/sv/share/syscons/keymaps/INDEX.keymaps projects/sv/share/syscons/keymaps/Makefile projects/sv/share/termcap/termcap.src projects/sv/sys/amd64/acpica/acpi_wakeup.c projects/sv/sys/amd64/amd64/mp_machdep.c projects/sv/sys/amd64/amd64/mptable_pci.c projects/sv/sys/amd64/amd64/pmap.c projects/sv/sys/amd64/amd64/trap.c projects/sv/sys/amd64/amd64/tsc.c projects/sv/sys/amd64/amd64/vm_machdep.c projects/sv/sys/amd64/conf/GENERIC projects/sv/sys/amd64/ia32/ia32_signal.c projects/sv/sys/amd64/ia32/ia32_syscall.c projects/sv/sys/amd64/include/elf.h projects/sv/sys/amd64/include/smp.h projects/sv/sys/amd64/include/trap.h projects/sv/sys/arm/include/elf.h projects/sv/sys/arm/include/pmap.h projects/sv/sys/boot/Makefile projects/sv/sys/boot/arm/ixp425/boot2/Makefile projects/sv/sys/boot/arm/uboot/Makefile projects/sv/sys/boot/common/Makefile.inc projects/sv/sys/boot/common/ufsread.c projects/sv/sys/boot/efi/libefi/Makefile projects/sv/sys/boot/ficl/Makefile projects/sv/sys/boot/i386/Makefile.inc projects/sv/sys/boot/i386/boot2/Makefile projects/sv/sys/boot/i386/gptboot/Makefile projects/sv/sys/boot/i386/gptzfsboot/Makefile projects/sv/sys/boot/i386/libfirewire/Makefile projects/sv/sys/boot/i386/libi386/Makefile projects/sv/sys/boot/i386/loader/Makefile projects/sv/sys/boot/i386/zfsboot/Makefile projects/sv/sys/boot/ia64/common/Makefile projects/sv/sys/boot/ia64/efi/Makefile projects/sv/sys/boot/ia64/ski/Makefile projects/sv/sys/boot/ofw/libofw/Makefile projects/sv/sys/boot/uboot/lib/Makefile projects/sv/sys/boot/zfs/Makefile projects/sv/sys/boot/zfs/zfsimpl.c projects/sv/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c projects/sv/sys/cddl/compat/opensolaris/sys/misc.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/sv/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/sv/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/sv/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/sv/sys/cddl/dev/dtrace/amd64/dtrace_isa.c projects/sv/sys/cddl/dev/dtrace/amd64/instr_size.c projects/sv/sys/cddl/dev/dtrace/dtrace_cddl.h projects/sv/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/sv/sys/cddl/dev/dtrace/dtrace_load.c projects/sv/sys/cddl/dev/dtrace/dtrace_unload.c projects/sv/sys/cddl/dev/dtrace/i386/dtrace_isa.c projects/sv/sys/cddl/dev/dtrace/i386/instr_size.c projects/sv/sys/cddl/dev/systrace/systrace.c projects/sv/sys/compat/freebsd32/freebsd32.h projects/sv/sys/compat/freebsd32/freebsd32_misc.c projects/sv/sys/compat/x86bios/x86bios.c projects/sv/sys/compat/x86bios/x86bios.h projects/sv/sys/conf/NOTES projects/sv/sys/conf/files projects/sv/sys/conf/files.i386 projects/sv/sys/conf/files.powerpc projects/sv/sys/conf/kern.mk projects/sv/sys/conf/kern.post.mk projects/sv/sys/conf/kern.pre.mk projects/sv/sys/conf/kmod.mk projects/sv/sys/conf/makeLINT.mk projects/sv/sys/conf/options.mips projects/sv/sys/contrib/dev/acpica/changes.txt projects/sv/sys/contrib/dev/acpica/common/adisasm.c projects/sv/sys/contrib/dev/acpica/common/dmextern.c projects/sv/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/sv/sys/contrib/dev/acpica/compiler/aslglobal.h projects/sv/sys/contrib/dev/acpica/compiler/aslmain.c projects/sv/sys/contrib/dev/acpica/compiler/aslstartup.c projects/sv/sys/contrib/dev/acpica/debugger/dbcmds.c projects/sv/sys/contrib/dev/acpica/debugger/dbinput.c projects/sv/sys/contrib/dev/acpica/events/evxfevnt.c projects/sv/sys/contrib/dev/acpica/executer/exfldio.c projects/sv/sys/contrib/dev/acpica/executer/exprep.c projects/sv/sys/contrib/dev/acpica/include/acdebug.h projects/sv/sys/contrib/dev/acpica/include/acdisasm.h projects/sv/sys/contrib/dev/acpica/include/acglobal.h projects/sv/sys/contrib/dev/acpica/include/aclocal.h projects/sv/sys/contrib/dev/acpica/include/acobject.h projects/sv/sys/contrib/dev/acpica/include/acpiosxf.h projects/sv/sys/contrib/dev/acpica/include/acpixf.h projects/sv/sys/contrib/dev/acpica/include/actypes.h projects/sv/sys/contrib/dev/acpica/include/acutils.h projects/sv/sys/contrib/dev/acpica/osunixxf.c projects/sv/sys/contrib/dev/acpica/utilities/uteval.c projects/sv/sys/contrib/dev/acpica/utilities/utglobal.c projects/sv/sys/contrib/dev/acpica/utilities/utinit.c projects/sv/sys/contrib/dev/acpica/utilities/utmutex.c projects/sv/sys/contrib/dev/acpica/utilities/utxface.c projects/sv/sys/dev/acpica/Osd/OsdHardware.c projects/sv/sys/dev/acpica/Osd/OsdMemory.c projects/sv/sys/dev/acpica/acpi.c projects/sv/sys/dev/acpica/acpi_ec.c projects/sv/sys/dev/acpica/acpi_pcib.c projects/sv/sys/dev/acpica/acpi_pcib_acpi.c projects/sv/sys/dev/acpica/acpi_pcib_pci.c projects/sv/sys/dev/acpica/acpi_pcibvar.h projects/sv/sys/dev/acpica/acpivar.h projects/sv/sys/dev/aic7xxx/aicasm/Makefile projects/sv/sys/dev/alc/if_alc.c projects/sv/sys/dev/alc/if_alcreg.h projects/sv/sys/dev/alc/if_alcvar.h projects/sv/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/sv/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416.ini projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/sv/sys/dev/ath/ath_hal/ar5416/ar9160.ini projects/sv/sys/dev/ath/ath_hal/ar5416/ar9285_reset.c projects/sv/sys/dev/ath/if_ath.c projects/sv/sys/dev/ath/if_athioctl.h projects/sv/sys/dev/bge/if_bge.c projects/sv/sys/dev/bge/if_bgereg.h projects/sv/sys/dev/bwi/if_bwi.c projects/sv/sys/dev/bwn/if_bwn.c projects/sv/sys/dev/cfe/cfe_env.c projects/sv/sys/dev/cxgb/common/cxgb_common.h projects/sv/sys/dev/cxgb/common/cxgb_t3_hw.c projects/sv/sys/dev/cxgb/common/cxgb_xgmac.c projects/sv/sys/dev/cxgb/cxgb_main.c projects/sv/sys/dev/e1000/if_igb.c projects/sv/sys/dev/ed/if_ed.c projects/sv/sys/dev/fb/vesa.c projects/sv/sys/dev/flash/mx25l.c projects/sv/sys/dev/iicbus/iic.h projects/sv/sys/dev/iscsi/initiator/isc_cam.c projects/sv/sys/dev/iscsi/initiator/isc_sm.c projects/sv/sys/dev/iscsi/initiator/isc_soc.c projects/sv/sys/dev/iscsi/initiator/isc_subr.c projects/sv/sys/dev/iscsi/initiator/iscsi.c projects/sv/sys/dev/iscsi/initiator/iscsi.h projects/sv/sys/dev/iscsi/initiator/iscsi_subr.c projects/sv/sys/dev/iscsi/initiator/iscsivar.h projects/sv/sys/dev/iwn/if_iwn.c projects/sv/sys/dev/mii/atphy.c projects/sv/sys/dev/mii/e1000phy.c projects/sv/sys/dev/mii/miidevs projects/sv/sys/dev/mpt/mpt_pci.c projects/sv/sys/dev/null/null.c projects/sv/sys/dev/pci/pci.c projects/sv/sys/dev/pci/pci_pci.c projects/sv/sys/dev/pci/pci_private.h projects/sv/sys/dev/pci/pcib_if.m projects/sv/sys/dev/pci/pcib_private.h projects/sv/sys/dev/ral/rt2560.c projects/sv/sys/dev/ral/rt2661.c projects/sv/sys/dev/ste/if_ste.c projects/sv/sys/dev/usb/quirk/usb_quirk.c projects/sv/sys/dev/usb/serial/uplcom.c projects/sv/sys/dev/usb/serial/uslcom.c projects/sv/sys/dev/usb/usbdevs projects/sv/sys/dev/usb/wlan/if_rum.c projects/sv/sys/dev/usb/wlan/if_run.c projects/sv/sys/dev/usb/wlan/if_ural.c projects/sv/sys/dev/usb/wlan/if_zyd.c projects/sv/sys/dev/wpi/if_wpi.c projects/sv/sys/dev/xl/if_xl.c projects/sv/sys/dev/xl/if_xlreg.h projects/sv/sys/fs/coda/coda.h projects/sv/sys/fs/coda/coda_venus.c projects/sv/sys/fs/coda/coda_vnops.c projects/sv/sys/fs/devfs/devfs.h projects/sv/sys/fs/devfs/devfs_devs.c projects/sv/sys/fs/devfs/devfs_rule.c projects/sv/sys/fs/devfs/devfs_vfsops.c projects/sv/sys/fs/devfs/devfs_vnops.c projects/sv/sys/fs/nfsclient/nfs_clnode.c projects/sv/sys/fs/nfsclient/nfs_clport.c projects/sv/sys/fs/nwfs/nwfs_node.c projects/sv/sys/fs/pseudofs/pseudofs_vncache.c projects/sv/sys/fs/smbfs/smbfs_node.c projects/sv/sys/fs/tmpfs/tmpfs.h projects/sv/sys/fs/tmpfs/tmpfs_subr.c projects/sv/sys/fs/tmpfs/tmpfs_vnops.c projects/sv/sys/geom/mirror/g_mirror.c projects/sv/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c projects/sv/sys/i386/acpica/Makefile projects/sv/sys/i386/conf/GENERIC projects/sv/sys/i386/i386/mp_machdep.c projects/sv/sys/i386/i386/mptable_pci.c projects/sv/sys/i386/i386/pmap.c projects/sv/sys/i386/i386/trap.c projects/sv/sys/i386/i386/tsc.c projects/sv/sys/i386/i386/vm_machdep.c projects/sv/sys/i386/include/elf.h projects/sv/sys/i386/include/smp.h projects/sv/sys/i386/include/trap.h projects/sv/sys/i386/include/vm86.h projects/sv/sys/i386/pci/pci_bus.c projects/sv/sys/i386/xen/mp_machdep.c projects/sv/sys/i386/xen/pmap.c projects/sv/sys/ia64/ia32/ia32_signal.c projects/sv/sys/ia64/ia64/mp_machdep.c projects/sv/sys/ia64/ia64/trap.c projects/sv/sys/ia64/include/elf.h projects/sv/sys/ia64/include/smp.h projects/sv/sys/kern/Makefile projects/sv/sys/kern/imgact_elf.c projects/sv/sys/kern/init_main.c projects/sv/sys/kern/kern_conf.c projects/sv/sys/kern/kern_cons.c projects/sv/sys/kern/kern_dtrace.c projects/sv/sys/kern/kern_exec.c projects/sv/sys/kern/kern_exit.c projects/sv/sys/kern/kern_fork.c projects/sv/sys/kern/kern_ktrace.c projects/sv/sys/kern/kern_lock.c projects/sv/sys/kern/kern_malloc.c projects/sv/sys/kern/kern_priv.c projects/sv/sys/kern/kern_proc.c projects/sv/sys/kern/kern_sig.c projects/sv/sys/kern/kern_thr.c projects/sv/sys/kern/kern_timeout.c projects/sv/sys/kern/sched_4bsd.c projects/sv/sys/kern/sched_ule.c projects/sv/sys/kern/subr_autoconf.c projects/sv/sys/kern/subr_bus.c projects/sv/sys/kern/subr_param.c projects/sv/sys/kern/subr_rtc.c projects/sv/sys/kern/subr_sleepqueue.c projects/sv/sys/kern/subr_smp.c projects/sv/sys/kern/subr_taskqueue.c projects/sv/sys/kern/subr_trap.c projects/sv/sys/kern/tty.c projects/sv/sys/kern/uipc_socket.c projects/sv/sys/kern/vfs_bio.c projects/sv/sys/kern/vfs_cache.c projects/sv/sys/kern/vfs_cluster.c projects/sv/sys/kern/vfs_default.c projects/sv/sys/kern/vfs_lookup.c projects/sv/sys/kern/vfs_subr.c projects/sv/sys/kern/vfs_syscalls.c projects/sv/sys/mips/atheros/ar71xx_machdep.c projects/sv/sys/mips/atheros/ar71xx_pci.c projects/sv/sys/mips/atheros/ar71xx_wdog.c projects/sv/sys/mips/atheros/ar71xxreg.h projects/sv/sys/mips/atheros/files.ar71xx projects/sv/sys/mips/atheros/if_arge.c projects/sv/sys/mips/atheros/if_argevar.h projects/sv/sys/mips/atheros/uart_bus_ar71xx.c projects/sv/sys/mips/atheros/uart_cpu_ar71xx.c projects/sv/sys/mips/conf/XLR projects/sv/sys/mips/conf/XLR64 projects/sv/sys/mips/conf/XLRN32 projects/sv/sys/mips/include/bus.h projects/sv/sys/mips/include/cpuregs.h projects/sv/sys/mips/include/elf.h projects/sv/sys/mips/include/endian.h projects/sv/sys/mips/include/intr_machdep.h projects/sv/sys/mips/include/pmap.h projects/sv/sys/mips/include/pte.h projects/sv/sys/mips/include/smp.h projects/sv/sys/mips/include/vmparam.h projects/sv/sys/mips/mips/exception.S projects/sv/sys/mips/mips/locore.S projects/sv/sys/mips/mips/machdep.c projects/sv/sys/mips/mips/mp_machdep.c projects/sv/sys/mips/mips/mpboot.S projects/sv/sys/mips/mips/pm_machdep.c projects/sv/sys/mips/mips/pmap.c projects/sv/sys/mips/mips/tick.c projects/sv/sys/mips/mips/trap.c projects/sv/sys/mips/mips/vm_machdep.c projects/sv/sys/mips/rmi/std.xlr projects/sv/sys/mips/rmi/xlr_machdep.c projects/sv/sys/mips/sibyte/sb_machdep.c projects/sv/sys/mips/sibyte/sb_scd.c projects/sv/sys/mips/sibyte/sb_zbpci.c projects/sv/sys/modules/Makefile projects/sv/sys/modules/aac/Makefile projects/sv/sys/modules/acpi/acpi/Makefile projects/sv/sys/modules/agp/Makefile projects/sv/sys/modules/amr/Makefile projects/sv/sys/modules/asr/Makefile projects/sv/sys/modules/bge/Makefile projects/sv/sys/modules/cpufreq/Makefile projects/sv/sys/modules/cxgb/Makefile projects/sv/sys/modules/cyclic/Makefile projects/sv/sys/modules/dtrace/Makefile projects/sv/sys/modules/dtrace/Makefile.inc projects/sv/sys/modules/dtrace/dtrace/Makefile projects/sv/sys/modules/dtrace/dtraceall/dtraceall.c projects/sv/sys/modules/dtrace/fasttrap/Makefile projects/sv/sys/modules/em/Makefile projects/sv/sys/modules/hptmv/Makefile projects/sv/sys/modules/hptrr/Makefile projects/sv/sys/modules/hwpmc/Makefile projects/sv/sys/modules/i2c/controllers/pcf/Makefile projects/sv/sys/modules/igb/Makefile projects/sv/sys/modules/io/Makefile projects/sv/sys/modules/ixgbe/Makefile projects/sv/sys/modules/le/Makefile projects/sv/sys/modules/linprocfs/Makefile projects/sv/sys/modules/linsysfs/Makefile projects/sv/sys/modules/linux/Makefile projects/sv/sys/modules/mem/Makefile projects/sv/sys/modules/mfi/Makefile projects/sv/sys/modules/ndis/Makefile projects/sv/sys/modules/ppc/Makefile projects/sv/sys/modules/procfs/Makefile projects/sv/sys/modules/sem/Makefile projects/sv/sys/modules/smbfs/Makefile projects/sv/sys/modules/sound/driver/Makefile projects/sv/sys/modules/svr4/Makefile projects/sv/sys/modules/syscons/Makefile projects/sv/sys/modules/uart/Makefile projects/sv/sys/modules/usb/Makefile projects/sv/sys/modules/vx/Makefile projects/sv/sys/modules/x86bios/Makefile projects/sv/sys/net/if.c projects/sv/sys/net/if_bridge.c projects/sv/sys/net/if_ethersubr.c projects/sv/sys/net/if_vlan.c projects/sv/sys/net/vnet.c projects/sv/sys/net80211/ieee80211.c projects/sv/sys/net80211/ieee80211_node.c projects/sv/sys/net80211/ieee80211_sta.c projects/sv/sys/net80211/ieee80211_var.h projects/sv/sys/netinet/if_ether.c projects/sv/sys/netinet/in.c projects/sv/sys/netinet/in.h projects/sv/sys/netinet/in_proto.c projects/sv/sys/netinet/ip_carp.c projects/sv/sys/netinet/ip_carp.h projects/sv/sys/netinet/ip_divert.c projects/sv/sys/netinet/ip_icmp.c projects/sv/sys/netinet/ip_input.c projects/sv/sys/netinet/libalias/alias_db.c projects/sv/sys/netinet/raw_ip.c projects/sv/sys/netinet/sctp_output.c projects/sv/sys/netinet/tcp_input.c projects/sv/sys/netinet/tcp_output.c projects/sv/sys/netinet/tcp_subr.c projects/sv/sys/netinet/tcp_syncache.c projects/sv/sys/netinet/tcp_var.h projects/sv/sys/netinet/udp_usrreq.c projects/sv/sys/netinet6/icmp6.c projects/sv/sys/netinet6/in6_proto.c projects/sv/sys/netinet6/nd6.c projects/sv/sys/netinet6/nd6_nbr.c projects/sv/sys/netinet6/raw_ip6.c projects/sv/sys/nfsclient/nfs_node.c projects/sv/sys/opencrypto/cryptodev.c projects/sv/sys/opencrypto/deflate.c projects/sv/sys/pci/if_rl.c projects/sv/sys/powerpc/aim/trap.c projects/sv/sys/powerpc/booke/trap.c projects/sv/sys/powerpc/conf/Makefile projects/sv/sys/powerpc/conf/NOTES projects/sv/sys/powerpc/include/elf.h projects/sv/sys/powerpc/include/pmap.h projects/sv/sys/powerpc/include/smp.h projects/sv/sys/powerpc/powerpc/mp_machdep.c projects/sv/sys/security/mac/mac_framework.c projects/sv/sys/security/mac/mac_internal.h projects/sv/sys/sparc64/include/cache.h projects/sv/sys/sparc64/include/elf.h projects/sv/sys/sparc64/include/pmap.h projects/sv/sys/sparc64/include/smp.h projects/sv/sys/sparc64/sparc64/cache.c projects/sv/sys/sparc64/sparc64/genassym.c projects/sv/sys/sparc64/sparc64/mem.c projects/sv/sys/sparc64/sparc64/mp_exception.S projects/sv/sys/sparc64/sparc64/mp_machdep.c projects/sv/sys/sparc64/sparc64/pmap.c projects/sv/sys/sparc64/sparc64/tick.c projects/sv/sys/sparc64/sparc64/trap.c projects/sv/sys/sparc64/sparc64/uio_machdep.c projects/sv/sys/sparc64/sparc64/vm_machdep.c projects/sv/sys/sun4v/include/elf.h projects/sv/sys/sun4v/include/smp.h projects/sv/sys/sun4v/sun4v/mp_machdep.c projects/sv/sys/sun4v/sun4v/pmap.c projects/sv/sys/sun4v/sun4v/trap.c projects/sv/sys/sys/cdefs.h projects/sv/sys/sys/conf.h projects/sv/sys/sys/imgact.h projects/sv/sys/sys/ktrace.h projects/sv/sys/sys/link_elf.h projects/sv/sys/sys/lockmgr.h projects/sv/sys/sys/mbuf.h projects/sv/sys/sys/param.h projects/sv/sys/sys/sdt.h projects/sv/sys/sys/signal.h projects/sv/sys/sys/sysent.h projects/sv/sys/sys/vnode.h projects/sv/sys/teken/teken_subr.h projects/sv/sys/tools/vnode_if.awk projects/sv/sys/ufs/ffs/ffs_softdep.c projects/sv/sys/ufs/ffs/ffs_vfsops.c projects/sv/sys/vm/device_pager.c projects/sv/sys/vm/memguard.c projects/sv/sys/vm/memguard.h projects/sv/sys/vm/uma.h projects/sv/sys/vm/uma_core.c projects/sv/sys/vm/vm_extern.h projects/sv/sys/vm/vm_kern.c projects/sv/sys/vm/vm_mmap.c projects/sv/tools/regression/bin/sh/builtins/command3.0 projects/sv/tools/regression/bin/sh/builtins/command5.0 projects/sv/tools/regression/bin/sh/builtins/command6.0 projects/sv/tools/regression/bin/sh/builtins/fc1.0 projects/sv/tools/regression/bin/sh/builtins/fc2.0 projects/sv/tools/regression/bin/sh/execution/func2.0 projects/sv/tools/regression/bin/sh/execution/redir1.0 projects/sv/tools/regression/bin/sh/execution/redir2.0 projects/sv/tools/regression/bin/sh/parser/heredoc2.0 projects/sv/tools/regression/bin/sh/set-e/elif1.0 projects/sv/tools/regression/bin/sh/set-e/elif2.0 projects/sv/tools/regression/bin/sh/set-e/if1.0 projects/sv/tools/regression/bin/sh/set-e/if3.0 projects/sv/tools/regression/bin/sh/set-e/while1.0 projects/sv/tools/regression/bin/sh/set-e/while2.0 projects/sv/tools/test/dtrace/Makefile projects/sv/tools/tools/vhba/Makefile projects/sv/tools/tools/vhba/vhba.c projects/sv/usr.bin/Makefile projects/sv/usr.bin/calendar/locale.c projects/sv/usr.bin/cpio/bsdcpio.1 projects/sv/usr.bin/cpio/cmdline.c projects/sv/usr.bin/cpio/cpio.c projects/sv/usr.bin/cpio/cpio.h projects/sv/usr.bin/csup/csup.1 projects/sv/usr.bin/csup/main.c projects/sv/usr.bin/du/du.1 projects/sv/usr.bin/elfdump/elfdump.c projects/sv/usr.bin/fstat/fstat.1 projects/sv/usr.bin/grep/fastgrep.c projects/sv/usr.bin/grep/file.c projects/sv/usr.bin/grep/grep.c projects/sv/usr.bin/grep/grep.h projects/sv/usr.bin/grep/nls/uk_UA.UTF-8.msg projects/sv/usr.bin/grep/queue.c projects/sv/usr.bin/grep/util.c projects/sv/usr.bin/gzip/unpack.c projects/sv/usr.bin/indent/indent.c projects/sv/usr.bin/ldd/Makefile projects/sv/usr.bin/rwall/rwall.1 projects/sv/usr.bin/script/script.c projects/sv/usr.bin/systat/systat.1 projects/sv/usr.bin/truss/Makefile projects/sv/usr.sbin/ac/Makefile projects/sv/usr.sbin/acpi/acpidb/Makefile projects/sv/usr.sbin/acpi/acpidump/acpi.c projects/sv/usr.sbin/acpi/acpidump/acpidump.h projects/sv/usr.sbin/acpi/iasl/Makefile projects/sv/usr.sbin/amd/Makefile.inc projects/sv/usr.sbin/apm/Makefile projects/sv/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 projects/sv/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3 projects/sv/usr.sbin/config/configvers.h projects/sv/usr.sbin/config/mkoptions.c projects/sv/usr.sbin/crunch/crunchide/exec_elf32.c projects/sv/usr.sbin/fifolog/lib/fifolog.h projects/sv/usr.sbin/freebsd-update/freebsd-update.8 projects/sv/usr.sbin/i2c/i2c.8 projects/sv/usr.sbin/iostat/iostat.8 projects/sv/usr.sbin/kbdcontrol/kbdcontrol.1 projects/sv/usr.sbin/kldxref/Makefile projects/sv/usr.sbin/lmcconfig/lmcconfig.8 projects/sv/usr.sbin/lpr/lpd/printjob.c projects/sv/usr.sbin/lpr/lpr/printcap.5 projects/sv/usr.sbin/makefs/makefs.8 projects/sv/usr.sbin/mfiutil/mfiutil.8 projects/sv/usr.sbin/ndp/ndp.c projects/sv/usr.sbin/nfscbd/nfscbd.8 projects/sv/usr.sbin/nfsd/nfsv4.4 projects/sv/usr.sbin/nfsd/stablerestart.5 projects/sv/usr.sbin/nfsuserd/nfsuserd.8 projects/sv/usr.sbin/ntp/doc/ntp.conf.5 projects/sv/usr.sbin/ntp/doc/ntpq.8 projects/sv/usr.sbin/pc-sysinstall/backend-query/Makefile projects/sv/usr.sbin/pc-sysinstall/backend-query/disk-info.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/disk-list.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/disk-part.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/enable-net.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/get-packages.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/list-packages.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/test-netup.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/update-part-list.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/xkeyboard-layouts.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/xkeyboard-models.sh projects/sv/usr.sbin/pc-sysinstall/backend-query/xkeyboard-variants.sh projects/sv/usr.sbin/pc-sysinstall/backend/Makefile projects/sv/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-disk.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-ftp.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-localize.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-mountoptical.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-networking.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-newfs.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-packages.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-parse.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-runcommands.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-unmount.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-upgrade.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions-users.sh projects/sv/usr.sbin/pc-sysinstall/backend/functions.sh projects/sv/usr.sbin/pc-sysinstall/backend/parseconfig.sh projects/sv/usr.sbin/pc-sysinstall/conf/pc-sysinstall.conf projects/sv/usr.sbin/pc-sysinstall/doc/help-index projects/sv/usr.sbin/pc-sysinstall/examples/README projects/sv/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.8 projects/sv/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh projects/sv/usr.sbin/pciconf/pciconf.8 projects/sv/usr.sbin/portsnap/portsnap/portsnap.8 projects/sv/usr.sbin/powerd/powerd.8 projects/sv/usr.sbin/powerd/powerd.c projects/sv/usr.sbin/ppp/ipv6cp.c projects/sv/usr.sbin/sade/Makefile projects/sv/usr.sbin/sysinstall/Makefile projects/sv/usr.sbin/sysinstall/config.c projects/sv/usr.sbin/sysinstall/globals.c projects/sv/usr.sbin/sysinstall/install.c projects/sv/usr.sbin/sysinstall/main.c projects/sv/usr.sbin/sysinstall/msg.c projects/sv/usr.sbin/sysinstall/system.c projects/sv/usr.sbin/sysinstall/termcap.c projects/sv/usr.sbin/syslogd/Makefile projects/sv/usr.sbin/syslogd/syslogd.8 projects/sv/usr.sbin/syslogd/syslogd.c projects/sv/usr.sbin/tcpdump/tcpdump/Makefile Directory Properties: projects/sv/ (props changed) projects/sv/cddl/contrib/opensolaris/ (props changed) projects/sv/contrib/bind9/ (props changed) projects/sv/contrib/ee/ (props changed) projects/sv/contrib/expat/ (props changed) projects/sv/contrib/file/ (props changed) projects/sv/contrib/gdb/ (props changed) projects/sv/contrib/gdtoa/ (props changed) projects/sv/contrib/gnu-sort/ (props changed) projects/sv/contrib/groff/ (props changed) projects/sv/contrib/less/ (props changed) projects/sv/contrib/libpcap/ (props changed) projects/sv/contrib/llvm/ (props changed) projects/sv/contrib/llvm/tools/clang/ (props changed) projects/sv/contrib/ncurses/ (props changed) projects/sv/contrib/netcat/ (props changed) projects/sv/contrib/ntp/ (props changed) projects/sv/contrib/one-true-awk/ (props changed) projects/sv/contrib/openbsm/ (props changed) projects/sv/contrib/openpam/ (props changed) projects/sv/contrib/pf/ (props changed) projects/sv/contrib/sendmail/ (props changed) projects/sv/contrib/tcpdump/ (props changed) projects/sv/contrib/tcsh/ (props changed) projects/sv/contrib/top/ (props changed) projects/sv/contrib/top/install-sh (props changed) projects/sv/contrib/tzcode/stdtime/ (props changed) projects/sv/contrib/tzcode/zic/ (props changed) projects/sv/contrib/tzdata/ (props changed) projects/sv/contrib/wpa/ (props changed) projects/sv/crypto/openssh/ (props changed) projects/sv/crypto/openssl/ (props changed) projects/sv/lib/libc/ (props changed) projects/sv/lib/libc/stdtime/ (props changed) projects/sv/lib/libutil/ (props changed) projects/sv/lib/libz/ (props changed) projects/sv/sbin/ (props changed) projects/sv/sbin/ipfw/ (props changed) projects/sv/share/mk/bsd.arch.inc.mk (props changed) projects/sv/share/zoneinfo/ (props changed) projects/sv/sys/ (props changed) projects/sv/sys/amd64/include/xen/ (props changed) projects/sv/sys/cddl/contrib/opensolaris/ (props changed) projects/sv/sys/contrib/dev/acpica/ (props changed) projects/sv/sys/contrib/pf/ (props changed) projects/sv/sys/contrib/x86emu/ (props changed) projects/sv/sys/dev/xen/xenpci/ (props changed) projects/sv/usr.bin/csup/ (props changed) projects/sv/usr.bin/procstat/ (props changed) projects/sv/usr.sbin/zic/ (props changed) Modified: projects/sv/Makefile.inc1 ============================================================================== --- projects/sv/Makefile.inc1 Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/Makefile.inc1 Tue Aug 24 16:11:12 2010 (r211757) @@ -29,7 +29,6 @@ # obj depend all install clean cleandepend cleanobj .include - .include # We must do share/info early so that installation of info `dir' @@ -1078,8 +1077,15 @@ _kgzip= usr.sbin/kgzip .endif .endif +.if ${CC:T:Mclang} == "clang" +_clang= usr.bin/clang +_clang_libs= lib/clang +.endif + cross-tools: .for _tool in \ + ${_clang_libs} \ + ${_clang} \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ @@ -1125,8 +1131,8 @@ _prereq_libs= gnu/lib/libssp/libssp_nons # all shared libraries for ELF. # _startup_libs= gnu/lib/csu -.if exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}-elf) -_startup_libs+= lib/csu/${MACHINE_ARCH}-elf +.if exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) +_startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf .elif exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) _startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf .elif exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) Modified: projects/sv/Makefile.mips ============================================================================== --- projects/sv/Makefile.mips Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/Makefile.mips Tue Aug 24 16:11:12 2010 (r211757) @@ -1,5 +1,2 @@ # $FreeBSD$ -# A bug in binutils prevents rescue from building, so override the user's -# choice. -MK_RESCUE=no Modified: projects/sv/ObsoleteFiles.inc ============================================================================== --- projects/sv/ObsoleteFiles.inc Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/ObsoleteFiles.inc Tue Aug 24 16:11:12 2010 (r211757) @@ -14,6 +14,13 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20100815: retired last traces of chooseproc(9) +OLD_FILES+=usr/share/man/man9/chooseproc.9.gz +# 20100806: removal of unused libcompat routines +OLD_FILES+=usr/share/man/man3/ascftime.3.gz +OLD_FILES+=usr/share/man/man3/cfree.3.gz +OLD_FILES+=usr/share/man/man3/cftime.3.gz +OLD_FILES+=usr/share/man/man3/getpw.3.gz # 20100725: acpi_aiboost(4) removal. OLD_FILES+=usr/share/man/man4/acpi_aiboost.4.gz # 20100720: new clang import which bumps version from 2.0 to 2.8 Modified: projects/sv/bin/sh/error.c ============================================================================== --- projects/sv/bin/sh/error.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/error.c Tue Aug 24 16:11:12 2010 (r211757) @@ -102,7 +102,7 @@ exraise(int e) void onint(void) { - sigset_t sigset; + sigset_t sigs; /* * The !in_dotrap here is safe. The only way we can arrive here @@ -115,8 +115,8 @@ onint(void) return; } intpending = 0; - sigemptyset(&sigset); - sigprocmask(SIG_SETMASK, &sigset, NULL); + sigemptyset(&sigs); + sigprocmask(SIG_SETMASK, &sigs, NULL); /* * This doesn't seem to be needed, since main() emits a newline. Modified: projects/sv/bin/sh/eval.c ============================================================================== --- projects/sv/bin/sh/eval.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/eval.c Tue Aug 24 16:11:12 2010 (r211757) @@ -641,7 +641,7 @@ evalcommand(union node *cmd, int flags, char *lastarg; int realstatus; int do_clearcmdentry; - char *path = pathval(); + const char *path = pathval(); /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); Modified: projects/sv/bin/sh/expand.c ============================================================================== --- projects/sv/bin/sh/expand.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/expand.c Tue Aug 24 16:11:12 2010 (r211757) @@ -109,7 +109,6 @@ STATIC void expmeta(char *, char *); STATIC void addfname(char *); STATIC struct strlist *expsort(struct strlist *); STATIC struct strlist *msort(struct strlist *, int); -STATIC int pmatch(const char *, const char *, int); STATIC char *cvtnum(int, char *); STATIC int collate_range_cmp(int, int); @@ -1082,8 +1081,8 @@ ifsbreakup(char *string, struct arglist * should be escapes. The results are stored in the list exparg. */ -STATIC char *expdir; - +STATIC char expdir[PATH_MAX]; +#define expdir_end (expdir + sizeof(expdir)) STATIC void expandmeta(struct strlist *str, int flag __unused) @@ -1101,19 +1100,12 @@ expandmeta(struct strlist *str, int flag for (;;) { /* fast check for meta chars */ if ((c = *p++) == '\0') goto nometa; - if (c == '*' || c == '?' || c == '[' || c == '!') + if (c == '*' || c == '?' || c == '[') break; } savelastp = exparg.lastp; INTOFF; - if (expdir == NULL) { - int i = strlen(str->text); - expdir = ckmalloc(i < 2048 ? 2048 : i); /* XXX */ - } - expmeta(expdir, str->text); - ckfree(expdir); - expdir = NULL; INTON; if (exparg.lastp == savelastp) { /* @@ -1175,8 +1167,6 @@ expmeta(char *enddir, char *name) break; } } - } else if (*p == '!' && p[1] == '!' && (p == name || p[-1] == '/')) { - metaflag = 1; } else if (*p == '\0') break; else if (*p == CTLQUOTEMARK) @@ -1202,6 +1192,8 @@ expmeta(char *enddir, char *name) *enddir++ = *p; if (*p == '\0') break; + if (enddir == expdir_end) + return; } if (metaflag == 0 || lstat(expdir, &statb) >= 0) addfname(expdir); @@ -1216,6 +1208,8 @@ expmeta(char *enddir, char *name) if (*p == CTLESC) p++; *enddir++ = *p++; + if (enddir == expdir_end) + return; } } if (enddir == expdir) { @@ -1249,15 +1243,17 @@ expmeta(char *enddir, char *name) if (dp->d_name[0] == '.' && ! matchdot) continue; if (patmatch(start, dp->d_name, 0)) { - if (atend) { - scopy(dp->d_name, enddir); + if (enddir + dp->d_namlen + 1 > expdir_end) + continue; + memcpy(enddir, dp->d_name, dp->d_namlen + 1); + if (atend) addfname(expdir); - } else { - for (p = enddir, q = dp->d_name; - (*p++ = *q++) != '\0';) + else { + if (enddir + dp->d_namlen + 2 > expdir_end) continue; - p[-1] = '/'; - expmeta(p, endname); + enddir[dp->d_namlen] = '/'; + enddir[dp->d_namlen + 1] = '\0'; + expmeta(enddir + dp->d_namlen + 1, endname); } } } @@ -1354,18 +1350,6 @@ msort(struct strlist *list, int len) int patmatch(const char *pattern, const char *string, int squoted) { -#ifdef notdef - if (pattern[0] == '!' && pattern[1] == '!') - return 1 - pmatch(pattern + 2, string); - else -#endif - return pmatch(pattern, string, squoted); -} - - -STATIC int -pmatch(const char *pattern, const char *string, int squoted) -{ const char *p, *q; char c; @@ -1407,7 +1391,7 @@ pmatch(const char *pattern, const char * } } do { - if (pmatch(p, q, squoted)) + if (patmatch(p, q, squoted)) return 1; if (squoted && *q == CTLESC) q++; Modified: projects/sv/bin/sh/main.c ============================================================================== --- projects/sv/bin/sh/main.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/main.c Tue Aug 24 16:11:12 2010 (r211757) @@ -232,8 +232,9 @@ cmdloop(int top) } popstackmark(&smark); setstackmark(&smark); - if (evalskip == SKIPFILE) { - evalskip = 0; + if (evalskip != 0) { + if (evalskip == SKIPFILE) + evalskip = 0; break; } } Modified: projects/sv/bin/sh/mksyntax.c ============================================================================== --- projects/sv/bin/sh/mksyntax.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/mksyntax.c Tue Aug 24 16:11:12 2010 (r211757) @@ -241,8 +241,8 @@ main(int argc __unused, char **argv __un filltable("0"); fputs("\n/* character classification table */\n", cfile); add("0123456789", "ISDIGIT"); - add("abcdefghijklmnopqrstucvwxyz", "ISLOWER"); - add("ABCDEFGHIJKLMNOPQRSTUCVWXYZ", "ISUPPER"); + add("abcdefghijklmnopqrstuvwxyz", "ISLOWER"); + add("ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ISUPPER"); add("_", "ISUNDER"); add("#?$!-*@", "ISSPECL"); print("is_type"); Modified: projects/sv/bin/sh/sh.1 ============================================================================== --- projects/sv/bin/sh/sh.1 Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/bin/sh/sh.1 Tue Aug 24 16:11:12 2010 (r211757) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 29, 2010 +.Dd August 22, 2010 .Dt SH 1 .Os .Sh NAME @@ -1230,7 +1230,7 @@ Quote Removal. The .Ql $ character is used to introduce parameter expansion, command -substitution, or arithmetic evaluation. +substitution, or arithmetic expansion. .Ss Tilde Expansion (substituting a user's home directory) A word beginning with an unquoted tilde character .Pq Ql ~ @@ -1463,10 +1463,41 @@ The shell expands all tokens in the .Ar expression for parameter expansion, -command substitution, and quote removal. +command substitution, +arithmetic expansion +and quote removal. +.Pp +The allowed expressions are a subset of C expressions, +summarized below. +.Bl -tag -width "Variables" -offset indent +.It Values +All values are of type +.Ft intmax_t . +.It Constants +Decimal, octal (starting with +.Li 0 ) +and hexadecimal (starting with +.Li 0x ) +integer constants. +.It Variables +Shell variables can be read and written +and contain integer constants. +.It Unary operators +.Li "! ~ + -" +.It Binary operators +.Li "* / % + - << >> < <= > >= == != & ^ | && ||" +.It Assignment operators +.Li "= += -= *= /= %= <<= >>= &= ^= |=" +.It Short-circuit evaluation +The +.Li && +and +.Li || +operators always evaluate both sides. +This is a bug. +.El .Pp -Next, the shell treats this as an arithmetic expression and -substitutes the value of the expression. +The result of the expression is substituted in decimal. .Ss White Space Splitting (Field Splitting) After parameter expansion, command substitution, and arithmetic expansion the shell scans the results of Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Tue Aug 24 16:11:12 2010 (r211757) @@ -773,19 +773,27 @@ compile_str(dtrace_cmd_t *dcp) static void prochandler(struct ps_prochandle *P, const char *msg, void *arg) { -fatal("DOODAD in function %s, file %s, line %d\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD +#if defined(sun) const psinfo_t *prp = Ppsinfo(P); int pid = Pstatus(P)->pr_pid; char name[SIG2STR_MAX]; +#else + int wstatus = proc_getwstat(P); + int pid = proc_getpid(P); +#endif if (msg != NULL) { notice("pid %d: %s\n", pid, msg); return; } +#if defined(sun) switch (Pstate(P)) { +#else + switch (proc_state(P)) { +#endif case PS_UNDEAD: +#if defined(sun) /* * Ideally we would like to always report pr_wstat here, but it * isn't possible given current /proc semantics. If we grabbed @@ -798,9 +806,20 @@ fatal("DOODAD in function %s, file %s, l notice("pid %d terminated by %s\n", pid, proc_signame(WTERMSIG(prp->pr_wstat), name, sizeof (name))); +#else + if (WIFSIGNALED(wstatus)) { + notice("pid %d terminated by %d\n", pid, + WTERMSIG(wstatus)); +#endif +#if defined(sun) } else if (prp != NULL && WEXITSTATUS(prp->pr_wstat) != 0) { notice("pid %d exited with status %d\n", pid, WEXITSTATUS(prp->pr_wstat)); +#else + } else if (WEXITSTATUS(wstatus) != 0) { + notice("pid %d exited with status %d\n", + pid, WEXITSTATUS(wstatus)); +#endif } else { notice("pid %d has exited\n", pid); } @@ -812,7 +831,6 @@ fatal("DOODAD in function %s, file %s, l g_pslive--; break; } -#endif } /*ARGSUSED*/ Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl Tue Aug 24 16:11:12 2010 (r211757) @@ -43,7 +43,7 @@ $USAGE = "Usage: $PNAME [-abfghjlnqs] [- @dtrace_argv = (); -$ksh_path = '/bin/sh'; +$ksh_path = '/usr/local/bin/ksh'; @files = (); %exceptions = (); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d Tue Aug 24 16:11:12 2010 (r211757) @@ -26,7 +26,6 @@ #pragma ident "%Z%%M% %I% %E% SMI" -#include #define INTFUNC(x) \ BEGIN \ Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d Tue Aug 24 16:11:12 2010 (r211757) @@ -39,13 +39,13 @@ BEGIN } BEGIN -/b[curthread->t_did] == 0/ +/b[curthread->td_flags] == 0/ { exit(0); } BEGIN { - printf("value should be 0; value is %x!", b[curthread->t_did]); + printf("value should be 0; value is %x!", b[curthread->td_flags]); exit(1); } Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -78,5 +78,5 @@ if [ "$status" -ne 0 ]; then exit $status fi -/usr/bin/rm -f $tempfile +/bin/rm -f $tempfile exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -44,7 +44,7 @@ fi dtrace=$1 -$dtrace -qwm unix'{chill(15); printf("Done chilling"); exit(0);}' +$dtrace -qwm kernel'{chill(15); printf("Done chilling"); exit(0);}' status=$? if [ "$status" -ne 0 ]; then Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -69,5 +69,5 @@ if [ ! -a "d.out" ]; then exit 1 fi -/usr/bin/rm -f "d.out" +/bin/rm -f "d.out" exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -70,5 +70,5 @@ if [ ! -a "outputFile" ]; then exit 1 fi -/usr/bin/rm -f "outputFile" +/bin/rm -f "outputFile" exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -43,7 +43,6 @@ script() { $dtrace -CH -s /dev/stdin < BEGIN { Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d Tue Aug 24 16:11:12 2010 (r211757) @@ -34,7 +34,7 @@ * */ -lockstat:genunix:mutex_enter:adaptive-acquire +lockstat:kernel:mtx_lock:adaptive-acquire { mutex_owned(); exit(1); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d Tue Aug 24 16:11:12 2010 (r211757) @@ -34,7 +34,7 @@ * */ -lockstat:genunix:mutex_enter:adaptive-acquire +lockstat:kernel:mtx_lock:adaptive-acquire { mutex_owned((kmutex_t *)arg0, 99); exit(1); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d Tue Aug 24 16:11:12 2010 (r211757) @@ -36,7 +36,7 @@ */ -lockstat:genunix:mutex_enter:adaptive-acquire +lockstat:kernel:mtx_lock:adaptive-acquire { mutex_type_adaptive(); exit(1); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d Tue Aug 24 16:11:12 2010 (r211757) @@ -35,7 +35,7 @@ */ -lockstat:genunix:mutex_enter:adaptive-acquire +lockstat:kernel:mtx_lock:adaptive-acquire { mutex_type_adaptive((kmutex_t *)arg0, 99); exit(1); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.index.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.index.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.index.d Tue Aug 24 16:11:12 2010 (r211757) @@ -80,7 +80,7 @@ BEGIN i++; end = j = k = 0; - printf("#!/usr/perl5/bin/perl\n\nBEGIN {\n"); + printf("#!/usr/bin/perl\n\nBEGIN {\n"); } tick-1ms Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl Tue Aug 24 16:11:12 2010 (r211757) @@ -50,7 +50,7 @@ my $local = ""; my $remote = ""; my %Broadcast; my $up; -open IFCONFIG, '/usr/sbin/ifconfig -a |' or die "Couldn't run ifconfig: $!\n"; +open IFCONFIG, '/sbin/ifconfig -a |' or die "Couldn't run ifconfig: $!\n"; while () { next if /^lo/; @@ -73,7 +73,7 @@ die "Could not determine local IP addres # Find the first remote host that responds to an icmp echo, # which isn't a local address. # -open PING, "/usr/sbin/ping -ns $Broadcast{$local} 56 $MAXHOSTS |" or +open PING, "/sbin/ping -ns $Broadcast{$local} 56 $MAXHOSTS |" or die "Couldn't run ping: $!\n"; while () { if (/bytes from (.*): / and not defined $Broadcast{$1}) { Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl Tue Aug 24 16:11:12 2010 (r211757) @@ -50,7 +50,7 @@ my $local = ""; my $remote = ""; my %Local; my $up; -open IFCONFIG, '/usr/sbin/ifconfig -a inet6 |' +open IFCONFIG, '/sbin/ifconfig -a inet6 |' or die "Couldn't run ifconfig: $!\n"; while () { next if /^lo/; @@ -74,7 +74,7 @@ exit 1 if $local eq ""; # Find the first remote host that responds to an icmp echo, # which isn't a local address. # -open PING, "/usr/sbin/ping -ns -A inet6 $MULTICAST 56 $MAXHOSTS |" or +open PING, "/sbin/ping -ns -A inet6 $MULTICAST 56 $MAXHOSTS |" or die "Couldn't run ping: $!\n"; while () { if (/bytes from (.*): / and not defined $Local{$1}) { Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -45,7 +45,7 @@ fi dtrace=$1 local=127.0.0.1 -$dtrace -c "/usr/sbin/ping $local 3" -qs /dev/stdin <ip_saddr == "$local" && args[2]->ip_daddr == "$local" && args[4]->ipv4_protocol == IPPROTO_ICMP/ Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -120,6 +120,6 @@ EODTRACE status=$? cd / -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -57,7 +57,7 @@ fi dtrace=$1 local=127.0.0.1 -$dtrace -c "/usr/sbin/ping -U $local" -qs /dev/stdin <ip_saddr == "$source" && args[2]->ip_daddr == "$dest" && Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -123,6 +123,6 @@ EODTRACE status=$? cd / -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $? Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -60,7 +60,7 @@ if (( $? != 0 )); then exit 4 fi -$dtrace -c "/usr/sbin/ping -U $dest" -qs /dev/stdin <ip_saddr == "$local" && args[2]->ip_daddr == "$local" && args[5]->ipv6_nexthdr == IPPROTO_ICMPV6/ Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -62,9 +62,9 @@ fi # # Shake loose any ICMPv6 Neighbor advertisement messages before tracing. # -/usr/sbin/ping $dest 3 > /dev/null 2>&1 +/sbin/ping $dest 3 > /dev/null 2>&1 -$dtrace -c "/usr/sbin/ping $dest 3" -qs /dev/stdin <ip_saddr == "$source" && args[2]->ip_daddr == "$dest" && Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -177,6 +177,6 @@ EODTRACE status=$? cd / -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -167,6 +167,6 @@ EODTRACE status=$? cd / -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -31,7 +31,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -CC=/usr/sfw/bin/gcc +CC=/usr/bin/gcc CFLAGS= doit() Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -39,7 +39,7 @@ dtrace=$1 # LD_NOEXEC_64 variable prevents nm from re-execing itself. # LD_NOEXEC_64=tomeeisrad $dtrace -F -s /dev/stdin -c \ - '/usr/ccs/bin/nm /bin/ls' stat < #include +#include void go(void) { pid_t pid; - (void) posix_spawn(&pid, "/usr/bin/ls", NULL, NULL, NULL, NULL); + (void) posix_spawn(&pid, "/bin/ls", NULL, NULL, NULL, NULL); (void) waitpid(pid, NULL, 0); } Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -88,6 +88,6 @@ script status=$? cd /tmp -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -126,6 +126,6 @@ script status=$? cd /tmp -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -97,6 +97,6 @@ script status=$? cd /tmp -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -149,6 +149,6 @@ script status=$? cd /tmp -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -78,6 +78,6 @@ script status=$? cd / -/usr/bin/rm -rf $DIR +/bin/rm -rf $DIR exit $status Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -33,7 +33,7 @@ fi dtrace=$1 # The output files assumes the timezone is US/Pacific -TZ=US/Pacific +export TZ=America/Los_Angeles $dtrace -s /dev/stdin <exec = 1; } - proc:::exec_success + proc:::exec-success /self->exec/ { exit(0); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -42,7 +42,7 @@ script() self->exec = 1; } - proc:::exec_failure + proc:::exec-failure /self->exec && args[0] == ENOENT/ { exit(0); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -45,7 +45,7 @@ script() self->exec = 1; } - proc:::exec_failure + proc:::exec-failure /self->exec/ { exit(0); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d Tue Aug 24 16:11:12 2010 (r211757) @@ -28,13 +28,13 @@ #pragma D option destructive -proc:::signal_send +proc:::signal-send /args[1]->p_pid == $1 && args[2] == SIGUSR1/ { sent = 1; } -proc:::signal_clear +proc:::signal-clear /pid == $1 && args[0] == SIGUSR1 && sent/ { exit(0); Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -70,11 +70,11 @@ fi grep "D_MACRO_UNUSED" /var/tmp/err.$$.txt >/dev/null 2>&1 if [ $? -ne 0 ]; then print -u2 "Expected error D_MACRO_UNUSED not returned" - /usr/bin/rm -f /var/tmp/err.$$.txt + /bin/rm -f /var/tmp/err.$$.txt exit 1 fi -/usr/bin/rm -f $dfilename -/usr/bin/rm -f /var/tmp/err.$$.txt +/bin/rm -f $dfilename +/bin/rm -f /var/tmp/err.$$.txt exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -42,7 +42,7 @@ fi dtrace=$1 -bname=`/bin/basename $0` +bname=`/usr/bin/basename $0` dfilename=/var/tmp/$bname.$$ @@ -85,6 +85,6 @@ if [[ ${outarray[0]} != 1 || ${outarray[ exit 1 fi -/usr/bin/rm -f $dfilename +/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -43,7 +43,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`/usr/bin/basename $0` dfilename=/var/tmp/$bname.$$.d ## Create .d file @@ -70,14 +70,14 @@ EOF #chmod 555 the .d file chmod 555 $dfilename >/dev/null 2>&1 -if [ &? -ne 0 ]; then +if [ $? -ne 0 ]; then print -u2 "chmod $dfilename failed" exit 1 fi #Get the groupid of the calling process using ps -groupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null` +groupid=`ps -o pid,pgid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -93,5 +93,5 @@ fi #Cleanup leftovers -/usr/bin/rm -f $dfilename +/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -74,5 +74,5 @@ if [ "$output" != "this is test" ]; then exit 1 fi -/usr/bin/rm -f $dfilename +/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/usr/bin/rm -f $dfilename +#/bin/rm -f $dfilename exit 0 Modified: projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh ============================================================================== --- projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh Tue Aug 24 16:08:01 2010 (r211756) +++ projects/sv/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh Tue Aug 24 16:11:12 2010 (r211757) @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 20:38:01 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E648F1065695; Tue, 24 Aug 2010 20:38:01 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D606E8FC16; Tue, 24 Aug 2010 20:38:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OKc1rH087060; Tue, 24 Aug 2010 20:38:01 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OKc1lK087058; Tue, 24 Aug 2010 20:38:01 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242038.o7OKc1lK087058@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 20:38:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211769 - projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 20:38:02 -0000 Author: jeff Date: Tue Aug 24 20:38:01 2010 New Revision: 211769 URL: http://svn.freebsd.org/changeset/base/211769 Log: - Re-enable umem_write_mtt so we actually write the userspace mappings to the card. Sponsored by: Isilon Systems, iX Systems, and Panasas. Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mr.c Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mr.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mr.c Tue Aug 24 19:41:15 2010 (r211768) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mr.c Tue Aug 24 20:38:01 2010 (r211769) @@ -77,7 +77,6 @@ err_free: int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt, struct ib_umem *umem) { -#ifdef __linux__ u64 *pages; struct ib_umem_chunk *chunk; int i, j, k; @@ -118,9 +117,6 @@ int mlx4_ib_umem_write_mtt(struct mlx4_i out: free_page((unsigned long) pages); return err; -#else - return 0; -#endif } static int handle_hugetlb_user_mr(struct ib_pd *pd, struct mlx4_ib_mr *mr, From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 20:40:12 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C56B91065674; Tue, 24 Aug 2010 20:40:12 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9ABD48FC13; Tue, 24 Aug 2010 20:40:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OKeCVq087144; Tue, 24 Aug 2010 20:40:12 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OKeC1O087142; Tue, 24 Aug 2010 20:40:12 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242040.o7OKeC1O087142@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 20:40:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211770 - projects/ofed/head/sys/ofed/include/linux X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 20:40:12 -0000 Author: jeff Date: Tue Aug 24 20:40:12 2010 New Revision: 211770 URL: http://svn.freebsd.org/changeset/base/211770 Log: - Provide a mmap_single interface as well as mmap. mmap_single gives the device pager an offset based on the physical address returned by the linux mmap handler so that the normal mmap handler can simply return the offset as the paddr when a fault happens and we no longer have the context required to resolve the address. Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/sys/ofed/include/linux/linux_compat.c Modified: projects/ofed/head/sys/ofed/include/linux/linux_compat.c ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/linux_compat.c Tue Aug 24 20:38:01 2010 (r211769) +++ projects/ofed/head/sys/ofed/include/linux/linux_compat.c Tue Aug 24 20:40:12 2010 (r211770) @@ -46,6 +46,8 @@ #include #include +#include + MALLOC_DEFINE(M_KMALLOC, "linux", "Linux kmalloc compat"); #include @@ -376,29 +378,48 @@ static int linux_dev_mmap(struct cdev *dev, vm_ooffset_t offset, vm_paddr_t *paddr, int nprot, vm_memattr_t *memattr) { + + /* XXX memattr not honored. */ + *paddr = offset; + return (0); +} + +static int +linux_dev_mmap_single(struct cdev *dev, vm_ooffset_t *offset, + vm_size_t size, struct vm_object **object, int nprot) +{ struct linux_cdev *ldev; struct linux_file *filp; struct file *file; struct vm_area_struct vma; + vm_paddr_t paddr; + vm_page_t m; int error; file = curthread->td_fpop; ldev = dev->si_drv1; if (ldev == NULL) - return (0); + return (ENODEV); + if (size != PAGE_SIZE) + return (EINVAL); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); filp->f_flags = file->f_flag; vma.vm_start = 0; vma.vm_end = PAGE_SIZE; - vma.vm_pgoff = offset / PAGE_SIZE; + vma.vm_pgoff = *offset / PAGE_SIZE; vma.vm_pfn = 0; - vma.vm_page_prot = *memattr; + vma.vm_page_prot = 0; if (filp->f_op->mmap) { error = -filp->f_op->mmap(filp, &vma); if (error == 0) { - *paddr = (vm_paddr_t)vma.vm_pfn << PAGE_SHIFT; - *memattr = vma.vm_page_prot; + paddr = (vm_paddr_t)vma.vm_pfn << PAGE_SHIFT; + *offset = paddr; + m = PHYS_TO_VM_PAGE(paddr); + *object = vm_pager_allocate(OBJT_DEVICE, dev, + PAGE_SIZE, nprot, *offset, curthread->td_ucred); + if (*object == NULL) + return (EINVAL); } } else error = ENODEV; @@ -406,6 +427,8 @@ linux_dev_mmap(struct cdev *dev, vm_ooff return (error); } + + struct cdevsw linuxcdevsw = { .d_version = D_VERSION, .d_flags = D_TRACKCLOSE, @@ -414,6 +437,7 @@ struct cdevsw linuxcdevsw = { .d_read = linux_dev_read, .d_write = linux_dev_write, .d_ioctl = linux_dev_ioctl, + .d_mmap_single = linux_dev_mmap_single, .d_mmap = linux_dev_mmap, .d_poll = linux_dev_poll, }; From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 20:41:05 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8549A1065747; Tue, 24 Aug 2010 20:41:05 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 747038FC1F; Tue, 24 Aug 2010 20:41:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OKf5B1087200; Tue, 24 Aug 2010 20:41:05 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OKf5BV087194; Tue, 24 Aug 2010 20:41:05 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242041.o7OKf5BV087194@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 20:41:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211771 - projects/ofed/head/sys/ofed/include/linux X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 20:41:05 -0000 Author: jeff Date: Tue Aug 24 20:41:05 2010 New Revision: 211771 URL: http://svn.freebsd.org/changeset/base/211771 Log: - Zero all locks before calling the appropriate init function as linux passes uninitialized memory in when locks are created and bsd expects it to be zeroed. This is much more reliable than converting all necessary sites to zero. Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/sys/ofed/include/linux/mutex.h projects/ofed/head/sys/ofed/include/linux/rwlock.h projects/ofed/head/sys/ofed/include/linux/rwsem.h projects/ofed/head/sys/ofed/include/linux/semaphore.h projects/ofed/head/sys/ofed/include/linux/spinlock.h Modified: projects/ofed/head/sys/ofed/include/linux/mutex.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/mutex.h Tue Aug 24 20:40:12 2010 (r211770) +++ projects/ofed/head/sys/ofed/include/linux/mutex.h Tue Aug 24 20:41:05 2010 (r211771) @@ -38,8 +38,6 @@ typedef struct mutex { struct sx sx; } mutex_t; -#define mutex_init(_m) sx_init_flags(&(_m)->sx, \ - "lnxmtx", SX_NOWITNESS) #define mutex_lock(_m) sx_xlock(&(_m)->sx) #define mutex_lock_nested(_m, _s) mutex_lock(_m) #define mutex_lock_interruptible(_m) ({ mutex_lock((_m)); 0; }) @@ -50,4 +48,14 @@ typedef struct mutex { mutex_t lock; \ SX_SYSINIT_FLAGS(lock, &(lock).sx, "lnxmtx", SX_NOWITNESS) +static inline void +linux_mutex_init(mutex_t *m) +{ + + memset(&m->sx, 0, sizeof(m->sx)); + sx_init_flags(&m->sx, "lnxmtx", SX_NOWITNESS); +} + +#define mutex_init linux_mutex_init + #endif /* _LINUX_MUTEX_H_ */ Modified: projects/ofed/head/sys/ofed/include/linux/rwlock.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/rwlock.h Tue Aug 24 20:40:12 2010 (r211770) +++ projects/ofed/head/sys/ofed/include/linux/rwlock.h Tue Aug 24 20:41:05 2010 (r211771) @@ -35,7 +35,6 @@ typedef struct { struct rwlock rw; } rwlock_t; -#define rwlock_init(_l) rw_init_flags(&(_l)->rw, "lnxrw", RW_NOWITNESS) #define read_lock(_l) rw_rlock(&(_l)->rw) #define write_lock(_l) rw_wlock(&(_l)->rw) #define read_unlock(_l) rw_runlock(&(_l)->rw) @@ -53,4 +52,12 @@ typedef struct { #define write_unlock_irqrestore(lock, flags) \ do { write_unlock(lock); } while (0) +static inline void +rwlock_init(rwlock_t *lock) +{ + + memset(&lock->rw, 0, sizeof(lock->rw)); + rw_init_flags(&lock->rw, "lnxrw", RW_NOWITNESS); +} + #endif /* _LINUX_RWLOCK_H_ */ Modified: projects/ofed/head/sys/ofed/include/linux/rwsem.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/rwsem.h Tue Aug 24 20:40:12 2010 (r211770) +++ projects/ofed/head/sys/ofed/include/linux/rwsem.h Tue Aug 24 20:41:05 2010 (r211771) @@ -36,8 +36,6 @@ struct rw_semaphore { struct sx sx; }; -#define init_rwsem(_rw) sx_init_flags(&(_rw)->sx, \ - "lnxrwsem", SX_NOWITNESS) #define down_write(_rw) sx_xlock(&(_rw)->sx) #define up_write(_rw) sx_xunlock(&(_rw)->sx) #define down_read(_rw) sx_slock(&(_rw)->sx) @@ -47,4 +45,12 @@ struct rw_semaphore { #define downgrade_write(_rw) sx_downgrade(&(_rw)->sx) #define down_read_nested(_rw, _sc) down_read(_rw) +static inline void +init_rwsem(struct rw_semaphore *rw) +{ + + memset(&rw->sx, 0, sizeof(rw->sx)); + sx_init_flags(&rw->sx, "lnxrwsem", SX_NOWITNESS); +} + #endif /* _LINUX_RWSEM_H_ */ Modified: projects/ofed/head/sys/ofed/include/linux/semaphore.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/semaphore.h Tue Aug 24 20:40:12 2010 (r211770) +++ projects/ofed/head/sys/ofed/include/linux/semaphore.h Tue Aug 24 20:41:05 2010 (r211771) @@ -49,6 +49,7 @@ static inline void linux_sema_init(struct semaphore *sem, int val) { + memset(&sem->sema, 0, sizeof(sem->sema)); sema_init(&sem->sema, val, "lnxsema"); } @@ -56,6 +57,7 @@ static inline void init_MUTEX(struct semaphore *sem) { + memset(&sem->sema, 0, sizeof(sem->sema)); sema_init(&sem->sema, 1, "lnxsema"); } Modified: projects/ofed/head/sys/ofed/include/linux/spinlock.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/spinlock.h Tue Aug 24 20:40:12 2010 (r211770) +++ projects/ofed/head/sys/ofed/include/linux/spinlock.h Tue Aug 24 20:41:05 2010 (r211771) @@ -42,8 +42,6 @@ typedef struct { struct mtx m; } spinlock_t; -#define spin_lock_init(_l) mtx_init(&(_l)->m, "lnxspin", NULL, \ - MTX_DEF | MTX_NOWITNESS) #define spin_lock(_l) mtx_lock(&(_l)->m) #define spin_unlock(_l) mtx_unlock(&(_l)->m) #define spin_lock_nested(_l, _n) mtx_lock_flags(&(_l)->m, MTX_DUPOK) @@ -54,6 +52,14 @@ typedef struct { #define spin_unlock_irqrestore(lock, flags) \ do { spin_unlock(lock); } while (0) +static inline void +spin_lock_init(spinlock_t *lock) +{ + + memset(&lock->m, 0, sizeof(lock->m)); + mtx_init(&lock->m, "lnxspin", NULL, MTX_DEF | MTX_NOWITNESS); +} + #define DEFINE_SPINLOCK(lock) \ spinlock_t lock; \ MTX_SYSINIT(lock, &(lock).m, "lnxspin", MTX_DEF) From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 20:45:21 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77C1E1065696; Tue, 24 Aug 2010 20:45:21 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 676398FC08; Tue, 24 Aug 2010 20:45:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OKjLjg087321; Tue, 24 Aug 2010 20:45:21 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OKjLQk087319; Tue, 24 Aug 2010 20:45:21 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242045.o7OKjLQk087319@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 20:45:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211772 - projects/ofed/head/contrib/ofed/libmlx4/src X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 20:45:21 -0000 Author: jeff Date: Tue Aug 24 20:45:21 2010 New Revision: 211772 URL: http://svn.freebsd.org/changeset/base/211772 Log: - Use __LP64__ as a mostly correct check for 64bit architectures rather than SIZEOF_LONG. We can't simply use sizeof(long) here as that is not available to the preprocessor. Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/contrib/ofed/libmlx4/src/doorbell.h Modified: projects/ofed/head/contrib/ofed/libmlx4/src/doorbell.h ============================================================================== --- projects/ofed/head/contrib/ofed/libmlx4/src/doorbell.h Tue Aug 24 20:41:05 2010 (r211771) +++ projects/ofed/head/contrib/ofed/libmlx4/src/doorbell.h Tue Aug 24 20:45:21 2010 (r211772) @@ -33,8 +33,7 @@ #ifndef DOORBELL_H #define DOORBELL_H -#if SIZEOF_LONG == 8 - +#ifdef __LP64__ #if __BYTE_ORDER == __LITTLE_ENDIAN # define MLX4_PAIR_TO_64(val) ((uint64_t) val[1] << 32 | val[0]) #elif __BYTE_ORDER == __BIG_ENDIAN From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 20:50:04 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8D6710656AD; Tue, 24 Aug 2010 20:50:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 80BBE8FC23; Tue, 24 Aug 2010 20:50:04 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 1441046B0D; Tue, 24 Aug 2010 16:50:04 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id B19668A04E; Tue, 24 Aug 2010 16:50:02 -0400 (EDT) From: John Baldwin To: Jeff Roberson Date: Tue, 24 Aug 2010 16:49:12 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201008242040.o7OKeC1O087142@svn.freebsd.org> In-Reply-To: <201008242040.o7OKeC1O087142@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201008241649.12997.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Tue, 24 Aug 2010 16:50:02 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r211770 - projects/ofed/head/sys/ofed/include/linux X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 20:50:04 -0000 On Tuesday, August 24, 2010 4:40:12 pm Jeff Roberson wrote: > Author: jeff > Date: Tue Aug 24 20:40:12 2010 > New Revision: 211770 > URL: http://svn.freebsd.org/changeset/base/211770 > > Log: > - Provide a mmap_single interface as well as mmap. mmap_single gives > the device pager an offset based on the physical address returned by > the linux mmap handler so that the normal mmap handler can simply > return the offset as the paddr when a fault happens and we no longer > have the context required to resolve the address. You could preserve the memory attributes by using the attribute from vma to set the memory attribute for the VM object you create. I'm not sure how well the system will cope with having multiple OBJT_DEVICE objects for a single cdev btw. You could use an OBJT_SG object instead if that proves to be a problem. It would also avoid the d_mmap callback at page fault time. -- John Baldwin From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 21:25:59 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41D851065698; Tue, 24 Aug 2010 21:25:59 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3162B8FC1C; Tue, 24 Aug 2010 21:25:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OLPx8n088465; Tue, 24 Aug 2010 21:25:59 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OLPx2c088463; Tue, 24 Aug 2010 21:25:59 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242125.o7OLPx2c088463@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 21:25:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211776 - projects/ofed/head/contrib/ofed/libibverbs/src X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 21:25:59 -0000 Author: jeff Date: Tue Aug 24 21:25:58 2010 New Revision: 211776 URL: http://svn.freebsd.org/changeset/base/211776 Log: - Fix the ibdev_path, it is not used to open the actual device as I had thought. The sysctl path is appropriate. Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/contrib/ofed/libibverbs/src/init.c Modified: projects/ofed/head/contrib/ofed/libibverbs/src/init.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/src/init.c Tue Aug 24 21:16:37 2010 (r211775) +++ projects/ofed/head/contrib/ofed/libibverbs/src/init.c Tue Aug 24 21:25:58 2010 (r211776) @@ -182,7 +182,8 @@ static int find_sysfs_devs(void) continue; snprintf(sysfs_dev->ibdev_path, sizeof sysfs_dev->ibdev_path, - "/dev/%s", sysfs_dev->ibdev_name); + "%s/class/infiniband/%s", ibv_get_sysfs_path(), + sysfs_dev->ibdev_name); sysfs_dev->next = sysfs_dev_list; sysfs_dev->have_driver = 0; @@ -385,19 +386,13 @@ static struct ibv_device *try_driver(str struct ibv_sysfs_dev *sysfs_dev) { struct ibv_device *dev; - char *path; char value[8]; dev = driver->init_func(sysfs_dev->sysfs_path, sysfs_dev->abi_ver); if (!dev) return NULL; - if (asprintf(&path, "/sys/class/infiniband/%s", - strrchr(sysfs_dev->ibdev_path, '/')+1) < 0) { - dev->node_type = IBV_NODE_UNKNOWN; - goto out; - } - if (ibv_read_sysfs_file(path, "node_type", value, sizeof value) < 0) { + if (ibv_read_sysfs_file(sysfs_dev->ibdev_path, "node_type", value, sizeof value) < 0) { fprintf(stderr, PFX "Warning: no node_type attr under %s.\n", sysfs_dev->ibdev_path); dev->node_type = IBV_NODE_UNKNOWN; @@ -406,7 +401,6 @@ static struct ibv_device *try_driver(str if (dev->node_type < IBV_NODE_CA || dev->node_type > IBV_NODE_RNIC) dev->node_type = IBV_NODE_UNKNOWN; } - free(path); out: switch (dev->node_type) { From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 21:27:02 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A88DA1065697; Tue, 24 Aug 2010 21:27:02 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 96F048FC1E; Tue, 24 Aug 2010 21:27:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OLR2Zr088541; Tue, 24 Aug 2010 21:27:02 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OLR2q9088535; Tue, 24 Aug 2010 21:27:02 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242127.o7OLR2q9088535@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 21:27:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211777 - projects/ofed/head/contrib/ofed/libibverbs/examples X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 21:27:02 -0000 Author: jeff Date: Tue Aug 24 21:27:02 2010 New Revision: 211777 URL: http://svn.freebsd.org/changeset/base/211777 Log: - Port the test programs to bsd and allow them to use an inet4 socket to communicate parameters before establishing an actual infiniband connection. This works around not having ipoib yet. - Add a Makefile to complile the various verbs tests. Sponsored by: Isilon Systems, iX Systems, and Panasas Added: projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Added: projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile Tue Aug 24 21:27:02 2010 (r211777) @@ -0,0 +1,28 @@ +CFLAGS= -I../../../../sys/ofed/include -libverbs -lmlx4 -lmthca -pthread + +all: asyncwatch devinfo device_list rc_pingpong srq_pingpong uc_pingpong ud_pingpong + +clean: + rm asyncwatch devinfo device_list rc_pingpong srq_pingpong uc_pingpong ud_pingpong + +asyncwatch: + gcc -o asyncwatch asyncwatch.c ${CFLAGS} + +devinfo: + gcc -o devinfo devinfo.c ${CFLAGS} + +device_list: + gcc -o device_list device_list.c ${CFLAGS} + +rc_pingpong: + gcc -o rc_pingpong rc_pingpong.c pingpong.c ${CFLAGS} + +srq_pingpong: + gcc -o srq_pingpong srq_pingpong.c pingpong.c ${CFLAGS} + +uc_pingpong: + gcc -o uc_pingpong uc_pingpong.c pingpong.c ${CFLAGS} + +ud_pingpong: + gcc -o ud_pingpong ud_pingpong.c pingpong.c ${CFLAGS} + Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h Tue Aug 24 21:27:02 2010 (r211777) @@ -33,6 +33,8 @@ #ifndef IBV_PINGPONG_H #define IBV_PINGPONG_H +#include + #include enum ibv_mtu pp_mtu_to_enum(int mtu); Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include #include @@ -131,7 +131,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -202,7 +202,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -287,6 +287,8 @@ out: return rem_dest; } +#include + static struct pingpong_context *pp_init_ctx(struct ibv_device *ib_dev, int size, int rx_depth, int port, int use_event) @@ -300,7 +302,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -537,7 +539,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -583,7 +585,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -139,7 +138,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -223,7 +222,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -335,7 +334,7 @@ static struct pingpong_context *pp_init_ ctx->num_qp = num_qp; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -612,7 +611,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -662,7 +661,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -119,7 +118,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -190,7 +189,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -288,7 +287,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -525,7 +524,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -571,7 +570,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -119,7 +118,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -189,7 +188,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -287,7 +286,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size + 40); + ctx->buf = malloc(roundup(size + 40, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -532,7 +531,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -570,7 +569,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 23:16:21 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D74610656AC; Tue, 24 Aug 2010 23:16:21 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D3C98FC18; Tue, 24 Aug 2010 23:16:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7ONGLNa092464; Tue, 24 Aug 2010 23:16:21 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7ONGLbc092462; Tue, 24 Aug 2010 23:16:21 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008242316.o7ONGLbc092462@svn.freebsd.org> From: Attilio Rao Date: Tue, 24 Aug 2010 23:16:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211783 - projects/sv/usr.sbin/netdumpsrv X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 23:16:21 -0000 Author: attilio Date: Tue Aug 24 23:16:21 2010 New Revision: 211783 URL: http://svn.freebsd.org/changeset/base/211783 Log: Fix manpage. Submitted by: brueffer Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 Modified: projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 ============================================================================== --- projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 Tue Aug 24 23:14:02 2010 (r211782) +++ projects/sv/usr.sbin/netdumpsrv/netdumpsrv.8 Tue Aug 24 23:16:21 2010 (r211783) @@ -38,8 +38,10 @@ .Sh DESCRIPTION The .Nm -utility listens on a UDP socket for incoming connections, -from a FreeBSD kernel core dumping over the network. +utility listens on a UDP socket for incoming connections +from a +.Fx +kernel core dumping over the network. .Pp The following options are available: .Bl -tag -width indent @@ -67,9 +69,8 @@ the info file name and the core dump fil .El .Sh SEE ALSO .Xr dumpon 8 -.El .Sh HISTORY The .Nm utility appeared in -.Bx Free 9.0 . +.Fx 9.0 . From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 00:05:15 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F51D10656A3; Wed, 25 Aug 2010 00:05:15 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6AE8FC08; Wed, 25 Aug 2010 00:05:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P05FjF093708; Wed, 25 Aug 2010 00:05:15 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P05EOT093684; Wed, 25 Aug 2010 00:05:14 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008250005.o7P05EOT093684@svn.freebsd.org> From: Attilio Rao Date: Wed, 25 Aug 2010 00:05:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211788 - in projects/sv: . cddl/contrib/dtracetoolkit contrib/top lib lib/libc lib/libc/compat-43 lib/libc/gen lib/libc/locale lib/libc/quad lib/libc/softfloat lib/libc/stdlib lib/libc... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 00:05:15 -0000 Author: attilio Date: Wed Aug 25 00:05:14 2010 New Revision: 211788 URL: http://svn.freebsd.org/changeset/base/211788 Log: MFC @ 211787 Replaced: projects/sv/cddl/contrib/dtracetoolkit/ - copied from r211787, head/cddl/contrib/dtracetoolkit/ Deleted: projects/sv/lib/libthr/arch/powerpc64/ Modified: projects/sv/Makefile.inc1 projects/sv/lib/Makefile projects/sv/lib/libc/Makefile projects/sv/lib/libc/compat-43/Makefile.inc projects/sv/lib/libc/gen/Makefile.inc projects/sv/lib/libc/locale/Makefile.inc projects/sv/lib/libc/quad/Makefile.inc projects/sv/lib/libc/softfloat/Makefile.inc projects/sv/lib/libc/stdlib/Makefile.inc projects/sv/lib/libc/string/Makefile.inc projects/sv/lib/libc/sys/Makefile.inc projects/sv/lib/libthr/Makefile projects/sv/lib/libthr/arch/powerpc/Makefile.inc projects/sv/lib/libthr/arch/powerpc/include/pthread_md.h projects/sv/libexec/rtld-elf/Makefile projects/sv/share/man/man9/locking.9 projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/sv/sys/dev/age/if_age.c projects/sv/sys/dev/ed/if_ed_isa.c projects/sv/sys/dev/vr/if_vr.c projects/sv/sys/pci/if_rl.c projects/sv/sys/x86/x86/local_apic.c projects/sv/usr.sbin/acpi/acpiconf/acpiconf.c Directory Properties: projects/sv/ (props changed) projects/sv/cddl/contrib/opensolaris/ (props changed) projects/sv/contrib/bind9/ (props changed) projects/sv/contrib/ee/ (props changed) projects/sv/contrib/expat/ (props changed) projects/sv/contrib/file/ (props changed) projects/sv/contrib/gdb/ (props changed) projects/sv/contrib/gdtoa/ (props changed) projects/sv/contrib/gnu-sort/ (props changed) projects/sv/contrib/groff/ (props changed) projects/sv/contrib/less/ (props changed) projects/sv/contrib/libpcap/ (props changed) projects/sv/contrib/llvm/ (props changed) projects/sv/contrib/llvm/tools/clang/ (props changed) projects/sv/contrib/ncurses/ (props changed) projects/sv/contrib/netcat/ (props changed) projects/sv/contrib/ntp/ (props changed) projects/sv/contrib/one-true-awk/ (props changed) projects/sv/contrib/openbsm/ (props changed) projects/sv/contrib/openpam/ (props changed) projects/sv/contrib/pf/ (props changed) projects/sv/contrib/sendmail/ (props changed) projects/sv/contrib/tcpdump/ (props changed) projects/sv/contrib/tcsh/ (props changed) projects/sv/contrib/top/ (props changed) projects/sv/contrib/top/install-sh (props changed) projects/sv/contrib/tzcode/stdtime/ (props changed) projects/sv/contrib/tzcode/zic/ (props changed) projects/sv/contrib/tzdata/ (props changed) projects/sv/contrib/wpa/ (props changed) projects/sv/crypto/openssh/ (props changed) projects/sv/crypto/openssl/ (props changed) projects/sv/lib/libc/ (props changed) projects/sv/lib/libc/stdtime/ (props changed) projects/sv/lib/libutil/ (props changed) projects/sv/lib/libz/ (props changed) projects/sv/sbin/ (props changed) projects/sv/sbin/ipfw/ (props changed) projects/sv/share/mk/bsd.arch.inc.mk (props changed) projects/sv/share/zoneinfo/ (props changed) projects/sv/sys/ (props changed) projects/sv/sys/amd64/include/xen/ (props changed) projects/sv/sys/cddl/contrib/opensolaris/ (props changed) projects/sv/sys/contrib/dev/acpica/ (props changed) projects/sv/sys/contrib/pf/ (props changed) projects/sv/sys/contrib/x86emu/ (props changed) projects/sv/sys/dev/xen/xenpci/ (props changed) projects/sv/usr.bin/csup/ (props changed) projects/sv/usr.bin/procstat/ (props changed) projects/sv/usr.sbin/zic/ (props changed) Modified: projects/sv/Makefile.inc1 ============================================================================== --- projects/sv/Makefile.inc1 Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/Makefile.inc1 Wed Aug 25 00:05:14 2010 (r211788) @@ -1131,12 +1131,10 @@ _prereq_libs= gnu/lib/libssp/libssp_nons # all shared libraries for ELF. # _startup_libs= gnu/lib/csu -.if exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) -_startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf +.if exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}-elf) +_startup_libs+= lib/csu/${MACHINE_ARCH}-elf .elif exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) _startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf -.elif exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) -_startup_libs+= lib/csu/${MACHINE_ARCH} .else _startup_libs+= lib/csu/${MACHINE_CPUARCH} .endif Modified: projects/sv/lib/Makefile ============================================================================== --- projects/sv/lib/Makefile Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/Makefile Wed Aug 25 00:05:14 2010 (r211788) @@ -112,7 +112,9 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_bind} \ ${_clang} -.if exists(${.CURDIR}/csu/${MACHINE_CPUARCH}-elf) +.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf) +_csu=csu/${MACHINE_ARCH}-elf +.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}-elf) _csu=csu/${MACHINE_CPUARCH}-elf .elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile) _csu=csu/${MACHINE_CPUARCH} Modified: projects/sv/lib/libc/Makefile ============================================================================== --- projects/sv/lib/libc/Makefile Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/Makefile Wed Aug 25 00:05:14 2010 (r211788) @@ -5,6 +5,15 @@ SHLIBDIR?= /lib .include +# We have to special case powerpc and powerpc64, since they mostly have +# the same source implementation. libc is very different due to large +# ABI differences. +.if ${MACHINE_ARCH} == "powerpc" +LIBC_ARCH=${MACHINE_ARCH} +.else +LIBC_ARCH=${MACHINE_CPUARCH} +.endif + # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does # not contain these strings, add -DSTRIP_FBSDID (see ) to CFLAGS @@ -15,7 +24,7 @@ LIB=c SHLIB_MAJOR= 7 WARNS?= 2 CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include -CFLAGS+=-I${.CURDIR}/${MACHINE_CPUARCH} +CFLAGS+=-I${.CURDIR}/${LIBC_ARCH} CFLAGS+=-DNLS CLEANFILES+=tags INSTALL_PIC_ARCHIVE= @@ -36,7 +45,7 @@ MDASM= MIASM= NOASM= -.include "${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc" +.include "${.CURDIR}/${LIBC_ARCH}/Makefile.inc" .include "${.CURDIR}/db/Makefile.inc" .include "${.CURDIR}/compat-43/Makefile.inc" .include "${.CURDIR}/gdtoa/Makefile.inc" @@ -49,14 +58,14 @@ NOASM= .include "${.CURDIR}/net/Makefile.inc" .include "${.CURDIR}/nls/Makefile.inc" .include "${.CURDIR}/posix1e/Makefile.inc" -.if ${MACHINE_CPUARCH} != "amd64" && \ - ${MACHINE_CPUARCH} != "ia64" && \ - ${MACHINE_ARCH} != "powerpc64" && \ - ${MACHINE_CPUARCH} != "sparc64" && \ - ${MACHINE_CPUARCH} != "mips" +.if ${LIBC_ARCH} != "amd64" && \ + ${LIBC_ARCH} != "ia64" && \ + ${LIBC_ARCH} != "powerpc64" && \ + ${LIBC_ARCH} != "sparc64" && \ + ${LIBC_ARCH} != "mips" .include "${.CURDIR}/quad/Makefile.inc" .endif -.if ${MACHINE_ARCH} == "mips" && \ +.if ${LIBC_ARCH} == "mips" && \ (!defined(TARGET_ABI) || ${TARGET_ABI} == "o32") .include "${.CURDIR}/quad/Makefile.inc" .endif @@ -70,7 +79,7 @@ NOASM= .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" -.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "mips" +.if ${LIBC_ARCH} == "arm" || ${LIBC_ARCH} == "mips" .include "${.CURDIR}/softfloat/Makefile.inc" .endif .if ${MK_NIS} != "no" @@ -115,14 +124,14 @@ KQSRCS= adddi3.c anddi3.c ashldi3.c ashr KSRCS= bcmp.c ffs.c ffsl.c fls.c flsl.c index.c mcount.c rindex.c \ strcat.c strcmp.c strcpy.c strlen.c strncpy.c -libkern: libkern.gen libkern.${MACHINE_CPUARCH} +libkern: libkern.gen libkern.${LIBC_ARCH} libkern.gen: ${KQSRCS} ${KSRCS} cp -p ${.CURDIR}/quad/quad.h ${.ALLSRC} ${DESTDIR}/sys/libkern -libkern.${MACHINE_CPUARCH}:: ${KMSRCS} +libkern.${LIBC_ARCH}:: ${KMSRCS} .if defined(KMSRCS) && !empty(KMSRCS) - cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${MACHINE_CPUARCH} + cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${LIBC_ARCH} .endif .include Modified: projects/sv/lib/libc/compat-43/Makefile.inc ============================================================================== --- projects/sv/lib/libc/compat-43/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/compat-43/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,7 +2,7 @@ # $FreeBSD$ # compat-43 sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/compat-43 ${.CURDIR}/compat-43 +.PATH: ${.CURDIR}/${LIBC_ARCH}/compat-43 ${.CURDIR}/compat-43 SRCS+= creat.c gethostid.c getwd.c killpg.c sethostid.c setpgrp.c \ setrgid.c setruid.c sigcompat.c Modified: projects/sv/lib/libc/gen/Makefile.inc ============================================================================== --- projects/sv/lib/libc/gen/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/gen/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,7 +2,7 @@ # $FreeBSD$ # machine-independent gen sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/gen ${.CURDIR}/gen +.PATH: ${.CURDIR}/${LIBC_ARCH}/gen ${.CURDIR}/gen SRCS+= __getosreldate.c __xuname.c \ _once_stub.c _pthread_stubs.c _rand48.c _spinlock_stub.c \ @@ -38,9 +38,7 @@ SRCS+= __getosreldate.c __xuname.c \ SYM_MAPS+=${.CURDIR}/gen/Symbol.map # machine-dependent gen sources -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/gen/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/gen/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/gen/Makefile.inc" MAN+= alarm.3 arc4random.3 \ basename.3 check_utility_compat.3 clock.3 \ Modified: projects/sv/lib/libc/locale/Makefile.inc ============================================================================== --- projects/sv/lib/libc/locale/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/locale/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,7 +2,7 @@ # $FreeBSD$ # locale sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/locale ${.CURDIR}/locale +.PATH: ${.CURDIR}/${LIBC_ARCH}/locale ${.CURDIR}/locale SRCS+= ascii.c big5.c btowc.c collate.c collcmp.c euc.c fix_grouping.c \ gb18030.c gb2312.c gbk.c isctype.c iswctype.c \ Modified: projects/sv/lib/libc/quad/Makefile.inc ============================================================================== --- projects/sv/lib/libc/quad/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/quad/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,9 +2,9 @@ # $FreeBSD$ # Quad support, if needed -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/quad ${.CURDIR}/quad +.PATH: ${.CURDIR}/${LIBC_ARCH}/quad ${.CURDIR}/quad -.if ${MACHINE_CPUARCH} == "i386" +.if ${LIBC_ARCH} == "i386" SRCS+= cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c Modified: projects/sv/lib/libc/softfloat/Makefile.inc ============================================================================== --- projects/sv/lib/libc/softfloat/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/softfloat/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,10 +2,10 @@ # $FreeBSD$ SOFTFLOAT_BITS?=64 -.PATH: ${MACHINE_CPUARCH}/softfloat \ +.PATH: ${LIBC_ARCH}/softfloat \ ${.CURDIR}/softfloat/bits${SOFTFLOAT_BITS} ${.CURDIR}/softfloat -CFLAGS+= -I${.CURDIR}/${MACHINE_CPUARCH}/softfloat -I${.CURDIR}/softfloat +CFLAGS+= -I${.CURDIR}/${LIBC_ARCH}/softfloat -I${.CURDIR}/softfloat CFLAGS+= -DSOFTFLOAT_FOR_GCC SRCS+= softfloat.c Modified: projects/sv/lib/libc/stdlib/Makefile.inc ============================================================================== --- projects/sv/lib/libc/stdlib/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/stdlib/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,7 +2,7 @@ # $FreeBSD$ # machine-independent stdlib sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/stdlib ${.CURDIR}/stdlib +.PATH: ${.CURDIR}/${LIBC_ARCH}/stdlib ${.CURDIR}/stdlib MISRCS+=_Exit.c a64l.c abort.c abs.c atexit.c atof.c atoi.c atol.c atoll.c \ bsearch.c div.c exit.c getenv.c getopt.c getopt_long.c \ @@ -16,7 +16,7 @@ MISRCS+=_Exit.c a64l.c abort.c abs.c ate SYM_MAPS+= ${.CURDIR}/stdlib/Symbol.map # machine-dependent stdlib sources -.sinclude "${.CURDIR}/${MACHINE_CPUARCH}/stdlib/Makefile.inc" +.sinclude "${.CURDIR}/${LIBC_ARCH}/stdlib/Makefile.inc" MAN+= a64l.3 abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 bsearch.3 \ div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 \ Modified: projects/sv/lib/libc/string/Makefile.inc ============================================================================== --- projects/sv/lib/libc/string/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/string/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -1,7 +1,7 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 # $FreeBSD$ -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/string ${.CURDIR}/string +.PATH: ${.CURDIR}/${LIBC_ARCH}/string ${.CURDIR}/string CFLAGS+= -I${.CURDIR}/locale @@ -26,9 +26,7 @@ SYM_MAPS+= ${.CURDIR}/string/Symbol.map # machine-dependent string sources -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/string/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/string/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/string/Makefile.inc" MAN+= bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \ memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 strcasecmp.3 strcat.3 \ Modified: projects/sv/lib/libc/sys/Makefile.inc ============================================================================== --- projects/sv/lib/libc/sys/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libc/sys/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -2,7 +2,7 @@ # $FreeBSD$ # sys sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/sys ${.CURDIR}/sys +.PATH: ${.CURDIR}/${LIBC_ARCH}/sys ${.CURDIR}/sys # Include the generated makefile containing the *complete* list # of syscall names in MIASM. @@ -13,9 +13,7 @@ # MDASM names override the default syscall names in MIASM. # NOASM will prevent the default syscall code from being generated. # -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/sys/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/sys/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/sys/Makefile.inc" # Sources common to both syscall interfaces: SRCS+= stack_protector.c stack_protector_compat.c __error.c Modified: projects/sv/lib/libthr/Makefile ============================================================================== --- projects/sv/lib/libthr/Makefile Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libthr/Makefile Wed Aug 25 00:05:14 2010 (r211788) @@ -19,7 +19,7 @@ WARNS?= 3 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ -I${.CURDIR}/../../include -CFLAGS+=-I${.CURDIR}/arch/${MACHINE_ARCH}/include +CFLAGS+=-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include CFLAGS+=-I${.CURDIR}/sys CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH} @@ -38,7 +38,7 @@ CFLAGS+=-D_PTHREADS_INVARIANTS PRECIOUSLIB= -.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" +.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" .include "${.CURDIR}/sys/Makefile.inc" .include "${.CURDIR}/thread/Makefile.inc" Modified: projects/sv/lib/libthr/arch/powerpc/Makefile.inc ============================================================================== --- projects/sv/lib/libthr/arch/powerpc/Makefile.inc Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libthr/arch/powerpc/Makefile.inc Wed Aug 25 00:05:14 2010 (r211788) @@ -1,5 +1,5 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH} SRCS+= pthread_md.c Modified: projects/sv/lib/libthr/arch/powerpc/include/pthread_md.h ============================================================================== --- projects/sv/lib/libthr/arch/powerpc/include/pthread_md.h Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/lib/libthr/arch/powerpc/include/pthread_md.h Wed Aug 25 00:05:14 2010 (r211788) @@ -39,12 +39,16 @@ #define CPU_SPINWAIT #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) +#ifdef __powerpc64__ +#define TP_OFFSET 0x7010 +#else #define TP_OFFSET 0x7008 +#endif /* * Variant I tcb. The structure layout is fixed, don't blindly * change it. - * %r2 points to end of the structure. + * %r2 (32-bit) or %r13 (64-bit) points to end of the structure. */ struct tcb { void *tcb_dtv; @@ -57,7 +61,11 @@ void _tcb_dtor(struct tcb *); static __inline void _tcb_set(struct tcb *tcb) { +#ifdef __powerpc64__ + register uint8_t *_tp __asm__("%r13"); +#else register uint8_t *_tp __asm__("%r2"); +#endif __asm __volatile("mr %0,%1" : "=r"(_tp) : "r"((uint8_t *)tcb + TP_OFFSET)); @@ -66,7 +74,11 @@ _tcb_set(struct tcb *tcb) static __inline struct tcb * _tcb_get(void) { +#ifdef __powerpc64__ + register uint8_t *_tp __asm__("%r13"); +#else register uint8_t *_tp __asm__("%r2"); +#endif return ((struct tcb *)(_tp - TP_OFFSET)); } Modified: projects/sv/libexec/rtld-elf/Makefile ============================================================================== --- projects/sv/libexec/rtld-elf/Makefile Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/libexec/rtld-elf/Makefile Wed Aug 25 00:05:14 2010 (r211788) @@ -10,7 +10,12 @@ SRCS= rtld_start.S \ MAN= rtld.1 CSTD?= gnu99 CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD -CFLAGS+= -I${.CURDIR}/${MACHINE_CPUARCH} -I${.CURDIR} +.if exists(${.CURDIR}/${MACHINE_ARCH}) +RTLD_ARCH= ${MACHINE_ARCH} +.else +RTLD_ARCH= ${MACHINE_CPUARCH} +.endif +CFLAGS+= -I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR} .if ${MACHINE_ARCH} == "powerpc64" LDFLAGS+= -nostdlib -e _rtld_start .else @@ -39,15 +44,13 @@ LDFLAGS+= -Wl,--version-script=${VERSION ${PROG}: ${VERSION_MAP} -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map) -SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map +.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map) +SYMBOL_MAPS+= ${.CURDIR}/${RTLD_ARCH}/Symbol.map .endif .endif .endif -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc" # Since moving rtld-elf to /libexec, we need to create a symlink. # Fixup the existing binary that's there so we can symlink over it. @@ -56,7 +59,7 @@ beforeinstall: -chflags noschg ${DESTDIR}/usr/libexec/${PROG} .endif -.PATH: ${.CURDIR}/${MACHINE_CPUARCH} +.PATH: ${.CURDIR}/${RTLD_ARCH} .include .include Modified: projects/sv/share/man/man9/locking.9 ============================================================================== --- projects/sv/share/man/man9/locking.9 Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/share/man/man9/locking.9 Wed Aug 25 00:05:14 2010 (r211788) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2010 +.Dd August 24, 2010 .Dt LOCKING 9 .Os .Sh NAME @@ -334,7 +334,7 @@ At this time this is a rather easy to re .Em "Context:" Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock Ta sleep .Xc .It interrupt filter: Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no -.It ithread: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&ok Ta \&no +.It interrupt thread: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&ok Ta \&no .It callout: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&no Ta \&no .It syscall: Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok .El Modified: projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Wed Aug 25 00:05:14 2010 (r211788) @@ -2317,12 +2317,12 @@ arc_reclaim_thread(void *dummy __unused) if (arc_eviction_list != NULL) arc_do_user_evicts(); - if (arc_reclaim_needed()) { - needfree = 0; #ifdef _KERNEL + if (needfree) { + needfree = 0; wakeup(&needfree); -#endif } +#endif /* block until needed, or one second, whichever is shorter */ CALLB_CPR_SAFE_BEGIN(&cpr); Modified: projects/sv/sys/dev/age/if_age.c ============================================================================== --- projects/sv/sys/dev/age/if_age.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/dev/age/if_age.c Wed Aug 25 00:05:14 2010 (r211788) @@ -1781,6 +1781,7 @@ age_watchdog(struct age_softc *sc) if ((sc->age_flags & AGE_FLAG_LINK) == 0) { if_printf(sc->age_ifp, "watchdog timeout (missed link)\n"); ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; age_init_locked(sc); return; } @@ -1793,6 +1794,7 @@ age_watchdog(struct age_softc *sc) } if_printf(sc->age_ifp, "watchdog timeout\n"); ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; age_init_locked(sc); if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) taskqueue_enqueue(sc->age_tq, &sc->age_tx_task); @@ -1817,8 +1819,10 @@ age_ioctl(struct ifnet *ifp, u_long cmd, else if (ifp->if_mtu != ifr->ifr_mtu) { AGE_LOCK(sc); ifp->if_mtu = ifr->ifr_mtu; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; age_init_locked(sc); + } AGE_UNLOCK(sc); } break; @@ -2165,6 +2169,7 @@ age_int_task(void *arg, int pending) if ((status & INTR_DMA_WR_TO_RST) != 0) device_printf(sc->age_dev, "DMA write error! -- resetting\n"); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; age_init_locked(sc); } if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) @@ -2529,6 +2534,9 @@ age_init_locked(struct age_softc *sc) ifp = sc->age_ifp; mii = device_get_softc(sc->age_miibus); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + return; + /* * Cancel any pending I/O. */ Modified: projects/sv/sys/dev/ed/if_ed_isa.c ============================================================================== --- projects/sv/sys/dev/ed/if_ed_isa.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/dev/ed/if_ed_isa.c Wed Aug 25 00:05:14 2010 (r211788) @@ -58,6 +58,7 @@ static struct isa_pnp_id ed_ids[] = { { 0x0131d805, NULL }, /* ANX3101 */ { 0x4cf48906, NULL }, /* ATIf44c */ { 0x01200507, NULL }, /* AXE2001 */ + { 0x0115180e, NULL }, /* CPX1501 */ { 0x0090252a, NULL }, /* JQE9000 */ { 0x0020832e, NULL }, /* KTC2000 */ { 0xd680d041, NULL }, /* PNP80d6 */ Modified: projects/sv/sys/dev/vr/if_vr.c ============================================================================== --- projects/sv/sys/dev/vr/if_vr.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/dev/vr/if_vr.c Wed Aug 25 00:05:14 2010 (r211788) @@ -1558,8 +1558,7 @@ vr_tick(void *xsc) if ((sc->vr_flags & VR_F_RESTART) != 0) { device_printf(sc->vr_dev, "restarting\n"); sc->vr_stat.num_restart++; - vr_stop(sc); - vr_reset(sc); + sc->vr_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; vr_init_locked(sc); sc->vr_flags &= ~VR_F_RESTART; } @@ -2016,6 +2015,9 @@ vr_init_locked(struct vr_softc *sc) ifp = sc->vr_ifp; mii = device_get_softc(sc->vr_miibus); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + return; + /* Cancel pending I/O and free all RX/TX buffers. */ vr_stop(sc); vr_reset(sc); @@ -2287,6 +2289,7 @@ vr_watchdog(struct vr_softc *sc) if_printf(sc->vr_ifp, "watchdog timeout " "(missed link)\n"); ifp->if_oerrors++; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; vr_init_locked(sc); return; } @@ -2294,8 +2297,7 @@ vr_watchdog(struct vr_softc *sc) ifp->if_oerrors++; if_printf(ifp, "watchdog timeout\n"); - vr_stop(sc); - vr_reset(sc); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; vr_init_locked(sc); if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) Modified: projects/sv/sys/pci/if_rl.c ============================================================================== --- projects/sv/sys/pci/if_rl.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/pci/if_rl.c Wed Aug 25 00:05:14 2010 (r211788) @@ -1302,6 +1302,7 @@ rl_rxeof(struct rl_softc *sc) total_len < ETHER_MIN_LEN || total_len > ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN) { ifp->if_ierrors++; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; rl_init_locked(sc); return (rx_npkts); } @@ -1413,6 +1414,7 @@ rl_txeof(struct rl_softc *sc) CSR_WRITE_4(sc, RL_TXCFG, RL_TXCFG_CONFIG); oldthresh = sc->rl_txthresh; /* error recovery */ + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; rl_init_locked(sc); /* restore original threshold */ sc->rl_txthresh = oldthresh; @@ -1606,8 +1608,10 @@ rl_poll_locked(struct ifnet *ifp, enum p /* XXX We should check behaviour on receiver stalls. */ - if (status & RL_ISR_SYSTEM_ERR) + if (status & RL_ISR_SYSTEM_ERR) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; rl_init_locked(sc); + } } return (rx_npkts); } @@ -1645,8 +1649,10 @@ rl_intr(void *arg) rl_rxeof(sc); if ((status & RL_ISR_TX_OK) || (status & RL_ISR_TX_ERR)) rl_txeof(sc); - if (status & RL_ISR_SYSTEM_ERR) + if (status & RL_ISR_SYSTEM_ERR) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; rl_init_locked(sc); + } } if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) @@ -1808,6 +1814,9 @@ rl_init_locked(struct rl_softc *sc) mii = device_get_softc(sc->rl_miibus); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + return; + /* * Cancel pending I/O and free all RX/TX buffers. */ @@ -2036,6 +2045,7 @@ rl_watchdog(struct rl_softc *sc) rl_txeof(sc); rl_rxeof(sc); + sc->rl_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; rl_init_locked(sc); } Modified: projects/sv/sys/x86/x86/local_apic.c ============================================================================== --- projects/sv/sys/x86/x86/local_apic.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/sys/x86/x86/local_apic.c Wed Aug 25 00:05:14 2010 (r211788) @@ -369,12 +369,13 @@ lapic_setup(int boot) if (la->la_timer_mode != 0) { KASSERT(la->la_timer_period != 0, ("lapic%u: zero divisor", lapic_id())); + lapic_timer_stop(); lapic_timer_set_divisor(lapic_timer_divisor); + lapic_timer_enable_intr(); if (la->la_timer_mode == 1) lapic_timer_periodic(la->la_timer_period); else lapic_timer_oneshot(la->la_timer_period); - lapic_timer_enable_intr(); } /* Program error LVT and clear any existing errors. */ @@ -505,12 +506,10 @@ lapic_et_start(struct eventtimer *et, et->et_max_period.frac = ((0xfffffffeLLU << 32) / et->et_frequency) << 32; } - la = &lapics[lapic_id()]; - /* - * Start up the timer on the BSP. The APs will kick off their - * timer during lapic_setup(). - */ + lapic_timer_stop(); lapic_timer_set_divisor(lapic_timer_divisor); + lapic_timer_enable_intr(); + la = &lapics[lapic_id()]; if (period != NULL) { la->la_timer_mode = 1; la->la_timer_period = @@ -526,7 +525,6 @@ lapic_et_start(struct eventtimer *et, la->la_timer_period += et->et_frequency * first->sec; lapic_timer_oneshot(la->la_timer_period); } - lapic_timer_enable_intr(); return (0); } @@ -862,8 +860,9 @@ lapic_timer_stop(void) value = lapic->lvt_timer; value &= ~APIC_LVTT_TM; - value &= ~APIC_LVT_M; + value |= APIC_LVT_M; lapic->lvt_timer = value; + lapic->icr_timer = 0; } static void Modified: projects/sv/usr.sbin/acpi/acpiconf/acpiconf.c ============================================================================== --- projects/sv/usr.sbin/acpi/acpiconf/acpiconf.c Tue Aug 24 23:34:13 2010 (r211787) +++ projects/sv/usr.sbin/acpi/acpiconf/acpiconf.c Wed Aug 25 00:05:14 2010 (r211788) @@ -86,7 +86,8 @@ acpi_battinfo(int num) { union acpi_battery_ioctl_arg battio; const char *pwr_units; - int hours, min; + int hours, min, amp; + uint32_t volt; if (num < 0 || num > 64) err(EX_USAGE, "invalid battery %d", num); @@ -95,11 +96,8 @@ acpi_battinfo(int num) battio.unit = num; if (ioctl(acpifd, ACPIIO_BATT_GET_BIF, &battio) == -1) err(EX_IOERR, "get battery info (%d) failed", num); - if (battio.bif.units == 0) - pwr_units = "mW"; - else - pwr_units = "mA"; - + amp = battio.bif.units; + pwr_units = amp ? "mA" : "mW"; if (battio.bif.dcap == UNKNOWN_CAP) printf("Design capacity:\tunknown\n"); else @@ -125,6 +123,14 @@ acpi_battinfo(int num) printf("Type:\t\t\t%s\n", battio.bif.type); printf("OEM info:\t\t%s\n", battio.bif.oeminfo); + /* Fetch battery voltage information. */ + volt = UNKNOWN_VOLTAGE; + battio.unit = num; + if (ioctl(acpifd, ACPIIO_BATT_GET_BST, &battio) == -1) + err(EX_IOERR, "get battery status (%d) failed", num); + if (battio.bst.state != ACPI_BATT_STAT_NOT_PRESENT) + volt = battio.bst.volt; + /* Print current battery state information. */ battio.unit = num; if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) @@ -154,22 +160,21 @@ acpi_battinfo(int num) } if (battio.battinfo.rate == -1) printf("Present rate:\t\tunknown\n"); - else + else if (amp && volt != UNKNOWN_VOLTAGE) { + printf("Present rate:\t\t%d mA (%d mW)\n", + battio.battinfo.rate, + battio.battinfo.rate * volt / 1000); + } else printf("Present rate:\t\t%d %s\n", battio.battinfo.rate, pwr_units); } else printf("State:\t\t\tnot present\n"); /* Print battery voltage information. */ - battio.unit = num; - if (ioctl(acpifd, ACPIIO_BATT_GET_BST, &battio) == -1) - err(EX_IOERR, "get battery status (%d) failed", num); - if (battio.bst.state != ACPI_BATT_STAT_NOT_PRESENT) { - if (battio.bst.volt == UNKNOWN_VOLTAGE) - printf("Voltage:\t\tunknown\n"); - else - printf("Voltage:\t\t%d mV\n", battio.bst.volt); - } + if (volt == UNKNOWN_VOLTAGE) + printf("Present voltage:\tunknown\n"); + else + printf("Present voltage:\t%d mV\n", volt); return (0); } From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 00:36:08 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F92D106571A; Wed, 25 Aug 2010 00:36:06 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CAE508FC20; Wed, 25 Aug 2010 00:36:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P0a66w094396; Wed, 25 Aug 2010 00:36:06 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P0a66L094395; Wed, 25 Aug 2010 00:36:06 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008250036.o7P0a66L094395@svn.freebsd.org> From: Jeff Roberson Date: Wed, 25 Aug 2010 00:36:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211790 - projects/ofed/head/contrib/ofed/usr.lib X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 00:36:08 -0000 Author: jeff Date: Wed Aug 25 00:36:06 2010 New Revision: 211790 URL: http://svn.freebsd.org/changeset/base/211790 Log: - Add missing subdirs to the lib makefile Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/contrib/ofed/usr.lib/Makefile Modified: projects/ofed/head/contrib/ofed/usr.lib/Makefile ============================================================================== --- projects/ofed/head/contrib/ofed/usr.lib/Makefile Wed Aug 25 00:35:58 2010 (r211789) +++ projects/ofed/head/contrib/ofed/usr.lib/Makefile Wed Aug 25 00:36:06 2010 (r211790) @@ -1,5 +1,6 @@ .include -SUBDIR = libibcommon libibmad libibumad libibverbs libmlx4 libmthca libosmcomp +SUBDIR = libibcommon libibmad libibumad libibverbs libmlx4 libmthca +SUBDIR += libopensm libosmcomp libosmvendor .include From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 01:50:13 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2206410656A8; Wed, 25 Aug 2010 01:50:13 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 112EA8FC22; Wed, 25 Aug 2010 01:50:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P1oCld095816; Wed, 25 Aug 2010 01:50:12 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P1oCo5095814; Wed, 25 Aug 2010 01:50:12 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008250150.o7P1oCo5095814@svn.freebsd.org> From: Jeff Roberson Date: Wed, 25 Aug 2010 01:50:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211791 - projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 01:50:13 -0000 Author: jeff Date: Wed Aug 25 01:50:12 2010 New Revision: 211791 URL: http://svn.freebsd.org/changeset/base/211791 Log: - Add an implementation of mthca_map_user_db() Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c Wed Aug 25 00:36:06 2010 (r211790) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c Wed Aug 25 01:50:12 2010 (r211791) @@ -448,6 +448,13 @@ static u64 mthca_uarc_virt(struct mthca_ page * MTHCA_ICM_PAGE_SIZE; } +#include +#include +#include + +#include +#include + int mthca_map_user_db(struct mthca_dev *dev, struct mthca_uar *uar, struct mthca_user_db_table *db_tab, int index, u64 uaddr) { @@ -510,14 +517,99 @@ out: mutex_unlock(&db_tab->mutex); return ret; #else - return -EINVAL; + struct proc *proc; + vm_offset_t start; + vm_paddr_t paddr; + pmap_t pmap; + vm_page_t m; + int ret = 0; + u8 status; + int i; + + if (!mthca_is_memfree(dev)) + return 0; + + if (index < 0 || index > dev->uar_table.uarc_size / 8) + return -EINVAL; + + mutex_lock(&db_tab->mutex); + + i = index / MTHCA_DB_REC_PER_PAGE; + start = 0; + + if ((db_tab->page[i].refcount >= MTHCA_DB_REC_PER_PAGE) || + (db_tab->page[i].uvirt && db_tab->page[i].uvirt != uaddr) || + (uaddr & 4095)) { + ret = -EINVAL; + goto out; + } + + if (db_tab->page[i].refcount) { + ++db_tab->page[i].refcount; + goto out; + } + + proc = curproc; + pmap = vm_map_pmap(&proc->p_vmspace->vm_map); + PROC_LOCK(proc); + if (ptoa(pmap_wired_count(pmap) + 1) > lim_cur(proc, RLIMIT_MEMLOCK)) { + PROC_UNLOCK(proc); + ret = -ENOMEM; + goto out; + } + PROC_UNLOCK(proc); + if (cnt.v_wire_count + 1 > vm_page_max_wired) { + ret = -EAGAIN; + goto out; + } + start = uaddr & PAGE_MASK; + ret = vm_map_wire(&proc->p_vmspace->vm_map, start, start + PAGE_SIZE, + VM_MAP_WIRE_USER | VM_MAP_WIRE_NOHOLES /* | VM_MAP_WIRE_READ | + VM_MAP_WIRE_WRITE */); + if (ret != KERN_SUCCESS) { + start = 0; + ret = -ENOMEM; + goto out; + } + paddr = pmap_extract(pmap, uaddr); + if (paddr == 0) { + ret = -EFAULT; + goto out; + } + m = PHYS_TO_VM_PAGE(paddr); + + sg_set_page(&db_tab->page[i].mem, m, MTHCA_ICM_PAGE_SIZE, + uaddr & ~PAGE_MASK); + + ret = pci_map_sg(dev->pdev, &db_tab->page[i].mem, 1, PCI_DMA_TODEVICE); + if (ret < 0) + goto out; + + ret = mthca_MAP_ICM_page(dev, sg_dma_address(&db_tab->page[i].mem), + mthca_uarc_virt(dev, uar, i), &status); + if (!ret && status) + ret = -EINVAL; + if (ret) { + pci_unmap_sg(dev->pdev, &db_tab->page[i].mem, 1, PCI_DMA_TODEVICE); + goto out; + } + + db_tab->page[i].uvirt = uaddr; + db_tab->page[i].refcount = 1; + +out: + if (ret < 0 && start) + vm_map_unwire(&curthread->td_proc->p_vmspace->vm_map, + start, start + PAGE_SIZE, + VM_MAP_WIRE_USER | VM_MAP_WIRE_NOHOLES); + mutex_unlock(&db_tab->mutex); + return ret; #endif } void mthca_unmap_user_db(struct mthca_dev *dev, struct mthca_uar *uar, struct mthca_user_db_table *db_tab, int index) { -#ifdef __linux__ if (!mthca_is_memfree(dev)) return; @@ -531,7 +623,6 @@ void mthca_unmap_user_db(struct mthca_de --db_tab->page[index / MTHCA_DB_REC_PER_PAGE].refcount; mutex_unlock(&db_tab->mutex); -#endif } struct mthca_user_db_table *mthca_init_user_db_tab(struct mthca_dev *dev) @@ -573,6 +664,13 @@ void mthca_cleanup_user_db_tab(struct mt pci_unmap_sg(dev->pdev, &db_tab->page[i].mem, 1, PCI_DMA_TODEVICE); #ifdef __linux__ put_page(sg_page(&db_tab->page[i].mem)); +#else + vm_offset_t start; + + start = db_tab->page[i].uvirt & PAGE_MASK; + vm_map_unwire(&curthread->td_proc->p_vmspace->vm_map, + start, start + PAGE_SIZE, + VM_MAP_WIRE_USER | VM_MAP_WIRE_NOHOLES); #endif } } From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 06:42:47 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6DA810656A4; Wed, 25 Aug 2010 06:42:47 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A627D8FC15; Wed, 25 Aug 2010 06:42:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P6gloU001987; Wed, 25 Aug 2010 06:42:47 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P6glCu001983; Wed, 25 Aug 2010 06:42:47 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008250642.o7P6glCu001983@svn.freebsd.org> From: Andrew Turner Date: Wed, 25 Aug 2010 06:42:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211795 - in projects/arm_eabi/sys/arm: arm include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 06:42:47 -0000 Author: andrew Date: Wed Aug 25 06:42:47 2010 New Revision: 211795 URL: http://svn.freebsd.org/changeset/base/211795 Log: Update how syscalls are handled to use syscallenter and syscallret Modified: projects/arm_eabi/sys/arm/arm/elf_machdep.c projects/arm_eabi/sys/arm/arm/trap.c projects/arm_eabi/sys/arm/include/proc.h Modified: projects/arm_eabi/sys/arm/arm/elf_machdep.c ============================================================================== --- projects/arm_eabi/sys/arm/arm/elf_machdep.c Wed Aug 25 03:14:32 2010 (r211794) +++ projects/arm_eabi/sys/arm/arm/elf_machdep.c Wed Aug 25 06:42:47 2010 (r211795) @@ -76,7 +76,7 @@ struct sysentvec elf32_freebsd_sysvec = .sv_maxssiz = NULL, .sv_flags = SV_ABI_FREEBSD | SV_ILP32, .sv_set_syscall_retval = cpu_set_syscall_retval, - .sv_fetch_syscall_args = NULL, /* XXXKIB */ + .sv_fetch_syscall_args = cpu_fetch_syscall_args, .sv_syscallnames = syscallnames, }; Modified: projects/arm_eabi/sys/arm/arm/trap.c ============================================================================== --- projects/arm_eabi/sys/arm/arm/trap.c Wed Aug 25 03:14:32 2010 (r211794) +++ projects/arm_eabi/sys/arm/arm/trap.c Wed Aug 25 06:42:47 2010 (r211795) @@ -861,98 +861,76 @@ badaddr_read(void *addr, size_t size, vo return (rv); } -#define MAXARGS 8 +int +cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +{ + struct proc *p; + struct trapframe *frame; + u_int nap; + register_t *ap; + uint32_t insn; + int error; + + p = td->td_proc; + frame = td->td_frame; + insn = *(u_int32_t *)(frame->tf_pc - INSN_SIZE); + sa->code = insn & 0x000fffff; + + ap = &frame->tf_r0; + nap = 4; + if (sa->code == SYS_syscall) { + sa->code = *ap++; + nap--; + } else if (sa->code == SYS___syscall) { + sa->code = ap[_QUAD_LOWWORD]; + nap -= 2; + ap += 2; + } + if (p->p_sysent->sv_mask) + sa->code &= p->p_sysent->sv_mask; + + if (sa->code >= p->p_sysent->sv_size) + sa->callp = &p->p_sysent->sv_table[0]; + else + sa->callp = &p->p_sysent->sv_table[sa->code]; + + sa->narg = sa->callp->sy_narg; + KASSERT(sa->narg <= sizeof(sa->args) / sizeof(sa->args[0]), + ("Too many syscall arguments!")); + error = 0; + memcpy(sa->args, ap, nap * sizeof(register_t)); + if (sa->narg > nap) { + error = copyin((void *)frame->tf_usr_sp, sa->args + nap, + (sa->narg - nap) * sizeof(register_t)); + } + if (error == 0) { + td->td_retval[0] = 0; + td->td_retval[1] = 0; + } + + return (error); +} + static void syscall(struct thread *td, trapframe_t *frame, u_int32_t insn) { - struct proc *p = td->td_proc; - int code, error; - u_int nap, nargs; - register_t *ap, *args, copyargs[MAXARGS]; - struct sysent *callp; + struct syscall_args sa; + int error; - PCPU_INC(cnt.v_syscall); - td->td_pticks = 0; - if (td->td_ucred != td->td_proc->p_ucred) - cred_update_thread(td); switch (insn & SWI_OS_MASK) { case 0: /* XXX: we need our own one. */ - nap = 4; break; default: call_trapsignal(td, SIGILL, 0); userret(td, frame); return; } - code = insn & 0x000fffff; - td->td_pticks = 0; - ap = &frame->tf_r0; - if (code == SYS_syscall) { - code = *ap++; - - nap--; - } else if (code == SYS___syscall) { - code = ap[_QUAD_LOWWORD]; - nap -= 2; - ap += 2; - } - if (p->p_sysent->sv_mask) - code &= p->p_sysent->sv_mask; - if (code >= p->p_sysent->sv_size) - callp = &p->p_sysent->sv_table[0]; - else - callp = &p->p_sysent->sv_table[code]; - nargs = callp->sy_narg; - memcpy(copyargs, ap, nap * sizeof(register_t)); - if (nargs > nap) { - error = copyin((void *)frame->tf_usr_sp, copyargs + nap, - (nargs - nap) * sizeof(register_t)); - if (error) - goto bad; - } - args = copyargs; - error = 0; -#ifdef KTRACE - if (KTRPOINT(td, KTR_SYSCALL)) - ktrsyscall(code, nargs, args); -#endif - - CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td, - td->td_proc->p_pid, td->td_name, code); - if (error == 0) { - td->td_retval[0] = 0; - td->td_retval[1] = 0; - STOPEVENT(p, S_SCE, callp->sy_narg); - PTRACESTOP_SC(p, td, S_PT_SCE); - AUDIT_SYSCALL_ENTER(code, td); - error = (*callp->sy_call)(td, args); - AUDIT_SYSCALL_EXIT(error, td); - KASSERT(td->td_ar == NULL, - ("returning from syscall with td_ar set!")); - } -bad: - cpu_set_syscall_retval(td, error); - - WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", - (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???"); - KASSERT(td->td_critnest == 0, - ("System call %s returning in a critical section", - (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???")); - KASSERT(td->td_locks == 0, - ("System call %s returning with %d locks held", - (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???", - td->td_locks)); - - userret(td, frame); - CTR4(KTR_SYSC, "syscall exit thread %p pid %d proc %s code %d", td, - td->td_proc->p_pid, td->td_name, code); - - STOPEVENT(p, S_SCX, code); - PTRACESTOP_SC(p, td, S_PT_SCX); -#ifdef KTRACE - if (KTRPOINT(td, KTR_SYSRET)) - ktrsysret(code, error, td->td_retval[0]); -#endif + + error = syscallenter(td, &sa); + + KASSERT(td->td_ar == NULL, ("returning from syscall with td_ar set!")); + + syscallret(td, error, &sa); } void Modified: projects/arm_eabi/sys/arm/include/proc.h ============================================================================== --- projects/arm_eabi/sys/arm/include/proc.h Wed Aug 25 03:14:32 2010 (r211794) +++ projects/arm_eabi/sys/arm/include/proc.h Wed Aug 25 06:42:47 2010 (r211795) @@ -60,6 +60,21 @@ struct mdproc { void *md_sigtramp; }; +#ifdef __ARM_EABI__ +#define KINFO_PROC_SIZE 816 +#else #define KINFO_PROC_SIZE 792 +#endif + +#ifdef _KERNEL +struct syscall_args { + u_int code; + struct sysent *callp; + register_t args[8]; + int narg; +}; +#define HAVE_SYSCALL_ARGS_DEF 1 + +#endif #endif /* !_MACHINE_PROC_H_ */ From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 07:13:30 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30CDD106566B; Wed, 25 Aug 2010 07:13:30 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id F2C478FC15; Wed, 25 Aug 2010 07:13:29 +0000 (UTC) Received: from compute1.internal (compute1.internal [10.202.2.41]) by gateway1.messagingengine.com (Postfix) with ESMTP id 205E91E2; Wed, 25 Aug 2010 02:55:09 -0400 (EDT) Received: from frontend2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Wed, 25 Aug 2010 02:55:09 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=date:from:to:cc:subject:message-id:in-reply-to:references:mime-version:content-type:content-transfer-encoding; s=smtpout; bh=OTBN3UR6RJ40qQjBfaAWBNo6mkM=; b=umOA45xk0ghSObGvOORyohtPckzmVHS+WY296fnFgtFIn10yXqKNqgQdxWDtKB0iEFWbDeAlTssfNrteX5Y36ox8sdtDvJAYjHsnhf3116ehLQ4yC6nNGfdw8WwqOKFDpePVlPUylKdUFm/siN7G5c5mkzec+JU3HyzDxawlTQs= X-Sasl-enc: giCsxXVgSXEfS4OFox4YLJp+hGhYPgqAkME8eIUnXAYX 1282719308 Received: from localhost (97.242.69.111.dynamic.snap.net.nz [111.69.242.97]) by mail.messagingengine.com (Postfix) with ESMTPA id A1A595E0E70; Wed, 25 Aug 2010 02:55:07 -0400 (EDT) Date: Wed, 25 Aug 2010 18:55:11 +1200 From: Andrew Turner To: Andrew Turner Message-ID: <20100825185511.6b9a56ad@fubar.geek.nz> In-Reply-To: <201008250642.o7P6glCu001983@svn.freebsd.org> References: <201008250642.o7P6glCu001983@svn.freebsd.org> X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.1; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r211795 - in projects/arm_eabi/sys/arm: arm include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 07:13:30 -0000 On Wed, 25 Aug 2010 06:42:47 +0000 (UTC) Andrew Turner wrote: > Author: andrew > Date: Wed Aug 25 06:42:47 2010 > New Revision: 211795 > URL: http://svn.freebsd.org/changeset/base/211795 > > Log: > Update how syscalls are handled to use syscallenter and syscallret > Approved By: imp (mentor, blanket for this branch) From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 07:24:52 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C6E6106566B; Wed, 25 Aug 2010 07:24:52 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4AD888FC14; Wed, 25 Aug 2010 07:24:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P7OqdT002848; Wed, 25 Aug 2010 07:24:52 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P7OqST002842; Wed, 25 Aug 2010 07:24:52 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008250724.o7P7OqST002842@svn.freebsd.org> From: Andrew Turner Date: Wed, 25 Aug 2010 07:24:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211796 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 07:24:52 -0000 Author: andrew Date: Wed Aug 25 07:24:52 2010 New Revision: 211796 URL: http://svn.freebsd.org/changeset/base/211796 Log: Add the start of the OABI syscalls. These will be used when the kernel is built for EABI but the userland is built for OABI. The syscalls that have been implemented allow me boot FreeBSD into multi-user mode and allow me to log in. Not all syscalls that need to be implemented have been yet. Added: projects/arm_eabi/sys/compat/arm/ projects/arm_eabi/sys/compat/arm/Makefile (contents, props changed) projects/arm_eabi/sys/compat/arm/freebsd_oabi.h (contents, props changed) projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c (contents, props changed) projects/arm_eabi/sys/compat/arm/syscalls.conf (contents, props changed) projects/arm_eabi/sys/compat/arm/syscalls.master (contents, props changed) Added: projects/arm_eabi/sys/compat/arm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/Makefile Wed Aug 25 07:24:52 2010 (r211796) @@ -0,0 +1,21 @@ +# Makefile for syscall tables +# +# $FreeBSD$ + +all: + @echo "make sysent only" + +sysent: freebsd_oabi_sysent.c freebsd_oabi_syscall.h freebsd_oabi_proto.h + +freebsd_oabi_sysent.c freebsd_oabi_syscalls.c freebsd_oabi_syscall.h \ +freebsd_oabi_proto.h: \ + ../../kern/makesyscalls.sh syscalls.master syscalls.conf + -mv -f freebsd_oabi_sysent.c freebsd_oabi_sysent.c.bak + -mv -f freebsd_oabi_syscalls.c freebsd_oabi_syscalls.c.bak + -mv -f freebsd_oabi_syscall.h freebsd_oabi_syscall.h.bak + -mv -f freebsd_oabi_proto.h freebsd_oabi_proto.h.bak + sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf + +clean: + rm -f freebsd_oabi_sysent.c freebsd_oabi_syscalls.c + rm -f freebsd_oabi_syscall.h freebsd_oabi_proto.h Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi.h Wed Aug 25 07:24:52 2010 (r211796) @@ -0,0 +1,141 @@ +/*- + * Copyright (c) 2001 Doug Rabson + * Copyright (C) 2010 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * + */ + +#ifndef _COMPAT_ARM_FREEBSD_OABI_H_ +#define _COMPAT_ARM_FREEBSD_OABI_H_ + +#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) + +#define PAIR32TO64(type, name) ((name ## 1) | ((type)(name ## 2) << 32)) + +/* Copy an 64 bit type split into two 32 bit argunemts, e.g. off_t */ +#define CP64(src,dst,fld) do { \ + (dst).fld = (src).fld ## 1; \ + (dst).fld |= ((uint64_t)(src).fld ## 2) << 32; \ +} while (0) + +struct timeval_oabi { + time_t tv_sec; + suseconds_t tv_usec; +} __packed; +#define TV_CP(src,dst,fld) do { \ + CP((src).fld,(dst).fld,tv_sec); \ + CP((src).fld,(dst).fld,tv_usec); \ +} while (0) + +struct itimerval_oabi { + struct timeval_oabi it_interval; + struct timeval_oabi it_value; +}; + +struct timespec_oabi { + time_t tv_sec; + long tv_nsec; +} __packed; +#define TS_CP(src,dst,fld) do { \ + CP((src).fld,(dst).fld,tv_sec); \ + CP((src).fld,(dst).fld,tv_nsec); \ +} while (0); + +struct rusage_oabi { + struct timeval_oabi ru_utime; + struct timeval_oabi ru_stime; + long ru_maxrss; + long ru_ixrss; + long ru_idrss; + long ru_isrss; + long ru_minflt; + long ru_majflt; + long ru_nswap; + long ru_inblock; + long ru_oublock; + long ru_msgsnd; + long ru_msgrcv; + long ru_nsignals; + long ru_nvcsw; + long ru_nivcsw; +} __packed; + +struct stat_oabi { + __dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + __dev_t st_rdev; + struct timespec_oabi st_atim; + struct timespec_oabi st_mtim; + struct timespec_oabi st_ctim; + off_t st_size; + blkcnt_t st_blocks; + blksize_t st_blksize; + fflags_t st_flags; + __uint32_t st_gen; + __int32_t st_lspare; + struct timespec_oabi st_birthtim; + unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec_oabi)); + unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec_oabi)); +} __packed; + +struct __aiocb_private { + long status; + long error; + void *kernelinfo; +}; + +struct aiocb_oabi { + int aio_fildes; + off_t aio_offset; + volatile void *aio_buf; + size_t aio_nbytes; + int __spare__[2]; + void *__spare2__; + int aio_lio_opcode; + int aio_reqprio; + struct __aiocb_private _aiocb_private; + struct sigevent aio_sigevent; +} __packed; + +struct msqid_ds_oabi { + struct ipc_perm msg_perm; /* msg queue permission bits */ + struct msg *msg_first; /* first message in the queue */ + struct msg *msg_last; /* last message in the queue */ + msglen_t msg_cbytes; /* number of bytes in use on the queue */ + msgqnum_t msg_qnum; /* number of msgs in the queue */ + msglen_t msg_qbytes; /* max # of bytes on the queue */ + pid_t msg_lspid; /* pid of last msgsnd() */ + pid_t msg_lrpid; /* pid of last msgrcv() */ + time_t msg_stime; /* time of last msgsnd() */ + time_t msg_rtime; /* time of last msgrcv() */ + time_t msg_ctime; /* time of last msgctl() */ +} __packed; + +#endif /* _COMPAT_ARM_FREEBSD_OABI_H_ */ Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c Wed Aug 25 07:24:52 2010 (r211796) @@ -0,0 +1,540 @@ +/*- + * Copyright (c) 2002 Doug Rabson + * Copyright (C) 2010 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_compat.h" +#include "opt_inet.h" +#include "opt_inet6.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* Must come after sys/malloc.h */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* Must come after sys/selinfo.h */ +#include /* Must come after sys/selinfo.h */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef INET +#include +#endif + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include + +CTASSERT(sizeof(struct aiocb_oabi) == 96); +CTASSERT(sizeof(fd_set) == 128); +CTASSERT(sizeof(struct fhandle) == 28); +CTASSERT(sizeof(struct iovec) == 8); +CTASSERT(sizeof(struct itimerval_oabi) == 24); +CTASSERT(sizeof(struct jail) == 32); +CTASSERT(sizeof(struct kevent) == 20); +CTASSERT(sizeof(struct mq_attr) == 32); +CTASSERT(sizeof(struct msqid_ds_oabi) == 76); +CTASSERT(sizeof(struct msghdr) == 28); +CTASSERT(sizeof(struct sf_hdtr) == 16); +CTASSERT(sizeof(sigset_t) == 16); +CTASSERT(sizeof(struct sigaltstack) == 12); +CTASSERT(sizeof(struct sigvec) == 12); +CTASSERT(sizeof(struct sockaddr) == 16); +CTASSERT(sizeof(struct stat_oabi) == 108); +CTASSERT(sizeof(struct statfs) == 472); +CTASSERT(sizeof(struct thr_param) == 52); +CTASSERT(sizeof(struct rusage_oabi) == 80); +CTASSERT(sizeof(struct sigaction) == 24); +CTASSERT(sizeof(struct timespec) == 12); +CTASSERT(sizeof(struct timeval_oabi) == 12); +CTASSERT(sizeof(struct timezone) == 8); + +static void copy_rusage(const struct rusage *, struct rusage_oabi *); +static void copy_stat( struct stat *in, struct stat_oabi *out); + +static void +copy_rusage(const struct rusage *s, struct rusage_oabi *s_oabi) +{ + + TV_CP(*s, *s_oabi, ru_utime); + TV_CP(*s, *s_oabi, ru_stime); + CP(*s, *s_oabi, ru_maxrss); + CP(*s, *s_oabi, ru_ixrss); + CP(*s, *s_oabi, ru_idrss); + CP(*s, *s_oabi, ru_isrss); + CP(*s, *s_oabi, ru_minflt); + CP(*s, *s_oabi, ru_majflt); + CP(*s, *s_oabi, ru_nswap); + CP(*s, *s_oabi, ru_inblock); + CP(*s, *s_oabi, ru_oublock); + CP(*s, *s_oabi, ru_msgsnd); + CP(*s, *s_oabi, ru_msgrcv); + CP(*s, *s_oabi, ru_nsignals); + CP(*s, *s_oabi, ru_nvcsw); + CP(*s, *s_oabi, ru_nivcsw); +} +int +freebsd_oabi_wait4(struct thread *td, struct freebsd_oabi_wait4_args *uap) +{ + struct rusage_oabi ru_oabi; + struct rusage ru, *rup; + int error, status; + + if (uap->rusage != NULL) + rup = &ru; + else + rup = NULL; + error = kern_wait(td, uap->pid, &status, uap->options, rup); + if (uap->status != NULL && error == 0) + error = copyout(&status, uap->status, sizeof(status)); + if (uap->rusage != NULL && error == 0) { + copy_rusage(&ru, &ru_oabi); + error = copyout(&ru_oabi, uap->rusage, sizeof(ru_oabi)); + } + return (error); +} + +int +freebsd_oabi_getitimer(struct thread *td, struct freebsd_oabi_getitimer_args *uap) +{ + struct itimerval aitv; + struct itimerval_oabi aitv_oabi; + int error; + + error = kern_getitimer(td, uap->which, &aitv); + if (error != 0) + return (error); + TV_CP(aitv, aitv_oabi, it_interval); + TV_CP(aitv, aitv_oabi, it_value); + return (copyout(&aitv_oabi, uap->itv, sizeof (struct itimerval_oabi))); +} + +int +freebsd_oabi_setitimer(struct thread *td, struct freebsd_oabi_setitimer_args *uap) +{ + struct itimerval aitv, oitv; + struct itimerval_oabi aitv_oabi, oitv_oabi; + int error; + + if (uap->itv == NULL) { + uap->itv = uap->oitv; + return (freebsd_oabi_getitimer(td, + (struct freebsd_oabi_getitimer_args *)uap)); + } + + if ((error = copyin(uap->itv, &aitv_oabi, + sizeof(struct itimerval_oabi)))) + return (error); + TV_CP(aitv_oabi, aitv, it_interval); + TV_CP(aitv_oabi, aitv, it_value); + + error = kern_setitimer(td, uap->which, &aitv, &oitv); + if (error != 0 || uap->oitv == NULL) + return (error); + + TV_CP(oitv, oitv_oabi, it_interval); + TV_CP(oitv, oitv_oabi, it_value); + return (copyout(&oitv_oabi, uap->oitv, sizeof(struct itimerval_oabi))); +} + +int +freebsd_oabi_select(struct thread *td, struct freebsd_oabi_select_args *uap) +{ + struct timeval tv, *tvp; + struct timeval_oabi tv_oabi; + int error; + + if (uap->tv != NULL) { + error = copyin(uap->tv, &tv_oabi, sizeof(tv_oabi)); + if (error) + return (error); + CP(tv_oabi, tv, tv_sec); + CP(tv_oabi, tv, tv_usec); + tvp = &tv; + } else + tvp = NULL; + + return (kern_select(td, uap->nd, uap->in, uap->ou, uap->ex, tvp, + NFDBITS)); +} + +int +freebsd_oabi_gettimeofday(struct thread *td, + struct freebsd_oabi_gettimeofday_args *uap) +{ + struct timeval atv; + struct timeval_oabi atv_oabi; + struct timezone rtz; + int error = 0; + + if (uap->tp) { + microtime(&atv); + CP(atv, atv_oabi, tv_sec); + CP(atv, atv_oabi, tv_usec); + error = copyout(&atv_oabi, uap->tp, sizeof (atv_oabi)); + } + if (error == 0 && uap->tzp != NULL) { + rtz.tz_minuteswest = tz_minuteswest; + rtz.tz_dsttime = tz_dsttime; + error = copyout(&rtz, uap->tzp, sizeof (rtz)); + } + return (error); +} + +int +freebsd_oabi_settimeofday(struct thread *td, + struct freebsd_oabi_settimeofday_args *uap) +{ + struct timeval atv, *tvp; + struct timeval_oabi atv_oabi; + struct timezone atz, *tzp; + int error; + + if (uap->tv) { + error = copyin(uap->tv, &atv_oabi, sizeof(atv_oabi)); + if (error) + return (error); + CP(atv_oabi, atv, tv_sec); + CP(atv_oabi, atv, tv_usec); + tvp = &atv; + } else + tvp = NULL; + if (uap->tzp) { + error = copyin(uap->tzp, &atz, sizeof(atz)); + if (error) + return (error); + tzp = &atz; + } else + tzp = NULL; + return (kern_settimeofday(td, tvp, tzp)); +} + +int +freebsd_oabi_getrusage(struct thread *td, struct freebsd_oabi_getrusage_args *uap) +{ + struct rusage_oabi ru_oabi; + struct rusage ru; + int error; + + error = kern_getrusage(td, uap->who, &ru); + if (error == 0) { + copy_rusage(&ru, &ru_oabi); + error = copyout(&ru_oabi, uap->rusage, + sizeof(struct rusage_oabi)); + } + return (error); +} + +int +freebsd_oabi_utimes(struct thread *td, struct freebsd_oabi_utimes_args *uap) +{ + panic("freebsd_oabi_utimes"); +} + +int +freebsd_oabi_lutimes(struct thread *td, struct freebsd_oabi_lutimes_args *uap) +{ + panic("freebsd_oabi_lutimes"); +} + +int +freebsd_oabi_futimes(struct thread *td, struct freebsd_oabi_futimes_args *uap) +{ + panic("freebsd_oabi_futimes"); +} + +int +freebsd_oabi_futimesat(struct thread *td, struct freebsd_oabi_futimesat_args *uap) +{ + panic("freebsd_oabi_futimesat"); +} + +int +freebsd_oabi_adjtime(struct thread *td, struct freebsd_oabi_adjtime_args *uap) +{ + panic("freebsd_oabi_adjtime"); +} + +int +freebsd_oabi_preadv(struct thread *td, struct freebsd_oabi_preadv_args *uap) +{ + struct uio *auio; + off_t offset; + int error; + + error = copyinuio(uap->iovp, uap->iovcnt, &auio); + if (error) + return (error); + offset = PAIR32TO64(off_t, uap->offset); + error = kern_preadv(td, uap->fd, auio, offset); + free(auio, M_IOV); + return (error); +} + +int +freebsd_oabi_pwritev(struct thread *td, struct freebsd_oabi_pwritev_args *uap) +{ + struct uio *auio; + off_t offset; + int error; + + error = copyinuio(uap->iovp, uap->iovcnt, &auio); + if (error) + return (error); + offset = PAIR32TO64(off_t, uap->offset); + error = kern_pwritev(td, uap->fd, auio, offset); + free(auio, M_IOV); + return(error); +} + +int +freebsd_oabi_pread(struct thread *td, struct freebsd_oabi_pread_args *uap) +{ + struct uio auio; + struct iovec aiov; + off_t offset; + int error; + + if (uap->nbyte > INT_MAX) + return (EINVAL); + aiov.iov_base = uap->buf; + aiov.iov_len = uap->nbyte; + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + auio.uio_resid = uap->nbyte; + auio.uio_segflg = UIO_USERSPACE; + offset = PAIR32TO64(off_t, uap->offset); + error = kern_preadv(td, uap->fd, &auio, offset); + return(error); +} + +int +freebsd_oabi_pwrite(struct thread *td, struct freebsd_oabi_pwrite_args *uap) +{ + struct uio auio; + struct iovec aiov; + off_t offset; + int error; + + if (uap->nbyte > INT_MAX) + return (EINVAL); + aiov.iov_base = (void *)(uintptr_t)uap->buf; + aiov.iov_len = uap->nbyte; + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + auio.uio_resid = uap->nbyte; + auio.uio_segflg = UIO_USERSPACE; + offset = PAIR32TO64(off_t, uap->offset); + error = kern_pwritev(td, uap->fd, &auio, offset); + return(error); +} + +int +freebsd_oabi_mmap(struct thread *td, struct freebsd_oabi_mmap_args *uap) +{ + struct mmap_args ap; + + CP(*uap, ap, addr); + CP(*uap, ap, len); + CP(*uap, ap, prot); + CP(*uap, ap, flags); + CP(*uap, ap, fd); + + ap.pos = PAIR32TO64(off_t, uap->pos); + return mmap(td, &ap); +} + +int +freebsd_oabi_lseek(struct thread *td, struct freebsd_oabi_lseek_args *uap) +{ + struct lseek_args ap; + + CP(*uap, ap, fd); + CP64(*uap, ap, offset); + CP(*uap, ap, whence); + return lseek(td, &ap); +} + +int +freebsd_oabi_truncate(struct thread *td, struct freebsd_oabi_truncate_args *uap) +{ + off_t length; + + length = PAIR32TO64(off_t, uap->length); + return (kern_truncate(td, uap->path, UIO_USERSPACE, length)); +} + +int +freebsd_oabi_ftruncate(struct thread *td, + struct freebsd_oabi_ftruncate_args *uap) +{ + off_t length; + + length = PAIR32TO64(off_t, uap->length); + return (kern_ftruncate(td, uap->fd, length)); +} + +static void +copy_stat(struct stat *in, struct stat_oabi *out) +{ + CP(*in, *out, st_dev); + CP(*in, *out, st_ino); + CP(*in, *out, st_mode); + CP(*in, *out, st_nlink); + CP(*in, *out, st_uid); + CP(*in, *out, st_gid); + CP(*in, *out, st_rdev); + TS_CP(*in, *out, st_atim); + TS_CP(*in, *out, st_mtim); + TS_CP(*in, *out, st_ctim); + CP(*in, *out, st_size); + CP(*in, *out, st_blocks); + CP(*in, *out, st_blksize); + CP(*in, *out, st_flags); + CP(*in, *out, st_gen); +} + +int +freebsd_oabi_stat(struct thread *td, struct freebsd_oabi_stat_args *uap) +{ + struct stat sb; + struct stat_oabi sb_oabi; + int error; + + error = kern_stat(td, uap->path, UIO_USERSPACE, &sb); + if (error) + return (error); + copy_stat(&sb, &sb_oabi); + error = copyout(&sb_oabi, uap->ub, sizeof (sb_oabi)); + return (error); +} + +int +freebsd_oabi_fstat(struct thread *td, struct freebsd_oabi_fstat_args *uap) +{ + struct stat ub; + struct stat_oabi ub_oabi; + int error; + + error = kern_fstat(td, uap->fd, &ub); + if (error) + return (error); + copy_stat(&ub, &ub_oabi); + error = copyout(&ub_oabi, uap->ub, sizeof(ub_oabi)); + return (error); +} + +int +freebsd_oabi_fstatat(struct thread *td, struct freebsd_oabi_fstatat_args *uap) +{ + struct stat ub; + struct stat_oabi ub_oabi; + int error; + + error = kern_statat(td, uap->flag, uap->fd, uap->path, UIO_USERSPACE, + &ub); + if (error) + return (error); + copy_stat(&ub, &ub_oabi); + error = copyout(&ub_oabi, uap->buf, sizeof(ub_oabi)); + return (error); +} + +int +freebsd_oabi_lstat(struct thread *td, struct freebsd_oabi_lstat_args *uap) +{ + struct stat sb; + struct stat_oabi sb_oabi; + int error; + + error = kern_lstat(td, uap->path, UIO_USERSPACE, &sb); + if (error) + return (error); + copy_stat(&sb, &sb_oabi); + error = copyout(&sb_oabi, uap->ub, sizeof (sb_oabi)); + return (error); +} + +int +freebsd_oabi_cpuset_setid(struct thread *td, + struct freebsd_oabi_cpuset_setid_args *uap) +{ + panic("freebsd_oabi_cpuset_setid"); +} + Added: projects/arm_eabi/sys/compat/arm/syscalls.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/syscalls.conf Wed Aug 25 07:24:52 2010 (r211796) @@ -0,0 +1,11 @@ +# $FreeBSD$ +sysnames="freebsd_oabi_syscalls.c" +sysproto="freebsd_oabi_proto.h" +sysproto_h=_FREEBSD32_SYSPROTO_H_ +syshdr="freebsd_oabi_syscall.h" +syssw="freebsd_oabi_sysent.c" +sysmk="/dev/null" +syscallprefix="FREEBSD_OABI_SYS_" +switchname="freebsd_oabi_sysent" +namesname="freebsd_oabi_syscallnames" +systrace="/dev/null" Added: projects/arm_eabi/sys/compat/arm/syscalls.master ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/syscalls.master Wed Aug 25 07:24:52 2010 (r211796) @@ -0,0 +1,925 @@ + $FreeBSD$ +; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 +; from: src/sys/kern/syscalls.master 1.107 +; +; System call name/number master file. +; Processed to created init_sysent.c, syscalls.c and syscall.h. + +; Columns: number audit type name alt{name,tag,rtyp}/comments +; number system call number, must be in order +; audit the audit event associated with the system call +; A value of AUE_NULL means no auditing, but it also means that +; there is no audit event for the call at this time. For the +; case where the event exists, but we don't want auditing, the +; event should be #defined to AUE_NULL in audit_kevents.h. +; type one of STD, OBSOL, UNIMPL, COMPAT, COMPAT4, COMPAT6, +; COMPAT7, NODEF, NOARGS, NOPROTO, NOSTD +; The COMPAT* options may be combined with one or more NO* +; options separated by '|' with no spaces (e.g. COMPAT|NOARGS) +; name psuedo-prototype of syscall routine +; If one of the following alts is different, then all appear: +; altname name of system call if different +; alttag name of args struct tag if different from [o]`name'"_args" +; altrtyp return type if not int (bogus - syscalls always return int) +; for UNIMPL/OBSOL, name continues with comments + +; types: +; STD always included +; COMPAT included on COMPAT #ifdef +; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) +; COMPAT6 included on COMPAT6 #ifdef (FreeBSD 6 compat) +; COMPAT7 included on COMPAT7 #ifdef (FreeBSD 7 compat) +; OBSOL obsolete, not included in system, only specifies name +; UNIMPL not implemented, placeholder only +; NOSTD implemented but as a lkm that can be statically +; compiled in; sysent entry will be filled with lkmressys +; so the SYSCALL_MODULE macro works +; NOARGS same as STD except do not create structure in sys/sysproto.h +; NODEF same as STD except only have the entry in the syscall table +; added. Meaning - do not create structure or function +; prototype in sys/sysproto.h +; NOPROTO same as STD except do not create structure or +; function prototype in sys/sysproto.h. Does add a +; definition to syscall.h besides adding a sysent. + +; #ifdef's, etc. may be included, and are copied to the output files. + +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(PAD64_REQUIRED) && defined(__powerpc__) +#define PAD64_REQUIRED +#endif + +; Reserved/unimplemented system calls in the range 0-150 inclusive +; are reserved for use in future Berkeley releases. +; Additional system calls implemented in vendor and other +; redistributions should be placed in the reserved range at the end +; of the current calls. + +0 AUE_NULL NOPROTO { int nosys(void); } syscall nosys_args int +1 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ + sys_exit_args void +2 AUE_FORK NOPROTO { int fork(void); } +3 AUE_READ NOPROTO { ssize_t read(int fd, void *buf, \ + size_t nbyte); } +4 AUE_WRITE NOPROTO { ssize_t write(int fd, const void *buf, \ + size_t nbyte); } +5 AUE_OPEN_RWTC NOPROTO { int open(char *path, int flags, \ + int mode); } +6 AUE_CLOSE NOPROTO { int close(int fd); } +7 AUE_WAIT4 STD { int freebsd_oabi_wait4(int pid, int *status, \ + int options, struct rusage_oabi *rusage); } +8 AUE_CREAT OBSOL old creat +9 AUE_LINK NOPROTO { int link(char *path, char *link); } +10 AUE_UNLINK NOPROTO { int unlink(char *path); } +11 AUE_NULL OBSOL execv +12 AUE_CHDIR NOPROTO { int chdir(char *path); } +13 AUE_FCHDIR NOPROTO { int fchdir(int fd); } +14 AUE_MKNOD NOPROTO { int mknod(char *path, int mode, int dev); } +15 AUE_CHMOD NOPROTO { int chmod(char *path, int mode); } +16 AUE_CHOWN NOPROTO { int chown(char *path, int uid, int gid); } +17 AUE_NULL NOPROTO { int obreak(char *nsize); } break \ + obreak_args int +18 AUE_GETFSSTAT COMPAT4 { int getfsstat( struct statfs *buf, \ + long bufsize, int flags); } +19 AUE_LSEEK OBSOL olseek +20 AUE_GETPID NOPROTO { pid_t getpid(void); } +21 AUE_MOUNT NOPROTO { int mount(char *type, char *path, \ + int flags, caddr_t data); } +22 AUE_UMOUNT NOPROTO { int unmount(char *path, int flags); } +23 AUE_SETUID NOPROTO { int setuid(uid_t uid); } +24 AUE_GETUID NOPROTO { uid_t getuid(void); } +25 AUE_GETEUID NOPROTO { uid_t geteuid(void); } +26 AUE_PTRACE NOPROTO { int ptrace(int req, pid_t pid, \ + caddr_t addr, int data); } +27 AUE_RECVMSG NOPROTO { int recvmsg(int s, struct msghdr *msg, \ + int flags); } +28 AUE_SENDMSG NOPROTO { int sendmsg(int s, struct msghdr *msg, \ + int flags); } +29 AUE_RECVFROM NOPROTO { int recvfrom(int s, caddr_t buf, \ + size_t len, int flags, \ + struct sockaddr * __restrict from, \ + __socklen_t * __restrict fromlenaddr); } +30 AUE_ACCEPT NOPROTO { int accept(int s, caddr_t name, \ + int *anamelen); } +31 AUE_GETPEERNAME NOPROTO { int getpeername(int fdes, caddr_t asa, \ + int *alen); } +32 AUE_GETSOCKNAME NOPROTO { int getsockname(int fdes, caddr_t asa, \ + int *alen); } +33 AUE_ACCESS NOPROTO { int access(char *path, int flags); } +34 AUE_CHFLAGS NOPROTO { int chflags(char *path, int flags); } +35 AUE_FCHFLAGS NOPROTO { int fchflags(int fd, int flags); } +36 AUE_SYNC NOPROTO { int sync(void); } +37 AUE_KILL NOPROTO { int kill(int pid, int signum); } +38 AUE_STAT UNIMPL ostat +39 AUE_GETPPID NOPROTO { pid_t getppid(void); } +40 AUE_LSTAT UNIMPL olstat +41 AUE_DUP NOPROTO { int dup(u_int fd); } +42 AUE_PIPE NOPROTO { int pipe(void); } +43 AUE_GETEGID NOPROTO { gid_t getegid(void); } +44 AUE_PROFILE NOPROTO { int profil(caddr_t samples, size_t size, \ + size_t offset, u_int scale); } +45 AUE_KTRACE NOPROTO { int ktrace(const char *fname, int ops, \ + int facs, int pid); } +46 AUE_SIGACTION COMPAT { int sigaction( int signum, \ + struct osigaction *nsa, \ + struct osigaction *osa); } +47 AUE_GETGID NOPROTO { gid_t getgid(void); } +48 AUE_SIGPROCMASK COMPAT { int freebsd_oabi_sigprocmask(int how, \ + osigset_t mask); } +49 AUE_GETLOGIN NOPROTO { int getlogin(char *namebuf, \ + u_int namelen); } +50 AUE_SETLOGIN NOPROTO { int setlogin(char *namebuf); } +51 AUE_ACCT NOPROTO { int acct(char *path); } +52 AUE_SIGPENDING NOPROTO|COMPAT { int sigpending(void); } +53 AUE_SIGALTSTACK NOPROTO { int sigaltstack(stack_t *ss, \ + stack_t *oss); } +; XXX: Check +54 AUE_NULL NOPROTO { int ioctl(int fd, uint32_t com, \ + struct ioctl *data); } +55 AUE_REBOOT NOPROTO { int reboot(int opt); } +56 AUE_REVOKE NOPROTO { int revoke(char *path); } +57 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); } +58 AUE_READLINK NOPROTO { ssize_t readlink(char *path, char *buf, \ + size_t count); } +59 AUE_EXECVE NOPROTO { int execve(char *fname, char **argv, \ + char **envv); } +60 AUE_UMASK NOPROTO { int umask(int newmask); } umask \ + umask_args int +61 AUE_CHROOT NOPROTO { int chroot(char *path); } +62 AUE_FSTAT OBSOL ofstat +63 AUE_NULL OBSOL ogetkerninfo +64 AUE_NULL OBSOL ogetpagesize +65 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ + int flags); } +66 AUE_VFORK NOPROTO { int vfork(void); } +67 AUE_NULL OBSOL vread +68 AUE_NULL OBSOL vwrite +69 AUE_SBRK NOPROTO { int sbrk(int incr); } +70 AUE_SSTK NOPROTO { int sstk(int incr); } +71 AUE_MMAP OBSOL ommap +72 AUE_O_VADVISE NOPROTO { int ovadvise(int anom); } vadvise \ + ovadvise_args int +73 AUE_MUNMAP NOPROTO { int munmap(void *addr, size_t len); } +74 AUE_MPROTECT NOPROTO { int mprotect(const void *addr, \ + size_t len, int prot); } +75 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \ + int behav); } +76 AUE_NULL OBSOL vhangup +77 AUE_NULL OBSOL vlimit +78 AUE_MINCORE NOPROTO { int mincore(const void *addr, size_t len, \ + char *vec); } +79 AUE_GETGROUPS NOPROTO { int getgroups(u_int gidsetsize, \ + gid_t *gidset); } +80 AUE_SETGROUPS NOPROTO { int setgroups(u_int gidsetsize, \ + gid_t *gidset); } +81 AUE_GETPGRP NOPROTO { int getpgrp(void); } +82 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); } +83 AUE_SETITIMER STD { int freebsd_oabi_setitimer(u_int which, \ + struct itimerval_oabi *itv, \ + struct itimerval_oabi *oitv); } +84 AUE_NULL OBSOL owait +; XXX implement +85 AUE_SWAPON NOPROTO { int swapon(char *name); } +86 AUE_GETITIMER STD { int freebsd_oabi_getitimer(u_int which, \ + struct itimerval_oabi *itv); } +87 AUE_O_GETHOSTNAME OBSOL ogethostname +88 AUE_O_SETHOSTNAME OBSOL osethostname +89 AUE_GETDTABLESIZE NOPROTO { int getdtablesize(void); } +90 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); } +91 AUE_NULL UNIMPL getdopt +92 AUE_FCNTL NOPROTO { int fcntl(int fd, int cmd, long arg); } +93 AUE_SELECT STD { int freebsd_oabi_select(int nd, fd_set *in, \ + fd_set *ou, fd_set *ex, \ + struct timeval_oabi *tv); } +94 AUE_NULL UNIMPL setdopt +95 AUE_FSYNC NOPROTO { int fsync(int fd); } +96 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \ + int prio); } +97 AUE_SOCKET NOPROTO { int socket(int domain, int type, \ + int protocol); } +98 AUE_CONNECT NOPROTO { int connect(int s, caddr_t name, \ + int namelen); } +99 AUE_NULL OBSOL oaccept +100 AUE_GETPRIORITY NOPROTO { int getpriority(int which, int who); } +101 AUE_NULL OBSOL osend +102 AUE_NULL OBSOL orecv +103 AUE_NULL OBSOL osigreturn +104 AUE_BIND NOPROTO { int bind(int s, caddr_t name, \ + int namelen); } +105 AUE_SETSOCKOPT NOPROTO { int setsockopt(int s, int level, \ + int name, caddr_t val, int valsize); } +106 AUE_LISTEN NOPROTO { int listen(int s, int backlog); } +107 AUE_NULL OBSOL vtimes +108 AUE_O_SIGVEC COMPAT { int freebsd_oabi_sigvec(int signum, \ + struct sigvec *nsv, \ + struct sigvec *osv); } +109 AUE_O_SIGBLOCK COMPAT { int freebsd_oabi_sigblock(int mask); } +110 AUE_O_SIGSETMASK COMPAT { int freebsd_oabi_sigsetmask( int mask); } +111 AUE_SIGSUSPEND COMPAT { int freebsd_oabi_sigsuspend( int mask); } +112 AUE_O_SIGSTACK COMPAT { int freebsd_oabi_sigstack( \ + struct sigstack32 *nss, \ + struct sigstack32 *oss); } +113 AUE_NULL OBSOL orecvmsg +114 AUE_NULL OBSOL osendmsg +115 AUE_NULL OBSOL vtrace +116 AUE_GETTIMEOFDAY STD { int freebsd_oabi_gettimeofday( \ + struct timeval_oabi *tp, \ + struct timezone *tzp); } +117 AUE_GETRUSAGE STD { int freebsd_oabi_getrusage(int who, \ + struct rusage_oabi *rusage); } +118 AUE_GETSOCKOPT NOPROTO { int getsockopt(ine s, int level, \ + int name, caddr_t val, int *avalsize); } +119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) +120 AUE_READV NOPROTO { int readv(int fd, struct iovec *iovp, \ + u_int iovcnt); } +121 AUE_WRITEV NOPROTO { int writev(int fd, struct iovec *iovp, \ + u_int iovcnt); } +122 AUE_SETTIMEOFDAY STD { int freebsd_oabi_settimeofday( \ + struct timeval_oabi *tv, \ + struct timezone *tzp); } +123 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); } +124 AUE_FCHMOD NOPROTO { int fchmod(int fd, int mode); } +125 AUE_RECVFROM OBSOL orecvfrom +126 AUE_SETREUID NOPROTO { int setreuid(int ruid, int euid); } +127 AUE_SETREGID NOPROTO { int setregid(int rgid, int egid); } +128 AUE_RENAME NOPROTO { int rename(char *from, char *to); } +129 AUE_TRUNCATE OBSOL otruncate +130 AUE_FTRUNCATE OBSOL ftruncate +131 AUE_FLOCK NOPROTO { int flock(int fd, int how); } +132 AUE_MKFIFO NOPROTO { int mkfifo(char *path, int mode); } +133 AUE_SENDTO NOPROTO { int sendto(int s, caddr_t buf, \ + size_t len, int flags, caddr_t to, \ + int tolen); } +134 AUE_SHUTDOWN NOPROTO { int shutdown(int s, int how); } +135 AUE_SOCKETPAIR NOPROTO { int socketpair(int domain, int type, \ + int protocol, int *rsv); } +136 AUE_MKDIR NOPROTO { int mkdir(char *path, int mode); } +137 AUE_RMDIR NOPROTO { int rmdir(char *path); } +138 AUE_UTIMES STD { int freebsd_oabi_utimes(char *path, \ + struct timeval32 *tptr); } +139 AUE_NULL OBSOL 4.2 sigreturn +140 AUE_ADJTIME STD { int freebsd_oabi_adjtime( \ + struct timeval32 *delta, \ + struct timeval32 *olddelta); } +141 AUE_GETPEERNAME OBSOL ogetpeername *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 07:30:33 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3E4E106567A; Wed, 25 Aug 2010 07:30:33 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C42D38FC16; Wed, 25 Aug 2010 07:30:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P7UXXQ003039; Wed, 25 Aug 2010 07:30:33 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P7UXLu003037; Wed, 25 Aug 2010 07:30:33 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008250730.o7P7UXLu003037@svn.freebsd.org> From: Andrew Turner Date: Wed, 25 Aug 2010 07:30:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211797 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 07:30:33 -0000 Author: andrew Date: Wed Aug 25 07:30:33 2010 New Revision: 211797 URL: http://svn.freebsd.org/changeset/base/211797 Log: We are not building this on PowerPC so don't define PAD64_REQUIRED Modified: projects/arm_eabi/sys/compat/arm/syscalls.master Modified: projects/arm_eabi/sys/compat/arm/syscalls.master ============================================================================== --- projects/arm_eabi/sys/compat/arm/syscalls.master Wed Aug 25 07:24:52 2010 (r211796) +++ projects/arm_eabi/sys/compat/arm/syscalls.master Wed Aug 25 07:30:33 2010 (r211797) @@ -53,10 +53,6 @@ #include #include -#if !defined(PAD64_REQUIRED) && defined(__powerpc__) -#define PAD64_REQUIRED -#endif - ; Reserved/unimplemented system calls in the range 0-150 inclusive ; are reserved for use in future Berkeley releases. ; Additional system calls implemented in vendor and other From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 07:31:19 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B44410656A3; Wed, 25 Aug 2010 07:31:19 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EEBE38FC1B; Wed, 25 Aug 2010 07:31:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P7VIhm003094; Wed, 25 Aug 2010 07:31:18 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P7VIeY003089; Wed, 25 Aug 2010 07:31:18 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008250731.o7P7VIeY003089@svn.freebsd.org> From: Andrew Turner Date: Wed, 25 Aug 2010 07:31:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211798 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 07:31:19 -0000 Author: andrew Date: Wed Aug 25 07:31:18 2010 New Revision: 211798 URL: http://svn.freebsd.org/changeset/base/211798 Log: Add generated files Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h (contents, props changed) projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h (contents, props changed) projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c (contents, props changed) projects/arm_eabi/sys/compat/arm/freebsd_oabi_sysent.c (contents, props changed) Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h Wed Aug 25 07:31:18 2010 (r211798) @@ -0,0 +1,552 @@ +/* + * System call prototypes. + * + * DO NOT EDIT-- this file is automatically generated. + * $FreeBSD$ + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + */ + +#ifndef _FREEBSD32_SYSPROTO_H_ +#define _FREEBSD32_SYSPROTO_H_ + +#include +#include +#include +#include +#include + +#include + +struct proc; + +struct thread; + +#define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ + 0 : sizeof(register_t) - sizeof(t)) + +#if BYTE_ORDER == LITTLE_ENDIAN +#define PADL_(t) 0 +#define PADR_(t) PAD_(t) +#else +#define PADL_(t) PAD_(t) +#define PADR_(t) 0 +#endif + +struct freebsd_oabi_wait4_args { + char pid_l_[PADL_(int)]; int pid; char pid_r_[PADR_(int)]; + char status_l_[PADL_(int *)]; int * status; char status_r_[PADR_(int *)]; + char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)]; + char rusage_l_[PADL_(struct rusage_oabi *)]; struct rusage_oabi * rusage; char rusage_r_[PADR_(struct rusage_oabi *)]; +}; +struct freebsd_oabi_setitimer_args { + char which_l_[PADL_(u_int)]; u_int which; char which_r_[PADR_(u_int)]; + char itv_l_[PADL_(struct itimerval_oabi *)]; struct itimerval_oabi * itv; char itv_r_[PADR_(struct itimerval_oabi *)]; + char oitv_l_[PADL_(struct itimerval_oabi *)]; struct itimerval_oabi * oitv; char oitv_r_[PADR_(struct itimerval_oabi *)]; +}; +struct freebsd_oabi_getitimer_args { + char which_l_[PADL_(u_int)]; u_int which; char which_r_[PADR_(u_int)]; + char itv_l_[PADL_(struct itimerval_oabi *)]; struct itimerval_oabi * itv; char itv_r_[PADR_(struct itimerval_oabi *)]; +}; +struct freebsd_oabi_select_args { + char nd_l_[PADL_(int)]; int nd; char nd_r_[PADR_(int)]; + char in_l_[PADL_(fd_set *)]; fd_set * in; char in_r_[PADR_(fd_set *)]; + char ou_l_[PADL_(fd_set *)]; fd_set * ou; char ou_r_[PADR_(fd_set *)]; + char ex_l_[PADL_(fd_set *)]; fd_set * ex; char ex_r_[PADR_(fd_set *)]; + char tv_l_[PADL_(struct timeval_oabi *)]; struct timeval_oabi * tv; char tv_r_[PADR_(struct timeval_oabi *)]; +}; +struct freebsd_oabi_gettimeofday_args { + char tp_l_[PADL_(struct timeval_oabi *)]; struct timeval_oabi * tp; char tp_r_[PADR_(struct timeval_oabi *)]; + char tzp_l_[PADL_(struct timezone *)]; struct timezone * tzp; char tzp_r_[PADR_(struct timezone *)]; +}; +struct freebsd_oabi_getrusage_args { + char who_l_[PADL_(int)]; int who; char who_r_[PADR_(int)]; + char rusage_l_[PADL_(struct rusage_oabi *)]; struct rusage_oabi * rusage; char rusage_r_[PADR_(struct rusage_oabi *)]; +}; +struct freebsd_oabi_settimeofday_args { + char tv_l_[PADL_(struct timeval_oabi *)]; struct timeval_oabi * tv; char tv_r_[PADR_(struct timeval_oabi *)]; + char tzp_l_[PADL_(struct timezone *)]; struct timezone * tzp; char tzp_r_[PADR_(struct timezone *)]; +}; +struct freebsd_oabi_utimes_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)]; +}; +struct freebsd_oabi_adjtime_args { + char delta_l_[PADL_(struct timeval32 *)]; struct timeval32 * delta; char delta_r_[PADR_(struct timeval32 *)]; + char olddelta_l_[PADL_(struct timeval32 *)]; struct timeval32 * olddelta; char olddelta_r_[PADR_(struct timeval32 *)]; +}; +struct freebsd_oabi_semsys_args { + char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)]; + char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)]; + char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)]; + char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; + char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)]; +}; +struct freebsd_oabi_msgsys_args { + char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)]; + char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)]; + char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)]; + char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; + char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)]; + char a6_l_[PADL_(int)]; int a6; char a6_r_[PADR_(int)]; +}; +struct freebsd_oabi_shmsys_args { + char which_l_[PADL_(uint32_t)]; uint32_t which; char which_r_[PADR_(uint32_t)]; + char a2_l_[PADL_(uint32_t)]; uint32_t a2; char a2_r_[PADR_(uint32_t)]; + char a3_l_[PADL_(uint32_t)]; uint32_t a3; char a3_r_[PADR_(uint32_t)]; + char a4_l_[PADL_(uint32_t)]; uint32_t a4; char a4_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_stat_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char ub_l_[PADL_(struct stat_oabi *)]; struct stat_oabi * ub; char ub_r_[PADR_(struct stat_oabi *)]; +}; +struct freebsd_oabi_fstat_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char ub_l_[PADL_(struct stat_oabi *)]; struct stat_oabi * ub; char ub_r_[PADR_(struct stat_oabi *)]; +}; +struct freebsd_oabi_lstat_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char ub_l_[PADL_(struct stat_oabi *)]; struct stat_oabi * ub; char ub_r_[PADR_(struct stat_oabi *)]; +}; +struct freebsd_oabi_futimes_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)]; +}; +struct freebsd_oabi_msgsnd_args { + char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)]; + char msgp_l_[PADL_(void *)]; void * msgp; char msgp_r_[PADR_(void *)]; + char msgsz_l_[PADL_(size_t)]; size_t msgsz; char msgsz_r_[PADR_(size_t)]; + char msgflg_l_[PADL_(int)]; int msgflg; char msgflg_r_[PADR_(int)]; +}; +struct freebsd_oabi_msgrcv_args { + char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)]; + char msgp_l_[PADL_(void *)]; void * msgp; char msgp_r_[PADR_(void *)]; + char msgsz_l_[PADL_(size_t)]; size_t msgsz; char msgsz_r_[PADR_(size_t)]; + char msgtyp_l_[PADL_(long)]; long msgtyp; char msgtyp_r_[PADR_(long)]; + char msgflg_l_[PADL_(int)]; int msgflg; char msgflg_r_[PADR_(int)]; +}; +struct freebsd_oabi_aio_read_args { + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_aio_write_args { + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_lio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct aiocb_oabi *const *)]; struct aiocb_oabi *const * acb_list; char acb_list_r_[PADR_(struct aiocb_oabi *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct sigevent *)]; struct sigevent * sig; char sig_r_[PADR_(struct sigevent *)]; +}; +struct freebsd_oabi_lutimes_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)]; +}; +struct freebsd_oabi_preadv_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; + char iovcnt_l_[PADL_(u_int)]; u_int iovcnt; char iovcnt_r_[PADR_(u_int)]; + char offset1_l_[PADL_(uint32_t)]; uint32_t offset1; char offset1_r_[PADR_(uint32_t)]; + char offset2_l_[PADL_(uint32_t)]; uint32_t offset2; char offset2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_pwritev_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; + char iovcnt_l_[PADL_(u_int)]; u_int iovcnt; char iovcnt_r_[PADR_(u_int)]; + char offset1_l_[PADL_(uint32_t)]; uint32_t offset1; char offset1_r_[PADR_(uint32_t)]; + char offset2_l_[PADL_(uint32_t)]; uint32_t offset2; char offset2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_aio_return_args { + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_aio_suspend_args { + char aiocbp_l_[PADL_(struct aiocb_oabi *const *)]; struct aiocb_oabi *const * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char timeout_l_[PADL_(const struct timespec *)]; const struct timespec * timeout; char timeout_r_[PADR_(const struct timespec *)]; +}; +struct freebsd_oabi_aio_cancel_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_aio_error_args { + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_oaio_read_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd_oabi_oaio_write_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd_oabi_olio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; +}; +struct freebsd_oabi_aio_waitcomplete_args { + char aiocbp_l_[PADL_(struct aiocb_oabi **)]; struct aiocb_oabi ** aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi **)]; + char timeout_l_[PADL_(struct timespec *)]; struct timespec * timeout; char timeout_r_[PADR_(struct timespec *)]; +}; +struct freebsd_oabi_ksem_init_args { + char idp_l_[PADL_(semid_t *)]; semid_t * idp; char idp_r_[PADR_(semid_t *)]; + char value_l_[PADL_(unsigned int)]; unsigned int value; char value_r_[PADR_(unsigned int)]; +}; +struct freebsd_oabi_ksem_open_args { + char idp_l_[PADL_(semid_t *)]; semid_t * idp; char idp_r_[PADR_(semid_t *)]; + char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)]; + char oflag_l_[PADL_(int)]; int oflag; char oflag_r_[PADR_(int)]; + char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; + char value_l_[PADL_(unsigned int)]; unsigned int value; char value_r_[PADR_(unsigned int)]; +}; +struct freebsd_oabi_aio_fsync_args { + char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)]; + char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; +}; +struct freebsd_oabi_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offset1_l_[PADL_(uint32_t)]; uint32_t offset1; char offset1_r_[PADR_(uint32_t)]; + char offset2_l_[PADL_(uint32_t)]; uint32_t offset2; char offset2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char offset1_l_[PADL_(uint32_t)]; uint32_t offset1; char offset1_r_[PADR_(uint32_t)]; + char offset2_l_[PADL_(uint32_t)]; uint32_t offset2; char offset2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pos1_l_[PADL_(uint32_t)]; uint32_t pos1; char pos1_r_[PADR_(uint32_t)]; + char pos2_l_[PADL_(uint32_t)]; uint32_t pos2; char pos2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char offset1_l_[PADL_(uint32_t)]; uint32_t offset1; char offset1_r_[PADR_(uint32_t)]; + char offset2_l_[PADL_(uint32_t)]; uint32_t offset2; char offset2_r_[PADR_(uint32_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd_oabi_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char length1_l_[PADL_(uint32_t)]; uint32_t length1; char length1_r_[PADR_(uint32_t)]; + char length2_l_[PADL_(uint32_t)]; uint32_t length2; char length2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char length1_l_[PADL_(uint32_t)]; uint32_t length1; char length1_r_[PADR_(uint32_t)]; + char length2_l_[PADL_(uint32_t)]; uint32_t length2; char length2_r_[PADR_(uint32_t)]; +}; +struct freebsd_oabi_cpuset_setid_args { + char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; + char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)]; + char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)]; + char setid_l_[PADL_(cpusetid_t)]; cpusetid_t setid; char setid_r_[PADR_(cpusetid_t)]; +}; +struct freebsd_oabi_fstatat_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct stat *)]; struct stat * buf; char buf_r_[PADR_(struct stat *)]; + char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)]; +}; +struct freebsd_oabi_futimesat_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char times_l_[PADL_(struct timeval *)]; struct timeval * times; char times_r_[PADR_(struct timeval *)]; +}; +struct freebsd_oabi_msgctl_args { + char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)]; + char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; + char buf_l_[PADL_(struct msqid_ds_oabi *)]; struct msqid_ds_oabi * buf; char buf_r_[PADR_(struct msqid_ds_oabi *)]; +}; +struct freebsd_oabi_shmctl_args { + char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)]; + char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; + char buf_l_[PADL_(struct shmid_ds32 *)]; struct shmid_ds32 * buf; char buf_r_[PADR_(struct shmid_ds32 *)]; +}; +int freebsd_oabi_wait4(struct thread *, struct freebsd_oabi_wait4_args *); +int freebsd_oabi_setitimer(struct thread *, struct freebsd_oabi_setitimer_args *); +int freebsd_oabi_getitimer(struct thread *, struct freebsd_oabi_getitimer_args *); +int freebsd_oabi_select(struct thread *, struct freebsd_oabi_select_args *); +int freebsd_oabi_gettimeofday(struct thread *, struct freebsd_oabi_gettimeofday_args *); +int freebsd_oabi_getrusage(struct thread *, struct freebsd_oabi_getrusage_args *); +int freebsd_oabi_settimeofday(struct thread *, struct freebsd_oabi_settimeofday_args *); +int freebsd_oabi_utimes(struct thread *, struct freebsd_oabi_utimes_args *); +int freebsd_oabi_adjtime(struct thread *, struct freebsd_oabi_adjtime_args *); +int freebsd_oabi_semsys(struct thread *, struct freebsd_oabi_semsys_args *); +int freebsd_oabi_msgsys(struct thread *, struct freebsd_oabi_msgsys_args *); +int freebsd_oabi_shmsys(struct thread *, struct freebsd_oabi_shmsys_args *); +int freebsd_oabi_stat(struct thread *, struct freebsd_oabi_stat_args *); +int freebsd_oabi_fstat(struct thread *, struct freebsd_oabi_fstat_args *); +int freebsd_oabi_lstat(struct thread *, struct freebsd_oabi_lstat_args *); +int freebsd_oabi_futimes(struct thread *, struct freebsd_oabi_futimes_args *); +int freebsd_oabi_msgsnd(struct thread *, struct freebsd_oabi_msgsnd_args *); +int freebsd_oabi_msgrcv(struct thread *, struct freebsd_oabi_msgrcv_args *); +int freebsd_oabi_aio_read(struct thread *, struct freebsd_oabi_aio_read_args *); +int freebsd_oabi_aio_write(struct thread *, struct freebsd_oabi_aio_write_args *); +int freebsd_oabi_lio_listio(struct thread *, struct freebsd_oabi_lio_listio_args *); +int freebsd_oabi_lutimes(struct thread *, struct freebsd_oabi_lutimes_args *); +int freebsd_oabi_preadv(struct thread *, struct freebsd_oabi_preadv_args *); +int freebsd_oabi_pwritev(struct thread *, struct freebsd_oabi_pwritev_args *); +int freebsd_oabi_aio_return(struct thread *, struct freebsd_oabi_aio_return_args *); +int freebsd_oabi_aio_suspend(struct thread *, struct freebsd_oabi_aio_suspend_args *); +int freebsd_oabi_aio_cancel(struct thread *, struct freebsd_oabi_aio_cancel_args *); +int freebsd_oabi_aio_error(struct thread *, struct freebsd_oabi_aio_error_args *); +int freebsd_oabi_oaio_read(struct thread *, struct freebsd_oabi_oaio_read_args *); +int freebsd_oabi_oaio_write(struct thread *, struct freebsd_oabi_oaio_write_args *); +int freebsd_oabi_olio_listio(struct thread *, struct freebsd_oabi_olio_listio_args *); +int freebsd_oabi_aio_waitcomplete(struct thread *, struct freebsd_oabi_aio_waitcomplete_args *); +int freebsd_oabi_ksem_init(struct thread *, struct freebsd_oabi_ksem_init_args *); +int freebsd_oabi_ksem_open(struct thread *, struct freebsd_oabi_ksem_open_args *); +int freebsd_oabi_aio_fsync(struct thread *, struct freebsd_oabi_aio_fsync_args *); +int freebsd_oabi_pread(struct thread *, struct freebsd_oabi_pread_args *); +int freebsd_oabi_pwrite(struct thread *, struct freebsd_oabi_pwrite_args *); +int freebsd_oabi_mmap(struct thread *, struct freebsd_oabi_mmap_args *); +int freebsd_oabi_lseek(struct thread *, struct freebsd_oabi_lseek_args *); +int freebsd_oabi_truncate(struct thread *, struct freebsd_oabi_truncate_args *); +int freebsd_oabi_ftruncate(struct thread *, struct freebsd_oabi_ftruncate_args *); +int freebsd_oabi_cpuset_setid(struct thread *, struct freebsd_oabi_cpuset_setid_args *); +int freebsd_oabi_fstatat(struct thread *, struct freebsd_oabi_fstatat_args *); +int freebsd_oabi_futimesat(struct thread *, struct freebsd_oabi_futimesat_args *); +int freebsd_oabi_msgctl(struct thread *, struct freebsd_oabi_msgctl_args *); +int freebsd_oabi_shmctl(struct thread *, struct freebsd_oabi_shmctl_args *); + +#ifdef COMPAT_43 + +struct osigaction_args { + char signum_l_[PADL_(int)]; int signum; char signum_r_[PADR_(int)]; + char nsa_l_[PADL_(struct osigaction *)]; struct osigaction * nsa; char nsa_r_[PADR_(struct osigaction *)]; + char osa_l_[PADL_(struct osigaction *)]; struct osigaction * osa; char osa_r_[PADR_(struct osigaction *)]; +}; +struct ofreebsd_oabi_sigprocmask_args { + char how_l_[PADL_(int)]; int how; char how_r_[PADR_(int)]; + char mask_l_[PADL_(osigset_t)]; osigset_t mask; char mask_r_[PADR_(osigset_t)]; +}; +struct ofreebsd_oabi_sigvec_args { + char signum_l_[PADL_(int)]; int signum; char signum_r_[PADR_(int)]; + char nsv_l_[PADL_(struct sigvec *)]; struct sigvec * nsv; char nsv_r_[PADR_(struct sigvec *)]; + char osv_l_[PADL_(struct sigvec *)]; struct sigvec * osv; char osv_r_[PADR_(struct sigvec *)]; +}; +struct ofreebsd_oabi_sigblock_args { + char mask_l_[PADL_(int)]; int mask; char mask_r_[PADR_(int)]; +}; +struct ofreebsd_oabi_sigsetmask_args { + char mask_l_[PADL_(int)]; int mask; char mask_r_[PADR_(int)]; +}; +struct ofreebsd_oabi_sigsuspend_args { + char mask_l_[PADL_(int)]; int mask; char mask_r_[PADR_(int)]; +}; +struct ofreebsd_oabi_sigstack_args { + char nss_l_[PADL_(struct sigstack32 *)]; struct sigstack32 * nss; char nss_r_[PADR_(struct sigstack32 *)]; + char oss_l_[PADL_(struct sigstack32 *)]; struct sigstack32 * oss; char oss_r_[PADR_(struct sigstack32 *)]; +}; +int osigaction(struct thread *, struct osigaction_args *); +int ofreebsd_oabi_sigprocmask(struct thread *, struct ofreebsd_oabi_sigprocmask_args *); +int ofreebsd_oabi_sigvec(struct thread *, struct ofreebsd_oabi_sigvec_args *); +int ofreebsd_oabi_sigblock(struct thread *, struct ofreebsd_oabi_sigblock_args *); +int ofreebsd_oabi_sigsetmask(struct thread *, struct ofreebsd_oabi_sigsetmask_args *); +int ofreebsd_oabi_sigsuspend(struct thread *, struct ofreebsd_oabi_sigsuspend_args *); +int ofreebsd_oabi_sigstack(struct thread *, struct ofreebsd_oabi_sigstack_args *); + +#endif /* COMPAT_43 */ + + +#ifdef COMPAT_FREEBSD4 + +struct freebsd4_getfsstat_args { + char buf_l_[PADL_(struct statfs *)]; struct statfs * buf; char buf_r_[PADR_(struct statfs *)]; + char bufsize_l_[PADL_(long)]; long bufsize; char bufsize_r_[PADR_(long)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +struct freebsd4_statfs_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct statfs *)]; struct statfs * buf; char buf_r_[PADR_(struct statfs *)]; +}; +struct freebsd4_fstatfs_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(struct statfs *)]; struct statfs * buf; char buf_r_[PADR_(struct statfs *)]; +}; +struct freebsd4_fhstatfs_args { + char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)]; + char buf_l_[PADL_(struct statfs *)]; struct statfs * buf; char buf_r_[PADR_(struct statfs *)]; +}; +struct freebsd4_sendfile_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; + char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)]; + char hdtr_l_[PADL_(struct sf_hdtr *)]; struct sf_hdtr * hdtr; char hdtr_r_[PADR_(struct sf_hdtr *)]; + char sbytes_l_[PADL_(off_t *)]; off_t * sbytes; char sbytes_r_[PADR_(off_t *)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +struct freebsd4_sigaction_args { + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; + char act_l_[PADL_(struct sigaction *)]; struct sigaction * act; char act_r_[PADR_(struct sigaction *)]; + char oact_l_[PADL_(struct sigaction *)]; struct sigaction * oact; char oact_r_[PADR_(struct sigaction *)]; +}; +struct freebsd4_freebsd_oabi_sigreturn_args { + char sigcntxp_l_[PADL_(const struct freebsd4_freebsd_oabi_ucontext *)]; const struct freebsd4_freebsd_oabi_ucontext * sigcntxp; char sigcntxp_r_[PADR_(const struct freebsd4_freebsd_oabi_ucontext *)]; +}; +int freebsd4_getfsstat(struct thread *, struct freebsd4_getfsstat_args *); +int freebsd4_statfs(struct thread *, struct freebsd4_statfs_args *); +int freebsd4_fstatfs(struct thread *, struct freebsd4_fstatfs_args *); +int freebsd4_fhstatfs(struct thread *, struct freebsd4_fhstatfs_args *); +int freebsd4_sendfile(struct thread *, struct freebsd4_sendfile_args *); +int freebsd4_sigaction(struct thread *, struct freebsd4_sigaction_args *); +int freebsd4_freebsd_oabi_sigreturn(struct thread *, struct freebsd4_freebsd_oabi_sigreturn_args *); + +#endif /* COMPAT_FREEBSD4 */ + + +#ifdef COMPAT_FREEBSD6 + +struct freebsd6_freebsd6_pread_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; +}; +struct freebsd6_freebsd6_pwrite_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)]; + char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; +}; +struct freebsd6_freebsd6_mmap_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)]; +}; +struct freebsd6_freebsd6_lseek_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)]; + char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)]; +}; +struct freebsd6_freebsd6_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; +}; +struct freebsd6_freebsd6_ftruncate_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; +}; +int freebsd6_freebsd6_pread(struct thread *, struct freebsd6_freebsd6_pread_args *); +int freebsd6_freebsd6_pwrite(struct thread *, struct freebsd6_freebsd6_pwrite_args *); +int freebsd6_freebsd6_mmap(struct thread *, struct freebsd6_freebsd6_mmap_args *); +int freebsd6_freebsd6_lseek(struct thread *, struct freebsd6_freebsd6_lseek_args *); +int freebsd6_freebsd6_truncate(struct thread *, struct freebsd6_freebsd6_truncate_args *); +int freebsd6_freebsd6_ftruncate(struct thread *, struct freebsd6_freebsd6_ftruncate_args *); + +#endif /* COMPAT_FREEBSD6 */ + + +#ifdef COMPAT_FREEBSD7 + +struct freebsd7___semctl_args { + char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)]; + char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)]; + char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; + char arg_l_[PADL_(union semun *)]; union semun * arg; char arg_r_[PADR_(union semun *)]; +}; +struct freebsd7_freebsd_oabi_msgctl_args { + char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)]; + char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; + char buf_l_[PADL_(struct msqid_ds32_old *)]; struct msqid_ds32_old * buf; char buf_r_[PADR_(struct msqid_ds32_old *)]; +}; +struct freebsd7_freebsd_oabi_shmctl_args { + char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)]; + char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; + char buf_l_[PADL_(struct shmid_ds32_old *)]; struct shmid_ds32_old * buf; char buf_r_[PADR_(struct shmid_ds32_old *)]; +}; +int freebsd7___semctl(struct thread *, struct freebsd7___semctl_args *); +int freebsd7_freebsd_oabi_msgctl(struct thread *, struct freebsd7_freebsd_oabi_msgctl_args *); +int freebsd7_freebsd_oabi_shmctl(struct thread *, struct freebsd7_freebsd_oabi_shmctl_args *); + +#endif /* COMPAT_FREEBSD7 */ + +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_wait4 AUE_WAIT4 +#define FREEBSD_OABI_SYS_AUE_freebsd4_getfsstat AUE_GETFSSTAT +#define FREEBSD_OABI_SYS_AUE_osigaction AUE_SIGACTION +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigprocmask AUE_SIGPROCMASK +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_setitimer AUE_SETITIMER +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_getitimer AUE_GETITIMER +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_select AUE_SELECT +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigvec AUE_O_SIGVEC +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigblock AUE_O_SIGBLOCK +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigsetmask AUE_O_SIGSETMASK +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigsuspend AUE_SIGSUSPEND +#define FREEBSD_OABI_SYS_AUE_ofreebsd_oabi_sigstack AUE_O_SIGSTACK +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_gettimeofday AUE_GETTIMEOFDAY +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_getrusage AUE_GETRUSAGE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_settimeofday AUE_SETTIMEOFDAY +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_utimes AUE_UTIMES +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_adjtime AUE_ADJTIME +#define FREEBSD_OABI_SYS_AUE_freebsd4_statfs AUE_STATFS +#define FREEBSD_OABI_SYS_AUE_freebsd4_fstatfs AUE_FSTATFS +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_semsys AUE_SEMSYS +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgsys AUE_MSGSYS +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_shmsys AUE_SHMSYS +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_pread AUE_PREAD +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_pwrite AUE_PWRITE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_stat AUE_STAT +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_fstat AUE_FSTAT +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_lstat AUE_LSTAT +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_mmap AUE_MMAP +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_lseek AUE_LSEEK +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_truncate AUE_TRUNCATE +#define FREEBSD_OABI_SYS_AUE_freebsd6_freebsd6_ftruncate AUE_FTRUNCATE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_futimes AUE_FUTIMES +#define FREEBSD_OABI_SYS_AUE_freebsd7___semctl AUE_SEMCTL +#define FREEBSD_OABI_SYS_AUE_freebsd7_freebsd_oabi_msgctl AUE_MSGCTL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgsnd AUE_MSGSND +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgrcv AUE_MSGRCV +#define FREEBSD_OABI_SYS_AUE_freebsd7_freebsd_oabi_shmctl AUE_SHMCTL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_read AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_write AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_lio_listio AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_lutimes AUE_LUTIMES +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_preadv AUE_PREADV +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pwritev AUE_PWRITEV +#define FREEBSD_OABI_SYS_AUE_freebsd4_fhstatfs AUE_FHSTATFS +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_return AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_suspend AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_cancel AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_error AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_oaio_read AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_oaio_write AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_olio_listio AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd4_sendfile AUE_SENDFILE +#define FREEBSD_OABI_SYS_AUE_freebsd4_sigaction AUE_SIGACTION +#define FREEBSD_OABI_SYS_AUE_freebsd4_freebsd_oabi_sigreturn AUE_SIGRETURN +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_waitcomplete AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ksem_init AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ksem_open AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_fsync AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pread AUE_PREAD +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pwrite AUE_PWRITE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_mmap AUE_MMAP +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_lseek AUE_LSEEK +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_truncate AUE_TRUNCATE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ftruncate AUE_FTRUNCATE +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_cpuset_setid AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_fstatat AUE_FSTATAT +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_futimesat AUE_FUTIMESAT +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgctl AUE_MSGCTL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_shmctl AUE_SHMCTL + +#undef PAD_ +#undef PADL_ +#undef PADR_ + +#endif /* !_FREEBSD32_SYSPROTO_H_ */ Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h Wed Aug 25 07:31:18 2010 (r211798) @@ -0,0 +1,406 @@ +/* + * System call numbers. + * + * DO NOT EDIT-- this file is automatically generated. + * $FreeBSD$ + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + */ + +#define FREEBSD_OABI_SYS_syscall 0 +#define FREEBSD_OABI_SYS_exit 1 +#define FREEBSD_OABI_SYS_fork 2 +#define FREEBSD_OABI_SYS_read 3 +#define FREEBSD_OABI_SYS_write 4 +#define FREEBSD_OABI_SYS_open 5 +#define FREEBSD_OABI_SYS_close 6 +#define FREEBSD_OABI_SYS_freebsd_oabi_wait4 7 + /* 8 is obsolete old creat */ +#define FREEBSD_OABI_SYS_link 9 +#define FREEBSD_OABI_SYS_unlink 10 + /* 11 is obsolete execv */ +#define FREEBSD_OABI_SYS_chdir 12 +#define FREEBSD_OABI_SYS_fchdir 13 +#define FREEBSD_OABI_SYS_mknod 14 +#define FREEBSD_OABI_SYS_chmod 15 +#define FREEBSD_OABI_SYS_chown 16 +#define FREEBSD_OABI_SYS_break 17 +#define FREEBSD_OABI_SYS_freebsd4_getfsstat 18 + /* 19 is obsolete olseek */ +#define FREEBSD_OABI_SYS_getpid 20 +#define FREEBSD_OABI_SYS_mount 21 +#define FREEBSD_OABI_SYS_unmount 22 +#define FREEBSD_OABI_SYS_setuid 23 +#define FREEBSD_OABI_SYS_getuid 24 +#define FREEBSD_OABI_SYS_geteuid 25 +#define FREEBSD_OABI_SYS_ptrace 26 +#define FREEBSD_OABI_SYS_recvmsg 27 +#define FREEBSD_OABI_SYS_sendmsg 28 +#define FREEBSD_OABI_SYS_recvfrom 29 +#define FREEBSD_OABI_SYS_accept 30 +#define FREEBSD_OABI_SYS_getpeername 31 +#define FREEBSD_OABI_SYS_getsockname 32 +#define FREEBSD_OABI_SYS_access 33 +#define FREEBSD_OABI_SYS_chflags 34 +#define FREEBSD_OABI_SYS_fchflags 35 +#define FREEBSD_OABI_SYS_sync 36 +#define FREEBSD_OABI_SYS_kill 37 +#define FREEBSD_OABI_SYS_getppid 39 +#define FREEBSD_OABI_SYS_dup 41 +#define FREEBSD_OABI_SYS_pipe 42 +#define FREEBSD_OABI_SYS_getegid 43 +#define FREEBSD_OABI_SYS_profil 44 +#define FREEBSD_OABI_SYS_ktrace 45 + /* 46 is old sigaction */ +#define FREEBSD_OABI_SYS_getgid 47 + /* 48 is old freebsd_oabi_sigprocmask */ +#define FREEBSD_OABI_SYS_getlogin 49 +#define FREEBSD_OABI_SYS_setlogin 50 +#define FREEBSD_OABI_SYS_acct 51 +#define FREEBSD_OABI_SYS_sigpending 52 +#define FREEBSD_OABI_SYS_sigaltstack 53 +#define FREEBSD_OABI_SYS_ioctl 54 +#define FREEBSD_OABI_SYS_reboot 55 +#define FREEBSD_OABI_SYS_revoke 56 +#define FREEBSD_OABI_SYS_symlink 57 +#define FREEBSD_OABI_SYS_readlink 58 +#define FREEBSD_OABI_SYS_execve 59 +#define FREEBSD_OABI_SYS_umask 60 +#define FREEBSD_OABI_SYS_chroot 61 + /* 62 is obsolete ofstat */ + /* 63 is obsolete ogetkerninfo */ + /* 64 is obsolete ogetpagesize */ +#define FREEBSD_OABI_SYS_msync 65 +#define FREEBSD_OABI_SYS_vfork 66 + /* 67 is obsolete vread */ + /* 68 is obsolete vwrite */ +#define FREEBSD_OABI_SYS_sbrk 69 +#define FREEBSD_OABI_SYS_sstk 70 + /* 71 is obsolete ommap */ +#define FREEBSD_OABI_SYS_vadvise 72 +#define FREEBSD_OABI_SYS_munmap 73 +#define FREEBSD_OABI_SYS_mprotect 74 +#define FREEBSD_OABI_SYS_madvise 75 + /* 76 is obsolete vhangup */ + /* 77 is obsolete vlimit */ +#define FREEBSD_OABI_SYS_mincore 78 +#define FREEBSD_OABI_SYS_getgroups 79 +#define FREEBSD_OABI_SYS_setgroups 80 +#define FREEBSD_OABI_SYS_getpgrp 81 +#define FREEBSD_OABI_SYS_setpgid 82 +#define FREEBSD_OABI_SYS_freebsd_oabi_setitimer 83 + /* 84 is obsolete owait */ +#define FREEBSD_OABI_SYS_swapon 85 +#define FREEBSD_OABI_SYS_freebsd_oabi_getitimer 86 + /* 87 is obsolete ogethostname */ + /* 88 is obsolete osethostname */ +#define FREEBSD_OABI_SYS_getdtablesize 89 +#define FREEBSD_OABI_SYS_dup2 90 +#define FREEBSD_OABI_SYS_fcntl 92 +#define FREEBSD_OABI_SYS_freebsd_oabi_select 93 +#define FREEBSD_OABI_SYS_fsync 95 +#define FREEBSD_OABI_SYS_setpriority 96 +#define FREEBSD_OABI_SYS_socket 97 +#define FREEBSD_OABI_SYS_connect 98 + /* 99 is obsolete oaccept */ +#define FREEBSD_OABI_SYS_getpriority 100 + /* 101 is obsolete osend */ + /* 102 is obsolete orecv */ + /* 103 is obsolete osigreturn */ +#define FREEBSD_OABI_SYS_bind 104 +#define FREEBSD_OABI_SYS_setsockopt 105 +#define FREEBSD_OABI_SYS_listen 106 + /* 107 is obsolete vtimes */ + /* 108 is old freebsd_oabi_sigvec */ + /* 109 is old freebsd_oabi_sigblock */ + /* 110 is old freebsd_oabi_sigsetmask */ + /* 111 is old freebsd_oabi_sigsuspend */ + /* 112 is old freebsd_oabi_sigstack */ + /* 113 is obsolete orecvmsg */ + /* 114 is obsolete osendmsg */ + /* 115 is obsolete vtrace */ +#define FREEBSD_OABI_SYS_freebsd_oabi_gettimeofday 116 +#define FREEBSD_OABI_SYS_freebsd_oabi_getrusage 117 +#define FREEBSD_OABI_SYS_getsockopt 118 +#define FREEBSD_OABI_SYS_readv 120 +#define FREEBSD_OABI_SYS_writev 121 +#define FREEBSD_OABI_SYS_freebsd_oabi_settimeofday 122 +#define FREEBSD_OABI_SYS_fchown 123 +#define FREEBSD_OABI_SYS_fchmod 124 + /* 125 is obsolete orecvfrom */ +#define FREEBSD_OABI_SYS_setreuid 126 +#define FREEBSD_OABI_SYS_setregid 127 +#define FREEBSD_OABI_SYS_rename 128 + /* 129 is obsolete otruncate */ + /* 130 is obsolete ftruncate */ +#define FREEBSD_OABI_SYS_flock 131 +#define FREEBSD_OABI_SYS_mkfifo 132 +#define FREEBSD_OABI_SYS_sendto 133 +#define FREEBSD_OABI_SYS_shutdown 134 +#define FREEBSD_OABI_SYS_socketpair 135 +#define FREEBSD_OABI_SYS_mkdir 136 +#define FREEBSD_OABI_SYS_rmdir 137 +#define FREEBSD_OABI_SYS_freebsd_oabi_utimes 138 + /* 139 is obsolete 4.2 sigreturn */ +#define FREEBSD_OABI_SYS_freebsd_oabi_adjtime 140 + /* 141 is obsolete ogetpeername */ + /* 142 is obsolete ogethostid */ + /* 143 is obsolete sethostid */ + /* 144 is obsolete getrlimit */ + /* 145 is obsolete setrlimit */ + /* 146 is obsolete killpg */ +#define FREEBSD_OABI_SYS_setsid 147 +#define FREEBSD_OABI_SYS_quotactl 148 + /* 149 is obsolete oquota */ + /* 150 is obsolete ogetsockname */ + /* 156 is obsolete ogetdirentries */ +#define FREEBSD_OABI_SYS_freebsd4_statfs 157 +#define FREEBSD_OABI_SYS_freebsd4_fstatfs 158 +#define FREEBSD_OABI_SYS_getfh 161 + /* 162 is obsolete getdomainname */ + /* 163 is obsolete setdomainname */ + /* 164 is obsolete uname */ +#define FREEBSD_OABI_SYS_sysarch 165 +#define FREEBSD_OABI_SYS_rtprio 166 +#define FREEBSD_OABI_SYS_freebsd_oabi_semsys 169 +#define FREEBSD_OABI_SYS_freebsd_oabi_msgsys 170 +#define FREEBSD_OABI_SYS_freebsd_oabi_shmsys 171 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_pread 173 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_pwrite 174 +#define FREEBSD_OABI_SYS_ntp_adjtime 176 +#define FREEBSD_OABI_SYS_setgid 181 +#define FREEBSD_OABI_SYS_setegid 182 +#define FREEBSD_OABI_SYS_seteuid 183 +#define FREEBSD_OABI_SYS_freebsd_oabi_stat 188 +#define FREEBSD_OABI_SYS_freebsd_oabi_fstat 189 +#define FREEBSD_OABI_SYS_freebsd_oabi_lstat 190 +#define FREEBSD_OABI_SYS_pathconf 191 +#define FREEBSD_OABI_SYS_fpathconf 192 +#define FREEBSD_OABI_SYS_getrlimit 194 +#define FREEBSD_OABI_SYS_setrlimit 195 +#define FREEBSD_OABI_SYS_getdirentries 196 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_mmap 197 +#define FREEBSD_OABI_SYS___syscall 198 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_lseek 199 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_truncate 200 +#define FREEBSD_OABI_SYS_freebsd6_freebsd6_ftruncate 201 +#define FREEBSD_OABI_SYS___sysctl 202 +#define FREEBSD_OABI_SYS_mlock 203 +#define FREEBSD_OABI_SYS_munlock 204 +#define FREEBSD_OABI_SYS_undelete 205 +#define FREEBSD_OABI_SYS_freebsd_oabi_futimes 206 +#define FREEBSD_OABI_SYS_getpgid 207 +#define FREEBSD_OABI_SYS_poll 209 +#define FREEBSD_OABI_SYS_freebsd7___semctl 220 +#define FREEBSD_OABI_SYS_semget 221 +#define FREEBSD_OABI_SYS_semop 222 +#define FREEBSD_OABI_SYS_freebsd7_freebsd_oabi_msgctl 224 +#define FREEBSD_OABI_SYS_msgget 225 +#define FREEBSD_OABI_SYS_freebsd_oabi_msgsnd 226 +#define FREEBSD_OABI_SYS_freebsd_oabi_msgrcv 227 +#define FREEBSD_OABI_SYS_shmat 228 +#define FREEBSD_OABI_SYS_freebsd7_freebsd_oabi_shmctl 229 +#define FREEBSD_OABI_SYS_shmdt 230 +#define FREEBSD_OABI_SYS_shmget 231 +#define FREEBSD_OABI_SYS_clock_gettime 232 +#define FREEBSD_OABI_SYS_clock_settime 233 +#define FREEBSD_OABI_SYS_clock_getres 234 +#define FREEBSD_OABI_SYS_nanosleep 240 +#define FREEBSD_OABI_SYS_minherit 250 +#define FREEBSD_OABI_SYS_rfork 251 +#define FREEBSD_OABI_SYS_openbsd_poll 252 +#define FREEBSD_OABI_SYS_issetugid 253 +#define FREEBSD_OABI_SYS_lchown 254 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_read 255 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_write 256 +#define FREEBSD_OABI_SYS_freebsd_oabi_lio_listio 257 +#define FREEBSD_OABI_SYS_getdents 272 +#define FREEBSD_OABI_SYS_lchmod 274 +#define FREEBSD_OABI_SYS_netbsd_lchown 275 +#define FREEBSD_OABI_SYS_freebsd_oabi_lutimes 276 +#define FREEBSD_OABI_SYS_netbsd_msync 277 +#define FREEBSD_OABI_SYS_nstat 278 +#define FREEBSD_OABI_SYS_nfstat 279 +#define FREEBSD_OABI_SYS_nlstat 280 +#define FREEBSD_OABI_SYS_freebsd_oabi_preadv 289 +#define FREEBSD_OABI_SYS_freebsd_oabi_pwritev 290 +#define FREEBSD_OABI_SYS_freebsd4_fhstatfs 297 +#define FREEBSD_OABI_SYS_fhopen 298 +#define FREEBSD_OABI_SYS_fhstat 299 +#define FREEBSD_OABI_SYS_modnext 300 +#define FREEBSD_OABI_SYS_modstat 301 +#define FREEBSD_OABI_SYS_modfnext 302 +#define FREEBSD_OABI_SYS_modfind 303 +#define FREEBSD_OABI_SYS_kldload 304 +#define FREEBSD_OABI_SYS_kldunload 305 +#define FREEBSD_OABI_SYS_kldfind 306 +#define FREEBSD_OABI_SYS_kldnext 307 +#define FREEBSD_OABI_SYS_kldstat 308 +#define FREEBSD_OABI_SYS_kldfirstmod 309 +#define FREEBSD_OABI_SYS_getsid 310 +#define FREEBSD_OABI_SYS_setresuid 311 +#define FREEBSD_OABI_SYS_setresgid 312 + /* 313 is obsolete signanosleep */ +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_return 314 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_suspend 315 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_cancel 316 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_error 317 +#define FREEBSD_OABI_SYS_freebsd_oabi_oaio_read 318 +#define FREEBSD_OABI_SYS_freebsd_oabi_oaio_write 319 +#define FREEBSD_OABI_SYS_freebsd_oabi_olio_listio 320 +#define FREEBSD_OABI_SYS_yield 321 + /* 322 is obsolete thr_sleep */ + /* 323 is obsolete thr_wakeup */ +#define FREEBSD_OABI_SYS_mlockall 324 +#define FREEBSD_OABI_SYS_munlockall 325 +#define FREEBSD_OABI_SYS___getcwd 326 +#define FREEBSD_OABI_SYS_sched_setparam 327 +#define FREEBSD_OABI_SYS_sched_getparam 328 +#define FREEBSD_OABI_SYS_sched_setscheduler 329 +#define FREEBSD_OABI_SYS_sched_getscheduler 330 +#define FREEBSD_OABI_SYS_sched_yield 331 +#define FREEBSD_OABI_SYS_sched_get_priority_max 332 +#define FREEBSD_OABI_SYS_sched_get_priority_min 333 +#define FREEBSD_OABI_SYS_sched_rr_get_interval 334 +#define FREEBSD_OABI_SYS_utrace 335 +#define FREEBSD_OABI_SYS_freebsd4_sendfile 336 +#define FREEBSD_OABI_SYS_kldsym 337 +#define FREEBSD_OABI_SYS_jail 338 +#define FREEBSD_OABI_SYS_sigprocmask 340 +#define FREEBSD_OABI_SYS_sigsuspend 341 +#define FREEBSD_OABI_SYS_freebsd4_sigaction 342 +#define FREEBSD_OABI_SYS_sigpending 343 +#define FREEBSD_OABI_SYS_freebsd4_freebsd_oabi_sigreturn 344 +#define FREEBSD_OABI_SYS_sigtimedwait 345 +#define FREEBSD_OABI_SYS_sigwaitinfo 346 +#define FREEBSD_OABI_SYS___acl_get_file 347 +#define FREEBSD_OABI_SYS___acl_set_file 348 +#define FREEBSD_OABI_SYS___acl_get_fd 349 +#define FREEBSD_OABI_SYS___acl_set_fd 350 +#define FREEBSD_OABI_SYS___acl_delete_file 351 +#define FREEBSD_OABI_SYS___acl_delete_fd 352 +#define FREEBSD_OABI_SYS___acl_aclcheck_file 353 +#define FREEBSD_OABI_SYS___acl_aclcheck_fd 354 +#define FREEBSD_OABI_SYS_extattrctl 355 +#define FREEBSD_OABI_SYS_extattr_set_file 356 +#define FREEBSD_OABI_SYS_extattr_get_file 357 +#define FREEBSD_OABI_SYS_extattr_delete_file 358 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_waitcomplete 359 +#define FREEBSD_OABI_SYS_getresuid 360 +#define FREEBSD_OABI_SYS_getresgid 361 +#define FREEBSD_OABI_SYS_kqueue 362 +#define FREEBSD_OABI_SYS_kevent 363 +#define FREEBSD_OABI_SYS_extattr_set_fd 371 +#define FREEBSD_OABI_SYS_extattr_get_fd 372 +#define FREEBSD_OABI_SYS_extattr_delete_fd 373 +#define FREEBSD_OABI_SYS___setugid 374 +#define FREEBSD_OABI_SYS_eaccess 376 +#define FREEBSD_OABI_SYS_nmount 378 +#define FREEBSD_OABI_SYS_kenv 390 +#define FREEBSD_OABI_SYS_lchflags 391 +#define FREEBSD_OABI_SYS_uuidgen 392 +#define FREEBSD_OABI_SYS_sendfile 393 +#define FREEBSD_OABI_SYS_getfsstat 395 +#define FREEBSD_OABI_SYS_statfs 396 +#define FREEBSD_OABI_SYS_fstatfs 397 +#define FREEBSD_OABI_SYS_fhstatfs 398 +#define FREEBSD_OABI_SYS_ksem_close 400 +#define FREEBSD_OABI_SYS_ksem_post 401 +#define FREEBSD_OABI_SYS_ksem_wait 402 +#define FREEBSD_OABI_SYS_ksem_trywait 403 +#define FREEBSD_OABI_SYS_freebsd_oabi_ksem_init 404 +#define FREEBSD_OABI_SYS_freebsd_oabi_ksem_open 405 +#define FREEBSD_OABI_SYS_ksem_unlink 406 +#define FREEBSD_OABI_SYS_ksem_getvalue 407 +#define FREEBSD_OABI_SYS_ksem_destroy 408 +#define FREEBSD_OABI_SYS_extattr_set_link 412 +#define FREEBSD_OABI_SYS_extattr_get_link 413 +#define FREEBSD_OABI_SYS_extattr_delete_link 414 +#define FREEBSD_OABI_SYS_sigaction 416 +#define FREEBSD_OABI_SYS_sigreturn 417 +#define FREEBSD_OABI_SYS_getcontext 421 +#define FREEBSD_OABI_SYS_setcontext 422 +#define FREEBSD_OABI_SYS_swapcontext 423 +#define FREEBSD_OABI_SYS___acl_get_link 425 +#define FREEBSD_OABI_SYS___acl_set_link 426 +#define FREEBSD_OABI_SYS___acl_delete_link 427 +#define FREEBSD_OABI_SYS___acl_aclcheck_link 428 +#define FREEBSD_OABI_SYS_sigwait 429 +#define FREEBSD_OABI_SYS_thr_exit 431 +#define FREEBSD_OABI_SYS_thr_self 432 +#define FREEBSD_OABI_SYS_thr_kill 433 +#define FREEBSD_OABI_SYS__umtx_lock 434 +#define FREEBSD_OABI_SYS__umtx_unlock 435 +#define FREEBSD_OABI_SYS_jail_attach 436 +#define FREEBSD_OABI_SYS_extattr_list_fd 437 +#define FREEBSD_OABI_SYS_extattr_list_file 438 +#define FREEBSD_OABI_SYS_extattr_list_link 439 +#define FREEBSD_OABI_SYS_ksem_timedwait 441 +#define FREEBSD_OABI_SYS_thr_suspend 442 +#define FREEBSD_OABI_SYS_thr_wake 443 +#define FREEBSD_OABI_SYS_kldunloadf 444 +#define FREEBSD_OABI_SYS_audit 445 +#define FREEBSD_OABI_SYS_auditon 446 +#define FREEBSD_OABI_SYS_getauid 447 +#define FREEBSD_OABI_SYS_setauid 448 +#define FREEBSD_OABI_SYS_getaudit 449 +#define FREEBSD_OABI_SYS_setaudit 450 +#define FREEBSD_OABI_SYS_getaudit_addr 451 +#define FREEBSD_OABI_SYS_setaudit_addr 452 +#define FREEBSD_OABI_SYS_auditctl 453 +#define FREEBSD_OABI_SYS__umtx_op 454 +#define FREEBSD_OABI_SYS_thr_new 455 +#define FREEBSD_OABI_SYS_sigqueue 456 +#define FREEBSD_OABI_SYS_kmq_open 457 +#define FREEBSD_OABI_SYS_kmq_setattr 458 +#define FREEBSD_OABI_SYS_kmq_timedreceive 459 +#define FREEBSD_OABI_SYS_kmq_timedsend 460 +#define FREEBSD_OABI_SYS_kmq_notify 461 +#define FREEBSD_OABI_SYS_kmq_unlink 462 +#define FREEBSD_OABI_SYS_abort2 463 +#define FREEBSD_OABI_SYS_thr_set_name 464 +#define FREEBSD_OABI_SYS_freebsd_oabi_aio_fsync 465 +#define FREEBSD_OABI_SYS_rtprio_thread 466 +#define FREEBSD_OABI_SYS_sctp_peeloff 471 +#define FREEBSD_OABI_SYS_sctp_generic_sendmsg 472 +#define FREEBSD_OABI_SYS_sctp_generic_sendmsg_iov 473 +#define FREEBSD_OABI_SYS_sctp_generic_recvmsg 474 +#define FREEBSD_OABI_SYS_freebsd_oabi_pread 475 +#define FREEBSD_OABI_SYS_freebsd_oabi_pwrite 476 +#define FREEBSD_OABI_SYS_freebsd_oabi_mmap 477 +#define FREEBSD_OABI_SYS_freebsd_oabi_lseek 478 +#define FREEBSD_OABI_SYS_freebsd_oabi_truncate 479 +#define FREEBSD_OABI_SYS_freebsd_oabi_ftruncate 480 +#define FREEBSD_OABI_SYS_thr_kill2 481 +#define FREEBSD_OABI_SYS_shm_open 482 +#define FREEBSD_OABI_SYS_shm_unlink 483 +#define FREEBSD_OABI_SYS_cpuset 484 +#define FREEBSD_OABI_SYS_freebsd_oabi_cpuset_setid 485 +#define FREEBSD_OABI_SYS_cpuset_getid 486 +#define FREEBSD_OABI_SYS_cpuset_getaffinity 487 +#define FREEBSD_OABI_SYS_cpuset_setaffinity 488 +#define FREEBSD_OABI_SYS_faccessat 489 +#define FREEBSD_OABI_SYS_fchmodat 490 +#define FREEBSD_OABI_SYS_fchownat 491 +#define FREEBSD_OABI_SYS_fexecve 492 +#define FREEBSD_OABI_SYS_freebsd_oabi_fstatat 493 +#define FREEBSD_OABI_SYS_freebsd_oabi_futimesat 494 +#define FREEBSD_OABI_SYS_linkat 495 +#define FREEBSD_OABI_SYS_mkdirat 496 +#define FREEBSD_OABI_SYS_mkfifoat 497 +#define FREEBSD_OABI_SYS_mknodat 498 +#define FREEBSD_OABI_SYS_openat 499 +#define FREEBSD_OABI_SYS_readlinkat 500 +#define FREEBSD_OABI_SYS_renameat 501 +#define FREEBSD_OABI_SYS_symlinkat 502 +#define FREEBSD_OABI_SYS_unlinkat 503 +#define FREEBSD_OABI_SYS_posix_openpt 504 +#define FREEBSD_OABI_SYS_jail_get 506 +#define FREEBSD_OABI_SYS_jail_set 507 +#define FREEBSD_OABI_SYS_jail_remove 508 +#define FREEBSD_OABI_SYS_closefrom 509 +#define FREEBSD_OABI_SYS___semctl 510 +#define FREEBSD_OABI_SYS_freebsd_oabi_msgctl 511 +#define FREEBSD_OABI_SYS_freebsd_oabi_shmctl 512 +#define FREEBSD_OABI_SYS_lpathconf 513 +#define FREEBSD_OABI_SYS_pselect 522 +#define FREEBSD_OABI_SYS_MAXSYSCALL 523 Added: projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c Wed Aug 25 07:31:18 2010 (r211798) @@ -0,0 +1,533 @@ +/* + * System call names. + * + * DO NOT EDIT-- this file is automatically generated. + * $FreeBSD$ + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + */ + +const char *freebsd_oabi_syscallnames[] = { + "syscall", /* 0 = syscall */ + "exit", /* 1 = exit */ + "fork", /* 2 = fork */ + "read", /* 3 = read */ + "write", /* 4 = write */ + "open", /* 5 = open */ + "close", /* 6 = close */ + "freebsd_oabi_wait4", /* 7 = freebsd_oabi_wait4 */ + "obs_old", /* 8 = obsolete old creat */ + "link", /* 9 = link */ + "unlink", /* 10 = unlink */ + "obs_execv", /* 11 = obsolete execv */ + "chdir", /* 12 = chdir */ + "fchdir", /* 13 = fchdir */ + "mknod", /* 14 = mknod */ + "chmod", /* 15 = chmod */ + "chown", /* 16 = chown */ + "break", /* 17 = break */ + "compat4.getfsstat", /* 18 = freebsd4 getfsstat */ + "obs_olseek", /* 19 = obsolete olseek */ + "getpid", /* 20 = getpid */ + "mount", /* 21 = mount */ + "unmount", /* 22 = unmount */ + "setuid", /* 23 = setuid */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 09:30:49 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21A8A1065675; Wed, 25 Aug 2010 09:30:49 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 120F68FC16; Wed, 25 Aug 2010 09:30:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P9UmQF005879; Wed, 25 Aug 2010 09:30:48 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P9UmTN005877; Wed, 25 Aug 2010 09:30:48 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008250930.o7P9UmTN005877@svn.freebsd.org> From: Attilio Rao Date: Wed, 25 Aug 2010 09:30:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211805 - projects/sv/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 09:30:49 -0000 Author: attilio Date: Wed Aug 25 09:30:48 2010 New Revision: 211805 URL: http://svn.freebsd.org/changeset/base/211805 Log: Fix copyright note. Modified: projects/sv/sys/netinet/netdump.h Modified: projects/sv/sys/netinet/netdump.h ============================================================================== --- projects/sv/sys/netinet/netdump.h Wed Aug 25 09:10:32 2010 (r211804) +++ projects/sv/sys/netinet/netdump.h Wed Aug 25 09:30:48 2010 (r211805) @@ -1,8 +1,5 @@ /* - * Copyright (c) 2005-2006 Sandvine Incorporated. All rights reserved. - * - Modified by Adrian Dewhurst to work with FreeBSD 5.2, send a dump header, - * and improve performance. - * + * Copyright (c) 2005-2010 Sandvine Incorporated * Copyright (c) 2000 Darrell Anderson * All rights reserved. * From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 09:32:12 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C929D1065673; Wed, 25 Aug 2010 09:32:12 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B992D8FC1B; Wed, 25 Aug 2010 09:32:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P9WCqD005946; Wed, 25 Aug 2010 09:32:12 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P9WCgc005944; Wed, 25 Aug 2010 09:32:12 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008250932.o7P9WCgc005944@svn.freebsd.org> From: Attilio Rao Date: Wed, 25 Aug 2010 09:32:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211806 - projects/sv/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 09:32:12 -0000 Author: attilio Date: Wed Aug 25 09:32:12 2010 New Revision: 211806 URL: http://svn.freebsd.org/changeset/base/211806 Log: Add the $FreeBSD$ ID tag. Modified: projects/sv/sys/netinet/netdump.h Modified: projects/sv/sys/netinet/netdump.h ============================================================================== --- projects/sv/sys/netinet/netdump.h Wed Aug 25 09:30:48 2010 (r211805) +++ projects/sv/sys/netinet/netdump.h Wed Aug 25 09:32:12 2010 (r211806) @@ -23,6 +23,8 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ #ifndef _NETINET_NETDUMP_H_ From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 09:34:34 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA24D10656A7; Wed, 25 Aug 2010 09:34:34 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA99D8FC0A; Wed, 25 Aug 2010 09:34:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7P9YYFM006031; Wed, 25 Aug 2010 09:34:34 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7P9YYHc006029; Wed, 25 Aug 2010 09:34:34 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008250934.o7P9YYHc006029@svn.freebsd.org> From: Attilio Rao Date: Wed, 25 Aug 2010 09:34:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211807 - projects/sv/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 09:34:34 -0000 Author: attilio Date: Wed Aug 25 09:34:34 2010 New Revision: 211807 URL: http://svn.freebsd.org/changeset/base/211807 Log: Tweak comment. Modified: projects/sv/sys/netinet/netdump.h Modified: projects/sv/sys/netinet/netdump.h ============================================================================== --- projects/sv/sys/netinet/netdump.h Wed Aug 25 09:32:12 2010 (r211806) +++ projects/sv/sys/netinet/netdump.h Wed Aug 25 09:34:34 2010 (r211807) @@ -47,7 +47,7 @@ struct netdump_msg_hdr { uint32_t seqno; /* Match acks with msgs. */ uint64_t offset; /* vmcore offset (bytes). */ uint32_t len; /* Attached data (bytes). */ - uint8_t pad[4]; /* Pad for parifying 32 and 64 bits. */ + uint8_t pad[4]; /* Pad space matching 32- and 64-bits archs. */ }; struct netdump_ack { From owner-svn-src-projects@FreeBSD.ORG Wed Aug 25 15:21:27 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42AC01065696; Wed, 25 Aug 2010 15:21:27 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 31BCF8FC3F; Wed, 25 Aug 2010 15:21:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7PFLR6q015313; Wed, 25 Aug 2010 15:21:27 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7PFLRRB015311; Wed, 25 Aug 2010 15:21:27 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008251521.o7PFLRRB015311@svn.freebsd.org> From: Attilio Rao Date: Wed, 25 Aug 2010 15:21:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211815 - projects/sv/sys/net X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2010 15:21:27 -0000 Author: attilio Date: Wed Aug 25 15:21:26 2010 New Revision: 211815 URL: http://svn.freebsd.org/changeset/base/211815 Log: With the current code the the client and the server must be in the same subnet. Specify a new parameter for passing the gateway and allow client and server not being in the same subnet. Obtained from: Sandvine Incorporated Modified: projects/sv/sys/net/netdump_client.c Modified: projects/sv/sys/net/netdump_client.c ============================================================================== --- projects/sv/sys/net/netdump_client.c Wed Aug 25 13:37:55 2010 (r211814) +++ projects/sv/sys/net/netdump_client.c Wed Aug 25 15:21:26 2010 (r211815) @@ -135,11 +135,12 @@ static uint16_t nd_server_port = NETDUMP static unsigned char buf[MAXDUMPPGS*PAGE_SIZE]; /* Must be at least as big as * the chunks dumpsys() gives * us */ -static struct ether_addr nd_server_mac; +static struct ether_addr nd_gw_mac; static int nd_enable = 0; /* if we should perform a network dump */ static struct in_addr nd_server = {INADDR_ANY}; /* server address */ static struct in_addr nd_client = {INADDR_ANY}; /* client (our) address */ +static struct in_addr nd_gw = {INADDR_ANY}; /* gw, if set */ struct ifnet *nd_nic = NULL; static int nd_polls=10000; /* Times to poll the NIC (0.5ms each poll) before * assuming packetloss occurred: 5s by default */ @@ -312,6 +313,8 @@ SYSCTL_PROC(_net_dump, OID_AUTO, server, 0, sysctl_ip, "A", "dump server"); SYSCTL_PROC(_net_dump, OID_AUTO, client, CTLTYPE_STRING|CTLFLAG_RW, &nd_client, 0, sysctl_ip, "A", "dump client"); +SYSCTL_PROC(_net_dump, OID_AUTO, gateway, CTLTYPE_STRING|CTLFLAG_RW, &nd_gw, + 0, sysctl_ip, "A", "dump default gateway"); SYSCTL_PROC(_net_dump, OID_AUTO, nic, CTLTYPE_STRING|CTLFLAG_RW, &nd_nic, IFNAMSIZ, sysctl_nic, "A", "NIC to dump on"); SYSCTL_INT(_net_dump, OID_AUTO, polls, CTLTYPE_INT|CTLFLAG_RW, &nd_polls, 0, @@ -465,7 +468,7 @@ netdump_udp_output(struct mbuf *m) return ENOBUFS; } - return netdump_ether_output(m, nd_nic, nd_server_mac, ETHERTYPE_IP); + return netdump_ether_output(m, nd_nic, nd_gw_mac, ETHERTYPE_IP); } /* @@ -506,7 +509,7 @@ netdump_send_arp() bcopy(IF_LLADDR(nd_nic), ar_sha(ah), ETHER_ADDR_LEN); ((struct in_addr *)ar_spa(ah))->s_addr = nd_client.s_addr; bzero(ar_tha(ah), ETHER_ADDR_LEN); - ((struct in_addr *)ar_tpa(ah))->s_addr = nd_server.s_addr; + ((struct in_addr *)ar_tpa(ah))->s_addr = nd_gw.s_addr; return netdump_ether_output(m, nd_nic, bcast, ETHERTYPE_ARP); } @@ -948,18 +951,18 @@ nd_handle_arp(struct mbuf **mb) } if (op == ARPOP_REPLY) { - if (isaddr.s_addr != nd_server.s_addr) { + if (isaddr.s_addr != nd_gw.s_addr) { char buf[INET_ADDRSTRLEN]; inet_ntoa_r(isaddr, buf); NETDDEBUG("nd_handle_arp: ignoring ARP reply from " "%s (not netdump server)\n", buf); return; } - bcopy(ar_sha(ah), nd_server_mac.octet, + bcopy(ar_sha(ah), nd_gw_mac.octet, min(ah->ar_hln, ETHER_ADDR_LEN)); have_server_mac = 1; NETDDEBUG("\nnd_handle_arp: Got server MAC address %6D\n", - nd_server_mac.octet, ":"); + nd_gw_mac.octet, ":"); return; } @@ -1242,6 +1245,9 @@ netdump_trigger(void *arg, int howto) goto abort; } + if (nd_gw.s_addr == INADDR_ANY) { + nd_gw.s_addr = nd_server.s_addr; + } printf("\n-----------------------------------\n"); printf("netdump in progress. searching for server.. "); if (netdump_arp_server()) { @@ -1253,7 +1259,7 @@ netdump_trigger(void *arg, int howto) goto abort; } printf("dumping to %s (%6D)\n", inet_ntoa(nd_server), - nd_server_mac.octet, ":"); + nd_gw_mac.octet, ":"); printf("-----------------------------------\n"); /* From owner-svn-src-projects@FreeBSD.ORG Thu Aug 26 10:27:46 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07AAF1065693; Thu, 26 Aug 2010 10:27:46 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EC2D38FC0C; Thu, 26 Aug 2010 10:27:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7QARj21038776; Thu, 26 Aug 2010 10:27:45 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7QARj7S038774; Thu, 26 Aug 2010 10:27:45 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008261027.o7QARj7S038774@svn.freebsd.org> From: Andrew Turner Date: Thu, 26 Aug 2010 10:27:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211837 - projects/arm_eabi/sys/arm/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 10:27:46 -0000 Author: andrew Date: Thu Aug 26 10:27:45 2010 New Revision: 211837 URL: http://svn.freebsd.org/changeset/base/211837 Log: Fix for style(9) by removing a space at the start of each line Modified: projects/arm_eabi/sys/arm/arm/trap.c Modified: projects/arm_eabi/sys/arm/arm/trap.c ============================================================================== --- projects/arm_eabi/sys/arm/arm/trap.c Thu Aug 26 09:04:27 2010 (r211836) +++ projects/arm_eabi/sys/arm/arm/trap.c Thu Aug 26 10:27:45 2010 (r211837) @@ -886,11 +886,11 @@ cpu_fetch_syscall_args(struct thread *td nap -= 2; ap += 2; } - if (p->p_sysent->sv_mask) - sa->code &= p->p_sysent->sv_mask; + if (p->p_sysent->sv_mask) + sa->code &= p->p_sysent->sv_mask; - if (sa->code >= p->p_sysent->sv_size) - sa->callp = &p->p_sysent->sv_table[0]; + if (sa->code >= p->p_sysent->sv_size) + sa->callp = &p->p_sysent->sv_table[0]; else sa->callp = &p->p_sysent->sv_table[sa->code]; From owner-svn-src-projects@FreeBSD.ORG Thu Aug 26 21:37:22 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52E2B10656A7; Thu, 26 Aug 2010 21:37:21 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 40AFB8FC08; Thu, 26 Aug 2010 21:37:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7QLbL7D054334; Thu, 26 Aug 2010 21:37:21 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7QLbLwH054321; Thu, 26 Aug 2010 21:37:21 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008262137.o7QLbLwH054321@svn.freebsd.org> From: Jeff Roberson Date: Thu, 26 Aug 2010 21:37:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211850 - in projects/ofed/base/contrib/ofed/qperf: . src X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 21:37:22 -0000 Author: jeff Date: Thu Aug 26 21:37:20 2010 New Revision: 211850 URL: http://svn.freebsd.org/changeset/base/211850 Log: - Import qperf from git://git.openfabrics.org/~johann/qperf.git/.git rev b81434ec094694bae55e20dd1af5f5057d8e5f82 Sponsored by: Isilon Systems, iX Systems, and Panasas Added: projects/ofed/base/contrib/ofed/qperf/ projects/ofed/base/contrib/ofed/qperf/AUTHORS projects/ofed/base/contrib/ofed/qperf/COPYING projects/ofed/base/contrib/ofed/qperf/Makefile.am projects/ofed/base/contrib/ofed/qperf/README projects/ofed/base/contrib/ofed/qperf/autogen.sh (contents, props changed) projects/ofed/base/contrib/ofed/qperf/cleanup (contents, props changed) projects/ofed/base/contrib/ofed/qperf/configure.in projects/ofed/base/contrib/ofed/qperf/qperf.spec projects/ofed/base/contrib/ofed/qperf/qperf.spec.in projects/ofed/base/contrib/ofed/qperf/src/ projects/ofed/base/contrib/ofed/qperf/src/Makefile.am projects/ofed/base/contrib/ofed/qperf/src/help.txt projects/ofed/base/contrib/ofed/qperf/src/mkhelp (contents, props changed) projects/ofed/base/contrib/ofed/qperf/src/mkman (contents, props changed) projects/ofed/base/contrib/ofed/qperf/src/qperf.c projects/ofed/base/contrib/ofed/qperf/src/qperf.h projects/ofed/base/contrib/ofed/qperf/src/rdma.c projects/ofed/base/contrib/ofed/qperf/src/rds.c projects/ofed/base/contrib/ofed/qperf/src/socket.c projects/ofed/base/contrib/ofed/qperf/src/support.c Added: projects/ofed/base/contrib/ofed/qperf/AUTHORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/AUTHORS Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,7 @@ +Written by Johann George + +Thanks to the following for their contributions: + Dotan Barak + Ralph Campbell + Yevgeny Kliteynik + Dave Olson Added: projects/ofed/base/contrib/ofed/qperf/COPYING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/COPYING Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. Added: projects/ofed/base/contrib/ofed/qperf/Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/Makefile.am Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,6 @@ +SUBDIRS = src + +EXTRA_DIST = qperf.spec.in + +dist-hook: qperf.spec + cp qperf.spec $(distdir) Added: projects/ofed/base/contrib/ofed/qperf/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/README Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,18 @@ +To build + ./cleanup + ./autogen.sh + ./configure + make + +Changing version + * src/qperf.c: Change VER_MAJ, VER_MIN and VER_INC. + * configure.in: Change in AC_INIT and AM_INIT_AUTOMAKE + * qperf.spec: Change line beginning with Version: + * Note ensure that qperf.spec is modified last so that cleanup does not + delete it. + +Notes + * If the library ibverbs is not found, a version of qperf is built that + does not support the RDMA tests. + * Running "make clean" does not seem to clean up everything. Run + "./cleanup" instead. Added: projects/ofed/base/contrib/ofed/qperf/autogen.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/autogen.sh Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,9 @@ +#!/bin/sh + +set -x +for f in NEWS README ChangeLog; do + [ -e "$f" ] || touch "$f" +done +aclocal && + automake --foreign --add-missing --copy && + autoconf Added: projects/ofed/base/contrib/ofed/qperf/cleanup ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/cleanup Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,38 @@ +#!/bin/sh +# autotools makes such a mess. Clean up after it. +# +for f in AUTHORS NEWS README ChangeLog; do + [ -s "$f" ] || rm -f "$f" +done +rm -r -f autom4te.cache .deps src/.deps +rm -f `cat <qperf.1 + +help.c: help.txt +if RDMA + ./mkhelp RDMA +else + ./mkhelp +endif + +clean-local: + -rm -f qperf.1 Added: projects/ofed/base/contrib/ofed/qperf/src/help.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/base/contrib/ofed/qperf/src/help.txt Thu Aug 26 21:37:20 2010 (r211850) @@ -0,0 +1,979 @@ +Main + Synopsis + qperf + qperf SERVERNODE [OPTIONS] TESTS + + Description + qperf measures bandwidth and latency between two nodes. It can work + over TCP/IP as well as the RDMA transports. On one of the nodes, qperf + is typically run with no arguments designating it the server node. One + may then run qperf on a client node to obtain measurements such as + bandwidth, latency and cpu utilization. + + In its most basic form, qperf is run on one node in server mode by + invoking it with no arguments. On the other node, it is run with two + arguments: the name of the server node followed by the name of the + test. A list of tests can be found in the section, TESTS. A variety + of options may also be specified. + + One can get more detailed information on qperf by using the --help + option. Below are examples of using the --help option: + + qperf --help examples Some examples of using qperf + qperf --help opts Summary of options + qperf --help options Description of options + qperf --help tests Short summary and description of tests + qperf --help TESTNAME More information on test TESTNAME +Author + Written by Johann George. +Bugs + None of the RDMA tests are available if qperf is compiled without the RDMA + libraries. The -f option is not yet implemented in many of the tests. +Categories -RDMA + To get help on a particular category, you may type: + qperf --help CATEGORY + where CATEGORY might be one of the following: + categories This current list being displayed + examples Some examples + options A long list of options + opts A short description of the options + tests A list and description of the various tests + or one of the following tests: + conf + quit + rds_bw + rds_lat + sctp_bw + sctp_lat + sdp_bw + sdp_lat + tcp_bw + tcp_lat + udp_bw + udp_lat +Categories +RDMA + To get help on a particular category, you may type: + qperf --help CATEGORY + where CATEGORY might be one of the following: + categories This current list being displayed + examples Some examples + options A long list of options + opts A short description of the options + tests A list of tests + CATEGORY may also be one of the following tests + conf + quit + rc_bi_bw + rc_bw + rc_compare_swap_mr + rc_fetch_add_mr + rc_lat + rc_rdma_read_bw + rc_rdma_read_lat + rc_rdma_write_bw + rc_rdma_write_lat + rc_rdma_write_poll_lat + rds_bw + rds_lat + sctp_bw + sctp_lat + sdp_bw + sdp_lat + tcp_bw + tcp_lat + uc_bi_bw + uc_bw + uc_lat + uc_rdma_write_bw + uc_rdma_write_lat + uc_rdma_write_poll_lat + ud_bi_bw + ud_bw + ud_lat + udp_bw + udp_lat + ver_rc_compare_swap + ver_rc_fetch_add + xrc_bi_bw + xrc_bw + xrc_lat +Examples + In these examples, we first run qperf on a node called myserver in server + mode by invoking it with no arguments. In all the subsequent examples, we + run qperf on another node and connect to the server which we assume has a + hostname of myserver. + * To run a TCP bandwidth and latency test: + qperf myserver tcp_bw tcp_lat + * To run a SDP bandwidth test for 10 seconds: + qperf myserver -t 10 sdp_bw + * To run a UDP latency test and then cause the server to terminate: + qperf myserver udp_lat quit + * To measure the RDMA UD latency and bandwidth: + qperf myserver ud_lat ud_bw + * To measure RDMA UC bi-directional bandwidth: + qperf myserver rc_bi_bw + * To get a range of TCP latencies with a message size from 1 to 64K + qperf myserver -oo msg_size:1:64K:*2 -vu tcp_lat +Opts + --access_recv OnOff (-ar) Turn on/off accessing received data + -ar1 Cause received data to be accessed + --alt_port Port (-ap) Set alternate path port + --loc_alt_port Port (-lap) Set local alternate path port + --rem_alt_port Port (-rap) Set remote alternate path port + --cpu_affinity PN (-ca) Set processor affinity + --loc_cpu_affinity PN (-lca) Set local processor affinity + --rem_cpu_affinity PN (-rca) Set remote processor affinity + --flip OnOff (-f) Flip on/off sender and receiver + -f1 Flip (on) sender and receiver + --help Topic (-h) Get more information on a topic + --host Node (-H) Identify server node + --id Device:Port (-i) Set RDMA device and port + --loc_id Device:Port (-li) Set local RDMA device and port + --rem_id Device:Port (-ri) Set remote RDMA device and port + --listen_port Port (-lp) Set server listen port + --loop Var:Init:Last:Incr (-oo) Sequence through values + --msg_size Size (-m) Set message size + --mtu_size Size (-mt) Set MTU size (RDMA only) + --no_msgs Count (-n) Send Count messages + --cq_poll OnOff Set polling mode on/off + --loc_cq_poll OnOff (-lcp) Set local polling mode on/off + --rem_cq_poll OnOff (-rcp) Set remote polling mode on/off + -cp1 Turn polling mode on + -lcp1 Turn local polling mode on + -rcp1 Turn remote polling mode on + --ip_port Port (-ip) Set TCP port used for tests + --precision Digits (-e) Set precision reported + --rd_atomic Max (-nr) Set RDMA read/atomic count + --loc_rd_atomic Max (-lnr) Set local RDMA read/atomic count + --rem_rd_atomic Max (-rnr) Set remote RDMA read/atomic count + --service_level SL (-sl) Set service level + --service_level SL (-lsl) Set local service level + --service_level SL (-rsl) Set remote service level + --sock_buf_size Size (-sb) Set socket buffer size + --loc_sock_buf_size Size (-lsb) Set local socket buffer size + --rem_sock_buf_size Size (-rsb) Set remote socket buffer size + --src_path_bits num (-sp) Set source path bits + --loc_src_path_bits num (-lsp) Set local source path bits + --rem_src_path_bits num (-rsp) Set remote source path bits + --static_rate (-sr) Set IB static rate + --loc_static_rate (-lsr) Set local IB static rate + --rem_static_rate (-rsr) Set remote IB static rate + --time Time (-t) Set test duration + --timeout Time (-to) Set timeout + --loc_timeout Time (-lto) Set local timeout + --rem_timeout Time (-rto) Set remote timeout + --unify_nodes (-un) Unify nodes + --unify_units (-uu) Unify units + --use_bits_per_sec (-ub) Use bits/sec rather than bytes/sec + --use_cm OnOff (-cm) Use RDMA Connection Manager or not + -cm1 Use RDMA Connection Manager + --verbose (-v) Verbose; turn on all of -v[cstu] + --verbose_conf (-vc) Show configuration information + --verbose_stat (-vs) Show statistical information + --verbose_time (-vt) Show timing information + --verbose_used (-vu) Show information on parameters + --verbose_more (-vv) More verbose; turn on all of -v[CSTU] + --verbose_more_conf (-vvc) Show more configuration information + --verbose_more_stat (-vvs) Show more statistical information + --verbose_more_time (-vvt) Show more timing information + --verbose_more_used (-vvu) Show more information on parameters + --version (-V) Print out version + --wait_server Time (-ws) Set time to wait for server +Options + --access_recv OnOff (-ar) + If OnOff is non-zero, data is accessed once received. Otherwise, + data is ignored. By default, OnOff is 0. This can help to mimic + some applications. + -ar1 + Cause received data to be accessed. + --alt_port Port (-ap) + Set alternate path port. This enables automatic path failover. + --loc_alt_port Port (-lap) + Set local alternate path port. This enables automatic path failover. + --rem_alt_port Port (-rap) + Set remote alternate path port. This enables automatic path failover. + --cpu_affinity PN (-ca) + Set cpu affinity to PN. CPUs are numbered sequentially from 0. If + PN is "any", any cpu is allowed otherwise the cpu is limited to the + one specified. + --loc_cpu_affinity PN (-lca) + Set local processor affinity to PN. + --rem_cpu_affinity PN (-rca) + Set remote processor affinity to PN. + --flip OnOff (-f) + If non-zero, cause sender and receiver to play opposite roles. + -f1 + Cause sender and receiver to play opposite roles. + --help Topic (-h) + Print out information about Topic. To see the list of topics, type + qperf --help + --host Host (-H) + Run test between the current node and the qperf running on node Host. + This can also be specified as the first non-option argument. + --id Device:Port (-i) + Use RDMA Device and Port. + --loc_id Device:Port (-li) + Use local RDMA Device and Port. + --rem_id Device:Port (-ri) + Use remote RDMA Device and Port. + --listen_port Port (-lp) + Set the port we listen on to ListenPort. This must be set to the + same port on both the server and client machines. The default value + is 19765. + --loop Var:Init:Last:Incr (-oo) + Run a test multiple times sequencing through a series of values. Var + is the loop variable; Init is the initial value; Last is the value it + must not exceed and Incr is the increment. It is useful to set the + --verbose_used (-vu) option in conjunction with this option. + --msg_size Size (-m) + Set the message size to Size. The default value varies by test. It + is assumed that the value is specified in bytes however, a trailing + kib or K, mib or M, or gib or G indicates that the size is being + specified in kibibytes, mebibytes or gibibytes respectively while a + trailing kb or k, mb or m, or gb or g indicates kilobytes, megabytes + or gigabytes respectively. + --mtu_size Size (-mt) + Set the MTU size. Only relevant to the RDMA UC/RC tests. Units are + specified in the same manner as the --msg_size option. + --no_msgs N (-n) + Set test duration by number of messages sent instead of time. + --cq_poll OnOff (-cp) + Turn polling mode on or off. This is only relevant to the RDMA tests + and determines whether they poll or wait on the completion queues. + If OnOff is 0, they wait; otherwise they poll. + --loc_cq_poll OnOff (-lcp) + Locally turn polling mode on or off. + --rem_cq_poll OnOff (-rcp) + Remotely turn polling mode on or off. + -cp1 + Turn polling mode on. + -lcp1 + Turn local polling mode on. + -rcp1 + Turn remote polling mode on. + --ip_port Port (-ip) + Use Port to run the socket tests. This is different from + --listen_port which is used for synchronization. This is only + relevant for the socket tests and refers to the TCP/UDP/SDP/RDS/SCTP + port that the test is run on. + --precision Digits (-e) + Set the number of significant digits that are used to report results. + --rd_atomic Max (-nr) + Set the number of in-flight operations that can be handled for a RDMA + read or atomic operation to Max. This is only relevant to the RDMA + Read and Atomic tests. + --loc_rd_atomic Max (-lnr) + Set local read/atomic count. + --rem_rd_atomic Max (-rnr) + Set remote read/atomic count. + --service_level SL (-sl) + Set RDMA service level to SL. This is only used by the RDMA tests. + The service level must be between 0 and 15. The default service + level is 0. + --loc_service_level SL (-lsl) + Set local service level. + --rem_service_level SL (-rsl) + Set remote service level. + --sock_buf_size Size (-sb) + Set the socket buffer size. This is only relevant to the socket + tests. + --loc_sock_buf_size Size (-lsb) + Set local socket buffer size. + --rem_sock_buf_size Size (-rsb) + Set remote socket buffer size. + --src_path_bits N (-sp) + Set source path bits. If the LMC is not zero, this will cause the + connection to use a LID with the low order LMC bits set to N. + --loc_src_path_bits N (-lsp) + Set local source path bits. + --rem_src_path_bits N (-rsp) + Set remote source path bits. + --static_rate Rate (-sr) + Force InfiniBand static rate. Rate can be one of: 2.5, 5, 10, 20, + 30, 40, 60, 80, 120, 1xSDR (2.5 Gbps), 1xDDR (5 Gbps), 1xQDR (10 + Gbps), 4xSDR (2.5 Gbps), 4xDDR (5 Gbps), 4xQDR (10 Gbps), 8xSDR (2.5 + Gbps), 8xDDR (5 Gbps), 8xQDR (10 Gbps). + --loc_static_rate (-lsr) + Force local InfiniBand static rate + --rem_static_rate (-rsr) + Force remote InfiniBand static rate + --time Time (-t) + Set test duration to Time. Specified in seconds however a trailing + m, h or d indicates that the time is specified in minutes, hours or + days respectively. + --timeout Time (-to) + Set timeout to Time. This is the timeout used for various things + such as exchanging messages. The default is 5 seconds. + --loc_timeout Time (-lto) + Set local timeout to Time. This may be used on the server to set + the timeout when initially exchanging data with each client. + However, as soon as we receive the client's parameters, the client's + remote timeout will override this parameter. + --rem_timeout Time (-rto) + Set remote timeout to Time. + --unify_nodes (-un) + Unify the nodes. Describe them in terms of local and remote rather + than send and receive. + --unify_units (-uu) + Unify the units that results are shown in. Uses the lowest common + denominator. Helpful for scripts. + --use_bits_per_sec (-ub) + Use bits/sec rather than bytes/sec when displaying networking speed. + --use_cm OnOff (-cm) + Use the RDMA Connection Manager (CM) if OnOff is non-zero. It is + necessary to use the CM for iWARP devices. The default is to + establish the connection without using the CM. This only works for + the tests that use the RC transport. + -cm1 + Use RDMA Connection Manager. + --verbose (-v) + Provide more detailed output. Turns on -vc, -vs, -vt and -vu. + --verbose_conf (-vc) + Provide information on configuration. + --verbose_stat (-vs) + Provide information on statistics. + --verbose_time (-vt) + Provide information on timing. + --verbose_used (-vu) + Provide information on parameters used. + --verbose_more (-vv) + Provide even more detailed output. Turns on -vvc, -vvs, -vvt and + -vvu. + --verbose_more_conf (-vvc) + Provide more information on configuration. + --verbose_more_stat (-vvs) + Provide more information on statistics. + --verbose_more_time (-vvt) + Provide more information on timing. + --verbose_more_used (-vvu) + Provide more information on parameters used. + --version (-V) + The current version of qperf is printed. + --wait_server Time (-ws) + If the server is not ready, continue to try connecting for Time + seconds before giving up. The default is 5 seconds. +Tests -RDMA + Miscellaneous + conf Show configuration + quit Cause the server to quit + Socket Based + rds_bw RDS streaming one way bandwidth + rds_lat RDS one way latency + sctp_bw SCTP streaming one way bandwidth + sctp_lat SCTP one way latency + sdp_bw SDP streaming one way bandwidth + sdp_lat SDP one way latency + tcp_bw TCP streaming one way bandwidth + tcp_lat TCP one way latency + udp_bw UDP streaming one way bandwidth + udp_lat UDP one way latency +Tests +RDMA + Miscellaneous + conf Show configuration + quit Cause the server to quit + Socket Based + rds_bw RDS streaming one way bandwidth + rds_lat RDS one way latency + sctp_bw SCTP streaming one way bandwidth + sctp_lat SCTP one way latency + sdp_bw SDP streaming one way bandwidth + sdp_lat SDP one way latency + tcp_bw TCP streaming one way bandwidth + tcp_lat TCP one way latency + udp_bw UDP streaming one way bandwidth + udp_lat UDP one way latency + RDMA Send/Receive + rc_bi_bw RC streaming two way bandwidth + rc_bw RC streaming one way bandwidth + rc_lat RC one way latency + uc_bi_bw UC streaming two way bandwidth + uc_bw UC streaming one way bandwidth + uc_lat UC one way latency + ud_bi_bw UD streaming two way bandwidth + ud_bw UD streaming one way bandwidth + ud_lat UD one way latency + xrc_bi_bw XRC streaming two way bandwidth + xrc_bw XRC streaming one way bandwidth + xrc_lat XRC one way latency + RDMA + rc_rdma_read_bw RC RDMA read streaming one way bandwidth + rc_rdma_read_lat RC RDMA read one way latency + rc_rdma_write_bw RC RDMA write streaming one way bandwidth + rc_rdma_write_lat RC RDMA write one way latency + rc_rdma_write_poll_lat RC RDMA write one way polling latency + uc_rdma_write_bw UC RDMA write streaming one way bandwidth + uc_rdma_write_lat UC RDMA write one way latency + uc_rdma_write_poll_lat UC RDMA write one way polling latency + InfiniBand Atomics + rc_compare_swap_mr RC compare and swap messaging rate + rc_fetch_add_mr RC fetch and add messaging rate + Verification + ver_rc_compare_swap Verify RC compare and swap + ver_rc_fetch_add Verify RC fetch and add +conf + Purpose + Show configuration + Common Options + None + Description + Shows the node name, CPUs and OS of both nodes being used. +quit + Purpose + Quit + Common Options + None + Description + Causes the server to quit. +rds_bw + Purpose + RDS streaming one way bandwidth + Common Options + --access_recv OnOff (-ar) Access received data + --cpu_affinity PN (-ca) Set processor affinity + --msg_size Size (-m) Set message size + --sock_buf_size Size (-sb) Set socket buffer size + --time (-t) Set test duration + Other Options + --listen_port, --ip_port, --timeout + Display Options + --precision, --unify_nodes, --unify_units, --use_bits_per_sec, + --verbose + Description *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Aug 26 21:42:46 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 184ED1065670; Thu, 26 Aug 2010 21:42:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E24518FC19; Thu, 26 Aug 2010 21:42:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7QLgjmS054471; Thu, 26 Aug 2010 21:42:45 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7QLgjpi054470; Thu, 26 Aug 2010 21:42:45 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008262142.o7QLgjpi054470@svn.freebsd.org> From: Jeff Roberson Date: Thu, 26 Aug 2010 21:42:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211851 - projects/ofed/head/contrib/ofed/qperf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 21:42:46 -0000 Author: jeff Date: Thu Aug 26 21:42:45 2010 New Revision: 211851 URL: http://svn.freebsd.org/changeset/base/211851 Log: - Merge in qperf from ofed base. Sponsored by: Isilon Systems, iX Systems, and Panasas Added: projects/ofed/head/contrib/ofed/qperf/ - copied from r211850, projects/ofed/base/contrib/ofed/qperf/ From owner-svn-src-projects@FreeBSD.ORG Thu Aug 26 22:07:27 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77586106567A; Thu, 26 Aug 2010 22:07:27 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6615A8FC16; Thu, 26 Aug 2010 22:07:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7QM7RXX055076; Thu, 26 Aug 2010 22:07:27 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7QM7REE055068; Thu, 26 Aug 2010 22:07:27 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008262207.o7QM7REE055068@svn.freebsd.org> From: Jeff Roberson Date: Thu, 26 Aug 2010 22:07:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211852 - in projects/ofed/head/sys/ofed/drivers: infiniband/hw/mlx4 infiniband/hw/mthca net/mlx4 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 22:07:27 -0000 Author: jeff Date: Thu Aug 26 22:07:27 2010 New Revision: 211852 URL: http://svn.freebsd.org/changeset/base/211852 Log: - Re-enable mthca_reset() for pci-e devices. Warn on pci-x devices and skip the reset. The cards seem to work fine without anyway. - Disable debug output for all hardware drivers. Sponsored by: Isilon Systems, iX Systems, and Panasas Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_dev.h projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c projects/ofed/head/sys/ofed/drivers/net/mlx4/main.c projects/ofed/head/sys/ofed/drivers/net/mlx4/mlx4.h Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Thu Aug 26 22:07:27 2010 (r211852) @@ -61,7 +61,7 @@ MODULE_VERSION(DRV_VERSION); #ifdef CONFIG_MLX4_DEBUG -int mlx4_ib_debug_level = 1; +int mlx4_ib_debug_level = 0; module_param_named(debug_level, mlx4_ib_debug_level, int, 0644); MODULE_PARM_DESC(debug_level, "Enable debug tracing if > 0"); Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h Thu Aug 26 22:07:27 2010 (r211852) @@ -44,8 +44,6 @@ #include #include -#define CONFIG_MLX4_DEBUG - #define MLX4_IB_DRV_NAME "mlx4_ib" Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_dev.h ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_dev.h Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_dev.h Thu Aug 26 22:07:27 2010 (r211852) @@ -363,8 +363,6 @@ struct mthca_dev { int active; }; -#define CONFIG_INFINIBAND_MTHCA_DEBUG - #ifdef CONFIG_INFINIBAND_MTHCA_DEBUG extern int mthca_debug_level; Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c Thu Aug 26 22:07:27 2010 (r211852) @@ -52,7 +52,7 @@ MODULE_VERSION(DRV_VERSION); #ifdef CONFIG_INFINIBAND_MTHCA_DEBUG -int mthca_debug_level = 1; +int mthca_debug_level = 0; module_param_named(debug_level, mthca_debug_level, int, 0644); MODULE_PARM_DESC(debug_level, "Enable debug tracing if > 0"); Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c Thu Aug 26 22:07:27 2010 (r211852) @@ -41,7 +41,6 @@ int mthca_reset(struct mthca_dev *mdev) { -#ifdef __linux__ int i; int err = 0; u32 *hca_header = NULL; @@ -71,6 +70,7 @@ int mthca_reset(struct mthca_dev *mdev) if (!(mdev->mthca_flags & MTHCA_FLAG_PCIE)) { /* Look for the bridge -- its device ID will be 2 more than HCA's device ID. */ +#ifdef __linux__ while ((bridge = pci_get_device(mdev->pdev->vendor, mdev->pdev->device + 2, bridge)) != NULL) { @@ -91,7 +91,11 @@ int mthca_reset(struct mthca_dev *mdev) mthca_warn(mdev, "No bridge found for %s\n", pci_name(mdev->pdev)); } +#else + mthca_warn(mdev, "Reset on PCI-X is not supported.\n"); + goto out; +#endif } /* For Arbel do we need to save off the full 4K PCI Express header?? */ @@ -117,6 +121,7 @@ int mthca_reset(struct mthca_dev *mdev) hca_pcix_cap = pci_find_capability(mdev->pdev, PCI_CAP_ID_PCIX); hca_pcie_cap = pci_find_capability(mdev->pdev, PCI_CAP_ID_EXP); +#ifdef __linux__ if (bridge) { bridge_header = kmalloc(256, GFP_KERNEL); if (!bridge_header) { @@ -144,6 +149,7 @@ int mthca_reset(struct mthca_dev *mdev) goto out; } } +#endif /* actually hit reset */ { @@ -158,7 +164,11 @@ int mthca_reset(struct mthca_dev *mdev) } writel(MTHCA_RESET_VALUE, reset); +#ifdef __linux__ iounmap(reset); +#else + pmap_unmapdev((vm_offset_t)reset, 4); +#endif } /* Docs say to wait one second before accessing device */ @@ -281,13 +291,12 @@ good: } out: +#ifdef __linux__ if (bridge) pci_dev_put(bridge); +#endif kfree(bridge_header); kfree(hca_header); return err; -#else - return 0; -#endif } Modified: projects/ofed/head/sys/ofed/drivers/net/mlx4/main.c ============================================================================== --- projects/ofed/head/sys/ofed/drivers/net/mlx4/main.c Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/net/mlx4/main.c Thu Aug 26 22:07:27 2010 (r211852) @@ -55,7 +55,7 @@ struct workqueue_struct *mlx4_wq; #ifdef CONFIG_MLX4_DEBUG -int mlx4_debug_level = 1; +int mlx4_debug_level = 0; module_param_named(debug_level, mlx4_debug_level, int, 0644); MODULE_PARM_DESC(debug_level, "Enable debug tracing if > 0"); Modified: projects/ofed/head/sys/ofed/drivers/net/mlx4/mlx4.h ============================================================================== --- projects/ofed/head/sys/ofed/drivers/net/mlx4/mlx4.h Thu Aug 26 21:42:45 2010 (r211851) +++ projects/ofed/head/sys/ofed/drivers/net/mlx4/mlx4.h Thu Aug 26 22:07:27 2010 (r211852) @@ -37,8 +37,6 @@ #ifndef MLX4_H #define MLX4_H -#define CONFIG_MLX4_DEBUG - #include #include #include From owner-svn-src-projects@FreeBSD.ORG Fri Aug 27 21:52:27 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DECE010656A4; Fri, 27 Aug 2010 21:52:27 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF1B08FC18; Fri, 27 Aug 2010 21:52:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7RLqRaK008728; Fri, 27 Aug 2010 21:52:27 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7RLqRO0008725; Fri, 27 Aug 2010 21:52:27 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201008272152.o7RLqRO0008725@svn.freebsd.org> From: Attilio Rao Date: Fri, 27 Aug 2010 21:52:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211902 - in projects/sv/sys: net netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Aug 2010 21:52:28 -0000 Author: attilio Date: Fri Aug 27 21:52:27 2010 New Revision: 211902 URL: http://svn.freebsd.org/changeset/base/211902 Log: Rework the padding by having a 32 bits object and clearing to 0. Requested by: emaste Modified: projects/sv/sys/net/netdump_client.c projects/sv/sys/netinet/netdump.h Modified: projects/sv/sys/net/netdump_client.c ============================================================================== --- projects/sv/sys/net/netdump_client.c Fri Aug 27 21:52:05 2010 (r211901) +++ projects/sv/sys/net/netdump_client.c Fri Aug 27 21:52:27 2010 (r211902) @@ -618,6 +618,7 @@ retransmit: nd_msg_hdr->type = htonl(type); nd_msg_hdr->offset = htonll(offset+sent_so_far); nd_msg_hdr->len = htonl(pktlen); + nd_msg_hdr->_pad = 0; if (pktlen) { if ((m2 = m_get(M_DONTWAIT, MT_DATA)) == NULL) { Modified: projects/sv/sys/netinet/netdump.h ============================================================================== --- projects/sv/sys/netinet/netdump.h Fri Aug 27 21:52:05 2010 (r211901) +++ projects/sv/sys/netinet/netdump.h Fri Aug 27 21:52:27 2010 (r211902) @@ -47,7 +47,7 @@ struct netdump_msg_hdr { uint32_t seqno; /* Match acks with msgs. */ uint64_t offset; /* vmcore offset (bytes). */ uint32_t len; /* Attached data (bytes). */ - uint8_t pad[4]; /* Pad space matching 32- and 64-bits archs. */ + uint32_t _pad; /* Pad space matching 32- and 64-bits archs. */ }; struct netdump_ack { From owner-svn-src-projects@FreeBSD.ORG Sat Aug 28 06:25:08 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB7121065694; Sat, 28 Aug 2010 06:25:08 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB0778FC08; Sat, 28 Aug 2010 06:25:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7S6P8c0021016; Sat, 28 Aug 2010 06:25:08 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7S6P8Lw021014; Sat, 28 Aug 2010 06:25:08 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008280625.o7S6P8Lw021014@svn.freebsd.org> From: Andrew Turner Date: Sat, 28 Aug 2010 06:25:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211915 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 06:25:08 -0000 Author: andrew Date: Sat Aug 28 06:25:08 2010 New Revision: 211915 URL: http://svn.freebsd.org/changeset/base/211915 Log: Use struct timespec_oabi over struct timespec Modified: projects/arm_eabi/sys/compat/arm/syscalls.master Modified: projects/arm_eabi/sys/compat/arm/syscalls.master ============================================================================== --- projects/arm_eabi/sys/compat/arm/syscalls.master Sat Aug 28 00:48:40 2010 (r211914) +++ projects/arm_eabi/sys/compat/arm/syscalls.master Sat Aug 28 06:25:08 2010 (r211915) @@ -418,20 +418,23 @@ 231 AUE_SHMGET NOSTD|NOPROTO { int shmget(key_t key, int size, \ int shmflg); } ; -232 AUE_NULL NOPROTO { int clock_gettime(clockid_t clock_id, \ - struct timespec *tp); } -233 AUE_CLOCK_SETTIME NOPROTO { int clock_settime( \ +232 AUE_NULL STD { int freebsd_oabi_clock_gettime( \ clockid_t clock_id, \ - const struct timespec *tp); } -234 AUE_NULL NOPROTO { int clock_getres(clockid_t clock_id, \ - struct timespec *tp); } + struct timespec_oabi *tp); } +233 AUE_CLOCK_SETTIME STD { int freebsd_oabi_clock_settime( \ + clockid_t clock_id, \ + const struct timespec_oabi *tp); } +234 AUE_NULL STD { int freebsd_oabi_clock_getres( \ + clockid_t clock_id, \ + struct timespec_oabi *tp); } 235 AUE_NULL UNIMPL timer_create 236 AUE_NULL UNIMPL timer_delete 237 AUE_NULL UNIMPL timer_settime 238 AUE_NULL UNIMPL timer_gettime 239 AUE_NULL UNIMPL timer_getoverrun -240 AUE_NULL NOPROTO { int nanosleep(const struct timespec *rqtp, \ - struct timespec *rmtp); } +240 AUE_NULL STD { int freebsd_oabi_nanosleep( \ + const struct timespec_oabi *rqtp, \ + struct timespec_oabi *rmtp); } 241 AUE_NULL UNIMPL nosys 242 AUE_NULL UNIMPL nosys 243 AUE_NULL UNIMPL nosys @@ -537,7 +540,8 @@ struct aiocb_oabi *aiocbp); } 315 AUE_NULL NOSTD { int freebsd_oabi_aio_suspend( \ struct aiocb_oabi * const * aiocbp, \ - int nent, const struct timespec *timeout); } + int nent, \ + const struct timespec_oabi *timeout); } 316 AUE_NULL NOSTD { int freebsd_oabi_aio_cancel(int fd, \ struct aiocb_oabi *aiocbp); } 317 AUE_NULL NOSTD { int freebsd_oabi_aio_error( \ @@ -569,8 +573,9 @@ 331 AUE_NULL NOPROTO { int sched_yield (void); } 332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); } 333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); } -334 AUE_NULL NOPROTO { int sched_rr_get_interval (pid_t pid, \ - struct timespec *interval); } +334 AUE_NULL STD { int freebsd_oabi_sched_rr_get_interval ( \ + pid_t pid, \ + struct timespec_oabi *interval); } 335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); } 336 AUE_SENDFILE COMPAT4 { int sendfile(int fd, int s, off_t offset, \ size_t nbytes, struct sf_hdtr *hdtr, \ @@ -588,9 +593,9 @@ 343 AUE_SIGPENDING NOPROTO { int sigpending(sigset_t *set); } 344 AUE_SIGRETURN COMPAT4 { int freebsd_oabi_sigreturn( \ const struct freebsd4_freebsd_oabi_ucontext *sigcntxp); } -345 AUE_SIGWAIT NOPROTO { int sigtimedwait(const sigset_t *set, \ - siginfo_t *info, \ - const struct timespec *timeout); } +345 AUE_SIGWAIT STD { int freebsd_oabi_sigtimedwait( \ + const sigset_t *set, siginfo_t *info, \ + const struct timespec_oabi *timeout); } 346 AUE_NULL NOPROTO { int sigwaitinfo(const sigset_t *set, \ siginfo_t *info); } 347 AUE_NULL NOPROTO { int __acl_get_file(const char *path, \ @@ -625,17 +630,17 @@ const char *attrname); } 359 AUE_NULL NOSTD { int freebsd_oabi_aio_waitcomplete( \ struct aiocb_oabi **aiocbp, \ - struct timespec *timeout); } + struct timespec_oabi *timeout); } 360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 362 AUE_KQUEUE NOPROTO { int kqueue(void); } -363 AUE_NULL NOPROTO { int kevent(int fd, \ +363 AUE_NULL STD { int freebsd_oabi_kevent(int fd, \ const struct kevent *changelist, \ int nchanges, \ struct kevent *eventlist, int nevents, \ - const struct timespec *timeout); } + const struct timespec_oabi *timeout); } 364 AUE_NULL UNIMPL __cap_get_proc 365 AUE_NULL UNIMPL __cap_set_proc 366 AUE_NULL UNIMPL __cap_get_fd @@ -763,10 +768,10 @@ const char *path, int attrnamespace, \ void *data, size_t nbytes); } 440 AUE_NULL UNIMPL kse_switchin -441 AUE_NULL NOPROTO|NOSTD { int ksem_timedwait(semid_t id, \ - const struct timespec *abstime); } -442 AUE_NULL NOPROTO { int thr_suspend( \ - const struct timespec *timeout); } +441 AUE_NULL NOSTD { int freebsd_oabi_ksem_timedwait(semid_t id, \ + const struct timespec_oabi *abstime); } +442 AUE_NULL STD { int freebsd_oabi_thr_suspend( \ + const struct timespec_oabi *timeout); } 443 AUE_NULL NOPROTO { int thr_wake(long id); } 444 AUE_MODUNLOAD NOPROTO { int kldunloadf(int fileid, int flags); } 445 AUE_AUDIT NOPROTO { int audit(const void *record, \ @@ -798,14 +803,14 @@ 458 AUE_NULL NOPROTO|NOSTD { int kmq_setattr(int mqd, \ const struct mq_attr *attr, \ struct mq_attr *oattr); } -459 AUE_NULL NOPROTO|NOSTD { int kmq_timedreceive(int mqd, \ +459 AUE_NULL NOSTD { int freebsd_oabi_kmq_timedreceive(int mqd, \ char *msg_ptr, size_t msg_len, \ unsigned *msg_prio, \ - const struct timespec *abs_timeout); } -460 AUE_NULL NOPROTO|NOSTD { int kmq_timedsend(int mqd, \ + const struct timespec_oabi *abs_timeout); } +460 AUE_NULL NOSTD { int freebsd_oabi_kmq_timedsend(int mqd, \ const char *msg_ptr, size_t msg_len,\ unsigned msg_prio, \ - const struct timespec *abs_timeout);} + const struct timespec_oabi *abs_timeout);} 461 AUE_NULL NOPROTO|NOSTD { int kmq_notify(int mqd, \ const struct sigevent *sigev); } 462 AUE_NULL NOPROTO|NOSTD { int kmq_unlink(const char *path); } @@ -916,6 +921,7 @@ 519 AUE_PDKILL UNIMPL pdkill 520 AUE_PDGETPID UNIMPL pdgetpid 521 AUE_PDWAIT UNIMPL pdwait -522 AUE_SELECT NOPROTO { int pselect(int nd, fd_set *in, fd_set *ou, \ - fd_set *ex, const struct timespec *ts, \ +522 AUE_SELECT STD { int freebsd_oabi_pselect(int nd, fd_set *in, \ + fd_set *ou, fd_set *ex, \ + const struct timespec_oabi *ts, \ const sigset_t *sm); } From owner-svn-src-projects@FreeBSD.ORG Sat Aug 28 06:25:57 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D04A910656A4; Sat, 28 Aug 2010 06:25:57 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF8708FC15; Sat, 28 Aug 2010 06:25:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7S6PvIk021065; Sat, 28 Aug 2010 06:25:57 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7S6PvbK021060; Sat, 28 Aug 2010 06:25:57 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008280625.o7S6PvbK021060@svn.freebsd.org> From: Andrew Turner Date: Sat, 28 Aug 2010 06:25:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211916 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 06:25:57 -0000 Author: andrew Date: Sat Aug 28 06:25:57 2010 New Revision: 211916 URL: http://svn.freebsd.org/changeset/base/211916 Log: Regen Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c projects/arm_eabi/sys/compat/arm/freebsd_oabi_sysent.c Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h ============================================================================== --- projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h Sat Aug 28 06:25:08 2010 (r211915) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_proto.h Sat Aug 28 06:25:57 2010 (r211916) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211797 2010-08-25 07:30:33Z andrew */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -124,6 +124,22 @@ struct freebsd_oabi_msgrcv_args { char msgtyp_l_[PADL_(long)]; long msgtyp; char msgtyp_r_[PADR_(long)]; char msgflg_l_[PADL_(int)]; int msgflg; char msgflg_r_[PADR_(int)]; }; +struct freebsd_oabi_clock_gettime_args { + char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char clock_id_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct timespec_oabi *)]; struct timespec_oabi * tp; char tp_r_[PADR_(struct timespec_oabi *)]; +}; +struct freebsd_oabi_clock_settime_args { + char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char clock_id_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * tp; char tp_r_[PADR_(const struct timespec_oabi *)]; +}; +struct freebsd_oabi_clock_getres_args { + char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char clock_id_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct timespec_oabi *)]; struct timespec_oabi * tp; char tp_r_[PADR_(struct timespec_oabi *)]; +}; +struct freebsd_oabi_nanosleep_args { + char rqtp_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * rqtp; char rqtp_r_[PADR_(const struct timespec_oabi *)]; + char rmtp_l_[PADL_(struct timespec_oabi *)]; struct timespec_oabi * rmtp; char rmtp_r_[PADR_(struct timespec_oabi *)]; +}; struct freebsd_oabi_aio_read_args { char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; }; @@ -160,7 +176,7 @@ struct freebsd_oabi_aio_return_args { struct freebsd_oabi_aio_suspend_args { char aiocbp_l_[PADL_(struct aiocb_oabi *const *)]; struct aiocb_oabi *const * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *const *)]; char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; - char timeout_l_[PADL_(const struct timespec *)]; const struct timespec * timeout; char timeout_r_[PADR_(const struct timespec *)]; + char timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * timeout; char timeout_r_[PADR_(const struct timespec_oabi *)]; }; struct freebsd_oabi_aio_cancel_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; @@ -181,9 +197,26 @@ struct freebsd_oabi_olio_listio_args { char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; }; +struct freebsd_oabi_sched_rr_get_interval_args { + char pid_l_[PADL_(pid_t)]; pid_t pid; char pid_r_[PADR_(pid_t)]; + char interval_l_[PADL_(struct timespec_oabi *)]; struct timespec_oabi * interval; char interval_r_[PADR_(struct timespec_oabi *)]; +}; +struct freebsd_oabi_sigtimedwait_args { + char set_l_[PADL_(const sigset_t *)]; const sigset_t * set; char set_r_[PADR_(const sigset_t *)]; + char info_l_[PADL_(siginfo_t *)]; siginfo_t * info; char info_r_[PADR_(siginfo_t *)]; + char timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * timeout; char timeout_r_[PADR_(const struct timespec_oabi *)]; +}; struct freebsd_oabi_aio_waitcomplete_args { char aiocbp_l_[PADL_(struct aiocb_oabi **)]; struct aiocb_oabi ** aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi **)]; - char timeout_l_[PADL_(struct timespec *)]; struct timespec * timeout; char timeout_r_[PADR_(struct timespec *)]; + char timeout_l_[PADL_(struct timespec_oabi *)]; struct timespec_oabi * timeout; char timeout_r_[PADR_(struct timespec_oabi *)]; +}; +struct freebsd_oabi_kevent_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char changelist_l_[PADL_(const struct kevent *)]; const struct kevent * changelist; char changelist_r_[PADR_(const struct kevent *)]; + char nchanges_l_[PADL_(int)]; int nchanges; char nchanges_r_[PADR_(int)]; + char eventlist_l_[PADL_(struct kevent *)]; struct kevent * eventlist; char eventlist_r_[PADR_(struct kevent *)]; + char nevents_l_[PADL_(int)]; int nevents; char nevents_r_[PADR_(int)]; + char timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * timeout; char timeout_r_[PADR_(const struct timespec_oabi *)]; }; struct freebsd_oabi_ksem_init_args { char idp_l_[PADL_(semid_t *)]; semid_t * idp; char idp_r_[PADR_(semid_t *)]; @@ -196,6 +229,27 @@ struct freebsd_oabi_ksem_open_args { char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; char value_l_[PADL_(unsigned int)]; unsigned int value; char value_r_[PADR_(unsigned int)]; }; +struct freebsd_oabi_ksem_timedwait_args { + char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)]; + char abstime_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * abstime; char abstime_r_[PADR_(const struct timespec_oabi *)]; +}; +struct freebsd_oabi_thr_suspend_args { + char timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * timeout; char timeout_r_[PADR_(const struct timespec_oabi *)]; +}; +struct freebsd_oabi_kmq_timedreceive_args { + char mqd_l_[PADL_(int)]; int mqd; char mqd_r_[PADR_(int)]; + char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char msg_ptr_r_[PADR_(char *)]; + char msg_len_l_[PADL_(size_t)]; size_t msg_len; char msg_len_r_[PADR_(size_t)]; + char msg_prio_l_[PADL_(unsigned *)]; unsigned * msg_prio; char msg_prio_r_[PADR_(unsigned *)]; + char abs_timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * abs_timeout; char abs_timeout_r_[PADR_(const struct timespec_oabi *)]; +}; +struct freebsd_oabi_kmq_timedsend_args { + char mqd_l_[PADL_(int)]; int mqd; char mqd_r_[PADR_(int)]; + char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char msg_ptr_r_[PADR_(const char *)]; + char msg_len_l_[PADL_(size_t)]; size_t msg_len; char msg_len_r_[PADR_(size_t)]; + char msg_prio_l_[PADL_(unsigned)]; unsigned msg_prio; char msg_prio_r_[PADR_(unsigned)]; + char abs_timeout_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * abs_timeout; char abs_timeout_r_[PADR_(const struct timespec_oabi *)]; +}; struct freebsd_oabi_aio_fsync_args { char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)]; char aiocbp_l_[PADL_(struct aiocb_oabi *)]; struct aiocb_oabi * aiocbp; char aiocbp_r_[PADR_(struct aiocb_oabi *)]; @@ -266,6 +320,14 @@ struct freebsd_oabi_shmctl_args { char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)]; char buf_l_[PADL_(struct shmid_ds32 *)]; struct shmid_ds32 * buf; char buf_r_[PADR_(struct shmid_ds32 *)]; }; +struct freebsd_oabi_pselect_args { + char nd_l_[PADL_(int)]; int nd; char nd_r_[PADR_(int)]; + char in_l_[PADL_(fd_set *)]; fd_set * in; char in_r_[PADR_(fd_set *)]; + char ou_l_[PADL_(fd_set *)]; fd_set * ou; char ou_r_[PADR_(fd_set *)]; + char ex_l_[PADL_(fd_set *)]; fd_set * ex; char ex_r_[PADR_(fd_set *)]; + char ts_l_[PADL_(const struct timespec_oabi *)]; const struct timespec_oabi * ts; char ts_r_[PADR_(const struct timespec_oabi *)]; + char sm_l_[PADL_(const sigset_t *)]; const sigset_t * sm; char sm_r_[PADR_(const sigset_t *)]; +}; int freebsd_oabi_wait4(struct thread *, struct freebsd_oabi_wait4_args *); int freebsd_oabi_setitimer(struct thread *, struct freebsd_oabi_setitimer_args *); int freebsd_oabi_getitimer(struct thread *, struct freebsd_oabi_getitimer_args *); @@ -284,6 +346,10 @@ int freebsd_oabi_lstat(struct thread *, int freebsd_oabi_futimes(struct thread *, struct freebsd_oabi_futimes_args *); int freebsd_oabi_msgsnd(struct thread *, struct freebsd_oabi_msgsnd_args *); int freebsd_oabi_msgrcv(struct thread *, struct freebsd_oabi_msgrcv_args *); +int freebsd_oabi_clock_gettime(struct thread *, struct freebsd_oabi_clock_gettime_args *); +int freebsd_oabi_clock_settime(struct thread *, struct freebsd_oabi_clock_settime_args *); +int freebsd_oabi_clock_getres(struct thread *, struct freebsd_oabi_clock_getres_args *); +int freebsd_oabi_nanosleep(struct thread *, struct freebsd_oabi_nanosleep_args *); int freebsd_oabi_aio_read(struct thread *, struct freebsd_oabi_aio_read_args *); int freebsd_oabi_aio_write(struct thread *, struct freebsd_oabi_aio_write_args *); int freebsd_oabi_lio_listio(struct thread *, struct freebsd_oabi_lio_listio_args *); @@ -297,9 +363,16 @@ int freebsd_oabi_aio_error(struct thread int freebsd_oabi_oaio_read(struct thread *, struct freebsd_oabi_oaio_read_args *); int freebsd_oabi_oaio_write(struct thread *, struct freebsd_oabi_oaio_write_args *); int freebsd_oabi_olio_listio(struct thread *, struct freebsd_oabi_olio_listio_args *); +int freebsd_oabi_sched_rr_get_interval(struct thread *, struct freebsd_oabi_sched_rr_get_interval_args *); +int freebsd_oabi_sigtimedwait(struct thread *, struct freebsd_oabi_sigtimedwait_args *); int freebsd_oabi_aio_waitcomplete(struct thread *, struct freebsd_oabi_aio_waitcomplete_args *); +int freebsd_oabi_kevent(struct thread *, struct freebsd_oabi_kevent_args *); int freebsd_oabi_ksem_init(struct thread *, struct freebsd_oabi_ksem_init_args *); int freebsd_oabi_ksem_open(struct thread *, struct freebsd_oabi_ksem_open_args *); +int freebsd_oabi_ksem_timedwait(struct thread *, struct freebsd_oabi_ksem_timedwait_args *); +int freebsd_oabi_thr_suspend(struct thread *, struct freebsd_oabi_thr_suspend_args *); +int freebsd_oabi_kmq_timedreceive(struct thread *, struct freebsd_oabi_kmq_timedreceive_args *); +int freebsd_oabi_kmq_timedsend(struct thread *, struct freebsd_oabi_kmq_timedsend_args *); int freebsd_oabi_aio_fsync(struct thread *, struct freebsd_oabi_aio_fsync_args *); int freebsd_oabi_pread(struct thread *, struct freebsd_oabi_pread_args *); int freebsd_oabi_pwrite(struct thread *, struct freebsd_oabi_pwrite_args *); @@ -312,6 +385,7 @@ int freebsd_oabi_fstatat(struct thread * int freebsd_oabi_futimesat(struct thread *, struct freebsd_oabi_futimesat_args *); int freebsd_oabi_msgctl(struct thread *, struct freebsd_oabi_msgctl_args *); int freebsd_oabi_shmctl(struct thread *, struct freebsd_oabi_shmctl_args *); +int freebsd_oabi_pselect(struct thread *, struct freebsd_oabi_pselect_args *); #ifdef COMPAT_43 @@ -512,6 +586,10 @@ int freebsd7_freebsd_oabi_shmctl(struct #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgsnd AUE_MSGSND #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgrcv AUE_MSGRCV #define FREEBSD_OABI_SYS_AUE_freebsd7_freebsd_oabi_shmctl AUE_SHMCTL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_clock_gettime AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_clock_settime AUE_CLOCK_SETTIME +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_clock_getres AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_nanosleep AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_read AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_write AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_lio_listio AUE_NULL @@ -526,12 +604,19 @@ int freebsd7_freebsd_oabi_shmctl(struct #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_oaio_read AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_oaio_write AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_olio_listio AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_sched_rr_get_interval AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd4_sendfile AUE_SENDFILE #define FREEBSD_OABI_SYS_AUE_freebsd4_sigaction AUE_SIGACTION #define FREEBSD_OABI_SYS_AUE_freebsd4_freebsd_oabi_sigreturn AUE_SIGRETURN +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_sigtimedwait AUE_SIGWAIT #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_waitcomplete AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_kevent AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ksem_init AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ksem_open AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_ksem_timedwait AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_thr_suspend AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_kmq_timedreceive AUE_NULL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_kmq_timedsend AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_aio_fsync AUE_NULL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pread AUE_PREAD #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pwrite AUE_PWRITE @@ -544,6 +629,7 @@ int freebsd7_freebsd_oabi_shmctl(struct #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_futimesat AUE_FUTIMESAT #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_msgctl AUE_MSGCTL #define FREEBSD_OABI_SYS_AUE_freebsd_oabi_shmctl AUE_SHMCTL +#define FREEBSD_OABI_SYS_AUE_freebsd_oabi_pselect AUE_SELECT #undef PAD_ #undef PADL_ Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h ============================================================================== --- projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h Sat Aug 28 06:25:08 2010 (r211915) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscall.h Sat Aug 28 06:25:57 2010 (r211916) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211797 2010-08-25 07:30:33Z andrew */ #define FREEBSD_OABI_SYS_syscall 0 @@ -201,10 +201,10 @@ #define FREEBSD_OABI_SYS_freebsd7_freebsd_oabi_shmctl 229 #define FREEBSD_OABI_SYS_shmdt 230 #define FREEBSD_OABI_SYS_shmget 231 -#define FREEBSD_OABI_SYS_clock_gettime 232 -#define FREEBSD_OABI_SYS_clock_settime 233 -#define FREEBSD_OABI_SYS_clock_getres 234 -#define FREEBSD_OABI_SYS_nanosleep 240 +#define FREEBSD_OABI_SYS_freebsd_oabi_clock_gettime 232 +#define FREEBSD_OABI_SYS_freebsd_oabi_clock_settime 233 +#define FREEBSD_OABI_SYS_freebsd_oabi_clock_getres 234 +#define FREEBSD_OABI_SYS_freebsd_oabi_nanosleep 240 #define FREEBSD_OABI_SYS_minherit 250 #define FREEBSD_OABI_SYS_rfork 251 #define FREEBSD_OABI_SYS_openbsd_poll 252 @@ -260,7 +260,7 @@ #define FREEBSD_OABI_SYS_sched_yield 331 #define FREEBSD_OABI_SYS_sched_get_priority_max 332 #define FREEBSD_OABI_SYS_sched_get_priority_min 333 -#define FREEBSD_OABI_SYS_sched_rr_get_interval 334 +#define FREEBSD_OABI_SYS_freebsd_oabi_sched_rr_get_interval 334 #define FREEBSD_OABI_SYS_utrace 335 #define FREEBSD_OABI_SYS_freebsd4_sendfile 336 #define FREEBSD_OABI_SYS_kldsym 337 @@ -270,7 +270,7 @@ #define FREEBSD_OABI_SYS_freebsd4_sigaction 342 #define FREEBSD_OABI_SYS_sigpending 343 #define FREEBSD_OABI_SYS_freebsd4_freebsd_oabi_sigreturn 344 -#define FREEBSD_OABI_SYS_sigtimedwait 345 +#define FREEBSD_OABI_SYS_freebsd_oabi_sigtimedwait 345 #define FREEBSD_OABI_SYS_sigwaitinfo 346 #define FREEBSD_OABI_SYS___acl_get_file 347 #define FREEBSD_OABI_SYS___acl_set_file 348 @@ -288,7 +288,7 @@ #define FREEBSD_OABI_SYS_getresuid 360 #define FREEBSD_OABI_SYS_getresgid 361 #define FREEBSD_OABI_SYS_kqueue 362 -#define FREEBSD_OABI_SYS_kevent 363 +#define FREEBSD_OABI_SYS_freebsd_oabi_kevent 363 #define FREEBSD_OABI_SYS_extattr_set_fd 371 #define FREEBSD_OABI_SYS_extattr_get_fd 372 #define FREEBSD_OABI_SYS_extattr_delete_fd 373 @@ -334,8 +334,8 @@ #define FREEBSD_OABI_SYS_extattr_list_fd 437 #define FREEBSD_OABI_SYS_extattr_list_file 438 #define FREEBSD_OABI_SYS_extattr_list_link 439 -#define FREEBSD_OABI_SYS_ksem_timedwait 441 -#define FREEBSD_OABI_SYS_thr_suspend 442 +#define FREEBSD_OABI_SYS_freebsd_oabi_ksem_timedwait 441 +#define FREEBSD_OABI_SYS_freebsd_oabi_thr_suspend 442 #define FREEBSD_OABI_SYS_thr_wake 443 #define FREEBSD_OABI_SYS_kldunloadf 444 #define FREEBSD_OABI_SYS_audit 445 @@ -352,8 +352,8 @@ #define FREEBSD_OABI_SYS_sigqueue 456 #define FREEBSD_OABI_SYS_kmq_open 457 #define FREEBSD_OABI_SYS_kmq_setattr 458 -#define FREEBSD_OABI_SYS_kmq_timedreceive 459 -#define FREEBSD_OABI_SYS_kmq_timedsend 460 +#define FREEBSD_OABI_SYS_freebsd_oabi_kmq_timedreceive 459 +#define FREEBSD_OABI_SYS_freebsd_oabi_kmq_timedsend 460 #define FREEBSD_OABI_SYS_kmq_notify 461 #define FREEBSD_OABI_SYS_kmq_unlink 462 #define FREEBSD_OABI_SYS_abort2 463 @@ -402,5 +402,5 @@ #define FREEBSD_OABI_SYS_freebsd_oabi_msgctl 511 #define FREEBSD_OABI_SYS_freebsd_oabi_shmctl 512 #define FREEBSD_OABI_SYS_lpathconf 513 -#define FREEBSD_OABI_SYS_pselect 522 +#define FREEBSD_OABI_SYS_freebsd_oabi_pselect 522 #define FREEBSD_OABI_SYS_MAXSYSCALL 523 Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c ============================================================================== --- projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c Sat Aug 28 06:25:08 2010 (r211915) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_syscalls.c Sat Aug 28 06:25:57 2010 (r211916) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211797 2010-08-25 07:30:33Z andrew */ const char *freebsd_oabi_syscallnames[] = { @@ -239,15 +239,15 @@ const char *freebsd_oabi_syscallnames[] "compat7.freebsd_oabi_shmctl", /* 229 = freebsd7 freebsd_oabi_shmctl */ "shmdt", /* 230 = shmdt */ "shmget", /* 231 = shmget */ - "clock_gettime", /* 232 = clock_gettime */ - "clock_settime", /* 233 = clock_settime */ - "clock_getres", /* 234 = clock_getres */ + "freebsd_oabi_clock_gettime", /* 232 = freebsd_oabi_clock_gettime */ + "freebsd_oabi_clock_settime", /* 233 = freebsd_oabi_clock_settime */ + "freebsd_oabi_clock_getres", /* 234 = freebsd_oabi_clock_getres */ "#235", /* 235 = timer_create */ "#236", /* 236 = timer_delete */ "#237", /* 237 = timer_settime */ "#238", /* 238 = timer_gettime */ "#239", /* 239 = timer_getoverrun */ - "nanosleep", /* 240 = nanosleep */ + "freebsd_oabi_nanosleep", /* 240 = freebsd_oabi_nanosleep */ "#241", /* 241 = nosys */ "#242", /* 242 = nosys */ "#243", /* 243 = nosys */ @@ -341,7 +341,7 @@ const char *freebsd_oabi_syscallnames[] "sched_yield", /* 331 = sched_yield */ "sched_get_priority_max", /* 332 = sched_get_priority_max */ "sched_get_priority_min", /* 333 = sched_get_priority_min */ - "sched_rr_get_interval", /* 334 = sched_rr_get_interval */ + "freebsd_oabi_sched_rr_get_interval", /* 334 = freebsd_oabi_sched_rr_get_interval */ "utrace", /* 335 = utrace */ "compat4.sendfile", /* 336 = freebsd4 sendfile */ "kldsym", /* 337 = kldsym */ @@ -352,7 +352,7 @@ const char *freebsd_oabi_syscallnames[] "compat4.sigaction", /* 342 = freebsd4 sigaction */ "sigpending", /* 343 = sigpending */ "compat4.freebsd_oabi_sigreturn", /* 344 = freebsd4 freebsd_oabi_sigreturn */ - "sigtimedwait", /* 345 = sigtimedwait */ + "freebsd_oabi_sigtimedwait", /* 345 = freebsd_oabi_sigtimedwait */ "sigwaitinfo", /* 346 = sigwaitinfo */ "__acl_get_file", /* 347 = __acl_get_file */ "__acl_set_file", /* 348 = __acl_set_file */ @@ -370,7 +370,7 @@ const char *freebsd_oabi_syscallnames[] "getresuid", /* 360 = getresuid */ "getresgid", /* 361 = getresgid */ "kqueue", /* 362 = kqueue */ - "kevent", /* 363 = kevent */ + "freebsd_oabi_kevent", /* 363 = freebsd_oabi_kevent */ "#364", /* 364 = __cap_get_proc */ "#365", /* 365 = __cap_set_proc */ "#366", /* 366 = __cap_get_fd */ @@ -448,8 +448,8 @@ const char *freebsd_oabi_syscallnames[] "extattr_list_file", /* 438 = extattr_list_file */ "extattr_list_link", /* 439 = extattr_list_link */ "#440", /* 440 = kse_switchin */ - "ksem_timedwait", /* 441 = ksem_timedwait */ - "thr_suspend", /* 442 = thr_suspend */ + "freebsd_oabi_ksem_timedwait", /* 441 = freebsd_oabi_ksem_timedwait */ + "freebsd_oabi_thr_suspend", /* 442 = freebsd_oabi_thr_suspend */ "thr_wake", /* 443 = thr_wake */ "kldunloadf", /* 444 = kldunloadf */ "audit", /* 445 = audit */ @@ -466,8 +466,8 @@ const char *freebsd_oabi_syscallnames[] "sigqueue", /* 456 = sigqueue */ "kmq_open", /* 457 = kmq_open */ "kmq_setattr", /* 458 = kmq_setattr */ - "kmq_timedreceive", /* 459 = kmq_timedreceive */ - "kmq_timedsend", /* 460 = kmq_timedsend */ + "freebsd_oabi_kmq_timedreceive", /* 459 = freebsd_oabi_kmq_timedreceive */ + "freebsd_oabi_kmq_timedsend", /* 460 = freebsd_oabi_kmq_timedsend */ "kmq_notify", /* 461 = kmq_notify */ "kmq_unlink", /* 462 = kmq_unlink */ "abort2", /* 463 = abort2 */ @@ -529,5 +529,5 @@ const char *freebsd_oabi_syscallnames[] "#519", /* 519 = pdkill */ "#520", /* 520 = pdgetpid */ "#521", /* 521 = pdwait */ - "pselect", /* 522 = pselect */ + "freebsd_oabi_pselect", /* 522 = freebsd_oabi_pselect */ }; Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_sysent.c ============================================================================== --- projects/arm_eabi/sys/compat/arm/freebsd_oabi_sysent.c Sat Aug 28 06:25:08 2010 (r211915) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_sysent.c Sat Aug 28 06:25:57 2010 (r211916) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211796 2010-08-25 07:24:52Z andrew + * created from FreeBSD: projects/arm_eabi/sys/compat/arm/syscalls.master 211797 2010-08-25 07:30:33Z andrew */ #include "opt_compat.h" @@ -277,15 +277,15 @@ struct sysent freebsd_oabi_sysent[] = { { 0, (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 229 = freebsd7 freebsd_oabi_shmctl */ { AS(shmdt_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 230 = shmdt */ { AS(shmget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 231 = shmget */ - { AS(clock_gettime_args), (sy_call_t *)clock_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = clock_gettime */ - { AS(clock_settime_args), (sy_call_t *)clock_settime, AUE_CLOCK_SETTIME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = clock_settime */ - { AS(clock_getres_args), (sy_call_t *)clock_getres, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = clock_getres */ + { AS(freebsd_oabi_clock_gettime_args), (sy_call_t *)freebsd_oabi_clock_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = freebsd_oabi_clock_gettime */ + { AS(freebsd_oabi_clock_settime_args), (sy_call_t *)freebsd_oabi_clock_settime, AUE_CLOCK_SETTIME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = freebsd_oabi_clock_settime */ + { AS(freebsd_oabi_clock_getres_args), (sy_call_t *)freebsd_oabi_clock_getres, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = freebsd_oabi_clock_getres */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 235 = timer_create */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 236 = timer_delete */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 237 = timer_settime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 238 = timer_gettime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 239 = timer_getoverrun */ - { AS(nanosleep_args), (sy_call_t *)nanosleep, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = nanosleep */ + { AS(freebsd_oabi_nanosleep_args), (sy_call_t *)freebsd_oabi_nanosleep, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = freebsd_oabi_nanosleep */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 241 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 242 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 243 = nosys */ @@ -379,7 +379,7 @@ struct sysent freebsd_oabi_sysent[] = { { 0, (sy_call_t *)sched_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 331 = sched_yield */ { AS(sched_get_priority_max_args), (sy_call_t *)sched_get_priority_max, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 332 = sched_get_priority_max */ { AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 333 = sched_get_priority_min */ - { AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = sched_rr_get_interval */ + { AS(freebsd_oabi_sched_rr_get_interval_args), (sy_call_t *)freebsd_oabi_sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = freebsd_oabi_sched_rr_get_interval */ { AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 335 = utrace */ { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 336 = freebsd4 sendfile */ { AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = kldsym */ @@ -390,7 +390,7 @@ struct sysent freebsd_oabi_sysent[] = { { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = freebsd4 sigaction */ { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = sigpending */ { compat4(AS(freebsd4_freebsd_oabi_sigreturn_args),freebsd_oabi_sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = freebsd4 freebsd_oabi_sigreturn */ - { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = sigtimedwait */ + { AS(freebsd_oabi_sigtimedwait_args), (sy_call_t *)freebsd_oabi_sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = freebsd_oabi_sigtimedwait */ { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = sigwaitinfo */ { AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = __acl_get_file */ { AS(__acl_set_file_args), (sy_call_t *)__acl_set_file, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 348 = __acl_set_file */ @@ -408,7 +408,7 @@ struct sysent freebsd_oabi_sysent[] = { { AS(getresuid_args), (sy_call_t *)getresuid, AUE_GETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 360 = getresuid */ { AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 361 = getresgid */ { 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 362 = kqueue */ - { AS(kevent_args), (sy_call_t *)kevent, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 363 = kevent */ + { AS(freebsd_oabi_kevent_args), (sy_call_t *)freebsd_oabi_kevent, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 363 = freebsd_oabi_kevent */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 364 = __cap_get_proc */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 365 = __cap_set_proc */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 366 = __cap_get_fd */ @@ -486,8 +486,8 @@ struct sysent freebsd_oabi_sysent[] = { { AS(extattr_list_file_args), (sy_call_t *)extattr_list_file, AUE_EXTATTR_LIST_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 438 = extattr_list_file */ { AS(extattr_list_link_args), (sy_call_t *)extattr_list_link, AUE_EXTATTR_LIST_LINK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 439 = extattr_list_link */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 440 = kse_switchin */ - { AS(ksem_timedwait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 441 = ksem_timedwait */ - { AS(thr_suspend_args), (sy_call_t *)thr_suspend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 442 = thr_suspend */ + { AS(freebsd_oabi_ksem_timedwait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 441 = freebsd_oabi_ksem_timedwait */ + { AS(freebsd_oabi_thr_suspend_args), (sy_call_t *)freebsd_oabi_thr_suspend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 442 = freebsd_oabi_thr_suspend */ { AS(thr_wake_args), (sy_call_t *)thr_wake, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 443 = thr_wake */ { AS(kldunloadf_args), (sy_call_t *)kldunloadf, AUE_MODUNLOAD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 444 = kldunloadf */ { AS(audit_args), (sy_call_t *)audit, AUE_AUDIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 445 = audit */ @@ -504,8 +504,8 @@ struct sysent freebsd_oabi_sysent[] = { { AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 456 = sigqueue */ { AS(kmq_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 457 = kmq_open */ { AS(kmq_setattr_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 458 = kmq_setattr */ - { AS(kmq_timedreceive_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 459 = kmq_timedreceive */ - { AS(kmq_timedsend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 460 = kmq_timedsend */ + { AS(freebsd_oabi_kmq_timedreceive_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 459 = freebsd_oabi_kmq_timedreceive */ + { AS(freebsd_oabi_kmq_timedsend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 460 = freebsd_oabi_kmq_timedsend */ { AS(kmq_notify_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 461 = kmq_notify */ { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 463 = abort2 */ @@ -567,5 +567,5 @@ struct sysent freebsd_oabi_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 519 = pdkill */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 520 = pdgetpid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 521 = pdwait */ - { AS(pselect_args), (sy_call_t *)pselect, AUE_SELECT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 522 = pselect */ + { AS(freebsd_oabi_pselect_args), (sy_call_t *)freebsd_oabi_pselect, AUE_SELECT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 522 = freebsd_oabi_pselect */ }; From owner-svn-src-projects@FreeBSD.ORG Sat Aug 28 06:28:03 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67BE910656A5; Sat, 28 Aug 2010 06:28:03 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3D6888FC0A; Sat, 28 Aug 2010 06:28:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7S6S3Il021151; Sat, 28 Aug 2010 06:28:03 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7S6S3un021149; Sat, 28 Aug 2010 06:28:03 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008280628.o7S6S3un021149@svn.freebsd.org> From: Andrew Turner Date: Sat, 28 Aug 2010 06:28:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211917 - projects/arm_eabi/sys/compat/arm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 06:28:03 -0000 Author: andrew Date: Sat Aug 28 06:28:02 2010 New Revision: 211917 URL: http://svn.freebsd.org/changeset/base/211917 Log: Create the functions from syscalls.master. They'll panic to remind me to implement them. Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c Modified: projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c ============================================================================== --- projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c Sat Aug 28 06:25:57 2010 (r211916) +++ projects/arm_eabi/sys/compat/arm/freebsd_oabi_misc.c Sat Aug 28 06:28:02 2010 (r211917) @@ -101,6 +101,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifndef __ARM_EABI__ +#error COMPAT_OABI requires an ARM EABI kernel +#endif + CTASSERT(sizeof(struct aiocb_oabi) == 96); CTASSERT(sizeof(fd_set) == 128); CTASSERT(sizeof(struct fhandle) == 28); @@ -121,7 +125,7 @@ CTASSERT(sizeof(struct statfs) == 472); CTASSERT(sizeof(struct thr_param) == 52); CTASSERT(sizeof(struct rusage_oabi) == 80); CTASSERT(sizeof(struct sigaction) == 24); -CTASSERT(sizeof(struct timespec) == 12); +CTASSERT(sizeof(struct timespec_oabi) == 12); CTASSERT(sizeof(struct timeval_oabi) == 12); CTASSERT(sizeof(struct timezone) == 8); @@ -538,3 +542,65 @@ freebsd_oabi_cpuset_setid(struct thread panic("freebsd_oabi_cpuset_setid"); } +int +freebsd_oabi_clock_gettime(struct thread *td, + struct freebsd_oabi_clock_gettime_args *uap) +{ + panic("freebsd_oabi_clock_gettime"); +} + +int +freebsd_oabi_clock_settime(struct thread *td, + struct freebsd_oabi_clock_settime_args *uap) +{ + panic("freebsd_oabi_clock_settime"); +} + +int +freebsd_oabi_clock_getres(struct thread *td, + struct freebsd_oabi_clock_getres_args *uap) +{ + panic("freebsd_oabi_clock_getres"); +} + +int +freebsd_oabi_nanosleep(struct thread *td, + struct freebsd_oabi_nanosleep_args *uap) +{ + panic("freebsd_oabi_nanosleep"); +} + +int +freebsd_oabi_sched_rr_get_interval(struct thread *td, + struct freebsd_oabi_sched_rr_get_interval_args *uap) +{ + panic("freebsd_oabi_sched_rr_get_interval"); +} + +int +freebsd_oabi_sigtimedwait(struct thread *td, + struct freebsd_oabi_sigtimedwait_args *uap) +{ + panic("freebsd_oabi_sigtimedwait"); +} + +int +freebsd_oabi_kevent(struct thread *td, + struct freebsd_oabi_kevent_args *uap) +{ + panic("freebsd_oabi_kevent"); +} + +int +freebsd_oabi_thr_suspend(struct thread *td, + struct freebsd_oabi_thr_suspend_args *uap) +{ + panic("freebsd_oabi_thr_suspend"); +} + +int +freebsd_oabi_pselect(struct thread *td, struct freebsd_oabi_pselect_args *uap) +{ + panic("freebsd_oabi_pselect"); +} + From owner-svn-src-projects@FreeBSD.ORG Sat Aug 28 06:31:15 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6508A106566B; Sat, 28 Aug 2010 06:31:15 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5508E8FC0C; Sat, 28 Aug 2010 06:31:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7S6VF7s021260; Sat, 28 Aug 2010 06:31:15 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7S6VFtd021257; Sat, 28 Aug 2010 06:31:15 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201008280631.o7S6VFtd021257@svn.freebsd.org> From: Andrew Turner Date: Sat, 28 Aug 2010 06:31:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211918 - projects/arm_eabi/sys/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 06:31:15 -0000 Author: andrew Date: Sat Aug 28 06:31:15 2010 New Revision: 211918 URL: http://svn.freebsd.org/changeset/base/211918 Log: Attach the sys/compat/arm to the build with the COMPAT_OABI option Modified: projects/arm_eabi/sys/conf/files.arm projects/arm_eabi/sys/conf/options.arm Modified: projects/arm_eabi/sys/conf/files.arm ============================================================================== --- projects/arm_eabi/sys/conf/files.arm Sat Aug 28 06:28:02 2010 (r211917) +++ projects/arm_eabi/sys/conf/files.arm Sat Aug 28 06:31:15 2010 (r211918) @@ -47,6 +47,9 @@ arm/arm/vm_machdep.c standard arm/fpe-arm/armfpe_glue.S optional armfpe arm/fpe-arm/armfpe_init.c optional armfpe arm/fpe-arm/armfpe.S optional armfpe +compat/arm/freebsd_oabi_misc.c optional compat_oabi +compat/arm/freebsd_oabi_syscalls.c optional compat_oabi +compat/arm/freebsd_oabi_sysent.c optional compat_oabi dev/hwpmc/hwpmc_arm.c optional hwpmc dev/ofw/openfirm.c optional fdt dev/ofw/openfirmio.c optional fdt Modified: projects/arm_eabi/sys/conf/options.arm ============================================================================== --- projects/arm_eabi/sys/conf/options.arm Sat Aug 28 06:28:02 2010 (r211917) +++ projects/arm_eabi/sys/conf/options.arm Sat Aug 28 06:31:15 2010 (r211918) @@ -6,6 +6,7 @@ ARM_KERN_DIRECTMAP opt_vm.h ARM_USE_SMALL_ALLOC opt_global.h AT91C_MASTER_CLOCK opt_global.h AT91C_MAIN_CLOCK opt_at91.h +COMPAT_OABI opt_global.h COUNTS_PER_SEC opt_timer.h CPU_SA1100 opt_global.h CPU_SA1110 opt_global.h From owner-svn-src-projects@FreeBSD.ORG Sat Aug 28 14:15:18 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B60F21065694; Sat, 28 Aug 2010 14:15:18 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8BC178FC19; Sat, 28 Aug 2010 14:15:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7SEFIt3033632; Sat, 28 Aug 2010 14:15:18 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7SEFI4F033631; Sat, 28 Aug 2010 14:15:18 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008281415.o7SEFI4F033631@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 28 Aug 2010 14:15:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211933 - projects/ppc64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 14:15:18 -0000 Author: nwhitehorn Date: Sat Aug 28 14:15:18 2010 New Revision: 211933 URL: http://svn.freebsd.org/changeset/base/211933 Log: projects/ppc64 is now completely merged to HEAD and has served its purpose well. Now it shall go to the great Attic in the sky. Deleted: projects/ppc64/