From owner-svn-src-projects@FreeBSD.ORG Sun Jul 19 23:11:10 2009 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 3E530106566C; Sun, 19 Jul 2009 23:11:10 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B6D48FC25; Sun, 19 Jul 2009 23:11:10 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6JNBA92059857; Sun, 19 Jul 2009 23:11:10 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6JNB9K8059851; Sun, 19 Jul 2009 23:11:09 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907192311.n6JNB9K8059851@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 19 Jul 2009 23:11:09 +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: r195775 - projects/libprocstat/usr.bin/fstat 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, 19 Jul 2009 23:11:10 -0000 Author: stas Date: Sun Jul 19 23:11:08 2009 New Revision: 195775 URL: http://svn.freebsd.org/changeset/base/195775 Log: - Fix fuser to use libprocstat instead of relying on its own kvm-only functionality. - Add new 'fs_uflags' field to filestat struct to indicate how the file is used by the process (root dir, cwd, etc). Previously these flags have been encoded as the 'special' descriptor numbers and it was impossible to indicate multiple usage cases (e.g. root dir and cwd simultaneously) which is important to fuser(8). Modified: projects/libprocstat/usr.bin/fstat/Makefile projects/libprocstat/usr.bin/fstat/fstat.c projects/libprocstat/usr.bin/fstat/fuser.1 projects/libprocstat/usr.bin/fstat/fuser.c projects/libprocstat/usr.bin/fstat/libprocstat.c projects/libprocstat/usr.bin/fstat/libprocstat.h projects/libprocstat/usr.bin/fstat/main.c Modified: projects/libprocstat/usr.bin/fstat/Makefile ============================================================================== --- projects/libprocstat/usr.bin/fstat/Makefile Sun Jul 19 21:40:19 2009 (r195774) +++ projects/libprocstat/usr.bin/fstat/Makefile Sun Jul 19 23:11:08 2009 (r195775) @@ -4,7 +4,7 @@ .include PROG= fstat -SRCS= cd9660.c common_kvm.c fstat.c libprocstat.c main.c msdosfs.c +SRCS= cd9660.c common_kvm.c fstat.c fuser.c libprocstat.c main.c msdosfs.c LINKS= ${BINDIR}/fstat ${BINDIR}/fuser DPADD= ${LIBKVM} LDADD= -lkvm -lutil Modified: projects/libprocstat/usr.bin/fstat/fstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/fstat.c Sun Jul 19 21:40:19 2009 (r195774) +++ projects/libprocstat/usr.bin/fstat/fstat.c Sun Jul 19 23:11:08 2009 (r195775) @@ -255,29 +255,20 @@ print_file_info(struct procstat *procsta * Print entry prefix. */ printf("%-8.8s %-10s %5d", uname, cmd, pid); - switch(fst->fs_fd) { - case PS_FST_FD_TEXT: + if (fst->fs_uflags & PS_FST_UFLAG_TEXT) printf(" text"); - break; - case PS_FST_FD_CDIR: + else if (fst->fs_uflags & PS_FST_UFLAG_CDIR) printf(" wd"); - break; - case PS_FST_FD_RDIR: + else if (fst->fs_uflags & PS_FST_UFLAG_RDIR) printf(" root"); - break; - case PS_FST_FD_TRACE: + else if (fst->fs_uflags & PS_FST_UFLAG_TRACE) printf(" tr"); - break; - case PS_FST_FD_MMAP: + else if (fst->fs_uflags & PS_FST_UFLAG_MMAP) printf(" mmap"); - break; - case PS_FST_FD_JAIL: + else if (fst->fs_uflags & PS_FST_UFLAG_JAIL) printf(" jail"); - break; - default: + else printf(" %4d", fst->fs_fd); - break; - } /* * Print type-specific data. Modified: projects/libprocstat/usr.bin/fstat/fuser.1 ============================================================================== --- projects/libprocstat/usr.bin/fstat/fuser.1 Sun Jul 19 21:40:19 2009 (r195774) +++ projects/libprocstat/usr.bin/fstat/fuser.1 Sun Jul 19 23:11:08 2009 (r195775) @@ -33,8 +33,8 @@ .Sh SYNOPSIS .Nm .Op Fl cfkmu -.Op Fl C Ar core -.Op Fl K Ar kernel +.Op Fl M Ar core +.Op Fl N Ar system .Op Fl s Ar signal .Op Ar .Sh DESCRIPTION @@ -66,12 +66,13 @@ Send signal to reported processes Report on mmapped files too. .It Fl u Write the user name, associated with each process, to stdout. -.It Fl C -Use given kernel core file instead of default +.It Fl M +Extract values associated with the name list from the specified core +instead of the default .Pa /dev/kmem . -.It Fl K -Use specified kernel image instead of the default one, -which is the image the system has booted from. +.It Fl N +Extract the name list from the specified system instead of the default, +which is the kernel image the system has booted from. .It Fl s Use given signal name instead of default SIGKILL. .El Modified: projects/libprocstat/usr.bin/fstat/fuser.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/fuser.c Sun Jul 19 21:40:19 2009 (r195774) +++ projects/libprocstat/usr.bin/fstat/fuser.c Sun Jul 19 23:11:08 2009 (r195775) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005,2009 Stanislav Sedov + * Copyright (c) 2005-2009 Stanislav Sedov * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,729 +27,339 @@ #include __FBSDID("$FreeBSD$"); -#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 _WANT_FILE -#include -#include -#define _KERNEL -#include -#include -#undef _KERNEL - -#include -#include -#include +#include +#include +#include +#include +#include -#include "common.h" #include "functions.h" +#include "libprocstat.h" /* - * Local types + * File access mode flags table. */ - -enum {REQFILE, REQDEV, REQMNT}; /* Type of requested file */ -typedef struct reqfile { - ino_t ino; - dev_t dev; - const char *fname; - int type; - SLIST_ENTRY(reqfile) next; -} reqfile_t; -typedef SLIST_HEAD(, finfo) fds_head_t; /* List of opened files */ - -typedef struct pinfo { - pid_t pid; - uid_t uid; - fds_head_t fds; - SLIST_ENTRY(pinfo) next; -} pinfo_t; - -typedef struct finfo{ - struct filestat stat; - int uflags; /* How this file is used */ - SLIST_ENTRY(finfo) next; -} finfo_t; +struct { + int flag; + char ch; +} fflags[] = { + {PS_FST_FFLAG_WRITE, 'w'}, + {PS_FST_FFLAG_APPEND, 'a'}, + {PS_FST_FFLAG_DIRECT, 'd'}, + {PS_FST_FFLAG_SHLOCK, 's'}, + {PS_FST_FFLAG_EXLOCK, 'e'} +}; +#define NFFLAGS (sizeof(fflags) / sizeof(*fflags)) /* - * Local definitions + * Usage flags translation table. */ - -/* Option flags */ -#define UFLAG 0x01 /* -u flag: show users */ -#define FFLAG 0x02 /* -f flag: specified files only */ -#define CFLAG 0x04 /* -c flag: treat as mpoints */ -#define MFLAG 0x10 /* -m flag: mmapped files too */ -#define KFLAG 0x20 /* -k flag: send signal (SIGKILL by default) */ - -/* Macros for freeing SLISTs, probably must be in /sys/queue.h */ -#define SLIST_FREE(head, field, freef) do { \ - typeof(SLIST_FIRST(head)) __elm0; \ - typeof(SLIST_FIRST(head)) __elm; \ - SLIST_FOREACH_SAFE(__elm, (head), field, __elm0) \ - (void)(freef)(__elm); \ -} while(0); - -/* File's usage flags */ -#define UFL_RDIR 0x0001 /* root dir */ -#define UFL_CDIR 0x0002 /* cwd */ -#define UFL_JDIR 0x0004 /* jail root */ -#define UFL_TRACEP 0x0008 /* trace vnode */ -#define UFL_TEXTVP 0x0010 /* text(executable) file */ -#define UFL_CTTY 0x0020 /* contolling tty */ -#define UFL_MMAP 0x0040 /* file is mmapped */ -#define UFL_FREAD 0x0080 /* file opened for reading */ -#define UFL_FWRITE 0x0100 /* file opened for writing */ -#define UFL_FAPPEND 0x0200 /* file opened as append-only */ -#define UFL_FDIRECT 0x0400 /* file bypasses fs cache */ -#define UFL_FSHLOCK 0x0800 /* shared lock is obtained */ -#define UFL_FEXLOCK 0x1000 /* exclusive lock is obtained */ - struct { - int val; + int flag; char ch; } uflags[] = { - {UFL_RDIR, 'r'}, - {UFL_JDIR, 'j'}, - {UFL_CDIR, 'c'}, - {UFL_TRACEP, 't'}, - {UFL_TEXTVP, 'x'}, - {UFL_CTTY, 'y'}, - {UFL_MMAP, 'm'}, - {UFL_FWRITE, 'w'}, - {UFL_FAPPEND, 'a'}, - {UFL_FDIRECT, 'd'}, - {UFL_FSHLOCK, 's'}, - {UFL_FEXLOCK, 'e'}, + {PS_FST_UFLAG_RDIR, 'r'}, + {PS_FST_UFLAG_CDIR, 'c'}, + {PS_FST_UFLAG_JAIL, 'j'}, + {PS_FST_UFLAG_TRACE, 't'}, + {PS_FST_UFLAG_TEXT, 'x'}, + {PS_FST_UFLAG_MMAP, 'm'} }; -#define NUFLAGS (sizeof(uflags) / sizeof(*uflags)) - -/* Filesystem-specific handlers */ -#define FSTYPE(fst) {#fst, fst##_filestat} -static struct { - const char *tag; - int (*handler)(kvm_t *kd, struct vnode *vp, struct filestat *fsp); -} fstypes[] = { - FSTYPE(ufs), - FSTYPE(devfs), - FSTYPE(nfs), - FSTYPE(msdosfs), - FSTYPE(isofs), -/* - FSTYPE(ntfs), - FSTYPE(nwfs), - FSTYPE(smbfs), - FSTYPE(udf), -*/ +#define NUFLAGS (sizeof(uflags) / sizeof(*uflags)) + +struct consumer { + pid_t pid; + uid_t uid; + int fd; + int flags; + int uflags; + STAILQ_ENTRY(consumer) next; +}; +struct reqfile { + long fsid; + long fileid; + const char *name; + STAILQ_HEAD(, consumer) consumers; }; -#define NTYPES (sizeof(fstypes) / sizeof(*fstypes)) /* - * Global vars + * Option flags. */ +#define UFLAG 0x01 /* -u flag: show users */ +#define FFLAG 0x02 /* -f flag: specified files only */ +#define CFLAG 0x04 /* -c flag: treat as mpoints */ +#define MFLAG 0x10 /* -m flag: mmapped files too */ +#define KFLAG 0x20 /* -k flag: send signal (SIGKILL by default) */ -kvm_t *kd; /* KVM descriptors */ -static int flags = 0; /* Option flags */ - -/* List of requested files */ -static SLIST_HEAD(, reqfile) rfiles = SLIST_HEAD_INITIALIZER(&rfiles); - -/* List of current processes */ -static SLIST_HEAD(, pinfo) prclist = SLIST_HEAD_INITIALIZER(&prclist); +static int flags = 0; /* Option flags. */ -/* - * Prototypes - */ -static const struct vnode *get_ctty \ - __P((const struct kinfo_proc *p)); -static int vp2finfo \ - __P((const struct vnode *vp, fds_head_t *h, int fl)); -static void print_file_info \ - __P((pid_t pid, uid_t uid, int ufl)); -static int add_mmapped \ - __P((const struct kinfo_proc *p, fds_head_t *head)); -static int str2sig \ - __P((const char *str)); -static void usage \ - __P((void)) __dead2; -static int gather_pinfo \ - __P((const struct kinfo_proc *p)); -static int addfile \ - __P((const char *path)); -static int add_ofiles \ - __P((const struct filedesc *fd, fds_head_t *head)); -static int get_uflags \ - __P((const reqfile_t *rfile, const pinfo_t *pinfo)); -static void pinfo_free \ - __P((pinfo_t *pinfo)); -int main \ - __P((int argc, char *argv[])); +static void printflags(struct consumer *consumer); +static int str2sig(const char *str); +static void usage(void) __dead2; +static int addfile(const char *path, struct reqfile *reqfile); +static void dofiles(struct procstat *procstat, struct kinfo_proc *kp, + struct reqfile *reqfiles, size_t nfiles); static void usage(void) { - (void)fprintf(stderr, "usage: %s [-cfkmu] [-C core] [-K kernel]" \ - " [-s signal] file ...\n", getprogname()); - + fprintf(stderr, +"usage: fuser [-cfhkmu] [-M core] [-N system] [-s signal] file ...\n"); exit(EX_USAGE); } -void -print_file_info(pid, uid, ufl) - pid_t pid; - uid_t uid; - int ufl; +static void +printflags(struct consumer *cons) { - uint i; - - (void)fprintf(stdout, "%6d", pid); - (void)fflush(stdout); + unsigned int i; + assert(cons); for (i = 0; i < NUFLAGS; i++) - if ((ufl & uflags[i].val) != 0) - (void)fprintf(stderr, "%c", uflags[i].ch); - - if ((flags & UFLAG) != 0) - (void)fprintf(stderr,"(%s)", user_from_uid(uid, 0)); - - (void)fflush(stderr); + if ((cons->uflags & uflags[i].flag) != 0) + fputc(uflags[i].ch, stderr); + for (i = 0; i < NFFLAGS; i++) + if ((cons->flags & fflags[i].flag) != 0) + fputc(fflags[i].ch, stderr); + /* XXX: add controlling tty support. */ } /* * Add file to the list. */ static int -addfile(path) - const char *path; +addfile(const char *path, struct reqfile *reqfile) { - struct stat sb; - int type; - reqfile_t *rfile; + struct stat sb; assert(path); - if (stat(path, &sb) != 0) { warn("%s", path); - return 1; - } - - rfile = (reqfile_t *)malloc(sizeof(reqfile_t)); - if (rfile == NULL) - err(EX_OSERR, "malloc()"); - - type = sb.st_mode & S_IFMT; - - rfile->ino = sb.st_ino; - rfile->dev = sb.st_dev; - rfile->fname = path; - - if ((flags & CFLAG) != 0) - rfile->type = REQMNT; - else if ((type == S_IFCHR || type == S_IFBLK) && ((flags & FFLAG) == 0)) - rfile->type = REQDEV; - else - rfile->type = REQFILE; - - SLIST_INSERT_HEAD(&rfiles, rfile, next); - - return 0; -} - -/* - * The purpose of this routine is to walk through list of fds, opened - * by a given process and add suitable entries to list. - */ -static int -add_ofiles(fd, head) - const struct filedesc *fd; - fds_head_t *head; -{ - struct file **ofiles; - struct file file; - int nfiles; - int ufl; - uint i; - - assert(head); - assert(fd); - - nfiles = (fd->fd_lastfile + 1); - if (nfiles <= 0) { - return 1; - } - -#define OFSIZE (nfiles * sizeof(*ofiles)) - ofiles = (struct file **)malloc(OFSIZE); - if (ofiles == NULL) - err(EX_OSERR, "malloc()"); - - if (!kvm_read_all(kd, (unsigned long)fd->fd_ofiles, ofiles, OFSIZE)) { - warnx("can't read file structures at %p", fd->fd_ofiles); - - free(ofiles); - return 1; - } -#undef OFSIZE - - for (i = 0; i < (unsigned)nfiles; i++) { - if (ofiles[i] == 0) - continue; - - if (!kvm_read_all(kd, (unsigned long)ofiles[i], &file, - sizeof(file))) { - warnx("can't read file structure at %p", ofiles[i]); - continue; - } - - ufl = 0; - if ((file.f_flag & FREAD) != 0) - ufl |= UFL_FREAD; - if ((file.f_flag & FWRITE) != 0) - ufl |= UFL_FWRITE; - if ((file.f_flag & O_APPEND) != 0) - ufl |= UFL_FAPPEND; - if ((file.f_flag & O_DIRECT) != 0) - ufl |= UFL_FDIRECT; - if ((file.f_flag & O_SHLOCK) != 0) - ufl |= UFL_FSHLOCK; - if ((file.f_flag & O_EXLOCK) != 0) - ufl |= UFL_FEXLOCK; - - switch (file.f_type) { - case DTYPE_VNODE: - case DTYPE_FIFO: - (void)vp2finfo(file.f_vnode, head, ufl); - - default: - continue; - } - } - - free(ofiles); - - return 0; -} - -/* - * This routine returns controlling tty of the process, if exist. - */ -const struct vnode * -get_ctty(p) - const struct kinfo_proc *p; -{ - struct proc proc; - struct pgrp pgrp; - struct session sess; - - assert(p); - if (!kvm_read_all(kd, (unsigned long)p->ki_paddr, &proc, - sizeof(proc))) { - warnx("can't read proc struct at %p for pid %d", \ - p->ki_paddr, p->ki_pid); - return NULL; - } - - if (proc.p_pgrp == NULL) - return NULL; - - if (!kvm_read_all(kd, (unsigned long)proc.p_pgrp, &pgrp, sizeof(pgrp))) { - warnx("can't read pgrp struct at %p for pid %d", \ - proc.p_pgrp, p->ki_pid); - return NULL; - } - - if (!kvm_read_all(kd, (unsigned long)pgrp.pg_session, &sess, - sizeof(sess))) { - warnx("can't read session struct at %p for pid %d", \ - pgrp.pg_session, p->ki_pid); - return NULL; - } - - return sess.s_ttyvp; -} - -/* - * The purpose of this routine is to build the entire pinfo structure for - * given process. The structure's pointer will be inserted in the list. - */ -int -gather_pinfo(p) - const struct kinfo_proc *p; -{ - struct filedesc fd_info; - pinfo_t *pinfo; - - assert(p); - if (p->ki_stat == SZOMB || p->ki_fd == NULL) - return 1; - - if (!kvm_read_all(kd, (unsigned long)p->ki_fd, &fd_info, - sizeof(fd_info))) { - warnx("can't read open file's info at %p for pid %d", \ - p->ki_fd, p->ki_pid); - return 1; - } - - pinfo = (pinfo_t *)malloc(sizeof(pinfo_t)); - if (pinfo == NULL) - err(EX_OSERR, "malloc()"); - - pinfo->pid = p->ki_pid; - pinfo->uid = p->ki_uid; - SLIST_INIT(&pinfo->fds); - - /* Add files from process's open fds list */ - (void)add_ofiles(&fd_info, &pinfo->fds); - - if ((flags & MFLAG) != 0) - (void)add_mmapped(p, &pinfo->fds); - - (void)vp2finfo(p->ki_tracep, &pinfo->fds, \ - UFL_FREAD|UFL_FWRITE|UFL_TRACEP); - - (void)vp2finfo(p->ki_textvp, &pinfo->fds, UFL_FREAD|UFL_TEXTVP); - - (void)vp2finfo(get_ctty(p), &pinfo->fds, UFL_CTTY); - - (void)vp2finfo(fd_info.fd_rdir, &pinfo->fds, UFL_FREAD|UFL_RDIR); - - (void)vp2finfo(fd_info.fd_cdir, &pinfo->fds, UFL_FREAD|UFL_CDIR); - - (void)vp2finfo(fd_info.fd_jdir, &pinfo->fds, UFL_FREAD|UFL_JDIR); - - SLIST_INSERT_HEAD(&prclist, pinfo, next); - - return 0; -} - -/* - * Insert finfo structure for given vnode into the list - */ -static int -vp2finfo(vp, head, ufl) - const struct vnode *vp; - fds_head_t *head; - int ufl; -{ - struct vnode vn; - finfo_t *finfo; - char tag[8]; /* Max expected fs name length */ - uint found, i; - - assert(head); - if (vp == NULL) - return 1; - - finfo = (finfo_t *)malloc(sizeof(finfo_t)); - if (finfo == NULL) - err(EX_OSERR, "malloc()"); - - if (!kvm_read_all(kd, (unsigned long)vp, &vn, sizeof(vn))) { - warnx("can't read vnode at %p", vp); - return 1; - } - - if (!kvm_read_all(kd, (unsigned long)vn.v_tag, &tag, sizeof(tag))) { - warnx("can't read v_tag at %p", vp); - return 1; - } - tag[sizeof(tag) - 1] = 0; - - if (vn.v_type == VNON || vn.v_type == VBAD) - return 1; - - for (i = 0, found = 0; i < NTYPES; i++) - if (!strcmp(fstypes[i].tag, tag)) { - if (fstypes[i].handler(kd, &vn, &(finfo->stat)) != 0) - return 1; - found = 1; - break; - } - if (found == 0) - return 1; - - finfo->uflags = ufl; - SLIST_INSERT_HEAD(head, finfo, next); - - return 0; -} - -/* - * This routine walks through linked list of opened files and gathers - * informations how given file is used. - */ -static int -get_uflags(rfile, pinfo) - const reqfile_t *rfile; - const pinfo_t *pinfo; -{ - finfo_t *fd; - int ufl = 0; - - assert(rfile); - assert(pinfo); - - switch (rfile->type) { - case REQFILE: - SLIST_FOREACH(fd, &pinfo->fds, next) - if (fd->stat.fileid == rfile->ino && \ - fd->stat.fsid == rfile->dev) - ufl |= fd->uflags; - - return ufl; - - case REQMNT: - SLIST_FOREACH(fd, &pinfo->fds, next) - if (fd->stat.fsid == rfile->dev) - ufl |= fd->uflags; - - return ufl; - - case REQDEV: - SLIST_FOREACH(fd, &pinfo->fds, next) - if ((fd->stat.fileid == rfile->ino && \ - fd->stat.fsid == rfile->dev) || \ - fd->stat.fsid == rfile->ino) - ufl |= fd->uflags; - - return ufl; - - default: - break; + return (1); } - - return 0; -} - -/* - * Helper routine to free pinfo structure - */ -static void -pinfo_free(pinfo) - pinfo_t *pinfo; -{ - - assert(pinfo); - SLIST_FREE(&pinfo->fds, next, free); - free(pinfo); + reqfile->fileid = sb.st_ino; + reqfile->fsid = sb.st_dev; + reqfile->name = path; + STAILQ_INIT(&reqfile->consumers); + return (0); +/* XXX: devs? */ } int -do_fuser(argc, argv) - int argc; - char *argv[]; +do_fuser(int argc, char *argv[]) { - reqfile_t *rfile; - pinfo_t *pinfo; - struct kinfo_proc *procs; - char buf[_POSIX2_LINE_MAX]; /* KVM mandatory */ - char ch; - int ufl, cnt; - int sig = SIGKILL; /* Default to kill */ - char *ep; - char *kernimg = NULL; /* We are using curr. sys by default */ - char *mcore = NULL; - - while ((ch = getopt(argc, argv, "C:K:cfkms:u")) != -1) + struct consumer *consumer; + struct kinfo_proc *p; + struct procstat *procstat; + struct reqfile *reqfiles; + int ch, cnt, sig; + unsigned int i, nfiles; + char *ep, *kernimg, *mcore; + + sig = SIGKILL; /* Default to kill. */ + kernimg = NULL; + mcore = NULL; + while ((ch = getopt(argc, argv, "M:N:cfhkms:u")) != -1) switch(ch) { case 'f': if ((flags & CFLAG) != 0) usage(); flags |= FFLAG; break; - case 'c': if ((flags & FFLAG) != 0) usage(); flags |= CFLAG; break; - - case 'K': + case 'N': kernimg = optarg; break; - - case 'C': + case 'M': mcore = optarg; break; - case 'u': flags |= UFLAG; break; - case 'm': flags |= MFLAG; break; - case 'k': flags |= KFLAG; break; - case 's': if (isdigit(*optarg)) { sig = strtol(optarg, &ep, 10); if (*ep != '\0' || sig < 0 || sig >= sys_nsig) - errx(EX_USAGE, "illegal signal number" \ - ": %s", optarg); - } - else { + errx(EX_USAGE, "illegal signal number" ": %s", + optarg); + } else { sig = str2sig(optarg); if (sig < 0) errx(EX_USAGE, "illegal signal name: " \ "%s", optarg); } break; - + case 'h': + /* PASSTHROUGH */ default: usage(); + /* NORETURN */ } - argv += optind; argc -= optind; assert(argc >= 0); if (argc == 0) usage(); + /* NORETURN */ + /* + * Process named files. + */ + reqfiles = malloc(argc * sizeof(struct reqfile)); + if (reqfiles == NULL) + err(EX_OSERR, "malloc()"); + nfiles = 0; while (argc--) - (void)addfile(argv[argc]); - - if (SLIST_EMPTY(&rfiles)) + if (!addfile(*(argv++), &reqfiles[nfiles])) + nfiles++; + if (nfiles == 0) errx(EX_IOERR, "files not accessible"); - kd = kvm_openfiles(kernimg, mcore, NULL, O_RDONLY, buf); - if (kd == NULL) - errx(EX_OSERR, "kvm_openfiles(): %s", buf); - - procs = kvm_getprocs(kd, KERN_PROC_ALL, 0, &cnt); - if (procs == NULL) - errx(EX_OSERR, "kvm_getproc(): %s", buf); - + procstat = procstat_open(kernimg, mcore); + if (procstat == NULL) + errx(1, "procstat_open()"); + p = procstat_getprocs(procstat, KERN_PROC_ALL, 0, &cnt); + if (p == NULL) + errx(1, "procstat_getprocs()"); + + /* + * Walk through process table and look for matching files. + */ while(cnt--) - (void)gather_pinfo(procs++); + if (p->ki_stat != SZOMB) + dofiles(procstat, p++, reqfiles, nfiles); - SLIST_FOREACH(rfile, &rfiles, next) { - (void)fprintf(stderr, "%s:", rfile->fname); - (void)fflush(stderr); - - SLIST_FOREACH(pinfo, &prclist, next) { - ufl = get_uflags(rfile, pinfo); - - if (ufl != 0) { - print_file_info(pinfo->pid, \ - pinfo->uid, ufl); + for (i = 0; i < nfiles; i++) { + fprintf(stderr, "%s:", reqfiles[i].name); + fflush(stderr); + STAILQ_FOREACH(consumer, &reqfiles[i].consumers, next) { + if (consumer->flags != 0) { + fprintf(stdout, "%6d", consumer->pid); + fflush(stdout); + printflags(consumer); + if ((flags & UFLAG) != 0) + fprintf(stderr, "(%s)", + user_from_uid(consumer->uid, 0)); if ((flags & KFLAG) != 0) - (void)kill(pinfo->pid, sig); + kill(consumer->pid, sig); + fflush(stderr); } } (void)fprintf(stderr, "\n"); } - - SLIST_FREE(&rfiles, next, free); - SLIST_FREE(&prclist, next, pinfo_free); - (void)kvm_close(kd); - - return 0; - + procstat_close(procstat); + /* XXX: free resoucres .*/ + return (0); } -int -add_mmapped(p, head) - const struct kinfo_proc *p; - fds_head_t *head; +static void +dofiles(struct procstat *procstat, struct kinfo_proc *kp, + struct reqfile *reqfiles, size_t nfiles) { - vm_map_t map; - struct vmspace vmspace; - struct vm_map_entry entry; - vm_map_entry_t entryp; - struct vm_object object; - vm_object_t objp; - int ufl; - - assert(p); - if (!kvm_read_all(kd, (unsigned long)p->ki_vmspace, &vmspace, - sizeof(vmspace))) { - warnx("can't read vmspace at %p for pid %d\n", - (void *)p->ki_vmspace, p->ki_pid); - return 1; - } - - map = &vmspace.vm_map; - - for (entryp = map->header.next; - entryp != &p->ki_vmspace->vm_map.header; entryp = entry.next) { - if (!kvm_read_all(kd, (unsigned long)entryp, &entry, - sizeof(entry))) { - warnx("can't read vm_map_entry at %p for pid %d\n", - (void *)entryp, p->ki_pid); - return 1; - } - - if (entry.eflags & MAP_ENTRY_IS_SUB_MAP) + struct consumer *cons; + struct filestat *fst; + struct filestat_list *head; + struct vnstat vn; + int error, match; + unsigned int i; + + head = procstat_getfiles(procstat, kp, flags & MFLAG); + if (head == NULL) + return; + STAILQ_FOREACH(fst, head, next) { + if (fst->fs_type != PS_FST_TYPE_VNODE) continue; - - if ((objp = entry.object.vm_object) == NULL) + error = procstat_get_vnode_info(procstat, fst, &vn, NULL); + if (error != 0) continue; - - for (; objp; objp = object.backing_object) { - if (!kvm_read_all(kd, (unsigned long)objp, &object, - sizeof(object))) { - warnx("can't read vm_object at %p for pid %d\n", - (void *)objp, p->ki_pid); - return 1; + for (i = 0; i < nfiles; i++) { + if (flags & CFLAG && reqfiles[i].fsid == vn.vn_fsid) { + break; + } + else if (reqfiles[i].fsid == vn.vn_fsid && + reqfiles[i].fileid == vn.vn_fileid) { + break; + } + else if (!(flags & FFLAG) && + (vn.vn_type == PS_FST_VTYPE_VCHR || + vn.vn_type == PS_FST_VTYPE_VBLK) && + vn.vn_fsid == reqfiles[i].fileid) { + break; } } + if (i == nfiles) + continue; /* No match. */ - ufl = (entry.protection & VM_PROT_READ ? UFL_FREAD : 0); - ufl |= (entry.protection & VM_PROT_WRITE ? UFL_FWRITE : 0); - ufl |= UFL_MMAP; - - if (object.type == OBJT_VNODE) - (void)vp2finfo((struct vnode *)object.handle, head, \ - ufl); + /* + * Look for existing entries. + */ + match = 0; + STAILQ_FOREACH(cons, &reqfiles[i].consumers, next) + if (cons->pid == kp->ki_pid) { + match = 1; + break; + } + if (match == 1) { /* Use old entry. */ + cons->flags |= fst->fs_fflags; + cons->uflags |= fst->fs_uflags; + } else { + /* + * Create new entry in the consumer chain. + */ + cons = calloc(1, sizeof(struct consumer)); + if (cons == NULL) { + warn("malloc()"); + continue; + } + cons->uid = kp->ki_uid; + cons->pid = kp->ki_pid; + cons->uflags = fst->fs_uflags; + cons->flags = fst->fs_fflags; + STAILQ_INSERT_TAIL(&reqfiles[i].consumers, cons, next); + } } - - return 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jul 20 06:12:23 2009 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 6915F106564A; Mon, 20 Jul 2009 06:12:23 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 579278FC1B; Mon, 20 Jul 2009 06:12:23 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6K6CN0x068197; Mon, 20 Jul 2009 06:12:23 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6K6CNDP068195; Mon, 20 Jul 2009 06:12:23 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907200612.n6K6CNDP068195@svn.freebsd.org> From: Stanislav Sedov Date: Mon, 20 Jul 2009 06:12:23 +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: r195777 - projects/libprocstat/usr.bin/fstat 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, 20 Jul 2009 06:12:23 -0000 Author: stas Date: Mon Jul 20 06:12:23 2009 New Revision: 195777 URL: http://svn.freebsd.org/changeset/base/195777 Log: - Drop old-style line continuation. Modified: projects/libprocstat/usr.bin/fstat/fuser.c Modified: projects/libprocstat/usr.bin/fstat/fuser.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/fuser.c Mon Jul 20 03:59:00 2009 (r195776) +++ projects/libprocstat/usr.bin/fstat/fuser.c Mon Jul 20 06:12:23 2009 (r195777) @@ -209,7 +209,7 @@ do_fuser(int argc, char *argv[]) } else { sig = str2sig(optarg); if (sig < 0) - errx(EX_USAGE, "illegal signal name: " \ + errx(EX_USAGE, "illegal signal name: " "%s", optarg); } break; From owner-svn-src-projects@FreeBSD.ORG Mon Jul 20 10:27:49 2009 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 65F091065670; Mon, 20 Jul 2009 10:27:49 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F1ED8FC08; Mon, 20 Jul 2009 10:27:49 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6KARnVo073476; Mon, 20 Jul 2009 10:27:49 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6KARmwi073455; Mon, 20 Jul 2009 10:27:48 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907201027.n6KARmwi073455@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 20 Jul 2009 10:27: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: r195780 - in projects/tcp_ffcaia2008_8.x: . bin/chmod bin/ln bin/ps bin/sh cddl/contrib/opensolaris cddl/contrib/opensolaris/head cddl/contrib/opensolaris/lib/libzpool/common cddl/contr... 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, 20 Jul 2009 10:27:49 -0000 Author: lstewart Date: Mon Jul 20 10:27:47 2009 New Revision: 195780 URL: http://svn.freebsd.org/changeset/base/195780 Log: Merge r194850:195779 from head. Added: projects/tcp_ffcaia2008_8.x/contrib/bind9/KNOWN-DEFECTS - copied unchanged from r195779, head/contrib/bind9/KNOWN-DEFECTS projects/tcp_ffcaia2008_8.x/contrib/tcsh/config.rpath - copied unchanged from r195779, head/contrib/tcsh/config.rpath projects/tcp_ffcaia2008_8.x/lib/libc/include/compat.h - copied unchanged from r195779, head/lib/libc/include/compat.h projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_add_flag_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_add_flag_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_branding.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_branding.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_clear_flags_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_clear_flags_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_delete_flag_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_delete_flag_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_flag.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_flag.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_from_text_nfs4.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_from_text_nfs4.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get_brand_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_get_brand_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get_entry_type_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_get_entry_type_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get_flag_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_get_flag_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get_flagset_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_get_flagset_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_is_trivial_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_is_trivial_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_set_entry_type_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_set_entry_type_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_set_flagset_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_set_flagset_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_strip.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_strip.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_strip_np.3 - copied unchanged from r195779, head/lib/libc/posix1e/acl_strip_np.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_support_nfs4.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_support_nfs4.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_to_text_nfs4.c - copied unchanged from r195779, head/lib/libc/posix1e/acl_to_text_nfs4.c projects/tcp_ffcaia2008_8.x/lib/libc/sys/msgctl.2 - copied unchanged from r195779, head/lib/libc/sys/msgctl.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/msgget.2 - copied unchanged from r195779, head/lib/libc/sys/msgget.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/msgrcv.2 - copied unchanged from r195779, head/lib/libc/sys/msgrcv.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/msgsnd.2 - copied unchanged from r195779, head/lib/libc/sys/msgsnd.2 projects/tcp_ffcaia2008_8.x/lib/libjail/ - copied from r195779, head/lib/libjail/ projects/tcp_ffcaia2008_8.x/share/man/man4/ahci.4 - copied unchanged from r195779, head/share/man/man4/ahci.4 projects/tcp_ffcaia2008_8.x/share/man/man4/bridge.4 - copied unchanged from r195779, head/share/man/man4/bridge.4 projects/tcp_ffcaia2008_8.x/share/man/man4/epair.4 - copied unchanged from r195779, head/share/man/man4/epair.4 projects/tcp_ffcaia2008_8.x/share/man/man4/net80211.4 - copied unchanged from r195779, head/share/man/man4/net80211.4 projects/tcp_ffcaia2008_8.x/sys/amd64/include/vm.h - copied unchanged from r195779, head/sys/amd64/include/vm.h projects/tcp_ffcaia2008_8.x/sys/arm/include/vm.h - copied unchanged from r195779, head/sys/arm/include/vm.h projects/tcp_ffcaia2008_8.x/sys/cam/ata/ - copied from r195779, head/sys/cam/ata/ projects/tcp_ffcaia2008_8.x/sys/cam/cam_xpt_internal.h - copied unchanged from r195779, head/sys/cam/cam_xpt_internal.h projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_xpt.c - copied unchanged from r195779, head/sys/cam/scsi/scsi_xpt.c projects/tcp_ffcaia2008_8.x/sys/dev/ahci/ - copied from r195779, head/sys/dev/ahci/ projects/tcp_ffcaia2008_8.x/sys/i386/include/vm.h - copied unchanged from r195779, head/sys/i386/include/vm.h projects/tcp_ffcaia2008_8.x/sys/ia64/include/vm.h - copied unchanged from r195779, head/sys/ia64/include/vm.h projects/tcp_ffcaia2008_8.x/sys/mips/include/vm.h - copied unchanged from r195779, head/sys/mips/include/vm.h projects/tcp_ffcaia2008_8.x/sys/modules/ahci/ - copied from r195779, head/sys/modules/ahci/ projects/tcp_ffcaia2008_8.x/sys/net/if_epair.c - copied unchanged from r195779, head/sys/net/if_epair.c projects/tcp_ffcaia2008_8.x/sys/net/vnet.c - copied unchanged from r195779, head/sys/net/vnet.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_action.c - copied unchanged from r195779, head/sys/net80211/ieee80211_action.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_action.h - copied unchanged from r195779, head/sys/net80211/ieee80211_action.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ageq.c - copied unchanged from r195779, head/sys/net80211/ieee80211_ageq.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ageq.h - copied unchanged from r195779, head/sys/net80211/ieee80211_ageq.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_hwmp.c - copied unchanged from r195779, head/sys/net80211/ieee80211_hwmp.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_mesh.c - copied unchanged from r195779, head/sys/net80211/ieee80211_mesh.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_mesh.h - copied unchanged from r195779, head/sys/net80211/ieee80211_mesh.h projects/tcp_ffcaia2008_8.x/sys/pc98/include/vm.h - copied unchanged from r195779, head/sys/pc98/include/vm.h projects/tcp_ffcaia2008_8.x/sys/powerpc/include/vm.h - copied unchanged from r195779, head/sys/powerpc/include/vm.h projects/tcp_ffcaia2008_8.x/sys/sparc64/include/vm.h - copied unchanged from r195779, head/sys/sparc64/include/vm.h projects/tcp_ffcaia2008_8.x/sys/sun4v/include/vm.h - copied unchanged from r195779, head/sys/sun4v/include/vm.h projects/tcp_ffcaia2008_8.x/tools/regression/bin/sh/builtins/eval2.0 - copied unchanged from r195779, head/tools/regression/bin/sh/builtins/eval2.0 projects/tcp_ffcaia2008_8.x/tools/regression/bin/sh/expansion/ - copied from r195779, head/tools/regression/bin/sh/expansion/ projects/tcp_ffcaia2008_8.x/tools/regression/poll/ - copied from r195779, head/tools/regression/poll/ projects/tcp_ffcaia2008_8.x/tools/regression/usr.bin/jot/regress.dddd.out - copied unchanged from r195779, head/tools/regression/usr.bin/jot/regress.dddd.out projects/tcp_ffcaia2008_8.x/tools/tools/net80211/scripts/mesh/ - copied from r195779, head/tools/tools/net80211/scripts/mesh/ projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/usb.c - copied unchanged from r195779, head/usr.sbin/sysinstall/usb.c projects/tcp_ffcaia2008_8.x/usr.sbin/wake/ - copied from r195779, head/usr.sbin/wake/ Deleted: projects/tcp_ffcaia2008_8.x/contrib/tcsh/Makefile.ADMIN projects/tcp_ffcaia2008_8.x/contrib/tcsh/RELEASE-PROCEDURE projects/tcp_ffcaia2008_8.x/etc/pam.d/gdm projects/tcp_ffcaia2008_8.x/lib/libc/gen/msgctl.3 projects/tcp_ffcaia2008_8.x/lib/libc/gen/msgget.3 projects/tcp_ffcaia2008_8.x/lib/libc/gen/msgrcv.3 projects/tcp_ffcaia2008_8.x/lib/libc/gen/msgsnd.3 projects/tcp_ffcaia2008_8.x/share/man/man4/ieee80211.4 projects/tcp_ffcaia2008_8.x/share/man/man4/if_bridge.4 projects/tcp_ffcaia2008_8.x/sys/netinet/vinet.h projects/tcp_ffcaia2008_8.x/sys/netinet6/vinet6.h projects/tcp_ffcaia2008_8.x/sys/netipsec/vipsec.h projects/tcp_ffcaia2008_8.x/sys/nfs/rpcv2.h projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_socket.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_srvcache.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_srvsock.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_syscalls.c Modified: projects/tcp_ffcaia2008_8.x/ (props changed) projects/tcp_ffcaia2008_8.x/MAINTAINERS projects/tcp_ffcaia2008_8.x/Makefile.inc1 projects/tcp_ffcaia2008_8.x/ObsoleteFiles.inc projects/tcp_ffcaia2008_8.x/UPDATING projects/tcp_ffcaia2008_8.x/bin/chmod/chmod.c projects/tcp_ffcaia2008_8.x/bin/ln/ln.1 projects/tcp_ffcaia2008_8.x/bin/ln/ln.c projects/tcp_ffcaia2008_8.x/bin/ps/ps.1 projects/tcp_ffcaia2008_8.x/bin/sh/exec.c projects/tcp_ffcaia2008_8.x/bin/sh/expand.c projects/tcp_ffcaia2008_8.x/bin/sh/sh.1 projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/ (props changed) projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/head/thread.h projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h projects/tcp_ffcaia2008_8.x/cddl/lib/Makefile.inc projects/tcp_ffcaia2008_8.x/cddl/lib/libctf/Makefile projects/tcp_ffcaia2008_8.x/cddl/lib/libdtrace/Makefile projects/tcp_ffcaia2008_8.x/contrib/amd/amd/get_args.c projects/tcp_ffcaia2008_8.x/contrib/bind9/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/bind9/CHANGES projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/check/named-checkzone.c projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.c projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.html projects/tcp_ffcaia2008_8.x/contrib/bind9/bin/dnssec/dnssectool.c projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM-book.xml projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM.ch06.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM.ch07.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM.ch08.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM.ch09.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/Bv9ARM.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.dig.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.dnssec-keygen.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.dnssec-signzone.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.host.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.named-checkconf.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.named-checkzone.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.named.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.nsupdate.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.rndc-confgen.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.rndc.conf.html projects/tcp_ffcaia2008_8.x/contrib/bind9/doc/arm/man.rndc.html projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/bind9/api projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/bind9/check.c projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/api projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/dnssec.c projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/include/dns/dnssec.h projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/nsec3.c projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/dns/resolver.c projects/tcp_ffcaia2008_8.x/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/tcp_ffcaia2008_8.x/contrib/bind9/version projects/tcp_ffcaia2008_8.x/contrib/cpio/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/csup/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/ee/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/file/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/gcc/config/freebsd-spec.h projects/tcp_ffcaia2008_8.x/contrib/gdb/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/gdtoa/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/less/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/libpcap/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/ncurses/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/netcat/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/netcat/nc.1 projects/tcp_ffcaia2008_8.x/contrib/ntp/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/ntp/scripts/mkver.in projects/tcp_ffcaia2008_8.x/contrib/openbsm/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/openbsm/NEWS projects/tcp_ffcaia2008_8.x/contrib/openbsm/VERSION projects/tcp_ffcaia2008_8.x/contrib/openbsm/config/config.h projects/tcp_ffcaia2008_8.x/contrib/openbsm/configure projects/tcp_ffcaia2008_8.x/contrib/openbsm/configure.ac projects/tcp_ffcaia2008_8.x/contrib/openbsm/etc/audit_event projects/tcp_ffcaia2008_8.x/contrib/openbsm/libauditd/auditd_lib.c projects/tcp_ffcaia2008_8.x/contrib/openbsm/libbsm/bsm_control.c projects/tcp_ffcaia2008_8.x/contrib/openbsm/libbsm/bsm_errno.c projects/tcp_ffcaia2008_8.x/contrib/openbsm/libbsm/bsm_io.c projects/tcp_ffcaia2008_8.x/contrib/openbsm/libbsm/bsm_token.c projects/tcp_ffcaia2008_8.x/contrib/openbsm/man/audit_control.5 projects/tcp_ffcaia2008_8.x/contrib/openbsm/sys/bsm/audit.h projects/tcp_ffcaia2008_8.x/contrib/openbsm/sys/bsm/audit_kevents.h projects/tcp_ffcaia2008_8.x/contrib/openpam/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/pf/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/sendmail/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/sendmail/cf/sh/makeinfo.sh projects/tcp_ffcaia2008_8.x/contrib/tcpdump/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/tcpdump/ieee802_11.h projects/tcp_ffcaia2008_8.x/contrib/tcpdump/ieee802_11_radio.h projects/tcp_ffcaia2008_8.x/contrib/tcpdump/print-802_11.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/tcsh/Fixes projects/tcp_ffcaia2008_8.x/contrib/tcsh/Imakefile projects/tcp_ffcaia2008_8.x/contrib/tcsh/Makefile.in projects/tcp_ffcaia2008_8.x/contrib/tcsh/README projects/tcp_ffcaia2008_8.x/contrib/tcsh/complete.tcsh projects/tcp_ffcaia2008_8.x/contrib/tcsh/config.guess projects/tcp_ffcaia2008_8.x/contrib/tcsh/config.h.in projects/tcp_ffcaia2008_8.x/contrib/tcsh/config.sub projects/tcp_ffcaia2008_8.x/contrib/tcsh/config_f.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/configure projects/tcp_ffcaia2008_8.x/contrib/tcsh/configure.in projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.chared.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.decls.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.inputl.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.screen.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.term.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/ed.xmap.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/glob.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/host.defs projects/tcp_ffcaia2008_8.x/contrib/tcsh/ma.setp.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/patchlevel.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.char.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.char.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.decls.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.dir.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.dol.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.err.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.exec.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.exp.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.file.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.func.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.glob.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.lex.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.proc.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.proc.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.sem.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/sh.set.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/snames.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.bind.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.const.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.decls.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.func.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.os.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.sig.h projects/tcp_ffcaia2008_8.x/contrib/tcsh/tc.str.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tcsh.man projects/tcp_ffcaia2008_8.x/contrib/tcsh/tw.color.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tw.comp.c projects/tcp_ffcaia2008_8.x/contrib/tcsh/tw.parse.c projects/tcp_ffcaia2008_8.x/contrib/top/ (props changed) projects/tcp_ffcaia2008_8.x/contrib/top/install-sh (props changed) projects/tcp_ffcaia2008_8.x/contrib/wpa/ (props changed) projects/tcp_ffcaia2008_8.x/crypto/openssh/ (props changed) projects/tcp_ffcaia2008_8.x/crypto/openssl/ (props changed) projects/tcp_ffcaia2008_8.x/etc/mtree/BSD.include.dist projects/tcp_ffcaia2008_8.x/etc/network.subr projects/tcp_ffcaia2008_8.x/etc/ntp.conf projects/tcp_ffcaia2008_8.x/etc/pam.d/Makefile projects/tcp_ffcaia2008_8.x/etc/rc.d/NETWORKING projects/tcp_ffcaia2008_8.x/etc/rc.d/ipfw projects/tcp_ffcaia2008_8.x/etc/rc.d/netif projects/tcp_ffcaia2008_8.x/etc/rc.d/pf projects/tcp_ffcaia2008_8.x/etc/rc.d/pflog projects/tcp_ffcaia2008_8.x/etc/rc.d/pfsync projects/tcp_ffcaia2008_8.x/games/fortune/datfiles/fortunes projects/tcp_ffcaia2008_8.x/games/fortune/datfiles/fortunes-o.real projects/tcp_ffcaia2008_8.x/gnu/lib/libdialog/Makefile projects/tcp_ffcaia2008_8.x/gnu/lib/libg2c/Makefile projects/tcp_ffcaia2008_8.x/gnu/lib/libgcc/Makefile projects/tcp_ffcaia2008_8.x/gnu/lib/libobjc/Makefile projects/tcp_ffcaia2008_8.x/gnu/lib/libreadline/Makefile.inc projects/tcp_ffcaia2008_8.x/gnu/lib/libregex/Makefile projects/tcp_ffcaia2008_8.x/gnu/lib/libssp/libssp_nonshared/Makefile projects/tcp_ffcaia2008_8.x/gnu/usr.bin/groff/tmac/mdoc.local projects/tcp_ffcaia2008_8.x/include/Makefile projects/tcp_ffcaia2008_8.x/include/dlfcn.h projects/tcp_ffcaia2008_8.x/include/unistd.h projects/tcp_ffcaia2008_8.x/lib/Makefile projects/tcp_ffcaia2008_8.x/lib/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libalias/libalias/Makefile projects/tcp_ffcaia2008_8.x/lib/libarchive/Makefile projects/tcp_ffcaia2008_8.x/lib/libautofs/Makefile projects/tcp_ffcaia2008_8.x/lib/libbegemot/Makefile projects/tcp_ffcaia2008_8.x/lib/libbluetooth/Makefile projects/tcp_ffcaia2008_8.x/lib/libbsm/Makefile projects/tcp_ffcaia2008_8.x/lib/libbsnmp/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libbz2/Makefile projects/tcp_ffcaia2008_8.x/lib/libc/ (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/Makefile projects/tcp_ffcaia2008_8.x/lib/libc/gen/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libc/gen/Symbol.map projects/tcp_ffcaia2008_8.x/lib/libc/gen/dlopen.3 projects/tcp_ffcaia2008_8.x/lib/libc/gen/ftok.3 projects/tcp_ffcaia2008_8.x/lib/libc/gen/semctl.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/Symbol.map projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_add_perm.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_calc_mask.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_copy.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_create_entry.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_delete_entry.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_delete_entry.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_entry.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_from_text.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_get.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_init.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_set.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_set.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_set_tag_type.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_support.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_support.h projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_to_text.3 projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_to_text.c projects/tcp_ffcaia2008_8.x/lib/libc/posix1e/acl_valid.c projects/tcp_ffcaia2008_8.x/lib/libc/rpc/getnetconfig.c projects/tcp_ffcaia2008_8.x/lib/libc/stdio/asprintf.c (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/stdio/fread.c projects/tcp_ffcaia2008_8.x/lib/libc/stdio/fwrite.c projects/tcp_ffcaia2008_8.x/lib/libc/stdtime/ (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/stdtime/strptime.c projects/tcp_ffcaia2008_8.x/lib/libc/string/ffsll.c (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/string/flsll.c (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/string/wcpcpy.c (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/string/wcpncpy.c (props changed) projects/tcp_ffcaia2008_8.x/lib/libc/sys/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libc/sys/Symbol.map projects/tcp_ffcaia2008_8.x/lib/libc/sys/execve.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/getsockopt.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/link.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/mmap.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/pathconf.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/semctl.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/shmctl.2 projects/tcp_ffcaia2008_8.x/lib/libc/sys/stack_protector.c projects/tcp_ffcaia2008_8.x/lib/libcam/Makefile projects/tcp_ffcaia2008_8.x/lib/libcrypt/Makefile projects/tcp_ffcaia2008_8.x/lib/libdevstat/Makefile projects/tcp_ffcaia2008_8.x/lib/libdwarf/Makefile projects/tcp_ffcaia2008_8.x/lib/libdwarf/dwarf_loc.c projects/tcp_ffcaia2008_8.x/lib/libedit/Makefile projects/tcp_ffcaia2008_8.x/lib/libexpat/Makefile projects/tcp_ffcaia2008_8.x/lib/libfetch/Makefile projects/tcp_ffcaia2008_8.x/lib/libftpio/Makefile projects/tcp_ffcaia2008_8.x/lib/libgpib/Makefile projects/tcp_ffcaia2008_8.x/lib/libipsec/Makefile projects/tcp_ffcaia2008_8.x/lib/libkiconv/Makefile projects/tcp_ffcaia2008_8.x/lib/libkse/Makefile projects/tcp_ffcaia2008_8.x/lib/libmagic/Makefile projects/tcp_ffcaia2008_8.x/lib/libmemstat/Makefile projects/tcp_ffcaia2008_8.x/lib/libncp/Makefile projects/tcp_ffcaia2008_8.x/lib/libnetgraph/Makefile projects/tcp_ffcaia2008_8.x/lib/libngatm/Makefile projects/tcp_ffcaia2008_8.x/lib/libopie/Makefile projects/tcp_ffcaia2008_8.x/lib/libpam/Makefile.inc projects/tcp_ffcaia2008_8.x/lib/libpcap/Makefile projects/tcp_ffcaia2008_8.x/lib/libproc/Makefile projects/tcp_ffcaia2008_8.x/lib/libradius/Makefile projects/tcp_ffcaia2008_8.x/lib/libsdp/Makefile projects/tcp_ffcaia2008_8.x/lib/libsmb/Makefile projects/tcp_ffcaia2008_8.x/lib/libtacplus/Makefile projects/tcp_ffcaia2008_8.x/lib/libthr/thread/thr_rtld.c projects/tcp_ffcaia2008_8.x/lib/libthr/thread/thr_rwlock.c projects/tcp_ffcaia2008_8.x/lib/libugidfw/Makefile projects/tcp_ffcaia2008_8.x/lib/libusb/ (props changed) projects/tcp_ffcaia2008_8.x/lib/libusb/Makefile projects/tcp_ffcaia2008_8.x/lib/libusb/libusb.h projects/tcp_ffcaia2008_8.x/lib/libusb/libusb10.c projects/tcp_ffcaia2008_8.x/lib/libusb/libusb10.h projects/tcp_ffcaia2008_8.x/lib/libusb/libusb10_desc.c projects/tcp_ffcaia2008_8.x/lib/libusb/libusb10_io.c projects/tcp_ffcaia2008_8.x/lib/libusb/libusb20.3 (props changed) projects/tcp_ffcaia2008_8.x/lib/libusb/usb.h (props changed) projects/tcp_ffcaia2008_8.x/lib/libusbhid/Makefile projects/tcp_ffcaia2008_8.x/lib/libutil/ (props changed) projects/tcp_ffcaia2008_8.x/lib/libutil/Makefile projects/tcp_ffcaia2008_8.x/lib/libvgl/Makefile projects/tcp_ffcaia2008_8.x/lib/libwrap/Makefile projects/tcp_ffcaia2008_8.x/lib/libypclnt/Makefile projects/tcp_ffcaia2008_8.x/lib/ncurses/ncurses/Makefile projects/tcp_ffcaia2008_8.x/libexec/rtld-elf/Makefile projects/tcp_ffcaia2008_8.x/libexec/rtld-elf/map_object.c projects/tcp_ffcaia2008_8.x/libexec/rtld-elf/rtld.c projects/tcp_ffcaia2008_8.x/release/Makefile projects/tcp_ffcaia2008_8.x/release/amd64/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/i386/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/ia64/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/pc98/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/powerpc/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/scripts/package-split.py projects/tcp_ffcaia2008_8.x/release/sparc64/boot_crunch.conf projects/tcp_ffcaia2008_8.x/release/sun4v/boot_crunch.conf projects/tcp_ffcaia2008_8.x/rescue/rescue/Makefile projects/tcp_ffcaia2008_8.x/sbin/ (props changed) projects/tcp_ffcaia2008_8.x/sbin/camcontrol/camcontrol.8 projects/tcp_ffcaia2008_8.x/sbin/camcontrol/camcontrol.c projects/tcp_ffcaia2008_8.x/sbin/ifconfig/Makefile projects/tcp_ffcaia2008_8.x/sbin/ifconfig/ifconfig.8 projects/tcp_ffcaia2008_8.x/sbin/ifconfig/ifconfig.c projects/tcp_ffcaia2008_8.x/sbin/ifconfig/ifieee80211.c projects/tcp_ffcaia2008_8.x/sbin/ifconfig/ifmedia.c projects/tcp_ffcaia2008_8.x/sbin/ipfw/ (props changed) projects/tcp_ffcaia2008_8.x/sbin/ipfw/Makefile projects/tcp_ffcaia2008_8.x/sbin/ipfw/dummynet.c projects/tcp_ffcaia2008_8.x/sbin/ipfw/ipfw.8 projects/tcp_ffcaia2008_8.x/sbin/ipfw/ipfw2.h projects/tcp_ffcaia2008_8.x/sbin/mount_nfs/mount_nfs.c projects/tcp_ffcaia2008_8.x/sbin/umount/umount.c projects/tcp_ffcaia2008_8.x/secure/lib/libcrypto/Makefile projects/tcp_ffcaia2008_8.x/secure/lib/libssh/Makefile projects/tcp_ffcaia2008_8.x/secure/lib/libssl/Makefile projects/tcp_ffcaia2008_8.x/share/doc/bind9/Makefile projects/tcp_ffcaia2008_8.x/share/man/man4/Makefile projects/tcp_ffcaia2008_8.x/share/man/man4/aac.4 projects/tcp_ffcaia2008_8.x/share/man/man4/acpi_hp.4 projects/tcp_ffcaia2008_8.x/share/man/man4/acpi_wmi.4 projects/tcp_ffcaia2008_8.x/share/man/man4/ata.4 projects/tcp_ffcaia2008_8.x/share/man/man4/ath.4 projects/tcp_ffcaia2008_8.x/share/man/man4/cpuctl.4 projects/tcp_ffcaia2008_8.x/share/man/man4/mwl.4 projects/tcp_ffcaia2008_8.x/share/man/man4/pcm.4 projects/tcp_ffcaia2008_8.x/share/man/man4/ral.4 projects/tcp_ffcaia2008_8.x/share/man/man4/usb.4 projects/tcp_ffcaia2008_8.x/share/man/man4/wlan.4 projects/tcp_ffcaia2008_8.x/share/man/man5/procfs.5 projects/tcp_ffcaia2008_8.x/share/man/man8/picobsd.8 projects/tcp_ffcaia2008_8.x/share/man/man8/yp.8 projects/tcp_ffcaia2008_8.x/share/man/man9/Makefile projects/tcp_ffcaia2008_8.x/share/man/man9/usbdi.9 projects/tcp_ffcaia2008_8.x/share/misc/bsd-family-tree projects/tcp_ffcaia2008_8.x/share/mk/bsd.lib.mk projects/tcp_ffcaia2008_8.x/share/mk/bsd.libnames.mk projects/tcp_ffcaia2008_8.x/share/zoneinfo/ (props changed) projects/tcp_ffcaia2008_8.x/sys/ (props changed) projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/cpu_switch.S projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/exception.S projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/genassym.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/identcpu.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/intr_machdep.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/io_apic.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/local_apic.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/machdep.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/msi.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/pmap.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/sys_machdep.c projects/tcp_ffcaia2008_8.x/sys/amd64/amd64/vm_machdep.c projects/tcp_ffcaia2008_8.x/sys/amd64/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/amd64/ia32/ia32_exception.S projects/tcp_ffcaia2008_8.x/sys/amd64/ia32/ia32_reg.c projects/tcp_ffcaia2008_8.x/sys/amd64/ia32/ia32_signal.c projects/tcp_ffcaia2008_8.x/sys/amd64/include/intr_machdep.h projects/tcp_ffcaia2008_8.x/sys/amd64/include/param.h projects/tcp_ffcaia2008_8.x/sys/amd64/include/pcb.h projects/tcp_ffcaia2008_8.x/sys/amd64/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/amd64/include/xen/ (props changed) projects/tcp_ffcaia2008_8.x/sys/amd64/isa/atpic.c projects/tcp_ffcaia2008_8.x/sys/amd64/linux32/linux32_sysvec.c projects/tcp_ffcaia2008_8.x/sys/amd64/pci/pci_bus.c projects/tcp_ffcaia2008_8.x/sys/arm/arm/busdma_machdep.c projects/tcp_ffcaia2008_8.x/sys/arm/arm/pmap.c projects/tcp_ffcaia2008_8.x/sys/arm/arm/vm_machdep.c projects/tcp_ffcaia2008_8.x/sys/arm/at91/at91_machdep.c projects/tcp_ffcaia2008_8.x/sys/arm/at91/if_ate.c projects/tcp_ffcaia2008_8.x/sys/arm/conf/AVILA projects/tcp_ffcaia2008_8.x/sys/arm/conf/CAMBRIA projects/tcp_ffcaia2008_8.x/sys/arm/conf/CAMBRIA.hints projects/tcp_ffcaia2008_8.x/sys/arm/include/param.h projects/tcp_ffcaia2008_8.x/sys/arm/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/arm/mv/discovery/discovery.c projects/tcp_ffcaia2008_8.x/sys/arm/mv/kirkwood/kirkwood.c projects/tcp_ffcaia2008_8.x/sys/arm/mv/mv_machdep.c projects/tcp_ffcaia2008_8.x/sys/arm/mv/mvwin.h projects/tcp_ffcaia2008_8.x/sys/arm/mv/orion/orion.c projects/tcp_ffcaia2008_8.x/sys/arm/sa11x0/assabet_machdep.c projects/tcp_ffcaia2008_8.x/sys/arm/xscale/ixp425/if_npe.c projects/tcp_ffcaia2008_8.x/sys/boot/i386/libi386/biosdisk.c projects/tcp_ffcaia2008_8.x/sys/bsm/audit.h projects/tcp_ffcaia2008_8.x/sys/bsm/audit_kevents.h projects/tcp_ffcaia2008_8.x/sys/cam/cam.c projects/tcp_ffcaia2008_8.x/sys/cam/cam.h projects/tcp_ffcaia2008_8.x/sys/cam/cam_ccb.h projects/tcp_ffcaia2008_8.x/sys/cam/cam_periph.c projects/tcp_ffcaia2008_8.x/sys/cam/cam_xpt.c projects/tcp_ffcaia2008_8.x/sys/cam/cam_xpt.h projects/tcp_ffcaia2008_8.x/sys/cam/cam_xpt_periph.h projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_all.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_cd.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_ch.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_da.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_pass.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_pt.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_sa.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_ses.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_sg.c projects/tcp_ffcaia2008_8.x/sys/cam/scsi/scsi_target.c projects/tcp_ffcaia2008_8.x/sys/cddl/compat/opensolaris/sys/sig.h projects/tcp_ffcaia2008_8.x/sys/cddl/contrib/opensolaris/ (props changed) projects/tcp_ffcaia2008_8.x/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c projects/tcp_ffcaia2008_8.x/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/tcp_ffcaia2008_8.x/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_ipc.h projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_misc.c projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_proto.h projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_syscall.h projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_syscalls.c projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/freebsd32_sysent.c projects/tcp_ffcaia2008_8.x/sys/compat/freebsd32/syscalls.master projects/tcp_ffcaia2008_8.x/sys/compat/linprocfs/linprocfs.c projects/tcp_ffcaia2008_8.x/sys/compat/linux/linux_ioctl.c projects/tcp_ffcaia2008_8.x/sys/compat/linux/linux_ipc.c projects/tcp_ffcaia2008_8.x/sys/compat/linux/linux_signal.c projects/tcp_ffcaia2008_8.x/sys/compat/linux/linux_socket.c projects/tcp_ffcaia2008_8.x/sys/compat/ndis/subr_usbd.c projects/tcp_ffcaia2008_8.x/sys/compat/svr4/svr4_ipc.c projects/tcp_ffcaia2008_8.x/sys/compat/svr4/svr4_sockio.c projects/tcp_ffcaia2008_8.x/sys/compat/svr4/svr4_stat.c projects/tcp_ffcaia2008_8.x/sys/conf/NOTES projects/tcp_ffcaia2008_8.x/sys/conf/files projects/tcp_ffcaia2008_8.x/sys/conf/newvers.sh projects/tcp_ffcaia2008_8.x/sys/conf/options projects/tcp_ffcaia2008_8.x/sys/contrib/altq/altq/altq_subr.c projects/tcp_ffcaia2008_8.x/sys/contrib/dev/acpica/ (props changed) projects/tcp_ffcaia2008_8.x/sys/contrib/dev/acpica/compiler/aslcompile.c projects/tcp_ffcaia2008_8.x/sys/contrib/dev/acpica/compiler/aslutils.c projects/tcp_ffcaia2008_8.x/sys/contrib/dev/mwl/mw88W8363.fw.uu projects/tcp_ffcaia2008_8.x/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/tcp_ffcaia2008_8.x/sys/contrib/pf/ (props changed) projects/tcp_ffcaia2008_8.x/sys/contrib/pf/net/pf.c projects/tcp_ffcaia2008_8.x/sys/contrib/pf/net/pf_if.c projects/tcp_ffcaia2008_8.x/sys/contrib/pf/net/pf_ioctl.c projects/tcp_ffcaia2008_8.x/sys/contrib/pf/net/pf_subr.c projects/tcp_ffcaia2008_8.x/sys/contrib/pf/net/pfvar.h projects/tcp_ffcaia2008_8.x/sys/contrib/rdma/rdma_cma.c projects/tcp_ffcaia2008_8.x/sys/ddb/db_expr.c projects/tcp_ffcaia2008_8.x/sys/ddb/db_sym.c projects/tcp_ffcaia2008_8.x/sys/ddb/db_variables.c projects/tcp_ffcaia2008_8.x/sys/ddb/db_variables.h projects/tcp_ffcaia2008_8.x/sys/ddb/ddb.h projects/tcp_ffcaia2008_8.x/sys/dev/aac/aac_disk.c projects/tcp_ffcaia2008_8.x/sys/dev/acpi_support/acpi_hp.c projects/tcp_ffcaia2008_8.x/sys/dev/acpi_support/acpi_wmi.c projects/tcp_ffcaia2008_8.x/sys/dev/acpi_support/acpi_wmi_if.m projects/tcp_ffcaia2008_8.x/sys/dev/acpica/acpi_pcib_acpi.c projects/tcp_ffcaia2008_8.x/sys/dev/advansys/advansys.c projects/tcp_ffcaia2008_8.x/sys/dev/advansys/advlib.h projects/tcp_ffcaia2008_8.x/sys/dev/ae/if_ae.c projects/tcp_ffcaia2008_8.x/sys/dev/age/if_age.c projects/tcp_ffcaia2008_8.x/sys/dev/aic7xxx/aic79xx_osm.h projects/tcp_ffcaia2008_8.x/sys/dev/aic7xxx/aic7xxx_osm.h projects/tcp_ffcaia2008_8.x/sys/dev/alc/if_alc.c projects/tcp_ffcaia2008_8.x/sys/dev/ale/if_ale.c projects/tcp_ffcaia2008_8.x/sys/dev/amd/amd.h projects/tcp_ffcaia2008_8.x/sys/dev/asmc/asmc.c projects/tcp_ffcaia2008_8.x/sys/dev/asmc/asmcvar.h projects/tcp_ffcaia2008_8.x/sys/dev/ata/ (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/ata/ata-all.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/ata-usb.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/ata/atapi-cam.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/atapi-cd.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-acard.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-acerlabs.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-adaptec.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-ahci.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-amd.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-ati.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-cenatek.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-cypress.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-cyrix.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-highpoint.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-intel.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-ite.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-jmicron.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-marvell.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-micron.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-national.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-netcell.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-nvidia.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-promise.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-serverworks.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-siliconimage.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-sis.c projects/tcp_ffcaia2008_8.x/sys/dev/ata/chipsets/ata-via.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ah_osdep.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ah_osdep.h projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ah.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ah.h projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ah_internal.h projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/if_ath.c projects/tcp_ffcaia2008_8.x/sys/dev/ath/if_athvar.h projects/tcp_ffcaia2008_8.x/sys/dev/bce/if_bce.c projects/tcp_ffcaia2008_8.x/sys/dev/bfe/if_bfe.c projects/tcp_ffcaia2008_8.x/sys/dev/bge/if_bge.c projects/tcp_ffcaia2008_8.x/sys/dev/bm/if_bm.c projects/tcp_ffcaia2008_8.x/sys/dev/cas/if_cas.c projects/tcp_ffcaia2008_8.x/sys/dev/cas/if_casvar.h projects/tcp_ffcaia2008_8.x/sys/dev/ciss/ciss.c projects/tcp_ffcaia2008_8.x/sys/dev/ciss/cissvar.h projects/tcp_ffcaia2008_8.x/sys/dev/cpuctl/cpuctl.c projects/tcp_ffcaia2008_8.x/sys/dev/cs/if_cs.c projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/cxgb_adapter.h projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/cxgb_main.c projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/cxgb_sge.c projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/sys/mvec.h projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/sys/uipc_mvec.c projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c projects/tcp_ffcaia2008_8.x/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/tcp_ffcaia2008_8.x/sys/dev/dc/if_dc.c projects/tcp_ffcaia2008_8.x/sys/dev/de/if_de.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/drm_irq.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/drm_pciids.h projects/tcp_ffcaia2008_8.x/sys/dev/drm/i915_dma.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/i915_drv.h projects/tcp_ffcaia2008_8.x/sys/dev/drm/i915_irq.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/r600_cp.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/radeon_cp.c projects/tcp_ffcaia2008_8.x/sys/dev/drm/radeon_drv.h projects/tcp_ffcaia2008_8.x/sys/dev/drm/radeon_irq.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82540.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82541.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82542.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82571.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82575.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_82575.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_api.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_defines.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_hw.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_ich8lan.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_ich8lan.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_mac.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_osdep.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_phy.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_phy.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/e1000_regs.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/if_em.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/if_em.h projects/tcp_ffcaia2008_8.x/sys/dev/e1000/if_igb.c projects/tcp_ffcaia2008_8.x/sys/dev/e1000/if_igb.h projects/tcp_ffcaia2008_8.x/sys/dev/ed/if_ed.c projects/tcp_ffcaia2008_8.x/sys/dev/et/if_et.c projects/tcp_ffcaia2008_8.x/sys/dev/ex/if_ex.c projects/tcp_ffcaia2008_8.x/sys/dev/fdc/fdc.c projects/tcp_ffcaia2008_8.x/sys/dev/fe/if_fe.c projects/tcp_ffcaia2008_8.x/sys/dev/fxp/if_fxp.c projects/tcp_ffcaia2008_8.x/sys/dev/gem/if_gem.c projects/tcp_ffcaia2008_8.x/sys/dev/gem/if_gemvar.h projects/tcp_ffcaia2008_8.x/sys/dev/hme/if_hme.c projects/tcp_ffcaia2008_8.x/sys/dev/hptmv/atapi.h projects/tcp_ffcaia2008_8.x/sys/dev/hptrr/hptrr_config.c projects/tcp_ffcaia2008_8.x/sys/dev/hwpmc/hwpmc_logging.c projects/tcp_ffcaia2008_8.x/sys/dev/hwpmc/hwpmc_mod.c projects/tcp_ffcaia2008_8.x/sys/dev/ie/if_ie.c projects/tcp_ffcaia2008_8.x/sys/dev/if_ndis/if_ndis.c projects/tcp_ffcaia2008_8.x/sys/dev/ipw/if_ipw.c projects/tcp_ffcaia2008_8.x/sys/dev/iscsi/initiator/isc_soc.c projects/tcp_ffcaia2008_8.x/sys/dev/isp/isp_freebsd.h projects/tcp_ffcaia2008_8.x/sys/dev/iwi/if_iwi.c projects/tcp_ffcaia2008_8.x/sys/dev/iwn/if_iwn.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgb/if_ixgb.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe.h projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_82598.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_82599.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_api.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_api.h projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_common.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_osdep.h projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_phy.c projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_phy.h projects/tcp_ffcaia2008_8.x/sys/dev/ixgbe/ixgbe_type.h projects/tcp_ffcaia2008_8.x/sys/dev/jme/if_jme.c projects/tcp_ffcaia2008_8.x/sys/dev/le/lance.c projects/tcp_ffcaia2008_8.x/sys/dev/lge/if_lge.c projects/tcp_ffcaia2008_8.x/sys/dev/malo/if_malo.c projects/tcp_ffcaia2008_8.x/sys/dev/mfi/mfi.c projects/tcp_ffcaia2008_8.x/sys/dev/mfi/mfivar.h projects/tcp_ffcaia2008_8.x/sys/dev/mge/if_mge.c projects/tcp_ffcaia2008_8.x/sys/dev/mlx/mlx.c projects/tcp_ffcaia2008_8.x/sys/dev/mlx/mlxvar.h projects/tcp_ffcaia2008_8.x/sys/dev/mn/if_mn.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/mpt/mpt.h projects/tcp_ffcaia2008_8.x/sys/dev/mpt/mpt_cam.c projects/tcp_ffcaia2008_8.x/sys/dev/mpt/mpt_pci.c projects/tcp_ffcaia2008_8.x/sys/dev/msk/if_msk.c projects/tcp_ffcaia2008_8.x/sys/dev/mwl/if_mwl.c projects/tcp_ffcaia2008_8.x/sys/dev/mwl/if_mwlvar.h projects/tcp_ffcaia2008_8.x/sys/dev/mwl/mwlhal.c projects/tcp_ffcaia2008_8.x/sys/dev/mwl/mwlhal.h projects/tcp_ffcaia2008_8.x/sys/dev/mwl/mwlreg.h projects/tcp_ffcaia2008_8.x/sys/dev/mxge/if_mxge.c projects/tcp_ffcaia2008_8.x/sys/dev/mxge/if_mxge_var.h projects/tcp_ffcaia2008_8.x/sys/dev/my/if_my.c projects/tcp_ffcaia2008_8.x/sys/dev/nfe/if_nfe.c projects/tcp_ffcaia2008_8.x/sys/dev/nge/if_nge.c projects/tcp_ffcaia2008_8.x/sys/dev/nve/if_nve.c projects/tcp_ffcaia2008_8.x/sys/dev/nxge/if_nxge.c projects/tcp_ffcaia2008_8.x/sys/dev/pcn/if_pcn.c projects/tcp_ffcaia2008_8.x/sys/dev/pdq/pdq_ifsubr.c projects/tcp_ffcaia2008_8.x/sys/dev/ral/rt2560.c projects/tcp_ffcaia2008_8.x/sys/dev/ral/rt2661.c projects/tcp_ffcaia2008_8.x/sys/dev/re/if_re.c projects/tcp_ffcaia2008_8.x/sys/dev/sf/if_sf.c projects/tcp_ffcaia2008_8.x/sys/dev/sis/if_sis.c projects/tcp_ffcaia2008_8.x/sys/dev/sk/if_sk.c projects/tcp_ffcaia2008_8.x/sys/dev/sn/if_sn.c projects/tcp_ffcaia2008_8.x/sys/dev/snc/dp83932.c projects/tcp_ffcaia2008_8.x/sys/dev/sound/midi/midi.c projects/tcp_ffcaia2008_8.x/sys/dev/sound/midi/sequencer.c projects/tcp_ffcaia2008_8.x/sys/dev/sound/pci/hda/hdac.c projects/tcp_ffcaia2008_8.x/sys/dev/sound/pcm/feeder_rate.c projects/tcp_ffcaia2008_8.x/sys/dev/sound/usb/uaudio.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/sound/usb/uaudio.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/sound/usb/uaudio_pcm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/sound/usb/uaudioreg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/speaker/spkr.c projects/tcp_ffcaia2008_8.x/sys/dev/ste/if_ste.c projects/tcp_ffcaia2008_8.x/sys/dev/stge/if_stge.c projects/tcp_ffcaia2008_8.x/sys/dev/ti/if_ti.c projects/tcp_ffcaia2008_8.x/sys/dev/tl/if_tl.c projects/tcp_ffcaia2008_8.x/sys/dev/trm/trm.h projects/tcp_ffcaia2008_8.x/sys/dev/tsec/if_tsec.c projects/tcp_ffcaia2008_8.x/sys/dev/tx/if_tx.c projects/tcp_ffcaia2008_8.x/sys/dev/txp/if_txp.c projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/at91dci.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/at91dci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/at91dci_atmelarm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/atmegadci.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/atmegadci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/atmegadci_atmelarm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/avr32dci.c projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ehci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ehci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ehci_ixp4xx.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ehci_mbus.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ehci_pci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/musb_otg.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/musb_otg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/musb_otg_atmelarm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ohci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ohci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ohci_atmelarm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/ohci_pci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uhci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uhci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uhci_pci.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/usb_controller.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uss820dci.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uss820dci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/controller/uss820dci_atmelarm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/input/uhid.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/input/ukbd.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/input/ums.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/input/usb_rdesc.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/misc/udbp.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/misc/udbp.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/misc/ufm.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_aue.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_auereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_axe.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_axereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_cdce.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_cdcereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_cue.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_cuereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_kue.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_kuefw.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_kuereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_rue.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_ruereg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_udav.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/if_udavreg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/usb_ethernet.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/net/usb_ethernet.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/quirk/usb_quirk.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/quirk/usb_quirk.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/u3g.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uark.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ubsa.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ubser.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uchcom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ucycom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ufoma.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uftdi.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uftdi_reg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ugensa.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uipaq.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/ulpt.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/umct.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/umodem.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/umoscom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uplcom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/usb_serial.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/usb_serial.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uslcom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uvisor.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/serial/uvscom.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/storage/rio500_usb.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/storage/umass.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/storage/urio.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/storage/ustorage_fs.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/template/usb_template.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/template/usb_template.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/template/usb_template_cdce.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/template/usb_template_msc.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/template/usb_template_mtp.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/ufm_ioctl.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_bus.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_busdma.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_busdma.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_cdc.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_compat_linux.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_compat_linux.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_controller.h (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_core.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_core.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_debug.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_debug.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_dev.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_dev.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_device.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_device.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_dynamic.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_dynamic.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_endian.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_error.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_generic.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_generic.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_handle_request.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_hid.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_hub.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_hub.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_if.m (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_ioctl.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_lookup.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_mbuf.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_mbuf.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_msctest.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_msctest.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_parse.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_pci.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_process.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_process.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_request.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_request.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_transfer.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_transfer.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_util.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usb_util.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usbdevs (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/usbdi.h projects/tcp_ffcaia2008_8.x/sys/dev/usb/usbhid.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_rum.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_rumfw.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_rumreg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_rumvar.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_upgt.c projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_ural.c (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_uralreg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_uralvar.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_urtw.c projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_zyd.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_zydfw.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/usb/wlan/if_zydreg.h (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/vge/if_vge.c projects/tcp_ffcaia2008_8.x/sys/dev/vr/if_vr.c projects/tcp_ffcaia2008_8.x/sys/dev/wb/if_wb.c projects/tcp_ffcaia2008_8.x/sys/dev/wi/if_wi.c projects/tcp_ffcaia2008_8.x/sys/dev/wl/if_wl.c projects/tcp_ffcaia2008_8.x/sys/dev/wpi/if_wpi.c projects/tcp_ffcaia2008_8.x/sys/dev/xe/if_xe.c projects/tcp_ffcaia2008_8.x/sys/dev/xen/netfront/ (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/xen/xenpci/ (props changed) projects/tcp_ffcaia2008_8.x/sys/dev/xl/if_xl.c projects/tcp_ffcaia2008_8.x/sys/fs/cd9660/cd9660_lookup.c projects/tcp_ffcaia2008_8.x/sys/fs/coda/coda_psdev.c projects/tcp_ffcaia2008_8.x/sys/fs/coda/coda_vnops.c projects/tcp_ffcaia2008_8.x/sys/fs/fifofs/fifo_vnops.c projects/tcp_ffcaia2008_8.x/sys/fs/nfs/nfs_commonkrpc.c projects/tcp_ffcaia2008_8.x/sys/fs/nfs/nfs_var.h projects/tcp_ffcaia2008_8.x/sys/fs/nfs/nfsport.h projects/tcp_ffcaia2008_8.x/sys/fs/nfsclient/nfs_clrpcops.c projects/tcp_ffcaia2008_8.x/sys/fs/nfsclient/nfs_clstate.c projects/tcp_ffcaia2008_8.x/sys/fs/nfsclient/nfs_clvfsops.c projects/tcp_ffcaia2008_8.x/sys/fs/nfsclient/nfs_clvnops.c projects/tcp_ffcaia2008_8.x/sys/fs/nfsserver/nfs_nfsdport.c projects/tcp_ffcaia2008_8.x/sys/fs/pseudofs/pseudofs_vnops.c projects/tcp_ffcaia2008_8.x/sys/geom/geom.h projects/tcp_ffcaia2008_8.x/sys/geom/geom_dev.c projects/tcp_ffcaia2008_8.x/sys/geom/geom_io.c projects/tcp_ffcaia2008_8.x/sys/geom/geom_subr.c projects/tcp_ffcaia2008_8.x/sys/geom/geom_vfs.c projects/tcp_ffcaia2008_8.x/sys/geom/journal/g_journal.c projects/tcp_ffcaia2008_8.x/sys/geom/linux_lvm/g_linux_lvm.c projects/tcp_ffcaia2008_8.x/sys/geom/part/g_part.c projects/tcp_ffcaia2008_8.x/sys/geom/part/g_part_if.m projects/tcp_ffcaia2008_8.x/sys/geom/vinum/geom_vinum.c projects/tcp_ffcaia2008_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c projects/tcp_ffcaia2008_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h projects/tcp_ffcaia2008_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h projects/tcp_ffcaia2008_8.x/sys/gnu/fs/xfs/xfs_rw.h projects/tcp_ffcaia2008_8.x/sys/gnu/fs/xfs/xfs_vnodeops.c projects/tcp_ffcaia2008_8.x/sys/i386/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/i386/i386/genassym.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/intr_machdep.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/io_apic.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/local_apic.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/msi.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/pmap.c projects/tcp_ffcaia2008_8.x/sys/i386/i386/sys_machdep.c projects/tcp_ffcaia2008_8.x/sys/i386/ibcs2/ibcs2_ipc.c projects/tcp_ffcaia2008_8.x/sys/i386/ibcs2/ibcs2_misc.c projects/tcp_ffcaia2008_8.x/sys/i386/include/intr_machdep.h projects/tcp_ffcaia2008_8.x/sys/i386/include/param.h projects/tcp_ffcaia2008_8.x/sys/i386/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/i386/isa/atpic.c projects/tcp_ffcaia2008_8.x/sys/i386/linux/linux_machdep.c projects/tcp_ffcaia2008_8.x/sys/i386/pci/pci_bus.c projects/tcp_ffcaia2008_8.x/sys/i386/xen/pmap.c projects/tcp_ffcaia2008_8.x/sys/ia64/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/ia64/ia64/pmap.c projects/tcp_ffcaia2008_8.x/sys/ia64/include/param.h projects/tcp_ffcaia2008_8.x/sys/ia64/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/kern/init_main.c projects/tcp_ffcaia2008_8.x/sys/kern/init_sysent.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_cons.c (props changed) projects/tcp_ffcaia2008_8.x/sys/kern/kern_descrip.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_event.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_exec.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_exit.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_fork.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_intr.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_jail.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_linker.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_lockf.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_mbuf.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_poll.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_prot.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_sig.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_switch.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_synch.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_sysctl.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_thr.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_thread.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_uuid.c projects/tcp_ffcaia2008_8.x/sys/kern/kern_vimage.c projects/tcp_ffcaia2008_8.x/sys/kern/link_elf.c projects/tcp_ffcaia2008_8.x/sys/kern/link_elf_obj.c projects/tcp_ffcaia2008_8.x/sys/kern/subr_param.c projects/tcp_ffcaia2008_8.x/sys/kern/subr_pcpu.c projects/tcp_ffcaia2008_8.x/sys/kern/subr_sleepqueue.c projects/tcp_ffcaia2008_8.x/sys/kern/subr_trap.c projects/tcp_ffcaia2008_8.x/sys/kern/sys_generic.c projects/tcp_ffcaia2008_8.x/sys/kern/sys_pipe.c projects/tcp_ffcaia2008_8.x/sys/kern/sys_process.c projects/tcp_ffcaia2008_8.x/sys/kern/sys_socket.c projects/tcp_ffcaia2008_8.x/sys/kern/syscalls.c projects/tcp_ffcaia2008_8.x/sys/kern/syscalls.master projects/tcp_ffcaia2008_8.x/sys/kern/systrace_args.c projects/tcp_ffcaia2008_8.x/sys/kern/sysv_ipc.c projects/tcp_ffcaia2008_8.x/sys/kern/sysv_msg.c projects/tcp_ffcaia2008_8.x/sys/kern/sysv_sem.c projects/tcp_ffcaia2008_8.x/sys/kern/sysv_shm.c projects/tcp_ffcaia2008_8.x/sys/kern/tty.c projects/tcp_ffcaia2008_8.x/sys/kern/tty_pts.c projects/tcp_ffcaia2008_8.x/sys/kern/uipc_domain.c projects/tcp_ffcaia2008_8.x/sys/kern/uipc_socket.c projects/tcp_ffcaia2008_8.x/sys/kern/uipc_syscalls.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_bio.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_cluster.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_export.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_extattr.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_lookup.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_mount.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_subr.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_syscalls.c projects/tcp_ffcaia2008_8.x/sys/kern/vfs_vnops.c projects/tcp_ffcaia2008_8.x/sys/mips/adm5120/if_admsw.c projects/tcp_ffcaia2008_8.x/sys/mips/include/param.h projects/tcp_ffcaia2008_8.x/sys/mips/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/mips/malta/yamon.c projects/tcp_ffcaia2008_8.x/sys/mips/mips/busdma_machdep.c projects/tcp_ffcaia2008_8.x/sys/mips/mips/dump_machdep.c projects/tcp_ffcaia2008_8.x/sys/mips/mips/intr_machdep.c projects/tcp_ffcaia2008_8.x/sys/modules/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/cam/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/dtrace/dtnfsclient/ (props changed) projects/tcp_ffcaia2008_8.x/sys/modules/geom/geom_label/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/igb/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/ip6_mroute_mod/ (props changed) projects/tcp_ffcaia2008_8.x/sys/modules/ipmi/ipmi_linux/ (props changed) projects/tcp_ffcaia2008_8.x/sys/modules/ixgbe/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/nfsclient/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/nfsserver/Makefile projects/tcp_ffcaia2008_8.x/sys/modules/wlan/Makefile projects/tcp_ffcaia2008_8.x/sys/net/bridgestp.c projects/tcp_ffcaia2008_8.x/sys/net/flowtable.c projects/tcp_ffcaia2008_8.x/sys/net/flowtable.h projects/tcp_ffcaia2008_8.x/sys/net/if.c projects/tcp_ffcaia2008_8.x/sys/net/if_bridge.c projects/tcp_ffcaia2008_8.x/sys/net/if_clone.c projects/tcp_ffcaia2008_8.x/sys/net/if_ef.c projects/tcp_ffcaia2008_8.x/sys/net/if_enc.c projects/tcp_ffcaia2008_8.x/sys/net/if_ethersubr.c projects/tcp_ffcaia2008_8.x/sys/net/if_faith.c projects/tcp_ffcaia2008_8.x/sys/net/if_gif.c projects/tcp_ffcaia2008_8.x/sys/net/if_gif.h projects/tcp_ffcaia2008_8.x/sys/net/if_gre.c projects/tcp_ffcaia2008_8.x/sys/net/if_loop.c projects/tcp_ffcaia2008_8.x/sys/net/if_media.h projects/tcp_ffcaia2008_8.x/sys/net/if_mib.c projects/tcp_ffcaia2008_8.x/sys/net/if_spppsubr.c projects/tcp_ffcaia2008_8.x/sys/net/if_stf.c projects/tcp_ffcaia2008_8.x/sys/net/if_tap.c projects/tcp_ffcaia2008_8.x/sys/net/if_tun.c projects/tcp_ffcaia2008_8.x/sys/net/if_var.h projects/tcp_ffcaia2008_8.x/sys/net/if_vlan.c projects/tcp_ffcaia2008_8.x/sys/net/netisr.c projects/tcp_ffcaia2008_8.x/sys/net/raw_cb.c projects/tcp_ffcaia2008_8.x/sys/net/raw_cb.h projects/tcp_ffcaia2008_8.x/sys/net/raw_usrreq.c projects/tcp_ffcaia2008_8.x/sys/net/route.c projects/tcp_ffcaia2008_8.x/sys/net/rtsock.c projects/tcp_ffcaia2008_8.x/sys/net/vnet.h projects/tcp_ffcaia2008_8.x/sys/net80211/_ieee80211.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_adhoc.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ddb.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_freebsd.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_freebsd.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_hostap.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ht.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ht.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_input.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_input.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ioctl.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_ioctl.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_node.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_node.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_output.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_proto.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_proto.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_scan.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_scan.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_scan_sta.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_sta.c projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_var.h projects/tcp_ffcaia2008_8.x/sys/net80211/ieee80211_wds.c projects/tcp_ffcaia2008_8.x/sys/netatalk/aarp.c projects/tcp_ffcaia2008_8.x/sys/netatalk/at_control.c projects/tcp_ffcaia2008_8.x/sys/netatalk/at_var.h projects/tcp_ffcaia2008_8.x/sys/netatalk/ddp_input.c projects/tcp_ffcaia2008_8.x/sys/netatalk/ddp_output.c projects/tcp_ffcaia2008_8.x/sys/netatalk/ddp_pcb.c projects/tcp_ffcaia2008_8.x/sys/netatalk/ddp_usrreq.c projects/tcp_ffcaia2008_8.x/sys/netgraph/atm/ng_atm.c projects/tcp_ffcaia2008_8.x/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c (props changed) projects/tcp_ffcaia2008_8.x/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h (props changed) projects/tcp_ffcaia2008_8.x/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c (props changed) projects/tcp_ffcaia2008_8.x/sys/netgraph/netgraph.h projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_base.c projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_eiface.c projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_ether.c projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_gif.c projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_iface.c projects/tcp_ffcaia2008_8.x/sys/netgraph/ng_ksocket.c projects/tcp_ffcaia2008_8.x/sys/netinet/icmp6.h projects/tcp_ffcaia2008_8.x/sys/netinet/icmp_var.h projects/tcp_ffcaia2008_8.x/sys/netinet/if_ether.c projects/tcp_ffcaia2008_8.x/sys/netinet/igmp.c projects/tcp_ffcaia2008_8.x/sys/netinet/in.c projects/tcp_ffcaia2008_8.x/sys/netinet/in_gif.c projects/tcp_ffcaia2008_8.x/sys/netinet/in_mcast.c projects/tcp_ffcaia2008_8.x/sys/netinet/in_pcb.c projects/tcp_ffcaia2008_8.x/sys/netinet/in_pcb.h projects/tcp_ffcaia2008_8.x/sys/netinet/in_rmx.c projects/tcp_ffcaia2008_8.x/sys/netinet/in_var.h projects/tcp_ffcaia2008_8.x/sys/netinet/ip_carp.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_divert.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_dummynet.h projects/tcp_ffcaia2008_8.x/sys/netinet/ip_fastfwd.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_fw.h projects/tcp_ffcaia2008_8.x/sys/netinet/ip_icmp.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_input.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_ipsec.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_mroute.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_options.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_output.c projects/tcp_ffcaia2008_8.x/sys/netinet/ip_var.h projects/tcp_ffcaia2008_8.x/sys/netinet/ipfw/ip_dummynet.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/netinet/ipfw/ip_fw2.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/netinet/ipfw/ip_fw_nat.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/netinet/ipfw/ip_fw_pfil.c (contents, props changed) projects/tcp_ffcaia2008_8.x/sys/netinet/raw_ip.c projects/tcp_ffcaia2008_8.x/sys/netinet/sctp_os_bsd.h projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_hostcache.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_input.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_offload.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_offload.h projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_output.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_reass.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_subr.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_syncache.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_syncache.h projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_timer.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_timewait.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_usrreq.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_var.h projects/tcp_ffcaia2008_8.x/sys/netinet/udp_usrreq.c projects/tcp_ffcaia2008_8.x/sys/netinet/udp_var.h projects/tcp_ffcaia2008_8.x/sys/netinet6/dest6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/frag6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/icmp6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_gif.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_ifattach.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_mcast.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_pcb.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_proto.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_rmx.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_src.c projects/tcp_ffcaia2008_8.x/sys/netinet6/in6_var.h projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_forward.c projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_input.c projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_ipsec.c projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_mroute.c projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_output.c projects/tcp_ffcaia2008_8.x/sys/netinet6/ip6_var.h projects/tcp_ffcaia2008_8.x/sys/netinet6/mld6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/nd6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/nd6.h projects/tcp_ffcaia2008_8.x/sys/netinet6/nd6_nbr.c projects/tcp_ffcaia2008_8.x/sys/netinet6/nd6_rtr.c projects/tcp_ffcaia2008_8.x/sys/netinet6/raw_ip6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/raw_ip6.h projects/tcp_ffcaia2008_8.x/sys/netinet6/route6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/scope6.c projects/tcp_ffcaia2008_8.x/sys/netinet6/tcp6_var.h projects/tcp_ffcaia2008_8.x/sys/netinet6/udp6_usrreq.c projects/tcp_ffcaia2008_8.x/sys/netipsec/ah_var.h projects/tcp_ffcaia2008_8.x/sys/netipsec/esp_var.h projects/tcp_ffcaia2008_8.x/sys/netipsec/ipcomp_var.h projects/tcp_ffcaia2008_8.x/sys/netipsec/ipip_var.h projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec.c projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec.h projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec6.h projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec_input.c projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec_mbuf.c projects/tcp_ffcaia2008_8.x/sys/netipsec/ipsec_output.c projects/tcp_ffcaia2008_8.x/sys/netipsec/key.c projects/tcp_ffcaia2008_8.x/sys/netipsec/key_debug.c projects/tcp_ffcaia2008_8.x/sys/netipsec/key_debug.h projects/tcp_ffcaia2008_8.x/sys/netipsec/keysock.c projects/tcp_ffcaia2008_8.x/sys/netipsec/keysock.h projects/tcp_ffcaia2008_8.x/sys/netipsec/xform_ah.c projects/tcp_ffcaia2008_8.x/sys/netipsec/xform_esp.c projects/tcp_ffcaia2008_8.x/sys/netipsec/xform_ipcomp.c projects/tcp_ffcaia2008_8.x/sys/netipsec/xform_ipip.c projects/tcp_ffcaia2008_8.x/sys/netipsec/xform_tcp.c projects/tcp_ffcaia2008_8.x/sys/netipx/ipx.c projects/tcp_ffcaia2008_8.x/sys/netipx/ipx_if.h projects/tcp_ffcaia2008_8.x/sys/netipx/ipx_input.c projects/tcp_ffcaia2008_8.x/sys/netipx/ipx_outputfl.c projects/tcp_ffcaia2008_8.x/sys/netipx/ipx_pcb.c projects/tcp_ffcaia2008_8.x/sys/netipx/spx_reass.c (props changed) projects/tcp_ffcaia2008_8.x/sys/nfs/nfs_common.c projects/tcp_ffcaia2008_8.x/sys/nfs/nfs_nfssvc.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/bootp_subr.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/krpc_subr.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs.h projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_bio.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_diskless.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_krpc.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_lock.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_nfsiod.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_node.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_subs.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_vfsops.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfs_vnops.c projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfsm_subs.h projects/tcp_ffcaia2008_8.x/sys/nfsclient/nfsmount.h projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs.h projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_fha.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_serv.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_srvkrpc.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfs_srvsubs.c projects/tcp_ffcaia2008_8.x/sys/nfsserver/nfsrvcache.h projects/tcp_ffcaia2008_8.x/sys/pc98/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/pci/if_rl.c projects/tcp_ffcaia2008_8.x/sys/pci/if_rlreg.h projects/tcp_ffcaia2008_8.x/sys/powerpc/aim/mmu_oea64.c projects/tcp_ffcaia2008_8.x/sys/powerpc/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/powerpc/conf/MPC85XX projects/tcp_ffcaia2008_8.x/sys/powerpc/include/param.h projects/tcp_ffcaia2008_8.x/sys/powerpc/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/powerpc/powerpc/mp_machdep.c projects/tcp_ffcaia2008_8.x/sys/rpc/clnt_dg.c projects/tcp_ffcaia2008_8.x/sys/rpc/clnt_rc.c projects/tcp_ffcaia2008_8.x/sys/rpc/clnt_vc.c projects/tcp_ffcaia2008_8.x/sys/rpc/rpcsec_gss/rpcsec_gss.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit.h projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_arg.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_bsm.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_bsm_errno.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_bsm_token.c projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_private.h projects/tcp_ffcaia2008_8.x/sys/security/audit/audit_syscalls.c projects/tcp_ffcaia2008_8.x/sys/security/mac/mac_cred.c (props changed) projects/tcp_ffcaia2008_8.x/sys/security/mac_bsdextended/ugidfw_system.c (props changed) projects/tcp_ffcaia2008_8.x/sys/security/mac_bsdextended/ugidfw_vnode.c (props changed) projects/tcp_ffcaia2008_8.x/sys/sparc64/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/sparc64/include/param.h projects/tcp_ffcaia2008_8.x/sys/sparc64/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/sparc64/sparc64/machdep.c projects/tcp_ffcaia2008_8.x/sys/sparc64/sparc64/pmap.c projects/tcp_ffcaia2008_8.x/sys/sun4v/conf/GENERIC projects/tcp_ffcaia2008_8.x/sys/sun4v/include/param.h projects/tcp_ffcaia2008_8.x/sys/sun4v/include/pmap.h projects/tcp_ffcaia2008_8.x/sys/sun4v/sun4v/pmap.c projects/tcp_ffcaia2008_8.x/sys/sys/acl.h projects/tcp_ffcaia2008_8.x/sys/sys/ata.h projects/tcp_ffcaia2008_8.x/sys/sys/conf.h projects/tcp_ffcaia2008_8.x/sys/sys/cpuctl.h projects/tcp_ffcaia2008_8.x/sys/sys/disk.h projects/tcp_ffcaia2008_8.x/sys/sys/event.h projects/tcp_ffcaia2008_8.x/sys/sys/filio.h projects/tcp_ffcaia2008_8.x/sys/sys/ipc.h projects/tcp_ffcaia2008_8.x/sys/sys/kernel.h projects/tcp_ffcaia2008_8.x/sys/sys/mount.h projects/tcp_ffcaia2008_8.x/sys/sys/msg.h projects/tcp_ffcaia2008_8.x/sys/sys/namei.h projects/tcp_ffcaia2008_8.x/sys/sys/param.h projects/tcp_ffcaia2008_8.x/sys/sys/pcpu.h projects/tcp_ffcaia2008_8.x/sys/sys/priv.h projects/tcp_ffcaia2008_8.x/sys/sys/proc.h projects/tcp_ffcaia2008_8.x/sys/sys/sched.h projects/tcp_ffcaia2008_8.x/sys/sys/sem.h projects/tcp_ffcaia2008_8.x/sys/sys/shm.h projects/tcp_ffcaia2008_8.x/sys/sys/signalvar.h projects/tcp_ffcaia2008_8.x/sys/sys/sleepqueue.h projects/tcp_ffcaia2008_8.x/sys/sys/socketvar.h projects/tcp_ffcaia2008_8.x/sys/sys/sockio.h projects/tcp_ffcaia2008_8.x/sys/sys/syscall.h projects/tcp_ffcaia2008_8.x/sys/sys/syscall.mk projects/tcp_ffcaia2008_8.x/sys/sys/syscallsubr.h projects/tcp_ffcaia2008_8.x/sys/sys/sysctl.h projects/tcp_ffcaia2008_8.x/sys/sys/sysproto.h projects/tcp_ffcaia2008_8.x/sys/sys/ucred.h projects/tcp_ffcaia2008_8.x/sys/sys/uio.h projects/tcp_ffcaia2008_8.x/sys/sys/unistd.h projects/tcp_ffcaia2008_8.x/sys/sys/vimage.h projects/tcp_ffcaia2008_8.x/sys/sys/vnode.h projects/tcp_ffcaia2008_8.x/sys/tools/sound/feeder_rate_mkfilter.awk projects/tcp_ffcaia2008_8.x/sys/ufs/ffs/ffs_softdep.c projects/tcp_ffcaia2008_8.x/sys/ufs/ffs/ffs_vnops.c projects/tcp_ffcaia2008_8.x/sys/ufs/ufs/ufs_dirhash.c projects/tcp_ffcaia2008_8.x/sys/ufs/ufs/ufs_vnops.c projects/tcp_ffcaia2008_8.x/sys/vm/device_pager.c projects/tcp_ffcaia2008_8.x/sys/vm/pmap.h projects/tcp_ffcaia2008_8.x/sys/vm/vm.h projects/tcp_ffcaia2008_8.x/sys/vm/vm_contig.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_extern.h projects/tcp_ffcaia2008_8.x/sys/vm/vm_fault.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_map.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_mmap.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_object.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_object.h projects/tcp_ffcaia2008_8.x/sys/vm/vm_page.c projects/tcp_ffcaia2008_8.x/sys/vm/vm_phys.c projects/tcp_ffcaia2008_8.x/sys/vm/vnode_pager.c projects/tcp_ffcaia2008_8.x/tools/build/mk/OptionalObsoleteFiles.inc projects/tcp_ffcaia2008_8.x/tools/regression/acltools/tools-posix.test projects/tcp_ffcaia2008_8.x/tools/regression/bin/sh/builtins/command5.0.stdout projects/tcp_ffcaia2008_8.x/tools/regression/lib/msun/test-conj.t (props changed) projects/tcp_ffcaia2008_8.x/tools/regression/usr.bin/jot/regress.sh projects/tcp_ffcaia2008_8.x/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/tcp_ffcaia2008_8.x/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/tcp_ffcaia2008_8.x/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/ath/athpoke/Makefile projects/tcp_ffcaia2008_8.x/tools/tools/ath/athpoke/athpoke.c projects/tcp_ffcaia2008_8.x/tools/tools/ath/common/dumpregs.h (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/nanobsd/gateworks/G2348 projects/tcp_ffcaia2008_8.x/tools/tools/nanobsd/gateworks/G2358 projects/tcp_ffcaia2008_8.x/tools/tools/nanobsd/nanobsd.sh projects/tcp_ffcaia2008_8.x/tools/tools/net80211/scripts/config projects/tcp_ffcaia2008_8.x/tools/tools/net80211/wlanstats/wlanstats.c projects/tcp_ffcaia2008_8.x/tools/tools/termcap/termcap.pl (props changed) projects/tcp_ffcaia2008_8.x/tools/tools/vimage/Makefile projects/tcp_ffcaia2008_8.x/tools/tools/vimage/vimage.c projects/tcp_ffcaia2008_8.x/usr.bin/cpio/cmdline.c projects/tcp_ffcaia2008_8.x/usr.bin/cpio/cpio.c projects/tcp_ffcaia2008_8.x/usr.bin/cpio/test/test_owner_parse.c projects/tcp_ffcaia2008_8.x/usr.bin/csup/ (props changed) projects/tcp_ffcaia2008_8.x/usr.bin/fstat/fstat.1 projects/tcp_ffcaia2008_8.x/usr.bin/fstat/fstat.c projects/tcp_ffcaia2008_8.x/usr.bin/gzip/gzip.1 projects/tcp_ffcaia2008_8.x/usr.bin/gzip/gzip.c projects/tcp_ffcaia2008_8.x/usr.bin/gzip/zuncompress.c projects/tcp_ffcaia2008_8.x/usr.bin/ipcs/ipcs.c projects/tcp_ffcaia2008_8.x/usr.bin/jot/jot.c projects/tcp_ffcaia2008_8.x/usr.bin/kdump/mkioctls projects/tcp_ffcaia2008_8.x/usr.bin/killall/Makefile projects/tcp_ffcaia2008_8.x/usr.bin/killall/killall.c projects/tcp_ffcaia2008_8.x/usr.bin/mklocale/yacc.y projects/tcp_ffcaia2008_8.x/usr.bin/netstat/netstat.1 projects/tcp_ffcaia2008_8.x/usr.bin/nfsstat/nfsstat.c projects/tcp_ffcaia2008_8.x/usr.bin/procstat/ (props changed) projects/tcp_ffcaia2008_8.x/usr.bin/showmount/showmount.c projects/tcp_ffcaia2008_8.x/usr.bin/sockstat/sockstat.1 projects/tcp_ffcaia2008_8.x/usr.bin/ypcat/ypcat.c projects/tcp_ffcaia2008_8.x/usr.bin/ypmatch/ypmatch.c projects/tcp_ffcaia2008_8.x/usr.bin/ypwhich/ypwhich.c projects/tcp_ffcaia2008_8.x/usr.sbin/Makefile projects/tcp_ffcaia2008_8.x/usr.sbin/amd/include/config.h projects/tcp_ffcaia2008_8.x/usr.sbin/bsnmpd/modules/Makefile.inc projects/tcp_ffcaia2008_8.x/usr.sbin/cpucontrol/cpucontrol.8 projects/tcp_ffcaia2008_8.x/usr.sbin/cpucontrol/cpucontrol.c projects/tcp_ffcaia2008_8.x/usr.sbin/cxgbtool/cxgbtool.c projects/tcp_ffcaia2008_8.x/usr.sbin/dumpcis/cardinfo.h (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/dumpcis/cis.h (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/fdcontrol/fdcontrol.c projects/tcp_ffcaia2008_8.x/usr.sbin/fdformat/fdformat.c projects/tcp_ffcaia2008_8.x/usr.sbin/fdread/fdread.c projects/tcp_ffcaia2008_8.x/usr.sbin/fdwrite/fdwrite.c projects/tcp_ffcaia2008_8.x/usr.sbin/jail/Makefile projects/tcp_ffcaia2008_8.x/usr.sbin/jail/jail.8 projects/tcp_ffcaia2008_8.x/usr.sbin/jail/jail.c projects/tcp_ffcaia2008_8.x/usr.sbin/jexec/Makefile projects/tcp_ffcaia2008_8.x/usr.sbin/jexec/jexec.c projects/tcp_ffcaia2008_8.x/usr.sbin/jls/Makefile projects/tcp_ffcaia2008_8.x/usr.sbin/jls/jls.8 projects/tcp_ffcaia2008_8.x/usr.sbin/jls/jls.c projects/tcp_ffcaia2008_8.x/usr.sbin/lpr/common_source/displayq.c projects/tcp_ffcaia2008_8.x/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/makefs/getid.c (props changed) projects/tcp_ffcaia2008_8.x/usr.sbin/mountd/mountd.c projects/tcp_ffcaia2008_8.x/usr.sbin/nfsd/nfsd.c projects/tcp_ffcaia2008_8.x/usr.sbin/pkg_install/add/perform.c projects/tcp_ffcaia2008_8.x/usr.sbin/pkg_install/lib/url.c projects/tcp_ffcaia2008_8.x/usr.sbin/ppp/nat_cmd.c projects/tcp_ffcaia2008_8.x/usr.sbin/ppp/ppp.8.m4 projects/tcp_ffcaia2008_8.x/usr.sbin/rpc.lockd/kern.c projects/tcp_ffcaia2008_8.x/usr.sbin/rpc.umntall/mounttab.c projects/tcp_ffcaia2008_8.x/usr.sbin/rpc.umntall/mounttab.h projects/tcp_ffcaia2008_8.x/usr.sbin/rpc.umntall/rpc.umntall.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/Makefile projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/devices.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/dispatch.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/dist.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/dist.h projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/doc.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/help/usage.hlp projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/install.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/label.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/media.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/menus.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/options.c projects/tcp_ffcaia2008_8.x/usr.sbin/sysinstall/sysinstall.h projects/tcp_ffcaia2008_8.x/usr.sbin/tzsetup/tzsetup.8 projects/tcp_ffcaia2008_8.x/usr.sbin/tzsetup/tzsetup.c projects/tcp_ffcaia2008_8.x/usr.sbin/wlandebug/wlandebug.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wlandebug/wlandebug.c projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/hostapd/hostapd.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/hostapd/hostapd.conf.5 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/hostapd_cli/hostapd_cli.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/wpa_cli/wpa_cli.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8 projects/tcp_ffcaia2008_8.x/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5 projects/tcp_ffcaia2008_8.x/usr.sbin/ypserv/Makefile.yp projects/tcp_ffcaia2008_8.x/usr.sbin/ypserv/yp_access.c projects/tcp_ffcaia2008_8.x/usr.sbin/ypserv/ypserv.8 projects/tcp_ffcaia2008_8.x/usr.sbin/zic/ (props changed) Modified: projects/tcp_ffcaia2008_8.x/MAINTAINERS ============================================================================== --- projects/tcp_ffcaia2008_8.x/MAINTAINERS Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/MAINTAINERS Mon Jul 20 10:27:47 2009 (r195780) @@ -111,7 +111,7 @@ truss alfred Will be happy to review co rpc alfred Pre-commit review requested. xfs kan@FreeBSD.org,rodrigc@FreeBSD.org,cattelan@xfs.org Pre-commit review preferred. -pkg_install krion Pre-commit review or approval from portmgr@ requested. +pkg_install portmgr Pre-commit review or approval from portmgr@ requested. linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. @@ -123,8 +123,6 @@ lib/libsdp emax Pre-commit review prefe usr.bin/bluetooth emax Pre-commit review preferred. usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. -BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. -usb core Please contact core@ before any major changes ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. Modified: projects/tcp_ffcaia2008_8.x/Makefile.inc1 ============================================================================== --- projects/tcp_ffcaia2008_8.x/Makefile.inc1 Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/Makefile.inc1 Mon Jul 20 10:27:47 2009 (r195780) @@ -1069,7 +1069,7 @@ libraries: # # static libgcc.a prerequisite for shared libc # -_prereq_libs= gnu/lib/libgcc +_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc # These dependencies are not automatically generated: # Modified: projects/tcp_ffcaia2008_8.x/ObsoleteFiles.inc ============================================================================== --- projects/tcp_ffcaia2008_8.x/ObsoleteFiles.inc Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/ObsoleteFiles.inc Mon Jul 20 10:27:47 2009 (r195780) @@ -14,11 +14,294 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090719: library version bump for 8.0 +OLD_LIBS+=lib/libalias.so.6 +OLD_LIBS+=lib/libavl.so.1 +OLD_LIBS+=lib/libbegemot.so.3 +OLD_LIBS+=lib/libbsdxml.so.3 +OLD_LIBS+=lib/libbsnmp.so.4 +OLD_LIBS+=lib/libcam.so.4 +OLD_LIBS+=lib/libcrypt.so.4 +OLD_LIBS+=lib/libcrypto.so.5 +OLD_LIBS+=lib/libctf.so.1 +OLD_LIBS+=lib/libdevstat.so.6 +OLD_LIBS+=lib/libdtrace.so.1 +OLD_LIBS+=lib/libedit.so.6 +OLD_LIBS+=lib/libgeom.so.4 +OLD_LIBS+=lib/libipsec.so.3 +OLD_LIBS+=lib/libipx.so.4 +OLD_LIBS+=lib/libkiconv.so.3 +OLD_LIBS+=lib/libkvm.so.4 +OLD_LIBS+=lib/libmd.so.4 +OLD_LIBS+=lib/libncurses.so.7 +OLD_LIBS+=lib/libncursesw.so.7 +OLD_LIBS+=lib/libnvpair.so.1 +OLD_LIBS+=lib/libpcap.so.6 +OLD_LIBS+=lib/libreadline.so.7 +OLD_LIBS+=lib/libsbuf.so.4 +OLD_LIBS+=lib/libufs.so.4 +OLD_LIBS+=lib/libumem.so.1 +OLD_LIBS+=lib/libutil.so.7 +OLD_LIBS+=lib/libuutil.so.1 +OLD_LIBS+=lib/libz.so.4 +OLD_LIBS+=lib/libzfs.so.1 +OLD_LIBS+=lib/libzpool.so.1 +OLD_LIBS+=usr/lib/libarchive.so.4 +OLD_LIBS+=usr/lib/libauditd.so.4 +OLD_LIBS+=usr/lib/libbluetooth.so.3 +OLD_LIBS+=usr/lib/libbsm.so.2 +OLD_LIBS+=usr/lib/libbz2.so.3 +OLD_LIBS+=usr/lib/libcalendar.so.4 +OLD_LIBS+=usr/lib/libcom_err.so.4 +OLD_LIBS+=usr/lib/libdevinfo.so.4 +OLD_LIBS+=usr/lib/libdialog.so.6 +OLD_LIBS+=usr/lib/libdwarf.so.1 +OLD_LIBS+=usr/lib/libfetch.so.5 +OLD_LIBS+=usr/lib/libform.so.4 +OLD_LIBS+=usr/lib/libformw.so.4 +OLD_LIBS+=usr/lib/libftpio.so.7 +OLD_LIBS+=usr/lib/libgnuregex.so.4 +OLD_LIBS+=usr/lib/libgpib.so.2 +OLD_LIBS+=usr/lib/libhistory.so.7 +OLD_LIBS+=usr/lib/libmagic.so.3 +OLD_LIBS+=usr/lib/libmemstat.so.2 +OLD_LIBS+=usr/lib/libmenu.so.4 +OLD_LIBS+=usr/lib/libmenuw.so.4 +OLD_LIBS+=usr/lib/libmilter.so.4 +OLD_LIBS+=usr/lib/libncp.so.3 +OLD_LIBS+=usr/lib/libnetgraph.so.3 +OLD_LIBS+=usr/lib/libngatm.so.3 +OLD_LIBS+=usr/lib/libobjc.so.3 +OLD_LIBS+=usr/lib/libopie.so.5 +OLD_LIBS+=usr/lib/libpam.so.4 +OLD_LIBS+=usr/lib/libpanel.so.4 +OLD_LIBS+=usr/lib/libpanelw.so.4 +OLD_LIBS+=usr/lib/libpmc.so.4 +OLD_LIBS+=usr/lib/libproc.so.1 +OLD_LIBS+=usr/lib/libradius.so.3 +OLD_LIBS+=usr/lib/librpcsvc.so.4 +OLD_LIBS+=usr/lib/libsdp.so.3 +OLD_LIBS+=usr/lib/libsmb.so.3 +OLD_LIBS+=usr/lib/libssh.so.4 +OLD_LIBS+=usr/lib/libssl.so.5 +OLD_LIBS+=usr/lib/libtacplus.so.3 +OLD_LIBS+=usr/lib/libugidfw.so.3 +OLD_LIBS+=usr/lib/libusb.so.1 +OLD_LIBS+=usr/lib/libusbhid.so.3 +OLD_LIBS+=usr/lib/libwrap.so.5 +OLD_LIBS+=usr/lib/libypclnt.so.3 +OLD_LIBS+=usr/lib/pam_chroot.so.4 +OLD_LIBS+=usr/lib/pam_deny.so.4 +OLD_LIBS+=usr/lib/pam_echo.so.4 +OLD_LIBS+=usr/lib/pam_exec.so.4 +OLD_LIBS+=usr/lib/pam_ftpusers.so.4 +OLD_LIBS+=usr/lib/pam_group.so.4 +OLD_LIBS+=usr/lib/pam_guest.so.4 +OLD_LIBS+=usr/lib/pam_krb5.so.4 +OLD_LIBS+=usr/lib/pam_ksu.so.4 +OLD_LIBS+=usr/lib/pam_lastlog.so.4 +OLD_LIBS+=usr/lib/pam_login_access.so.4 +OLD_LIBS+=usr/lib/pam_nologin.so.4 +OLD_LIBS+=usr/lib/pam_opie.so.4 +OLD_LIBS+=usr/lib/pam_opieaccess.so.4 +OLD_LIBS+=usr/lib/pam_passwdqc.so.4 +OLD_LIBS+=usr/lib/pam_permit.so.4 +OLD_LIBS+=usr/lib/pam_radius.so.4 +OLD_LIBS+=usr/lib/pam_rhosts.so.4 +OLD_LIBS+=usr/lib/pam_rootok.so.4 +OLD_LIBS+=usr/lib/pam_securetty.so.4 +OLD_LIBS+=usr/lib/pam_self.so.4 +OLD_LIBS+=usr/lib/pam_ssh.so.4 +OLD_LIBS+=usr/lib/pam_tacplus.so.4 +OLD_LIBS+=usr/lib/pam_unix.so.4 +OLD_LIBS+=usr/lib/snmp_atm.so.5 +OLD_LIBS+=usr/lib/snmp_bridge.so.5 +OLD_LIBS+=usr/lib/snmp_hostres.so.5 +OLD_LIBS+=usr/lib/snmp_mibII.so.5 +OLD_LIBS+=usr/lib/snmp_netgraph.so.5 +OLD_LIBS+=usr/lib/snmp_pf.so.5 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libalias.so.6 +OLD_LIBS+=usr/lib32/libarchive.so.4 +OLD_LIBS+=usr/lib32/libauditd.so.4 +OLD_LIBS+=usr/lib32/libavl.so.1 +OLD_LIBS+=usr/lib32/libbegemot.so.3 +OLD_LIBS+=usr/lib32/libbluetooth.so.3 +OLD_LIBS+=usr/lib32/libbsdxml.so.3 +OLD_LIBS+=usr/lib32/libbsm.so.2 +OLD_LIBS+=usr/lib32/libbsnmp.so.4 +OLD_LIBS+=usr/lib32/libbz2.so.3 +OLD_LIBS+=usr/lib32/libcalendar.so.4 +OLD_LIBS+=usr/lib32/libcam.so.4 +OLD_LIBS+=usr/lib32/libcom_err.so.4 +OLD_LIBS+=usr/lib32/libcrypt.so.4 +OLD_LIBS+=usr/lib32/libcrypto.so.5 +OLD_LIBS+=usr/lib32/libctf.so.1 +OLD_LIBS+=usr/lib32/libdevinfo.so.4 +OLD_LIBS+=usr/lib32/libdevstat.so.6 +OLD_LIBS+=usr/lib32/libdialog.so.6 +OLD_LIBS+=usr/lib32/libdtrace.so.1 +OLD_LIBS+=usr/lib32/libdwarf.so.1 +OLD_LIBS+=usr/lib32/libedit.so.6 +OLD_LIBS+=usr/lib32/libfetch.so.5 +OLD_LIBS+=usr/lib32/libform.so.4 +OLD_LIBS+=usr/lib32/libformw.so.4 +OLD_LIBS+=usr/lib32/libftpio.so.7 +OLD_LIBS+=usr/lib32/libgeom.so.4 +OLD_LIBS+=usr/lib32/libgnuregex.so.4 +OLD_LIBS+=usr/lib32/libgpib.so.2 +OLD_LIBS+=usr/lib32/libhistory.so.7 +OLD_LIBS+=usr/lib32/libipsec.so.3 +OLD_LIBS+=usr/lib32/libipx.so.4 +OLD_LIBS+=usr/lib32/libkiconv.so.3 +OLD_LIBS+=usr/lib32/libkvm.so.4 +OLD_LIBS+=usr/lib32/libmagic.so.3 +OLD_LIBS+=usr/lib32/libmd.so.4 +OLD_LIBS+=usr/lib32/libmemstat.so.2 +OLD_LIBS+=usr/lib32/libmenu.so.4 +OLD_LIBS+=usr/lib32/libmenuw.so.4 +OLD_LIBS+=usr/lib32/libmilter.so.4 +OLD_LIBS+=usr/lib32/libncp.so.3 +OLD_LIBS+=usr/lib32/libncurses.so.7 +OLD_LIBS+=usr/lib32/libncursesw.so.7 +OLD_LIBS+=usr/lib32/libnetgraph.so.3 +OLD_LIBS+=usr/lib32/libngatm.so.3 +OLD_LIBS+=usr/lib32/libnvpair.so.1 +OLD_LIBS+=usr/lib32/libobjc.so.3 +OLD_LIBS+=usr/lib32/libopie.so.5 +OLD_LIBS+=usr/lib32/libpam.so.4 +OLD_LIBS+=usr/lib32/libpanel.so.4 +OLD_LIBS+=usr/lib32/libpanelw.so.4 +OLD_LIBS+=usr/lib32/libpcap.so.6 +OLD_LIBS+=usr/lib32/libpmc.so.4 +OLD_LIBS+=usr/lib32/libproc.so.1 +OLD_LIBS+=usr/lib32/libradius.so.3 +OLD_LIBS+=usr/lib32/libreadline.so.7 +OLD_LIBS+=usr/lib32/librpcsvc.so.4 +OLD_LIBS+=usr/lib32/libsbuf.so.4 +OLD_LIBS+=usr/lib32/libsdp.so.3 +OLD_LIBS+=usr/lib32/libsmb.so.3 +OLD_LIBS+=usr/lib32/libssh.so.4 +OLD_LIBS+=usr/lib32/libssl.so.5 +OLD_LIBS+=usr/lib32/libtacplus.so.3 +OLD_LIBS+=usr/lib32/libufs.so.4 +OLD_LIBS+=usr/lib32/libugidfw.so.3 +OLD_LIBS+=usr/lib32/libumem.so.1 +OLD_LIBS+=usr/lib32/libusb.so.1 +OLD_LIBS+=usr/lib32/libusbhid.so.3 +OLD_LIBS+=usr/lib32/libutil.so.7 +OLD_LIBS+=usr/lib32/libuutil.so.1 +OLD_LIBS+=usr/lib32/libvgl.so.5 +OLD_LIBS+=usr/lib32/libwrap.so.5 +OLD_LIBS+=usr/lib32/libypclnt.so.3 +OLD_LIBS+=usr/lib32/libz.so.4 +OLD_LIBS+=usr/lib32/libzfs.so.1 +OLD_LIBS+=usr/lib32/libzpool.so.1 +OLD_LIBS+=usr/lib32/pam_chroot.so.4 +OLD_LIBS+=usr/lib32/pam_deny.so.4 +OLD_LIBS+=usr/lib32/pam_echo.so.4 +OLD_LIBS+=usr/lib32/pam_exec.so.4 +OLD_LIBS+=usr/lib32/pam_ftpusers.so.4 +OLD_LIBS+=usr/lib32/pam_group.so.4 +OLD_LIBS+=usr/lib32/pam_guest.so.4 +OLD_LIBS+=usr/lib32/pam_krb5.so.4 +OLD_LIBS+=usr/lib32/pam_ksu.so.4 +OLD_LIBS+=usr/lib32/pam_lastlog.so.4 +OLD_LIBS+=usr/lib32/pam_login_access.so.4 +OLD_LIBS+=usr/lib32/pam_nologin.so.4 +OLD_LIBS+=usr/lib32/pam_opie.so.4 +OLD_LIBS+=usr/lib32/pam_opieaccess.so.4 +OLD_LIBS+=usr/lib32/pam_passwdqc.so.4 +OLD_LIBS+=usr/lib32/pam_permit.so.4 +OLD_LIBS+=usr/lib32/pam_radius.so.4 +OLD_LIBS+=usr/lib32/pam_rhosts.so.4 +OLD_LIBS+=usr/lib32/pam_rootok.so.4 +OLD_LIBS+=usr/lib32/pam_securetty.so.4 +OLD_LIBS+=usr/lib32/pam_self.so.4 +OLD_LIBS+=usr/lib32/pam_ssh.so.4 +OLD_LIBS+=usr/lib32/pam_tacplus.so.4 +OLD_LIBS+=usr/lib32/pam_unix.so.4 +.endif +# 20090718: the gdm pam.d file is no longer required. +OLD_FILES+=etc/pam.d/gdm +# 20090713: vimage container structs removed. +OLD_FILES+=usr/include/netinet/vinet.h +OLD_FILES+=usr/include/netinet6/vinet6.h +OLD_FILES+=usr/include/netipsec/vipsec.h +# 20090709: msgctl.3 msgget.3 msgrcv.3 msgsnd.3 manual pages moved +OLD_FILES+=usr/share/man/man3/msgctl.3.gz +OLD_FILES+=usr/share/man/man3/msgget.3.gz +OLD_FILES+=usr/share/man/man3/msgrcv.3.gz +OLD_FILES+=usr/share/man/man3/msgsnd.3.gz +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h +# 20090624: update usbdi(9) +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -58,7 +341,7 @@ OLD_DIRS+=usr/include/legacy/dev/usb OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd Modified: projects/tcp_ffcaia2008_8.x/UPDATING ============================================================================== --- projects/tcp_ffcaia2008_8.x/UPDATING Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/UPDATING Mon Jul 20 10:27:47 2009 (r195780) @@ -22,6 +22,53 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090719: + Bump the shared library version numbers for all libraries that + do not use symbol versioning as part of the 8.0-RELEASE cycle. + Bump __FreeBSD_version to 800105. + +20090714: + Due to changes in the implementation of virtual network stack + support, all network-related kernel modules must be recompiled. + As this change breaks the ABI, bump __FreeBSD_version to 800104. + +20090713: + The TOE interface to the TCP syncache has been modified to remove struct + tcpopt () from the ABI of the network stack. The + cxgb driver is the only TOE consumer affected by this change, and needs + to be recompiled along with the kernel. As this change breaks the ABI, + bump __FreeBSD_version to 800103. + +20090712: + Padding has been added to struct tcpcb, sackhint and tcpstat in + to facilitate future MFCs and bug fixes whilst + maintainig the ABI. However, this change breaks the ABI, so bump + __FreeBSD_version to 800102. User space tools that rely on the size of + any of these structs (e.g. sockstat) need to be recompiled. + +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + 20090622: Layout of struct vnet has changed as routing related variables were moved to their own Vimage module. Modules need to be @@ -80,12 +127,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. rebuilt. Bump __FreeBSD_version to 800096. -20090531: - For those who use ipfw and especially pf, those two firewalls - are now started BEFORE the network is initialized (i.e., before - rc.d/netif). Please review your rules to make sure that your - interfaces will be properly described. - 20090530: Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no more valid. Modified: projects/tcp_ffcaia2008_8.x/bin/chmod/chmod.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/chmod/chmod.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/chmod/chmod.c Mon Jul 20 10:27:47 2009 (r195780) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ done: argv += optind; break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -219,3 +226,24 @@ usage(void) "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} Modified: projects/tcp_ffcaia2008_8.x/bin/ln/ln.1 ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/ln/ln.1 Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/ln/ln.1 Mon Jul 20 10:27:47 2009 (r195780) @@ -32,7 +32,7 @@ .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 .\" $FreeBSD$ .\" -.Dd June 6, 2008 +.Dd July 17, 2009 .Dt LN 1 .Os .Sh NAME @@ -41,13 +41,13 @@ .Nd link files .Sh SYNOPSIS .Nm -.Op Fl s Op Fl F +.Op Fl L | Fl P | Fl s Op Fl F .Op Fl f | iw .Op Fl hnv .Ar source_file .Op Ar target_file .Nm -.Op Fl s Op Fl F +.Op Fl L | Fl P | Fl s Op Fl F .Op Fl f | iw .Op Fl hnv .Ar source_file ... @@ -77,16 +77,6 @@ to a file is one of the differences betw .Pp The options are as follows: .Bl -tag -width flag -.It Fl f -If the target file already exists, -then unlink it so that the link may occur. -(The -.Fl f -option overrides any previous -.Fl i -and -.Fl w -options.) .It Fl F If the target file already exists and is a directory, then remove it so that the link may occur. @@ -105,6 +95,29 @@ The option is a no-op unless .Fl s option is specified. +.It Fl L +When creating a hard link to a symbolic link, +create a hard link to the target of the symbolic link. +This is the default. +This option cancels the +.Fl P +option. +.It Fl P +When creating a hard link to a symbolic link, +create a hard link to the symbolic link itself. +This option cancels the +.Fl L +option. +.It Fl f +If the target file already exists, +then unlink it so that the link may occur. +(The +.Fl f +option overrides any previous +.Fl i +and +.Fl w +options.) .It Fl h If the .Ar target_file Modified: projects/tcp_ffcaia2008_8.x/bin/ln/ln.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/ln/ln.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/ln/ln.c Mon Jul 20 10:27:47 2009 (r195780) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -56,12 +57,11 @@ int fflag; /* Unlink existing files. int Fflag; /* Remove empty directories also. */ int hflag; /* Check new name for symlink first. */ int iflag; /* Interactive mode. */ +int Pflag; /* Create hard links to symlinks. */ int sflag; /* Symbolic, not hard, link. */ int vflag; /* Verbose output. */ int wflag; /* Warn if symlink target does not * exist, and -f is not enabled. */ - /* System link call. */ -int (*linkf)(const char *, const char *); char linkch; int linkit(const char *, const char *, int); @@ -90,15 +90,20 @@ main(int argc, char *argv[]) argv += optind; if (argc != 2) usage(); - linkf = link; exit(linkit(argv[0], argv[1], 0)); } - while ((ch = getopt(argc, argv, "Ffhinsvw")) != -1) + while ((ch = getopt(argc, argv, "FLPfhinsvw")) != -1) switch (ch) { case 'F': Fflag = 1; break; + case 'L': + Pflag = 0; + break; + case 'P': + Pflag = 1; + break; case 'f': fflag = 1; iflag = 0; @@ -129,7 +134,6 @@ main(int argc, char *argv[]) argv += optind; argc -= optind; - linkf = sflag ? symlink : link; linkch = sflag ? '-' : '='; if (sflag == 0) Fflag = 0; @@ -179,7 +183,7 @@ linkit(const char *source, const char *t if (!sflag) { /* If source doesn't exist, quit now. */ - if (stat(source, &sb)) { + if ((Pflag ? lstat : stat)(source, &sb)) { warn("%s", source); return (1); } @@ -276,7 +280,9 @@ linkit(const char *source, const char *t } /* Attempt the link. */ - if ((*linkf)(source, target)) { + if (sflag ? symlink(source, target) : + linkat(AT_FDCWD, source, AT_FDCWD, target, + Pflag ? 0 : AT_SYMLINK_FOLLOW)) { warn("%s", target); return (1); } @@ -289,8 +295,8 @@ void usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n", - "usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]", - " ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir", + "usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file]", + " ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir", " link source_file target_file"); exit(1); } Modified: projects/tcp_ffcaia2008_8.x/bin/ps/ps.1 ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/ps/ps.1 Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/ps/ps.1 Mon Jul 20 10:27:47 2009 (r195780) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd May 16, 2009 +.Dd July 9, 2009 .Dt PS 1 .Os .Sh NAME @@ -637,6 +637,7 @@ the mount point of .Xr kill 1 , .Xr pgrep 1 , .Xr pkill 1 , +.Xr procstat 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , Modified: projects/tcp_ffcaia2008_8.x/bin/sh/exec.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/sh/exec.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/sh/exec.c Mon Jul 20 10:27:47 2009 (r195780) @@ -756,6 +756,7 @@ typecmd_impl(int argc, char **argv, int if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { entry.cmdtype = cmdp->cmdtype; entry.u = cmdp->param; + entry.special = cmdp->special; } else { /* Finally use brute force */ @@ -804,6 +805,9 @@ typecmd_impl(int argc, char **argv, int case CMDBUILTIN: if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); + else if (entry.special) + out1fmt("%s is a special shell builtin\n", + argv[i]); else out1fmt("%s is a shell builtin\n", argv[i]); break; Modified: projects/tcp_ffcaia2008_8.x/bin/sh/expand.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/sh/expand.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/sh/expand.c Mon Jul 20 10:27:47 2009 (r195780) @@ -82,7 +82,7 @@ struct ifsregion { struct ifsregion *next; /* next region in list */ int begoff; /* offset of start of region */ int endoff; /* offset of end of region */ - int nulonly; /* search for nul bytes only */ + int inquotes; /* search for nul bytes only */ }; @@ -936,13 +936,19 @@ numvar: */ STATIC void -recordregion(int start, int end, int nulonly) +recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; if (ifslastp == NULL) { ifsp = &ifsfirst; } else { + if (ifslastp->endoff == start + && ifslastp->inquotes == inquotes) { + /* extend previous area */ + ifslastp->endoff = end; + return; + } ifsp = (struct ifsregion *)ckmalloc(sizeof (struct ifsregion)); ifslastp->next = ifsp; } @@ -950,7 +956,7 @@ recordregion(int start, int end, int nul ifslastp->next = NULL; ifslastp->begoff = start; ifslastp->endoff = end; - ifslastp->nulonly = nulonly; + ifslastp->inquotes = inquotes; } @@ -969,75 +975,89 @@ ifsbreakup(char *string, struct arglist char *p; char *q; char *ifs; - int ifsspc; - int nulonly; - + const char *ifsspc; + int had_param_ch = 0; start = string; - ifsspc = 0; - nulonly = 0; - if (ifslastp != NULL) { - ifsp = &ifsfirst; - do { - p = string + ifsp->begoff; - nulonly = ifsp->nulonly; - ifs = nulonly ? nullstr : - ( ifsset() ? ifsval() : " \t\n" ); - ifsspc = 0; - while (p < string + ifsp->endoff) { - q = p; - if (*p == CTLESC) + + if (ifslastp == NULL) { + /* Return entire argument, IFS doesn't apply to any of it */ + sp = (struct strlist *)stalloc(sizeof *sp); + sp->text = start; + *arglist->lastp = sp; + arglist->lastp = &sp->next; + return; + } + + ifs = ifsset() ? ifsval() : " \t\n"; + + for (ifsp = &ifsfirst; ifsp != NULL; ifsp = ifsp->next) { + p = string + ifsp->begoff; + while (p < string + ifsp->endoff) { + q = p; + if (*p == CTLESC) + p++; + if (ifsp->inquotes) { + /* Only NULs (should be from "$@") end args */ + had_param_ch = 1; + if (*p != 0) { p++; - if (strchr(ifs, *p)) { - if (!nulonly) - ifsspc = (strchr(" \t\n", *p) != NULL); - /* Ignore IFS whitespace at start */ - if (q == start && ifsspc) { - p++; - start = p; - continue; - } - *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + continue; + } + ifsspc = NULL; + } else { + if (!strchr(ifs, *p)) { + had_param_ch = 1; p++; - if (!nulonly) { - for (;;) { - if (p >= string + ifsp->endoff) { - break; - } - q = p; - if (*p == CTLESC) - p++; - if (strchr(ifs, *p) == NULL ) { - p = q; - break; - } else if (strchr(" \t\n",*p) == NULL) { - if (ifsspc) { - p++; - ifsspc = 0; - } else { - p = q; - break; - } - } else - p++; - } - } - start = p; - } else + continue; + } + ifsspc = strchr(" \t\n", *p); + + /* Ignore IFS whitespace at start */ + if (q == start && ifsspc != NULL) { p++; + start = p; + continue; + } + had_param_ch = 0; } - } while ((ifsp = ifsp->next) != NULL); - if (*start || (!ifsspc && start > string)) { + + /* Save this argument... */ + *q = '\0'; sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; arglist->lastp = &sp->next; + p++; + + if (ifsspc != NULL) { + /* Ignore further trailing IFS whitespace */ + for (; p < string + ifsp->endoff; p++) { + q = p; + if (*p == CTLESC) + p++; + if (strchr(ifs, *p) == NULL) { + p = q; + break; + } + if (strchr(" \t\n", *p) == NULL) { + p++; + break; + } + } + } + start = p; } - } else { + } + + /* + * Save anything left as an argument. + * Traditionally we have treated 'IFS=':'; set -- x$IFS' as + * generating 2 arguments, the second of which is empty. + * Some recent clarification of the Posix spec say that it + * should only generate one.... + */ + if (had_param_ch || *start != 0) { sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; Modified: projects/tcp_ffcaia2008_8.x/bin/sh/sh.1 ============================================================================== --- projects/tcp_ffcaia2008_8.x/bin/sh/sh.1 Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/bin/sh/sh.1 Mon Jul 20 10:27:47 2009 (r195780) @@ -606,6 +606,12 @@ This all occurs within the current shell .Pp Shell built-in commands are executed internally to the shell, without spawning a new process. +There are two kinds of built-in commands: regular and special. +Assignments before special builtins persist after they finish +executing and assignment errors, redirection errors and certain +operand errors cause a script to be aborted. +Both regular and special builtins can affect the shell in ways +normal programs cannot. .Pp Otherwise, if the command name does not match a function or built-in command, the command is searched for as a normal @@ -885,7 +891,7 @@ loops. The .Ic continue command continues with the next iteration of the innermost loop. -These are implemented as built-in commands. +These are implemented as special built-in commands. .Pp The syntax of the .Ic case @@ -1001,7 +1007,7 @@ It terminates the current executional sc nested function, sourced script, or shell instance, in that order. The .Ic return -command is implemented as a built-in command. +command is implemented as a special built-in command. .Ss Variables and Parameters The shell maintains a set of parameters. A parameter @@ -1590,6 +1596,7 @@ where is either the path name to .Ar utility , +a special shell builtin, a shell builtin, a shell function, a shell keyword @@ -2114,7 +2121,8 @@ Interpret each .Ar name as a command and print the resolution of the command search. Possible resolutions are: -shell keyword, alias, shell built-in command, command, tracked alias +shell keyword, alias, special shell builtin, shell builtin, command, +tracked alias and not found. For aliases the alias expansion is printed; for commands and tracked aliases Modified: projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/head/thread.h ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/head/thread.h Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/head/thread.h Mon Jul 20 10:27:47 2009 (r195780) @@ -53,7 +53,6 @@ typedef pthread_rwlock_t rwlock_t; #define mutex_lock(l) pthread_mutex_lock(l) #define mutex_trylock(l) pthread_mutex_trylock(l) #define mutex_unlock(l) pthread_mutex_unlock(l) -#define mutex_owned(l) pthread_mutex_isowned_np(l) #define rwlock_init(l,f,a) pthread_rwlock_init(l,NULL) #define rwlock_destroy(l) pthread_rwlock_destroy(l) #define rw_rdlock(l) pthread_rwlock_rdlock(l) Modified: projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Mon Jul 20 10:27:47 2009 (r195780) @@ -115,6 +115,14 @@ zmutex_destroy(kmutex_t *mp) mp->initialized = B_FALSE; } +int +zmutex_owned(kmutex_t *mp) +{ + ASSERT(mp->initialized == B_TRUE); + + return (mp->m_owner == curthread); +} + void mutex_enter(kmutex_t *mp) { Modified: projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h Mon Jul 20 10:27:47 2009 (r195780) @@ -237,9 +237,11 @@ typedef struct kmutex { #define mutex_init(mp, b, c, d) zmutex_init((kmutex_t *)(mp)) #define mutex_destroy(mp) zmutex_destroy((kmutex_t *)(mp)) +#define mutex_owned(mp) zmutex_owned((kmutex_t *)(mp)) extern void zmutex_init(kmutex_t *mp); extern void zmutex_destroy(kmutex_t *mp); +extern int zmutex_owned(kmutex_t *mp); extern void mutex_enter(kmutex_t *mp); extern void mutex_exit(kmutex_t *mp); extern int mutex_tryenter(kmutex_t *mp); Modified: projects/tcp_ffcaia2008_8.x/cddl/lib/Makefile.inc ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/lib/Makefile.inc Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/lib/Makefile.inc Mon Jul 20 10:27:47 2009 (r195780) @@ -1,6 +1,6 @@ # $FreeBSD$ SHLIBDIR?= /lib -SHLIB_MAJOR?= 1 +SHLIB_MAJOR?= 2 .include "../Makefile.inc" Modified: projects/tcp_ffcaia2008_8.x/cddl/lib/libctf/Makefile ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/lib/libctf/Makefile Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/lib/libctf/Makefile Mon Jul 20 10:27:47 2009 (r195780) @@ -3,7 +3,7 @@ .include "../../Makefile.inc" LIB= ctf -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= ctf_create.c \ ctf_decl.c \ Modified: projects/tcp_ffcaia2008_8.x/cddl/lib/libdtrace/Makefile ============================================================================== --- projects/tcp_ffcaia2008_8.x/cddl/lib/libdtrace/Makefile Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/cddl/lib/libdtrace/Makefile Mon Jul 20 10:27:47 2009 (r195780) @@ -3,7 +3,7 @@ .include "../../Makefile.inc" LIB= dtrace -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 WARNS= 1 Modified: projects/tcp_ffcaia2008_8.x/contrib/amd/amd/get_args.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/contrib/amd/amd/get_args.c Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/contrib/amd/amd/get_args.c Mon Jul 20 10:27:47 2009 (r195780) @@ -96,8 +96,8 @@ get_version_string(void) xsnprintf(tmpbuf, sizeof(tmpbuf), "Configured by %s@%s on date %s.\n", USER_NAME, HOST_NAME, CONFIG_DATE); strlcat(vers, tmpbuf, len); - xsnprintf(tmpbuf, sizeof(tmpbuf), "Built by %s@%s on date %s.\n", - BUILD_USER, BUILD_HOST, BUILD_DATE); + xsnprintf(tmpbuf, sizeof(tmpbuf), "Built by %s@%s.\n", + BUILD_USER, BUILD_HOST); strlcat(vers, tmpbuf, len); xsnprintf(tmpbuf, sizeof(tmpbuf), "cpu=%s (%s-endian), arch=%s, karch=%s.\n", cpu, endian, gopt.arch, gopt.karch); Modified: projects/tcp_ffcaia2008_8.x/contrib/bind9/CHANGES ============================================================================== --- projects/tcp_ffcaia2008_8.x/contrib/bind9/CHANGES Mon Jul 20 07:53:07 2009 (r195779) +++ projects/tcp_ffcaia2008_8.x/contrib/bind9/CHANGES Mon Jul 20 10:27:47 2009 (r195780) @@ -1,4 +1,23 @@ + --- 9.6.1 released --- + +2607. [bug] named could incorrectly delete NSEC3 records for + empty nodes when processing a update request. + [RT #19749] + +2606. [bug] "delegation-only" was not being accepted in + delegation-only type zones. [RT #19717] + +2605. [bug] Accept DS responses from delegation only zones. + [RT # 19296] + +2603. [port] win32: handle .exe extension of named-checkzone and *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jul 20 11:17:55 2009 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 2380D1065747; Mon, 20 Jul 2009 11:17:55 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EFA3C8FC1F; Mon, 20 Jul 2009 11:17:54 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6KBHsWw076649; Mon, 20 Jul 2009 11:17:54 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6KBHsjm076646; Mon, 20 Jul 2009 11:17:54 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907201117.n6KBHsjm076646@svn.freebsd.org> From: Stanislav Sedov Date: Mon, 20 Jul 2009 11:17:54 +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: r195781 - projects/libprocstat/usr.bin/fstat 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, 20 Jul 2009 11:18:16 -0000 Author: stas Date: Mon Jul 20 11:17:54 2009 New Revision: 195781 URL: http://svn.freebsd.org/changeset/base/195781 Log: - Add sysctl-based access routines (unfinished). Modified: projects/libprocstat/usr.bin/fstat/Makefile projects/libprocstat/usr.bin/fstat/libprocstat.c projects/libprocstat/usr.bin/fstat/libprocstat.h Modified: projects/libprocstat/usr.bin/fstat/Makefile ============================================================================== --- projects/libprocstat/usr.bin/fstat/Makefile Mon Jul 20 10:27:47 2009 (r195780) +++ projects/libprocstat/usr.bin/fstat/Makefile Mon Jul 20 11:17:54 2009 (r195781) @@ -8,7 +8,7 @@ SRCS= cd9660.c common_kvm.c fstat.c fuse LINKS= ${BINDIR}/fstat ${BINDIR}/fuser DPADD= ${LIBKVM} LDADD= -lkvm -lutil -WARNS?= 3 +WARNS?= 6 MAN1= fuser.1 fstat.1 Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.c Mon Jul 20 10:27:47 2009 (r195780) +++ projects/libprocstat/usr.bin/fstat/libprocstat.c Mon Jul 20 11:17:54 2009 (r195781) @@ -95,24 +95,45 @@ __FBSDID("$FreeBSD$"); #include "libprocstat.h" #include "common_kvm.h" +int statfs(const char *, struct statfs *); /* XXX */ + /* * Vnode-to-filestat types translation table. */ static struct { - int vtype; - int fst_vtype; + int vtype; + int fst_vtype; } vt2fst[] = { - { VNON, PS_FST_VTYPE_VNON }, - { VREG, PS_FST_VTYPE_VREG }, - { VDIR, PS_FST_VTYPE_VDIR }, - { VBLK, PS_FST_VTYPE_VBLK }, - { VCHR, PS_FST_VTYPE_VCHR }, - { VLNK, PS_FST_VTYPE_VLNK }, - { VSOCK, PS_FST_VTYPE_VSOCK }, - { VFIFO, PS_FST_VTYPE_VFIFO }, - { VBAD, PS_FST_VTYPE_VBAD } + { VNON, PS_FST_VTYPE_VNON }, + { VREG, PS_FST_VTYPE_VREG }, + { VDIR, PS_FST_VTYPE_VDIR }, + { VBLK, PS_FST_VTYPE_VBLK }, + { VCHR, PS_FST_VTYPE_VCHR }, + { VLNK, PS_FST_VTYPE_VLNK }, + { VSOCK, PS_FST_VTYPE_VSOCK }, + { VFIFO, PS_FST_VTYPE_VFIFO }, + { VBAD, PS_FST_VTYPE_VBAD } +}; +#define NVFTYPES (sizeof(vt2fst) / sizeof(*vt2fst)) + +/* + * kinfo tof ilestat vnode types translation table. + */ +static struct { + int kf_vtype; + int fst_vtype; +} kfvtypes2fst[] = { + { KF_VTYPE_VNON, PS_FST_VTYPE_VNON }, + { KF_VTYPE_VREG, PS_FST_VTYPE_VREG }, + { KF_VTYPE_VDIR, PS_FST_VTYPE_VDIR }, + { KF_VTYPE_VBLK, PS_FST_VTYPE_VBLK }, + { KF_VTYPE_VCHR, PS_FST_VTYPE_VCHR }, + { KF_VTYPE_VLNK, PS_FST_VTYPE_VLNK }, + { KF_VTYPE_VSOCK, PS_FST_VTYPE_VSOCK }, + { KF_VTYPE_VFIFO, PS_FST_VTYPE_VFIFO }, + { KF_VTYPE_VBAD, PS_FST_VTYPE_VBAD } }; -#define NVFTYPES (sizeof(vt2fst) / sizeof(*vt2fst)) +#define NKFVTYPES (sizeof(kfvtypes2fst) / sizeof(*kfvtypes2fst)) /* * Descriptor-to-filestat flags translation table. @@ -139,6 +160,47 @@ static struct { #define NFSTFLAGS (sizeof(fstflags) / sizeof(*fstflags)) /* + * kinfo types to filestat translation table. + */ +static struct { + int kf_type; + int fst_type; +} kftypes2fst[] = { + { KF_TYPE_NONE, PS_FST_TYPE_NONE }, + { KF_TYPE_VNODE, PS_FST_TYPE_VNODE }, + { KF_TYPE_SOCKET, PS_FST_TYPE_SOCKET }, + { KF_TYPE_PIPE, PS_FST_TYPE_PIPE }, + { KF_TYPE_FIFO, PS_FST_TYPE_FIFO }, + { KF_TYPE_KQUEUE, PS_FST_TYPE_KQUEUE }, + { KF_TYPE_CRYPTO, PS_FST_TYPE_CRYPTO }, + { KF_TYPE_MQUEUE, PS_FST_TYPE_MQUEUE }, + { KF_TYPE_SHM, PS_FST_TYPE_SHM }, + { KF_TYPE_SEM, PS_FST_TYPE_SEM }, + { KF_TYPE_PTS, PS_FST_TYPE_PTS }, + { KF_TYPE_UNKNOWN, PS_FST_TYPE_UNKNOWN } +}; +#define NKFTYPES (sizeof(kftypes2fst) / sizeof(*kftypes2fst)) + +/* + * kinfo flags to filestat translation table. + */ +static struct { + int kf_flag; + int fst_flag; +} kfflags2fst[] = { + { KF_FLAG_READ, PS_FST_FFLAG_READ }, + { KF_FLAG_WRITE, PS_FST_FFLAG_WRITE }, + { KF_FLAG_NONBLOCK, PS_FST_FFLAG_NONBLOCK }, + { KF_FLAG_APPEND, PS_FST_FFLAG_APPEND }, + { KF_FLAG_HASLOCK, PS_FST_FFLAG_SHLOCK }, /* XXX: which lock? */ + { KF_FLAG_ASYNC, PS_FST_FFLAG_ASYNC }, + { KF_FLAG_FSYNC, PS_FST_FFLAG_SYNC }, + { KF_FLAG_DIRECT, PS_FST_FFLAG_DIRECT }, + /* XXX: other types? */ +}; +#define NKFFLAGS (sizeof(kfflags2fst) / sizeof(*kfflags2fst)) + +/* * Filesystem specific handlers. */ #define FSTYPE(fst) {#fst, fst##_filestat} @@ -306,7 +368,7 @@ procstat_getfiles(struct procstat *procs } static struct filestat * -filestat_new_entry(struct vnode *vp, int type, int fd, int fflags, int uflags) +filestat_new_entry(void *typedep, int type, int fd, int fflags, int uflags) { struct filestat *entry; @@ -315,7 +377,7 @@ filestat_new_entry(struct vnode *vp, int warn("malloc()"); return (NULL); } - entry->fs_typedep = vp; + entry->fs_typedep = typedep; entry->fs_fflags = fflags; entry->fs_uflags = uflags; entry->fs_fd = fd; @@ -512,10 +574,95 @@ exit: return (head); } +static int +kinfo_type2fst(int kftype) +{ + unsigned int i; + + for (i = 0; i < NKFTYPES; i++) + if (kftypes2fst[i].kf_type == kftype) + break; + if (i == NKFTYPES) + return (PS_FST_TYPE_UNKNOWN); + return (kftypes2fst[i].fst_type); +} + +static int +kinfo_fflags2fst(int kfflags) +{ + unsigned int i; + int flags; + + flags = 0; + for (i = 0; i < NKFFLAGS; i++) + if ((kfflags & kfflags2fst[i].kf_flag) != 0) + flags |= kfflags2fst[i].fst_flag; + return (flags); +} + +static int +kinfo_uflags2fst(int fd) +{ + switch (fd) { + case KF_FD_TYPE_CWD: + return (PS_FST_UFLAG_CDIR); + case KF_FD_TYPE_ROOT: + return (PS_FST_UFLAG_RDIR); + case KF_FD_TYPE_JAIL: + return (PS_FST_UFLAG_JAIL); +#if 0 + case KF_FD_TYPE_TRACE: + return (PS_FST_UFLAG_TRACE); + case KF_FD_TYPE_TEXT: + return (PS_FST_UFLAG_TEXT); +#endif + } + return (0); +} + static struct filestat_list * -procstat_getfiles_sysctl(struct kinfo_proc *kp __unused, int mmapped) +procstat_getfiles_sysctl(struct kinfo_proc *kp, int mmapped __unused) { - return (NULL); + struct kinfo_file *kif, *files; + struct filestat_list *head; + int fd, fflags, uflags, type; + struct filestat *entry; + int cnt, i; + + assert(kp); + + if (kp->ki_fd == NULL) + return (NULL); + + files = kinfo_getfile(kp->ki_pid, &cnt); + if (files == NULL) { + warn("kinfo_getfile()"); + return (NULL); + } + + /* + * Allocate list head. + */ + head = malloc(sizeof(*head)); + if (head == NULL) + return (NULL); + STAILQ_INIT(head); + for (i = 0; i < cnt; i++) { + kif = &files[i]; + + type = kinfo_type2fst(kif->kf_type); + fd = kif->kf_fd >= 0 ? kif->kf_fd : -1; + fflags = kinfo_fflags2fst(kif->kf_flags); + uflags = kinfo_uflags2fst(kif->kf_fd); + + /* + * Create filestat entry. + */ + entry = filestat_new_entry(kif, type, fd, fflags, uflags); + if (entry != NULL) + STAILQ_INSERT_TAIL(head, entry, next); + } + return (head); } int @@ -565,8 +712,8 @@ fail: } static int -procstat_get_pipe_info_sysctl(struct filestat *fst, struct pipestat *ps, - char *errbuf) +procstat_get_pipe_info_sysctl(struct filestat *fst __unused, struct pipestat *ps __unused, + char *errbuf __unused) { warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); @@ -620,8 +767,8 @@ fail: } static int -procstat_get_pts_info_sysctl(struct filestat *fst, struct ptsstat *pts, - char *errbuf) +procstat_get_pts_info_sysctl(struct filestat *fst __unused, struct ptsstat *pts __unused, + char *errbuf __unused) { warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); @@ -711,13 +858,56 @@ fail: } static int +kinfo_vtype2fst(int kfvtype) +{ + unsigned int i; + + for (i = 0; i < NKFVTYPES; i++) + if (kfvtypes2fst[i].kf_vtype == kfvtype) + break; + if (i == NKFVTYPES) + return (PS_FST_VTYPE_UNKNOWN); + return (kfvtypes2fst[i].fst_vtype); +} + +static int procstat_get_vnode_info_sysctl(struct filestat *fst, struct vnstat *vn, - char *errbuf) + char *errbuf __unused) { + struct kinfo_file *kif; + struct statfs stbuf; + char *name; - warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); - return (1); + assert(fst); + assert(vn); + kif = fst->fs_typedep; + if (kif == NULL) + return (1); + bzero(vn, sizeof(*vn)); + vn->vn_type = kinfo_vtype2fst(kif->kf_vnode_type); + if (vn->vn_type == PS_FST_VTYPE_VNON || + vn->vn_type == PS_FST_VTYPE_VBAD || + (kif->kf_status & KF_ATTR_VALID) == 0) + return (0); + if (kif->kf_path && *kif->kf_path) { + statfs(kif->kf_path, &stbuf); + vn->mntdir = strdup(stbuf.f_mntonname); + } + vn->vn_dev = kif->kf_file_rdev; + if (kif->kf_vnode_type == KF_VTYPE_VBLK) { + name = devname(vn->vn_dev, S_IFBLK); + if (name != NULL) + strlcpy(vn->vn_devname, name, sizeof(vn->vn_devname)); + } else if (kif->kf_vnode_type == KF_VTYPE_VCHR) { + name = devname(vn->vn_dev, S_IFCHR); + if (name != NULL) + strlcpy(vn->vn_devname, name, sizeof(vn->vn_devname)); + } + vn->vn_fsid = kif->kf_file_fsid; + vn->vn_fileid = kif->kf_file_fileid; + vn->vn_size = kif->kf_file_size; + vn->vn_mode = kif->kf_file_mode; + return (0); } int @@ -836,8 +1026,8 @@ fail: } static int -procstat_get_socket_info_sysctl(struct filestat *fst, struct sockstat *sock, - char *errbuf) +procstat_get_socket_info_sysctl(struct filestat *fst __unused, struct sockstat *sock __unused, + char *errbuf __unused) { warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); Modified: projects/libprocstat/usr.bin/fstat/libprocstat.h ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.h Mon Jul 20 10:27:47 2009 (r195780) +++ projects/libprocstat/usr.bin/fstat/libprocstat.h Mon Jul 20 11:17:54 2009 (r195781) @@ -51,6 +51,13 @@ #define PS_FST_TYPE_SOCKET 3 #define PS_FST_TYPE_PIPE 4 #define PS_FST_TYPE_PTS 5 +#define PS_FST_TYPE_KQUEUE 6 +#define PS_FST_TYPE_CRYPTO 7 +#define PS_FST_TYPE_MQUEUE 8 +#define PS_FST_TYPE_SHM 9 +#define PS_FST_TYPE_SEM 10 +#define PS_FST_TYPE_UNKNOWN 11 +#define PS_FST_TYPE_NONE 12 /* * Special descriptor numbers. From owner-svn-src-projects@FreeBSD.ORG Wed Jul 22 18:25:51 2009 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 809A6106564A; Wed, 22 Jul 2009 18:25:51 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6E6818FC08; Wed, 22 Jul 2009 18:25:51 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6MIPpHj048746; Wed, 22 Jul 2009 18:25:51 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6MIPpGT048740; Wed, 22 Jul 2009 18:25:51 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907221825.n6MIPpGT048740@svn.freebsd.org> From: Lawrence Stewart Date: Wed, 22 Jul 2009 18:25:51 +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: r195826 - projects/tcp_ffcaia2008_8.x/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, 22 Jul 2009 18:25:51 -0000 Author: lstewart Date: Wed Jul 22 18:25:51 2009 New Revision: 195826 URL: http://svn.freebsd.org/changeset/base/195826 Log: Fold struct sackhint into struct tcpcb. Having the details in a separate struct provided no real benefit, and we now have a simplified ABI with respect to struct tcpcb. Sponsored by: FreeBSD Foundation Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_input.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_output.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_usrreq.c projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_var.h Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_input.c Wed Jul 22 18:10:44 2009 (r195825) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_input.c Wed Jul 22 18:25:51 2009 (r195826) @@ -2078,7 +2078,7 @@ tcp_do_segment(struct mbuf *m, struct tc * worth of data in flight. */ awnd = (tp->snd_nxt - tp->snd_fack) + - tp->sackhint.sack_bytes_rexmit; + tp->sack_bytes_rexmit; if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += tp->t_maxseg; if (tp->snd_cwnd > tp->snd_ssthresh) Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_output.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_output.c Wed Jul 22 18:10:44 2009 (r195825) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_output.c Wed Jul 22 18:25:51 2009 (r195826) @@ -953,7 +953,7 @@ send: } else { th->th_seq = htonl(p->rxmit); p->rxmit += len; - tp->sackhint.sack_bytes_rexmit += len; + tp->sack_bytes_rexmit += len; } th->th_ack = htonl(tp->rcv_nxt); if (optlen) { @@ -1209,9 +1209,9 @@ timer: (error != EPERM)) { if (sack_rxmit) { p->rxmit -= len; - tp->sackhint.sack_bytes_rexmit -= len; - KASSERT(tp->sackhint.sack_bytes_rexmit >= 0, - ("sackhint bytes rtx >= 0")); + tp->sack_bytes_rexmit -= len; + KASSERT(tp->sack_bytes_rexmit >= 0, + ("sack bytes rtx >= 0")); } else tp->snd_nxt -= len; } Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c Wed Jul 22 18:10:44 2009 (r195825) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c Wed Jul 22 18:25:51 2009 (r195826) @@ -317,8 +317,8 @@ tcp_sackhole_insert(struct tcpcb *tp, tc TAILQ_INSERT_TAIL(&tp->snd_holes, hole, scblink); /* Update SACK hint. */ - if (tp->sackhint.nexthole == NULL) - tp->sackhint.nexthole = hole; + if (tp->sack_nexthole == NULL) + tp->sack_nexthole = hole; return hole; } @@ -331,8 +331,8 @@ tcp_sackhole_remove(struct tcpcb *tp, st { /* Update SACK hint. */ - if (tp->sackhint.nexthole == hole) - tp->sackhint.nexthole = TAILQ_NEXT(hole, scblink); + if (tp->sack_nexthole == hole) + tp->sack_nexthole = TAILQ_NEXT(hole, scblink); /* Remove this SACK hole. */ TAILQ_REMOVE(&tp->snd_holes, hole, scblink); @@ -482,9 +482,9 @@ tcp_sack_doack(struct tcpcb *tp, struct cur = TAILQ_PREV(cur, sackhole_head, scblink); continue; } - tp->sackhint.sack_bytes_rexmit -= (cur->rxmit - cur->start); - KASSERT(tp->sackhint.sack_bytes_rexmit >= 0, - ("sackhint bytes rtx >= 0")); + tp->sack_bytes_rexmit -= (cur->rxmit - cur->start); + KASSERT(tp->sack_bytes_rexmit >= 0, + ("sack bytes rtx >= 0")); if (SEQ_LEQ(sblkp->start, cur->start)) { /* Data acks at least the beginning of hole. */ if (SEQ_GEQ(sblkp->end, cur->end)) { @@ -519,7 +519,7 @@ tcp_sack_doack(struct tcpcb *tp, struct if (temp != NULL) { if (SEQ_GT(cur->rxmit, temp->rxmit)) { temp->rxmit = cur->rxmit; - tp->sackhint.sack_bytes_rexmit + tp->sack_bytes_rexmit += (temp->rxmit - temp->start); } @@ -529,7 +529,7 @@ tcp_sack_doack(struct tcpcb *tp, struct } } } - tp->sackhint.sack_bytes_rexmit += (cur->rxmit - cur->start); + tp->sack_bytes_rexmit += (cur->rxmit - cur->start); /* * Testing sblkp->start against cur->start tells us whether * we're done with the sack block or the sack hole. @@ -553,11 +553,11 @@ tcp_free_sackholes(struct tcpcb *tp) INP_WLOCK_ASSERT(tp->t_inpcb); while ((q = TAILQ_FIRST(&tp->snd_holes)) != NULL) tcp_sackhole_remove(tp, q); - tp->sackhint.sack_bytes_rexmit = 0; + tp->sack_bytes_rexmit = 0; KASSERT(tp->snd_numholes == 0, ("tp->snd_numholes == 0")); - KASSERT(tp->sackhint.nexthole == NULL, - ("tp->sackhint.nexthole == NULL")); + KASSERT(tp->sack_nexthole == NULL, + ("tp->sack_nexthole == NULL")); } /* @@ -579,7 +579,7 @@ tcp_sack_partialack(struct tcpcb *tp, st /* Send one or 2 segments based on how much new data was acked. */ if (((th->th_ack - tp->snd_una) / tp->t_maxseg) > 2) num_segs = 2; - tp->snd_cwnd = (tp->sackhint.sack_bytes_rexmit + + tp->snd_cwnd = (tp->sack_bytes_rexmit + (tp->snd_nxt - tp->sack_newdata) + num_segs * tp->t_maxseg); if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; @@ -636,13 +636,13 @@ tcp_sack_output(struct tcpcb *tp, int *s struct sackhole *hole = NULL; INP_WLOCK_ASSERT(tp->t_inpcb); - *sack_bytes_rexmt = tp->sackhint.sack_bytes_rexmit; - hole = tp->sackhint.nexthole; + *sack_bytes_rexmt = tp->sack_bytes_rexmit; + hole = tp->sack_nexthole; if (hole == NULL || SEQ_LT(hole->rxmit, hole->end)) goto out; while ((hole = TAILQ_NEXT(hole, scblink)) != NULL) { if (SEQ_LT(hole->rxmit, hole->end)) { - tp->sackhint.nexthole = hole; + tp->sack_nexthole = hole; break; } } Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_usrreq.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_usrreq.c Wed Jul 22 18:10:44 2009 (r195825) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_usrreq.c Wed Jul 22 18:25:51 2009 (r195826) @@ -1853,7 +1853,7 @@ db_print_tcpcb(struct tcpcb *tp, const c db_printf("snd_fack: 0x%08x rcv_numsacks: %d sack_newdata: " "0x%08x\n", tp->snd_fack, tp->rcv_numsacks, tp->sack_newdata); - /* Skip sackblks, sackhint. */ + /* Skip sackblks. */ db_print_indent(indent); db_printf("t_rttlow: %d rfbuf_ts: %u rfbuf_cnt: %d\n", Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_var.h ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_var.h Wed Jul 22 18:10:44 2009 (r195825) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_var.h Wed Jul 22 18:25:51 2009 (r195826) @@ -71,14 +71,6 @@ struct sackhole { TAILQ_ENTRY(sackhole) scblink; /* scoreboard linkage */ }; -struct sackhint { - struct sackhole *nexthole; - int sack_bytes_rexmit; - - int ispare; /* explicit pad for 64bit alignment */ - uint64_t _pad[2]; /* 1 sacked_bytes, 1 TBD */ -}; - struct tcptemp { u_char tt_ipgen[40]; /* the size must be of max ip header, now IPv6 */ struct tcphdr tt_t; @@ -192,7 +184,8 @@ struct tcpcb { struct sackblk sackblks[MAX_SACK_BLKS]; /* seq nos. of sack blocks */ tcp_seq sack_newdata; /* New data xmitted in this recovery episode starts at this seq number */ - struct sackhint sackhint; /* SACK scoreboard hint */ + struct sackhole *sack_nexthole; /* next hole to rexmt */ + int sack_bytes_rexmit; /* # bytes rexmt this RTT */ int t_rttlow; /* smallest observerved RTT */ u_int32_t rfbuf_ts; /* recv buffer autoscaling timestamp */ int rfbuf_cnt; /* recv buffer autoscaling byte count */ From owner-svn-src-projects@FreeBSD.ORG Thu Jul 23 16:21:02 2009 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 102901065675; Thu, 23 Jul 2009 16:21:02 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F2D188FC2A; Thu, 23 Jul 2009 16:21:01 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6NGL1Kx083173; Thu, 23 Jul 2009 16:21:01 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6NGL1lA083171; Thu, 23 Jul 2009 16:21:01 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907231621.n6NGL1lA083171@svn.freebsd.org> From: Stanislav Sedov Date: Thu, 23 Jul 2009 16:21: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: r195833 - projects/libprocstat/usr.bin/fstat 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, 23 Jul 2009 16:21:02 -0000 Author: stas Date: Thu Jul 23 16:21:01 2009 New Revision: 195833 URL: http://svn.freebsd.org/changeset/base/195833 Log: - Fix a typo. Modified: projects/libprocstat/usr.bin/fstat/fstat.c Modified: projects/libprocstat/usr.bin/fstat/fstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/fstat.c Thu Jul 23 16:00:37 2009 (r195832) +++ projects/libprocstat/usr.bin/fstat/fstat.c Thu Jul 23 16:21:01 2009 (r195833) @@ -233,7 +233,7 @@ print_file_info(struct procstat *procsta filename = NULL; if (checkfile != 0) { if (fst->fs_type != PS_FST_TYPE_VNODE && - fst->fs_type == PS_FST_TYPE_FIFO) + fst->fs_type != PS_FST_TYPE_FIFO) return; error = procstat_get_vnode_info(procstat, fst, &vn, NULL); if (error != 0) From owner-svn-src-projects@FreeBSD.ORG Thu Jul 23 18:38:28 2009 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 B13CA106566B; Thu, 23 Jul 2009 18:38:28 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9F5FF8FC24; Thu, 23 Jul 2009 18:38:28 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6NIcSEd086025; Thu, 23 Jul 2009 18:38:28 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6NIcShl086023; Thu, 23 Jul 2009 18:38:28 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907231838.n6NIcShl086023@svn.freebsd.org> From: Stanislav Sedov Date: Thu, 23 Jul 2009 18:38:28 +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: r195834 - projects/libprocstat/usr.bin/fstat 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, 23 Jul 2009 18:38:29 -0000 Author: stas Date: Thu Jul 23 18:38:28 2009 New Revision: 195834 URL: http://svn.freebsd.org/changeset/base/195834 Log: - Fix a typo. Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.c Thu Jul 23 16:21:01 2009 (r195833) +++ projects/libprocstat/usr.bin/fstat/libprocstat.c Thu Jul 23 18:38:28 2009 (r195834) @@ -989,7 +989,7 @@ procstat_get_socket_info_kvm(kvm_t *kd, switch(dom.dom_family) { case AF_INET: case AF_INET6: - if (proto.pr_protocol == IPPROTO_TCP ) { + if (proto.pr_protocol == IPPROTO_TCP) { if (s.so_pcb) { if (kvm_read(kd, (u_long)s.so_pcb, (char *)&inpcb, sizeof(struct inpcb)) From owner-svn-src-projects@FreeBSD.ORG Fri Jul 24 14:48:59 2009 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 CDFDB106567D; Fri, 24 Jul 2009 14:48:59 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BAA0F8FC19; Fri, 24 Jul 2009 14:48:59 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6OEmxJU012811; Fri, 24 Jul 2009 14:48:59 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6OEmxEm012808; Fri, 24 Jul 2009 14:48:59 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907241448.n6OEmxEm012808@svn.freebsd.org> From: Stanislav Sedov Date: Fri, 24 Jul 2009 14:48: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: r195841 - in projects/libprocstat/sys: kern sys 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, 24 Jul 2009 14:49:00 -0000 Author: stas Date: Fri Jul 24 14:48:59 2009 New Revision: 195841 URL: http://svn.freebsd.org/changeset/base/195841 Log: - Add fields required for fstat to kinfo_file structure and code to initialize them. It appears that the size of spare memory in the end of struct isn't enough so I expanded it for now. Modified: projects/libprocstat/sys/kern/kern_descrip.c projects/libprocstat/sys/sys/user.h Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Fri Jul 24 13:50:29 2009 (r195840) +++ projects/libprocstat/sys/kern/kern_descrip.c Fri Jul 24 14:48:59 2009 (r195841) @@ -59,6 +59,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include @@ -72,12 +74,17 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #ifdef KTRACE #include #endif +#include +#include + #include #include @@ -103,6 +110,10 @@ static int fd_last_used(struct filedesc static void fdgrowtable(struct filedesc *, int); static void fdunused(struct filedesc *fdp, int fd); static void fdused(struct filedesc *fdp, int fd); +static int fill_vnode_info(struct vnode *vp, struct kinfo_file *kif); +static int fill_socket_info(struct socket *so, struct kinfo_file *kif); +static int fill_pts_info(struct tty *tp, struct kinfo_file *kif); +static int fill_pipe_info(struct pipe *pi, struct kinfo_file *kif); /* * A process is initially started out with NDFILE descriptors stored within @@ -2882,103 +2893,69 @@ static SYSCTL_NODE(_kern_proc, KERN_PROC CTASSERT(sizeof(struct kinfo_file) == KINFO_FILE_SIZE); #endif -static void -prepare_kinfo_file(struct vnode *vp, struct kinfo_file *kif) +static int +export_fd_for_sysctl(void *data, int type, int fd, int fflags, int refcnt, + int64_t offset, struct kinfo_file *kif, struct sysctl_req *req) { - struct vattr va; - char *fullpath, *freepath; - int error, vfslocked; + struct { + int fflag; + int kf_fflag; + } fflags_table[] = { + { FREAD, KF_FLAG_READ }, + { FWRITE , KF_FLAG_WRITE }, + { FAPPEND , KF_FLAG_APPEND }, + { FASYNC , KF_FLAG_ASYNC }, + { FFSYNC , KF_FLAG_FSYNC }, + { FNONBLOCK , KF_FLAG_NONBLOCK }, + { O_DIRECT , KF_FLAG_DIRECT }, + { FHASLOCK , KF_FLAG_HASLOCK } + }; +#define NFFLAGS (sizeof(fflags_table) / sizeof(*fflags_table)) + int error; + int vfslocked; + struct vnode *vp; + int i; - vref(vp); - switch (vp->v_type) { - case VNON: - kif->kf_vnode_type = KF_VTYPE_VNON; - break; - case VREG: - kif->kf_vnode_type = KF_VTYPE_VREG; - break; - case VDIR: - kif->kf_vnode_type = KF_VTYPE_VDIR; - break; - case VBLK: - kif->kf_vnode_type = KF_VTYPE_VBLK; - break; - case VCHR: - kif->kf_vnode_type = KF_VTYPE_VCHR; - break; - case VLNK: - kif->kf_vnode_type = KF_VTYPE_VLNK; + bzero(kif, sizeof(*kif)); + switch (type) { + case KF_TYPE_FIFO: + case KF_TYPE_VNODE: + vp = (struct vnode *)data; + error = fill_vnode_info(vp, kif); + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vrele(vp); + VFS_UNLOCK_GIANT(vfslocked); break; - case VSOCK: - kif->kf_vnode_type = KF_VTYPE_VSOCK; + case KF_TYPE_SOCKET: + error = fill_socket_info((struct socket *)data, kif); break; - case VFIFO: - kif->kf_vnode_type = KF_VTYPE_VFIFO; + case KF_TYPE_PIPE: + error = fill_pipe_info((struct pipe *)data, kif); break; - case VBAD: - kif->kf_vnode_type = KF_VTYPE_VBAD; + case KF_TYPE_PTS: + error = fill_pts_info((struct tty *)data, kif); break; default: - kif->kf_vnode_type = KF_VTYPE_UNKNOWN; - break; + error = 0; } - - freepath = NULL; - fullpath = "-"; - do { - error = VOP_GETATTR(vp, &va, NULL); - if (error) - break; + if (error == 0) kif->kf_status |= KF_ATTR_VALID; - kif->kf_file_fsid = va.va_fsid; - kif->kf_file_fileid = va.va_fileid; - kif->kf_file_mode = MAKEIMODE(va.va_type, va.va_mode); - kif->kf_file_size = va.va_size; - kif->kf_file_rdev = va.va_rdev; - } while (0); - vn_fullpath(curthread, vp, &fullpath, &freepath); - vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vrele(vp); - VFS_UNLOCK_GIANT(vfslocked); - strlcpy(kif->kf_path, fullpath, sizeof(kif->kf_path)); - if (freepath != NULL) - free(freepath, M_TEMP); -} - -static int -export_vnode_for_sysctl(struct vnode *vp, int type, - struct kinfo_file *kif, struct filedesc *fdp, struct sysctl_req *req) -{ - int error; - - bzero(kif, sizeof(*kif)); - - vref(vp); - kif->kf_fd = type; - kif->kf_type = KF_TYPE_VNODE; - /* This function only handles directories. */ - if (vp->v_type != VDIR) { - vrele(vp); - return (ENOTDIR); - } - FILEDESC_SUNLOCK(fdp); - prepare_kinfo_file(vp, kif); - kif->kf_vnode_type = KF_VTYPE_VDIR; - vrele(vp); /* - * This is not a true file descriptor, so we set a bogus refcount - * and offset to indicate these fields should be ignored. + * Translate file access flags. */ - kif->kf_ref_count = -1; - kif->kf_offset = -1; - + for (i = 0; i < NFFLAGS; i++) + if (fflags & fflags_table[i].fflag) + kif->kf_flags |= fflags_table[i].kf_fflag; + kif->kf_fd = fd; + kif->kf_type = type; + kif->kf_ref_count = refcnt; + kif->kf_offset = offset; /* Pack record size down */ kif->kf_structsize = offsetof(struct kinfo_file, kf_path) + strlen(kif->kf_path) + 1; kif->kf_structsize = roundup(kif->kf_structsize, sizeof(uint64_t)); error = SYSCTL_OUT(req, kif, kif->kf_structsize); - FILEDESC_SLOCK(fdp); return (error); } @@ -2991,12 +2968,14 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER struct kinfo_file *kif; struct filedesc *fdp; int error, i, *name; - struct socket *so; - struct vnode *vp; struct file *fp; struct proc *p; - struct tty *tp; size_t oldidx; + void *data; + int type; + int refcnt; + int64_t offset; + int fflags; name = (int *)arg1; if ((p = pfind((pid_t)name[0])) == NULL) @@ -3006,134 +2985,129 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER return (error); } fdp = fdhold(p); + kif = malloc(sizeof(*kif), M_TEMP, M_WAITOK); + /* ktrace vnode */ + if (p->p_tracevp != NULL) { + vref(p->p_tracevp); + data = p->p_tracevp; + PROC_UNLOCK(p); + export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_TRACE, + FREAD | FWRITE, -1, -1, kif, req); + PROC_LOCK(p); + } + /* text vnode */ + if (p->p_textvp != NULL) { + vref(p->p_textvp); + data = p->p_textvp; + PROC_UNLOCK(p); + export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_TEXT, + FREAD, -1, -1, kif, req); + PROC_LOCK(p); + } PROC_UNLOCK(p); if (fdp == NULL) - return (ENOENT); - kif = malloc(sizeof(*kif), M_TEMP, M_WAITOK); + goto fail; FILEDESC_SLOCK(fdp); - if (fdp->fd_cdir != NULL) - export_vnode_for_sysctl(fdp->fd_cdir, KF_FD_TYPE_CWD, kif, - fdp, req); - if (fdp->fd_rdir != NULL) - export_vnode_for_sysctl(fdp->fd_rdir, KF_FD_TYPE_ROOT, kif, - fdp, req); - if (fdp->fd_jdir != NULL) - export_vnode_for_sysctl(fdp->fd_jdir, KF_FD_TYPE_JAIL, kif, - fdp, req); + /* working directory */ + if (fdp->fd_cdir != NULL) { + vref(fdp->fd_cdir); + data = fdp->fd_cdir; + FILEDESC_SUNLOCK(fdp); + export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_CWD, + FREAD, -1, -1, kif, req); + FILEDESC_SLOCK(fdp); + } + /* root directory */ + if (fdp->fd_rdir != NULL) { + vref(fdp->fd_rdir); + data = fdp->fd_rdir; + FILEDESC_SUNLOCK(fdp); + export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_ROOT, + FREAD, -1, -1, kif, req); + FILEDESC_SLOCK(fdp); + } + /* jail directory */ + if (fdp->fd_jdir != NULL) { + vref(fdp->fd_jdir); + data = fdp->fd_jdir; + FILEDESC_SUNLOCK(fdp); + export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_JAIL, + FREAD, -1, -1, kif, req); + FILEDESC_SLOCK(fdp); + } for (i = 0; i < fdp->fd_nfiles; i++) { if ((fp = fdp->fd_ofiles[i]) == NULL) continue; - bzero(kif, sizeof(*kif)); - vp = NULL; - so = NULL; - tp = NULL; - kif->kf_fd = i; + data = NULL; switch (fp->f_type) { case DTYPE_VNODE: - kif->kf_type = KF_TYPE_VNODE; - vp = fp->f_vnode; + type = KF_TYPE_VNODE; + vref(fp->f_vnode); + data = fp->f_vnode; break; case DTYPE_SOCKET: - kif->kf_type = KF_TYPE_SOCKET; - so = fp->f_data; + type = KF_TYPE_SOCKET; + data = fp->f_data; break; case DTYPE_PIPE: - kif->kf_type = KF_TYPE_PIPE; + type = KF_TYPE_PIPE; + data = fp->f_data; break; case DTYPE_FIFO: - kif->kf_type = KF_TYPE_FIFO; - vp = fp->f_vnode; + type = KF_TYPE_FIFO; + vref(fp->f_vnode); + data = fp->f_vnode; break; case DTYPE_KQUEUE: - kif->kf_type = KF_TYPE_KQUEUE; + type = KF_TYPE_KQUEUE; break; case DTYPE_CRYPTO: - kif->kf_type = KF_TYPE_CRYPTO; + type = KF_TYPE_CRYPTO; break; case DTYPE_MQUEUE: - kif->kf_type = KF_TYPE_MQUEUE; + type = KF_TYPE_MQUEUE; break; case DTYPE_SHM: - kif->kf_type = KF_TYPE_SHM; + type = KF_TYPE_SHM; break; case DTYPE_SEM: - kif->kf_type = KF_TYPE_SEM; + type = KF_TYPE_SEM; break; case DTYPE_PTS: - kif->kf_type = KF_TYPE_PTS; - tp = fp->f_data; + type = KF_TYPE_PTS; + data = fp->f_data; break; default: - kif->kf_type = KF_TYPE_UNKNOWN; + type = KF_TYPE_UNKNOWN; break; } - kif->kf_ref_count = fp->f_count; - if (fp->f_flag & FREAD) - kif->kf_flags |= KF_FLAG_READ; - if (fp->f_flag & FWRITE) - kif->kf_flags |= KF_FLAG_WRITE; - if (fp->f_flag & FAPPEND) - kif->kf_flags |= KF_FLAG_APPEND; - if (fp->f_flag & FASYNC) - kif->kf_flags |= KF_FLAG_ASYNC; - if (fp->f_flag & FFSYNC) - kif->kf_flags |= KF_FLAG_FSYNC; - if (fp->f_flag & FNONBLOCK) - kif->kf_flags |= KF_FLAG_NONBLOCK; - if (fp->f_flag & O_DIRECT) - kif->kf_flags |= KF_FLAG_DIRECT; - if (fp->f_flag & FHASLOCK) - kif->kf_flags |= KF_FLAG_HASLOCK; - kif->kf_offset = fp->f_offset; - if (vp != NULL) { - /* - * It is OK to drop the filedesc lock here as we will - * re-validate and re-evaluate its properties when - * the loop continues. - */ - FILEDESC_SUNLOCK(fdp); - prepare_kinfo_file(vp, kif); - FILEDESC_SLOCK(fdp); - } - if (so != NULL) { - struct sockaddr *sa; + refcnt = fp->f_count; + fflags = fp->f_flag; + offset = fp->f_offset; - if (so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa) - == 0 && sa->sa_len <= sizeof(kif->kf_sa_local)) { - bcopy(sa, &kif->kf_sa_local, sa->sa_len); - free(sa, M_SONAME); - } - if (so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa) - == 00 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { - bcopy(sa, &kif->kf_sa_peer, sa->sa_len); - free(sa, M_SONAME); - } - kif->kf_sock_domain = - so->so_proto->pr_domain->dom_family; - kif->kf_sock_type = so->so_type; - kif->kf_sock_protocol = so->so_proto->pr_protocol; - } - if (tp != NULL) { - strlcpy(kif->kf_path, tty_devname(tp), - sizeof(kif->kf_path)); - } - /* Pack record size down */ - kif->kf_structsize = offsetof(struct kinfo_file, kf_path) + - strlen(kif->kf_path) + 1; - kif->kf_structsize = roundup(kif->kf_structsize, - sizeof(uint64_t)); + /* + * Create sysctl entry. + * It is OK to drop the filedesc lock here as we will + * re-validate and re-evaluate its properties when + * the loop continues. + */ oldidx = req->oldidx; - error = SYSCTL_OUT(req, kif, kif->kf_structsize); + if (type == KF_TYPE_VNODE || type == KF_TYPE_FIFO) + FILEDESC_SUNLOCK(fdp); + error = export_fd_for_sysctl(data, type, i, + fflags, refcnt, offset, kif, req); + if (type == KF_TYPE_VNODE || type == KF_TYPE_FIFO) + FILEDESC_SLOCK(fdp); if (error) { if (error == ENOMEM) { /* @@ -3149,11 +3123,148 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER } } FILEDESC_SUNLOCK(fdp); +fail: fddrop(fdp); free(kif, M_TEMP); return (error); } +static int +fill_vnode_info(struct vnode *vp, struct kinfo_file *kif) +{ + struct { + int vtype; + int kf_vtype; + } vtypes_table[] = { + { VNON, }, + { VREG, }, + { VDIR, }, + { VBLK, }, + { VCHR, }, + { VLNK, }, + { VSOCK, }, + { VFIFO, }, + { VBAD, }, + }; + char *fullpath, *freepath; + struct vattr va; +#define NVTYPES (sizeof(vtypes_table) / sizeof(*vtypes_table)) + unsigned int i; + int error; + + if (vp == NULL) + return (1); + + /* + * Perform vtype translation. + */ + for (i = 0; i < NVTYPES; i++) + if (vtypes_table[i].vtype == vp->v_type) + break; + + if (i < NVTYPES) + kif->kf_vnode_type = vtypes_table[i].kf_vtype; + else + kif->kf_vnode_type = KF_VTYPE_UNKNOWN; + + freepath = NULL; + fullpath = "-"; + error = vn_fullpath(curthread, vp, &fullpath, &freepath); + if (error != 0) + return (error); + strlcpy(kif->kf_path, fullpath, sizeof(kif->kf_path)); + free(freepath, M_TEMP); + + /* + * Retrieve vnode attributes. + */ + error = VOP_GETATTR(vp, &va, NULL); + if (error != 0) + return (error); + kif->kf_file_fsid = va.va_fsid; + kif->kf_file_fileid = va.va_fileid; + kif->kf_file_mode = MAKEIMODE(va.va_type, va.va_mode); + kif->kf_file_size = va.va_size; + kif->kf_file_rdev = va.va_rdev; + return (0); +} + +static int +fill_socket_info(struct socket *so, struct kinfo_file *kif) +{ + struct sockaddr *sa; + struct inpcb *inpcb; + struct unpcb *unpcb; + int error; + + if (so == NULL) + return (1); + + kif->kf_sock_domain = so->so_proto->pr_domain->dom_family; + kif->kf_sock_type = so->so_type; + kif->kf_sock_protocol = so->so_proto->pr_protocol; + kif->kf_sock_pcb = (uint64_t)so->so_pcb; + switch(kif->kf_sock_domain) { + case AF_INET: + case AF_INET6: + if (kif->kf_sock_protocol == IPPROTO_TCP) { + if (so->so_pcb != NULL) { + inpcb = (struct inpcb *)(so->so_pcb); + kif->kf_sock_inpcb = (uint64_t)inpcb->inp_ppcb; + } + } + break; + case AF_UNIX: + if (so->so_pcb != NULL) { + unpcb = (struct unpcb *)(so->so_pcb); + if (unpcb->unp_conn) { + kif->kf_sock_unpconn = + (uint64_t)unpcb->unp_conn; + kif->kf_sock_rcv_sb_state = + so->so_rcv.sb_state; + kif->kf_sock_snd_sb_state = + so->so_snd.sb_state; + } + } + break; + } + error = so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa); + if (error == 0 && sa->sa_len <= sizeof(kif->kf_sa_local)) { + bcopy(sa, &kif->kf_sa_local, sa->sa_len); + free(sa, M_SONAME); + } + error = so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa); + if (error == 0 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { + bcopy(sa, &kif->kf_sa_peer, sa->sa_len); + free(sa, M_SONAME); + } + strncpy(kif->kf_sock_domname, so->so_proto->pr_domain->dom_name, + sizeof(kif->kf_sock_domname)); + return (0); +} + +static int +fill_pts_info(struct tty *tp, struct kinfo_file *kif) +{ + + if (tp == NULL) + return (1); + strlcpy(kif->kf_path, tty_devname(tp), sizeof(kif->kf_path)); + return (0); +} + +static int +fill_pipe_info(struct pipe *pi, struct kinfo_file *kif) +{ + + if (pi == NULL) + return (1); + kif->pipe_addr = (uint64_t)pi; + kif->pipe_peer = (uint64_t)pi->pipe_peer; + kif->pipe_buffer_cnt = pi->pipe_buffer.cnt; + return (0); +} + static SYSCTL_NODE(_kern_proc, KERN_PROC_FILEDESC, filedesc, CTLFLAG_RD, sysctl_kern_proc_filedesc, "Process filedesc entries"); Modified: projects/libprocstat/sys/sys/user.h ============================================================================== --- projects/libprocstat/sys/sys/user.h Fri Jul 24 13:50:29 2009 (r195840) +++ projects/libprocstat/sys/sys/user.h Fri Jul 24 14:48:59 2009 (r195841) @@ -270,6 +270,8 @@ struct user { #define KF_FD_TYPE_CWD -1 /* Current working directory */ #define KF_FD_TYPE_ROOT -2 /* Root directory */ #define KF_FD_TYPE_JAIL -3 /* Jail directory */ +#define KF_FD_TYPE_TRACE -4 /* ptrace vnode */ +#define KF_FD_TYPE_TEXT -5 /* Text vnode */ #define KF_FLAG_READ 0x00000001 #define KF_FLAG_WRITE 0x00000002 @@ -309,7 +311,7 @@ struct kinfo_ofile { }; #if defined(__amd64__) || defined(__i386__) -#define KINFO_FILE_SIZE 1392 +#define KINFO_FILE_SIZE 1496 #endif struct kinfo_file { @@ -318,21 +320,29 @@ struct kinfo_file { int kf_fd; /* Array index. */ int kf_ref_count; /* Reference count. */ int kf_flags; /* Flags. */ - int _kf_pad0; /* Round to 64 bit alignment */ - int64_t kf_offset; /* Seek location. */ int kf_vnode_type; /* Vnode type. */ + int64_t kf_offset; /* Seek location. */ + char kf_sock_domname[32]; /* Address domain name. */ int kf_sock_domain; /* Socket domain. */ - int kf_sock_type; /* Socket type. */ int kf_sock_protocol; /* Socket protocol. */ + int kf_sock_type; /* Socket type. */ + uint16_t kf_sock_snd_sb_state; /* Send buffer state. */ + uint16_t kf_sock_rcv_sb_state; /* Receive buffer state. */ + uint64_t kf_sock_pcb; /* Address of so_pcb. */ + uint64_t kf_sock_inpcb; /* Address of inp_ppcb. */ + uint64_t kf_sock_unpconn; /* Address of unp_conn. */ struct sockaddr_storage kf_sa_local; /* Socket address. */ struct sockaddr_storage kf_sa_peer; /* Peer address. */ dev_t kf_file_fsid; /* Vnode filesystem id. */ + dev_t kf_file_rdev; /* File device. */ uint64_t kf_file_fileid; /* Global file id. */ + off_t kf_file_size; /* File size. */ mode_t kf_file_mode; /* File mode. */ uint16_t kf_status; /* Status flags. */ - off_t kf_file_size; /* File size. */ - dev_t kf_file_rdev; /* File device. */ - int _kf_ispare[9]; /* Space for more stuff. */ + uint32_t pipe_buffer_cnt; + uint64_t pipe_addr; + uint64_t pipe_peer; + int _kf_ispare[16]; /* Space for more stuff. */ /* Truncated before copyout in sysctl */ char kf_path[PATH_MAX]; /* Path to file, if any. */ }; From owner-svn-src-projects@FreeBSD.ORG Fri Jul 24 14:57:03 2009 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 4DD73106564A; Fri, 24 Jul 2009 14:57:03 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3BDC88FC1A; Fri, 24 Jul 2009 14:57:03 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6OEv2qQ013036; Fri, 24 Jul 2009 14:57:02 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6OEv2kN013034; Fri, 24 Jul 2009 14:57:02 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907241457.n6OEv2kN013034@svn.freebsd.org> From: Stanislav Sedov Date: Fri, 24 Jul 2009 14:57: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: r195842 - projects/libprocstat/sys/kern 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, 24 Jul 2009 14:57:03 -0000 Author: stas Date: Fri Jul 24 14:57:02 2009 New Revision: 195842 URL: http://svn.freebsd.org/changeset/base/195842 Log: - Cleanup. Modified: projects/libprocstat/sys/kern/kern_descrip.c Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Fri Jul 24 14:48:59 2009 (r195841) +++ projects/libprocstat/sys/kern/kern_descrip.c Fri Jul 24 14:57:02 2009 (r195842) @@ -2911,10 +2911,9 @@ export_fd_for_sysctl(void *data, int typ { FHASLOCK , KF_FLAG_HASLOCK } }; #define NFFLAGS (sizeof(fflags_table) / sizeof(*fflags_table)) - int error; - int vfslocked; struct vnode *vp; - int i; + int error, vfslocked; + unsigned int i; bzero(kif, sizeof(*kif)); switch (type) { @@ -2965,17 +2964,15 @@ export_fd_for_sysctl(void *data, int typ static int sysctl_kern_proc_filedesc(SYSCTL_HANDLER_ARGS) { - struct kinfo_file *kif; - struct filedesc *fdp; - int error, i, *name; struct file *fp; + struct filedesc *fdp; + struct kinfo_file *kif; struct proc *p; size_t oldidx; - void *data; - int type; - int refcnt; int64_t offset; - int fflags; + void *data; + int error, i, *name; + int type, refcnt, fflags; name = (int *)arg1; if ((p = pfind((pid_t)name[0])) == NULL) @@ -3146,11 +3143,11 @@ fill_vnode_info(struct vnode *vp, struct { VFIFO, }, { VBAD, }, }; - char *fullpath, *freepath; - struct vattr va; #define NVTYPES (sizeof(vtypes_table) / sizeof(*vtypes_table)) - unsigned int i; + struct vattr va; + char *fullpath, *freepath; int error; + unsigned int i; if (vp == NULL) return (1); @@ -3199,7 +3196,6 @@ fill_socket_info(struct socket *so, stru if (so == NULL) return (1); - kif->kf_sock_domain = so->so_proto->pr_domain->dom_family; kif->kf_sock_type = so->so_type; kif->kf_sock_protocol = so->so_proto->pr_protocol; From owner-svn-src-projects@FreeBSD.ORG Fri Jul 24 21:38:52 2009 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 DA5AB1065670; Fri, 24 Jul 2009 21:38:52 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C40EF8FC12; Fri, 24 Jul 2009 21:38:52 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6OLcqTf021946; Fri, 24 Jul 2009 21:38:52 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6OLcq1N021919; Fri, 24 Jul 2009 21:38:52 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907242138.n6OLcq1N021919@svn.freebsd.org> From: Stanislav Sedov Date: Fri, 24 Jul 2009 21:38: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: r195858 - in projects/libprocstat: lib lib/libalias/libalias lib/libarchive lib/libautofs lib/libbegemot lib/libbluetooth lib/libbsm lib/libbsnmp lib/libbz2 lib/libc lib/libc/gen lib/li... 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, 24 Jul 2009 21:38:53 -0000 Author: stas Date: Fri Jul 24 21:38:51 2009 New Revision: 195858 URL: http://svn.freebsd.org/changeset/base/195858 Log: - MFH. Added: projects/libprocstat/lib/libc/sys/msgctl.2 - copied unchanged from r195855, head/lib/libc/sys/msgctl.2 projects/libprocstat/lib/libc/sys/msgget.2 - copied unchanged from r195855, head/lib/libc/sys/msgget.2 projects/libprocstat/lib/libc/sys/msgrcv.2 - copied unchanged from r195855, head/lib/libc/sys/msgrcv.2 projects/libprocstat/lib/libc/sys/msgsnd.2 - copied unchanged from r195855, head/lib/libc/sys/msgsnd.2 projects/libprocstat/lib/libkvm/kvm_vnet.c - copied unchanged from r195855, head/lib/libkvm/kvm_vnet.c projects/libprocstat/sys/cam/ata/ - copied from r195855, head/sys/cam/ata/ projects/libprocstat/sys/cam/cam_xpt_internal.h - copied unchanged from r195855, head/sys/cam/cam_xpt_internal.h projects/libprocstat/sys/cam/scsi/scsi_xpt.c - copied unchanged from r195855, head/sys/cam/scsi/scsi_xpt.c projects/libprocstat/sys/dev/ahci/ - copied from r195855, head/sys/dev/ahci/ projects/libprocstat/sys/dev/siis/ - copied from r195855, head/sys/dev/siis/ projects/libprocstat/sys/modules/ahci/ - copied from r195855, head/sys/modules/ahci/ projects/libprocstat/sys/modules/siis/ - copied from r195855, head/sys/modules/siis/ projects/libprocstat/sys/net/vnet.c - copied unchanged from r195855, head/sys/net/vnet.c projects/libprocstat/sys/net80211/ieee80211_hwmp.c - copied unchanged from r195855, head/sys/net80211/ieee80211_hwmp.c projects/libprocstat/sys/net80211/ieee80211_mesh.c - copied unchanged from r195855, head/sys/net80211/ieee80211_mesh.c projects/libprocstat/sys/net80211/ieee80211_mesh.h - copied unchanged from r195855, head/sys/net80211/ieee80211_mesh.h projects/libprocstat/sys/vm/sg_pager.c - copied unchanged from r195855, head/sys/vm/sg_pager.c Deleted: projects/libprocstat/lib/libc/gen/msgctl.3 projects/libprocstat/lib/libc/gen/msgget.3 projects/libprocstat/lib/libc/gen/msgrcv.3 projects/libprocstat/lib/libc/gen/msgsnd.3 projects/libprocstat/sys/netinet/vinet.h projects/libprocstat/sys/netinet6/vinet6.h projects/libprocstat/sys/netipsec/vipsec.h Modified: projects/libprocstat/lib/ (props changed) projects/libprocstat/lib/Makefile.inc projects/libprocstat/lib/libalias/libalias/Makefile projects/libprocstat/lib/libarchive/Makefile projects/libprocstat/lib/libautofs/Makefile projects/libprocstat/lib/libbegemot/Makefile projects/libprocstat/lib/libbluetooth/Makefile projects/libprocstat/lib/libbsm/Makefile projects/libprocstat/lib/libbsnmp/Makefile.inc projects/libprocstat/lib/libbz2/Makefile projects/libprocstat/lib/libc/Makefile projects/libprocstat/lib/libc/gen/Makefile.inc projects/libprocstat/lib/libc/gen/dlopen.3 projects/libprocstat/lib/libc/gen/ftok.3 projects/libprocstat/lib/libc/gen/pw_scan.c projects/libprocstat/lib/libc/posix1e/Makefile.inc projects/libprocstat/lib/libc/stdio/fread.c projects/libprocstat/lib/libc/stdio/fwrite.c projects/libprocstat/lib/libc/sys/Makefile.inc projects/libprocstat/lib/libc/sys/Symbol.map projects/libprocstat/lib/libc/sys/link.2 projects/libprocstat/lib/libc/sys/mmap.2 projects/libprocstat/lib/libc/sys/pathconf.2 projects/libprocstat/lib/libc/sys/stack_protector.c projects/libprocstat/lib/libcam/Makefile projects/libprocstat/lib/libcrypt/Makefile projects/libprocstat/lib/libdevstat/Makefile projects/libprocstat/lib/libdwarf/Makefile projects/libprocstat/lib/libdwarf/dwarf_loc.c projects/libprocstat/lib/libedit/Makefile projects/libprocstat/lib/libexpat/Makefile projects/libprocstat/lib/libfetch/Makefile projects/libprocstat/lib/libftpio/Makefile projects/libprocstat/lib/libgpib/Makefile projects/libprocstat/lib/libipsec/Makefile projects/libprocstat/lib/libkiconv/Makefile projects/libprocstat/lib/libkse/Makefile projects/libprocstat/lib/libkvm/Makefile projects/libprocstat/lib/libkvm/kvm.c projects/libprocstat/lib/libkvm/kvm_private.h projects/libprocstat/lib/libkvm/kvm_proc.c projects/libprocstat/lib/libmagic/Makefile projects/libprocstat/lib/libmemstat/Makefile projects/libprocstat/lib/libncp/Makefile projects/libprocstat/lib/libnetgraph/Makefile projects/libprocstat/lib/libngatm/Makefile projects/libprocstat/lib/libopie/Makefile projects/libprocstat/lib/libpam/Makefile.inc projects/libprocstat/lib/libpcap/Makefile projects/libprocstat/lib/libproc/Makefile projects/libprocstat/lib/libradius/Makefile projects/libprocstat/lib/libsdp/Makefile projects/libprocstat/lib/libsmb/Makefile projects/libprocstat/lib/libtacplus/Makefile projects/libprocstat/lib/libugidfw/Makefile projects/libprocstat/lib/libusb/ (props changed) projects/libprocstat/lib/libusb/Makefile projects/libprocstat/lib/libusb/libusb.h projects/libprocstat/lib/libusb/libusb10.c projects/libprocstat/lib/libusb/libusb10.h projects/libprocstat/lib/libusb/libusb10_desc.c projects/libprocstat/lib/libusb/libusb10_io.c projects/libprocstat/lib/libusbhid/Makefile projects/libprocstat/lib/libutil/Makefile projects/libprocstat/lib/libvgl/Makefile projects/libprocstat/lib/libwrap/Makefile projects/libprocstat/lib/libypclnt/Makefile projects/libprocstat/lib/ncurses/ncurses/Makefile projects/libprocstat/sys/ (props changed) projects/libprocstat/sys/amd64/amd64/cpu_switch.S projects/libprocstat/sys/amd64/amd64/exception.S projects/libprocstat/sys/amd64/amd64/genassym.c projects/libprocstat/sys/amd64/amd64/initcpu.c projects/libprocstat/sys/amd64/amd64/machdep.c projects/libprocstat/sys/amd64/amd64/pmap.c projects/libprocstat/sys/amd64/amd64/sys_machdep.c projects/libprocstat/sys/amd64/amd64/vm_machdep.c projects/libprocstat/sys/amd64/conf/GENERIC projects/libprocstat/sys/amd64/ia32/ia32_exception.S projects/libprocstat/sys/amd64/ia32/ia32_reg.c projects/libprocstat/sys/amd64/ia32/ia32_signal.c projects/libprocstat/sys/amd64/include/cpufunc.h projects/libprocstat/sys/amd64/include/md_var.h projects/libprocstat/sys/amd64/include/pcb.h projects/libprocstat/sys/amd64/include/pmap.h projects/libprocstat/sys/amd64/include/vm.h projects/libprocstat/sys/amd64/linux32/linux32_sysvec.c projects/libprocstat/sys/amd64/pci/pci_bus.c projects/libprocstat/sys/arm/arm/busdma_machdep.c projects/libprocstat/sys/arm/arm/cpufunc.c projects/libprocstat/sys/arm/arm/pmap.c projects/libprocstat/sys/arm/arm/vm_machdep.c projects/libprocstat/sys/arm/conf/AVILA projects/libprocstat/sys/arm/conf/CAMBRIA projects/libprocstat/sys/arm/include/pmap.h projects/libprocstat/sys/arm/include/vm.h projects/libprocstat/sys/bsm/audit.h projects/libprocstat/sys/bsm/audit_kevents.h projects/libprocstat/sys/cam/cam.c projects/libprocstat/sys/cam/cam.h projects/libprocstat/sys/cam/cam_ccb.h projects/libprocstat/sys/cam/cam_periph.c projects/libprocstat/sys/cam/cam_xpt.c projects/libprocstat/sys/cam/cam_xpt.h projects/libprocstat/sys/cam/cam_xpt_periph.h projects/libprocstat/sys/cam/scsi/scsi_all.c projects/libprocstat/sys/cam/scsi/scsi_cd.c projects/libprocstat/sys/cam/scsi/scsi_ch.c projects/libprocstat/sys/cam/scsi/scsi_da.c projects/libprocstat/sys/cam/scsi/scsi_pass.c projects/libprocstat/sys/cam/scsi/scsi_pt.c projects/libprocstat/sys/cam/scsi/scsi_sa.c projects/libprocstat/sys/cam/scsi/scsi_ses.c projects/libprocstat/sys/cam/scsi/scsi_sg.c projects/libprocstat/sys/cddl/compat/opensolaris/sys/sig.h projects/libprocstat/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c projects/libprocstat/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c projects/libprocstat/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/libprocstat/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/libprocstat/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/libprocstat/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/libprocstat/sys/compat/freebsd32/freebsd32_proto.h projects/libprocstat/sys/compat/freebsd32/freebsd32_syscall.h projects/libprocstat/sys/compat/freebsd32/freebsd32_syscalls.c projects/libprocstat/sys/compat/freebsd32/freebsd32_sysent.c projects/libprocstat/sys/compat/freebsd32/syscalls.master projects/libprocstat/sys/compat/linprocfs/linprocfs.c projects/libprocstat/sys/compat/linux/linux_ioctl.c projects/libprocstat/sys/compat/linux/linux_socket.c projects/libprocstat/sys/compat/svr4/svr4_sockio.c projects/libprocstat/sys/compat/svr4/svr4_stat.c projects/libprocstat/sys/conf/NOTES projects/libprocstat/sys/conf/files projects/libprocstat/sys/conf/newvers.sh projects/libprocstat/sys/conf/options projects/libprocstat/sys/contrib/altq/altq/altq_subr.c projects/libprocstat/sys/contrib/dev/acpica/compiler/aslcompile.c projects/libprocstat/sys/contrib/dev/acpica/compiler/aslutils.c projects/libprocstat/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/libprocstat/sys/contrib/pf/net/pf.c projects/libprocstat/sys/contrib/pf/net/pf_if.c projects/libprocstat/sys/contrib/pf/net/pf_ioctl.c projects/libprocstat/sys/contrib/pf/net/pf_subr.c projects/libprocstat/sys/contrib/pf/net/pfvar.h projects/libprocstat/sys/contrib/rdma/rdma_cma.c projects/libprocstat/sys/ddb/db_expr.c projects/libprocstat/sys/ddb/db_sym.c projects/libprocstat/sys/ddb/db_variables.c projects/libprocstat/sys/ddb/db_variables.h projects/libprocstat/sys/ddb/ddb.h projects/libprocstat/sys/dev/aac/aac_disk.c projects/libprocstat/sys/dev/acpica/acpi_pcib_acpi.c projects/libprocstat/sys/dev/advansys/advansys.c projects/libprocstat/sys/dev/advansys/advlib.h projects/libprocstat/sys/dev/aic7xxx/aic79xx_osm.h projects/libprocstat/sys/dev/aic7xxx/aic7xxx_osm.h projects/libprocstat/sys/dev/amd/amd.h projects/libprocstat/sys/dev/ata/ata-all.c projects/libprocstat/sys/dev/ata/atapi-cam.c projects/libprocstat/sys/dev/ata/chipsets/ata-marvell.c projects/libprocstat/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/libprocstat/sys/dev/ath/if_ath.c projects/libprocstat/sys/dev/ath/if_athvar.h projects/libprocstat/sys/dev/ciss/ciss.c projects/libprocstat/sys/dev/ciss/cissvar.h projects/libprocstat/sys/dev/cxgb/cxgb_sge.c projects/libprocstat/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c projects/libprocstat/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/libprocstat/sys/dev/drm/drm_pciids.h projects/libprocstat/sys/dev/drm/r600_cp.c projects/libprocstat/sys/dev/drm/radeon_drv.h projects/libprocstat/sys/dev/e1000/e1000_ich8lan.c projects/libprocstat/sys/dev/e1000/if_em.c projects/libprocstat/sys/dev/e1000/if_igb.c projects/libprocstat/sys/dev/hptrr/hptrr_config.c projects/libprocstat/sys/dev/if_ndis/if_ndis.c projects/libprocstat/sys/dev/ipw/if_ipw.c projects/libprocstat/sys/dev/isp/isp_freebsd.h projects/libprocstat/sys/dev/iwi/if_iwi.c projects/libprocstat/sys/dev/iwn/if_iwn.c projects/libprocstat/sys/dev/ixgbe/ixgbe.c projects/libprocstat/sys/dev/mfi/mfi.c projects/libprocstat/sys/dev/mfi/mfivar.h projects/libprocstat/sys/dev/mlx/mlx.c projects/libprocstat/sys/dev/mlx/mlxvar.h projects/libprocstat/sys/dev/mpt/mpt.h projects/libprocstat/sys/dev/mpt/mpt_pci.c projects/libprocstat/sys/dev/mwl/if_mwl.c projects/libprocstat/sys/dev/mxge/if_mxge.c projects/libprocstat/sys/dev/pci/pci.c projects/libprocstat/sys/dev/ral/rt2560.c projects/libprocstat/sys/dev/ral/rt2661.c projects/libprocstat/sys/dev/re/if_re.c projects/libprocstat/sys/dev/sound/pci/hda/hdac.c projects/libprocstat/sys/dev/sound/pcm/feeder_rate.c projects/libprocstat/sys/dev/sound/usb/uaudio.c projects/libprocstat/sys/dev/trm/trm.h projects/libprocstat/sys/dev/uart/uart_cpu_powerpc.c projects/libprocstat/sys/dev/usb/usb_busdma.c projects/libprocstat/sys/dev/wpi/if_wpi.c projects/libprocstat/sys/dev/xen/netfront/ (props changed) projects/libprocstat/sys/dev/xen/xenpci/ (props changed) projects/libprocstat/sys/dev/xl/if_xl.c projects/libprocstat/sys/fs/nfs/nfs_commonkrpc.c projects/libprocstat/sys/fs/nfs/nfs_var.h projects/libprocstat/sys/fs/nfs/nfsport.h projects/libprocstat/sys/fs/nfsclient/nfs_clbio.c projects/libprocstat/sys/fs/nfsclient/nfs_clrpcops.c projects/libprocstat/sys/fs/nfsclient/nfs_clstate.c projects/libprocstat/sys/fs/nfsclient/nfs_clvfsops.c projects/libprocstat/sys/fs/nfsclient/nfs_clvnops.c projects/libprocstat/sys/fs/nfsserver/nfs_nfsdport.c projects/libprocstat/sys/fs/procfs/procfs_map.c projects/libprocstat/sys/geom/vinum/geom_vinum.c projects/libprocstat/sys/i386/conf/GENERIC projects/libprocstat/sys/i386/i386/pmap.c projects/libprocstat/sys/i386/ibcs2/ibcs2_misc.c projects/libprocstat/sys/i386/include/pmap.h projects/libprocstat/sys/i386/include/vm.h projects/libprocstat/sys/i386/pci/pci_bus.c projects/libprocstat/sys/i386/xen/pmap.c projects/libprocstat/sys/ia64/ia64/pmap.c projects/libprocstat/sys/ia64/include/pmap.h projects/libprocstat/sys/ia64/include/vm.h projects/libprocstat/sys/kern/init_main.c projects/libprocstat/sys/kern/init_sysent.c projects/libprocstat/sys/kern/kern_exit.c projects/libprocstat/sys/kern/kern_fork.c projects/libprocstat/sys/kern/kern_jail.c projects/libprocstat/sys/kern/kern_linker.c projects/libprocstat/sys/kern/kern_mbuf.c projects/libprocstat/sys/kern/kern_poll.c projects/libprocstat/sys/kern/kern_proc.c projects/libprocstat/sys/kern/kern_prot.c projects/libprocstat/sys/kern/kern_sig.c projects/libprocstat/sys/kern/kern_synch.c projects/libprocstat/sys/kern/kern_sysctl.c projects/libprocstat/sys/kern/kern_thread.c projects/libprocstat/sys/kern/kern_uuid.c projects/libprocstat/sys/kern/kern_vimage.c projects/libprocstat/sys/kern/link_elf.c projects/libprocstat/sys/kern/link_elf_obj.c projects/libprocstat/sys/kern/subr_sleepqueue.c projects/libprocstat/sys/kern/subr_trap.c projects/libprocstat/sys/kern/syscalls.c projects/libprocstat/sys/kern/syscalls.master projects/libprocstat/sys/kern/systrace_args.c projects/libprocstat/sys/kern/uipc_domain.c projects/libprocstat/sys/kern/uipc_socket.c projects/libprocstat/sys/kern/vfs_bio.c projects/libprocstat/sys/kern/vfs_syscalls.c projects/libprocstat/sys/mips/include/pmap.h projects/libprocstat/sys/mips/include/vm.h projects/libprocstat/sys/mips/mips/pmap.c projects/libprocstat/sys/modules/Makefile projects/libprocstat/sys/modules/cam/Makefile projects/libprocstat/sys/modules/dtrace/dtnfsclient/ (props changed) projects/libprocstat/sys/modules/ip6_mroute_mod/ (props changed) projects/libprocstat/sys/modules/ipmi/ipmi_linux/ (props changed) projects/libprocstat/sys/modules/wlan/Makefile projects/libprocstat/sys/net/bridgestp.c projects/libprocstat/sys/net/flowtable.c projects/libprocstat/sys/net/flowtable.h projects/libprocstat/sys/net/if.c projects/libprocstat/sys/net/if_bridge.c projects/libprocstat/sys/net/if_clone.c projects/libprocstat/sys/net/if_clone.h projects/libprocstat/sys/net/if_ef.c projects/libprocstat/sys/net/if_enc.c projects/libprocstat/sys/net/if_ethersubr.c projects/libprocstat/sys/net/if_faith.c projects/libprocstat/sys/net/if_gif.c projects/libprocstat/sys/net/if_gif.h projects/libprocstat/sys/net/if_gre.c projects/libprocstat/sys/net/if_loop.c projects/libprocstat/sys/net/if_media.h projects/libprocstat/sys/net/if_mib.c projects/libprocstat/sys/net/if_spppsubr.c projects/libprocstat/sys/net/if_stf.c projects/libprocstat/sys/net/if_var.h projects/libprocstat/sys/net/if_vlan.c projects/libprocstat/sys/net/raw_cb.c projects/libprocstat/sys/net/raw_cb.h projects/libprocstat/sys/net/raw_usrreq.c projects/libprocstat/sys/net/route.c projects/libprocstat/sys/net/rtsock.c projects/libprocstat/sys/net/vnet.h projects/libprocstat/sys/net80211/_ieee80211.h projects/libprocstat/sys/net80211/ieee80211.c projects/libprocstat/sys/net80211/ieee80211.h projects/libprocstat/sys/net80211/ieee80211_action.c projects/libprocstat/sys/net80211/ieee80211_ageq.c projects/libprocstat/sys/net80211/ieee80211_crypto.c projects/libprocstat/sys/net80211/ieee80211_crypto.h projects/libprocstat/sys/net80211/ieee80211_ddb.c projects/libprocstat/sys/net80211/ieee80211_freebsd.c projects/libprocstat/sys/net80211/ieee80211_freebsd.h projects/libprocstat/sys/net80211/ieee80211_input.c projects/libprocstat/sys/net80211/ieee80211_input.h projects/libprocstat/sys/net80211/ieee80211_ioctl.c projects/libprocstat/sys/net80211/ieee80211_ioctl.h projects/libprocstat/sys/net80211/ieee80211_node.c projects/libprocstat/sys/net80211/ieee80211_node.h projects/libprocstat/sys/net80211/ieee80211_output.c projects/libprocstat/sys/net80211/ieee80211_proto.c projects/libprocstat/sys/net80211/ieee80211_proto.h projects/libprocstat/sys/net80211/ieee80211_scan.c projects/libprocstat/sys/net80211/ieee80211_scan.h projects/libprocstat/sys/net80211/ieee80211_scan_sta.c projects/libprocstat/sys/net80211/ieee80211_var.h projects/libprocstat/sys/netgraph/atm/ng_atm.c projects/libprocstat/sys/netgraph/bluetooth/socket/ng_btsocket.c projects/libprocstat/sys/netgraph/netgraph.h projects/libprocstat/sys/netgraph/ng_base.c projects/libprocstat/sys/netgraph/ng_eiface.c projects/libprocstat/sys/netgraph/ng_ether.c projects/libprocstat/sys/netgraph/ng_gif.c projects/libprocstat/sys/netgraph/ng_iface.c projects/libprocstat/sys/netgraph/ng_socket.c projects/libprocstat/sys/netinet/icmp6.h projects/libprocstat/sys/netinet/icmp_var.h projects/libprocstat/sys/netinet/if_ether.c projects/libprocstat/sys/netinet/igmp.c projects/libprocstat/sys/netinet/in.c projects/libprocstat/sys/netinet/in_gif.c projects/libprocstat/sys/netinet/in_mcast.c projects/libprocstat/sys/netinet/in_pcb.c projects/libprocstat/sys/netinet/in_pcb.h projects/libprocstat/sys/netinet/in_proto.c projects/libprocstat/sys/netinet/in_rmx.c projects/libprocstat/sys/netinet/in_var.h projects/libprocstat/sys/netinet/ip_carp.c projects/libprocstat/sys/netinet/ip_divert.c projects/libprocstat/sys/netinet/ip_fastfwd.c projects/libprocstat/sys/netinet/ip_fw.h projects/libprocstat/sys/netinet/ip_icmp.c projects/libprocstat/sys/netinet/ip_input.c projects/libprocstat/sys/netinet/ip_ipsec.c projects/libprocstat/sys/netinet/ip_mroute.c projects/libprocstat/sys/netinet/ip_options.c projects/libprocstat/sys/netinet/ip_output.c projects/libprocstat/sys/netinet/ip_var.h projects/libprocstat/sys/netinet/ipfw/ip_dummynet.c (props changed) projects/libprocstat/sys/netinet/ipfw/ip_fw2.c (contents, props changed) projects/libprocstat/sys/netinet/ipfw/ip_fw_nat.c projects/libprocstat/sys/netinet/ipfw/ip_fw_pfil.c (contents, props changed) projects/libprocstat/sys/netinet/raw_ip.c projects/libprocstat/sys/netinet/sctp_os_bsd.h projects/libprocstat/sys/netinet/tcp_hostcache.c projects/libprocstat/sys/netinet/tcp_input.c projects/libprocstat/sys/netinet/tcp_offload.c projects/libprocstat/sys/netinet/tcp_offload.h projects/libprocstat/sys/netinet/tcp_output.c projects/libprocstat/sys/netinet/tcp_reass.c projects/libprocstat/sys/netinet/tcp_sack.c projects/libprocstat/sys/netinet/tcp_subr.c projects/libprocstat/sys/netinet/tcp_syncache.c projects/libprocstat/sys/netinet/tcp_syncache.h projects/libprocstat/sys/netinet/tcp_timer.c projects/libprocstat/sys/netinet/tcp_timewait.c projects/libprocstat/sys/netinet/tcp_usrreq.c projects/libprocstat/sys/netinet/tcp_var.h projects/libprocstat/sys/netinet/udp_usrreq.c projects/libprocstat/sys/netinet/udp_var.h projects/libprocstat/sys/netinet6/dest6.c projects/libprocstat/sys/netinet6/frag6.c projects/libprocstat/sys/netinet6/icmp6.c projects/libprocstat/sys/netinet6/in6.c projects/libprocstat/sys/netinet6/in6_gif.c projects/libprocstat/sys/netinet6/in6_ifattach.c projects/libprocstat/sys/netinet6/in6_mcast.c projects/libprocstat/sys/netinet6/in6_pcb.c projects/libprocstat/sys/netinet6/in6_proto.c projects/libprocstat/sys/netinet6/in6_rmx.c projects/libprocstat/sys/netinet6/in6_src.c projects/libprocstat/sys/netinet6/in6_var.h projects/libprocstat/sys/netinet6/ip6_forward.c projects/libprocstat/sys/netinet6/ip6_input.c projects/libprocstat/sys/netinet6/ip6_ipsec.c projects/libprocstat/sys/netinet6/ip6_mroute.c projects/libprocstat/sys/netinet6/ip6_output.c projects/libprocstat/sys/netinet6/ip6_var.h projects/libprocstat/sys/netinet6/mld6.c projects/libprocstat/sys/netinet6/nd6.c projects/libprocstat/sys/netinet6/nd6.h projects/libprocstat/sys/netinet6/nd6_nbr.c projects/libprocstat/sys/netinet6/nd6_rtr.c projects/libprocstat/sys/netinet6/raw_ip6.c projects/libprocstat/sys/netinet6/raw_ip6.h projects/libprocstat/sys/netinet6/route6.c projects/libprocstat/sys/netinet6/scope6.c projects/libprocstat/sys/netinet6/tcp6_var.h projects/libprocstat/sys/netinet6/udp6_usrreq.c projects/libprocstat/sys/netipsec/ah_var.h projects/libprocstat/sys/netipsec/esp_var.h projects/libprocstat/sys/netipsec/ipcomp_var.h projects/libprocstat/sys/netipsec/ipip_var.h projects/libprocstat/sys/netipsec/ipsec.c projects/libprocstat/sys/netipsec/ipsec.h projects/libprocstat/sys/netipsec/ipsec6.h projects/libprocstat/sys/netipsec/ipsec_input.c projects/libprocstat/sys/netipsec/ipsec_mbuf.c projects/libprocstat/sys/netipsec/ipsec_output.c projects/libprocstat/sys/netipsec/key.c projects/libprocstat/sys/netipsec/key_debug.c projects/libprocstat/sys/netipsec/key_debug.h projects/libprocstat/sys/netipsec/keysock.c projects/libprocstat/sys/netipsec/keysock.h projects/libprocstat/sys/netipsec/xform_ah.c projects/libprocstat/sys/netipsec/xform_esp.c projects/libprocstat/sys/netipsec/xform_ipcomp.c projects/libprocstat/sys/netipsec/xform_ipip.c projects/libprocstat/sys/netipsec/xform_tcp.c projects/libprocstat/sys/nfs/nfs_common.c projects/libprocstat/sys/nfsclient/bootp_subr.c projects/libprocstat/sys/nfsclient/nfs_bio.c projects/libprocstat/sys/nfsclient/nfs_diskless.c projects/libprocstat/sys/nfsclient/nfs_vnops.c projects/libprocstat/sys/nfsclient/nfsmount.h projects/libprocstat/sys/pc98/conf/GENERIC projects/libprocstat/sys/pci/if_rlreg.h projects/libprocstat/sys/powerpc/aim/mmu_oea64.c projects/libprocstat/sys/powerpc/booke/pmap.c projects/libprocstat/sys/powerpc/include/pmap.h projects/libprocstat/sys/powerpc/include/vm.h projects/libprocstat/sys/powerpc/mpc85xx/lbc.h projects/libprocstat/sys/rpc/clnt_rc.c projects/libprocstat/sys/rpc/clnt_vc.c projects/libprocstat/sys/security/audit/audit_bsm_errno.c projects/libprocstat/sys/security/audit/audit_bsm_token.c projects/libprocstat/sys/sparc64/conf/GENERIC projects/libprocstat/sys/sparc64/include/param.h projects/libprocstat/sys/sparc64/include/pmap.h projects/libprocstat/sys/sparc64/include/vm.h projects/libprocstat/sys/sparc64/sparc64/pmap.c projects/libprocstat/sys/sun4v/conf/GENERIC projects/libprocstat/sys/sun4v/include/pmap.h projects/libprocstat/sys/sun4v/include/vm.h projects/libprocstat/sys/sun4v/sun4v/pmap.c projects/libprocstat/sys/sys/domain.h projects/libprocstat/sys/sys/kernel.h projects/libprocstat/sys/sys/namei.h projects/libprocstat/sys/sys/param.h projects/libprocstat/sys/sys/pcpu.h projects/libprocstat/sys/sys/proc.h projects/libprocstat/sys/sys/signalvar.h projects/libprocstat/sys/sys/sleepqueue.h projects/libprocstat/sys/sys/sockio.h projects/libprocstat/sys/sys/syscall.h projects/libprocstat/sys/sys/syscall.mk projects/libprocstat/sys/sys/syscallsubr.h projects/libprocstat/sys/sys/sysctl.h projects/libprocstat/sys/sys/sysproto.h projects/libprocstat/sys/sys/ucred.h projects/libprocstat/sys/sys/user.h projects/libprocstat/sys/sys/vimage.h projects/libprocstat/sys/vm/device_pager.c projects/libprocstat/sys/vm/pmap.h projects/libprocstat/sys/vm/vm.h projects/libprocstat/sys/vm/vm_contig.c projects/libprocstat/sys/vm/vm_extern.h projects/libprocstat/sys/vm/vm_fault.c projects/libprocstat/sys/vm/vm_map.c projects/libprocstat/sys/vm/vm_meter.c projects/libprocstat/sys/vm/vm_mmap.c projects/libprocstat/sys/vm/vm_object.c projects/libprocstat/sys/vm/vm_object.h projects/libprocstat/sys/vm/vm_page.c projects/libprocstat/sys/vm/vm_pageout.c projects/libprocstat/sys/vm/vm_pager.c projects/libprocstat/sys/vm/vm_pager.h projects/libprocstat/sys/vm/vm_phys.c projects/libprocstat/sys/vm/vm_phys.h projects/libprocstat/sys/xen/evtchn/evtchn.c projects/libprocstat/usr.bin/fstat/ (props changed) projects/libprocstat/usr.bin/fstat/fstat.1 Modified: projects/libprocstat/lib/Makefile.inc ============================================================================== --- projects/libprocstat/lib/Makefile.inc Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/Makefile.inc Fri Jul 24 21:38:51 2009 (r195858) @@ -1,3 +1,3 @@ # $FreeBSD$ # Default version for system libs (override in /Makefile if necessary) -SHLIB_MAJOR?= 4 +SHLIB_MAJOR?= 5 Modified: projects/libprocstat/lib/libalias/libalias/Makefile ============================================================================== --- projects/libprocstat/lib/libalias/libalias/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libalias/libalias/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -4,7 +4,7 @@ LIB= alias SHLIBDIR?= /lib -SHLIB_MAJOR= 6 +SHLIB_MAJOR= 7 MAN= libalias.3 SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_mod.c INCS= alias.h Modified: projects/libprocstat/lib/libarchive/Makefile ============================================================================== --- projects/libprocstat/lib/libarchive/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libarchive/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -7,7 +7,7 @@ LDADD= -lbz2 -lz -lmd # FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system. # It has no real relation to the libarchive version number. -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\" CFLAGS+= -I${.OBJDIR} Modified: projects/libprocstat/lib/libautofs/Makefile ============================================================================== --- projects/libprocstat/lib/libautofs/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libautofs/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -2,7 +2,7 @@ # $FreeBSD$ LIB= autofs -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 WARNS?= 4 SRCS= libautofs.c Modified: projects/libprocstat/lib/libbegemot/Makefile ============================================================================== --- projects/libprocstat/lib/libbegemot/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libbegemot/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -5,7 +5,7 @@ LIBBEGEMOT_DIR=${.CURDIR}/../../contrib/ .PATH: ${LIBBEGEMOT_DIR} LIB= begemot -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 SHLIBDIR?= /lib # WARNS?= 6 Modified: projects/libprocstat/lib/libbluetooth/Makefile ============================================================================== --- projects/libprocstat/lib/libbluetooth/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libbluetooth/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -7,7 +7,7 @@ MAN= bluetooth.3 WARNS?= 2 CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 SRCS= bluetooth.c dev.c hci.c INCS= bluetooth.h Modified: projects/libprocstat/lib/libbsm/Makefile ============================================================================== --- projects/libprocstat/lib/libbsm/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libbsm/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -6,7 +6,7 @@ OPENBSMDIR= ${.CURDIR}/../../contrib/op LIBBSMDIR= ${OPENBSMDIR}/libbsm LIB= bsm -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 .PATH: ${LIBBSMDIR} .PATH: ${OPENBSMDIR}/bsm Modified: projects/libprocstat/lib/libbsnmp/Makefile.inc ============================================================================== --- projects/libprocstat/lib/libbsnmp/Makefile.inc Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libbsnmp/Makefile.inc Fri Jul 24 21:38:51 2009 (r195858) @@ -1,6 +1,6 @@ # $FreeBSD$ -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 WARNS?= 6 NO_WERROR= INCSDIR= ${INCLUDEDIR}/bsnmp Modified: projects/libprocstat/lib/libbz2/Makefile ============================================================================== --- projects/libprocstat/lib/libbz2/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libbz2/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -4,7 +4,7 @@ BZ2DIR= ${.CURDIR}/../../contrib/bzip2 .PATH: ${BZ2DIR} LIB= bz2 -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 SRCS= bzlib.c blocksort.c compress.c crctable.c decompress.c \ huffman.c randtable.c INCS= bzlib.h Modified: projects/libprocstat/lib/libc/Makefile ============================================================================== --- projects/libprocstat/lib/libc/Makefile Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/Makefile Fri Jul 24 21:38:51 2009 (r195858) @@ -26,7 +26,7 @@ PRECIOUSLIB= # DPADD+= ${LIBGCC} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lgcc -lssp_nonshared # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: Modified: projects/libprocstat/lib/libc/gen/Makefile.inc ============================================================================== --- projects/libprocstat/lib/libc/gen/Makefile.inc Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/gen/Makefile.inc Fri Jul 24 21:38:51 2009 (r195858) @@ -55,7 +55,7 @@ MAN+= alarm.3 arc4random.3 \ getpagesize.3 getpass.3 getpeereid.3 getprogname.3 getpwent.3 \ getttyent.3 getusershell.3 getvfsbyname.3 \ glob.3 initgroups.3 isgreater.3 ldexp.3 lockf.3 makecontext.3 \ - modf.3 msgctl.3 msgget.3 msgrcv.3 msgsnd.3 \ + modf.3 \ nice.3 nlist.3 pause.3 popen.3 \ posix_spawn.3 posix_spawn_file_actions_addopen.3 \ posix_spawn_file_actions_init.3 posix_spawnattr_getflags.3 \ Modified: projects/libprocstat/lib/libc/gen/dlopen.3 ============================================================================== --- projects/libprocstat/lib/libc/gen/dlopen.3 Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/gen/dlopen.3 Fri Jul 24 21:38:51 2009 (r195858) @@ -32,7 +32,7 @@ .\" @(#) dlopen.3 1.6 90/01/31 SMI .\" $FreeBSD$ .\" -.Dd April 1, 2009 +.Dd July 7, 2009 .Os .Dt DLOPEN 3 .Sh NAME @@ -148,6 +148,13 @@ The same behaviour may be requested by .Fl "z nodelete" option of the static linker .Xr ld 1 . +.It Dv RTLD_NOLOAD +Ony return valid handle for the object if it is already loaded in +the process address space, otherwise +.Dv NULL +is returned. +Other mode flags may be specified, which will be applied for promotion +for the found object. .El .Pp If Modified: projects/libprocstat/lib/libc/gen/ftok.3 ============================================================================== --- projects/libprocstat/lib/libc/gen/ftok.3 Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/gen/ftok.3 Fri Jul 24 21:38:51 2009 (r195858) @@ -24,7 +24,7 @@ .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd June 24, 1994 +.Dd July 9, 2009 .Os .Dt FTOK 3 .Sh NAME @@ -41,7 +41,7 @@ The .Fn ftok function attempts to create a unique key suitable for use with the -.Xr msgget 3 , +.Xr msgget 2 , .Xr semget 2 and .Xr shmget 2 @@ -66,7 +66,7 @@ does not exist or if it cannot be access .Sh SEE ALSO .Xr semget 2 , .Xr shmget 2 , -.Xr msgget 3 +.Xr msgget 2 .Sh HISTORY The .Fn ftok Modified: projects/libprocstat/lib/libc/gen/pw_scan.c ============================================================================== --- projects/libprocstat/lib/libc/gen/pw_scan.c Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/gen/pw_scan.c Fri Jul 24 21:38:51 2009 (r195858) @@ -58,8 +58,14 @@ __FBSDID("$FreeBSD$"); * * If pw_big_ids_warning is -1 on entry to pw_scan(), it will be set based * on the existence of PW_SCAN_BIG_IDS in the environment. + * + * It is believed all baseline system software that can not handle the + * normal ID sizes is now gone so pw_big_ids_warning is disabled for now. + * But the code has been left in place in case end-users want to re-enable + * it and/or for the next time the ID sizes get bigger but pieces of the + * system lag behind. */ -static int pw_big_ids_warning = -1; +static int pw_big_ids_warning = 0; int __pw_scan(char *bp, struct passwd *pw, int flags) @@ -67,6 +73,7 @@ __pw_scan(char *bp, struct passwd *pw, i uid_t id; int root; char *ep, *p, *sh; + unsigned long temp; if (pw_big_ids_warning == -1) pw_big_ids_warning = getenv("PW_SCAN_BIG_IDS") == NULL ? 1 : 0; @@ -94,12 +101,14 @@ __pw_scan(char *bp, struct passwd *pw, i return (0); } } - id = strtoul(p, &ep, 10); - if (errno == ERANGE) { + errno = 0; + temp = strtoul(p, &ep, 10); + if ((temp == ULONG_MAX && errno == ERANGE) || temp > UID_MAX) { if (flags & _PWSCAN_WARN) - warnx("%s > max uid value (%lu)", p, ULONG_MAX); + warnx("%s > max uid value (%u)", p, UID_MAX); return (0); } + id = temp; if (*ep != '\0') { if (flags & _PWSCAN_WARN) warnx("%s uid is incorrect", p); @@ -127,12 +136,14 @@ __pw_scan(char *bp, struct passwd *pw, i return (0); } } - id = strtoul(p, &ep, 10); - if (errno == ERANGE) { + errno = 0; + temp = strtoul(p, &ep, 10); + if ((temp == ULONG_MAX && errno == ERANGE) || temp > GID_MAX) { if (flags & _PWSCAN_WARN) - warnx("%s > max gid value (%lu)", p, ULONG_MAX); + warnx("%s > max gid value (%u)", p, GID_MAX); return (0); } + id = temp; if (*ep != '\0') { if (flags & _PWSCAN_WARN) warnx("%s gid is incorrect", p); Modified: projects/libprocstat/lib/libc/posix1e/Makefile.inc ============================================================================== --- projects/libprocstat/lib/libc/posix1e/Makefile.inc Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/posix1e/Makefile.inc Fri Jul 24 21:38:51 2009 (r195858) @@ -93,9 +93,11 @@ MLINKS+=acl_create_entry.3 acl_create_en acl_get.3 acl_get_file.3 \ acl_get.3 acl_get_fd.3 \ acl_get.3 acl_get_fd_np.3 \ + acl_get.3 acl_get_link_np.3 \ acl_set.3 acl_set_file.3 \ acl_set.3 acl_set_fd.3 \ acl_set.3 acl_set_fd_np.3 \ + acl_set.3 acl_set_link_np.3 \ acl_to_text.3 acl_to_text_np.3 \ acl_valid.3 acl_valid_file_np.3 \ acl_valid.3 acl_valid_fd_np.3 \ Modified: projects/libprocstat/lib/libc/stdio/fread.c ============================================================================== --- projects/libprocstat/lib/libc/stdio/fread.c Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/stdio/fread.c Fri Jul 24 21:38:51 2009 (r195858) @@ -67,9 +67,7 @@ __fread(void * __restrict buf, size_t si size_t total; /* - * The ANSI standard requires a return value of 0 for a count - * or a size of 0. Peculiarily, it imposes no such requirements - * on fwrite; it only requires fread to be broken. + * ANSI and SUSv2 require a return value of 0 if size or count are 0. */ if ((resid = count * size) == 0) return (0); Modified: projects/libprocstat/lib/libc/stdio/fwrite.c ============================================================================== --- projects/libprocstat/lib/libc/stdio/fwrite.c Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/stdio/fwrite.c Fri Jul 24 21:38:51 2009 (r195858) @@ -57,8 +57,15 @@ fwrite(buf, size, count, fp) struct __suio uio; struct __siov iov; + /* + * ANSI and SUSv2 require a return value of 0 if size or count are 0. + */ + n = count * size; + if (n == 0) + return (0); + iov.iov_base = (void *)buf; - uio.uio_resid = iov.iov_len = n = count * size; + uio.uio_resid = iov.iov_len = n; uio.uio_iov = &iov; uio.uio_iovcnt = 1; Modified: projects/libprocstat/lib/libc/sys/Makefile.inc ============================================================================== --- projects/libprocstat/lib/libc/sys/Makefile.inc Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/sys/Makefile.inc Fri Jul 24 21:38:51 2009 (r195858) @@ -81,6 +81,7 @@ MAN+= abort2.2 accept.2 access.2 acct.2 mlockall.2 mmap.2 modfind.2 modnext.2 modstat.2 mount.2 mprotect.2 \ mq_close.2 mq_getattr.2 mq_notify.2 mq_open.2 mq_receive.2 mq_send.2 \ mq_setattr.2 \ + msgctl.2 msgget.2 msgrcv.2 msgsnd.2 \ msync.2 munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 \ pathconf.2 pipe.2 poll.2 posix_openpt.2 profil.2 ptrace.2 quotactl.2 \ read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \ @@ -159,6 +160,7 @@ MLINKS+=mq_send.2 mq_timedsend.2 MLINKS+=ntp_adjtime.2 ntp_gettime.2 MLINKS+=open.2 openat.2 MLINKS+=pathconf.2 fpathconf.2 +MLINKS+=pathconf.2 lpathconf.2 MLINKS+=read.2 pread.2 read.2 preadv.2 read.2 readv.2 MLINKS+=readlink.2 readlinkat.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 Modified: projects/libprocstat/lib/libc/sys/Symbol.map ============================================================================== --- projects/libprocstat/lib/libc/sys/Symbol.map Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/sys/Symbol.map Fri Jul 24 21:38:51 2009 (r195858) @@ -282,7 +282,6 @@ FBSD_1.0 { socket; socketpair; __stack_chk_fail; - __stack_chk_fail_local; __stack_chk_guard; stat; statfs; @@ -346,6 +345,7 @@ FBSD_1.1 { jail_set; jail_remove; linkat; + lpathconf; mkdirat; mkfifoat; mknodat; Modified: projects/libprocstat/lib/libc/sys/link.2 ============================================================================== --- projects/libprocstat/lib/libc/sys/link.2 Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/sys/link.2 Fri Jul 24 21:38:51 2009 (r195858) @@ -110,7 +110,7 @@ are constructed by a bitwise-inclusive O list, defined in .In fcntl.h : .Bl -tag -width indent -.It Dv AT_SYMLINK_NOFOLLOW +.It Dv AT_SYMLINK_FOLLOW If .Fa name1 names a symbolic link, a new link for the target of the symbolic link is Modified: projects/libprocstat/lib/libc/sys/mmap.2 ============================================================================== --- projects/libprocstat/lib/libc/sys/mmap.2 Fri Jul 24 21:35:52 2009 (r195857) +++ projects/libprocstat/lib/libc/sys/mmap.2 Fri Jul 24 21:38:51 2009 (r195858) @@ -28,7 +28,7 @@ .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 .\" $FreeBSD$ .\" -.Dd October 24, 2008 +.Dd July 14, 2009 .Dt MMAP 2 .Os .Sh NAME @@ -306,7 +306,7 @@ resides out of the valid address space f The .Fa len argument -was negative. +was equal to zero. .It Bq Er EINVAL .Dv MAP_ANON was specified and the Copied: projects/libprocstat/lib/libc/sys/msgctl.2 (from r195855, head/lib/libc/sys/msgctl.2) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/libprocstat/lib/libc/sys/msgctl.2 Fri Jul 24 21:38:51 2009 (r195858, copy of r195855, head/lib/libc/sys/msgctl.2) @@ -0,0 +1,210 @@ +.\" $NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 July 9, 2009 +.Dt MSGCTL 2 +.Os +.Sh NAME +.Nm msgctl +.Nd message control operations +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ipc.h +.In sys/msg.h +.Ft int +.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" +.Sh DESCRIPTION +The +.Fn msgctl +system call performs some control operations on the message queue specified +by +.Fa msqid . +.Pp +Each message queue has a data structure associated with it, parts of which +may be altered by +.Fn msgctl +and parts of which determine the actions of +.Fn msgctl . +The data structure is defined in +.In sys/msg.h +and contains (amongst others) the following members: +.Bd -literal +struct msqid_ds { + 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() */ +}; +.Ed +.Pp +The +.Vt ipc_perm +structure used inside the +.Vt msqid_ds +structure is defined in +.In sys/ipc.h +and looks like this: +.Bd -literal +struct ipc_perm { + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ + unsigned short seq; /* sequence # (to generate unique ipcid) */ + key_t key; /* user specified msg/sem/shm key */ +}; +.Ed +.Pp +The operation to be performed by +.Fn msgctl +is specified in +.Fa cmd +and is one of: +.Bl -tag -width IPC_RMIDX +.It Dv IPC_STAT +Gather information about the message queue and place it in the +structure pointed to by +.Fa buf . +.It Dv IPC_SET +Set the value of the +.Va msg_perm.uid , +.Va msg_perm.gid , +.Va msg_perm.mode +and +.Va msg_qbytes +fields in the structure associated with +.Fa msqid . +The values are taken from the corresponding fields in the structure +pointed to by +.Fa buf . +This operation can only be executed by the super-user, or a process that +has an effective user id equal to either +.Va msg_perm.cuid +or +.Va msg_perm.uid +in the data structure associated with the message queue. +The value of +.Va msg_qbytes +can only be increased by the super-user. +Values for +.Va msg_qbytes +that exceed the system limit (MSGMNB from +.In sys/msg.h ) +are silently truncated to that limit. +.It Dv IPC_RMID +Remove the message queue specified by +.Fa msqid +and destroy the data associated with it. +Only the super-user or a process +with an effective uid equal to the +.Va msg_perm.cuid +or +.Va msg_perm.uid +values in the data structure associated with the queue can do this. +.El +.Pp +The permission to read from or write to a message queue (see +.Xr msgsnd 2 +and +.Xr msgrcv 2 ) +is determined by the +.Va msg_perm.mode +field in the same way as is +done with files (see +.Xr chmod 2 ) , +but the effective uid can match either the +.Va msg_perm.cuid +field or the +.Va msg_perm.uid +field, and the +effective gid can match either +.Va msg_perm.cgid +or +.Va msg_perm.gid . +.Sh RETURN VALUES +.Rv -std msgctl +.Sh ERRORS +The +.Fn msgctl +function +will fail if: +.Bl -tag -width Er +.It Bq Er EPERM +The +.Fa cmd +argument +is equal to IPC_SET or IPC_RMID and the caller is not the super-user, nor does +the effective uid match either the +.Va msg_perm.uid +or +.Va msg_perm.cuid +fields of the data structure associated with the message queue. +.Pp +An attempt is made to increase the value of +.Va msg_qbytes +through IPC_SET +but the caller is not the super-user. +.It Bq Er EACCES +The command is IPC_STAT +and the caller has no read permission for this message queue. +.It Bq Er EINVAL +The +.Fa msqid +argument +is not a valid message queue identifier. +.Pp +.Va cmd +is not a valid command. +.It Bq Er EFAULT +The +.Fa buf +argument +specifies an invalid address. +.El +.Sh SEE ALSO +.Xr msgget 2 , +.Xr msgrcv 2 , +.Xr msgsnd 2 +.Sh HISTORY +Message queues appeared in the first release of +.At V . Copied: projects/libprocstat/lib/libc/sys/msgget.2 (from r195855, head/lib/libc/sys/msgget.2) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/libprocstat/lib/libc/sys/msgget.2 Fri Jul 24 21:38:51 2009 (r195858, copy of r195855, head/lib/libc/sys/msgget.2) @@ -0,0 +1,141 @@ +.\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 July 9, 2009 +.Dt MSGGET 2 +.Os +.Sh NAME +.Nm msgget +.Nd get message queue +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ipc.h +.In sys/msg.h +.Ft int +.Fn msgget "key_t key" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgget +function +returns the message queue identifier associated with +.Fa key . +A message queue identifier is a unique integer greater than zero. +.Pp +A message queue is created if either +.Fa key +is equal to +.Dv IPC_PRIVATE , +or +.Fa key +does not have a message queue identifier associated with it, and the +.Dv IPC_CREAT +bit is set in +.Fa msgflg . +.Pp +If a new message queue is created, the data structure associated with it (the +.Va msqid_ds +structure, see +.Xr msgctl 2 ) +is initialized as follows: +.Bl -bullet +.It +.Va msg_perm.cuid +and +.Va msg_perm.uid +are set to the effective uid of the calling process. +.It +.Va msg_perm.gid +and +.Va msg_perm.cgid +are set to the effective gid of the calling process. +.It +.Va msg_perm.mode +is set to the lower 9 bits of +.Fa msgflg . +.It +.Va msg_cbytes , +.Va msg_qnum , +.Va msg_lspid , +.Va msg_lrpid , +.Va msg_rtime , +and +.Va msg_stime +are set to 0. +.It +.Va msg_qbytes +is set to the system wide maximum value for the number of bytes in a queue +.Pf ( Dv MSGMNB ) . +.It +.Va msg_ctime +is set to the current time. +.El +.Sh RETURN VALUES +Upon successful completion a positive message queue identifier is returned. +Otherwise, -1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Bl -tag -width Er +.It Bq Er EACCES +A message queue is already associated with +.Fa key +and the caller has no permission to access it. +.It Bq Er EEXIST +Both +.Dv IPC_CREAT +and +.Dv IPC_EXCL +are set in +.Fa msgflg , +and a message queue is already associated with +.Fa key . +.It Bq Er ENOSPC +A new message queue could not be created because the system limit for +the number of message queues has been reached. +.It Bq Er ENOENT +.Dv IPC_CREAT +was not set in +.Fa msgflg +and no message queue associated with +.Fa key +was found. +.El +.Sh SEE ALSO +.Xr msgctl 2 , +.Xr msgrcv 2 , +.Xr msgsnd 2 +.Sh HISTORY +Message queues appeared in the first release of +.At V . Copied: projects/libprocstat/lib/libc/sys/msgrcv.2 (from r195855, head/lib/libc/sys/msgrcv.2) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/libprocstat/lib/libc/sys/msgrcv.2 Fri Jul 24 21:38:51 2009 (r195858, copy of r195855, head/lib/libc/sys/msgrcv.2) @@ -0,0 +1,222 @@ +.\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 July 9, 2009 +.Dt MSGRCV 2 +.Os +.Sh NAME +.Nm msgrcv +.Nd receive a message from a message queue +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ipc.h +.In sys/msg.h +.Ft int +.Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgrcv +function receives a message from the message queue specified in +.Fa msqid , +and places it into the structure pointed to by +.Fa msgp . +This structure should consist of the following members: +.Bd -literal + long mtype; /* message type */ + char mtext[1]; /* body of message */ +.Ed +.Pp +.Va mtype +is an integer greater than 0 that can be used for selecting messages, +.Va mtext +is an array of bytes, with a size up to that of the system limit +.Pf ( Dv MSGMAX ) . +.Pp +The value of +.Fa msgtyp +has one of the following meanings: +.Bl -bullet +.It +The +.Fa msgtyp +argument +is greater than 0. +The first message of type +.Fa msgtyp +will be received. +.It +The +.Fa msgtyp +argument +is equal to 0. +The first message on the queue will be received. +.It +The +.Fa msgtyp +argument +is less than 0. +The first message of the lowest message type that is +less than or equal to the absolute value of +.Fa msgtyp +will be received. +.El +.Pp +The +.Fa msgsz +argument +specifies the maximum length of the requested message. +If the received +message has a length greater than +.Fa msgsz +it will be silently truncated if the +.Dv MSG_NOERROR +flag is set in +.Fa msgflg , +otherwise an error will be returned. +.Pp +If no matching message is present on the message queue specified by +.Fa msqid , +the behavior of +.Fn msgrcv +depends on whether the +.Dv IPC_NOWAIT +flag is set in +.Fa msgflg +or not. +If +.Dv IPC_NOWAIT +is set, +.Fn msgrcv +will immediately return a value of -1, and set +.Va errno +to +.Er ENOMSG . +If +.Dv IPC_NOWAIT +is not set, the calling process will be blocked +until: +.Bl -bullet +.It +A message of the requested type becomes available on the message queue. +.It +The message queue is removed, in which case -1 will be returned, and +.Va errno +set to +.Er EINVAL . +.It +A signal is received and caught. +-1 is returned, and +.Va errno +set to +.Er EINTR . +.El +.Pp +If a message is successfully received, the data structure associated with +.Fa msqid +is updated as follows: +.Bl -bullet +.It +.Va msg_cbytes +is decremented by the size of the message. +.It +.Va msg_lrpid +is set to the pid of the caller. +.It +.Va msg_lrtime +is set to the current time. +.It +.Va msg_qnum +is decremented by 1. +.El +.Sh RETURN VALUES +Upon successful completion, +.Fn msgrcv +returns the number of bytes received into the +.Va mtext +field of the structure pointed to by +.Fa msgp . +Otherwise, -1 is returned, and +.Va errno +set to indicate the error. +.Sh ERRORS +The +.Fn msgrcv +function +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa msqid +argument +is not a valid message queue identifier. +.Pp +The message queue was removed while +.Fn msgrcv +was waiting for a message of the requested type to become available on it. +.Pp +The +.Fa msgsz +argument +is less than 0. +.It Bq Er E2BIG +A matching message was received, but its size was greater than +.Fa msgsz +and the +.Dv MSG_NOERROR +flag was not set in +.Fa msgflg . +.It Bq Er EACCES +The calling process does not have read access to the message queue. +.It Bq Er EFAULT +The +.Fa msgp +argument +points to an invalid address. +.It Bq Er EINTR +The system call was interrupted by the delivery of a signal. +.It Bq Er ENOMSG +There is no message of the requested type available on the message queue, +and +.Dv IPC_NOWAIT +is set in +.Fa msgflg . +.El +.Sh SEE ALSO +.Xr msgctl 2 , +.Xr msgget 2 , +.Xr msgsnd 2 +.Sh HISTORY +Message queues appeared in the first release of +.At V . Copied: projects/libprocstat/lib/libc/sys/msgsnd.2 (from r195855, head/lib/libc/sys/msgsnd.2) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/libprocstat/lib/libc/sys/msgsnd.2 Fri Jul 24 21:38:51 2009 (r195858, copy of r195855, head/lib/libc/sys/msgsnd.2) @@ -0,0 +1,184 @@ +.\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 July 9, 2009 +.Dt MSGSND 2 +.Os +.Sh NAME +.Nm msgsnd +.Nd send a message to a message queue +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/ipc.h +.In sys/msg.h +.Ft int +.Fn msgsnd "int msqid" "const void *msgp" "size_t msgsz" "int msgflg" +.Sh DESCRIPTION +The +.Fn msgsnd +function sends a message to the message queue specified in +.Fa msqid . +The +.Fa msgp +argument +points to a structure containing the message. +This structure should +consist of the following members: +.Bd -literal + long mtype; /* message type */ + char mtext[1]; /* body of message */ +.Ed +.Pp +.Va mtype +is an integer greater than 0 that can be used for selecting messages (see +.Xr msgrcv 2 ) , +.Va mtext +is an array of +.Fa msgsz +bytes. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 10:22:09 2009 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 51F42106566C; Sat, 25 Jul 2009 10:22:09 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2735A8FC17; Sat, 25 Jul 2009 10:22:09 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PAM9F4037060; Sat, 25 Jul 2009 10:22:09 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PAM98R037059; Sat, 25 Jul 2009 10:22:09 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <200907251022.n6PAM98R037059@svn.freebsd.org> From: Peter Holm Date: Sat, 25 Jul 2009 10:22:09 +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: r195864 - projects/stress2/misc 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, 25 Jul 2009 10:22:09 -0000 Author: pho Date: Sat Jul 25 10:22:08 2009 New Revision: 195864 URL: http://svn.freebsd.org/changeset/base/195864 Log: Added test scenario for NFS intr mount and SIGSTOP. Added: projects/stress2/misc/nfs8.sh (contents, props changed) Added: projects/stress2/misc/nfs8.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stress2/misc/nfs8.sh Sat Jul 25 10:22:08 2009 (r195864) @@ -0,0 +1,58 @@ +#!/bin/sh + +# +# Copyright (c) 2009 Peter Holm +# 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$ +# + +# Test scenario for a lock cascade problem with sending SIGSTOP to processes +# accessing a NFS intr mount. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +[ ! -d $mntpoint ] && mkdir $mntpoint +mount | grep "$mntpoint" | grep nfs > /dev/null && umount $mntpoint +mount -t nfs -o nfsv3,tcp,nolockd -o retrycnt=3 -o intr -o soft -o rw 127.0.0.1:/tmp $mntpoint + +pids="" +for i in `jot 10`; do + find $mntpoint > /dev/null 2>&1 & + sleep 0.1 + kill -s STOP $! + pids="$pids $!" +done + +umount $mntpoint 2>&1 | grep -v "Device busy" +while mount | grep -q $mntpoint; do + umount -f $mntpoint > /dev/null 2>&1 +done + +kill -s CONT $pids +for i in `jot 10`; do + wait +done From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 10:22:51 2009 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 B43971065670; Sat, 25 Jul 2009 10:22:51 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B5AA8FC18; Sat, 25 Jul 2009 10:22:51 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PAMptC037107; Sat, 25 Jul 2009 10:22:51 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PAMp7r037105; Sat, 25 Jul 2009 10:22:51 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <200907251022.n6PAMp7r037105@svn.freebsd.org> From: Peter Holm Date: Sat, 25 Jul 2009 10:22:51 +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: r195865 - projects/stress2/misc 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, 25 Jul 2009 10:22:52 -0000 Author: pho Date: Sat Jul 25 10:22:51 2009 New Revision: 195865 URL: http://svn.freebsd.org/changeset/base/195865 Log: Added new test scenario based on nfs4.sh. Added: projects/stress2/misc/nfs9.sh (contents, props changed) Added: projects/stress2/misc/nfs9.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stress2/misc/nfs9.sh Sat Jul 25 10:22:51 2009 (r195865) @@ -0,0 +1,62 @@ +#!/bin/sh + +# +# Copyright (c) 2008 Peter Holm +# 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$ +# + +# Copy of nfs4.sh, where it was discovered that a missing killall.sh script +# turned up quite a few new panics. For example: + +# vfs_mount_destroy: nonzero writeopcount +# Lock nfs not locked @ kern/vfs_default.c:462 +# Assertion x == LK_SHARERS_LOCK(1) failed at kern/kern_lock.c:236 + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +[ ! -d $mntpoint ] && mkdir $mntpoint +for i in `jot 10`; do + mount | grep "$mntpoint" | grep nfs > /dev/null && umount $mntpoint + mount -t nfs -o tcp -o retrycnt=3 -o intr -o soft -o rw 127.0.0.1:/tmp $mntpoint + rm -rf $mntpoint/stressX/* + rm -rf /tmp/stressX.control + + export RUNDIR=$mntpoint/nfs/stressX + [ ! -d $RUNDIR ] && mkdir -p $RUNDIR + export runRUNTIME=3m + rm -rf /tmp/stressX.control/* + + (cd ..; ./run.sh all.cfg) & + sleep 60 + + while mount | grep -q $mntpoint; do + umount -f $mntpoint > /dev/null 2>&1 + done + kill -9 $! +done +../tools/killall.sh From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 14:31:25 2009 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 3F513106566B; Sat, 25 Jul 2009 14:31:25 +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 DB1F88FC1E; Sat, 25 Jul 2009 14:31:24 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PEVOrB043167; Sat, 25 Jul 2009 14:31:24 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PEVOu5043150; Sat, 25 Jul 2009 14:31:24 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200907251431.n6PEVOu5043150@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 25 Jul 2009 14:31: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: r195868 - in projects/ppc64: . gnu/usr.bin/binutils gnu/usr.bin/binutils/as gnu/usr.bin/binutils/as/powerpc64-freebsd gnu/usr.bin/binutils/as/ppc64-freebsd gnu/usr.bin/binutils/gdb gnu/... 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, 25 Jul 2009 14:31:25 -0000 Author: nwhitehorn Date: Sat Jul 25 14:31:24 2009 New Revision: 195868 URL: http://svn.freebsd.org/changeset/base/195868 Log: Before I get too far, rename the architecture from 'ppc64' to 'powerpc64'. This seems to be a more common name. Added: projects/ppc64/gnu/usr.bin/binutils/as/powerpc64-freebsd/ - copied from r195670, projects/ppc64/gnu/usr.bin/binutils/as/ppc64-freebsd/ projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 - copied unchanged from r195670, projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.powerpc64 - copied unchanged from r195670, projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.powerpc64 - copied unchanged from r195670, projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.powerpc64 - copied unchanged from r195670, projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.ppc64 Deleted: projects/ppc64/gnu/usr.bin/binutils/as/ppc64-freebsd/ projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.ppc64 projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.ppc64 Modified: projects/ppc64/Makefile.inc1 projects/ppc64/gnu/usr.bin/binutils/Makefile.inc0 projects/ppc64/gnu/usr.bin/binutils/as/Makefile projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile projects/ppc64/gnu/usr.bin/cc/Makefile.tgt projects/ppc64/gnu/usr.bin/cc/cc_tools/Makefile projects/ppc64/gnu/usr.bin/cc/include/Makefile projects/ppc64/lib/libc/Makefile projects/ppc64/lib/msun/Makefile projects/ppc64/share/mk/bsd.endian.mk projects/ppc64/sys/conf/kern.mk Modified: projects/ppc64/Makefile.inc1 ============================================================================== --- projects/ppc64/Makefile.inc1 Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/Makefile.inc1 Sat Jul 25 14:31:24 2009 (r195868) @@ -128,7 +128,7 @@ TARGET= ${TARGET_ARCH} TARGET?= ${MACHINE} TARGET_ARCH?= ${MACHINE_ARCH} -KNOWN_ARCHES?= amd64 arm i386 i386/pc98 ia64 mips powerpc ppc64 sparc64 sparc64/sun4v +KNOWN_ARCHES?= amd64 arm i386 i386/pc98 ia64 mips powerpc powerpc64 sparc64 sparc64/sun4v .if ${TARGET} == ${TARGET_ARCH} _t= ${TARGET} .else Modified: projects/ppc64/gnu/usr.bin/binutils/Makefile.inc0 ============================================================================== --- projects/ppc64/gnu/usr.bin/binutils/Makefile.inc0 Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/binutils/Makefile.inc0 Sat Jul 25 14:31:24 2009 (r195868) @@ -9,8 +9,6 @@ VERSION= "2.15 [FreeBSD] 2004-05-23" TARGET_ARCH?= ${MACHINE_ARCH} .if ${TARGET_ARCH} == "amd64" BINUTILS_ARCH=x86_64 -.elif ${TARGET_ARCH} == "ppc64" -BINUTILS_ARCH=powerpc64 .else BINUTILS_ARCH=${TARGET_ARCH} .endif Modified: projects/ppc64/gnu/usr.bin/binutils/as/Makefile ============================================================================== --- projects/ppc64/gnu/usr.bin/binutils/as/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/binutils/as/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -26,7 +26,7 @@ SRCS+= itbl-ops.c itbl-parse.y itbl-lex. .if ${TARGET_ARCH} == "amd64" SRCS+= tc-i386.c -.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" SRCS+= tc-ppc.c .elif ${TARGET_ARCH} == "sparc64" # change back to tc-sparc.c when new binutils is imported Modified: projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile ============================================================================== --- projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -12,7 +12,7 @@ GDBDIR= ${.CURDIR}/../../../../contrib/g GDB_CPU= sparc .elif ${TARGET_ARCH} == "amd64" GDB_CPU= i386 -.elif ${TARGET_ARCH} == "ppc64" +.elif ${TARGET_ARCH} == "powerpc64" GDB_CPU= powerpc .else GDB_CPU= ${TARGET_ARCH} Copied: projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 (from r195670, projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.ppc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 Sat Jul 25 14:31:24 2009 (r195868, copy of r195670, projects/ppc64/gnu/usr.bin/binutils/gdb/Makefile.ppc64) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +XSRCS+= ppcnbsd-nat.c ppc-tdep.c \ + core-regset.c +CFLAGS+= -DDEFAULT_BFD_VEC=bfd_elf64_powerpc_vec Copied: projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.powerpc64 (from r195670, projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.ppc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.powerpc64 Sat Jul 25 14:31:24 2009 (r195868, copy of r195670, projects/ppc64/gnu/usr.bin/binutils/ld/Makefile.ppc64) @@ -0,0 +1,12 @@ +# $FreeBSD$ + +NATIVE_EMULATION= elf64ppc + +SRCS+= e${NATIVE_EMULATION}.c +CLEANFILES+= e${NATIVE_EMULATION}.c +e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \ + scripttempl/elf.sc genscripts.sh stringify.sed + sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${LIBSERACHPATH} \ + ${TOOLS_PREFIX}/usr \ + ${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \ + ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE} Modified: projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile ============================================================================== --- projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -25,7 +25,7 @@ SELARCH= SELARCH= &bfd_i386_arch .elif ${TARGET_ARCH} == "sparc64" SELARCH= &bfd_sparc_arch -.elif ${TARGET_ARCH} == "ppc64" +.elif ${TARGET_ARCH} == "powerpc64" SELARCH= &bfd_powerpc_arch .else .for _a in ${ARCHS} Copied: projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.powerpc64 (from r195670, projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.ppc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.powerpc64 Sat Jul 25 14:31:24 2009 (r195868, copy of r195670, projects/ppc64/gnu/usr.bin/binutils/libbfd/Makefile.ppc64) @@ -0,0 +1,25 @@ +# $FreeBSD: src/gnu/usr.bin/binutils/libbfd/Makefile.powerpc,v 1.9 2006/08/24 02:36:21 marcel Exp $ + +ARCHS+= rs6000 + +DEFAULT_VECTOR= bfd_elf64_powerpc_vec + +SRCS+= cpu-powerpc.c \ + cpu-rs6000.c \ + elf32.c \ + elf32-gen.c \ + elf32-ppc.c \ + elf32-target.h \ + elflink.c \ + elf64.c \ + elf64-gen.c \ + elf64-ppc.c \ + elf64-target.h \ + elflink.c \ + ppcboot.c \ + xcofflink.c + +VECS+= ${DEFAULT_VECTOR} \ + bfd_elf64_powerpcle_vec \ + bfd_elf32_powerpc_vec \ + bfd_elf32_powerpcle_vec Copied: projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.powerpc64 (from r195670, projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.ppc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.powerpc64 Sat Jul 25 14:31:24 2009 (r195868, copy of r195670, projects/ppc64/gnu/usr.bin/binutils/libopcodes/Makefile.ppc64) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +SRCS+= ppc-dis.c ppc-opc.c +CFLAGS+= -DARCH_powerpc -DARCH_rs6000 Modified: projects/ppc64/gnu/usr.bin/cc/Makefile.tgt ============================================================================== --- projects/ppc64/gnu/usr.bin/cc/Makefile.tgt Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/cc/Makefile.tgt Sat Jul 25 14:31:24 2009 (r195868) @@ -4,7 +4,7 @@ TARGET_ARCH?= ${MACHINE_ARCH} .if ${TARGET_ARCH} == "amd64" GCC_CPU= i386 -.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" GCC_CPU= rs6000 .elif ${TARGET_ARCH} == "sparc64" GCC_CPU= sparc @@ -21,7 +21,7 @@ TARGET_CPU_DEFAULT= 16 .if ${TARGET_ARCH} == "sparc64" TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc .endif -.if ${TARGET_ARCH} == "ppc64" +.if ${TARGET_ARCH} == "powerpc64" TARGET_CPU_DEFAULT= \"powerpc64\" .endif Modified: projects/ppc64/gnu/usr.bin/cc/cc_tools/Makefile ============================================================================== --- projects/ppc64/gnu/usr.bin/cc/cc_tools/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/cc/cc_tools/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -56,7 +56,7 @@ TARGET_INC+= ${GCC_CPU}/freebsd.h .if ${TARGET_ARCH} == "amd64" TARGET_INC+= ${GCC_CPU}/freebsd64.h .endif -.if ${TARGET_ARCH} == "ppc64" +.if ${TARGET_ARCH} == "powerpc64" TARGET_INC+= ${GCC_CPU}/default64.h .endif .if ${TARGET_ARCH} == "arm" @@ -174,7 +174,7 @@ OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/ OPT_FILES+= ${.CURDIR}/${GCC_CPU}-freebsd.opt .endif -.if ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" +.if ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/sysv4.opt .endif Modified: projects/ppc64/gnu/usr.bin/cc/include/Makefile ============================================================================== --- projects/ppc64/gnu/usr.bin/cc/include/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/gnu/usr.bin/cc/include/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -10,7 +10,7 @@ INCS= emmintrin.h mmintrin.h pmmintrin.h INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" INCS= mmintrin.h -.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" INCS= ppc-asm.h altivec.h spe.h .endif Modified: projects/ppc64/lib/libc/Makefile ============================================================================== --- projects/ppc64/lib/libc/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/lib/libc/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -51,6 +51,7 @@ NOASM= .include "${.CURDIR}/posix1e/Makefile.inc" .if ${MACHINE_ARCH} != "amd64" && \ ${MACHINE_ARCH} != "ia64" && \ + ${MACHINE_ARCH} != "powerpc64" && \ ${MACHINE_ARCH} != "sparc64" .include "${.CURDIR}/quad/Makefile.inc" .endif Modified: projects/ppc64/lib/msun/Makefile ============================================================================== --- projects/ppc64/lib/msun/Makefile Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/lib/msun/Makefile Sat Jul 25 14:31:24 2009 (r195868) @@ -14,6 +14,8 @@ .if ${MACHINE_ARCH} == "i386" ARCH_SUBDIR= i387 +.elif ${MACHINE_ARCH} == "powerpc64" +ARCH_SUBDIR= powerpc .else ARCH_SUBDIR= ${MACHINE_ARCH} .endif Modified: projects/ppc64/share/mk/bsd.endian.mk ============================================================================== --- projects/ppc64/share/mk/bsd.endian.mk Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/share/mk/bsd.endian.mk Sat Jul 25 14:31:24 2009 (r195868) @@ -7,7 +7,7 @@ (${MACHINE_ARCH} == "mips" && !defined(TARGET_BIG_ENDIAN)) TARGET_ENDIANNESS= 1234 .elif ${MACHINE_ARCH} == "powerpc" || \ - ${MACHINE_ARCH} == "ppc64" || \ + ${MACHINE_ARCH} == "powerpc64" || \ ${MACHINE_ARCH} == "sparc64" || \ ${MACHINE_ARCH} == "arm" || \ ${MACHINE_ARCH} == "mips" Modified: projects/ppc64/sys/conf/kern.mk ============================================================================== --- projects/ppc64/sys/conf/kern.mk Sat Jul 25 11:10:51 2009 (r195867) +++ projects/ppc64/sys/conf/kern.mk Sat Jul 25 14:31:24 2009 (r195868) @@ -80,7 +80,7 @@ INLINE_LIMIT?= 8000 # floating point registers for integer operations which it has a tendency to do. # Also explicitly disable Altivec instructions inside the kernel. # -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "ppc64" +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" CFLAGS+= -msoft-float -mno-altivec INLINE_LIMIT?= 15000 .endif From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 14:33:22 2009 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 00048106564A; Sat, 25 Jul 2009 14:33:21 +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 E291D8FC30; Sat, 25 Jul 2009 14:33:21 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PEXLBk043306; Sat, 25 Jul 2009 14:33:21 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PEXLYn043304; Sat, 25 Jul 2009 14:33:21 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200907251433.n6PEXLYn043304@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 25 Jul 2009 14:33: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: r195869 - projects/ppc64/sys/powerpc/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: Sat, 25 Jul 2009 14:33:22 -0000 Author: nwhitehorn Date: Sat Jul 25 14:33:21 2009 New Revision: 195869 URL: http://svn.freebsd.org/changeset/base/195869 Log: Add some #ifdefs to powerpc _types to set LP64 types if we are compiling for 64-bit PowerPC. The goal here is to share machine/*.h completely between powerpc and powerpc64. Modified: projects/ppc64/sys/powerpc/include/_types.h Modified: projects/ppc64/sys/powerpc/include/_types.h ============================================================================== --- projects/ppc64/sys/powerpc/include/_types.h Sat Jul 25 14:31:24 2009 (r195868) +++ projects/ppc64/sys/powerpc/include/_types.h Sat Jul 25 14:33:21 2009 (r195869) @@ -53,6 +53,13 @@ typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; +#ifdef __powerpc64__ + +typedef long __int64_t; +typedef unsigned long __uint64_t; + +#else + #if defined(lint) /* LONGLONG */ typedef long long __int64_t; @@ -68,17 +75,25 @@ typedef long long __int64_t; typedef unsigned long long __uint64_t; #endif +#endif + /* * Standard type definitions. */ typedef __uint32_t __clock_t; /* clock()... */ typedef unsigned int __cpumask_t; -typedef __int32_t __critical_t; typedef double __double_t; typedef double __float_t; +#ifdef __powerpc64__ +typedef __int64_t __critical_t; +typedef __int64_t __intfptr_t; +typedef __int64_t __intptr_t; +#else +typedef __int32_t __critical_t; typedef __int32_t __intfptr_t; -typedef __int64_t __intmax_t; typedef __int32_t __intptr_t; +#endif +typedef __int64_t __intmax_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; @@ -87,6 +102,17 @@ typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; +#ifdef __powerpc64__ +typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */ +typedef __int64_t __register_t; +typedef __int64_t __segsz_t; /* segment size (in pages) */ +typedef __uint64_t __size_t; /* sizeof() */ +typedef __int64_t __ssize_t; /* byte count or error */ +typedef __int64_t __time_t; /* time()... */ +typedef __uint64_t __uintfptr_t; +typedef __uint64_t __uintptr_t; +#else +typedef __uint64_t __uintmax_t; typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int32_t __register_t; typedef __int32_t __segsz_t; /* segment size (in pages) */ @@ -94,8 +120,9 @@ typedef __uint32_t __size_t; /* sizeof( typedef __int32_t __ssize_t; /* byte count or error */ typedef __int32_t __time_t; /* time()... */ typedef __uint32_t __uintfptr_t; -typedef __uint64_t __uintmax_t; typedef __uint32_t __uintptr_t; +#endif +typedef __uint64_t __uintmax_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; @@ -104,12 +131,19 @@ typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; +#ifdef __powerpc64__ +typedef __uint64_t __u_register_t; +typedef __uint64_t __vm_offset_t; +typedef __uint64_t __vm_paddr_t; +typedef __uint64_t __vm_size_t; +#else typedef __uint32_t __u_register_t; typedef __uint32_t __vm_offset_t; -typedef __int64_t __vm_ooffset_t; typedef __uint32_t __vm_paddr_t; -typedef __uint64_t __vm_pindex_t; typedef __uint32_t __vm_size_t; +#endif +typedef __int64_t __vm_ooffset_t; +typedef __uint64_t __vm_pindex_t; /* * Unusual type definitions. From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 15:47:57 2009 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 70F62106566B; Sat, 25 Jul 2009 15:47:57 +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 5D77C8FC0C; Sat, 25 Jul 2009 15:47:57 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PFlvHE044737; Sat, 25 Jul 2009 15:47:57 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PFlvb9044729; Sat, 25 Jul 2009 15:47:57 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200907251547.n6PFlvb9044729@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 25 Jul 2009 15:47: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: r195871 - in projects/ppc64/sys: powerpc/include sys 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, 25 Jul 2009 15:47:57 -0000 Author: nwhitehorn Date: Sat Jul 25 15:47:57 2009 New Revision: 195871 URL: http://svn.freebsd.org/changeset/base/195871 Log: Add in some more type-dependent definitions and define 64-bit atomic functions on powerpc64. This (a) manages to not break a 32-bit kernel and (b) gets all of the MI stuff in the 64-bit kernel compiling. The elf.h changes are a hack and should be revisited after a closer look at the 64-bit ABI. Modified: projects/ppc64/sys/powerpc/include/_bus.h projects/ppc64/sys/powerpc/include/_types.h projects/ppc64/sys/powerpc/include/atomic.h projects/ppc64/sys/powerpc/include/db_machdep.h projects/ppc64/sys/powerpc/include/elf.h projects/ppc64/sys/powerpc/include/runq.h projects/ppc64/sys/sys/user.h Modified: projects/ppc64/sys/powerpc/include/_bus.h ============================================================================== --- projects/ppc64/sys/powerpc/include/_bus.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/_bus.h Sat Jul 25 15:47:57 2009 (r195871) @@ -31,16 +31,18 @@ #ifndef POWERPC_INCLUDE__BUS_H #define POWERPC_INCLUDE__BUS_H +#include + /* * Bus address and size types */ -typedef u_int32_t bus_addr_t; -typedef u_int32_t bus_size_t; +typedef vm_paddr_t bus_addr_t; +typedef vm_size_t bus_size_t; /* * Access methods for bus resources and address space. */ typedef struct bus_space *bus_space_tag_t; -typedef u_int32_t bus_space_handle_t; +typedef vm_offset_t bus_space_handle_t; #endif /* POWERPC_INCLUDE__BUS_H */ Modified: projects/ppc64/sys/powerpc/include/_types.h ============================================================================== --- projects/ppc64/sys/powerpc/include/_types.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/_types.h Sat Jul 25 15:47:57 2009 (r195871) @@ -112,7 +112,6 @@ typedef __int64_t __time_t; /* time().. typedef __uint64_t __uintfptr_t; typedef __uint64_t __uintptr_t; #else -typedef __uint64_t __uintmax_t; typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int32_t __register_t; typedef __int32_t __segsz_t; /* segment size (in pages) */ Modified: projects/ppc64/sys/powerpc/include/atomic.h ============================================================================== --- projects/ppc64/sys/powerpc/include/atomic.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/atomic.h Sat Jul 25 15:47:57 2009 (r195871) @@ -65,8 +65,21 @@ : "cc", "memory") \ /* __ATOMIC_ADD_32 */ +#ifdef __powerpc64__ +#define __ATOMIC_ADD_64(p, v, t) \ + __asm __volatile( \ + "1: ldarx %0, 0, %2\n" \ + " add %0, %3, %0\n" \ + " stdcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cc", "memory") \ + /* __ATOMIC_ADD_64 */ +#else #define __ATOMIC_ADD_64(p, v, t) \ 64-bit atomic_add not implemented +#endif #define _ATOMIC_ADD(width, suffix, type) \ static __inline void \ @@ -98,11 +111,13 @@ _ATOMIC_ADD(16, short, u_short) #endif _ATOMIC_ADD(32, 32, uint32_t) _ATOMIC_ADD(32, int, u_int) +#ifdef __powerpc64__ +_ATOMIC_ADD(64, 64, uint64_t) +_ATOMIC_ADD(64, long, u_long) +_ATOMIC_ADD(64, ptr, uintptr_t) +#else _ATOMIC_ADD(32, long, u_long) _ATOMIC_ADD(32, ptr, uintptr_t) -#if 0 -_ATOMIC_ADD(64, 64, uint64_t) -_ATOMIC_ADD(64, long_long, u_long_long) #endif #undef _ATOMIC_ADD @@ -133,8 +148,21 @@ _ATOMIC_ADD(64, long_long, u_long_long) : "cc", "memory") \ /* __ATOMIC_CLEAR_32 */ +#ifdef __powerpc64__ +#define __ATOMIC_CLEAR_64(p, v, t) \ + __asm __volatile( \ + "1: ldarx %0, 0, %2\n" \ + " andc %0, %0, %3\n" \ + " stdcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cc", "memory") \ + /* __ATOMIC_CLEAR_64 */ +#else #define __ATOMIC_CLEAR_64(p, v, t) \ 64-bit atomic_clear not implemented +#endif #define _ATOMIC_CLEAR(width, suffix, type) \ static __inline void \ @@ -166,11 +194,13 @@ _ATOMIC_CLEAR(16, short, u_short) #endif _ATOMIC_CLEAR(32, 32, uint32_t) _ATOMIC_CLEAR(32, int, u_int) +#ifdef __powerpc64__ +_ATOMIC_CLEAR(64, 64, uint64_t) +_ATOMIC_CLEAR(64, long, u_long) +_ATOMIC_CLEAR(64, ptr, uintptr_t) +#else _ATOMIC_CLEAR(32, long, u_long) _ATOMIC_CLEAR(32, ptr, uintptr_t) -#if 0 -_ATOMIC_CLEAR(64, 64, uint64_t) -_ATOMIC_CLEAR(64, long_long, u_long_long) #endif #undef _ATOMIC_CLEAR @@ -216,8 +246,21 @@ _ATOMIC_CLEAR(64, long_long, u_long_long : "cc", "memory") \ /* __ATOMIC_SET_32 */ +#ifdef __powerpc64__ +#define __ATOMIC_SET_64(p, v, t) \ + __asm __volatile( \ + "1: ldarx %0, 0, %2\n" \ + " or %0, %3, %0\n" \ + " stdcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cc", "memory") \ + /* __ATOMIC_SET_64 */ +#else #define __ATOMIC_SET_64(p, v, t) \ 64-bit atomic_set not implemented +#endif #define _ATOMIC_SET(width, suffix, type) \ static __inline void \ @@ -249,11 +292,13 @@ _ATOMIC_SET(16, short, u_short) #endif _ATOMIC_SET(32, 32, uint32_t) _ATOMIC_SET(32, int, u_int) +#ifdef __powerpc64__ +_ATOMIC_SET(64, 64, uint64_t) +_ATOMIC_SET(64, long, u_long) +_ATOMIC_SET(64, ptr, uintptr_t) +#else _ATOMIC_SET(32, long, u_long) _ATOMIC_SET(32, ptr, uintptr_t) -#if 0 -_ATOMIC_SET(64, 64, uint64_t) -_ATOMIC_SET(64, long_long, u_long_long) #endif #undef _ATOMIC_SET @@ -284,8 +329,21 @@ _ATOMIC_SET(64, long_long, u_long_long) : "cc", "memory") \ /* __ATOMIC_SUBTRACT_32 */ +#ifdef __powerpc64__ +#define __ATOMIC_SUBTRACT_64(p, v, t) \ + __asm __volatile( \ + "1: ldarx %0, 0, %2\n" \ + " subf %0, %3, %0\n" \ + " stdcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cc", "memory") \ + /* __ATOMIC_SUBTRACT_64 */ +#else #define __ATOMIC_SUBTRACT_64(p, v, t) \ 64-bit atomic_subtract not implemented +#endif #define _ATOMIC_SUBTRACT(width, suffix, type) \ static __inline void \ @@ -317,11 +375,13 @@ _ATOMIC_SUBTRACT(16, short, u_short) #endif _ATOMIC_SUBTRACT(32, 32, uint32_t) _ATOMIC_SUBTRACT(32, int, u_int) +#ifdef __powerpc64__ +_ATOMIC_SUBTRACT(64, 64, uint64_t) +_ATOMIC_SUBTRACT(64, long, u_long) +_ATOMIC_SUBTRACT(64, ptr, uintptr_t) +#else _ATOMIC_SUBTRACT(32, long, u_long) _ATOMIC_SUBTRACT(32, ptr, uintptr_t) -#if 0 -_ATOMIC_SUBTRACT(64, 64, uint64_t) -_ATOMIC_SUBTRACT(64, long_long, u_long_long) #endif #undef _ATOMIC_SUBTRACT @@ -359,9 +419,37 @@ atomic_readandclear_32(volatile uint32_t return (result); } +#ifdef __powerpc64__ +static __inline uint64_t +atomic_readandclear_64(volatile uint64_t *addr) +{ + uint64_t result,temp; + +#ifdef __GNUCLIKE_ASM + __asm __volatile ( + "\tsync\n" /* drain writes */ + "1:\tldarx %0, 0, %3\n\t" /* load old value */ + "li %1, 0\n\t" /* load new value */ + "stdcx. %1, 0, %3\n\t" /* attempt to store */ + "bne- 1b\n\t" /* spin if failed */ + : "=&r"(result), "=&r"(temp), "=m" (*addr) + : "r" (addr), "m" (*addr) + : "cc", "memory"); +#endif + + return (result); +} +#endif + #define atomic_readandclear_int atomic_readandclear_32 + +#ifdef __powerpc64__ +#define atomic_readandclear_long atomic_readandclear_64 +#define atomic_readandclear_ptr atomic_readandclear_64 +#else #define atomic_readandclear_long atomic_readandclear_32 #define atomic_readandclear_ptr atomic_readandclear_32 +#endif /* * We assume that a = b will do atomic loads and stores. @@ -404,11 +492,21 @@ atomic_store_rel_##TYPE(volatile u_##TYP ATOMIC_STORE_LOAD(char, 8) ATOMIC_STORE_LOAD(short, 16) ATOMIC_STORE_LOAD(int, 32) +#ifdef __powerpc64__ +ATOMIC_STORE_LOAD(long, 64) +#endif +#ifdef __powerpc64__ +#define atomic_load_acq_long atomic_load_acq_64 +#define atomic_store_rel_long atomic_store_rel_64 +#define atomic_load_acq_ptr atomic_load_acq_64 +#define atomic_store_rel_ptr atomic_store_rel_64 +#else #define atomic_load_acq_long atomic_load_acq_32 #define atomic_store_rel_long atomic_store_rel_32 #define atomic_load_acq_ptr atomic_load_acq_32 #define atomic_store_rel_ptr atomic_store_rel_32 +#endif #undef ATOMIC_STORE_LOAD @@ -446,19 +544,30 @@ atomic_cmpset_32(volatile uint32_t* p, u static __inline u_long atomic_cmpset_long(volatile u_long* p, u_long cmpval, u_long newval) { - uint32_t ret; + u_long ret; #ifdef __GNUCLIKE_ASM __asm __volatile ( + #ifdef __powerpc64__ + "1:\tldarx %0, 0, %2\n\t" /* load old value */ + "cmpld %3, %0\n\t" /* compare */ + "bne 2f\n\t" /* exit if not equal */ + "stdcx. %4, 0, %2\n\t" /* attempt to store */ + #else "1:\tlwarx %0, 0, %2\n\t" /* load old value */ "cmplw %3, %0\n\t" /* compare */ "bne 2f\n\t" /* exit if not equal */ "stwcx. %4, 0, %2\n\t" /* attempt to store */ + #endif "bne- 1b\n\t" /* spin if failed */ "li %0, 1\n\t" /* success - retval = 1 */ "b 3f\n\t" /* we've succeeded */ "2:\n\t" + #ifdef __powerpc64__ + "stdcx. %0, 0, %2\n\t" /* clear reservation (74xx) */ + #else "stwcx. %0, 0, %2\n\t" /* clear reservation (74xx) */ + #endif "li %0, 0\n\t" /* failure - retval = 0 */ "3:\n\t" : "=&r" (ret), "=m" (*p) @@ -471,8 +580,13 @@ atomic_cmpset_long(volatile u_long* p, u #define atomic_cmpset_int atomic_cmpset_32 +#ifdef __powerpc64__ +#define atomic_cmpset_ptr(dst, old, new) \ + atomic_cmpset_long((volatile u_long *)(dst), (u_long)(old), (u_long)(new)) +#else #define atomic_cmpset_ptr(dst, old, new) \ atomic_cmpset_32((volatile u_int *)(dst), (u_int)(old), (u_int)(new)) +#endif static __inline uint32_t atomic_cmpset_acq_32(volatile uint32_t *p, uint32_t cmpval, uint32_t newval) @@ -511,10 +625,17 @@ atomic_cmpset_rel_long(volatile u_long * #define atomic_cmpset_acq_int atomic_cmpset_acq_32 #define atomic_cmpset_rel_int atomic_cmpset_rel_32 +#ifdef __powerpc64__ +#define atomic_cmpset_acq_ptr(dst, old, new) \ + atomic_cmpset_acq_long((volatile u_long *)(dst), (u_long)(old), (u_long)(new)) +#define atomic_cmpset_rel_ptr(dst, old, new) \ + atomic_cmpset_rel_long((volatile u_long *)(dst), (u_long)(old), (u_long)(new)) +#else #define atomic_cmpset_acq_ptr(dst, old, new) \ atomic_cmpset_acq_32((volatile u_int *)(dst), (u_int)(old), (u_int)(new)) #define atomic_cmpset_rel_ptr(dst, old, new) \ atomic_cmpset_rel_32((volatile u_int *)(dst), (u_int)(old), (u_int)(new)) +#endif static __inline uint32_t atomic_fetchadd_32(volatile uint32_t *p, uint32_t v) @@ -528,7 +649,23 @@ atomic_fetchadd_32(volatile uint32_t *p, } #define atomic_fetchadd_int atomic_fetchadd_32 + +#ifdef __powerpc64__ +static __inline uint64_t +atomic_fetchadd_64(volatile uint64_t *p, uint64_t v) +{ + uint64_t value; + + do { + value = *p; + } while (!atomic_cmpset_long(p, value, value + v)); + return (value); +} + +#define atomic_fetchadd_long atomic_fetchadd_64 +#else #define atomic_fetchadd_long(p, v) \ (u_long)atomic_fetchadd_32((volatile u_int *)(p), (u_int)(v)) +#endif #endif /* ! _MACHINE_ATOMIC_H_ */ Modified: projects/ppc64/sys/powerpc/include/db_machdep.h ============================================================================== --- projects/ppc64/sys/powerpc/include/db_machdep.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/db_machdep.h Sat Jul 25 15:47:57 2009 (r195871) @@ -42,7 +42,7 @@ #define BYTE_MSF (1) typedef vm_offset_t db_addr_t; /* address - unsigned */ -typedef int db_expr_t; /* expression - signed */ +typedef intptr_t db_expr_t; /* expression - signed */ #define PC_REGS(regs) ((db_addr_t)kdb_thrctx->pcb_lr) Modified: projects/ppc64/sys/powerpc/include/elf.h ============================================================================== --- projects/ppc64/sys/powerpc/include/elf.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/elf.h Sat Jul 25 15:47:57 2009 (r195871) @@ -36,14 +36,23 @@ * [ppc-eabi-1995-01.pdf] for details. */ -#include /* Definitions common to all 32 bit architectures. */ - +#ifdef __powerpc64__ +#define __ELF_WORD_SIZE 64 /* Used by */ +#else #define __ELF_WORD_SIZE 32 /* Used by */ +#endif + +#include /* Definitions common to all 32 bit architectures. */ +#include /* Definitions common to all 64 bit architectures. */ #include +#ifdef __powerpc64__ +#define ELF_ARCH EM_PPC64 +#define ELF_MACHINE_OK(x) ((x) == EM_PPC64) +#else #define ELF_ARCH EM_PPC - #define ELF_MACHINE_OK(x) ((x) == EM_PPC) +#endif /* * Auxiliary vector entries for passing information to the interpreter. @@ -61,6 +70,18 @@ typedef struct { /* Auxiliary vector ent } a_un; } Elf32_Auxinfo; +#ifdef __powerpc64__ +/* XXX: check ABI */ +typedef struct { /* Auxiliary vector entry on initial stack */ + int a_type; /* Entry type. */ + union { + long a_val; /* Integer value. */ + void *a_ptr; /* Address. */ + void (*a_fcn)(void); /* Function pointer (not used). */ + } a_un; +} Elf64_Auxinfo; +#endif + __ElfType(Auxinfo); /* Values for a_type. */ @@ -91,9 +112,16 @@ __ElfType(Auxinfo); #define R_PPC_EMB_COUNT (R_PPC_EMB_RELSDA - R_PPC_EMB_NADDR32 + 1) /* Define "machine" characteristics */ +#ifdef __powerpc64__ +#define ELF_TARG_CLASS ELFCLASS64 +#define ELF_TARG_DATA ELFDATA2MSB +#define ELF_TARG_MACH EM_PPC64 +#define ELF_TARG_VER 1 +#else #define ELF_TARG_CLASS ELFCLASS32 #define ELF_TARG_DATA ELFDATA2MSB #define ELF_TARG_MACH EM_PPC #define ELF_TARG_VER 1 +#endif #endif /* !_MACHINE_ELF_H_ */ Modified: projects/ppc64/sys/powerpc/include/runq.h ============================================================================== --- projects/ppc64/sys/powerpc/include/runq.h Sat Jul 25 14:48:57 2009 (r195870) +++ projects/ppc64/sys/powerpc/include/runq.h Sat Jul 25 15:47:57 2009 (r195871) @@ -29,8 +29,13 @@ #ifndef _MACHINE_RUNQ_H_ #define _MACHINE_RUNQ_H_ +#ifdef __powerpc64__ +#define RQB_LEN (1) /* Number of priority status words. */ +#define RQB_L2BPW (6) /* Log2(sizeof(rqb_word_t) * NBBY)). */ +#else #define RQB_LEN (2) /* Number of priority status words. */ #define RQB_L2BPW (5) /* Log2(sizeof(rqb_word_t) * NBBY)). */ +#endif #define RQB_BPW (1< 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 5D84F106567D; Sat, 25 Jul 2009 19:43:47 +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 49B5C8FC16; Sat, 25 Jul 2009 19:43:47 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PJhlE0049405; Sat, 25 Jul 2009 19:43:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PJhlVf049399; Sat, 25 Jul 2009 19:43:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200907251943.n6PJhlVf049399@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 25 Jul 2009 19:43: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: r195876 - in projects/ppc64/sys: conf powerpc/aim 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, 25 Jul 2009 19:43:47 -0000 Author: nwhitehorn Date: Sat Jul 25 19:43:46 2009 New Revision: 195876 URL: http://svn.freebsd.org/changeset/base/195876 Log: Add separate powerpc64 conf files for now and remove an extraneous include of opt_psim.h from aim's nexus. I'm a little torn on how much architecture unification there should be here. Added: projects/ppc64/sys/conf/Makefile.powerpc64 - copied unchanged from r195651, projects/ppc64/sys/conf/Makefile.powerpc projects/ppc64/sys/conf/files.powerpc64 - copied, changed from r195651, projects/ppc64/sys/conf/files.powerpc projects/ppc64/sys/conf/ldscript.powerpc64 - copied unchanged from r195651, projects/ppc64/sys/conf/ldscript.powerpc projects/ppc64/sys/conf/options.powerpc64 - copied, changed from r195651, projects/ppc64/sys/conf/options.powerpc Modified: projects/ppc64/sys/powerpc/aim/nexus.c Copied: projects/ppc64/sys/conf/Makefile.powerpc64 (from r195651, projects/ppc64/sys/conf/Makefile.powerpc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/sys/conf/Makefile.powerpc64 Sat Jul 25 19:43:46 2009 (r195876, copy of r195651, projects/ppc64/sys/conf/Makefile.powerpc) @@ -0,0 +1,54 @@ +# Makefile.powerpc -- with config changes. +# Copyright 1990 W. Jolitz +# from: @(#)Makefile.i386 7.1 5/10/91 +# $FreeBSD$ +# +# Makefile for FreeBSD +# +# This makefile is constructed from a machine description: +# config machineid +# Most changes should be made in the machine description +# /sys/powerpc/conf/``machineid'' +# after which you should do +# config machineid +# Generic makefile changes should be made in +# /sys/conf/Makefile.powerpc +# after which config should be rerun for all machines. +# + +# Which version of config(8) is required. +%VERSREQ= 600004 + +STD8X16FONT?= iso + +.if !defined(S) +.if exists(./@/.) +S= ./@ +.else +S= ../../.. +.endif +.endif +.include "$S/conf/kern.pre.mk" + +CFLAGS+= -msoft-float + +DDB_ENABLED!= grep DDB opt_ddb.h || true +.if !empty(DDB_ENABLED) +CFLAGS+= -fno-omit-frame-pointer +.endif + +%BEFORE_DEPEND + +%OBJS + +%FILES.c + +%FILES.s + +%FILES.m + +%CLEAN + +%RULES + +.include "$S/conf/kern.post.mk" Copied and modified: projects/ppc64/sys/conf/files.powerpc64 (from r195651, projects/ppc64/sys/conf/files.powerpc) ============================================================================== --- projects/ppc64/sys/conf/files.powerpc Mon Jul 13 01:37:48 2009 (r195651, copy source) +++ projects/ppc64/sys/conf/files.powerpc64 Sat Jul 25 19:43:46 2009 (r195876) @@ -37,9 +37,7 @@ dev/ofw/ofw_disk.c optional ofwd aim dev/ofw/ofw_iicbus.c optional iicbus aim dev/ofw/ofw_standard.c optional aim dev/powermac_nvram/powermac_nvram.c optional powermac_nvram powermac -dev/quicc/quicc_bfe_ocp.c optional quicc mpc85xx dev/scc/scc_bfe_macio.c optional scc powermac -dev/sec/sec.c optional sec mpc85xx dev/sound/macio/aoa.c optional snd_davbus | snd_ai2s powermac dev/sound/macio/davbus.c optional snd_davbus powermac dev/sound/macio/i2s.c optional snd_ai2s powermac @@ -49,9 +47,6 @@ dev/syscons/scgfbrndr.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc dev/syscons/teken/teken.c optional sc -dev/tsec/if_tsec.c optional tsec -dev/tsec/if_tsec_ocp.c optional tsec mpc85xx -dev/uart/uart_bus_ocp.c optional uart mpc85xx dev/uart/uart_cpu_powerpc.c optional uart kern/syscalls.c optional ktr libkern/ashldi3.c standard @@ -67,7 +62,6 @@ libkern/lshrdi3.c standard libkern/memmove.c standard libkern/memset.c standard libkern/moddi3.c standard -libkern/qdivrem.c standard libkern/ucmpdi2.c standard libkern/udivdi3.c standard libkern/umoddi3.c standard @@ -87,39 +81,8 @@ powerpc/aim/swtch.S optional aim powerpc/aim/trap.c optional aim powerpc/aim/uma_machdep.c optional aim powerpc/aim/vm_machdep.c optional aim -powerpc/booke/clock.c optional e500 -powerpc/booke/copyinout.c optional e500 -powerpc/booke/interrupt.c optional e500 -powerpc/booke/locore.S optional e500 no-obj -powerpc/booke/machdep.c optional e500 -powerpc/booke/mp_cpudep.c optional e500 smp -powerpc/booke/platform_bare.c optional mpc85xx -powerpc/booke/pmap.c optional e500 -powerpc/booke/swtch.S optional e500 -powerpc/booke/trap.c optional e500 -powerpc/booke/vm_machdep.c optional e500 powerpc/cpufreq/dfs.c optional cpufreq powerpc/cpufreq/pcr.c optional cpufreq aim -powerpc/fpu/fpu_add.c optional fpu_emu -powerpc/fpu/fpu_compare.c optional fpu_emu -powerpc/fpu/fpu_div.c optional fpu_emu -powerpc/fpu/fpu_emu.c optional fpu_emu -powerpc/fpu/fpu_explode.c optional fpu_emu -powerpc/fpu/fpu_implode.c optional fpu_emu -powerpc/fpu/fpu_mul.c optional fpu_emu -powerpc/fpu/fpu_sqrt.c optional fpu_emu -powerpc/fpu/fpu_subr.c optional fpu_emu -powerpc/mpc85xx/atpic.c optional mpc85xx isa -powerpc/mpc85xx/ds1553_bus_lbc.c optional ds1553 -powerpc/mpc85xx/ds1553_core.c optional ds1553 -powerpc/mpc85xx/i2c.c optional iicbus mpc85xx -powerpc/mpc85xx/isa.c optional mpc85xx isa -powerpc/mpc85xx/lbc.c optional mpc85xx -powerpc/mpc85xx/mpc85xx.c optional mpc85xx -powerpc/mpc85xx/nexus.c optional mpc85xx -powerpc/mpc85xx/ocpbus.c optional mpc85xx -powerpc/mpc85xx/opic.c optional mpc85xx -powerpc/mpc85xx/pci_ocp.c optional pci mpc85xx powerpc/ofw/ofw_cpu.c optional aim powerpc/ofw/ofw_pcibus.c optional pci aim powerpc/ofw/ofw_pcib_pci.c optional pci aim Copied: projects/ppc64/sys/conf/ldscript.powerpc64 (from r195651, projects/ppc64/sys/conf/ldscript.powerpc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/sys/conf/ldscript.powerpc64 Sat Jul 25 19:43:46 2009 (r195876, copy of r195651, projects/ppc64/sys/conf/ldscript.powerpc) @@ -0,0 +1,144 @@ +/* $FreeBSD$ */ + +OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc") +OUTPUT_ARCH(powerpc) +ENTRY(__start) +SEARCH_DIR(/usr/lib); +/* Do we need any of these for elf? + __DYNAMIC = 0; */ +PROVIDE (__stack = 0); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + + . = kernbase + SIZEOF_HEADERS; + + .text : + { + *(.text) + *(.stub) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.gnu.linkonce.t*) + } =0 + _etext = .; + PROVIDE (etext = .); + + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rela.text : + { *(.rela.text) *(.rela.gnu.linkonce.t*) } + .rela.data : + { *(.rela.data) *(.rela.gnu.linkonce.d*) } + .rela.rodata : + { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } + .rela.got : { *(.rela.got) } + .rela.got1 : { *(.rela.got1) } + .rela.got2 : { *(.rela.got2) } + .rela.ctors : { *(.rela.ctors) } + .rela.dtors : { *(.rela.dtors) } + .rela.init : { *(.rela.init) } + .rela.fini : { *(.rela.fini) } + .rela.bss : { *(.rela.bss) } + .rela.plt : { *(.rela.plt) } + .rela.sdata : { *(.rela.sdata) } + .rela.sbss : { *(.rela.sbss) } + .rela.sdata2 : { *(.rela.sdata2) } + .rela.sbss2 : { *(.rela.sbss2) } + + .init : { *(.init) } =0 + .fini : { *(.fini) } =0 + .rodata : { *(.rodata) *(.gnu.linkonce.r*) } + .rodata1 : { *(.rodata1) } + .sdata2 : { *(.sdata2) } + .sbss2 : { *(.sbss2) } + /* Adjust the address for the data segment to the next page up. */ + . = ((. + 0x1000) & ~(0x1000 - 1)); + .data : + { + *(.data) + *(.gnu.linkonce.d*) + CONSTRUCTORS + } + .data1 : { *(.data1) } + .got1 : { *(.got1) } + .dynamic : { *(.dynamic) } + /* Put .ctors and .dtors next to the .got2 section, so that the pointers + get relocated with -mrelocatable. Also put in the .fixup pointers. + The current compiler no longer needs this, but keep it around for 2.7.2 */ + PROVIDE (_GOT2_START_ = .); + .got2 : { *(.got2) } + PROVIDE (__CTOR_LIST__ = .); + .ctors : { *(.ctors) } + PROVIDE (__CTOR_END__ = .); + PROVIDE (__DTOR_LIST__ = .); + .dtors : { *(.dtors) } + PROVIDE (__DTOR_END__ = .); + PROVIDE (_FIXUP_START_ = .); + .fixup : { *(.fixup) } + PROVIDE (_FIXUP_END_ = .); + PROVIDE (_GOT2_END_ = .); + PROVIDE (_GOT_START_ = .); + .got : { *(.got) } + .got.plt : { *(.got.plt) } + PROVIDE (_GOT_END_ = .); + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : { *(.sdata) } + _edata = .; + PROVIDE (edata = .); + .sbss : + { + PROVIDE (__sbss_start = .); + *(.sbss) + *(.scommon) + *(.dynsbss) + PROVIDE (__sbss_end = .); + } + .plt : { *(.plt) } + .bss : + { + PROVIDE (__bss_start = .); + *(.dynbss) + *(.bss) + *(COMMON) + } + _end = . ; + PROVIDE (end = .); + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* These must appear regardless of . */ +} + Copied and modified: projects/ppc64/sys/conf/options.powerpc64 (from r195651, projects/ppc64/sys/conf/options.powerpc) ============================================================================== --- projects/ppc64/sys/conf/options.powerpc Mon Jul 13 01:37:48 2009 (r195651, copy source) +++ projects/ppc64/sys/conf/options.powerpc64 Sat Jul 25 19:43:46 2009 (r195876) @@ -4,15 +4,11 @@ AIM opt_global.h E500 opt_global.h -FPU_EMU - GFB_DEBUG opt_gfb.h GFB_NO_FONT_LOADING opt_gfb.h GFB_NO_MODE_CHANGE opt_gfb.h POWERMAC opt_platform.h -MPC85XX opt_platform.h -PSIM SC_OFWFB opt_ofwfb.h Modified: projects/ppc64/sys/powerpc/aim/nexus.c ============================================================================== --- projects/ppc64/sys/powerpc/aim/nexus.c Sat Jul 25 18:45:09 2009 (r195875) +++ projects/ppc64/sys/powerpc/aim/nexus.c Sat Jul 25 19:43:46 2009 (r195876) @@ -54,8 +54,6 @@ * * $FreeBSD$ */ -#include "opt_psim.h" - #include #include #include From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 20:02:13 2009 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 33C33106564A for ; Sat, 25 Jul 2009 20:02:13 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout024.mac.com (asmtpout024.mac.com [17.148.16.99]) by mx1.freebsd.org (Postfix) with ESMTP id 1F8028FC0A for ; Sat, 25 Jul 2009 20:02:13 +0000 (UTC) (envelope-from xcllnt@mac.com) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=us-ascii; format=flowed; delsp=yes Received: from macbook-pro.lan.xcllnt.net (mail.xcllnt.net [75.101.29.67]) by asmtp024.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KNC0076LQ7OWZ30@asmtp024.mac.com>; Sat, 25 Jul 2009 12:02:13 -0700 (PDT) From: Marcel Moolenaar In-reply-to: <200907251433.n6PEXLYn043304@svn.freebsd.org> Date: Sat, 25 Jul 2009 12:02:12 -0700 Message-id: References: <200907251433.n6PEXLYn043304@svn.freebsd.org> To: Nathan Whitehorn X-Mailer: Apple Mail (2.1074) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195869 - projects/ppc64/sys/powerpc/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: Sat, 25 Jul 2009 20:02:13 -0000 On Jul 25, 2009, at 7:33 AM, Nathan Whitehorn wrote: > Author: nwhitehorn > Date: Sat Jul 25 14:33:21 2009 > New Revision: 195869 > URL: http://svn.freebsd.org/changeset/base/195869 > > Log: > Add some #ifdefs to powerpc _types to set LP64 types if we are > compiling > for 64-bit PowerPC. The goal here is to share machine/*.h completely > between powerpc and powerpc64. One way to avoid a few ifdefs is to define __register_t to be __uint32_t for ILP32 and __uint64_t for LP64. Then use __register_t for things like __critical_t, __uintptr_t, etc. Just a thought, -- Marcel Moolenaar xcllnt@mac.com From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 20:26:55 2009 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 17B9C10656C0; Sat, 25 Jul 2009 20:26:55 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 046168FC20; Sat, 25 Jul 2009 20:26:55 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PKQtAD050357; Sat, 25 Jul 2009 20:26:55 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PKQsnI050352; Sat, 25 Jul 2009 20:26:54 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907252026.n6PKQsnI050352@svn.freebsd.org> From: Stanislav Sedov Date: Sat, 25 Jul 2009 20:26:54 +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: r195877 - in projects/libprocstat: sys/kern sys/sys usr.bin/fstat 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, 25 Jul 2009 20:26:55 -0000 Author: stas Date: Sat Jul 25 20:26:54 2009 New Revision: 195877 URL: http://svn.freebsd.org/changeset/base/195877 Log: - Locking bugfixes. - Organize new kinfo_file fields into the union to save space. Also use kf_path field for textual representation of sockets domain name. This allows to fit all new kinfo_fields into spare space thus keeping the sysctl compatible with 7x world. - Use uint64_t to store pointers to allow i386 fstat to be used with amd64 kernels and vice versa. - Correctly initialize kf_vnode_type field. - Implement missing sysctl-mode access routines in libprocstat. Now sysctl version of fstat should be fully functional. Modified: projects/libprocstat/sys/kern/kern_descrip.c projects/libprocstat/sys/sys/user.h projects/libprocstat/usr.bin/fstat/libprocstat.c projects/libprocstat/usr.bin/fstat/libprocstat.h Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Sat Jul 25 19:43:46 2009 (r195876) +++ projects/libprocstat/sys/kern/kern_descrip.c Sat Jul 25 20:26:54 2009 (r195877) @@ -2968,6 +2968,7 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER struct filedesc *fdp; struct kinfo_file *kif; struct proc *p; + struct vnode *tracevp, *textvp; size_t oldidx; int64_t offset; void *data; @@ -2981,27 +2982,23 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER PROC_UNLOCK(p); return (error); } + /* ktrace vnode */ + tracevp = p->p_tracevp; + if (tracevp != NULL) + vref(tracevp); + /* text vnode */ + textvp = p->p_textvp; + if (textvp != NULL) + vref(textvp); fdp = fdhold(p); + PROC_UNLOCK(p); kif = malloc(sizeof(*kif), M_TEMP, M_WAITOK); - /* ktrace vnode */ - if (p->p_tracevp != NULL) { - vref(p->p_tracevp); - data = p->p_tracevp; - PROC_UNLOCK(p); - export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_TRACE, + if (tracevp != NULL) + export_fd_for_sysctl(tracevp, KF_TYPE_VNODE, KF_FD_TYPE_TRACE, FREAD | FWRITE, -1, -1, kif, req); - PROC_LOCK(p); - } - /* text vnode */ - if (p->p_textvp != NULL) { - vref(p->p_textvp); - data = p->p_textvp; - PROC_UNLOCK(p); - export_fd_for_sysctl(data, KF_TYPE_VNODE, KF_FD_TYPE_TEXT, + if (textvp != NULL) + export_fd_for_sysctl(textvp, KF_TYPE_VNODE, KF_FD_TYPE_TEXT, FREAD, -1, -1, kif, req); - PROC_LOCK(p); - } - PROC_UNLOCK(p); if (fdp == NULL) goto fail; FILEDESC_SLOCK(fdp); @@ -3133,20 +3130,20 @@ fill_vnode_info(struct vnode *vp, struct int vtype; int kf_vtype; } vtypes_table[] = { - { VNON, }, - { VREG, }, - { VDIR, }, - { VBLK, }, - { VCHR, }, - { VLNK, }, - { VSOCK, }, - { VFIFO, }, - { VBAD, }, + { VNON, KF_VTYPE_VNON }, + { VREG, KF_VTYPE_VREG }, + { VDIR, KF_VTYPE_VDIR }, + { VBLK, KF_VTYPE_VBLK }, + { VCHR, KF_VTYPE_VCHR }, + { VLNK, KF_VTYPE_VLNK }, + { VSOCK, KF_VTYPE_VSOCK }, + { VFIFO, KF_VTYPE_VFIFO }, + { VBAD, KF_VTYPE_VBAD } }; #define NVTYPES (sizeof(vtypes_table) / sizeof(*vtypes_table)) struct vattr va; char *fullpath, *freepath; - int error; + int error, vfslocked; unsigned int i; if (vp == NULL) @@ -3158,7 +3155,6 @@ fill_vnode_info(struct vnode *vp, struct for (i = 0; i < NVTYPES; i++) if (vtypes_table[i].vtype == vp->v_type) break; - if (i < NVTYPES) kif->kf_vnode_type = vtypes_table[i].kf_vtype; else @@ -3175,14 +3171,18 @@ fill_vnode_info(struct vnode *vp, struct /* * Retrieve vnode attributes. */ - error = VOP_GETATTR(vp, &va, NULL); + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vn_lock(vp, LK_SHARED | LK_RETRY); + error = VOP_GETATTR(vp, &va, curthread->td_ucred); + VOP_UNLOCK(vp, 0); + VFS_UNLOCK_GIANT(vfslocked); if (error != 0) return (error); - kif->kf_file_fsid = va.va_fsid; - kif->kf_file_fileid = va.va_fileid; - kif->kf_file_mode = MAKEIMODE(va.va_type, va.va_mode); - kif->kf_file_size = va.va_size; - kif->kf_file_rdev = va.va_rdev; + kif->kf_un.file.kf_file_fsid = va.va_fsid; + kif->kf_un.file.kf_file_fileid = va.va_fileid; + kif->kf_un.file.kf_file_mode = MAKEIMODE(va.va_type, va.va_mode); + kif->kf_un.file.kf_file_size = va.va_size; + kif->kf_un.file.kf_file_rdev = va.va_rdev; return (0); } @@ -3199,14 +3199,15 @@ fill_socket_info(struct socket *so, stru kif->kf_sock_domain = so->so_proto->pr_domain->dom_family; kif->kf_sock_type = so->so_type; kif->kf_sock_protocol = so->so_proto->pr_protocol; - kif->kf_sock_pcb = (uint64_t)so->so_pcb; + kif->kf_un.sock.kf_sock_pcb = (uintptr_t)so->so_pcb; switch(kif->kf_sock_domain) { case AF_INET: case AF_INET6: if (kif->kf_sock_protocol == IPPROTO_TCP) { if (so->so_pcb != NULL) { inpcb = (struct inpcb *)(so->so_pcb); - kif->kf_sock_inpcb = (uint64_t)inpcb->inp_ppcb; + kif->kf_un.sock.kf_sock_inpcb = + (uintptr_t)inpcb->inp_ppcb; } } break; @@ -3214,11 +3215,11 @@ fill_socket_info(struct socket *so, stru if (so->so_pcb != NULL) { unpcb = (struct unpcb *)(so->so_pcb); if (unpcb->unp_conn) { - kif->kf_sock_unpconn = - (uint64_t)unpcb->unp_conn; - kif->kf_sock_rcv_sb_state = + kif->kf_un.sock.kf_sock_unpconn = + (uintptr_t)unpcb->unp_conn; + kif->kf_un.sock.kf_sock_rcv_sb_state = so->so_rcv.sb_state; - kif->kf_sock_snd_sb_state = + kif->kf_un.sock.kf_sock_snd_sb_state = so->so_snd.sb_state; } } @@ -3234,8 +3235,8 @@ fill_socket_info(struct socket *so, stru bcopy(sa, &kif->kf_sa_peer, sa->sa_len); free(sa, M_SONAME); } - strncpy(kif->kf_sock_domname, so->so_proto->pr_domain->dom_name, - sizeof(kif->kf_sock_domname)); + strncpy(kif->kf_path, so->so_proto->pr_domain->dom_name, + sizeof(kif->kf_path)); return (0); } @@ -3245,6 +3246,7 @@ fill_pts_info(struct tty *tp, struct kin if (tp == NULL) return (1); + kif->kf_un.pts.pts_dev = tty_udev(tp); strlcpy(kif->kf_path, tty_devname(tp), sizeof(kif->kf_path)); return (0); } @@ -3255,9 +3257,9 @@ fill_pipe_info(struct pipe *pi, struct k if (pi == NULL) return (1); - kif->pipe_addr = (uint64_t)pi; - kif->pipe_peer = (uint64_t)pi->pipe_peer; - kif->pipe_buffer_cnt = pi->pipe_buffer.cnt; + kif->kf_un.pipe.pipe_addr = (uintptr_t)pi; + kif->kf_un.pipe.pipe_peer = (uintptr_t)pi->pipe_peer; + kif->kf_un.pipe.pipe_buffer_cnt = pi->pipe_buffer.cnt; return (0); } Modified: projects/libprocstat/sys/sys/user.h ============================================================================== --- projects/libprocstat/sys/sys/user.h Sat Jul 25 19:43:46 2009 (r195876) +++ projects/libprocstat/sys/sys/user.h Sat Jul 25 20:26:54 2009 (r195877) @@ -317,7 +317,7 @@ struct kinfo_ofile { }; #if defined(__amd64__) || defined(__i386__) -#define KINFO_FILE_SIZE 1496 +#define KINFO_FILE_SIZE 1392 #endif struct kinfo_file { @@ -326,29 +326,53 @@ struct kinfo_file { int kf_fd; /* Array index. */ int kf_ref_count; /* Reference count. */ int kf_flags; /* Flags. */ - int kf_vnode_type; /* Vnode type. */ + int kf_pad0; /* Round to 64 bit alignment. */ int64_t kf_offset; /* Seek location. */ - char kf_sock_domname[32]; /* Address domain name. */ + int kf_vnode_type; /* Vnode type. */ int kf_sock_domain; /* Socket domain. */ - int kf_sock_protocol; /* Socket protocol. */ int kf_sock_type; /* Socket type. */ - uint16_t kf_sock_snd_sb_state; /* Send buffer state. */ - uint16_t kf_sock_rcv_sb_state; /* Receive buffer state. */ - uint64_t kf_sock_pcb; /* Address of so_pcb. */ - uint64_t kf_sock_inpcb; /* Address of inp_ppcb. */ - uint64_t kf_sock_unpconn; /* Address of unp_conn. */ + int kf_sock_protocol; /* Socket protocol. */ struct sockaddr_storage kf_sa_local; /* Socket address. */ struct sockaddr_storage kf_sa_peer; /* Peer address. */ - dev_t kf_file_fsid; /* Vnode filesystem id. */ - dev_t kf_file_rdev; /* File device. */ - uint64_t kf_file_fileid; /* Global file id. */ - off_t kf_file_size; /* File size. */ - mode_t kf_file_mode; /* File mode. */ + union { + struct { + /* Send buffer state. */ + uint16_t kf_sock_snd_sb_state; + /* Receive buffer state. */ + uint16_t kf_sock_rcv_sb_state; + /* Address of so_pcb. */ + uint64_t kf_sock_pcb; + /* Address of inp_ppcb. */ + uint64_t kf_sock_inpcb; + /* Address of unp_conn. */ + uint64_t kf_sock_unpconn; + /* Round to 64-bit alignment. */ + int kf_sock_pad; + } sock; + struct { + /* Vnode filesystem id. */ + dev_t kf_file_fsid; + /* File device. */ + dev_t kf_file_rdev; + /* Global file id. */ + uint64_t kf_file_fileid; + /* File size. */ + off_t kf_file_size; + /* File mode. */ + mode_t kf_file_mode; + } file; + struct { + uint32_t pipe_buffer_cnt; + uint64_t pipe_addr; + uint64_t pipe_peer; + } pipe; + struct { + dev_t pts_dev; + } pts; + } kf_un; uint16_t kf_status; /* Status flags. */ - uint32_t pipe_buffer_cnt; - uint64_t pipe_addr; - uint64_t pipe_peer; - int _kf_ispare[16]; /* Space for more stuff. */ + uint16_t kf_pad1; /* Round to 32 bit alignment. */ + int _kf_ispare[7]; /* Space for more stuff. */ /* Truncated before copyout in sysctl */ char kf_path[PATH_MAX]; /* Path to file, if any. */ }; Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.c Sat Jul 25 19:43:46 2009 (r195876) +++ projects/libprocstat/usr.bin/fstat/libprocstat.c Sat Jul 25 20:26:54 2009 (r195877) @@ -610,12 +610,10 @@ kinfo_uflags2fst(int fd) return (PS_FST_UFLAG_RDIR); case KF_FD_TYPE_JAIL: return (PS_FST_UFLAG_JAIL); -#if 0 case KF_FD_TYPE_TRACE: return (PS_FST_UFLAG_TRACE); case KF_FD_TYPE_TEXT: return (PS_FST_UFLAG_TEXT); -#endif } return (0); } @@ -701,8 +699,8 @@ procstat_get_pipe_info_kvm(kvm_t *kd, st warnx("can't read pipe at %p", (void *)pipep); goto fail; } - ps->addr = (caddr_t)pipep; - ps->peer = (caddr_t)pi.pipe_peer; + ps->addr = (uintptr_t)pipep; + ps->peer = (uintptr_t)pi.pipe_peer; ps->buffer_cnt = pi.pipe_buffer.cnt; return (0); @@ -712,13 +710,21 @@ fail: } static int -procstat_get_pipe_info_sysctl(struct filestat *fst __unused, struct pipestat *ps __unused, +procstat_get_pipe_info_sysctl(struct filestat *fst, struct pipestat *ps, char *errbuf __unused) { + struct kinfo_file *kif; - warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); - return (1); + assert(ps); + assert(fst); + bzero(ps, sizeof(*ps)); + kif = fst->fs_typedep; + if (kif == NULL) + return (1); + ps->addr = kif->kf_un.pipe.pipe_addr; + ps->peer = kif->kf_un.pipe.pipe_peer; + ps->buffer_cnt = kif->kf_un.pipe.pipe_buffer_cnt; + return (0); } int @@ -767,13 +773,20 @@ fail: } static int -procstat_get_pts_info_sysctl(struct filestat *fst __unused, struct ptsstat *pts __unused, +procstat_get_pts_info_sysctl(struct filestat *fst, struct ptsstat *pts, char *errbuf __unused) { + struct kinfo_file *kif; - warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); - return (1); + assert(pts); + assert(fst); + bzero(pts, sizeof(*pts)); + kif = fst->fs_typedep; + if (kif == NULL) + return (0); + pts->dev = kif->kf_un.pts.pts_dev; + strlcpy(pts->devname, kif->kf_path, sizeof(pts->devname)); + return (0); } int @@ -893,7 +906,7 @@ procstat_get_vnode_info_sysctl(struct fi statfs(kif->kf_path, &stbuf); vn->mntdir = strdup(stbuf.f_mntonname); } - vn->vn_dev = kif->kf_file_rdev; + vn->vn_dev = kif->kf_un.file.kf_file_rdev; if (kif->kf_vnode_type == KF_VTYPE_VBLK) { name = devname(vn->vn_dev, S_IFBLK); if (name != NULL) @@ -903,10 +916,10 @@ procstat_get_vnode_info_sysctl(struct fi if (name != NULL) strlcpy(vn->vn_devname, name, sizeof(vn->vn_devname)); } - vn->vn_fsid = kif->kf_file_fsid; - vn->vn_fileid = kif->kf_file_fileid; - vn->vn_size = kif->kf_file_size; - vn->vn_mode = kif->kf_file_mode; + vn->vn_fsid = kif->kf_un.file.kf_file_fsid; + vn->vn_fileid = kif->kf_un.file.kf_file_fileid; + vn->vn_size = kif->kf_un.file.kf_file_size; + vn->vn_mode = kif->kf_un.file.kf_file_mode; return (0); } @@ -947,7 +960,7 @@ procstat_get_socket_info_kvm(kvm_t *kd, so = fst->fs_typedep; if (so == NULL) goto fail; - sock->so_addr = (caddr_t)so; + sock->so_addr = (uintptr_t)so; /* fill in socket */ if (!kvm_read_all(kd, (unsigned long)so, &s, sizeof(struct socket))) { @@ -981,7 +994,7 @@ procstat_get_socket_info_kvm(kvm_t *kd, sock->type = s.so_type; sock->proto = proto.pr_protocol; sock->dom_family = dom.dom_family; - sock->so_pcb = s.so_pcb; + sock->so_pcb = (uintptr_t)s.so_pcb; /* * Protocol specific data. @@ -998,7 +1011,7 @@ procstat_get_socket_info_kvm(kvm_t *kd, (void *)s.so_pcb); } else sock->inp_ppcb = - (caddr_t)inpcb.inp_ppcb; + (uintptr_t)inpcb.inp_ppcb; } } break; @@ -1011,7 +1024,7 @@ procstat_get_socket_info_kvm(kvm_t *kd, } else if (unpcb.unp_conn) { sock->so_rcv_sb_state = s.so_rcv.sb_state; sock->so_snd_sb_state = s.so_snd.sb_state; - sock->unp_conn = (caddr_t)unpcb.unp_conn; + sock->unp_conn = (uintptr_t)unpcb.unp_conn; } } break; @@ -1026,13 +1039,50 @@ fail: } static int -procstat_get_socket_info_sysctl(struct filestat *fst __unused, struct sockstat *sock __unused, +procstat_get_socket_info_sysctl(struct filestat *fst, struct sockstat *sock, char *errbuf __unused) { + struct kinfo_file *kif; - warnx("not implemented: %s:%d", __FUNCTION__, __LINE__); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); - return (1); + assert(sock); + assert(fst); + bzero(sock, sizeof(*sock)); + kif = fst->fs_typedep; + if (kif == NULL) + return (0); + + /* + * Fill in known data. + */ + sock->type = kif->kf_sock_type; + sock->proto = kif->kf_sock_protocol; + sock->dom_family = kif->kf_sock_domain; + sock->so_pcb = kif->kf_un.sock.kf_sock_pcb; + strlcpy(sock->dname, kif->kf_path, sizeof(sock->dname)); + + /* + * Protocol specific data. + */ + switch(sock->dom_family) { + case AF_INET: + case AF_INET6: + if (sock->proto == IPPROTO_TCP) + sock->inp_ppcb = kif->kf_un.sock.kf_sock_inpcb; + break; + case AF_UNIX: + if (kif->kf_un.sock.kf_sock_unpconn != 0) { + sock->so_rcv_sb_state = + kif->kf_un.sock.kf_sock_rcv_sb_state; + sock->so_snd_sb_state = + kif->kf_un.sock.kf_sock_snd_sb_state; + sock->unp_conn = + kif->kf_un.sock.kf_sock_unpconn; + } + break; + default: + break; + } + return (0); } static int Modified: projects/libprocstat/usr.bin/fstat/libprocstat.h ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.h Sat Jul 25 19:43:46 2009 (r195876) +++ projects/libprocstat/usr.bin/fstat/libprocstat.h Sat Jul 25 20:26:54 2009 (r195877) @@ -115,21 +115,21 @@ struct ptsstat { char devname[SPECNAMELEN + 1]; }; struct pipestat { - caddr_t addr; - caddr_t peer; - size_t buffer_cnt; + uint64_t addr; + uint64_t peer; + size_t buffer_cnt; }; struct sockstat { - int type; - int proto; - int dom_family; - caddr_t so_addr; - caddr_t so_pcb; - caddr_t inp_ppcb; - caddr_t unp_conn; - int so_snd_sb_state; - int so_rcv_sb_state; - char dname[32]; + int type; + int proto; + int dom_family; + uint64_t so_addr; + uint64_t so_pcb; + uint64_t inp_ppcb; + uint64_t unp_conn; + int so_snd_sb_state; + int so_rcv_sb_state; + char dname[32]; }; /* XXX: sort structs. */ From owner-svn-src-projects@FreeBSD.ORG Sat Jul 25 21:51:12 2009 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 B3A8F106566C; Sat, 25 Jul 2009 21:51:12 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A27F08FC08; Sat, 25 Jul 2009 21:51:12 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6PLpCCH052070; Sat, 25 Jul 2009 21:51:12 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6PLpC2X052069; Sat, 25 Jul 2009 21:51:12 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907252151.n6PLpC2X052069@svn.freebsd.org> From: Stanislav Sedov Date: Sat, 25 Jul 2009 21:51: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: r195879 - projects/libprocstat/usr.bin/fstat 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, 25 Jul 2009 21:51:13 -0000 Author: stas Date: Sat Jul 25 21:51:12 2009 New Revision: 195879 URL: http://svn.freebsd.org/changeset/base/195879 Log: - Fix fuser. Modified: projects/libprocstat/usr.bin/fstat/fuser.c Modified: projects/libprocstat/usr.bin/fstat/fuser.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/fuser.c Sat Jul 25 21:07:56 2009 (r195878) +++ projects/libprocstat/usr.bin/fstat/fuser.c Sat Jul 25 21:51:12 2009 (r195879) @@ -243,7 +243,7 @@ do_fuser(int argc, char *argv[]) procstat = procstat_open(kernimg, mcore); if (procstat == NULL) errx(1, "procstat_open()"); - p = procstat_getprocs(procstat, KERN_PROC_ALL, 0, &cnt); + p = procstat_getprocs(procstat, KERN_PROC_PROC, 0, &cnt); if (p == NULL) errx(1, "procstat_getprocs()");