From owner-svn-src-user@FreeBSD.ORG Sun Feb 17 09:04:43 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 56B17CD; Sun, 17 Feb 2013 09:04:43 +0000 (UTC) (envelope-from alfred@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 48848EAE; Sun, 17 Feb 2013 09:04:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1H94hoe055689; Sun, 17 Feb 2013 09:04:43 GMT (envelope-from alfred@svn.freebsd.org) Received: (from alfred@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1H94gnq055684; Sun, 17 Feb 2013 09:04:42 GMT (envelope-from alfred@svn.freebsd.org) Message-Id: <201302170904.r1H94gnq055684@svn.freebsd.org> From: Alfred Perlstein Date: Sun, 17 Feb 2013 09:04:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246901 - in user/alfred/ewatchdog: sys/dev/watchdog sys/sys usr.sbin/watchdogd X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Feb 2013 09:04:43 -0000 Author: alfred Date: Sun Feb 17 09:04:42 2013 New Revision: 246901 URL: http://svnweb.freebsd.org/changeset/base/246901 Log: Support multiple timeout actions. Add usage() to watchdogd. Allow setting of soft timeout and pre timeout. Add defines for 64 and 128 seconds. Clear EOPNOTSUP when doing software watchdog, default to WD_SOFT_LOG Remove extra function. Comment code. Modified: user/alfred/ewatchdog/sys/dev/watchdog/watchdog.c user/alfred/ewatchdog/sys/sys/watchdog.h user/alfred/ewatchdog/usr.sbin/watchdogd/watchdogd.c Modified: user/alfred/ewatchdog/sys/dev/watchdog/watchdog.c ============================================================================== --- user/alfred/ewatchdog/sys/dev/watchdog/watchdog.c Sun Feb 17 07:40:21 2013 (r246900) +++ user/alfred/ewatchdog/sys/dev/watchdog/watchdog.c Sun Feb 17 09:04:42 2013 (r246901) @@ -51,12 +51,12 @@ static void wd_timeout_cb(void *arg); static struct callout wd_pretimeo_handle; static int wd_pretimeout; -static int wd_pretimeout_act; +static int wd_pretimeout_act = WD_SOFT_LOG; static struct callout wd_softtimeo_handle; static int wd_softtimer; /* true = use softtimer instead of hardware watchdog */ -static int wd_softtimeout_act; /* action for the software timeout */ +static int wd_softtimeout_act = WD_SOFT_LOG; /* action for the software timeout */ static struct cdev *wd_dev; static volatile u_int wd_last_u; /* last timeout value set by kern_do_pat */ @@ -64,8 +64,8 @@ static volatile u_int wd_last_u; /* l static int wd_lastpat_valid = 0; static time_t wd_lastpat = 0; /* when the watchdog was last patted */ -static int -kern_do_pat(u_int utim) +int +wdog_kern_pat(u_int utim) { int error; @@ -103,6 +103,7 @@ kern_do_pat(u_int utim) (void) callout_reset(&wd_softtimeo_handle, hz*utim, wd_timeout_cb, "soft"); } + error = 0; } else { EVENTHANDLER_INVOKE(watchdog_list, utim, &error); } @@ -128,15 +129,9 @@ static int wd_valid_act(int act) { - switch (act) { - case WD_SOFT_PANIC: -#ifdef DDB - case WD_SOFT_DDB: -#endif - case WD_SOFT_LOG: - return true; - } - return false; + if ((act & ~(WD_SOFT_MASK)) != 0) + return false; + return true; } static int @@ -156,7 +151,7 @@ wd_ioctl_patpat(caddr_t data) return (ENOSYS); /* XXX Not implemented yet */ u &= ~(WD_ACTIVE | WD_PASSIVE); - return (kern_do_pat(u)); + return (wdog_kern_pat(u)); } static int @@ -178,28 +173,21 @@ static void wd_timeout_cb(void *arg) { const char *type = arg; -#ifdef DDB - char kdb_why[80]; -#endif - switch (wd_pretimeout_act) { - case WD_SOFT_PANIC: - panic("watchdog %s-timeout, WD_SOFT_PANIC set", type); - break; #ifdef DDB - case WD_SOFT_DDB: + if ((wd_pretimeout_act & WD_SOFT_DDB)) { + char kdb_why[80]; snprintf(kdb_why, sizeof(buf), "watchdog %s timeout", type); kdb_backtrace(); kdb_enter(KDB_WHY_WATCHDOG, kdb_why); - break; + } #endif - case WD_SOFT_LOG: + if ((wd_pretimeout_act & WD_SOFT_LOG)) log(LOG_EMERG, "watchdog %s-timeout, WD_SOFT_LOG", type); - break; - default: - panic("watchdog: unexpected wd_pretimeout_act %d", - wd_pretimeout_act); - } + if ((wd_pretimeout_act & WD_SOFT_PRINTF)) + printf("watchdog %s-timeout, WD_SOFT_PRINTF\n", type); + if ((wd_pretimeout_act & WD_SOFT_PANIC)) + panic("watchdog %s-timeout, WD_SOFT_PANIC set", type); } /* @@ -310,6 +298,10 @@ wd_ioctl(struct cdev *dev __unused, u_lo return (error); } +/* + * Return the last timeout set, this is NOT the seconds from NOW until timeout, + * rather it is the amount of seconds passed to WDIOCPATPAT/WDIOC_SETTIMEOUT. + */ u_int wdog_kern_last_timeout(void) { @@ -317,16 +309,6 @@ wdog_kern_last_timeout(void) return (wd_last_u); } -int -wdog_kern_pat(u_int utim) -{ - - if (utim & ~(WD_LASTVAL | WD_INTERVAL)) - return (EINVAL); - - return (kern_do_pat(utim)); -} - static struct cdevsw wd_cdevsw = { .d_version = D_VERSION, .d_ioctl = wd_ioctl, Modified: user/alfred/ewatchdog/sys/sys/watchdog.h ============================================================================== --- user/alfred/ewatchdog/sys/sys/watchdog.h Sun Feb 17 07:40:21 2013 (r246900) +++ user/alfred/ewatchdog/sys/sys/watchdog.h Sun Feb 17 09:04:42 2013 (r246901) @@ -1,5 +1,8 @@ /*- * Copyright (c) 2003 Poul-Henning Kamp + * Copyright (c) 2013 iXsystems.com, + * author: Alfred Perlstein + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -87,11 +90,15 @@ #define WD_TO_8SEC 33 #define WD_TO_16SEC 34 #define WD_TO_32SEC 35 +#define WD_TO_64SEC 36 +#define WD_TO_128SEC 37 /* action on pre-timeout trigger */ -#define WD_SOFT_PANIC 1 /* panic */ -#define WD_SOFT_DDB 2 /* enter debugger */ -#define WD_SOFT_LOG 3 /* log(9) */ +#define WD_SOFT_PANIC 0x01 /* panic */ +#define WD_SOFT_DDB 0x02 /* enter debugger */ +#define WD_SOFT_LOG 0x04 /* log(9) */ +#define WD_SOFT_PRINTF 0x08 /* printf(9) */ +#define WD_SOFT_MASK 0x0f /* all of the above */ #ifdef _KERNEL Modified: user/alfred/ewatchdog/usr.sbin/watchdogd/watchdogd.c ============================================================================== --- user/alfred/ewatchdog/usr.sbin/watchdogd/watchdogd.c Sun Feb 17 07:40:21 2013 (r246900) +++ user/alfred/ewatchdog/usr.sbin/watchdogd/watchdogd.c Sun Feb 17 09:04:42 2013 (r246901) @@ -1,5 +1,8 @@ /*- * Copyright (c) 2003-2004 Sean M. Kelly + * Copyright (c) 2013 iXsystems.com, + * author: Alfred Perlstein + * * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,6 +56,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + static void parseargs(int, char *[]); static void sighandler(int); static void watchdog_loop(void); @@ -64,7 +69,8 @@ static void usage(void); static int debugging = 0; static int end_program = 0; static const char *pidfile = _PATH_VARRUN "watchdogd.pid"; -static u_int timeout = WD_TO_16SEC; +static u_int timeout = WD_TO_128SEC; +static u_int pretimeout = 0; static u_int passive = 0; static int is_daemon = 0; static int is_dry_run = 0; /* do not arm the watchdog, only @@ -77,6 +83,25 @@ static int nap = 1; static int carp_thresh_seconds = -1; static char *test_cmd = NULL; +static const char *getopt_shortopts; + +static int pretimeout_set; +static int pretimeout_act; +static int pretimeout_act_set; + +static int softtimeout_set; +static int softtimeout_act; +static int softtimeout_act_set; + +static struct option longopts[] = { + { "debug", no_argument, &debugging, 1 }, + { "pretimeout", required_argument, &pretimeout_set, 1 }, + { "pretimeout-action", required_argument, &pretimeout_act_set, 1 }, + { "softtimeout", no_argument, &softtimeout_set, 1 }, + { "softtimeout-action", required_argument, &softtimeout_act_set, 1 }, + { NULL, 0, NULL, 0} +}; + /* * Ask malloc() to map minimum-sized chunks of virtual address space at a time, * so that mlockall() won't needlessly wire megabytes of unused memory into the @@ -121,6 +146,7 @@ main(int argc, char *argv[]) pfh = pidfile_open(pidfile, 0600, &otherpid); if (pfh == NULL) { if (errno == EEXIST) { + watchdog_onoff(0); errx(EX_SOFTWARE, "%s already running, pid: %d", getprogname(), otherpid); } @@ -312,15 +338,62 @@ watchdog_patpat(u_int t) static int watchdog_onoff(int onoff) { + int error; /* fake successful watchdog op if a dry run */ if (is_dry_run) return 0; - if (onoff) + if (onoff) { + /* + * Call the WDIOC_SETSOFT regardless of softtimeout_set + * because we'll need to turn it off if someone had turned + * it on. + */ + error = ioctl(fd, WDIOC_SETSOFT, &softtimeout_set); + if (error) { + warn("setting WDIOC_SETSOFT %d", softtimeout_set); + return (error); + } + error = watchdog_patpat((timeout|WD_ACTIVE)); + if (error) { + warn("watchdog_patpat failed"); + goto failsafe; + } + if (softtimeout_act_set) { + error = ioctl(fd, WDIOC_SETSOFTTIMEOUTACT, + &softtimeout_act); + if (error) { + warn("setting WDIOC_SETSOFTTIMEOUTACT %d", + softtimeout_act); + goto failsafe; + } + } + if (pretimeout_set) { + error = ioctl(fd, WDIOC_SETPRETIMEOUT, &pretimeout); + if (error) { + warn("setting WDIOC_SETPRETIMEOUT %d", + pretimeout); + goto failsafe; + } + } + if (pretimeout_act_set) { + error = ioctl(fd, WDIOC_SETPRETIMEOUTACT, + &pretimeout_act); + if (error) { + warn("setting WDIOC_SETPRETIMEOUTACT %d", + pretimeout_act); + goto failsafe; + } + } + /* pat one more time for good measure */ return watchdog_patpat((timeout|WD_ACTIVE)); - else + } else { return watchdog_patpat(0); + } +failsafe: + watchdog_patpat(0); + return (error); } /* @@ -330,41 +403,132 @@ static void usage(void) { if (is_daemon) - fprintf(stderr, "usage: watchdogd [-dnw] [-e cmd] [-I file] [-s sleep] [-t timeout] [-T script_timeout]\n"); + fprintf(stderr, "usage:\n" +" watchdogd [-dnw] [-e cmd] [-I file] [-s sleep] [-t timeout]\n" +" [-T script_timeout]\n" +" [--debug]\n" +" [--pretimeout seconds] [-pretimeout-action action]\n" +" [--softtimeout] [-softtimeout-action action]\n" +); else fprintf(stderr, "usage: watchdog [-d] [-t timeout]\n"); exit(EX_USAGE); } static long -fetchtimeout(int opt, const char *myoptarg) +fetchtimeout(int opt, const char *longopt, const char *myoptarg) { + const char *errstr; char *p; long rv; + errstr = NULL; p = NULL; errno = 0; rv = strtol(myoptarg, &p, 0); if ((p != NULL && *p != '\0') || errno != 0) - errx(EX_USAGE, "-%c argument is not a number", opt); + errstr = "is not a number"; + if (rv <= 0) + errstr = "must be greater than zero"; + if (errstr) { + if (longopt) + errx(EX_USAGE, "--%s argument %s", longopt, errstr); + else + errx(EX_USAGE, "-%c argument %s", opt, errstr); + } return (rv); } +struct act_tbl { + const char *at_act; + int at_value; +}; + +struct act_tbl act_tbl[] = { + { "panic", WD_SOFT_PANIC }, + { "ddb", WD_SOFT_DDB }, + { "log", WD_SOFT_LOG }, + { "printf", WD_SOFT_PRINTF }, + { NULL, 0 } +}; + +static void +timeout_act_error(const char *lopt, const char *badact) +{ + char *opts, *oldopts; + int i; + + opts = NULL; + for (i = 0; act_tbl[i].at_act != NULL; i++) { + oldopts = opts; + if (asprintf(&opts, "%s%s%s", + oldopts == NULL ? "" : oldopts, + oldopts == NULL ? "" : ", ", + act_tbl[i].at_act) == -1) + err(EX_OSERR, "malloc"); + free(oldopts); + } + warnx("bad --%s argument '%s' must be one of (%s).", + lopt, badact, opts); + usage(); +} + +/* + * Take a comma separated list of actions and or the flags + * together for the ioctl. + */ +static int +timeout_act_str2int(const char *lopt, const char *acts) +{ + int i; + char *dupacts, *tofree; + char *o; + int rv = 0; + + tofree = dupacts = strdup(acts); + if (!tofree) + err(EX_OSERR, "malloc"); + while ((o = strsep(&dupacts, ",")) != NULL) { + for (i = 0; act_tbl[i].at_act != NULL; i++) { + if (!strcmp(o, act_tbl[i].at_act)) { + rv |= act_tbl[i].at_value; + break; + } + } + if (act_tbl[i].at_act == NULL) + timeout_act_error(lopt, o); + } + free(tofree); + return rv; +} + /* * Handle the few command line arguments supported. */ static void parseargs(int argc, char *argv[]) { + int longindex; int c; char *p; + const char *lopt; double a; + /* + * if we end with a 'd' aka 'watchdogd' then we are the daemon program, + * otherwise run as a command line utility. + */ c = strlen(argv[0]); if (argv[0][c - 1] == 'd') is_daemon = 1; - while ((c = getopt(argc, argv, - is_daemon ? "I:de:ns:t:ST:w?" : "dt:?")) != -1) { + + if (is_daemon) + getopt_shortopts = "I:de:ns:t:ST:w?"; + else + getopt_shortopts = "dt:?"; + + while ((c = getopt_long(argc, argv, getopt_shortopts, longopts, + &longindex)) != -1) { switch (c) { case 'I': pidfile = optarg; @@ -384,7 +548,7 @@ parseargs(int argc, char *argv[]) break; #endif case 's': - nap = fetchtimeout(c, optarg); + nap = fetchtimeout(c, NULL, optarg); break; case 'S': do_syslog = 1; @@ -397,6 +561,7 @@ parseargs(int argc, char *argv[]) errx(EX_USAGE, "-t argument is not a number"); if (a < 0) errx(EX_USAGE, "-t argument must be positive"); + if (a == 0) timeout = WD_TO_NEVER; else @@ -406,11 +571,28 @@ parseargs(int argc, char *argv[]) timeout); break; case 'T': - carp_thresh_seconds = fetchtimeout(c, optarg); + carp_thresh_seconds = fetchtimeout(c, "NULL", optarg); break; case 'w': do_timedog = 1; break; + case 0: + lopt = longopts[longindex].name; + if (!strcmp(lopt, "pretimeout")) { + pretimeout = fetchtimeout(0, lopt, optarg); + } else if (!strcmp(lopt, "pretimeout-action")) { + pretimeout_act = timeout_act_str2int(lopt, + optarg); + } else if (!strcmp(lopt, "softtimeout-action")) { + softtimeout_act = timeout_act_str2int(lopt, + optarg); + } else { + /* warnx("bad option at index %d: %s", optind, + argv[optind]); + usage(); + */ + } + break; case '?': default: usage(); From owner-svn-src-user@FreeBSD.ORG Mon Feb 18 01:14:22 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DBCF5FB5; Mon, 18 Feb 2013 01:14:22 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BE0D6220; Mon, 18 Feb 2013 01:14:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1I1EMTB053102; Mon, 18 Feb 2013 01:14:22 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1I1EMVT053101; Mon, 18 Feb 2013 01:14:22 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201302180114.r1I1EMVT053101@svn.freebsd.org> From: Eitan Adler Date: Mon, 18 Feb 2013 01:14:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246928 - user/crees/rclint X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Feb 2013 01:14:22 -0000 Author: eadler Date: Mon Feb 18 01:14:21 2013 New Revision: 246928 URL: http://svnweb.freebsd.org/changeset/base/246928 Log: pep8 style fixes Modified: user/crees/rclint/rclint.py Modified: user/crees/rclint/rclint.py ============================================================================== --- user/crees/rclint/rclint.py Mon Feb 18 01:08:59 2013 (r246927) +++ user/crees/rclint/rclint.py Mon Feb 18 01:14:21 2013 (r246928) @@ -37,6 +37,7 @@ import logging import re import textwrap + class Db: def __init__(self, dbname, language): self._contents = [] @@ -76,7 +77,7 @@ class Db: else: logging.error('No such error: %s' % key) self.count += 1 - if self.count > 10 and beaucoup_errors == False: + if self.count > 10 and not beaucoup_errors: hint = ' Try rerunning with -v option for extra details.' if verbosity == 0 else '' logging.error('Error threshold reached-- further errors are unlikely to be helpful. Fix the errors and rerun. The -k option will cause rclint to continue for as many errors as it finds.' + hint) exit() @@ -84,6 +85,7 @@ class Db: def warn(self, key, num=-1, level='warn'): self.give(key, num, level) + class Statement: def __init__(self, lines, number): types = {'.': 'source', 'load_rc_config': 'load_rc_config', @@ -121,6 +123,7 @@ class Statement: else: return self.value + class Variable(Statement): def __init__(self, lines, number): line = lines[number] @@ -156,7 +159,7 @@ class Variable(Statement): (self.name, assignment, self.value) = is_shorthand self.clobber = True if assignment[0] == ':' else False self.type = 'shorthand' - + if not hasattr(self, 'value'): self.value = False self.line = number @@ -172,6 +175,7 @@ class Variable(Statement): def is_empty(self): return False if re.match('[\'"]?[^\'"]+[\'"]?', self.value) else True + class Comment: def __init__(self, lines, number): line = lines[number] @@ -185,6 +189,7 @@ class Comment: else: return False + class Shebang: def __init__(self, comment): self.line = comment.line @@ -195,6 +200,7 @@ class Shebang: else: self.value = False + class Rcorder: def __init__(self, comment): self.line = comment.line @@ -204,6 +210,7 @@ class Rcorder: else: self.value = False + class RcsId: def __init__(self, comment): self.line = comment.line @@ -213,6 +220,7 @@ class RcsId: else: self.value = False + class Function: def __init__(self, lines, num): if len(lines[0]) > 1 and lines[0][-1] == '{': @@ -248,6 +256,7 @@ class Function: def contains_line(self, line): return True if line in self.linenumbers() else False + def get(objlist, name): for o in objlist: if o.name == name: @@ -255,6 +264,7 @@ def get(objlist, name): else: return False + def do_ports_checking(lineobj, filename): logging.debug('Now on ports-specific section') logging.debug('Checking for defaults clobbering blank values') @@ -268,9 +278,11 @@ def do_ports_checking(lineobj, filename) error.give('variables_defaults_old_style', var.line) return + def do_src_checking(lineobj, filename): return + def do_rclint(filename): logging.debug('Suck in file %s' % filename) try: @@ -286,7 +298,7 @@ def do_rclint(filename): for num in range(0, len(lines)): for obj in list(lineobj.keys()): tmp = eval(obj)(lines, num) - if tmp.value != False: + if not tmp.value: lineobj[obj].append(tmp) break @@ -410,7 +422,7 @@ def do_rclint(filename): error.give('rcvar_incorrect', var.line) except: error.give('file_order', var.line) - + logging.debug('Checking for function issues') for function in lineobj['Function']: if function.short(): @@ -450,7 +462,7 @@ parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='+') parser.add_argument('--language', nargs=1, type=str, default=['en'], help='sets the language that errors are reported in') parser.add_argument('-v', action='count', help='raises debug level; provides detailed explanations of errors') -parser.add_argument('--version', action='version', version='%s.%s.%s-%s'%(MAJOR, MINOR, MICRO, __version__)) +parser.add_argument('--version', action='version', version='%s.%s.%s-%s' %(MAJOR, MINOR, MICRO, __version__)) parser.add_argument('-b', action='store_true', help='chooses base RC script mode') parser.add_argument('-p', action='store_true', help='chooses ports RC script mode (default)') parser.add_argument('-k', action='store_true', help='tells rclint to carry on reporting even if there are over 10 errors') @@ -459,7 +471,7 @@ args = parser.parse_args() mode = 'base' if args.b else 'ports' beaucoup_errors = args.k -verbosity = args.v if args.v != None else 0 +verbosity = args.v if args.v is not None else 0 logging.basicConfig(level=logging.DEBUG if verbosity > 1 else logging.WARN) error = Db('errors', args.language[0]) From owner-svn-src-user@FreeBSD.ORG Mon Feb 18 04:33:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C1C7BE54; Mon, 18 Feb 2013 04:33:45 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A4595A42; Mon, 18 Feb 2013 04:33:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1I4XjvG014441; Mon, 18 Feb 2013 04:33:45 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1I4Xj6Q014440; Mon, 18 Feb 2013 04:33:45 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201302180433.r1I4Xj6Q014440@svn.freebsd.org> From: Eitan Adler Date: Mon, 18 Feb 2013 04:33:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246936 - user/crees/rclint X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Feb 2013 04:33:45 -0000 Author: eadler Date: Mon Feb 18 04:33:45 2013 New Revision: 246936 URL: http://svnweb.freebsd.org/changeset/base/246936 Log: Fix likely typos Modified: user/crees/rclint/rclint.py Modified: user/crees/rclint/rclint.py ============================================================================== --- user/crees/rclint/rclint.py Mon Feb 18 04:20:43 2013 (r246935) +++ user/crees/rclint/rclint.py Mon Feb 18 04:33:45 2013 (r246936) @@ -97,7 +97,7 @@ class Statement: self.type = types[spl[0]] self.value = ' '.join(spl[1:]) while self.value[-1] == '\\': - self.value = ' '.join((self.value[:-1], lines[num+self.length])) + self.value = ' '.join((self.value[:-1], lines[number+self.length])) self.length += 1 self.line = number else: @@ -455,7 +455,7 @@ def do_rclint(filename): if mode == 'ports': do_ports_checking(lineobj, filename) if mode == 'base': - do_base_checking(lineobj, filename) + do_src_checking(lineobj, filename) parser = argparse.ArgumentParser() From owner-svn-src-user@FreeBSD.ORG Mon Feb 18 09:07:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CA31F408; Mon, 18 Feb 2013 09:07:59 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD4FA6BA; Mon, 18 Feb 2013 09:07:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1I97xjR097418; Mon, 18 Feb 2013 09:07:59 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1I97xUp097417; Mon, 18 Feb 2013 09:07:59 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302180907.r1I97xUp097417@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 18 Feb 2013 09:07:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246939 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Feb 2013 09:07:59 -0000 Author: ae Date: Mon Feb 18 09:07:59 2013 New Revision: 246939 URL: http://svnweb.freebsd.org/changeset/base/246939 Log: Remove unused variable. Modified: user/ae/inet6/sys/netinet6/nd6.c Modified: user/ae/inet6/sys/netinet6/nd6.c ============================================================================== --- user/ae/inet6/sys/netinet6/nd6.c Mon Feb 18 08:24:39 2013 (r246938) +++ user/ae/inet6/sys/netinet6/nd6.c Mon Feb 18 09:07:59 2013 (r246939) @@ -120,8 +120,6 @@ VNET_DEFINE(struct nd_prhead, nd_prefix) VNET_DEFINE(int, nd6_recalc_reachtm_interval) = ND6_RECALC_REACHTM_INTERVAL; #define V_nd6_recalc_reachtm_interval VNET(nd6_recalc_reachtm_interval) -static struct sockaddr_in6 all1_sa; - int (*send_sendso_input_hook)(struct mbuf *, struct ifnet *, int, int); static int nd6_is_new_addr_neighbor(struct sockaddr_in6 *, @@ -141,15 +139,9 @@ VNET_DEFINE(struct callout, nd6_timer_ch void nd6_init(void) { - int i; LIST_INIT(&V_nd_prefix); - all1_sa.sin6_family = AF_INET6; - all1_sa.sin6_len = sizeof(struct sockaddr_in6); - for (i = 0; i < sizeof(all1_sa.sin6_addr); i++) - all1_sa.sin6_addr.s6_addr[i] = 0xff; - /* initialization of the default router list */ TAILQ_INIT(&V_nd_defrouter); From owner-svn-src-user@FreeBSD.ORG Mon Feb 18 16:19:26 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DCC068FF; Mon, 18 Feb 2013 16:19:26 +0000 (UTC) (envelope-from crees@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BB6A97CE; Mon, 18 Feb 2013 16:19:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1IGJQkj029024; Mon, 18 Feb 2013 16:19:26 GMT (envelope-from crees@svn.freebsd.org) Received: (from crees@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1IGJQ9S029023; Mon, 18 Feb 2013 16:19:26 GMT (envelope-from crees@svn.freebsd.org) Message-Id: <201302181619.r1IGJQ9S029023@svn.freebsd.org> From: Chris Rees Date: Mon, 18 Feb 2013 16:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246943 - user/crees/rclint X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Feb 2013 16:19:26 -0000 Author: crees (ports committer) Date: Mon Feb 18 16:19:26 2013 New Revision: 246943 URL: http://svnweb.freebsd.org/changeset/base/246943 Log: Fix style fix (tmp.value != False should be tmp.value) Pointyhat to: eadler Fix pointless quoting for real this time (used to detect the quotes at the beginning and end of the value) Noticed by: bdrewery Modified: user/crees/rclint/rclint.py Modified: user/crees/rclint/rclint.py ============================================================================== --- user/crees/rclint/rclint.py Mon Feb 18 16:03:42 2013 (r246942) +++ user/crees/rclint/rclint.py Mon Feb 18 16:19:26 2013 (r246943) @@ -28,7 +28,7 @@ __version__ = '$FreeBSD$' MAJOR = 0 MINOR = 0 -MICRO = 4 +MICRO = 5 DATADIR = '.' @@ -112,7 +112,7 @@ class Statement: def pointless_quoted(self): if not self.quoted(): return False - for char in self.value: + for char in self.value[1:-1]: if char in ' \t|&;<>()$`\\\"\'': return False return True @@ -298,7 +298,7 @@ def do_rclint(filename): for num in range(0, len(lines)): for obj in list(lineobj.keys()): tmp = eval(obj)(lines, num) - if not tmp.value: + if tmp.value: lineobj[obj].append(tmp) break From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:06:47 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 71C976C4; Tue, 19 Feb 2013 02:06:47 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 370A1335; Tue, 19 Feb 2013 02:06:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J26lVb009315; Tue, 19 Feb 2013 02:06:47 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J26le8009314; Tue, 19 Feb 2013 02:06:47 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190206.r1J26le8009314@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:06:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246956 - user/bugmeister X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:06:47 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:06:46 2013 New Revision: 246956 URL: http://svnweb.freebsd.org/changeset/base/246956 Log: New repository to hold GNATS stuff that is in production on freefall. Added: user/bugmeister/ From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:07:37 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 246E97E1; Tue, 19 Feb 2013 02:07:37 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DE24033A; Tue, 19 Feb 2013 02:07:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J27aeb009514; Tue, 19 Feb 2013 02:07:36 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J27ak5009513; Tue, 19 Feb 2013 02:07:36 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190207.r1J27ak5009513@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:07:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246957 - user/bugmeister/gnats X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:07:37 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:07:36 2013 New Revision: 246957 URL: http://svnweb.freebsd.org/changeset/base/246957 Log: Repository to hold local GNATS modifications as used in production on freefall. Added: user/bugmeister/gnats/ From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:21:07 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0647DCBD; Tue, 19 Feb 2013 02:21:07 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D590E3E4; Tue, 19 Feb 2013 02:21:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2L6gu014878; Tue, 19 Feb 2013 02:21:06 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2L6kf014877; Tue, 19 Feb 2013 02:21:06 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190221.r1J2L6kf014877@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:21:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246959 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:21:07 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:21:06 2013 New Revision: 246959 URL: http://svnweb.freebsd.org/changeset/base/246959 Log: GNATS tools as used in production on freefall.freebsd.org. Added: user/bugmeister/gnats/tools/ From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:24:29 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1F84DEFD; Tue, 19 Feb 2013 02:24:29 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 07C63620; Tue, 19 Feb 2013 02:24:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2OSbt015377; Tue, 19 Feb 2013 02:24:28 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2OSgJ015376; Tue, 19 Feb 2013 02:24:28 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190224.r1J2OSgJ015376@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:24:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246960 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:24:29 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:24:28 2013 New Revision: 246960 URL: http://svnweb.freebsd.org/changeset/base/246960 Log: Production copy of www/en/cgi/cgi-lib.pl. Added: user/bugmeister/gnats/tools/cgi-lib.pl (contents, props changed) Added: user/bugmeister/gnats/tools/cgi-lib.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/cgi-lib.pl Tue Feb 19 02:24:28 2013 (r246960) @@ -0,0 +1,122 @@ +#!/usr/bin/perl -- -*- C -*- +# Perl Routines to Manipulate CGI input +# S.E.Brenner@bioc.cam.ac.uk +# +# Copyright 1994 Steven E. Brenner +# Unpublished work. +# Permission granted to use and modify this library so long as the +# copyright above is maintained, modifications are documented, and +# credit is given for any use of the library. +# +# Thanks are due to many people for reporting bugs and suggestions +# especially Meng Weng Wong, Maki Watanabe, Bo Frese Rasmussen, +# Andrew Dalke, Mark-Jason Dominus and Dave Dittrich. +# For more information, see: +# http://www.bio.cam.ac.uk/web/form.html +# http://www.seas.upenn.edu/~mengwong/forms/ +# Minimalist http form and script (http://www.bio.cam.ac.uk/web/minimal.cgi): +# +# require "cgi-lib.pl"; +# if (&ReadParse(*input)) { +# print &PrintHeader, &PrintVariables(%input); +# } else { +# print &PrintHeader,'
Data: '; +#} +# ReadParse +# Reads in GET or POST data, converts it to unescaped text, and puts +# one key=value in each member of the list "@in" +# Also creates key/value pairs in %in, using '\0' to separate multiple +# selections +# Returns TRUE if there was input, FALSE if there was no input +# UNDEF may be used in the future to indicate some failure. +# Now that cgi scripts can be put in the normal file space, it is useful +# to combine both the form and the script in one place. If no parameters +# are given (i.e., ReadParse returns FALSE), then a form could be output. +# If a variable-glob parameter (e.g., *cgi_input) is passed to ReadParse, +# information is stored there, rather than in $in, @in, and %in. +# +# $FreeBSD$ +# + +sub ReadParse { + local (*in) = @_ if @_; + local ($i, $key, $val); + # Read in text + if (&MethGet) { + $in = $ENV{'QUERY_STRING'}; + } elsif ($ENV{'REQUEST_METHOD'} eq "POST") { + read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); + } + @in = split(/&/,$in); + foreach $i (0 .. $#in) { + # Convert plus's to spaces + $in[$i] =~ s/\+/ /g; + # Split into key and value. + ($key, $val) = split(/=/,$in[$i],2); # splits on the first =. + # Convert %XX from hex numbers to alphanumeric + $key =~ s/%(..)/pack("c",hex($1))/ge; + $key =~ tr/[^A-Za-z0-9\-\_\$\+\=\~\.\,]//; # allow only safe chars + $val =~ s/%(..)/pack("c",hex($1))/ge; + $val =~ tr/[^A-Za-z0-9\-\_\$\+\=\~\.\,]//; # allow only safe chars + # Associate key and value + $in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator + $in{$key} .= $val; + } + return length($in); +} +# PrintHeader +# Returns the magic line which tells WWW that we're an HTML document +sub PrintHeader { + return "Content-type: text/html\n\n"; +} +# MethGet +# Return true if this cgi call was using the GET request, false otherwise +sub MethGet { + return ($ENV{'REQUEST_METHOD'} eq "GET"); +} +# MyURL +# Returns a URL to the script +sub MyURL { + return 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'}; +} +# CgiError +# Prints out an error message which containes appropriate headers, +# markup, etcetera. +# Parameters: +# If no parameters, gives a generic error message +# Otherwise, the first parameter will be the title and the rest will +# be given as different paragraphs of the body +sub CgiError { + local (@msg) = @_; + local ($i,$name); + if (!@msg) { + $name = &MyURL; + @msg = ("Error: script $name encountered fatal error"); + }; + print &PrintHeader; + print "$msg[0]\n"; + print "

$msg[0]

\n"; + foreach $i (1 .. $#msg) { + print "

$msg[$i]

\n"; + } + print "\n"; +} +# PrintVariables +# Nicely formats variables in an associative array passed as a parameter +# And returns the HTML string. +sub PrintVariables { + local (%in) = @_; + local ($old, $out, $output); + $old = $*; $* =1; + $output .= "
"; + foreach $key (sort keys(%in)) { + foreach (split("\0", $in{$key})) { + ($out = $_) =~ s/\n/
/g; + $output .= "
$key
$out
"; + } + } + $output .= "
"; + $* = $old; + return $output; +} +1; From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:25:06 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D9F1590; Tue, 19 Feb 2013 02:25:06 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD8A4629; Tue, 19 Feb 2013 02:25:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2P6Bq015523; Tue, 19 Feb 2013 02:25:06 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2P6uV015522; Tue, 19 Feb 2013 02:25:06 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190225.r1J2P6uV015522@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246961 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:25:06 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:25:06 2013 New Revision: 246961 URL: http://svnweb.freebsd.org/changeset/base/246961 Log: Production copy of www/en/cgi/cgi-style.pl. Added: user/bugmeister/gnats/tools/cgi-style.pl (contents, props changed) Added: user/bugmeister/gnats/tools/cgi-style.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/cgi-style.pl Tue Feb 19 02:25:06 2013 (r246961) @@ -0,0 +1,224 @@ +# $FreeBSD$ +# +# Perl routines to encapsulate various elements of HTML page style. + +# For future reference, when is now? +($se,$mn,$hr,$md,$mo,$yr,$wd,$yd,$dst) = localtime(time); +$yr += 1900; +$mo += 1; +$timestamp = "$mo-$md-$yr"; + +if (!defined($hsty_base)) { + # $hsty_base should be relative if possible, so that mirrors + # serve their local copy instead of going to the main site. + # However, if we aren't running as a cgi, or if we're + # running on cgi, hub, docs or people, use the absolute home path. + if (!defined($ENV{'HTTP_HOST'}) || + $ENV{'HTTP_HOST'} =~ /(cgi|hub|docs|people).freebsd.org/i) { + + $hsty_base = 'http://www.FreeBSD.org' + } else { + $hsty_base = '..'; + } +} +if (!defined($hsty_email)) { + $hsty_email = 'www@FreeBSD.org'; +} +if (!defined($hsty_author)) { + $hsty_author = "$hsty_email"; +} + +if (!defined($hsty_date)) { + $hsty_date = ''; +} + +# This can be set to either a string containing an inline CSS stylesheet +# or to a element that references an external CSS stylesheet, to +# make local modifications to the style of a CGI script's output. +$t_style = ""; # Don't allow script to override completely, just + # let the script's setting cascade with the master. + +$i_topbar = qq` +
+
+ Skip site + navigation (1)Skip section navigation (2) + +
+ + +

Site Navigation

+ + +
+ +
+`; + +#XXX does anyone use this? I don't know what it should be in the new style. +if (!defined($hsty_home)) { + $hsty_home = "FreeBSD Home Page"; +} + +sub html_header { + local ($title, $xhtml) = @_; + + # XXX MCL refactored + return qq`Content-type: text/html + +` . short_html_header($title, $xhtml) . "

$title

\n"; +} + +# XXX MCL added +sub noninteractive_html_header { + local ($title, $xhtml) = @_; + + return short_html_header($title, $xhtml) . "

$title

\n"; +} + +sub short_html_header { + local ($title, $xhtml) = @_; + + $xhtml = 1 unless defined($xhtml); + $doctype = $xhtml ? '' : ''; + $html = $xhtml ? '' : ''; + $endslash = $xhtml ? '/' : ''; + $csshack = (1 || $xhtml) ? '' : q` +`; + + return qq`$doctype +$html + +$title + + + + +$csshack + +$t_style + + +$i_topbar +`; +} + +sub html_footer { + return qq` +
+ +
+
+ + +`; + + +} + +sub get_the_source { + return if $ENV{'PATH_INFO'} ne '/get_the_source'; + + open(R, $0) || do { + print "Oops! open $0: $!\n"; # should not reached + exit; + }; + + print "Content-type: text/plain\n\n"; + while() { print } + close R; + exit; +} + +1; From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:25:39 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D86AD1C7; Tue, 19 Feb 2013 02:25:39 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BC6F5630; Tue, 19 Feb 2013 02:25:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2PdUF015623; Tue, 19 Feb 2013 02:25:39 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2Pdll015622; Tue, 19 Feb 2013 02:25:39 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190225.r1J2Pdll015622@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246962 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:25:39 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:25:39 2013 New Revision: 246962 URL: http://svnweb.freebsd.org/changeset/base/246962 Log: Production copy of www/en/cgi/query-pr-summary.cgi. Added: user/bugmeister/gnats/tools/query-pr-summary.cgi (contents, props changed) Added: user/bugmeister/gnats/tools/query-pr-summary.cgi ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/query-pr-summary.cgi Tue Feb 19 02:25:39 2013 (r246962) @@ -0,0 +1,792 @@ +#!/usr/bin/perl -T +# $FreeBSD: www/en/cgi/query-pr-summary.cgi,v 1.53 2005/11/17 04:43:38 fenner Exp $ + +# NOTE: locally modified by linimon + +sub escape($) { $_ = $_[0]; s/&/&/g; s//>/g; $_; } + +$html_mode = 1 if $ENV{'DOCUMENT_ROOT'}; +$self_ref = $ENV{'SCRIPT_NAME'}; +($query_pr_ref = $self_ref) =~ s/-summary//; + +$ENV{'PATH'} = '/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin'; + +$project = 'FreeBSD'; +$mail_prefix = 'freebsd-'; +$mail_unass = 'freebsd-bugs'; +$ports_unass = 'ports-bugs'; +$closed_too = 0; + +require '/home/gnats/tools/cgi-lib.pl'; +require '/home/gnats/tools/cgi-style.pl'; +require 'getopts.pl'; + +if ($ENV{'QUERY_STRING'} eq 'query') { + print &html_header("Query $project problem reports"); + &displayform; + print &html_footer; + exit(0); +} + +if ($html_mode) { + $query_args = '--restricted '; + &ReadParse(*input) if $html_mode; + +} else { + &Getopts('CcQqRr:s:T:t:'); + + $input{'responsible'} = 'summary' if $opt_R; + if ($opt_r) { + ($input{'responsible'}) = ($opt_r =~ m/^(\^?[-_a-zA-Z0-9@.]*\$?)$/); + die 'Insecure args' if ($input{'responsible'} ne $opt_r) + } + if ($opt_s) { + ($input{'state'}) = ($opt_s =~ m/^([a-zA-Z]*)$/); + die 'Insecure args' if ($input{'state'} ne $opt_s) + } + # XXX MCL 20080907 not informative + #$input{'very_quiet'} = 'yes' if $opt_Q; + $input{'quiet'} = 'yes' if $opt_q || $opt_Q; + if ($opt_C) { + $query_args = '--confidential=yes '; + } elsif (!$opt_c) { + $query_args = '--restricted '; + } + # tag, ignoring severity + if ($opt_T) { + ($tag) = ($opt_T =~ m/^(\^?[-_a-zA-Z0-9@.]*\$?)$/); + die 'Insecure args' if ($tag ne $opt_T); + $input{'text'} = '\[' . $tag . '\]'; + } + # tag, by severity + if ($opt_t) { + ($tag) = ($opt_t =~ m/^(\^?[-_a-zA-Z0-9@.]*\$?)$/); + die 'Insecure args' if ($tag ne $opt_t); + $input{'text'} = '\[' . $tag . '\]'; + } +} + +$closed_too = 1 if $input{'state'} eq 'closed' || $input{'closedtoo'}; + +#------------------------------------------------------------------------ + +%mons = ('Jan', '01', 'Feb', '02', 'Mar', '03', + 'Apr', '04', 'May', '05', 'Jun', '06', + 'Jul', '07', 'Aug', '08', 'Sep', '09', + 'Oct', '10', 'Nov', '11', 'Dec', '12'); + + +if ($html_mode) { + + $pr = '
';    $pr_e = '
'; + $h1 = '

'; $h1_e = '

'; + $h3 = '

'; $h3_e = '

'; + $hr = '
'; + + $table = ""; + $table_e = '
'; + + # Customizations for the look and feel of the summary tables. + $t_style = ""; + +} else { + + $pr = ''; $pr_e = ''; + $h1 = ''; $h1_e = ''; + $h3 = ''; $h3_e = ''; + $hr = "\n----------------------------------------" . + "----------------------------------------\n"; + + $table = ''; + $table_e = ''; +} + +sub cgiparam { + local ($result) = @_; + + $result =~ s/[^A-Za-z0-9+.@-]/"%".sprintf("%02X", unpack("C", $&))/ge; + $result; +} + +sub header_info { + if ($html_mode) { + print &html_header("Current $project problem reports"); + } + else { + # XXX MCL 20080907 not informative + #if (!$input{'very_quiet'}) { + # print "Current $project problem reports\n"; + #} + } + if (!$input{'quiet'}) { + # 20080915 added the hrefs + print "The following is a listing of current problems submitted by $project users.\n" . + "These represent problem reports covering all versions including\n" . + "experimental development code and obsolete releases.\n\n"; + "See also http://www.freebsd.org/support/bugreports.html and.\n"; + "http://www.freebsd.org/doc/en_US.ISO8859-1/articles/pr-guidelines/pr-states.html.\n"; + +# XXX MCL moved to bottom 20080907 +# if ($html_mode) { +# print < +#Bugs can be in one of several states: +#

+#
+#
o - open
+#
A problem report has been submitted, no sanity checking +#performed.
+# +#
a - analyzed
+#
The problem is understood and a solution is being sought.
+# +#
f - feedback
+#
Further work requires additional information from the originator +#or the community - possibly confirmation of the effectiveness of a +#proposed solution.
+# +#
p - patched
+#
A patch has been committed, but some issues (MFC and / or +#confirmation from originator) are still open.
+# +#
r - repocopy
+#
The resolution of the problem report is dependent on a repocopy +#operation within the CVS repository which is awaiting completion.
+# +#
s - suspended
+#
The problem is not being worked on, due to lack of information or +#resources. This is a prime candidate for somebody who is looking for a +#project to do. If the problem cannot be solved at all, it will be +#closed, rather than suspended.
+# +#
c - closed
+#
A problem report is closed when any changes have been integrated, +#documented, and tested -- or when fixing the problem is abandoned.
+#
+#EOM +# +# } else { +# +#print <You may view summaries by Severity, "; +$self_ref1 .= '&' if ($self_ref1 !~/\?$/); +print "State, "; +print "Category, or "; +print "Responsible Party."; + +$self_ref2 = $self_ref . '?'; +foreach ('category', 'originator', 'priority', 'class', 'responsible', + 'severity', 'state', 'submitter', 'text', 'multitext', 'closedtoo') { + if ($input{$_}) { + $self_ref2 .= '&' if ($self_ref2 !~/\?$/); + $self_ref2 .= $_ . '=' . cgiparam($input{$_}); + } +} + +print 'You may also sort by '; +print "Last-Modified, "; +print "Category, or "; +print "Responsible Party.\n"; +print "Or formulate a specific query.\n"; + +$self_ref3 = $self_ref . '?'; +foreach ('category', 'originator', 'priority', 'class', 'responsible', + 'severity', 'state', 'submitter', 'text', 'multitext', 'sort') { + if ($input{$_}) { + $self_ref3 .= '&' if ($self_ref2 !~/\?$/); + $self_ref3 .= $_ . '=' . cgiparam($input{$_}); + } +} + +if ($input{'closedtoo'}) { + print "Do not show closed reports."; +} else { + print "Include closed reports too."; +} + +print "

\n"; + + } +} + +&header_info; + +#Usage: query-pr [-FGhiPRqVx] [-C confidential] [-c category] [-d directory] +# [-e severity] [-m mtext] [-O originator] [-o outfile] [-p priority] +# [-L class] [-r responsible] [-S submitter] [-s state] [-t text] +# [-b date] [-a date] [-B date] [-M date] [-z date] [-Z date] +# [-y synopsis] [-A release] [--full] [--help] [--print-path] [--version] +# [--summary] [--sql] [--skip-closed] [--category=category] +# [--confidential=yes|no] [--directory=directory] [--output=outfile] +# [--originator=name] [--priority=level] [--class=class] +# [--responsible=person] [--release=release] [--restricted] +# [--quarter=quarter] [--keywords=regexp] +# [--required-before=date] [--required-after=date] +# [--arrived-before=date] [--arrived-after=date] +# [--modified-before=date] [--modified-after=date] +# [--closed-before=date] [--closed-after=date] +# [--severity=severity] [--state=state] [--submitter=submitter] +# [--list-categories] [--list-classes] [--list-responsible] +# [--list-states] [--list-submitters] [--list-config] +# [--synopsis=synopsis] [--text=text] [--multitext=mtext] [PR] [PR]... + +$query_args .= ' --skip-closed' unless $closed_too; + +# Only read the appropriate PR's. +foreach ('category', 'originator', 'priority', 'class', 'responsible', + 'release', 'severity', 'state', 'submitter', 'text', 'multitext') { + if ($input{$_} && $input{$_} ne 'summary') { + $d = $input{$_}; + $d =~ s/^"(.*)"$/$&/; + $d =~ s/'/\\'/; + $query_args .= " --${_}='$d'"; + } +} + +&read_gnats($query_args); + +if ($input{'sort'} eq 'lastmod') { + @prs = sort {$lastmod{$b} cmp $lastmod{$a}} @prs; +} elsif ($input{'sort'} eq 'category') { + @prs = sort {($ca,$na)=split(m|/|,$a); ($cb,$nb)=split(m|/|,$b); $ca eq $cb ? $na <=> $nb : $ca cmp $cb} @prs; +} elsif ($input{'sort'} eq 'responsible') { + @prs = sort {$resp{$a} cmp $resp{$b}} @prs; +} else { + # XXX MCL 20080907 + # $input{'sort'} = 'none'; + @prs = reverse @prs; +} + +if ($#prs < $[) { + print "\n${h1}No matches to your query${h1_e}\n"; + +} elsif ($input{'responsible'} eq 'summary') { + &resp_summary; + +} elsif ($input{'state'} eq 'summary') { + &state_summary; + +} elsif ($input{'category'} eq 'summary') { + &cat_summary; + +# XXX MCL 20080907 s/''/'summary'/ +} elsif ($input{'severity'} eq 'summary' && $opt_T eq '') { + &severity_summary; + +} else { + &printcnt(&gnats_summary(1, $html_mode)); + +} + +# XXX MCL code moved here 20080907 + if ($html_mode) { + print < +Bugs can be in one of several states: +

+
+
o - open
+
A problem report has been submitted, no sanity checking +performed.
+ +
a - analyzed
+
The problem is understood and a solution is being sought.
+ +
f - feedback
+
Further work requires additional information from the originator +or the community - possibly confirmation of the effectiveness of a +proposed solution.
+ +
p - patched
+
A patch has been committed, but some issues (MFC and / or +confirmation from originator) are still open.
+ +
r - repocopy
+
The resolution of the problem report is dependent on a repocopy +operation within the CVS repository which is awaiting completion.
+ +
s - suspended
+
The problem is not being worked on, due to lack of information or +resources. This is a prime candidate for somebody who is looking for a +project to do. If the problem cannot be solved at all, it will be +closed, rather than suspended.
+ +
c - closed
+
A problem report is closed when any changes have been integrated, +documented, and tested -- or when fixing the problem is abandoned.
+
+EOM + +# 20080915 test: declare this boilerplate obsolete +# } else { +# +#print </>/g; + + $line; +} + +sub printcnt { + local($cnt) = $_[0]; + + if ($cnt) { + printf("%d problem%s total.\n\n", $cnt, $cnt == 1 ? '' : 's'); + } +} + +sub cat_summary { + &get_categories; + foreach (keys %status) { + s|/\d+||; + $cat{$_}++; + } + foreach (@categories) { + next unless $cat{$_}; # skip categories with no bugs. + print "${h3}Problems in category: $_ ($catdesc{$_})${h3_e}\n"; + if (/^(\w+)/) { + &printcnt(&gnats_summary("\$cat eq \"$1\"", $html_mode)); + } else { + print "\n??? weird category $_\n"; + } + } +} + +sub resp_query { + local($resp) = @_[0]; + local($cnt); + + $cnt = &gnats_summary("\$resp eq \"$resp\"", $html_mode); + print "${hr}${b}No problem reports assigned to $resp${b_e}\n" + if (!$input{"quiet"} && $cnt == 0); +} + +sub resp_summary { + local($who, %who); + + foreach (keys %resp) { + $who{$resp{$_}}++; + } + foreach $who (sort keys %who) { + $cnt = &gnats_summary("\$resp eq \"$who\"", $html_mode); + } +} + +sub state_summary { + &get_states; + foreach (@states) { + next if ($_ eq "closed" && !$input{"closedtoo"}); + print "${h3}Problems in state: $_${h3_e}\n"; + if (/^(\w)/) { + &printcnt(&gnats_summary("\$state eq \"$1\" ", $html_mode)); + } else { + print "\n??? bad state $state\n"; + } + } +} + +sub severity_summary { + print "${h3}Critical problems${h3_e}\n"; + &printcnt(&gnats_summary('$severity eq "critical"', $html_mode)); + + print "${h3}Serious problems${h3_e}\n"; + &printcnt(&gnats_summary('$severity eq "serious"', $html_mode)); + + print "${h3}Non-critical problems${h3_e}\n"; + &printcnt(&gnats_summary('$severity eq "non-critical"', $html_mode)); +} + +sub get_categories { + @categories = (); + + open(Q, 'query-pr --list-categories 2>/dev/null |') || + die "Cannot get categories\n"; + + while() { + chop; + local ($cat, $desc, $responsible, $notify) = split(/:/); + push(@categories, $cat); + $catdesc{$cat} = $desc; + } +} + +sub get_states { + @states = (); + + open(Q, 'query-pr --list-states 2>/dev/null |') || + die "Cannot get states\n"; + + while() { + chop; + local ($state, $type, $desc) = split(/:/); + push(@states, $state); + $statedesc{$state} = $desc; + } +} + +sub get_classes { + @classes = (); + + open(Q, 'query-pr --list-classes 2>/dev/null |') || + die "Cannot get classes\n"; + + while() { + chop; + local ($class, $type, $desc) = split(/:/); + push(@classes, $class); + $classdesc{$class} = $desc; + } +} + +sub read_gnats { + local($report) = @_[0]; + + open(Q, "query-pr $report 2>/dev/null |") || die "Cannot query the PR's\n"; + + while() { + chop; + if(/^>Number:/) { + $number = &getline($_); + + } elsif (/Arrival-Date:/) { + $date = &getline($_); + # strip timezone if any (between HH:MM:SS and YYYY at end of line): + $date =~ s/(\d\d:\d\d:\d\d)\D+(\d{4})$/\1 \2/; + ($dow,$mon,$day,$time,$year,$xtra) = split(/[ \t]+/, $date); + $day = "0$day" if $day =~ /^[0-9]$/; + $date = "$year/$mons{$mon}/$day"; + + } elsif (/>Last-Modified:/) { + $lastmod = &getline($_); + if ($lastmod =~ /^[ ]*$/) { + $lastmod = $date; + } else { + # strip timezone if any (between HH:MM:SS and YYYY at end of line): + $lastmod =~ s/(\d\d:\d\d:\d\d)\D+(\d{4})$/\1 \2/; + ($dow,$mon,$day,$time,$year,$xtra) = split(/[ \t]+/, $lastmod); + $day = "0$day" if $day =~ /^[0-9]$/; + $lastmod = "$year/$mons{$mon}/$day"; + } + + } elsif (/>Category:/) { + $cat = &getline($_); + + } elsif (/>Severity:/) { + $sev = &getline($_); + + } elsif (/>Responsible:/) { + $resp = &getline($_); + $resp =~ s/@.*//; + $resp =~ tr/A-Z/a-z/; + $resp = "" if (($resp =~ /$mail_unass/o) or ($resp =~ /$ports_unass/o)); + $resp =~ s/^$mail_prefix//; + + } elsif (/>State:/) { + $status = &getline($_); + $status =~ s/(.).*/\1/; + + } elsif (/>Synopsis:/) { + $syn = &getline($_); + $syn =~ s/[\t]+/ /g; + + } elsif (/^$/) { + $_ = sprintf("%s/%s", $cat, $number); + + $status{$_} = $status; + $date{$_} = $date; + $resp{$_} = $resp; + $syn{$_} = $syn; + $sev{$_} = $sev; + $lastmod{$_} = $lastmod; + push(@prs,$_); + } + } + close(Q); +} + +sub gnats_summary { + local($report) = @_[0]; + local($htmlmode) = @_[1]; + local($counter) = 0; + + foreach (@prs) { + $state = $status{$_}; + $date = $date{$_}; + $resp = $resp{$_}; + $syn = $syn{$_}; + $severity = $sev{$_}; + ($cat, $number) = m|^([^/]+)/(\d+)$|; + + next if (($report ne '') && (eval($report) == 0)); + + if ($htmlmode) { + $title = "$_"; + $syn = &html_fixline($syn); + gnats_summary_line_html($counter, $state, $date, $title, $resp, $syn); + } else { + $title = substr($cat,0,5) . '/' . $number; + gnats_summary_line_text($counter, $state, $date, $title, $resp, $syn); + } + + $counter++; + } + + if ($htmlmode) { + print "${table_e}\n" if $counter; + } else { + print "${pr_e}\n" if $counter; + } + + $counter; +} + +sub gnats_summary_line_html { + local($counter) = shift; + local($state) = shift; + local($date) = shift; + local($title) = shift; + local($resp) = shift; + local($syn) = shift; + + if ($counter == 0) { + print "$tableSSubmittedTrackerResp.Description\n" + } + + print "$state$date$title$resp$syn\n"; +} + +sub gnats_summary_line_text { + local($counter) = shift; + local($state) = shift; + local($date) = shift; + local($title) = shift; + local($resp) = shift; + local($syn) = shift; + + # Print the banner line if this is the first iteration. + print "${pr}\nS Tracker Resp. Description${hr}" + if ($counter == 0); + print "$state " . + $title . (' ' x (13 - length($title))) . + $resp . (' ' x (11 - length($resp))) . + substr($syn,0,54) . "\n"; +} + +sub displayform { +print qq` +

+Please select the items you wish to search for. Multiple items are AND'ed +together. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Category:Severity:
Priority:Class:
State:Sort by:
Text in single-line fields:Responsible:
Text in multi-line fields:Originator:
Closed reports too:Release:
+ + +
+`; +} From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:28:36 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CF69132A; Tue, 19 Feb 2013 02:28:36 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A8A29662; Tue, 19 Feb 2013 02:28:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2SaUr016043; Tue, 19 Feb 2013 02:28:36 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2SaAO016042; Tue, 19 Feb 2013 02:28:36 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190228.r1J2SaAO016042@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:28:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246963 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:28:36 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:28:36 2013 New Revision: 246963 URL: http://svnweb.freebsd.org/changeset/base/246963 Log: Production code refactored from www/en/cgi/query-pr-summary.cgi. Added: user/bugmeister/gnats/tools/query-pr-common.pl (contents, props changed) Added: user/bugmeister/gnats/tools/query-pr-common.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/query-pr-common.pl Tue Feb 19 02:28:36 2013 (r246963) @@ -0,0 +1,572 @@ +#!/usr/bin/perl +# refactored from www/en/cgi/query-pr-summary.cgi + +$project = 'FreeBSD'; +$mail_prefix = 'freebsd-'; +$mail_unass = 'freebsd-bugs'; +$ports_unass = 'ports-bugs'; + +# put these in each of your .cgi files +#require '/c/gnats/tools/cgi-lib.pl'; +#require '/c/gnats/tools/cgi-style.pl'; +#require '/c/gnats/tools/query-pr-common.pl'; +#require 'getopts.pl'; + +%mons = ('Jan', '01', 'Feb', '02', 'Mar', '03', + 'Apr', '04', 'May', '05', 'Jun', '06', + 'Jul', '07', 'Aug', '08', 'Sep', '09', + 'Oct', '10', 'Nov', '11', 'Dec', '12'); + +$table = ""; +$table_e = '
'; + +# Customizations for the look and feel of the summary tables. +$t_style = ""; + +sub escape($) { $_ = $_[0]; s/&/&/g; s//>/g; $_; } + +sub cgiparam { + local ($result) = @_; + + $result =~ s/[^A-Za-z0-9+.@-]/"%".sprintf("%02X", unpack("C", $&))/ge; + $result; +} + +# XXX not yet tested +# XXX added input as param +# XXX added html_mode as param +sub header_info { + local($input) = @_[0]; + local($html_mode) = @_[1]; + + if ($html_mode) { + print &html_header("Current $project problem reports"); + } + else { + if (!$input{'very_quiet'}) { + print "Current $project problem reports\n"; + } + } +# XXX MCL 20081013 +# if (!$input{'quiet'}) { +# print "The following is a listing of current problems submitted by $project users. " . +# 'These represent problem reports covering all versions including ' . +# 'experimental development code and obsolete releases. '; +# +# &header_info_states($html_mode); +# } +# print "

\n"; +} + +sub header_info_states { + local($html_mode) = @_[0]; + + if ($html_mode) { + print < +Bugs can be in one of several states: +

+
+
o - open
+
A problem report has been submitted, no sanity checking +performed.
+ +
a - analyzed
+
The problem is understood and a solution is being sought.
+ +
f - feedback
+
Further work requires additional information from the originator +or the community - possibly confirmation of the effectiveness of a +proposed solution.
+ +
p - patched
+
A patch has been committed, but some issues (MFC and / or +confirmation from originator) are still open.
+ +
r - repocopy
+
The resolution of the problem report is dependent on a repocopy +operation within the CVS repository which is awaiting completion.
+ +
s - suspended
+
The problem is not being worked on, due to lack of information or +resources. This is a prime candidate for somebody who is looking for a +project to do. If the problem cannot be solved at all, it will be +closed, rather than suspended.
+ +
c - closed
+
A problem report is closed when any changes have been integrated, +documented, and tested -- or when fixing the problem is abandoned.
+
+EOM + +# 20080915 test: declare this boilerplate obsolete +# } else { +# +#print </>/g; + + $line; +} + +sub printcnt { + local($cnt) = $_[0]; + + if ($cnt) { + printf("%d problem%s total.\n", $cnt, $cnt == 1 ? '' : 's'); + } else { + print("(none)\n"); + } +} + +# XXX not yet used +# XXX add htmlmode as param +# XXX add catdesc as param +# XXX add cat as param +# XXX add prs as param +# XXX add query_pr_ref as param +sub cat_summary { + &get_categories; + foreach (keys %status) { + s|/\d+||; + $cat{$_}++; + } + foreach (@categories) { + next unless $cat{$_}; # skip categories with no bugs. + if ($htmlmode) { + print "

Problems in category: $_ ($catdesc{$_})

\n"; + } else { + print "Problems in category: $_ ($catdesc{$_})\n"; + } + if (/^(\w+)/) { + &printcnt(&gnats_summary("\$cat eq \"$1\"", $html_mode, \@prs, $query_pr_ref)); + } else { + print "\n??? weird category $_\n"; + } + } +} + +# XXX not yet used +# XXX add html_mode as param +# XXX add who as param +# XXX add resp as param +# XXX add prs as param +# XXX add query_pr_ref as param +sub resp_summary { + local($who, %who); + + foreach (keys %resp) { + $who{$resp{$_}}++; + } + foreach $who (sort keys %who) { + $cnt = &gnats_summary("\$resp eq \"$who\"", $html_mode, \@prs, $query_pr_ref); + } +} + +# XXX not yet used +# XXX add html_mode as param +# XXX add input as param +# XXX add state as param +# XXX add prs as param +# XXX add query_pr_ref as param +sub state_summary { + &get_states; + foreach (@states) { + next if ($_ eq "closed" && !$input{"closedtoo"}); + if ($htmlmode) { + print "

Problems in state: $_

\n"; + } else { + print "Problems in state: $_$\n"; + } + if (/^(\w)/) { + &printcnt(&gnats_summary("\$state eq \"$1\" ", $html_mode, \@prs, $query_pr_ref)); + } else { + print "\n??? bad state $state\n"; + } + } +} + +# XXX not yet used +# XXX add html_mode as param +# XXX add prs as param +# XXX add query_pr_ref as param +sub severity_summary { + if ($htmlmode) { + print "

Critical problems

\n"; + } else { + print "Critical problems\n"; + } + &printcnt(&gnats_summary('$severity eq "critical"', $html_mode, \@prs, $query_pr_ref)); + + if ($htmlmode) { + print "

Serious problems

\n"; + } else { + print "Serious problems\n"; + } + &printcnt(&gnats_summary('$severity eq "serious"', $html_mode, \@prs, $query_pr_ref)); + + if ($htmlmode) { + print "

Non-critical problems

\n"; + } else { + print "Non-critical problems\n"; + } + &printcnt(&gnats_summary('$severity eq "non-critical"', $html_mode, \@prs, $query_pr_ref)); +} + +sub get_categories { + @categories = (); + + open(Q, 'query-pr --list-categories 2>/dev/null |') || + die "Cannot get categories\n"; + + while() { + chop; + local ($cat, $desc, $responsible, $notify) = split(/:/); + push(@categories, $cat); + $catdesc{$cat} = $desc; + } +} + +# XXX not yet used +# XXX statedesc? +sub get_states { + @states = (); + + open(Q, 'query-pr --list-states 2>/dev/null |') || + die "Cannot get states\n"; + + while() { + chop; + local ($state, $type, $desc) = split(/:/); + push(@states, $state); + $statedesc{$state} = $desc; + } +} + +# XXX not yet used +# XXX classdesc? +sub get_classes { + @classes = (); + + open(Q, 'query-pr --list-classes 2>/dev/null |') || + die "Cannot get classes\n"; + + while() { + chop; + local ($class, $type, $desc) = split(/:/); + push(@classes, $class); + $classdesc{$class} = $desc; + } +} + +# XXX now returns @prs +sub read_gnats { +# XXX MCL these next two changes STILL do not do what I want!!! +# local($report) = @_[0]; + local($report) = @_; + $report=~s/"//g; + +#print "query-pr $report 2>/dev/null |"; + + open(Q, "query-pr $report 2>/dev/null |") || die "Cannot query the PR's\n"; + + while() { + chop; + if(/^>Number:/) { + $number = &getline($_); +#print $number; + + } elsif (/Arrival-Date:/) { + $date = &getline($_); + # strip timezone if any (between HH:MM:SS and YYYY at end of line): + $date =~ s/(\d\d:\d\d:\d\d)\D+(\d{4})$/\1 \2/; + ($dow,$mon,$day,$time,$year,$xtra) = split(/[ \t]+/, $date); + $day = "0$day" if $day =~ /^[0-9]$/; + $date = "$year/$mons{$mon}/$day"; + + } elsif (/>Last-Modified:/) { + $lastmod = &getline($_); + if ($lastmod =~ /^[ ]*$/) { + $lastmod = $date; + } else { + # strip timezone if any (between HH:MM:SS and YYYY at end of line): + $lastmod =~ s/(\d\d:\d\d:\d\d)\D+(\d{4})$/\1 \2/; + ($dow,$mon,$day,$time,$year,$xtra) = split(/[ \t]+/, $lastmod); + $day = "0$day" if $day =~ /^[0-9]$/; + $lastmod = "$year/$mons{$mon}/$day"; + } + + } elsif (/>Category:/) { + $cat = &getline($_); + + } elsif (/>Severity:/) { + $sev = &getline($_); + + } elsif (/>Responsible:/) { + $resp = &getline($_); + $resp =~ s/@.*//; + $resp =~ tr/A-Z/a-z/; + $resp = "" if (($resp =~ /$mail_unass/o) or ($resp =~ /$ports_unass/o)); + $resp =~ s/^$mail_prefix//; + + } elsif (/>State:/) { + $status = &getline($_); + $status =~ s/(.).*/\1/; + + } elsif (/>Synopsis:/) { + $syn = &getline($_); + $syn =~ s/[\t]+/ /g; + + } elsif (/^$/) { + $_ = sprintf("%s/%s", $cat, $number); + + $status{$_} = $status; + $date{$_} = $date; + $resp{$_} = $resp; + $syn{$_} = $syn; + $sev{$_} = $sev; + $lastmod{$_} = $lastmod; + push(@prs,$_); + } + } + close(Q); + + @prs; +} + +# XXX changed to use address of prs as param 2 +# XXX add query_pr_ref as param +sub gnats_summary { + local($report) = @_[0]; + local($htmlmode) = @_[1]; + local($prs) = @_[2]; + local($counter) = 0; + + foreach (@{$prs}) { + $state = $status{$_}; + $date = $date{$_}; + $resp = $resp{$_}; + $syn = $syn{$_}; + $severity = $sev{$_}; + ($cat, $number) = m|^([^/]+)/(\d+)$|; + + next if (($report ne '') && (eval($report) == 0)); + + if ($htmlmode) { + $title = "$_"; + $syn = &html_fixline($syn); + gnats_summary_line_html($counter, $state, $date, $title, $resp, $syn); + } else { + $title = substr($cat,0,5) . '/' . $number; + gnats_summary_line_text($counter, $state, $date, $title, $resp, $syn); + } + + $counter++; + } + + if ($htmlmode) { + print "${table_e}\n" if $counter; + } else { + print "\n" if $counter; + } + + $counter; +} + +sub gnats_summary_line_html { + local($counter) = shift; + local($state) = shift; + local($date) = shift; + local($title) = shift; + local($resp) = shift; + local($syn) = shift; + + if ($counter == 0) { + print "$tableSSubmittedTrackerResp.Description\n" + } + + print "$state$date$title$resp$syn\n"; +} + +sub gnats_summary_line_text { + local($counter) = shift; + local($state) = shift; + local($date) = shift; + local($title) = shift; + local($resp) = shift; + local($syn) = shift; + + # Print the banner line if this is the first iteration. + print "S Tracker Resp. Description\n" . + "----------------------------------------" . + "----------------------------------------\n" + if ($counter == 0); + print "$state " . + $title . (' ' x (13 - length($title))) . + $resp . (' ' x (11 - length($resp))) . + substr($syn,0,54) . "\n"; +} + +# XXX not yet used +# XXX add self_ref as param +sub displayform { +print qq` +

+Please select the items you wish to search for. Multiple items are AND'ed +together. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Category:Severity:
Priority:Class:
State:Sort by:
Text in single-line fields:Responsible:
Text in multi-line fields:Originator:
Closed reports too:Release:
+ + +
+`; +} From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:30:18 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6010248A; Tue, 19 Feb 2013 02:30:18 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 523DB67D; Tue, 19 Feb 2013 02:30:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2UIvq016375; Tue, 19 Feb 2013 02:30:18 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2UIvu016374; Tue, 19 Feb 2013 02:30:18 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190230.r1J2UIvu016374@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:30:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246964 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:30:18 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:30:17 2013 New Revision: 246964 URL: http://svnweb.freebsd.org/changeset/base/246964 Log: On occasion, our aging and creaky GNATS becomes confused and corrupts the gnats-adm/index file. This well-worn workaround simply forces an index rebuild and substitutes the new one. Since the codebase is such an antique, it's probably not really worth doing anything else. Added: user/bugmeister/gnats/tools/reindex.sh (contents, props changed) Added: user/bugmeister/gnats/tools/reindex.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/reindex.sh Tue Feb 19 02:30:17 2013 (r246964) @@ -0,0 +1,13 @@ +#!/bin/sh + +genindex=/usr/local/libexec/gnats/gen-index +tmpindex=/home/gnats/gnats-adm/!$$!index +index=/home/gnats/gnats-adm/index + +if ${genindex} -n >${tmpindex} ; then + mv ${tmpindex} ${index} +else + rm ${tmpindex} + echo Failed +fi + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:31:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A27D15C5; Tue, 19 Feb 2013 02:31:23 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 95749691; Tue, 19 Feb 2013 02:31:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2VNMR018116; Tue, 19 Feb 2013 02:31:23 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2VN6p018115; Tue, 19 Feb 2013 02:31:23 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190231.r1J2VN6p018115@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:31:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246965 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:31:23 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:31:23 2013 New Revision: 246965 URL: http://svnweb.freebsd.org/changeset/base/246965 Log: GNATS crontab as used in production on freefall.freebsd.org Added: user/bugmeister/gnats/tools/crontab.gnats Added: user/bugmeister/gnats/tools/crontab.gnats ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/crontab.gnats Tue Feb 19 02:31:23 2013 (r246965) @@ -0,0 +1,30 @@ +# +# crontab for GNATS on freefall.freebsd.org +# +# synced with master version by linimon on 20070725 +# +SCRIPT_HOME=/home/gnats/tools +# +#minute hour mday month wday command +# +#*/10 * * * * /usr/bin/lockf -s -t 5 /home/gnats/.lock /usr/local/libexec/gnats/queue-pr --run >/dev/null + +# 20100526 mcl: this is now our countermeasure. +*/10 * * * * /usr/bin/lockf -s -t 5 /home/gnats/.lock ${SCRIPT_HOME}/qrunner + +# Seems to be failing to update more and more often -- ceri, 2004/05/18 +4 4 * * * ${SCRIPT_HOME}/reindex.sh +# +6 11 * * 1 ${SCRIPT_HOME}/gnatsreport.sh + +#* Separate reminders to portmgr and cvs every 3 days, but only if there +# is anything waiting +5 5 * * */3 ${SCRIPT_HOME}/repocopy/reporter portmgr repocopy +5 5 * * */3 ${SCRIPT_HOME}/repocopy/reporter cvs repocopy +#* if a repocopy has been performed and is back in the hands of a +# committer, they should get a reminder every other day nagging them to +# finish their deer. +5 6 * * */2 ${SCRIPT_HOME}/repocopy/nag repocopy +#* after two weeks in portmgr's hands, they'll automatically be assigned +# to cvs. +5 7 * * * ${SCRIPT_HOME}/repocopy/timeouts 1209600 cvs portmgr From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:31:55 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 58A106E5; Tue, 19 Feb 2013 02:31:55 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3B960698; Tue, 19 Feb 2013 02:31:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2VtAk018211; Tue, 19 Feb 2013 02:31:55 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2VtS1018210; Tue, 19 Feb 2013 02:31:55 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190231.r1J2VtS1018210@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:31:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246966 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:31:55 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:31:54 2013 New Revision: 246966 URL: http://svnweb.freebsd.org/changeset/base/246966 Log: Script to send GNATS weekly reminder-mails. Added: user/bugmeister/gnats/tools/gnatsreport.sh (contents, props changed) Added: user/bugmeister/gnats/tools/gnatsreport.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/gnatsreport.sh Tue Feb 19 02:31:54 2013 (r246966) @@ -0,0 +1,142 @@ +#! /bin/sh +# +# Script to do weekly reminders of extant bug reports +# +# last modified by: linimon +# + +PATH=${PATH}:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin +export PATH + +QUERYPR=/home/gnats/tools/query-pr-summary.cgi +TAGS=/home/gnats/tools/getalltags.short + +SENDMAIL="/usr/sbin/sendmail -odi -fowner-bugmaster@FreeBSD.org -oem" + +# set this to non-null when testing changes +#DEVELOPMENT="yes" + +if [ -z "$DEVELOPMENT" ]; then + # production: + TO_BUGMASTER="bugmaster@FreeBSD.org" + TO_FREEBSD_BUGS="freebsd-bugs@FreeBSD.org" + TO_FREEBSD_DOC="freebsd-doc@FreeBSD.org" + TO_FREEBSD_PORTS="freebsd-ports@FreeBSD.org" +else + # development: + TO_BUGMASTER="linimon@FreeBSD.org" + TO_FREEBSD_BUGS="linimon@FreeBSD.org" + TO_FREEBSD_DOC="linimon@FreeBSD.org" + TO_FREEBSD_PORTS="linimon@FreeBSD.org" +fi + +RESP=`query-pr --skip-closed | grep '^>Responsible:' | awk '{print $2}' | perl -pe 's/\@freebsd.org//i' | tr '[A-Z]' '[a-z]' | egrep -v 'gnats-|freebsd-(bugs|ports-bugs|doc|ports)' | sort -u` + +# open confidential bugs report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugmaster " + echo "Subject: open, unassigned, confidential bug PRs in limbo" + echo "" + ${QUERYPR} -q -C +) | ${SENDMAIL} ${TO_BUGMASTER} + +# misfiled limbo bugs +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugmaster " + echo "Subject: open PRs (mis)filed to gnats-admin and in limbo" + echo "" + ${QUERYPR} -q -c -r gnats-admin +) | ${SENDMAIL} ${TO_BUGMASTER} + +# complete bugs report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi .)" + echo "" + ${QUERYPR} +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} + +# unassigned ports report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD ports list " + echo "Subject: Current unassigned ports problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi?category=ports .)" + echo "" + ${QUERYPR} -r freebsd-ports +) | ${SENDMAIL} ${TO_FREEBSD_PORTS} + +# unassigned doc report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD doc list " + echo "Subject: Current unassigned doc problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi?category=doc .)" + echo "" + ${QUERYPR} -r freebsd-doc +) | ${SENDMAIL} ${TO_FREEBSD_DOC} + +# per user reports +for user in ${RESP} +do + targ=`echo ${user} | grep @` + if [ "${targ}" = "" ]; then + targ=${user}@FreeBSD.org + else + targ=${user} + fi + if [ -z "$DEVELOPMENT" ]; then + mail_to=${targ} + else + mail_to=${TO_BUGMASTER} + fi + ( + echo "From: FreeBSD bugmaster " + echo "To: ${user}" + echo "Subject: Current problem reports assigned to ${targ}" + echo "" + echo "Note: to view an individual PR, use:" + echo " http://www.freebsd.org/cgi/query-pr.cgi?pr=(number)." + echo "" + ${QUERYPR} -c -r ^${user}\$ + ) | ${SENDMAIL} ${mail_to} +done + +# PRs with patches +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports containing patches" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://people.freebsd.org/~linimon/studies/prs/prs_for_tag_patch.html .)" + echo "" + ${QUERYPR} -q -t patch +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} + +# PRs sorted by tag +( + tags=`${TAGS} | sort | uniq` + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports sorted by tag" + echo "" + echo "(Note: a better version of this report is available at" + echo "http://people.freebsd.org/~linimon/studies/prs/pr_tag_index.html .)" + echo "" + for tag in $tags; do + echo "Problem reports for tag '$tag':" + ${QUERYPR} -q -T $tag + done +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:32:31 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3A191803; Tue, 19 Feb 2013 02:32:31 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 174DD69D; Tue, 19 Feb 2013 02:32:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2WU8h018344; Tue, 19 Feb 2013 02:32:30 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2WUEi018343; Tue, 19 Feb 2013 02:32:30 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190232.r1J2WUEi018343@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:32:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246967 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:32:31 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:32:30 2013 New Revision: 246967 URL: http://svnweb.freebsd.org/changeset/base/246967 Log: Production copy of GNATS qrunner script from freefall.freebsd.org. Added: user/bugmeister/gnats/tools/qrunner (contents, props changed) Added: user/bugmeister/gnats/tools/qrunner ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/qrunner Tue Feb 19 02:32:30 2013 (r246967) @@ -0,0 +1,13 @@ +#!/bin/sh +# +# periodic job to queue PRs. modified by linimon 20100526 to add +# countermeasure for spam attacks. +# +QUEUE_DIR="/home/gnats/gnats-queue" +# +/usr/local/bin/python /home/gnats/tools/abuseHandler.py $QUEUE_DIR +# for debugging +#ls -al `realpath $QUEUE_DIR` +# for debugging +# /usr/local/libexec/gnats/queue-pr --run >/dev/null +/usr/local/libexec/gnats/queue-pr --run From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:33:06 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 51059920; Tue, 19 Feb 2013 02:33:06 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 433F06A4; Tue, 19 Feb 2013 02:33:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2X6O0018507; Tue, 19 Feb 2013 02:33:06 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2X6HB018506; Tue, 19 Feb 2013 02:33:06 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190233.r1J2X6HB018506@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246968 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:33:06 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:33:05 2013 New Revision: 246968 URL: http://svnweb.freebsd.org/changeset/base/246968 Log: A few common definitions of use to GNATS maintainers. Added: user/bugmeister/gnats/tools/common.sh (contents, props changed) Added: user/bugmeister/gnats/tools/common.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/common.sh Tue Feb 19 02:33:05 2013 (r246968) @@ -0,0 +1,7 @@ + +backupdir=~gnats/backup + +categories=$(awk -F: '/^[^#]/ { print $1 }' ~gnats/gnats-adm/categories) +classes=$(awk -F: '/^[^#]/ { print $1 }' ~gnats/gnats-adm/classes) +states=$(awk -F: '/^[^#]/ { print $1 }' ~gnats/gnats-adm/states) + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:35:07 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 340CDAE5; Tue, 19 Feb 2013 02:35:07 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 180CB6C3; Tue, 19 Feb 2013 02:35:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2Z6qB018819; Tue, 19 Feb 2013 02:35:06 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2Z5xm018807; Tue, 19 Feb 2013 02:35:05 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190235.r1J2Z5xm018807@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:35:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246969 - in user/bugmeister/gnats/tools: . changeprconf X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:35:07 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:35:04 2013 New Revision: 246969 URL: http://svnweb.freebsd.org/changeset/base/246969 Log: Wrappers for edit-pr to automate mundane tasks. Authors: Renato Botelho ; Marcus Alves Grando ; and Eitan Adler (current maintainer). Contributors: Sergey Matveychuk ; Vasil Dimov . Added: user/bugmeister/gnats/tools/change-pr (contents, props changed) user/bugmeister/gnats/tools/change-pr.helper (contents, props changed) user/bugmeister/gnats/tools/changeprconf/ user/bugmeister/gnats/tools/changeprconf/.analyzed-pr.default user/bugmeister/gnats/tools/changeprconf/.close-pr.default user/bugmeister/gnats/tools/changeprconf/.feedback-pr.default user/bugmeister/gnats/tools/changeprconf/.forward-pr.default user/bugmeister/gnats/tools/changeprconf/.junk-pr.default user/bugmeister/gnats/tools/changeprconf/.open-pr.default user/bugmeister/gnats/tools/changeprconf/.portmgr-pr.default user/bugmeister/gnats/tools/changeprconf/.take-pr.default Added: user/bugmeister/gnats/tools/change-pr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/change-pr Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1,315 @@ +#!/bin/sh +# +# AUTHORS: +# Renato Botelho +# Marcus Alves Grando +# Eitan Adler (current maintainer) +# +# CONTRIBUTORS: +# Sergey Matveychuk +# Vasil Dimov +# +# More information: change-pr -h +# + +version="3.2.0"; + +SPECIAL_RESP="amd64 apache eclipse emulation gnome ia64 java kde openoffice \ + perl pgsql x11 freebsd-amd64 freebsd-apache freebsd-eclipse \ + gecko \ + freebsd-emulation freebsd-gnome freebsd-ia64 freebsd-java \ + freebsd-kde freebsd-openoffice freebsd-perl freebsd-x11 \ + freebsd-ports-bugs \ + ports-secteam + secteam + gnats-admin" + +print_usage () { + echo "Usage: $0 [-hoafjpsc] [-Cx] [-t|-T committer] [-n email] [-m message] PR ..." +} + +print_help () { + echo "change-pr: Try to make your life with gnats a bit better" + echo "version: $version"; + echo "" + print_usage + echo "" + echo "Parameters:" + echo "" + echo "-h - This help" + echo "" + echo "-o - Change >State to open" + echo "-a - Change >State to analyzed" + echo "-f - Change >State to feedback" + echo "-p - Change >State to patched" + echo "-s - Change >State to suspended" + echo "-c - Change >State to closed" + echo "" + echo "-t - Change >Responsible to you" + echo "-T committer - Change >Responsible to committer" + echo "-n email - Change >X-GNATS-Notify to email" + echo "" + echo "-Cx - Change >Class field, where x could be:" + echo "s - sw-bug" + echo "d - doc-bug" + echo "c - change-request" + echo "u - update" + echo "m - maintainer-update" + echo "" + echo "-j - Change >Category to junk" + echo "" + echo "-m message - Use message to log the change" + echo "" + echo "To see the synopsis of PRs when you are using one of the" + echo "symlinks (e.g. close-pr) set an env var SHOW_SYNOPSIS=1" + echo "" + echo "When responsible of a PR is not freebsd-*, script will ask" + echo "you to confirm the change. You can set the default answer" + echo "using TAKE_PR_DEFAULT to 'Y' or 'N', and, can disable the" + echo "question setting TAKE_PR_BATCH=1 envvar." + exit 0 +} + +get_RESP () { + if [ -n "$PR_MESSAGE" ] + then + RESP="$PR_MESSAGE"; + return; + fi; + if [ -f ~/.$MODULE ]; then + CONF=~/.$MODULE + else + CONF=~gnats/tools/changeprconf/.$MODULE.default + fi + + if [ ! -f $CONF ]; then + exit 0 + fi + + SHOW=${SHOW_SYNOPSIS-N} + + if [ "$SHOW" != "N" ]; then + for PR in $*; do + echo -n "$PR - " + echo `/usr/local/bin/query-pr $PR | grep '^>Synopsis:' | sed 's,^>Synopsis:[ \t]*,,'` + done + + echo "" + fi + + echo "Choose:" + NUM=1 + for x in `cat $CONF | sed 's/ /___/g'`; do + i=`echo $x | sed 's/___/ /g; s/\"//g'` + echo "[$NUM] $i" + eval TEXT$NUM=\"$i\" + NUM=`expr $NUM + 1` + done + + echo -n "or put your text here: " + read TMPRESP + + if [ "$TMPRESP" != "" -a "`echo $TMPRESP | sed 's/[0-9]*//g'`" = "" ]; then + eval TEXT=\$TEXT$TMPRESP + if [ "$TEXT" != "" ]; then + TMPRESP="$TEXT" + else + TMPRESP="" + fi + fi + + eval RESP=\$TMPRESP +} + +MODULE=`basename $0` +MODULEPATH=`echo $0 | sed "s,/$MODULE,,"` + +while getopts hoafprscm:ntT:C:j o; do + case "$o" in + h) print_help;; + o) NEW_STATE=open;; + a) NEW_STATE=analyzed;; + f) NEW_STATE=feedback;; + p) NEW_STATE=patched;; + r) echo "This option is now deprecated." > /dev/stderr; + exit 1;; + s) NEW_STATE=suspended;; + c) NEW_STATE=closed + CHG_RESP=1;; + t) CHG_RESP=1 + CHK_RESP=0 + NEW_RESP=`whoami`;; + T) CHG_RESP=1 + CHK_RESP=1 + NEW_RESP="$OPTARG";; + n) NEW_NOTIFY="$OPTARG";; + m) PR_MESSAGE="$OPTARG";; + C) NEW_CLASS_OPT="$OPTARG";; + j) NEW_CAT=junk;; + [?]) print_usage + exit 1;; + esac +done +shift `expr $OPTIND - 1` + +if [ $# -eq 0 ]; then + print_usage + exit 1 +fi + +if [ "$MODULE" = "close-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -c -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "forward-pr" ]; then + if [ $# -lt 2 ]; then + echo "Usage: $0 USER PR ..." + exit 0 + fi + user="$1"; + shift; + get_RESP $* + + $MODULEPATH/change-pr -m "$RESP" -T $user $* + exit 0 +elif [ "$MODULE" = "portmgr-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -T portmgr -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "feedback-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -f -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "analyzed-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -a -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "open-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -o -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "take-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -t -m "$RESP" $* + exit 0 +elif [ "$MODULE" = "repocopy-pr" ]; then + echo "This state is no longer active." >/dev/stderr + exit 1 +elif [ "$MODULE" = "junk-pr" ]; then + if [ $# -lt 1 ]; then + echo "Usage: $0 PR ..." + exit 0 + fi + + get_RESP $* + + $MODULEPATH/change-pr -j -c -T gnats-admin -m "$RESP" $* + exit 0 +else +fi + +NEW_CLASS="" +case "$NEW_CLASS_OPT" in + s) NEW_CLASS="sw-bug";; + d) NEW_CLASS="doc-bug";; + c) NEW_CLASS="change-request";; + u) NEW_CLASS="update";; + m) NEW_CLASS="maintainer-update";; +esac + +if [ -z "$NEW_STATE" -a -z "$CHG_RESP" -a -z "$NEW_CLASS" ]; then + print_usage + exit 1 +fi + +SPECIAL=0; +if [ "$CHK_RESP" = "1" -a "$NEW_RESP" != "" ]; then + if [ "`expr $NEW_RESP : '\([^-]*\)'`" != "freebsd" ]; then + for RESP in $SPECIAL_RESP; do + if [ "$NEW_RESP" = "$RESP" ]; then + SPECIAL=1; + fi + done + id $NEW_RESP >/dev/null 2>&1 + if [ $? -ne 0 -a $SPECIAL -ne 1 ]; then + echo >&2 "Error: $NEW_RESP is an invalid committer." + exit 1 + fi + fi +fi + +for PR in $*; do + CONT="${TAKE_PR_DEFAULT-Y}" + + ENT_PR=`query-pr $PR 2>&1` + if [ $? -ne 0 ]; then + echo >&2 "PR $PR not found" + continue + fi + + if [ "$CHG_RESP" = "1" ]; then + RESP=`echo $ENT_PR | sed -E 's/^.*>Responsible: *([^ ]*).*$/\1/'` + FREEBSD_RESP=`expr $RESP : '\([^-]*\)'` + + if [ "$FREEBSD_RESP" != "freebsd" -a "$RESP" != "`whoami`" -a -z "$TAKE_PR_BATCH" ]; then + echo -n "The actual Responsible of PR $PR is $RESP. Continue? (y/n) [${TAKE_PR_DEFAULT-Y}]: " + read CONT + + if [ "$CONT" = "" ]; then + CONT="${TAKE_PR_DEFAULT-Y}" + fi + fi + fi + + if [ "$CONT" = "Y" -o "$CONT" = "y" ]; then + TMP=$MODULEPATH/change-pr.helper + /usr/bin/env \ + OEDITOR="$EDITOR" \ + OVISUAL="$VISUAL" \ + VISUAL="$TMP" \ + EDITOR= \ + NEW_CAT="$NEW_CAT" \ + NEW_CLASS="$NEW_CLASS" \ + NEW_RESP="$NEW_RESP" \ + NEW_NOTIFY=$NEW_NOTIFY \ + NEW_STATE="$NEW_STATE" \ + PR_MESSAGE="$PR_MESSAGE" \ + /usr/local/bin/edit-pr $PR + fi +done Added: user/bugmeister/gnats/tools/change-pr.helper ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/change-pr.helper Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1,62 @@ +#!/bin/sh +# +# If we're editing the PR, then make the requested substitution with sed. +# Otherwise, we're editing the reason, so run the user's editor. + +if [ `echo $1 | cut -c1-10` = "/tmp/chng." ]; then + if [ -n "$PR_MESSAGE" ]; then + echo "$PR_MESSAGE" > $1 + else + # check to see if there is a $EDITOR; if not, use vi + [ -z "$OVISUAL" ] && + if [ -z "$OEDITOR" ]; then + OVISUAL=vi + else + OVISUAL="$OEDITOR" + fi + + cp $1 $1~ + + EDIT="y" + + while [ "$EDIT" = "y" -o "$EDIT" = "Y" ]; do + $OVISUAL $1 + if cmp -s $1 $1~; then + echo -n "Reason not modified, do you want to re-edit? (y/n) " + read EDIT + else + EDIT="n" + fi + done + + rm -f $1~ + fi + + cat $1 | grep -v "^GNATS:" | fmt -w 72 > $1~ + cp $1~ $1 + rm -f $1~ +else + + if [ "$NEW_RESP" != "" ]; then + cp $1 $1~ + sed -e "/^>Responsible:/s/[^ ]*\$/$NEW_RESP/" < $1~ > $1 + rm -f $1~ + fi + + if [ "$NEW_STATE" != "" ]; then + cp $1 $1~ + sed -e "/^>State:/s/[^ ]*\$/$NEW_STATE/" < $1~ > $1 + rm -f $1~ + fi + + if [ "$NEW_CLASS" != "" ]; then + cp $1 $1~ + sed -e "/^>Class:/s/[^ ]*\$/$NEW_CLASS/" < $1~ > $1 + rm -f $1~ + fi + + if [ "$NEW_NOTIFY" != "" ]; then + cp $1 $1~ + sed -e "/^X-GNATS-Notify:/s/[^ ]*\$/$NEW_NOTIFY/" < $1~ > $1 + fi +fi Added: user/bugmeister/gnats/tools/changeprconf/.analyzed-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.analyzed-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1 @@ +Taken for exp-run Added: user/bugmeister/gnats/tools/changeprconf/.close-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.close-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1,4 @@ +Committed. Thanks! +New port added. Thanks! +Committed, with minor changes. Thanks! +New port added, with minor changes. Thanks! Added: user/bugmeister/gnats/tools/changeprconf/.feedback-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.feedback-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1,4 @@ +Ask for maintainer approval. +Ask for maintainer fix. +Ask for submitter approval. +Ask for submitter fix. Added: user/bugmeister/gnats/tools/changeprconf/.forward-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.forward-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1 @@ +Over to maintainer. Added: user/bugmeister/gnats/tools/changeprconf/.junk-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.junk-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1 @@ +This PR is junkable Added: user/bugmeister/gnats/tools/changeprconf/.open-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.open-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1,4 @@ +Maintainer has approved. +Maintainer has fixed. +Submitter has approved. +Submitter has fixed. Added: user/bugmeister/gnats/tools/changeprconf/.portmgr-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.portmgr-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1 @@ +portmgr territory. Added: user/bugmeister/gnats/tools/changeprconf/.take-pr.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/changeprconf/.take-pr.default Tue Feb 19 02:35:04 2013 (r246969) @@ -0,0 +1 @@ +I'll take it. From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:36:09 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 14613C15; Tue, 19 Feb 2013 02:36:09 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F30FB6D1; Tue, 19 Feb 2013 02:36:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2a80v019002; Tue, 19 Feb 2013 02:36:08 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2a7Sp018986; Tue, 19 Feb 2013 02:36:07 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190236.r1J2a7Sp018986@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:36:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246970 - user/bugmeister/gnats/tools/repocopy X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:36:09 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:36:06 2013 New Revision: 246970 URL: http://svnweb.freebsd.org/changeset/base/246970 Log: Scripts to deal with PRs in the repocopy state. Note that due to the switch of the ports repository from CVS to SVN, these are mostly of historical interest. Added: user/bugmeister/gnats/tools/repocopy/ user/bugmeister/gnats/tools/repocopy/autonagger (contents, props changed) user/bugmeister/gnats/tools/repocopy/crontab user/bugmeister/gnats/tools/repocopy/nag (contents, props changed) user/bugmeister/gnats/tools/repocopy/nagtargets (contents, props changed) user/bugmeister/gnats/tools/repocopy/reasons user/bugmeister/gnats/tools/repocopy/reassign (contents, props changed) user/bugmeister/gnats/tools/repocopy/reassign.helper (contents, props changed) user/bugmeister/gnats/tools/repocopy/reassigned user/bugmeister/gnats/tools/repocopy/reporter (contents, props changed) user/bugmeister/gnats/tools/repocopy/timeouts (contents, props changed) Added: user/bugmeister/gnats/tools/repocopy/autonagger ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/autonagger Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,39 @@ +#!/bin/sh -- +# $Id$ +# +# Script to autonag $1 about PRs in state $2 +# +MAIL=/usr/bin/mail +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +QUERY_PR="/usr/local/bin/query-pr" + +usage() { + echo Usage: `basename $0` responsible state > /dev/stderr +} + +if [ ${#} -ne 2 ]; then + usage + exit 1 +fi + +WHO=$1 +STATE=$2 + +PRS=`${QUERY_PR} -q -s ${STATE} -r ${WHO} 2>/dev/null` + +if [ -z "${PRS}" ]; then + exit 0 +fi + +${MAIL} -s "PRs in state ${STATE} assigned to ${WHO}" -b bugmeister ${WHO} << EOM + +The following PRs in the ${STATE} state require your attention. + +${PRS} + +Thank you, + +The Automated Repocopy Nagger. +(/c/gnats/tools/repocopy/). + +EOM Added: user/bugmeister/gnats/tools/repocopy/crontab ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/crontab Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,11 @@ +#* Separate reminders to portmgr and cvs every 3 days, but only if there +# is anything waiting +5 5 * * */3 /c/gnats/tools/repocopy/reporter portmgr repocopy +5 5 * * */3 /c/gnats/tools/repocopy/reporter cvs repocopy +#* if a repocopy has been performed and is back in the hands of a +# committer, they should get a reminder every other day nagging them to +# finish their deer. +5 6 * * */2 /c/gnats/tools/repocopy/nag repocopy +#* after two weeks in portmgr's hands, they'll automatically be assigned +# to cvs. +5 7 * * * /c/gnats/tools/repocopy/timeouts 1209600 cvs portmgr Added: user/bugmeister/gnats/tools/repocopy/nag ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/nag Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,21 @@ +#!/bin/sh -- +# $Id$ + +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +THISDIR=`dirname $0` + +usage() { + echo Usage: `basename $0` state > /dev/stderr +} + +if [ ${#} -ne 1 ]; then + usage + exit 1 +fi + +STATE=$1 + +for committer in `${THISDIR}/nagtargets ${STATE}` + do + ${THISDIR}/autonagger ${committer} ${STATE} + done Added: user/bugmeister/gnats/tools/repocopy/nagtargets ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/nagtargets Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,22 @@ +#!/bin/sh -- +# $Id$ +# +# Output a list of users with PRs in state $1 +# +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +QUERY_PR="/usr/local/bin/query-pr" + +usage() { + echo Usage: `basename $0` state > /dev/stderr +} + +if [ ${#} -ne 1 ]; then + usage + exit 1 +fi + +STATE=$1 + +${QUERY_PR} -q -s ${STATE} 2>/dev/null | awk '{print $2}' | sort \ + | uniq | grep -v ^cvs$ | grep -Ev ^[dps]cvs$ | grep -v ^portmgr$ + Added: user/bugmeister/gnats/tools/repocopy/reasons ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/reasons Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1 @@ +Automatic repocopy approval. Added: user/bugmeister/gnats/tools/repocopy/reassign ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/reassign Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,5 @@ +#!/bin/sh +# Reassign a PR +# +THISDIR=`dirname $0` +OEDITOR=$EDITOR OVISUAL=$VISUAL VISUAL=reassign.helper EDITOR= edit-pr $* Added: user/bugmeister/gnats/tools/repocopy/reassign.helper ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/reassign.helper Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,27 @@ +#!/bin/sh +# +# If we're editing the PR, then make the requested substitution with sed. +# Otherwise, we're editing the reason, so copy it over. + +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +THISDIR=`dirname $0` + +if [ -z ${ASSIGN_TO} ]; then + echo ASSIGN_TO not set > /dev/stderr + exit 1 +fi +# gnats4 +#if [ `echo $1 | cut -c1-7,14-19` = "/tmp/ep/chng." ]; then +if [ `echo $1 | cut -c1-10` = "/tmp/chng." ]; then + + cp ${THISDIR}/reasons $1 + +else + + cp $1 $1~ + sed -e "/^>Responsible:/s/[^ ]*$/${ASSIGN_TO}/" \ + < $1~ > $1 + rm $1~ + +fi + Added: user/bugmeister/gnats/tools/repocopy/reassigned ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/reassigned Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,31 @@ +62606 # Tue Feb 10 08:34:04 PST 2004 +70324 # Wed Aug 25 22:05:21 GMT 2004 +72129 # Mon Oct 11 14:05:17 GMT 2004 +84591 # Mon Aug 22 16:05:20 GMT 2005 +86242 # Sat Oct 1 02:05:25 GMT 2005 +106576 # Mon Dec 25 00:05:23 UTC 2006 +106577 # Mon Dec 25 00:05:29 UTC 2006 +106578 # Mon Dec 25 00:05:35 UTC 2006 +106579 # Mon Dec 25 00:05:40 UTC 2006 +106580 # Mon Dec 25 00:05:46 UTC 2006 +106581 # Mon Dec 25 00:05:51 UTC 2006 +106582 # Mon Dec 25 00:05:57 UTC 2006 +106583 # Mon Dec 25 00:06:03 UTC 2006 +106584 # Mon Dec 25 00:06:08 UTC 2006 +106585 # Mon Dec 25 00:06:14 UTC 2006 +106586 # Mon Dec 25 00:06:20 UTC 2006 +106587 # Mon Dec 25 00:06:29 UTC 2006 +106588 # Mon Dec 25 00:06:39 UTC 2006 +106589 # Mon Dec 25 00:06:48 UTC 2006 +114611 # Sun Oct 7 06:05:15 UTC 2007 +116357 # Sun Oct 7 10:05:12 UTC 2007 +117099 # Tue Oct 23 12:05:04 UTC 2007 +117407 # Fri Nov 9 12:05:05 UTC 2007 +117082 # Sat Nov 10 22:05:04 UTC 2007 +117161 # Mon Nov 12 00:05:03 UTC 2007 +127012 # Thu Sep 18 22:05:05 UTC 2008 +127173 # Sun Sep 21 10:05:04 UTC 2008 +147925 # Sun Jul 4 07:05:05 UTC 2010 +148136 # Sat Jul 10 07:05:06 UTC 2010 +148158 # Sat Jul 31 07:05:04 UTC 2010 +168372 # Thu Jun 14 07:05:07 UTC 2012 Added: user/bugmeister/gnats/tools/repocopy/reporter ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/reporter Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,39 @@ +#!/bin/sh -- +# $Id$ +# +# Script to tell $1 about PRs in state $2 +# +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +MAIL=/usr/bin/mail +QUERY_PR="/usr/local/bin/query-pr" + +usage() { + echo Usage: `basename $0` responsible state > /dev/stderr +} + +if [ ${#} -ne 2 ]; then + usage + exit 1 +fi + +WHO=$1 +STATE=$2 + +PRS=`${QUERY_PR} -q -s ${STATE} -r ${WHO} 2>/dev/null` + +if [ -z "${PRS}" ]; then + exit 0 +fi + +${MAIL} -s "PRs in state ${STATE} assigned to ports-committers" -b bugmeister ${WHO} << EOM + +The following PRs in the ${STATE} state require attention. + +${PRS} + +Thank you, + +The Automated Repocopy Nagger +(/c/gnats/tool/repocopy/). + +EOM Added: user/bugmeister/gnats/tools/repocopy/timeouts ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/repocopy/timeouts Tue Feb 19 02:36:06 2013 (r246970) @@ -0,0 +1,43 @@ +#!/bin/sh -- +# $Id: timeouts,v 1.2 2004/02/10 18:32:14 setantae Exp $ +# +# Script used to find PRs that have been unmodifed for $1 seconds, +# optionally limited to those for whom $3 is responsible, and assign +# them to $2 + +PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH +QUERY_PR="/usr/local/bin/query-pr" +THISDIR=`dirname $0` +REASSIGN="${THISDIR}/reassign" +SEENLIST="${THISDIR}/reassigned" +PATH=${PATH}:${THISDIR}; export PATH + +usage() { + echo Usage: `basename $0` timeout assign-to [responsible] > /dev/stderr +} + +if [ ${#} -ne 2 ]; then + if [ ${#} -ne 3 ]; then + usage + exit 1 + fi + RESPONSIBLE=" -r $3" +fi +TIMEOUT=$1 +ASSIGN_TO=$2 + +for id in `${QUERY_PR} -q -s repocopy ${RESPONSIBLE} 2>/dev/null| awk '{print $1}'`; do + DONE=`grep -c $id ${SEENLIST}` + if [ ${DONE} -eq 0 ]; then + now=`date +%s` + mtime="`${QUERY_PR} ${id} | grep Last-Modified: | \ + sed -E -e 's/^.*Modified:[[:space:]]*//' \ + -e 's/[[:space:]]\+[[:digit:]]{4}[[:space:]]/ /'`" + utc="`date -j -f '%+' \"${mtime}\" '+%s'`" + diff="`echo ${now}-${utc} | bc`" + if [ ${diff} -ge ${TIMEOUT} ]; then + ASSIGN_TO=${ASSIGN_TO} ${REASSIGN} $id && echo "$id # " `date` >> ${SEENLIST} + fi + fi +done + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:37:42 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6B08AD43; Tue, 19 Feb 2013 02:37:42 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 479716E0; Tue, 19 Feb 2013 02:37:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2bgeG019222; Tue, 19 Feb 2013 02:37:42 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2bgGH019221; Tue, 19 Feb 2013 02:37:42 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190237.r1J2bgGH019221@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:37:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246971 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:37:42 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:37:41 2013 New Revision: 246971 URL: http://svnweb.freebsd.org/changeset/base/246971 Log: Ad-hoc script by linimon to rank the goodness of incoming raw data. Added: user/bugmeister/gnats/tools/abuseHandler.py (contents, props changed) Added: user/bugmeister/gnats/tools/abuseHandler.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/abuseHandler.py Tue Feb 19 02:37:41 2013 (r246971) @@ -0,0 +1,189 @@ +"""Go through a set of submitted PRs in a directory and rename + them for manual handling if they meet certain spammy criteria. + Original author: Mark Linimon, Lonesome Dove Computing Services, + www.lonesome.com. License: BSD license. + $FreeBSD$ +""" + +__version__ = "0.02" + +__all__ = ["abuseHandler"] + +import os +import string +import sys + +QUEUE_DIR = "/home/gnats/gnats-queue" + +HEADER_SYNOPSIS = ">Synopsis:" +HEADER_ORGINATOR = ">Orginator:" +HEADER_RELEASE = ">Release:" + +INTERESTING_HEADERS = ( \ + HEADER_SYNOPSIS, \ + HEADER_ORGINATOR, \ + HEADER_RELEASE +) + +ABUSED_HEADERS = ( \ + HEADER_SYNOPSIS, \ + HEADER_ORGINATOR, \ + HEADER_RELEASE +) + +ABUSIVE_ORIGINATORS = ( \ + "Perry Keller", \ +) + +IGNORE_FILE_PREFIX = "." + +LINELEN = 1024 # try to prevent buffer overruns when reading files + +DEBUG_LINE = 0 +DEBUG_VERBOSE = 0 +DEBUG_VERY_VERBOSE = 0 + + +# look for all N headers in ABUSED_HEADERS existing, and having the +# same value. +def checkForAbusiveHeaders( headers ): + + compare = None + for header in ABUSED_HEADERS: + try: + if DEBUG_VERY_VERBOSE: + print "examining header %s" % header + value = headers[ header ] + if compare == None: + compare = value + else: + if compare != value: + if DEBUG_VERBOSE: + print "file is ok: %s != %s" % ( compare, value ) + return False + except: + if DEBUG_VERBOSE: + print "file is ok: no value for %s" % header + return False + + return True + + +def checkForAbusiveOriginators( headers ): + + for originator in ABUSIVE_ORIGINATORS: + try: + if orginator == headers[ HEADER_ORGINATOR ]: + return True + except: + return False + + return False + + +def renamingScheme( infile ): + + # hard-coded by GNATS + return IGNORE_FILE_PREFIX + infile + + +def renameFile( filename ): + + newfilename = renamingScheme( filename ) + try: + os.rename( filename, renamingScheme( filename ) ) + print "suspicious queued PR %s" % filename + \ + " renamed to %s for manual inspection" % newfilename + except Exception, e: + print "could not rename suspected spam PR %s:" % filename + print str( e ) + pass + + +def handleFiles( dir ): + + try: + # dunno why I have to do this, but rename fails with a full pathname + os.chdir( dir ) + filenames = os.listdir( "." ) + for filename in filenames: + if string.find( filename, IGNORE_FILE_PREFIX ) == 0: + if DEBUG_VERBOSE: + print "skippping file %s" % filename + else: + if DEBUG_VERBOSE: + print "handling file %s" % filename + try: + handleFile( filename ) + except Exception, e: + print "could not handle file %s:" % filename + print str( e ) + except Exception, e: + print "could not list directory %s:" % dir + print str( e ) + + +def handleFile( filename ): + + infile = None + try: + infile = file( filename ) + except Exception, e: + print "could not open %s:" % filename + print str( e ) + return + + headers = {} + + while 1: + try: + line = infile.readline( LINELEN ) + if len( line ) == 0: + break + else: + if DEBUG_LINE: + print 'line: ' + line + + tokens = string.split( line ) + if len( tokens ) > 1: + # TODO add more analysis in the future? + header = tokens[ 0 ] + if header in INTERESTING_HEADERS: + headers[ header ] = tokens[ 1 : ] + + # endif len( line ) == 0 + + except EOFError: + break + except IOError, e: + print 'handleFile: IOError:' + print e + break + # end while 1 (read line) + + try: + infile.close() + except: + pass + + # run algorithms and use results to determine whether to rename file + hasAbusiveHeaders = checkForAbusiveHeaders( headers ) + hasAbusiveOriginator = checkForAbusiveOriginators( headers ) + + # TODO add more tests as appropriate in the future + + if hasAbusiveHeaders or hasAbusiveOriginator: + renameFile( filename ) + + +# main + +if __name__ == '__main__': + + dir = QUEUE_DIR + + if len( sys.argv ) > 1: + dir = sys.argv[ 1 ] + + handleFiles( dir ) + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:40:11 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 96830E8E; Tue, 19 Feb 2013 02:40:11 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 852426F9; Tue, 19 Feb 2013 02:40:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2eBGx020116; Tue, 19 Feb 2013 02:40:11 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2eBjO020107; Tue, 19 Feb 2013 02:40:11 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190240.r1J2eBjO020107@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:40:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246972 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:40:11 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:40:10 2013 New Revision: 246972 URL: http://svnweb.freebsd.org/changeset/base/246972 Log: (re)submit a PR Edwin Groothuis' autoassigner. That script is mostly of value to ports PR. Added: user/bugmeister/gnats/tools/kick-aa (contents, props changed) Added: user/bugmeister/gnats/tools/kick-aa ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/kick-aa Tue Feb 19 02:40:10 2013 (r246972) @@ -0,0 +1,55 @@ +#!/bin/sh +# kick gnats-aa to do the auto-assignment of ports-PRs +# need to have Category=ports and cat/name in Synopsis +# +# gnats-aa in /hub/g/hubgnats/gnats-aa/incoming-PRs/bin/ +# logs in /hub/g/hubgnats/gnats-aa/incoming-PRs/log/foo + +#set -x + +kickit() +{ + # kick gnats-aa + echo "now I'm kicking gnats-aa by mail..." + query-pr -F ${1} | grep -vi responsible | sendmail gnats-aa@freebsd.org + rc=${?} + if [ ${rc} -gt 0 ] ; then + echo "exit status ${rc}!" + else + echo "done!" + fi + exit ${rc} +} + +checkpr() +{ + PR=${1} + if [ `query-pr ${PR} | wc -l` -gt 1 ] ; then + else + echo "query-pr matched no PRs, please check! (${PR})" + return 1 + fi + if [ `query-pr ${PR} | grep Category | grep -i ports | wc -l` -eq 0 ] ; then + echo "PR not category ports" + return 1 + fi + # check to see, if we can figure out category/portname from Synopsis + + if [ `query-pr ${PR} | grep -i responsible | \ + grep -i freebsd-ports-bugs | wc -l` -eq 0 ] ; then + echo "Hint! Hint! Responsible should be set to freebsd-ports-bugs" + fi +} + +if [ $# -gt 0 ] ; then + PR=${1} + # check if PR is there... + checkpr ${PR} + if [ ${?} -eq 0 ] ; then + kickit ${PR} + exit ${rc} + fi +else + echo "${0} (pr-number)" +fi + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:42:04 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1CAEEFC0; Tue, 19 Feb 2013 02:42:04 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0FBC070A; Tue, 19 Feb 2013 02:42:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2g3UN021467; Tue, 19 Feb 2013 02:42:03 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2g34I021464; Tue, 19 Feb 2013 02:42:03 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190242.r1J2g34I021464@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:42:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246973 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:42:04 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:42:03 2013 New Revision: 246973 URL: http://svnweb.freebsd.org/changeset/base/246973 Log: Obsolete scripts. Being checked in to the repository only for archive purposes. Added: user/bugmeister/gnats/tools/backup (contents, props changed) user/bugmeister/gnats/tools/switch-ports.sh (contents, props changed) Added: user/bugmeister/gnats/tools/backup ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/backup Tue Feb 19 02:42:03 2013 (r246973) @@ -0,0 +1,8 @@ +#!/bin/sh + +. ~gnats/tools/common.sh + +set -e +cd ~gnats +[ -d "${backupdir}" ] || mkdir "${backupdir}" +tar zcf "${backupdir}/$(date '+gnats.%Y%m%d.%H%M.tar.gz')" ${categories} Added: user/bugmeister/gnats/tools/switch-ports.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/switch-ports.sh Tue Feb 19 02:42:03 2013 (r246973) @@ -0,0 +1,18 @@ +#!/bin/sh + +cd /c/gnats/gnats-adm +sed -i .bak -e 's/freebsd-ports/freebsd-ports-bugs/' categories responsible + +cd /c/gnats +categ="`cat gnats-adm/categories | grep -v '^[[:space:]]*#' | cut -d: -f1`" + +for cname in ${categ} ;do + echo "==> ${cname}" + cd "${cname}" + grep -r '^>State:' . | grep -v closed |\ + cut -d: -f1 | cut -d/ -f2 |\ + xargs grep '^>Responsible:[[:space:]][[:space:]]*freebsd-ports$' |\ + cut -d: -f1 | cut -d/ -f2 |\ + xargs echo "sed -i .bak -e '/^>Responsible:[[:space:]][[:space:]]*freebsd-ports/ s/$/-bugs/'" + cd .. +done From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:45:32 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AC4B1194; Tue, 19 Feb 2013 02:45:32 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 89280724; Tue, 19 Feb 2013 02:45:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2jWXT021998; Tue, 19 Feb 2013 02:45:32 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2jVNj021992; Tue, 19 Feb 2013 02:45:31 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190245.r1J2jVNj021992@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:45:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246974 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:45:32 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:45:30 2013 New Revision: 246974 URL: http://svnweb.freebsd.org/changeset/base/246974 Log: linimon-authored utilities to scrape magic strings of the form [tag] from PR synopses and allow reports and queries to be made. Tags are a workaround for the absence of a lot of functionality in GNATS. Any GNATS replacement should include some kind of ability to embed this kind of metadata without hacks like this. Added: user/bugmeister/gnats/tools/getalltags (contents, props changed) user/bugmeister/gnats/tools/getalltags.short (contents, props changed) user/bugmeister/gnats/tools/showalltags (contents, props changed) user/bugmeister/gnats/tools/showalltags.short (contents, props changed) user/bugmeister/gnats/tools/showallwithouttags (contents, props changed) user/bugmeister/gnats/tools/showwithtag (contents, props changed) Added: user/bugmeister/gnats/tools/getalltags ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/getalltags Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,11 @@ +#!/bin/sh +# +# get a list of all tags in GNATS Synopses +# +# author: linimon +# +query-pr -i -x -t '^\[' | \ + cut -f 3 -d \| | \ + tr "[:upper:]" "[:lower:]" | \ + sed -e "s@\].*@@;s@\[@@;s@^ @@g;s@ \$@@g" | \ + sort Added: user/bugmeister/gnats/tools/getalltags.short ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/getalltags.short Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,47 @@ +#!/bin/sh +# +# get list of all tags in GNATS Synopses, but with things that aren't +# legitimate classifications pruned +# +# author: linimon +# +/home/gnats/tools/getalltags | \ + grep -v "/" | \ + grep -v "^boot$" | \ + grep -v "bug" | \ + grep -v "build" | \ + grep -v "crash" | \ + grep -v "^deps$" | \ + grep -v "^error" | \ + grep -v "feature" | \ + grep -v "fix" | \ + grep -v "freeze" | \ + grep -v "hang" | \ + grep -v "^install$" | \ + grep -v "^lor$" | \ + grep -v "maintainer" | \ + grep -v "^new$" | \ + grep -v "^new driver" | \ + grep -v "^new port" | \ + grep -v "^new util$" | \ + grep -v "panic" | \ + grep -v "partial" | \ + grep -v "patch" | \ + grep -v "ports" | \ + grep -v "proposal" | \ + grep -v "quirk" | \ + grep -v "^race" | \ + grep -v "reboot" | \ + grep -v "regression" | \ + grep -v "repo copy" | \ + grep -v "repocopy" | \ + grep -v "request" | \ + grep -v "^rfc" | \ + grep -v "^rfe" | \ + grep -v "security" | \ + grep -v "timeout" | \ + grep -v "trap" | \ + grep -v "unbreak" | \ + grep -v "update" | \ + grep -v "wish" | \ + grep -v "workaround" Added: user/bugmeister/gnats/tools/showalltags ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/showalltags Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,7 @@ +#!/bin/sh +# +# show a list of all tags in GNATS Synopses +# +# author: linimon +# +/home/gnats/tools/getalltags | uniq -c -i Added: user/bugmeister/gnats/tools/showalltags.short ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/showalltags.short Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,8 @@ +#!/bin/sh +# +# show a list of all tags in GNATS Synopses, but with things that aren't +# legitimate classifications pruned +# +# author: linimon +# +/home/gnats/tools/getalltags.short | uniq -c -i Added: user/bugmeister/gnats/tools/showallwithouttags ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/showallwithouttags Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,9 @@ +#!/bin/sh + +# Show all (non-ports/www/docs) PRs that do not appear to contain a +# subsystem tag in their title + +query-pr -q -x | \ + awk '$3 !~ /ports|www|docs/ { print }' | \ + sed 's/\[patch\]//Ig;s/\[request\]//Ig' | \ + egrep -v '\([123456789]\)|\[*\]' Added: user/bugmeister/gnats/tools/showwithtag ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/showwithtag Tue Feb 19 02:45:30 2013 (r246974) @@ -0,0 +1,7 @@ +#!/bin/sh +# +# show all the PRs corresponding to 'tag'. +# +# author: linimon +# +query-pr -i -x -t '\['$1'\]' From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:47:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B2D3C2C7; Tue, 19 Feb 2013 02:47:45 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 890EE735; Tue, 19 Feb 2013 02:47:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2ljEO022339; Tue, 19 Feb 2013 02:47:45 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2ljKm022336; Tue, 19 Feb 2013 02:47:45 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190247.r1J2ljKm022336@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:47:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246975 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:47:45 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:47:44 2013 New Revision: 246975 URL: http://svnweb.freebsd.org/changeset/base/246975 Log: linimon-authored scripts to work with [tag] metadata hacked into GNATS PRs. Added: user/bugmeister/gnats/tools/show-random-pr (contents, props changed) user/bugmeister/gnats/tools/show-random-unassigned-pr (contents, props changed) user/bugmeister/gnats/tools/showwithpatches (contents, props changed) Added: user/bugmeister/gnats/tools/show-random-pr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/show-random-pr Tue Feb 19 02:47:44 2013 (r246975) @@ -0,0 +1,21 @@ +#!/bin/sh +# +# pick a random PR with the tag 'tag' and possibly in category 'category'. +# $1: tag. $2: category. +# +# author: linimon +# +if [ -z "$1" ]; then + TAG=patch +else + TAG=$1 +fi +if [ -z "$2" ]; then + CATEGORY=kern +else + CATEGORY=$2 +fi +# +query-pr -c $CATEGORY -t "\["$TAG"\]" -q -x | \ + /usr/games/random -f - | \ + head -1 Added: user/bugmeister/gnats/tools/show-random-unassigned-pr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/show-random-unassigned-pr Tue Feb 19 02:47:44 2013 (r246975) @@ -0,0 +1,21 @@ +#!/bin/sh +# +# pick a random PR with the tag 'tag' and possibly in category 'category'. +# $1: tag. $2: category. +# +# author: linimon +# +if [ -z "$1" ]; then + TAG=patch +else + TAG=$1 +fi +if [ -z "$2" ]; then + CATEGORY=kern +else + CATEGORY=$2 +fi +# +query-pr -c $CATEGORY -t "\["$TAG"\]" -q -x -r freebsd-bugs | \ + /usr/games/random -f - | \ + head -1 Added: user/bugmeister/gnats/tools/showwithpatches ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/showwithpatches Tue Feb 19 02:47:44 2013 (r246975) @@ -0,0 +1,7 @@ +#!/bin/sh +# +# show all PRs with the tag [patch] +# +# author: linimon +# +query-pr -i -x -t '\[patch\]' From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:48:54 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1550B3F3; Tue, 19 Feb 2013 02:48:54 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E485D741; Tue, 19 Feb 2013 02:48:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2mre3022530; Tue, 19 Feb 2013 02:48:53 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2mrBf022525; Tue, 19 Feb 2013 02:48:53 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190248.r1J2mrBf022525@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:48:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246976 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:48:54 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:48:52 2013 New Revision: 246976 URL: http://svnweb.freebsd.org/changeset/base/246976 Log: linimon-authored scripts to allow specialized GNATS reports. Added: user/bugmeister/gnats/tools/do_email_annotated_prs (contents, props changed) user/bugmeister/gnats/tools/do_generate_annotated_prs (contents, props changed) user/bugmeister/gnats/tools/do_generate_annotated_prs.pl (contents, props changed) user/bugmeister/gnats/tools/email_annotated_prs (contents, props changed) user/bugmeister/gnats/tools/email_boilerplate.txt (contents, props changed) Added: user/bugmeister/gnats/tools/do_email_annotated_prs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/do_email_annotated_prs Tue Feb 19 02:48:52 2013 (r246976) @@ -0,0 +1,64 @@ +#!/bin/sh + +# send customized email corresponding to email template. Might or might +# not be "PRs assigned to". Kind of overlaps email_annotated_prs. + +# set this to non-null when testing changes +#DEVELOPMENT="yes" + +user=$1 +input_filename=$2 +html_mode=$3 + +SCRIPT_DIR="/home/gnats/tools" +DEFAULT_FILENAME="pr_email_template.txt" +BOILERPLATE="$SCRIPT_DIR/email_boilerplate.txt" +SENDMAIL="/usr/sbin/sendmail -odi -fowner-bugmaster@FreeBSD.org -oem" + +if [ ! -z "$DEVELOPMENT" ]; then + # development: + TO_BUGMASTER="linimon@FreeBSD.org" +fi + +if [ -z "$user" ]; then + echo "usage: do_email_annotated_prs [user] [filename] [html_mode]" + exit 1 +fi + +# copied verbatim from gnatsreport.sh + targ=`echo ${user} | grep @` + if [ "${targ}" = "" ]; then + targ=${user}@FreeBSD.org + else + targ=${user} + fi + if [ -z "$DEVELOPMENT" ]; then + mail_to=${targ} + else + mail_to=${TO_BUGMASTER} + fi + +if [ -z "$input_filename" ]; then + # look for fallback if not explicitly specified + input_filename="/home/$user/public_html/$DEFAULT_FILENAME" + if [ -e $input_filename ]; then + echo "default template $input_filename not found." + exit 1 + fi +fi + +if [ -z "$html_mode" ]; then + html_mode="0" +fi + +# now send the mail + ( + echo "From: FreeBSD bugmaster " + echo "To: ${user}" + echo "Subject: Current problem reports customized for ${targ}" + echo "" + perl $SCRIPT_DIR/do_generate_annotated_prs.pl $input_filename $html_mode + cat $BOILERPLATE + ) | ${SENDMAIL} ${mail_to} + +exit 0 Added: user/bugmeister/gnats/tools/do_generate_annotated_prs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/do_generate_annotated_prs Tue Feb 19 02:48:52 2013 (r246976) @@ -0,0 +1,20 @@ +#!/bin/sh + +# create an HTML page corresponding to annotated PRs + +script_dir="/home/gnats/tools" + +DEFAULT_FILENAME="annotated_prs.txt" + +input_filename=$1 +if [ -z "$input_filename" ]; then + input_filename="/home/`whoami`/public_html/$DEFAULT_FILENAME" +fi +output_filename=`echo $input_filename | sed -e "s/txt/html/"` + +html_mode=$2 +if [ -z "$html_mode" ]; then + html_mode="1" +fi + +perl $script_dir/do_generate_annotated_prs.pl $input_filename $html_mode > $output_filename.tmp && mv $output_filename.tmp $output_filename Added: user/bugmeister/gnats/tools/do_generate_annotated_prs.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/do_generate_annotated_prs.pl Tue Feb 19 02:48:52 2013 (r246976) @@ -0,0 +1,93 @@ +#!/usr/bin/perl +# +# Script to create HTML page of annotated sets of bug reports. +# +# author: linimon +# thanks to: pgollucci for perl help +# + +require '/home/gnats/tools/cgi-lib.pl'; +require '/home/gnats/tools/cgi-style.pl'; +require '/home/gnats/tools/query-pr-common.pl'; +require 'getopts.pl'; + +$query_pr_ref="http://www.freebsd.org/cgi/query-pr.cgi"; + +local($filename)=$ARGV[0]; +local($html_mode)=$ARGV[1]; + +$wrote_header = 0; +$accumulating_prs = 0; + +open my $fh, '<', "$filename" or die "Can't open [$filename] because [$!]\n"; + +while (my $line = <$fh>) { + + chomp $line; + + if ($line =~ /^\d+/) { + # line is a PR number. Add it to the current PR list. + $query_args=$line . " -x"; + @prs=&read_gnats($query_args); + $accumulating_prs = 1; + } + else { + # line is text. + + # if HTML mode, 1st text line is the HTML title (hack) + if (! $wrote_header ) { + if ($html_mode ) { + print &noninteractive_html_header($line); + print "

\n"; + print "Date generated: " . gmtime() . " GMT\n"; + print "

\n"; + } else { + print "Date generated: " . gmtime() . " GMT\n"; + print "\n"; + print $line . "\n"; + print "\n"; + } + $wrote_header = 1; + } else { + if ($line =~ /%QUERY-PR/) { + # use the rest of the line as arguments + $line =~ s/%QUERY-PR//; + # hack: add a macro for "tag" -- not supported by query-pr + $line =~ s/--tag (\S+)/-t \'\\[$1\\]\'/ if ($line =~ /--tag /); + # Only add -x if noone gave --state=closed/-s closed + if ($line !~ /-s\s+\S*closed/ and $line !~ /--state=\S*closed/) { + $line .= " -x"; + } + $query_args=$line; + # print "
query_args are " . $query_args . "
\n"; + @prs=&read_gnats($query_args); + $accumulating_prs = 1; + } else { + # just a regular text line + if ($accumulating_prs) { + # need to write out the accumulated PRs first. + @prs=reverse(@prs); + &printcnt(&gnats_summary(1, $html_mode, \@prs, $query_pr_ref)); + # do not carry those over to the next block + @prs = (); + $accumulating_prs = 0; + } + # any text line other than the first, or %QUERY-PR, is echoed verbatim + print $line . "\n"; + } + } + } +} +close $fh or die "Can't close [$filename] because [$!]\n"; + +if ($accumulating_prs) { + # write out last block + @prs=reverse(@prs); + &printcnt(&gnats_summary(1, $html_mode, \@prs, $query_pr_ref)); +} + +if ($html_mode ) { + print &html_footer; +} + +exit(0); Added: user/bugmeister/gnats/tools/email_annotated_prs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/email_annotated_prs Tue Feb 19 02:48:52 2013 (r246976) @@ -0,0 +1,40 @@ +#!/bin/sh + +# send email corresponding to email template + +user=$1 +targ=$2 +mail_to=$3 +input_filename=$4 +html_mode=$5 + +DEFAULT_FILENAME="pr_email_template.txt" + +SCRIPT_DIR="/home/gnats/tools" +BOILERPLATE="$SCRIPT_DIR/email_boilerplate.txt" +SENDMAIL="/usr/sbin/sendmail -odi -fowner-bugmaster@FreeBSD.org -oem" + +if [ -z "$user" -o -z "$targ" -o -z "$mail_to" ]; then + echo "usage: email_annotated_prs [user] [mail_to] [filename] [html_mode]" + exit 1 +fi + +if [ -z "$input_filename" ]; then + # XXX MCL use fallback if not exists + # XXX MCL template not yet generalized! + input_filename="/home/$user/public_html/$DEFAULT_FILENAME" +fi + +if [ -z "$html_mode" ]; then + html_mode="1" +fi + +# now send the mail + ( + echo "From: FreeBSD bugmaster " + echo "To: ${user}" + echo "Subject: Current problem reports assigned to ${targ}" + echo "" + perl $SCRIPT_DIR/do_generate_annotated_prs.pl $input_filename $html_mode + cat $BOILERPLATE + ) | ${SENDMAIL} ${mail_to} Added: user/bugmeister/gnats/tools/email_boilerplate.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/email_boilerplate.txt Tue Feb 19 02:48:52 2013 (r246976) @@ -0,0 +1,25 @@ + +Notes: + +generated on freefall via: + + ~gnats/tools/do_email_annotated_prs [user] [filename] [html_mode] + +user is mandatory. + +If you do not specify filename the script will look for a file named +pr_emailtemplate.txt in ~[user]/public_html/. + +html_mode may be 1 to send HTML mail, or 0 or omitted not to. + +The input format is fairly free-form: any line that starts with a numeric +is magically assumed to be a PR number; otherwise it is simply copied to +the output. The magic string %QUERY_PR is a metadirective. + +Closed PRs are automagically filtered out by default, but can be shown +if desired. + +Note: to view an individual PR, use: + http://www.freebsd.org/cgi/query-pr.cgi?pr=[number]. + +Send comments to linimon@FreeBSD.org. From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:51:34 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 76847538; Tue, 19 Feb 2013 02:51:34 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5D56075D; Tue, 19 Feb 2013 02:51:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2pYFH024523; Tue, 19 Feb 2013 02:51:34 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2pWY9024505; Tue, 19 Feb 2013 02:51:32 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190251.r1J2pWY9024505@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:51:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246977 - in user/bugmeister/gnats: gnats-adm public_html X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:51:34 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:51:31 2013 New Revision: 246977 URL: http://svnweb.freebsd.org/changeset/base/246977 Log: Checkpoint of GNATS metadata from production on freefall.freebsd.org. In theory these correspond to the checked-in versions elsewhere. Added: user/bugmeister/gnats/gnats-adm/ user/bugmeister/gnats/gnats-adm/addresses user/bugmeister/gnats/gnats-adm/categories user/bugmeister/gnats/gnats-adm/classes user/bugmeister/gnats/gnats-adm/config user/bugmeister/gnats/gnats-adm/edit-pr-msg user/bugmeister/gnats/gnats-adm/gnatsd.access user/bugmeister/gnats/gnats-adm/gnatsd.conf (contents, props changed) user/bugmeister/gnats/gnats-adm/responsible user/bugmeister/gnats/gnats-adm/states user/bugmeister/gnats/gnats-adm/submitters user/bugmeister/gnats/public_html/ user/bugmeister/gnats/public_html/index.html (contents, props changed) user/bugmeister/gnats/public_html/procedure.html (contents, props changed) Added: user/bugmeister/gnats/gnats-adm/addresses ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/addresses Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,12 @@ +# Use this file to store mappings between submitter IDs and their +# senders' email addresses. +# +# Entries are of the form: +# +#submitter-id:address-fragment +# +# where submitter-id is a valid submitter ID, and address-fragment +# is a full or partial e-mail address. Fragments are compared to the +# end of the "From:" header of a Problem Report. GNATS ignores the +# trailing ">" of an incoming e-mail address, so you don't need to +# include it in an address fragment. Added: user/bugmeister/gnats/gnats-adm/categories ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/categories Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,46 @@ +# Possible categories for a PR. +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# category:description:responsible:notify +# +# * `category' is the name of the classification for the PR. +# * `description' can be a normal text description for the +# category, like "Development Tools" for the `tools' category. +# * `responsible' gives the name (which can be found in the remote +# file) of the person who will be given responsibility for any PR +# appearing in this category. +# * `notify' are other email addresses which should be given copies of +# any PR in this category. +# +# The following category is mandatory for GNATS to work. +# +pending: Misfiled PRs : gnats-admin : freebsd-bugbusters@freebsd.org +# +# Other categories +# +advocacy: Advocacy : freebsd-advocacy : +alpha: Architecture (alpha) specific : freebsd-alpha : +amd64: Architecture (amd64) specific : freebsd-amd64 : +arm: Architecture (arm) specific : freebsd-arm : +bin: All other sources : freebsd-bugs : +conf: Configuration files : freebsd-bugs : +docs: Documentation : freebsd-doc : +gnu: GNU sources : freebsd-bugs : +i386: Architecture (i386) specific : freebsd-i386 : +ia64: Architecture (ia64) specific : freebsd-ia64 : +java: Java support : freebsd-java : +junk: Wastebin : gnats-admin : +kern: Kernel sources : freebsd-bugs : +misc: Miscellaneous : freebsd-bugs : +ports: The ports collection : freebsd-ports-bugs : +powerpc: Architecture (powerpc) specific : freebsd-ppc : +sparc64: Architecture (sparc) specific : freebsd-sparc64 : +standards: Standards conformance issues : freebsd-standards : +sun4v: Architecture (sun4v) specific : freebsd-sparc64 : +threads: Threading issues : freebsd-threads : +usb: USB issues: freebsd-usb : +www: FreeBSD website : freebsd-www : Added: user/bugmeister/gnats/gnats-adm/classes ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/classes Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,43 @@ +# Possible classes for a PR. +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# class[:type[:description]] +# +# that is, either of the following is okay: +# +# sw-bug +# sw-bug:class +# sw-bug:class:Software bug +# sw-bug::Software bug +# +# * `class' is the name of the class; it can contain alphanumerics, +# "-", "_", and ".", but no other characters. +# +# * `type' is the optional name of the class type; it can contain +# alphanumerics, "-", "_", and ".", but no other characters. The +# only defined class type is "class", but it's not actually used +# for anything. +# +# `description' is an optional one-line description of what this +# class means. Any character is okay in the description; a newline +# ends it, however. GNATS does not currently use the description, +# other than to include it in the --list-classes command, but +# certain external tools (such as TkGnats) look for it, so it's +# a good idea include one for every class. +# +# The first listed class is the default class for an incoming Problem +# Report. + +sw-bug::Problem requiring a correction to software. +doc-bug::Problem requiring a correction or improvement in documentation. +support::A support problem or question. +change-request::Suggested change in functionality. +mistaken::Not a problem, bad PR submission. +duplicate::Duplicate of another existing PR. +wish::A wishlist request. +update::Non-maintainer request to update/change software. +maintainer-update::Maintainer request to update/change software. Added: user/bugmeister/gnats/gnats-adm/config ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/config Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,16 @@ +GNATS_ADDR="FreeBSD-gnats-submit@FreeBSD.org" +GNATS_USER="gnats" +GNATS_ADMIN="gnats-admin" +GNATS_SITE="freefall" +SUBMITTER="current-users" +DEFAULT_RELEASE="FreeBSD-2.0" +DEFAULT_ORGANIZATION="FreeBSD" +NOTIFY=1 +ACKNOWLEDGE=1 +DEFAULT_SUBMITTER="current-users" +KEEP_RECEIVED_HEADERS=1 +BDAY_START=8 +BDAY_END=17 +BWEEK_START=1 +BWEEK_END=5 +DEBUG_MODE=0 Added: user/bugmeister/gnats/gnats-adm/edit-pr-msg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/edit-pr-msg Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,3 @@ + +GNATS: Enter the reason for changing this PR's %%ITEM%% here. +GNATS: Lines beginning with "GNATS:" will be deleted. Added: user/bugmeister/gnats/gnats-adm/gnatsd.access ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/gnatsd.access Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,31 @@ +# +# User access levels with the GNATS daemon. +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# userid:password:access-level:database-alias +# +# Wildcard characters are supported for userid, password and database. +# "*" matches anything; "?" matches any single character +# +# * userid: a user id to gain access to gnatsd +# * password: a password for the user +# * access-level: (default = edit) +# deny - gnatsd closes the connection +# none - no further access until userid and password given +# view - query and view PRs with Confidential=no only +# viewconf - query and view PRs with Confidential=yes +# edit - full edit access +# admin - full admin access (not currently used) +# This overrides (increases but never lowers) the access level given +# as the default for the user's host in the /etc/gnatsd.conf file. +# * database-alias: a comma-separated list of database aliases to +# match alias entries from the second field of the database file +# /etc/gnats-db.conf. This field is only used in /etc/gnatsd.access. +# It's ignored in gnatsd-adm/gnatsd.access since this file is already +# database specific. +# +#*:*:view: Added: user/bugmeister/gnats/gnats-adm/gnatsd.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/gnatsd.conf Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,2 @@ +localhost:edit: +freefall.freebsd.org:edit: Added: user/bugmeister/gnats/gnats-adm/responsible ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/responsible Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,40 @@ +# +# People responsible for a given PR. +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# person:full name:address +# +# * The `person' can either be an abbreviated name, or the person's +# username (local to the GNATS site) which should be listed in the PR. +# * The `full name' is simply their name, as in "Diane Williams". +# * The `address' field is either empty for local addresses, or should +# the electronic mail address of the person. +# +# You MUST have this entry for GNATS to work. +# +gnats-admin: GNATS administrator: +# +# Local changes +# +core: FreeBSD core team: +freebsd-advocacy: FreeBSD advocacy mailing list: +freebsd-alpha: FreeBSD Alpha mailing list: +freebsd-amd64: FreeBSD amd64 mailing list: +freebsd-arm: FreeBSD arm mailing list: +freebsd-bugs: FreeBSD bugs mailing list: +freebsd-doc: FreeBSD doc mailing list: +freebsd-i386: FreeBSD i386 mailing list: +freebsd-ia64: FreeBSD IA64 mailing list: +freebsd-java: FreeBSD Java mailing list: +freebsd-ports-bugs: FreeBSD ports mailing list: +#freebsd-powerpc: FreeBSD PowerPC mailing list: +freebsd-sparc64: FreeBSD Sparc mailing list: +freebsd-standards: FreeBSD Standards mailing list: +freebsd-threads: FreeBSD Threads mailing list: +freebsd-usb: FreeBSD USB mailing list: +freebsd-www: FreeBSD WWW mailing list: +cvs: FreeBSD Repomeisters: Added: user/bugmeister/gnats/gnats-adm/states ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/states Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,67 @@ +# Possible states for a PR. +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# state[:type[:description]] +# +# that is, any of the following are okay: +# +# suspended +# suspended:closed +# suspended:closed:No solution yet, work on it also suspended for the time being. +# suspended::No solution yet, work on it also suspended for the time being. +# +# * `state' is the name of the state; it can contain alphanumerics, +# "-", "_", and ".", but no other characters. +# +# * `type' is the optional name of the state type; it can contain +# alphanumerics, "-", "_", and ".", but no other characters. The +# only defined state types are "open" and "closed". The "open" state +# isn't currently used for anything. Changing the state of a PR to +# any state of type "closed" will set the Closed-Date field with a +# time stamp. Changing the state of a PR from one "closed" state to +# another will leave the Closed-Date field as it was. Changing the +# state of a PR from any state of type "closed" to a non-closed +# state will clear the Closed-Date field. The "--skip-closed" +# option of query-pr and nquery-pr looks at the state types for the +# "closed" type, not for a state name of "closed". +# +# `description' is an optional one-line description of what this +# state means. Any character is okay in the description; a newline +# ends it, however. GNATS does not currently use the description, +# other than to include it in the --list-states command, but certain +# external tools (such as TkGnats) look for it, so it's a good +# idea include one for every state. +# +# The first listed state is the default state for an incoming Problem +# Report. The last listed state is considered one of the final +# ("closed") states for a Problem Report and will be forced to have a +# type of "closed". Once a PR is in this state, its life-cycle is +# usually over unless someone re-opens it. + +# It is recommended that the first state always be "open", as some +# external tools may look for this to determine whether or not a PR +# has been acted on. Change at your own risk. + +open::Default state for a new problem report. + +# The middle states are what you think is useful; customize them as +# you wish. You can add or delete states here; it is not required +# that there be three of them. Depending on your definition of the +# suspended state, you may want to set its type to be "closed". + +analyzed::The problem is understood and a solution is being sought. +suspended::Valid, but suspended due to lack of information or resources. +feedback::Awaiting further information from originator or community. +patched::Patch committed, awaiting MFC and / or further testing. +repocopy::Awaiting a repocopy before further action can be taken. + +# Where old PRs go to die. Like "open", there may be external tools +# which look for this state to know if a PR is still active. Change +# at your own risk. The last state will be forced to be a "closed" type +# even if you specify something else. + +closed:closed:Issue has been resolved or abandoned. Added: user/bugmeister/gnats/gnats-adm/submitters ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/gnats-adm/submitters Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,27 @@ +# +# submitters database for GNATS +# +# Any line which begins with a `#' is considered a comment, and GNATS +# will ignore it. +# +# Each entry has the format: +# +# submitter:full submitter name:type:response-time:contact:notify-others +# +# * submitter: The name of the site, customer, etc., sending the +# report in. +# * full submitter name: The description, like `Foo Widgets Inc.'. +# * submitter type: Can be contract type, level of expertise, etc. +# * response time: If configured with `NOTIFY' set to `TRUE', GNATS +# will use this field to schedule when at_pr should notify the +# gnats-admin and gnats-manager that the PR wasn't analyzed +# within the agreed response time. +# * contact: Principal contact for the submitter. +# * notify: Others who should be Cc'd on any PRs coming from +# this submitter. +# +# +# The following submitter is mandatory for GNATS to work. +# The submitter field should be the same as your configured DEFAULT_SUBMITTER. +# +current-users:Submitted from a FreeBSD-current user:none:-1:: Added: user/bugmeister/gnats/public_html/index.html ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/public_html/index.html Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,8 @@ + + + Gnats + + +

Gnats

+ + Added: user/bugmeister/gnats/public_html/procedure.html ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/public_html/procedure.html Tue Feb 19 02:51:31 2013 (r246977) @@ -0,0 +1,36 @@ + + + Maintenance Procedure + + +

Gnats Maintenance Procedures

+ +

Before any maintenance is performed on Gnats, the following steps + must be taken to prevent database corruption:

+ +
    +
  • Stop the queue and any cron'ed maintenance tasks by commenting out + the contents of the gnats user's crontab.
  • + +
  • Make sure the gnats-adm/locks directory is empty, then + chmod 0 it to disable edit-pr(1).
  • + +
  • Take a complete backup of the Gnats database, in case something + goes wrong.
  • +
+ +

If you need to restore the database from backup, take care not to + clobber the queue directory!

+ +

Once maintenance is complete, the database needs to be unfrozen so + work on it can resume:

+ +
    +
  • Re-enable edit-pr(1) by setting the lock directory's + access mode back to 0755.
  • + +
  • Restart the queue by un-commenting the gnats user's + crontab.
  • +
+ + From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 10:29:12 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4208E5F2; Tue, 19 Feb 2013 10:29:12 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3062C2A7; Tue, 19 Feb 2013 10:29:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1JATCPk061537; Tue, 19 Feb 2013 10:29:12 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1JATCo3061536; Tue, 19 Feb 2013 10:29:12 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302191029.r1JATCo3061536@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 19 Feb 2013 10:29:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246984 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 10:29:12 -0000 Author: ae Date: Tue Feb 19 10:29:11 2013 New Revision: 246984 URL: http://svnweb.freebsd.org/changeset/base/246984 Log: Remove functions related to embedded scope zone ids. Modified: user/ae/inet6/sys/netinet6/nd6.c Modified: user/ae/inet6/sys/netinet6/nd6.c ============================================================================== --- user/ae/inet6/sys/netinet6/nd6.c Tue Feb 19 10:25:51 2013 (r246983) +++ user/ae/inet6/sys/netinet6/nd6.c Tue Feb 19 10:29:11 2013 (r246984) @@ -860,30 +860,20 @@ nd6_is_new_addr_neighbor(struct sockaddr /* * A link-local address is always a neighbor. - * XXX: a link does not necessarily specify a single interface. */ - if (IN6_IS_ADDR_LINKLOCAL(&addr->sin6_addr)) { - struct sockaddr_in6 sin6_copy; - u_int32_t zone; - - /* - * We need sin6_copy since sa6_recoverscope() may modify the - * content (XXX). - */ - sin6_copy = *addr; - if (sa6_recoverscope(&sin6_copy)) - return (0); /* XXX: should be impossible */ - if (in6_setscope(&sin6_copy.sin6_addr, ifp, &zone)) - return (0); - if (sin6_copy.sin6_scope_id == zone) - return (1); - else - return (0); - } - + if (IN6_IS_ADDR_LINKLOCAL(&addr->sin6_addr)) + return (1); /* * If the address matches one of our addresses, * it should be a neighbor. + */ + dstaddr = (struct ifaddr *)in6ifa_ifwithaddr(&addr->sin6_addr, + in6_getscopezone(ifp, in6_addrscope(&addr->sin6_addr))); + if (dstaddr != NULL) { + ifa_free(dstaddr); + return (1); + } + /* * If the address matches one of our on-link prefixes, it should be a * neighbor. */ @@ -1222,8 +1212,6 @@ nd6_ioctl(u_long cmd, caddr_t data, stru if (i >= DRLSTSIZ) break; drl->defrouter[i].rtaddr = dr->rtaddr; - in6_clearscope(&drl->defrouter[i].rtaddr); - drl->defrouter[i].flags = dr->flags; drl->defrouter[i].rtlifetime = dr->rtlifetime; drl->defrouter[i].expire = dr->expire; @@ -1278,10 +1266,8 @@ nd6_ioctl(u_long cmd, caddr_t data, stru j = 0; LIST_FOREACH(pfr, &pr->ndpr_advrtrs, pfr_entry) { if (j < DRLSTSIZ) { -#define RTRADDR oprl->prefix[i].advrtr[j] - RTRADDR = pfr->router->rtaddr; - in6_clearscope(&RTRADDR); -#undef RTRADDR + oprl->prefix[i].advrtr[j] = + pfr->router->rtaddr; } j++; } @@ -1473,13 +1459,9 @@ nd6_ioctl(u_long cmd, caddr_t data, stru case SIOCGNBRINFO_IN6: { struct llentry *ln; - struct in6_addr nb_addr = nbi->addr; /* make local for safety */ - - if ((error = in6_setscope(&nb_addr, ifp, NULL)) != 0) - return (error); IF_AFDATA_RLOCK(ifp); - ln = nd6_lookup(&nb_addr, 0, ifp); + ln = nd6_lookup(&nbi->addr, 0, ifp); IF_AFDATA_RUNLOCK(ifp); if (ln == NULL) { @@ -2261,9 +2243,8 @@ nd6_sysctl_drlist(SYSCTL_HANDLER_ARGS) */ TAILQ_FOREACH(dr, &V_nd_defrouter, dr_entry) { d.rtaddr.sin6_addr = dr->rtaddr; - error = sa6_recoverscope(&d.rtaddr); - if (error != 0) - return (error); + d.rtaddr.sin6_scope_id = in6_getscopezone(dr->ifp, + in6_addrscope(&dr->rtaddr)); d.flags = dr->flags; d.rtlifetime = dr->rtlifetime; d.expire = dr->expire; @@ -2300,11 +2281,8 @@ nd6_sysctl_prlist(SYSCTL_HANDLER_ARGS) */ LIST_FOREACH(pr, &V_nd_prefix, ndpr_entry) { p.prefix = pr->ndpr_prefix; - if (sa6_recoverscope(&p.prefix)) { - log(LOG_ERR, "scope error in prefix list (%s)\n", - ip6_sprintf(ip6buf, &p.prefix.sin6_addr)); - /* XXX: press on... */ - } + p.prefix.sin6_scope_id = in6_getscopezone(pr->ndpr_ifp, + in6_addrscope(&pr->ndpr_prefix.sin6_addr)); p.raflags = pr->ndpr_raf; p.prefixlen = pr->ndpr_plen; p.vltime = pr->ndpr_vltime; @@ -2332,10 +2310,8 @@ nd6_sysctl_prlist(SYSCTL_HANDLER_ARGS) return (error); LIST_FOREACH(pfr, &pr->ndpr_advrtrs, pfr_entry) { s6.sin6_addr = pfr->router->rtaddr; - if (sa6_recoverscope(&s6)) - log(LOG_ERR, - "scope error in prefix list (%s)\n", - ip6_sprintf(ip6buf, &pfr->router->rtaddr)); + s6.sin6_scope_id = in6_getscopezone(pfr->router->ifp, + in6_addrscope(&pfr->router->rtaddr)); error = SYSCTL_OUT(req, &s6, sizeof(s6)); if (error != 0) return (error); From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 11:16:19 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2B7C8E4D; Tue, 19 Feb 2013 11:16:19 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 03F1B69B; Tue, 19 Feb 2013 11:16:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1JBGINB076237; Tue, 19 Feb 2013 11:16:18 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1JBGIRn076236; Tue, 19 Feb 2013 11:16:18 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302191116.r1JBGIRn076236@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 19 Feb 2013 11:16:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246985 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 11:16:19 -0000 Author: ae Date: Tue Feb 19 11:16:18 2013 New Revision: 246985 URL: http://svnweb.freebsd.org/changeset/base/246985 Log: Remove functions related to embedded scope zone ids. Modified: user/ae/inet6/sys/netinet6/nd6_nbr.c Modified: user/ae/inet6/sys/netinet6/nd6_nbr.c ============================================================================== --- user/ae/inet6/sys/netinet6/nd6_nbr.c Tue Feb 19 10:29:11 2013 (r246984) +++ user/ae/inet6/sys/netinet6/nd6_nbr.c Tue Feb 19 11:16:18 2013 (r246985) @@ -134,8 +134,6 @@ nd6_ns_input(struct mbuf *m, int off, in #endif ip6 = mtod(m, struct ip6_hdr *); /* adjust pointer for safety */ taddr6 = nd_ns->nd_ns_target; - if (in6_setscope(&taddr6, ifp, NULL) != 0) - goto bad; if (ip6->ip6_hlim != 255) { nd6log((LOG_ERR, @@ -148,7 +146,7 @@ nd6_ns_input(struct mbuf *m, int off, in if (IN6_IS_ADDR_UNSPECIFIED(&saddr6)) { /* dst has to be a solicited node multicast address. */ if (daddr6.s6_addr16[0] == IPV6_ADDR_INT16_MLL && - /* don't check ifindex portion */ + daddr6.s6_addr16[1] == 0 && daddr6.s6_addr32[1] == 0 && daddr6.s6_addr32[2] == IPV6_ADDR_INT32_ONE && daddr6.s6_addr8[12] == 0xff) { @@ -344,8 +342,6 @@ nd6_ns_input(struct mbuf *m, int off, in struct in6_addr in6_all; in6_all = in6addr_linklocal_allnodes; - if (in6_setscope(&in6_all, ifp, NULL) != 0) - goto bad; nd6_na_output_fib(ifp, &in6_all, &taddr6, ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | rflag, tlladdr, proxy ? (struct sockaddr *)&proxydl : NULL, @@ -461,8 +457,6 @@ nd6_ns_output(struct ifnet *ifp, const s ip6->ip6_dst.s6_addr32[2] = IPV6_ADDR_INT32_ONE; ip6->ip6_dst.s6_addr32[3] = taddr6->s6_addr32[3]; ip6->ip6_dst.s6_addr8[12] = 0xff; - if (in6_setscope(&ip6->ip6_dst, ifp, NULL) != 0) - goto bad; } if (!dad) { struct ifaddr *ifa; @@ -547,7 +541,6 @@ nd6_ns_output(struct ifnet *ifp, const s nd_ns->nd_ns_code = 0; nd_ns->nd_ns_reserved = 0; nd_ns->nd_ns_target = *taddr6; - in6_clearscope(&nd_ns->nd_ns_target); /* XXX */ /* * Add source link-layer address option. @@ -666,9 +659,6 @@ nd6_na_input(struct mbuf *m, int off, in is_override = ((flags & ND_NA_FLAG_OVERRIDE) != 0); taddr6 = nd_na->nd_na_target; - if (in6_setscope(&taddr6, ifp, NULL)) - goto bad; /* XXX: impossible */ - if (IN6_IS_ADDR_MULTICAST(&taddr6)) { nd6log((LOG_ERR, "nd6_na_input: invalid target address %s\n", @@ -1032,9 +1022,6 @@ nd6_na_output_fib(struct ifnet *ifp, con daddr6.s6_addr32[1] = 0; daddr6.s6_addr32[2] = 0; daddr6.s6_addr32[3] = IPV6_ADDR_INT32_ONE; - if (in6_setscope(&daddr6, ifp, NULL)) - goto bad; - flags &= ~ND_NA_FLAG_SOLICITED; } ip6->ip6_dst = daddr6; @@ -1061,7 +1048,6 @@ nd6_na_output_fib(struct ifnet *ifp, con nd_na->nd_na_type = ND_NEIGHBOR_ADVERT; nd_na->nd_na_code = 0; nd_na->nd_na_target = *taddr6; - in6_clearscope(&nd_na->nd_na_target); /* XXX */ /* * "tlladdr" indicates NS's condition for adding tlladdr or not. From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 12:09:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EF19DCD4; Tue, 19 Feb 2013 12:09:23 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CACA08E8; Tue, 19 Feb 2013 12:09:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1JC9NHG091633; Tue, 19 Feb 2013 12:09:23 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1JC9NSb091632; Tue, 19 Feb 2013 12:09:23 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302191209.r1JC9NSb091632@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 19 Feb 2013 12:09:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246986 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 12:09:24 -0000 Author: ae Date: Tue Feb 19 12:09:23 2013 New Revision: 246986 URL: http://svnweb.freebsd.org/changeset/base/246986 Log: Remove functions related to embedded scope zone ids. Modified: user/ae/inet6/sys/netinet6/mld6.c Modified: user/ae/inet6/sys/netinet6/mld6.c ============================================================================== --- user/ae/inet6/sys/netinet6/mld6.c Tue Feb 19 11:16:18 2013 (r246985) +++ user/ae/inet6/sys/netinet6/mld6.c Tue Feb 19 12:09:23 2013 (r246986) @@ -196,11 +196,6 @@ static int sysctl_mld_ifinfo(SYSCTL_HAND static struct mtx mld_mtx; static MALLOC_DEFINE(M_MLD, "mld", "mld state"); -#define MLD_EMBEDSCOPE(pin6, zoneid) \ - if (IN6_IS_SCOPE_LINKLOCAL(pin6) || \ - IN6_IS_ADDR_MC_INTFACELOCAL(pin6)) \ - (pin6)->s6_addr16[1] = htons((zoneid) & 0xFFFF) \ - /* * VIMAGE-wide globals. */ @@ -426,11 +421,7 @@ mld_dispatch_queue(struct ifqueue *ifq, * Filter outgoing MLD report state by group. * * Reports are ALWAYS suppressed for ALL-HOSTS (ff02::1) - * and node-local addresses. However, kernel and socket consumers - * always embed the KAME scope ID in the address provided, so strip it - * when performing comparison. - * Note: This is not the same as the *multicast* scope. - * + * and node-local addresses. * Return zero if the given group is one for which MLD reports * should be suppressed, or non-zero if reports should be issued. */ @@ -440,16 +431,10 @@ mld_is_addr_reported(const struct in6_ad KASSERT(IN6_IS_ADDR_MULTICAST(addr), ("%s: not multicast", __func__)); - if (IPV6_ADDR_MC_SCOPE(addr) == IPV6_ADDR_SCOPE_NODELOCAL) + if (IPV6_ADDR_MC_SCOPE(addr) == IPV6_ADDR_SCOPE_NODELOCAL || + IN6_ARE_ADDR_EQUAL(addr, &in6addr_linklocal_allnodes)) return (0); - if (IPV6_ADDR_MC_SCOPE(addr) == IPV6_ADDR_SCOPE_LINKLOCAL) { - struct in6_addr tmp = *addr; - in6_clearscope(&tmp); - if (IN6_ARE_ADDR_EQUAL(&tmp, &in6addr_linklocal_allnodes)) - return (0); - } - return (1); } @@ -665,19 +650,10 @@ mld_v1_input_query(struct ifnet *ifp, co * MLDv1 General Query. * If this was not sent to the all-nodes group, ignore it. */ - struct in6_addr dst; - - dst = ip6->ip6_dst; - in6_clearscope(&dst); - if (!IN6_ARE_ADDR_EQUAL(&dst, &in6addr_linklocal_allnodes)) + if (!IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, + &in6addr_linklocal_allnodes)) return (EINVAL); is_general_query = 1; - } else { - /* - * Embed scope ID of receiving interface in MLD query for - * lookup whilst we don't hold other locks. - */ - in6_setscope(&mld->mld_addr, ifp, NULL); } IN6_MULTI_LOCK(); @@ -722,8 +698,6 @@ mld_v1_input_query(struct ifnet *ifp, co ifp, ifp->if_xname); mld_v1_update_group(inm, timer); } - /* XXX Clear embedded scope ID as userland won't expect it. */ - in6_clearscope(&mld->mld_addr); } IF_ADDR_RUNLOCK(ifp); @@ -873,13 +847,6 @@ mld_v2_input_query(struct ifnet *ifp, co if (nsrc > 0) return (EINVAL); is_general_query = 1; - } else { - /* - * Embed scope ID of receiving interface in MLD query for - * lookup whilst we don't hold other locks (due to KAME - * locking lameness). We own this mbuf chain just now. - */ - in6_setscope(&mld->mld_addr, ifp, NULL); } IN6_MULTI_LOCK(); @@ -958,8 +925,6 @@ mld_v2_input_query(struct ifnet *ifp, co if (mli->mli_v2_timer == 0 || mli->mli_v2_timer >= timer) mld_v2_process_group_query(inm, mli, timer, m, off); - /* XXX Clear embedded scope ID as userland won't expect it. */ - in6_clearscope(&mld->mld_addr); IF_ADDR_RUNLOCK(ifp); } @@ -1094,7 +1059,6 @@ static int mld_v1_input_report(struct ifnet *ifp, const struct ip6_hdr *ip6, /*const*/ struct mld_hdr *mld) { - struct in6_addr src, dst; struct in6_ifaddr *ia; struct in6_multi *inm; #ifdef KTR @@ -1115,9 +1079,8 @@ mld_v1_input_report(struct ifnet *ifp, c * MLDv1 reports must originate from a host's link-local address, * or the unspecified address (when booting). */ - src = ip6->ip6_src; - in6_clearscope(&src); - if (!IN6_IS_SCOPE_LINKLOCAL(&src) && !IN6_IS_ADDR_UNSPECIFIED(&src)) { + if (!IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_src) && + !IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { CTR3(KTR_MLD, "ignore v1 query src %s on ifp %p(%s)", ip6_sprintf(ip6tbuf, &ip6->ip6_src), ifp, ifp->if_xname); @@ -1128,10 +1091,8 @@ mld_v1_input_report(struct ifnet *ifp, c * RFC2710 Section 4: MLDv1 reports must pertain to a multicast * group, and must be directed to the group itself. */ - dst = ip6->ip6_dst; - in6_clearscope(&dst); if (!IN6_IS_ADDR_MULTICAST(&mld->mld_addr) || - !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &dst)) { + !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &ip6->ip6_dst)) { CTR3(KTR_MLD, "ignore v1 query dst %s on ifp %p(%s)", ip6_sprintf(ip6tbuf, &ip6->ip6_dst), ifp, ifp->if_xname); @@ -1161,13 +1122,6 @@ mld_v1_input_report(struct ifnet *ifp, c CTR3(KTR_MLD, "process v1 report %s on ifp %p(%s)", ip6_sprintf(ip6tbuf, &mld->mld_addr), ifp, ifp->if_xname); - /* - * Embed scope ID of receiving interface in MLD query for lookup - * whilst we don't hold other locks (due to KAME locking lameness). - */ - if (!IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) - in6_setscope(&mld->mld_addr, ifp, NULL); - IN6_MULTI_LOCK(); MLD_LOCK(); IF_ADDR_RLOCK(ifp); @@ -1222,9 +1176,6 @@ out_locked: MLD_UNLOCK(); IN6_MULTI_UNLOCK(); - /* XXX Clear embedded scope ID as userland won't expect it. */ - in6_clearscope(&mld->mld_addr); - return (0); } @@ -1839,7 +1790,6 @@ mld_v1_transmit_report(struct in6_multi mld->mld_maxdelay = 0; mld->mld_reserved = 0; mld->mld_addr = in6m->in6m_addr; - in6_clearscope(&mld->mld_addr); mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), sizeof(struct mld_hdr)); @@ -2466,7 +2416,6 @@ mld_v2_enqueue_group_record(struct ifque mr.mr_datalen = 0; mr.mr_numsrc = 0; mr.mr_addr = inm->in6m_addr; - in6_clearscope(&mr.mr_addr); if (!m_append(m, sizeof(struct mldv2_record), (void *)&mr)) { if (m != m0) m_freem(m); @@ -2752,7 +2701,6 @@ mld_v2_enqueue_filter_change(struct ifqu */ memset(&mr, 0, sizeof(mr)); mr.mr_addr = inm->in6m_addr; - in6_clearscope(&mr.mr_addr); if (!m_append(m, sizeof(mr), (void *)&mr)) { if (m != m0) m_freem(m); @@ -3051,7 +2999,6 @@ mld_dispatch_packet(struct mbuf *m) struct ifnet *oifp; struct mbuf *m0; struct mbuf *md; - struct ip6_hdr *ip6; struct mld_hdr *mld; int error; int off; @@ -3101,18 +3048,6 @@ mld_dispatch_packet(struct mbuf *m) m->m_flags &= ~(M_PROTOFLAGS); m0->m_pkthdr.rcvif = V_loif; - ip6 = mtod(m0, struct ip6_hdr *); -#if 0 - (void)in6_setscope(&ip6->ip6_dst, ifp, NULL); /* XXX LOR */ -#else - /* - * XXX XXX Break some KPI rules to prevent an LOR which would - * occur if we called in6_setscope() at transmission. - * See comments at top of file. - */ - MLD_EMBEDSCOPE(&ip6->ip6_dst, ifp->if_index); -#endif - /* * Retrieve the ICMPv6 type before handoff to ip6_output(), * so we can bump the stats. From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 15:42:52 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D3A0BFC2; Tue, 19 Feb 2013 15:42:52 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ADEE8E30; Tue, 19 Feb 2013 15:42:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1JFgquA059127; Tue, 19 Feb 2013 15:42:52 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1JFgqRE059126; Tue, 19 Feb 2013 15:42:52 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302191542.r1JFgqRE059126@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 19 Feb 2013 15:42:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246995 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 15:42:52 -0000 Author: ae Date: Tue Feb 19 15:42:52 2013 New Revision: 246995 URL: http://svnweb.freebsd.org/changeset/base/246995 Log: Remove functions related to embedded scope zone ids. Modified: user/ae/inet6/sys/netinet6/icmp6.c Modified: user/ae/inet6/sys/netinet6/icmp6.c ============================================================================== --- user/ae/inet6/sys/netinet6/icmp6.c Tue Feb 19 15:22:04 2013 (r246994) +++ user/ae/inet6/sys/netinet6/icmp6.c Tue Feb 19 15:42:52 2013 (r246995) @@ -1127,14 +1127,15 @@ icmp6_notify_error(struct mbuf **mp, int icmp6dst.sin6_addr = eip6->ip6_dst; else icmp6dst.sin6_addr = *finaldst; - if (in6_setscope(&icmp6dst.sin6_addr, m->m_pkthdr.rcvif, NULL)) - goto freeit; + icmp6dst.sin6_scope_id = in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&icmp6dst.sin6_addr)); + bzero(&icmp6src, sizeof(icmp6src)); icmp6src.sin6_len = sizeof(struct sockaddr_in6); icmp6src.sin6_family = AF_INET6; icmp6src.sin6_addr = eip6->ip6_src; - if (in6_setscope(&icmp6src.sin6_addr, m->m_pkthdr.rcvif, NULL)) - goto freeit; + icmp6src.sin6_scope_id = in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&icmp6src.sin6_addr)); icmp6src.sin6_flowinfo = (eip6->ip6_flow & IPV6_FLOWLABEL_MASK); @@ -1213,8 +1214,7 @@ icmp6_mtudisc_update(struct ip6ctlparam bzero(&inc, sizeof(inc)); inc.inc_flags |= INC_ISIPV6; inc.inc6_faddr = *dst; - if (in6_setscope(&inc.inc6_faddr, m->m_pkthdr.rcvif, NULL)) - return; + /* XXX: There is no space to keep scope information. */ if (mtu < tcp_maxmtu6(&inc, NULL)) { tcp_hc_updatemtu(&inc, mtu); @@ -1983,18 +1983,11 @@ icmp6_rip6_input(struct mbuf **mp, int o } #endif - /* - * XXX: the address may have embedded scope zone ID, which should be - * hidden from applications. - */ bzero(&fromsa, sizeof(fromsa)); fromsa.sin6_family = AF_INET6; fromsa.sin6_len = sizeof(struct sockaddr_in6); fromsa.sin6_addr = ip6->ip6_src; - if (sa6_recoverscope(&fromsa)) { - m_freem(m); - return (IPPROTO_DONE); - } + /* XXX: sin6_scope_id */ INP_INFO_RLOCK(&V_ripcbinfo); LIST_FOREACH(in6p, &V_ripcb, inp_list) { @@ -2338,11 +2331,6 @@ icmp6_redirect_input(struct mbuf *m, int redtgt6 = nd_rd->nd_rd_target; reddst6 = nd_rd->nd_rd_dst; - if (in6_setscope(&redtgt6, m->m_pkthdr.rcvif, NULL) || - in6_setscope(&reddst6, m->m_pkthdr.rcvif, NULL)) { - goto freeit; - } - /* validation */ if (!IN6_IS_ADDR_LINKLOCAL(&src6)) { nd6log((LOG_ERR, @@ -2366,7 +2354,9 @@ icmp6_redirect_input(struct mbuf *m, int bzero(&sin6, sizeof(sin6)); sin6.sin6_family = AF_INET6; sin6.sin6_len = sizeof(struct sockaddr_in6); - bcopy(&reddst6, &sin6.sin6_addr, sizeof(reddst6)); + sin6.sin6_addr = reddst6; + sin6.sin6_scope_id = in6_getscopezone(ifp, + in6_addrscope(&reddst6)); rt = in6_rtalloc1((struct sockaddr *)&sin6, 0, 0UL, RT_DEFAULT_FIB); if (rt) { if (rt->rt_gateway == NULL || @@ -2751,12 +2741,6 @@ noredhdropt:; m0 = NULL; } - /* XXX: clear embedded link IDs in the inner header */ - in6_clearscope(&sip6->ip6_src); - in6_clearscope(&sip6->ip6_dst); - in6_clearscope(&nd_rd->nd_rd_target); - in6_clearscope(&nd_rd->nd_rd_dst); - ip6->ip6_plen = htons(m->m_pkthdr.len - sizeof(struct ip6_hdr)); nd_rd->nd_rd_cksum = 0; From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 00:58:09 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 37E83803; Wed, 20 Feb 2013 00:58:09 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 12BA4691; Wed, 20 Feb 2013 00:58:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1K0w8lK058099; Wed, 20 Feb 2013 00:58:08 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1K0w8rm058098; Wed, 20 Feb 2013 00:58:08 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302200058.r1K0w8rm058098@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 00:58:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247016 - user/attilio/vmobj-rwlock X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 00:58:09 -0000 Author: attilio Date: Wed Feb 20 00:58:07 2013 New Revision: 247016 URL: http://svnweb.freebsd.org/changeset/base/247016 Log: Create a branch to make the VM_OBJECT_LOCK transition into a rwlock. Added: - copied from r247015, head/ Directory Properties: user/attilio/vmobj-rwlock/ (props changed) From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 02:40:03 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CA8A8BCB; Wed, 20 Feb 2013 02:40:03 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A47E8A38; Wed, 20 Feb 2013 02:40:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1K2e3S1088897; Wed, 20 Feb 2013 02:40:03 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1K2e3a7088896; Wed, 20 Feb 2013 02:40:03 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302200240.r1K2e3a7088896@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 02:40:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247017 - user/attilio/vmobj-rwlock X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 02:40:03 -0000 Author: attilio Date: Wed Feb 20 02:40:03 2013 New Revision: 247017 URL: http://svnweb.freebsd.org/changeset/base/247017 Log: MFC Modified: Directory Properties: user/attilio/vmobj-rwlock/ (props changed) From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 10:38:46 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 06E3FE7D; Wed, 20 Feb 2013 10:38:46 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EAE85370; Wed, 20 Feb 2013 10:38:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KAcjwt034137; Wed, 20 Feb 2013 10:38:45 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KAcZQE034067; Wed, 20 Feb 2013 10:38:35 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201038.r1KAcZQE034067@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 10:38:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247021 - in user/attilio/vmobj-rwlock/sys: amd64/amd64 arm/arm dev/agp dev/drm dev/drm2 dev/drm2/i915 dev/hwpmc dev/md dev/netmap dev/sound/pcm fs/fuse fs/nfsclient fs/procfs fs/tmpfs ... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 10:38:46 -0000 Author: attilio Date: Wed Feb 20 10:38:34 2013 New Revision: 247021 URL: http://svnweb.freebsd.org/changeset/base/247021 Log: Switch vm_object lock to be a rwlock. * VM_OBJECT_LOCK and VM_OBJECT_UNLOCK are mapped to write operations * VM_OBJECT_SLEEP() is introduced as a general purpose primitve to get a sleep operation using a VM_OBJECT_LOCK() as protection * The approach must bear with vm_pager.h namespace pollution so many files require including directly rwlock.h Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c user/attilio/vmobj-rwlock/sys/dev/agp/agp.c user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c user/attilio/vmobj-rwlock/sys/dev/md/md.c user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c user/attilio/vmobj-rwlock/sys/kern/kern_exec.c user/attilio/vmobj-rwlock/sys/kern/kern_proc.c user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c user/attilio/vmobj-rwlock/sys/kern/subr_uio.c user/attilio/vmobj-rwlock/sys/kern/sys_process.c user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c user/attilio/vmobj-rwlock/sys/kern/vfs_default.c user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c user/attilio/vmobj-rwlock/sys/vm/default_pager.c user/attilio/vmobj-rwlock/sys/vm/device_pager.c user/attilio/vmobj-rwlock/sys/vm/phys_pager.c user/attilio/vmobj-rwlock/sys/vm/sg_pager.c user/attilio/vmobj-rwlock/sys/vm/swap_pager.c user/attilio/vmobj-rwlock/sys/vm/uma_core.c user/attilio/vmobj-rwlock/sys/vm/vm_fault.c user/attilio/vmobj-rwlock/sys/vm/vm_glue.c user/attilio/vmobj-rwlock/sys/vm/vm_init.c user/attilio/vmobj-rwlock/sys/vm/vm_kern.c user/attilio/vmobj-rwlock/sys/vm/vm_map.c user/attilio/vmobj-rwlock/sys/vm/vm_meter.c user/attilio/vmobj-rwlock/sys/vm/vm_mmap.c user/attilio/vmobj-rwlock/sys/vm/vm_object.c user/attilio/vmobj-rwlock/sys/vm/vm_object.h user/attilio/vmobj-rwlock/sys/vm/vm_page.c user/attilio/vmobj-rwlock/sys/vm/vm_pageout.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.h user/attilio/vmobj-rwlock/sys/vm/vm_reserv.c user/attilio/vmobj-rwlock/sys/vm/vnode_pager.c Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c Wed Feb 20 10:38:34 2013 (r247021) @@ -80,6 +80,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3761,7 +3761,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3943,7 +3943,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p, pdpg; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { @@ -4557,7 +4557,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4688,7 +4688,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4832,7 +4832,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2212,7 +2212,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -3428,7 +3428,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -3475,7 +3475,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3006,7 +3006,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -4461,7 +4461,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -4523,7 +4523,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 10:38:34 2013 (r247021) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -622,7 +623,7 @@ agp_generic_bind_memory(device_t dev, st return 0; bad: mtx_unlock(&sc->as_lock); - VM_OBJECT_LOCK_ASSERT(mem->am_obj, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(mem->am_obj, RA_WLOCKED); for (k = 0; k < mem->am_size; k += PAGE_SIZE) { m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(k)); if (k >= i) Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 10:38:34 2013 (r247021) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h Wed Feb 20 10:38:34 2013 (r247021) @@ -59,6 +59,7 @@ struct drm_file; #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h Wed Feb 20 10:38:34 2013 (r247021) @@ -58,6 +58,7 @@ struct drm_file; #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2488,7 +2488,7 @@ i915_gem_wire_page(vm_object_t object, v vm_page_t m; int rv; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); if (m->valid != VM_PAGE_BITS_ALL) { if (vm_pager_has_page(object, pindex, NULL, NULL)) { Modified: user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 10:38:34 2013 (r247021) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/md/md.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 10:38:34 2013 (r247021) @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include /* PROT_EXEC */ #include #include +#include #include /* vtophys */ #include /* vtophys */ #include /* sockaddrs */ Modified: user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c Wed Feb 20 10:38:34 2013 (r247021) @@ -32,6 +32,8 @@ #include #include +#include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 10:38:34 2013 (r247021) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -87,8 +88,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include "fuse.h" Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -67,7 +67,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 10:38:34 2013 (r247021) @@ -43,9 +43,9 @@ #include #include #include -#include #include #include +#include #include #ifdef COMPAT_FREEBSD32 #include Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 10:38:34 2013 (r247021) @@ -38,9 +38,11 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -39,9 +39,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c Wed Feb 20 10:38:34 2013 (r247021) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP Modified: user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3712,7 +3712,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3890,7 +3890,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -4509,7 +4509,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4644,7 +4644,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4796,7 +4796,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2871,7 +2871,7 @@ pmap_enter_object(pmap_t pmap, vm_offset multicall_entry_t *mclp = mcl; int error, count = 0; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3111,7 +3111,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -3657,7 +3657,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -3788,7 +3788,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -3889,7 +3889,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1802,7 +1802,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); m = m_start; rw_wlock(&pvh_global_lock); @@ -1893,7 +1893,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2211,7 +2211,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be dirty. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2295,7 +2295,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2373,7 +2373,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -53,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_exec.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_exec.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_exec.c Wed Feb 20 10:38:34 2013 (r247021) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_proc.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_proc.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_proc.c Wed Feb 20 10:38:34 2013 (r247021) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c Wed Feb 20 10:38:34 2013 (r247021) @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c Wed Feb 20 10:38:34 2013 (r247021) @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/subr_uio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/subr_uio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/subr_uio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,9 +45,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/sys_process.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/sys_process.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/sys_process.c Wed Feb 20 10:38:34 2013 (r247021) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -59,7 +60,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #ifdef COMPAT_FREEBSD32 Modified: user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c Wed Feb 20 10:38:34 2013 (r247021) @@ -79,6 +79,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c Wed Feb 20 10:38:34 2013 (r247021) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c Wed Feb 20 10:38:34 2013 (r247021) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -458,7 +459,7 @@ vfs_buf_test_cache(struct buf *bp, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if (bp->b_flags & B_CACHE) { int base = (foff + off) & PAGE_MASK; if (vm_page_is_valid(m, base, size) == 0) @@ -2533,7 +2534,7 @@ vfs_setdirty_locked_object(struct buf *b int i; object = bp->b_bufobj->bo_object; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); /* * We qualify the scan for modified pages on whether the @@ -3566,7 +3567,7 @@ vfs_drain_busy_pages(struct buf *bp) vm_page_t m; int i, last_busied; - VM_OBJECT_LOCK_ASSERT(bp->b_bufobj->bo_object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_bufobj->bo_object, RA_WLOCKED); last_busied = 0; for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; @@ -3719,7 +3720,7 @@ vfs_bio_clrbuf(struct buf *bp) if (bp->b_pages[0] == bogus_page) goto unlock; mask = (1 << (bp->b_bufsize / DEV_BSIZE)) - 1; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[0]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[0]->object, RA_WLOCKED); if ((bp->b_pages[0]->valid & mask) == mask) goto unlock; if ((bp->b_pages[0]->valid & mask) == 0) { @@ -3738,7 +3739,7 @@ vfs_bio_clrbuf(struct buf *bp) continue; j = ((vm_offset_t)sa & PAGE_MASK) / DEV_BSIZE; mask = ((1 << ((ea - sa) / DEV_BSIZE)) - 1) << j; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, RA_WLOCKED); if ((bp->b_pages[i]->valid & mask) == mask) continue; if ((bp->b_pages[i]->valid & mask) == 0) Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Wed Feb 20 10:38:34 2013 (r247021) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -413,7 +414,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, if (toff + tinc > PAGE_SIZE) tinc = PAGE_SIZE - toff; VM_OBJECT_LOCK_ASSERT(tbp->b_pages[j]->object, - MA_OWNED); + RA_WLOCKED); if ((tbp->b_pages[j]->valid & vm_page_bits(toff, tinc)) != 0) break; @@ -489,7 +490,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, */ VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (j = 0; j < bp->b_npages; j++) { - VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, RA_WLOCKED); if (bp->b_pages[j]->valid == VM_PAGE_BITS_ALL) bp->b_pages[j] = bogus_page; } Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_default.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_default.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_default.c Wed Feb 20 10:38:34 2013 (r247021) @@ -47,8 +47,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c Wed Feb 20 10:38:34 2013 (r247021) @@ -67,6 +67,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c Wed Feb 20 10:38:34 2013 (r247021) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2399,7 +2399,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -2423,7 +2423,7 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2768,7 +2768,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2834,7 +2834,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_D set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -2882,7 +2882,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c Wed Feb 20 10:38:34 2013 (r247021) @@ -87,6 +87,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c Wed Feb 20 10:38:34 2013 (r247021) @@ -37,6 +37,7 @@ #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1293,7 +1293,7 @@ moea_is_modified(mmu_t mmu, vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1333,7 +1333,7 @@ moea_clear_modify(mmu_t mmu, vm_page_t m KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea_clear_modify: page %p is busy", m)); @@ -1368,7 +1368,7 @@ moea_remove_write(mmu_t mmu, vm_page_t m * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1449,7 +1449,7 @@ moea64_is_modified(mmu_t mmu, vm_page_t * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have LPTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1484,7 +1484,7 @@ moea64_clear_modify(mmu_t mmu, vm_page_t KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea64_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea64_clear_modify: page %p is busy", m)); @@ -1517,7 +1517,7 @@ moea64_remove_write(mmu_t mmu, vm_page_t * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1960,7 +1960,7 @@ mmu_booke_remove_write(mmu_t mmu, vm_pag * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2175,7 +2175,7 @@ mmu_booke_is_modified(mmu_t mmu, vm_page * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be modified. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2247,7 +2247,7 @@ mmu_booke_clear_modify(mmu_t mmu, vm_pag KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("mmu_booke_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("mmu_booke_clear_modify: page %p is busy", m)); @@ -2662,7 +2662,7 @@ mmu_booke_object_init_pt(mmu_t mmu, pmap vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("mmu_booke_object_init_pt: non-device object")); } Modified: user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c Wed Feb 20 10:38:34 2013 (r247021) @@ -54,9 +54,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1663,7 +1663,7 @@ pmap_object_init_pt(pmap_t pm, vm_offset vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2061,7 +2061,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no TTEs can have TD_W set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2129,7 +2129,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2184,7 +2184,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c Wed Feb 20 10:38:34 2013 (r247021) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/vm/default_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/default_pager.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/vm/default_pager.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/vm/device_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/device_pager.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/vm/device_pager.c Wed Feb 20 10:38:34 2013 (r247021) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -206,7 +207,7 @@ void cdev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); if (object->type == OBJT_MGTDEVICE) { KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m)); pmap_remove_all(m); @@ -221,7 +222,7 @@ static void dev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT((object->type == OBJT_DEVICE && (m->oflags & VPO_UNMANAGED) != 0), ("Managed device or page obj %p m %p", object, m)); @@ -258,11 +259,11 @@ dev_pager_getpages(vm_object_t object, v { int error, i; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); error = object->un_pager.devp.ops->cdev_pg_fault(object, IDX_TO_OFF(ma[reqpage]->pindex), PROT_READ, &ma[reqpage]); - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); for (i = 0; i < count; i++) { if (i != reqpage) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 10:40:28 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 36AE8118; Wed, 20 Feb 2013 10:40:28 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 28F7A384; Wed, 20 Feb 2013 10:40:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KAeSxe035911; Wed, 20 Feb 2013 10:40:28 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KAeS9a035910; Wed, 20 Feb 2013 10:40:28 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201040.r1KAeS9a035910@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 10:40:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247022 - user/attilio/vmobj-rwlock/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 10:40:28 -0000 Author: attilio Date: Wed Feb 20 10:40:27 2013 New Revision: 247022 URL: http://svnweb.freebsd.org/changeset/base/247022 Log: Remove unused VM_OBJECT_LOCKPTR(). Sponsored by: EMC / Isilon storage division Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 10:38:34 2013 (r247021) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 10:40:27 2013 (r247022) @@ -212,8 +212,6 @@ extern struct vm_object kmem_object_stor rw_init_flags(&(object)->lock, (name), RW_DUPOK) #define VM_OBJECT_LOCKED(object) \ rw_wowned(&(object)->lock) -#define VM_OBJECT_LOCKPTR(object) \ - (&(object)->lock) #define VM_OBJECT_SLEEP(wchan, object, pri, wmesg, timo) \ rw_sleep((wchan), &(object)->lock, (pri), (wmesg), (timo)) #define VM_OBJECT_TRYLOCK(object) \ From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 10:51:36 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 94A197F0; Wed, 20 Feb 2013 10:51:36 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6CE5165D; Wed, 20 Feb 2013 10:51:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KApa5D039312; Wed, 20 Feb 2013 10:51:36 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KApYUs039303; Wed, 20 Feb 2013 10:51:34 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201051.r1KApYUs039303@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 10:51:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247023 - in user/attilio/vmobj-rwlock/sys: amd64/amd64 i386/i386 i386/xen powerpc/aim powerpc/booke sparc64/sparc64 vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 10:51:36 -0000 Author: attilio Date: Wed Feb 20 10:51:34 2013 New Revision: 247023 URL: http://svnweb.freebsd.org/changeset/base/247023 Log: There is no need to use VM_OBJECT_LOCKED() as the assertion won't make the check available in any case if INVARIANTS is switched off. Remove VM_OBJECT_LOCKED(). Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c user/attilio/vmobj-rwlock/sys/vm/vm_object.h Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 10:51:34 2013 (r247023) @@ -3492,9 +3492,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, KASSERT((m->oflags & VPO_UNMANAGED) != 0 || va < kmi.clean_sva || va >= kmi.clean_eva, ("pmap_enter: managed mapping within the clean submap")); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("pmap_enter: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); pa = VM_PAGE_TO_PHYS(m); newpte = (pt_entry_t)(pa | PG_A | PG_V); if ((access & VM_PROT_WRITE) != 0) Modified: user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 10:51:34 2013 (r247023) @@ -3456,9 +3456,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)", va)); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("pmap_enter: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); mpte = NULL; Modified: user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 10:51:34 2013 (r247023) @@ -2666,9 +2666,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)", va)); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("pmap_enter: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); mpte = NULL; Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 10:51:34 2013 (r247023) @@ -1122,9 +1122,8 @@ moea_enter_locked(pmap_t pmap, vm_offset if (pmap_bootstrapped) rw_assert(&pvh_global_lock, RA_WLOCKED); PMAP_LOCK_ASSERT(pmap, MA_OWNED); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("moea_enter_locked: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); /* XXX change the pvo head for fake pages */ if ((m->oflags & VPO_UNMANAGED) != 0) { Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 10:51:34 2013 (r247023) @@ -1184,9 +1184,8 @@ moea64_enter(mmu_t mmu, pmap_t pmap, vm_ pvo_flags = PVO_MANAGED; } - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("moea64_enter: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); /* XXX change the pvo head for fake pages */ if ((m->oflags & VPO_UNMANAGED) != 0) { Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 10:51:34 2013 (r247023) @@ -1561,9 +1561,8 @@ mmu_booke_enter_locked(mmu_t mmu, pmap_t KASSERT((va <= VM_MAXUSER_ADDRESS), ("mmu_booke_enter_locked: user pmap, non user va")); } - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("mmu_booke_enter_locked: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); PMAP_LOCK_ASSERT(pmap, MA_OWNED); Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 10:51:34 2013 (r247023) @@ -1494,9 +1494,8 @@ pmap_enter_locked(pmap_t pm, vm_offset_t rw_assert(&tte_list_global_lock, RA_WLOCKED); PMAP_LOCK_ASSERT(pm, MA_OWNED); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("pmap_enter_locked: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); PMAP_STATS_INC(pmap_nenter); pa = VM_PAGE_TO_PHYS(m); Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 10:40:27 2013 (r247022) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 10:51:34 2013 (r247023) @@ -210,8 +210,6 @@ extern struct vm_object kmem_object_stor rw_assert(&(object)->lock, (type)) #define VM_OBJECT_LOCK_INIT(object, name) \ rw_init_flags(&(object)->lock, (name), RW_DUPOK) -#define VM_OBJECT_LOCKED(object) \ - rw_wowned(&(object)->lock) #define VM_OBJECT_SLEEP(wchan, object, pri, wmesg, timo) \ rw_sleep((wchan), &(object)->lock, (pri), (wmesg), (timo)) #define VM_OBJECT_TRYLOCK(object) \ From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 10:58:43 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2B9A9AF9; Wed, 20 Feb 2013 10:58:43 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1E3586F4; Wed, 20 Feb 2013 10:58:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KAwhXX040259; Wed, 20 Feb 2013 10:58:43 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KAwgb1040258; Wed, 20 Feb 2013 10:58:42 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302201058.r1KAwgb1040258@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 20 Feb 2013 10:58:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247024 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 10:58:43 -0000 Author: ae Date: Wed Feb 20 10:58:42 2013 New Revision: 247024 URL: http://svnweb.freebsd.org/changeset/base/247024 Log: Remove in6_clearscope call. Modified: user/ae/inet6/sys/netinet6/in6_mcast.c Modified: user/ae/inet6/sys/netinet6/in6_mcast.c ============================================================================== --- user/ae/inet6/sys/netinet6/in6_mcast.c Wed Feb 20 10:51:34 2013 (r247023) +++ user/ae/inet6/sys/netinet6/in6_mcast.c Wed Feb 20 10:58:42 2013 (r247024) @@ -330,7 +330,6 @@ im6o_match_source(const struct ip6_mopti psa = (const sockunion_t *)src; find.im6s_addr = psa->sin6.sin6_addr; - in6_clearscope(&find.im6s_addr); /* XXX */ ims = RB_FIND(ip6_msource_tree, &imf->im6f_sources, &find); return ((struct in6_msource *)ims); @@ -1826,8 +1825,7 @@ in6p_join_group(struct inpcb *inp, struc if (mreq.ipv6mr_interface == 0) { ifp = in6p_lookup_mcast_ifp(inp, &gsa->sin6); } else { - if (mreq.ipv6mr_interface < 0 || - V_if_index < mreq.ipv6mr_interface) + if (V_if_index < mreq.ipv6mr_interface) return (EADDRNOTAVAIL); ifp = ifnet_byindex(mreq.ipv6mr_interface); } @@ -1860,7 +1858,7 @@ in6p_join_group(struct inpcb *inp, struc if (IN6_IS_ADDR_MULTICAST(&ssa->sin6.sin6_addr)) return (EINVAL); /* - * TODO: Validate embedded scope ID in source + * XXX: Validate embedded scope ID in source * list entry against passed-in ifp, if and only * if source list filter entry is iface or node local. */ From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 12:03:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E70A3CA6; Wed, 20 Feb 2013 12:03:23 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD469BED; Wed, 20 Feb 2013 12:03:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KC3NLY060835; Wed, 20 Feb 2013 12:03:23 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KC3Kro060814; Wed, 20 Feb 2013 12:03:20 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201203.r1KC3Kro060814@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 12:03:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247031 - in user/attilio/vmobj-rwlock/sys: cddl/contrib/opensolaris/uts/common/fs/zfs compat/linprocfs dev/agp dev/drm2/i915 dev/hwpmc dev/md fs/fuse fs/nfsclient fs/nfsserver fs/procf... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 12:03:24 -0000 Author: attilio Date: Wed Feb 20 12:03:20 2013 New Revision: 247031 URL: http://svnweb.freebsd.org/changeset/base/247031 Log: Rename VM_OBJECT_LOCK(), VM_OBJECT_UNLOCK() and VM_OBJECT_TRYLOCK() to their "write" versions. Sponsored by: EMC / Isilon storage division Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/attilio/vmobj-rwlock/sys/compat/linprocfs/linprocfs.c user/attilio/vmobj-rwlock/sys/dev/agp/agp.c user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c user/attilio/vmobj-rwlock/sys/dev/md/md.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clnode.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvnops.c user/attilio/vmobj-rwlock/sys/fs/nfsserver/nfs_nfsdport.c user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c user/attilio/vmobj-rwlock/sys/kern/kern_exec.c user/attilio/vmobj-rwlock/sys/kern/kern_proc.c user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c user/attilio/vmobj-rwlock/sys/kern/subr_uio.c user/attilio/vmobj-rwlock/sys/kern/sys_process.c user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c user/attilio/vmobj-rwlock/sys/kern/vfs_default.c user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_vnops.c user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c user/attilio/vmobj-rwlock/sys/ofed/drivers/infiniband/core/umem.c user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c user/attilio/vmobj-rwlock/sys/vm/default_pager.c user/attilio/vmobj-rwlock/sys/vm/device_pager.c user/attilio/vmobj-rwlock/sys/vm/phys_pager.c user/attilio/vmobj-rwlock/sys/vm/sg_pager.c user/attilio/vmobj-rwlock/sys/vm/swap_pager.c user/attilio/vmobj-rwlock/sys/vm/uma_core.c user/attilio/vmobj-rwlock/sys/vm/vm_fault.c user/attilio/vmobj-rwlock/sys/vm/vm_glue.c user/attilio/vmobj-rwlock/sys/vm/vm_kern.c user/attilio/vmobj-rwlock/sys/vm/vm_map.c user/attilio/vmobj-rwlock/sys/vm/vm_meter.c user/attilio/vmobj-rwlock/sys/vm/vm_mmap.c user/attilio/vmobj-rwlock/sys/vm/vm_object.c user/attilio/vmobj-rwlock/sys/vm/vm_object.h user/attilio/vmobj-rwlock/sys/vm/vm_page.c user/attilio/vmobj-rwlock/sys/vm/vm_pageout.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.c user/attilio/vmobj-rwlock/sys/vm/vnode_pager.c Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Feb 20 12:03:20 2013 (r247031) @@ -450,7 +450,7 @@ update_pages(vnode_t *vp, int64_t start, ASSERT(obj != NULL); off = start & PAGEOFFSET; - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { vm_page_t pp; int nbytes = imin(PAGESIZE - off, len); @@ -467,23 +467,23 @@ update_pages(vnode_t *vp, int64_t start, ("zfs update_pages: unbusy page in putpages case")); KASSERT(!pmap_page_is_write_mapped(pp), ("zfs update_pages: writable page in putpages case")); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); va = zfs_map_page(pp, &sf); (void) dmu_write(os, oid, start, nbytes, va, tx); zfs_unmap_page(sf); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); vm_page_undirty(pp); } else if ((pp = page_busy(vp, start, off, nbytes)) != NULL) { - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); va = zfs_map_page(pp, &sf); (void) dmu_read(os, oid, start+off, nbytes, va+off, DMU_READ_PREFETCH);; zfs_unmap_page(sf); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); page_unbusy(pp); } len -= nbytes; @@ -491,7 +491,7 @@ update_pages(vnode_t *vp, int64_t start, } if (segflg != UIO_NOCOPY) vm_object_pip_wakeupn(obj, 0); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); } /* @@ -523,7 +523,7 @@ mappedread_sf(vnode_t *vp, int nbytes, u ASSERT(obj != NULL); ASSERT((uio->uio_loffset & PAGEOFFSET) == 0); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); for (start = uio->uio_loffset; len > 0; start += PAGESIZE) { int bytes = MIN(PAGESIZE, len); @@ -531,14 +531,14 @@ mappedread_sf(vnode_t *vp, int nbytes, u VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_IGN_SBUSY); if (pp->valid == 0) { vm_page_io_start(pp); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); va = zfs_map_page(pp, &sf); error = dmu_read(os, zp->z_id, start, bytes, va, DMU_READ_PREFETCH); if (bytes != PAGESIZE && error == 0) bzero(va + bytes, PAGESIZE - bytes); zfs_unmap_page(sf); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); vm_page_io_finish(pp); vm_page_lock(pp); if (error) { @@ -555,7 +555,7 @@ mappedread_sf(vnode_t *vp, int nbytes, u uio->uio_offset += bytes; len -= bytes; } - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); return (error); } @@ -587,7 +587,7 @@ mappedread(vnode_t *vp, int nbytes, uio_ start = uio->uio_loffset; off = start & PAGEOFFSET; - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { vm_page_t pp; uint64_t bytes = MIN(PAGESIZE - off, len); @@ -596,23 +596,23 @@ mappedread(vnode_t *vp, int nbytes, uio_ struct sf_buf *sf; caddr_t va; - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); va = zfs_map_page(pp, &sf); error = uiomove(va + off, bytes, UIO_READ, uio); zfs_unmap_page(sf); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); page_unhold(pp); } else { - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); error = dmu_read_uio(os, zp->z_id, uio, bytes); - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); } len -= bytes; off = 0; if (error) break; } - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); return (error); } @@ -5683,7 +5683,7 @@ zfs_getpages(struct vnode *vp, vm_page_t mfirst = m[reqstart]; mlast = m[reqstart + reqsize - 1]; - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); for (i = 0; i < reqstart; i++) { vm_page_lock(m[i]); @@ -5699,7 +5699,7 @@ zfs_getpages(struct vnode *vp, vm_page_t if (mreq->valid && reqsize == 1) { if (mreq->valid != VM_PAGE_BITS_ALL) vm_page_zero_invalid(mreq, TRUE); - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); ZFS_EXIT(zfsvfs); return (VM_PAGER_OK); } @@ -5715,7 +5715,7 @@ zfs_getpages(struct vnode *vp, vm_page_t vm_page_unlock(m[i]); } } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); ZFS_EXIT(zfsvfs); return (VM_PAGER_BAD); } @@ -5724,7 +5724,7 @@ zfs_getpages(struct vnode *vp, vm_page_t if (IDX_TO_OFF(mlast->pindex) + lsize > object->un_pager.vnp.vnp_size) lsize = object->un_pager.vnp.vnp_size - IDX_TO_OFF(mlast->pindex); - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); for (i = reqstart; i < reqstart + reqsize; i++) { size = PAGE_SIZE; @@ -5740,7 +5740,7 @@ zfs_getpages(struct vnode *vp, vm_page_t break; } - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); for (i = reqstart; i < reqstart + reqsize; i++) { if (!error) @@ -5750,7 +5750,7 @@ zfs_getpages(struct vnode *vp, vm_page_t vm_page_readahead_finish(m[i]); } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); ZFS_ACCESSTIME_STAMP(zfsvfs, zp); ZFS_EXIT(zfsvfs); Modified: user/attilio/vmobj-rwlock/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/compat/linprocfs/linprocfs.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/compat/linprocfs/linprocfs.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1033,9 +1033,9 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) e_end = entry->end; obj = entry->object.vm_object; for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { - VM_OBJECT_LOCK(tobj); + VM_OBJECT_WLOCK(tobj); if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); lobj = tobj; } last_timestamp = map->timestamp; @@ -1051,11 +1051,11 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) else vp = NULL; if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); if (vp) { vn_fullpath(td, vp, &name, &freename); vn_lock(vp, LK_SHARED | LK_RETRY); Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 12:03:20 2013 (r247031) @@ -545,7 +545,7 @@ agp_generic_bind_memory(device_t dev, st * because vm_page_grab() may sleep and we can't hold a mutex * while sleeping. */ - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); for (i = 0; i < mem->am_size; i += PAGE_SIZE) { /* * Find a page from the object and wire it @@ -558,14 +558,14 @@ agp_generic_bind_memory(device_t dev, st VM_ALLOC_WIRED | VM_ALLOC_ZERO | VM_ALLOC_RETRY); AGP_DPF("found page pa=%#jx\n", (uintmax_t)VM_PAGE_TO_PHYS(m)); } - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); mtx_lock(&sc->as_lock); if (mem->am_is_bound) { device_printf(dev, "memory already bound\n"); error = EINVAL; - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); i = 0; goto bad; } @@ -574,7 +574,7 @@ agp_generic_bind_memory(device_t dev, st * Bind the individual pages and flush the chipset's * TLB. */ - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); for (i = 0; i < mem->am_size; i += PAGE_SIZE) { m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(i)); @@ -602,7 +602,7 @@ agp_generic_bind_memory(device_t dev, st } vm_page_wakeup(m); } - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); /* * Flush the cpu cache since we are providing a new mapping @@ -632,7 +632,7 @@ bad: vm_page_unwire(m, 0); vm_page_unlock(m); } - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); return error; } @@ -659,14 +659,14 @@ agp_generic_unbind_memory(device_t dev, */ for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE) AGP_UNBIND_PAGE(dev, mem->am_offset + i); - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); for (i = 0; i < mem->am_size; i += PAGE_SIZE) { m = vm_page_lookup(mem->am_obj, atop(i)); vm_page_lock(m); vm_page_unwire(m, 0); vm_page_unlock(m); } - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); agp_flush_cache(); AGP_FLUSH_TLB(dev); Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1968,10 +1968,10 @@ agp_i810_alloc_memory(device_t dev, int * Allocate and wire down the page now so that we can * get its physical address. */ - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); m = vm_page_grab(mem->am_obj, 0, VM_ALLOC_NOBUSY | VM_ALLOC_WIRED | VM_ALLOC_ZERO | VM_ALLOC_RETRY); - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); mem->am_physical = VM_PAGE_TO_PHYS(m); } else { /* Our allocation is already nicely wired down for us. @@ -2006,12 +2006,12 @@ agp_i810_free_memory(device_t dev, struc /* * Unwire the page which we wired in alloc_memory. */ - VM_OBJECT_LOCK(mem->am_obj); + VM_OBJECT_WLOCK(mem->am_obj); m = vm_page_lookup(mem->am_obj, 0); vm_page_lock(m); vm_page_unwire(m, 0); vm_page_unlock(m); - VM_OBJECT_UNLOCK(mem->am_obj); + VM_OBJECT_WUNLOCK(mem->am_obj); } else { contigfree(sc->argb_cursor, mem->am_size, M_AGP); sc->argb_cursor = NULL; Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 12:03:20 2013 (r247031) @@ -990,14 +990,14 @@ i915_gem_swap_io(struct drm_device *dev, vm_obj = obj->base.vm_obj; ret = 0; - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); vm_object_pip_add(vm_obj, 1); while (size > 0) { obj_pi = OFF_TO_IDX(offset); obj_po = offset & PAGE_MASK; m = i915_gem_wire_page(vm_obj, obj_pi); - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); sched_pin(); sf = sf_buf_alloc(m, SFB_CPUPRIVATE); @@ -1031,7 +1031,7 @@ i915_gem_swap_io(struct drm_device *dev, } sf_buf_free(sf); sched_unpin(); - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); if (rw == UIO_WRITE) vm_page_dirty(m); vm_page_reference(m); @@ -1044,7 +1044,7 @@ i915_gem_swap_io(struct drm_device *dev, break; } vm_object_pip_wakeup(vm_obj); - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); return (ret); } @@ -1357,7 +1357,7 @@ i915_gem_pager_fault(vm_object_t vm_obj, } else oldm = NULL; retry: - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); unlocked_vmobj: cause = ret = 0; m = NULL; @@ -1407,7 +1407,7 @@ unlocked_vmobj: list_move_tail(&obj->mm_list, &dev_priv->mm.inactive_list); obj->fault_mappable = true; - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); m = vm_phys_fictitious_to_vm_page(dev->agp->base + obj->gtt_offset + offset); if (m == NULL) { @@ -1452,7 +1452,7 @@ out: kern_yield(PRI_USER); goto unlocked_vmobj; } - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); vm_object_pip_wakeup(vm_obj); return (VM_PAGER_ERROR); } @@ -2208,12 +2208,12 @@ i915_gem_object_get_pages_gtt(struct drm obj->pages = malloc(page_count * sizeof(vm_page_t), DRM_I915_GEM, M_WAITOK); vm_obj = obj->base.vm_obj; - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); for (i = 0; i < page_count; i++) { if ((obj->pages[i] = i915_gem_wire_page(vm_obj, i)) == NULL) goto failed; } - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); if (i915_gem_object_needs_bit17_swizzle(obj)) i915_gem_object_do_bit_17_swizzle(obj); return (0); @@ -2226,7 +2226,7 @@ failed: vm_page_unlock(m); atomic_add_long(&i915_gem_wired_pages_cnt, -1); } - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); free(obj->pages, DRM_I915_GEM); obj->pages = NULL; return (-EIO); @@ -2272,7 +2272,7 @@ i915_gem_object_put_pages_gtt(struct drm if (obj->madv == I915_MADV_DONTNEED) obj->dirty = 0; page_count = obj->base.size / PAGE_SIZE; - VM_OBJECT_LOCK(obj->base.vm_obj); + VM_OBJECT_WLOCK(obj->base.vm_obj); #if GEM_PARANOID_CHECK_GTT i915_gem_assert_pages_not_mapped(obj->base.dev, obj->pages, page_count); #endif @@ -2287,7 +2287,7 @@ i915_gem_object_put_pages_gtt(struct drm vm_page_unlock(m); atomic_add_long(&i915_gem_wired_pages_cnt, -1); } - VM_OBJECT_UNLOCK(obj->base.vm_obj); + VM_OBJECT_WUNLOCK(obj->base.vm_obj); obj->dirty = 0; free(obj->pages, DRM_I915_GEM); obj->pages = NULL; @@ -2309,7 +2309,7 @@ i915_gem_release_mmap(struct drm_i915_ge if (devobj != NULL) { page_count = OFF_TO_IDX(obj->base.size); - VM_OBJECT_LOCK(devobj); + VM_OBJECT_WLOCK(devobj); retry: for (i = 0; i < page_count; i++) { m = vm_page_lookup(devobj, i); @@ -2319,7 +2319,7 @@ retry: goto retry; cdev_pager_free_page(devobj, m); } - VM_OBJECT_UNLOCK(devobj); + VM_OBJECT_WUNLOCK(devobj); vm_object_deallocate(devobj); } @@ -2437,9 +2437,9 @@ i915_gem_object_truncate(struct drm_i915 vm_object_t vm_obj; vm_obj = obj->base.vm_obj; - VM_OBJECT_LOCK(vm_obj); + VM_OBJECT_WLOCK(vm_obj); vm_object_page_remove(vm_obj, 0, 0, false); - VM_OBJECT_UNLOCK(vm_obj); + VM_OBJECT_WUNLOCK(vm_obj); obj->madv = I915_MADV_PURGED_INTERNAL; } @@ -3567,13 +3567,13 @@ i915_gem_detach_phys_object(struct drm_d vaddr = obj->phys_obj->handle->vaddr; page_count = obj->base.size / PAGE_SIZE; - VM_OBJECT_LOCK(obj->base.vm_obj); + VM_OBJECT_WLOCK(obj->base.vm_obj); for (i = 0; i < page_count; i++) { m = i915_gem_wire_page(obj->base.vm_obj, i); if (m == NULL) continue; /* XXX */ - VM_OBJECT_UNLOCK(obj->base.vm_obj); + VM_OBJECT_WUNLOCK(obj->base.vm_obj); sf = sf_buf_alloc(m, 0); if (sf != NULL) { dst = (char *)sf_buf_kva(sf); @@ -3582,7 +3582,7 @@ i915_gem_detach_phys_object(struct drm_d } drm_clflush_pages(&m, 1); - VM_OBJECT_LOCK(obj->base.vm_obj); + VM_OBJECT_WLOCK(obj->base.vm_obj); vm_page_reference(m); vm_page_lock(m); vm_page_dirty(m); @@ -3590,7 +3590,7 @@ i915_gem_detach_phys_object(struct drm_d vm_page_unlock(m); atomic_add_long(&i915_gem_wired_pages_cnt, -1); } - VM_OBJECT_UNLOCK(obj->base.vm_obj); + VM_OBJECT_WUNLOCK(obj->base.vm_obj); intel_gtt_chipset_flush(); obj->phys_obj->cur_obj = NULL; @@ -3632,7 +3632,7 @@ i915_gem_attach_phys_object(struct drm_d page_count = obj->base.size / PAGE_SIZE; - VM_OBJECT_LOCK(obj->base.vm_obj); + VM_OBJECT_WLOCK(obj->base.vm_obj); ret = 0; for (i = 0; i < page_count; i++) { m = i915_gem_wire_page(obj->base.vm_obj, i); @@ -3640,14 +3640,14 @@ i915_gem_attach_phys_object(struct drm_d ret = -EIO; break; } - VM_OBJECT_UNLOCK(obj->base.vm_obj); + VM_OBJECT_WUNLOCK(obj->base.vm_obj); sf = sf_buf_alloc(m, 0); src = (char *)sf_buf_kva(sf); dst = (char *)obj->phys_obj->handle->vaddr + IDX_TO_OFF(i); memcpy(dst, src, PAGE_SIZE); sf_buf_free(sf); - VM_OBJECT_LOCK(obj->base.vm_obj); + VM_OBJECT_WLOCK(obj->base.vm_obj); vm_page_reference(m); vm_page_lock(m); @@ -3655,7 +3655,7 @@ i915_gem_attach_phys_object(struct drm_d vm_page_unlock(m); atomic_add_long(&i915_gem_wired_pages_cnt, -1); } - VM_OBJECT_UNLOCK(obj->base.vm_obj); + VM_OBJECT_WUNLOCK(obj->base.vm_obj); return (0); } Modified: user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1672,7 +1672,7 @@ pmc_log_process_mappings(struct pmc_owne } obj = entry->object.vm_object; - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); /* * Walk the backing_object list to find the base @@ -1680,9 +1680,9 @@ pmc_log_process_mappings(struct pmc_owne */ for (lobj = tobj = obj; tobj != NULL; tobj = tobj->backing_object) { if (tobj != obj) - VM_OBJECT_LOCK(tobj); + VM_OBJECT_WLOCK(tobj); if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); lobj = tobj; } @@ -1692,14 +1692,14 @@ pmc_log_process_mappings(struct pmc_owne if (lobj == NULL) { PMCDBG(LOG,OPS,2, "hwpmc: lobj unexpectedly NULL! pid=%d " "vm_map=%p vm_obj=%p\n", p->p_pid, map, obj); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); continue; } if (lobj->type != OBJT_VNODE || lobj->handle == NULL) { if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(lobj); + VM_OBJECT_WUNLOCK(obj); continue; } @@ -1711,8 +1711,8 @@ pmc_log_process_mappings(struct pmc_owne if (entry->start == last_end && lobj->handle == last_vp) { last_end = entry->end; if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(lobj); + VM_OBJECT_WUNLOCK(obj); continue; } @@ -1734,9 +1734,9 @@ pmc_log_process_mappings(struct pmc_owne vp = lobj->handle; vref(vp); if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); freepath = NULL; pmc_getfilename(vp, &fullpath, &freepath); Modified: user/attilio/vmobj-rwlock/sys/dev/md/md.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 12:03:20 2013 (r247031) @@ -658,17 +658,17 @@ mdstart_swap(struct md_s *sc, struct bio lastend = (bp->bio_offset + bp->bio_length - 1) % PAGE_SIZE + 1; rv = VM_PAGER_OK; - VM_OBJECT_LOCK(sc->object); + VM_OBJECT_WLOCK(sc->object); vm_object_pip_add(sc->object, 1); for (i = bp->bio_offset / PAGE_SIZE; i <= lastp; i++) { len = ((i == lastp) ? lastend : PAGE_SIZE) - offs; m = vm_page_grab(sc->object, i, VM_ALLOC_NORMAL|VM_ALLOC_RETRY); - VM_OBJECT_UNLOCK(sc->object); + VM_OBJECT_WUNLOCK(sc->object); sched_pin(); sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - VM_OBJECT_LOCK(sc->object); + VM_OBJECT_WLOCK(sc->object); if (bp->bio_cmd == BIO_READ) { if (m->valid != VM_PAGE_BITS_ALL) rv = vm_pager_get_pages(sc->object, &m, 1, 0); @@ -733,7 +733,7 @@ mdstart_swap(struct md_s *sc, struct bio offs = 0; } vm_object_pip_subtract(sc->object, 1); - VM_OBJECT_UNLOCK(sc->object); + VM_OBJECT_WUNLOCK(sc->object); return (rv != VM_PAGER_ERROR ? 0 : ENOSPC); } @@ -1069,7 +1069,7 @@ mdresize(struct md_s *sc, struct md_ioct oldpages = OFF_TO_IDX(round_page(sc->mediasize)); newpages = OFF_TO_IDX(round_page(mdio->md_mediasize)); if (newpages < oldpages) { - VM_OBJECT_LOCK(sc->object); + VM_OBJECT_WLOCK(sc->object); vm_object_page_remove(sc->object, newpages, 0, 0); swap_pager_freespace(sc->object, newpages, oldpages - newpages); @@ -1077,7 +1077,7 @@ mdresize(struct md_s *sc, struct md_ioct newpages), sc->cred); sc->object->charge = IDX_TO_OFF(newpages); sc->object->size = newpages; - VM_OBJECT_UNLOCK(sc->object); + VM_OBJECT_WUNLOCK(sc->object); } else if (newpages > oldpages) { res = swap_reserve_by_cred(IDX_TO_OFF(newpages - oldpages), sc->cred); @@ -1094,10 +1094,10 @@ mdresize(struct md_s *sc, struct md_ioct return (EDOM); } } - VM_OBJECT_LOCK(sc->object); + VM_OBJECT_WLOCK(sc->object); sc->object->charge = IDX_TO_OFF(newpages); sc->object->size = newpages; - VM_OBJECT_UNLOCK(sc->object); + VM_OBJECT_WUNLOCK(sc->object); } break; default: Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 12:03:20 2013 (r247031) @@ -786,9 +786,9 @@ fuse_io_invalbuf(struct vnode *vp, struc fvdat->flag |= FN_FLUSHINPROG; if (vp->v_bufobj.bo_object != NULL) { - VM_OBJECT_LOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WLOCK(vp->v_bufobj.bo_object); vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WUNLOCK(vp->v_bufobj.bo_object); } error = vinvalbuf(vp, V_SAVE, PCATCH, 0); while (error) { Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1758,7 +1758,7 @@ fuse_vnop_getpages(struct vop_getpages_a * can only occur at the file EOF. */ - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); fuse_vm_page_lock_queues(); if (pages[ap->a_reqpage]->valid != 0) { for (i = 0; i < npages; ++i) { @@ -1769,11 +1769,11 @@ fuse_vnop_getpages(struct vop_getpages_a } } fuse_vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); return 0; } fuse_vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); /* * We use only the kva address for the buffer, but this is extremely @@ -1803,7 +1803,7 @@ fuse_vnop_getpages(struct vop_getpages_a if (error && (uio.uio_resid == count)) { FS_DEBUG("error %d\n", error); - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); fuse_vm_page_lock_queues(); for (i = 0; i < npages; ++i) { if (i != ap->a_reqpage) { @@ -1813,7 +1813,7 @@ fuse_vnop_getpages(struct vop_getpages_a } } fuse_vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); return VM_PAGER_ERROR; } /* @@ -1823,7 +1823,7 @@ fuse_vnop_getpages(struct vop_getpages_a */ size = count - uio.uio_resid; - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); fuse_vm_page_lock_queues(); for (i = 0, toff = 0; i < npages; i++, toff = nextoff) { vm_page_t m; @@ -1886,7 +1886,7 @@ fuse_vnop_getpages(struct vop_getpages_a } } fuse_vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); return 0; } @@ -1975,9 +1975,9 @@ fuse_vnop_putpages(struct vop_putpages_a for (i = 0; i < nwritten; i++) { rtvals[i] = VM_PAGER_OK; - VM_OBJECT_LOCK(pages[i]->object); + VM_OBJECT_WLOCK(pages[i]->object); vm_page_undirty(pages[i]); - VM_OBJECT_UNLOCK(pages[i]->object); + VM_OBJECT_WUNLOCK(pages[i]->object); } } return rtvals[0]; Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 12:03:20 2013 (r247031) @@ -135,7 +135,7 @@ ncl_getpages(struct vop_getpages_args *a * allow the pager to zero-out the blanks. Partially valid pages * can only occur at the file EOF. */ - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); if (pages[ap->a_reqpage]->valid != 0) { for (i = 0; i < npages; ++i) { if (i != ap->a_reqpage) { @@ -144,10 +144,10 @@ ncl_getpages(struct vop_getpages_args *a vm_page_unlock(pages[i]); } } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return (0); } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); /* * We use only the kva address for the buffer, but this is extremely @@ -177,7 +177,7 @@ ncl_getpages(struct vop_getpages_args *a if (error && (uio.uio_resid == count)) { ncl_printf("nfs_getpages: error %d\n", error); - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); for (i = 0; i < npages; ++i) { if (i != ap->a_reqpage) { vm_page_lock(pages[i]); @@ -185,7 +185,7 @@ ncl_getpages(struct vop_getpages_args *a vm_page_unlock(pages[i]); } } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return (VM_PAGER_ERROR); } @@ -196,7 +196,7 @@ ncl_getpages(struct vop_getpages_args *a */ size = count - uio.uio_resid; - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); for (i = 0, toff = 0; i < npages; i++, toff = nextoff) { vm_page_t m; nextoff = toff + PAGE_SIZE; @@ -232,7 +232,7 @@ ncl_getpages(struct vop_getpages_args *a if (i != ap->a_reqpage) vm_page_readahead_finish(m); } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return (0); } @@ -1354,9 +1354,9 @@ ncl_vinvalbuf(struct vnode *vp, int flag * Now, flush as required. */ if ((flags & V_SAVE) && (vp->v_bufobj.bo_object != NULL)) { - VM_OBJECT_LOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WLOCK(vp->v_bufobj.bo_object); vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WUNLOCK(vp->v_bufobj.bo_object); /* * If the page clean was interrupted, fail the invalidation. * Not doing so, we run the risk of losing dirty pages in the Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clnode.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clnode.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clnode.c Wed Feb 20 12:03:20 2013 (r247031) @@ -216,10 +216,10 @@ ncl_inactive(struct vop_inactive_args *a * stateid is available for the writes. */ if (vp->v_object != NULL) { - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); retv = vm_object_page_clean(vp->v_object, 0, 0, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); } else retv = TRUE; if (retv == TRUE) { Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvnops.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvnops.c Wed Feb 20 12:03:20 2013 (r247031) @@ -697,9 +697,9 @@ nfs_close(struct vop_close_args *ap) * mmap'ed writes or via write(). */ if (nfs_clean_pages_on_close && vp->v_object) { - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); vm_object_page_clean(vp->v_object, 0, 0, 0); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); } mtx_lock(&np->n_mtx); if (np->n_flag & NMODIFIED) { Modified: user/attilio/vmobj-rwlock/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsserver/nfs_nfsdport.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/nfsserver/nfs_nfsdport.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1267,9 +1267,9 @@ nfsvno_fsync(struct vnode *vp, u_int64_t */ if (vp->v_object && (vp->v_object->flags & OBJ_MIGHTBEDIRTY)) { - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); vm_object_page_clean(vp->v_object, 0, 0, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); } error = VOP_FSYNC(vp, MNT_WAIT, td); } else { @@ -1298,10 +1298,10 @@ nfsvno_fsync(struct vnode *vp, u_int64_t if (vp->v_object && (vp->v_object->flags & OBJ_MIGHTBEDIRTY)) { - VM_OBJECT_LOCK(vp->v_object); + VM_OBJECT_WLOCK(vp->v_object); vm_object_page_clean(vp->v_object, off, off + cnt, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_object); + VM_OBJECT_WUNLOCK(vp->v_object); } bo = &vp->v_bufobj; Modified: user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 12:03:20 2013 (r247031) @@ -132,7 +132,7 @@ procfs_doprocmap(PFS_FILL_ARGS) privateresident = 0; obj = entry->object.vm_object; if (obj != NULL) { - VM_OBJECT_LOCK(obj); + VM_OBJECT_WLOCK(obj); if (obj->shadow_count == 1) privateresident = obj->resident_page_count; } @@ -148,9 +148,9 @@ procfs_doprocmap(PFS_FILL_ARGS) for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { if (tobj != obj) - VM_OBJECT_LOCK(tobj); + VM_OBJECT_WLOCK(tobj); if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); lobj = tobj; } last_timestamp = map->timestamp; @@ -181,12 +181,12 @@ procfs_doprocmap(PFS_FILL_ARGS) break; } if (lobj != obj) - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_WUNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(obj); + VM_OBJECT_WUNLOCK(obj); if (vp != NULL) { vn_fullpath(td, vp, &fullpath, &freepath); vrele(vp); Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 12:03:20 2013 (r247031) @@ -1272,7 +1272,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t tmpfs_pages_check_avail(tmp, newpages - oldpages) == 0) return (ENOSPC); - VM_OBJECT_LOCK(uobj); + VM_OBJECT_WLOCK(uobj); if (newsize < oldsize) { /* * Zero the truncated part of the last page. @@ -1292,9 +1292,9 @@ retry: } else if (vm_pager_has_page(uobj, idx, NULL, NULL)) { m = vm_page_alloc(uobj, idx, VM_ALLOC_NORMAL); if (m == NULL) { - VM_OBJECT_UNLOCK(uobj); + VM_OBJECT_WUNLOCK(uobj); VM_WAIT; - VM_OBJECT_LOCK(uobj); + VM_OBJECT_WLOCK(uobj); goto retry; } else if (m->valid != VM_PAGE_BITS_ALL) { ma[0] = m; @@ -1314,7 +1314,7 @@ retry: if (ignerr) m = NULL; else { - VM_OBJECT_UNLOCK(uobj); + VM_OBJECT_WUNLOCK(uobj); return (EIO); } } @@ -1336,7 +1336,7 @@ retry: } } uobj->size = newpages; - VM_OBJECT_UNLOCK(uobj); + VM_OBJECT_WUNLOCK(uobj); TMPFS_LOCK(tmp); tmp->tm_pages_used += (newpages - oldpages); Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 11:24:11 2013 (r247030) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 12:03:20 2013 (r247031) @@ -447,7 +447,7 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p vm_page_t m; int error, rv; - VM_OBJECT_LOCK(tobj); + VM_OBJECT_WLOCK(tobj); m = vm_page_grab(tobj, idx, VM_ALLOC_WIRED | VM_ALLOC_NORMAL | VM_ALLOC_RETRY); if (m->valid != VM_PAGE_BITS_ALL) { @@ -457,20 +457,20 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p vm_page_lock(m); vm_page_free(m); vm_page_unlock(m); - VM_OBJECT_UNLOCK(tobj); + VM_OBJECT_WUNLOCK(tobj); return (EIO); } } else vm_page_zero_invalid(m, TRUE); } - VM_OBJECT_UNLOCK(tobj); + VM_OBJECT_WUNLOCK(tobj); error = uiomove_fromphys(&m, offset, tlen, uio); - VM_OBJECT_LOCK(tobj); + VM_OBJECT_WLOCK(tobj); vm_page_lock(m); vm_page_unwire(m, TRUE); vm_page_unlock(m); vm_page_wakeup(m); - VM_OBJECT_UNLOCK(tobj); + VM_OBJECT_WUNLOCK(tobj); return (error); } @@ -513,7 +513,7 @@ tmpfs_mappedread(vm_object_t vobj, vm_ob offset = addr & PAGE_MASK; tlen = MIN(PAGE_SIZE - offset, len); - VM_OBJECT_LOCK(vobj); + VM_OBJECT_WLOCK(vobj); lookupvpg: if (((m = vm_page_lookup(vobj, idx)) != NULL) && vm_page_is_valid(m, offset, tlen)) { @@ -527,11 +527,11 @@ lookupvpg: goto lookupvpg; } vm_page_busy(m); - VM_OBJECT_UNLOCK(vobj); + VM_OBJECT_WUNLOCK(vobj); error = uiomove_fromphys(&m, offset, tlen, uio); - VM_OBJECT_LOCK(vobj); + VM_OBJECT_WLOCK(vobj); vm_page_wakeup(m); - VM_OBJECT_UNLOCK(vobj); + VM_OBJECT_WUNLOCK(vobj); return (error); } else if (m != NULL && uio->uio_segflg == UIO_NOCOPY) { KASSERT(offset == 0, @@ -546,7 +546,7 @@ lookupvpg: goto lookupvpg; } vm_page_busy(m); - VM_OBJECT_UNLOCK(vobj); + VM_OBJECT_WUNLOCK(vobj); sched_pin(); sf = sf_buf_alloc(m, SFB_CPUPRIVATE); ma = (char *)sf_buf_kva(sf); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 12:06:34 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4E20EDF4; Wed, 20 Feb 2013 12:06:34 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2AD9CC13; Wed, 20 Feb 2013 12:06:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KC6YEZ061410; Wed, 20 Feb 2013 12:06:34 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KC6YAB061409; Wed, 20 Feb 2013 12:06:34 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201206.r1KC6YAB061409@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 12:06:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247032 - user/attilio/vmobj-rwlock/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 12:06:34 -0000 Author: attilio Date: Wed Feb 20 12:06:33 2013 New Revision: 247032 URL: http://svnweb.freebsd.org/changeset/base/247032 Log: Add read mode operations to VM_OBJECT_LOCK* class of functions. Sponsored by: EMC / Isilon storage division Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 12:03:20 2013 (r247031) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h Wed Feb 20 12:06:33 2013 (r247032) @@ -208,8 +208,14 @@ extern struct vm_object kmem_object_stor rw_assert(&(object)->lock, (type)) #define VM_OBJECT_LOCK_INIT(object, name) \ rw_init_flags(&(object)->lock, (name), RW_DUPOK) +#define VM_OBJECT_RLOCK(object) \ + rw_rlock(&(object)->lock) +#define VM_OBJECT_RUNLOCK(object) \ + rw_runlock(&(object)->lock) #define VM_OBJECT_SLEEP(wchan, object, pri, wmesg, timo) \ rw_sleep((wchan), &(object)->lock, (pri), (wmesg), (timo)) +#define VM_OBJECT_TRYRLOCK(object) \ + rw_try_rlock(&(object)->lock) #define VM_OBJECT_TRYWLOCK(object) \ rw_try_wlock(&(object)->lock) #define VM_OBJECT_WLOCK(object) \ From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 14:20:00 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 96023929; Wed, 20 Feb 2013 14:20:00 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 897AD753; Wed, 20 Feb 2013 14:20:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KEK03J001332; Wed, 20 Feb 2013 14:20:00 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KEK07K001331; Wed, 20 Feb 2013 14:20:00 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302201420.r1KEK07K001331@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 20 Feb 2013 14:20:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247038 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 14:20:00 -0000 Author: ae Date: Wed Feb 20 14:19:59 2013 New Revision: 247038 URL: http://svnweb.freebsd.org/changeset/base/247038 Log: Do not use embedded zone ids. Modified: user/ae/inet6/sys/netinet6/ip6_forward.c Modified: user/ae/inet6/sys/netinet6/ip6_forward.c ============================================================================== --- user/ae/inet6/sys/netinet6/ip6_forward.c Wed Feb 20 14:19:09 2013 (r247037) +++ user/ae/inet6/sys/netinet6/ip6_forward.c Wed Feb 20 14:19:59 2013 (r247038) @@ -357,6 +357,14 @@ again: dst->sin6_len = sizeof(struct sockaddr_in6); dst->sin6_family = AF_INET6; dst->sin6_addr = ip6->ip6_dst; + /* + * The next-hop interface is chosen by looking up the destination + * address in a routing table specific to that zone. + * That routing table is restricted to refer to interfaces belonging + * to that zone. + */ + dst->sin6_scope_id = in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&ip6->ip6_dst)); again2: rin6.ro_rt = in6_rtalloc1((struct sockaddr *)dst, 0, 0, M_GETFIB(m)); if (rin6.ro_rt != NULL) @@ -376,27 +384,25 @@ skip_routing: #endif /* - * Source scope check: if a packet can't be delivered to its - * destination for the reason that the destination is beyond the scope - * of the source address, discard the packet and return an icmp6 - * destination unreachable error with Code 2 (beyond scope of source - * address). We use a local copy of ip6_src, since in6_setscope() - * will possibly modify its first argument. - * [draft-ietf-ipngwg-icmp-v3-04.txt, Section 3.1] + * RFC 4007: + * If transmitting the packet on the chosen next-hop interface + * would cause the packet to leave the zone of the source address, + * i.e., cross a zone boundary of the scope of the source address, + * then the packet is discarded. Additionally, if the packet's + * destination address is a unicast address, an ICMP destination + * Unreachable message with Code 2 ("beyond scope of source address") + * is sent to the source of the original packet. + * + * If a router receives a packet with a link-local destination + * address that is not one of the router's own link-local addresses + * on the arrival link, the router is expected to try to forward + * the packet to the destination on that link. */ - src_in6 = ip6->ip6_src; - if (in6_setscope(&src_in6, rt->rt_ifp, &outzone)) { - /* XXX: this should not happen */ - V_ip6stat.ip6s_cantforward++; - V_ip6stat.ip6s_badscope++; - goto bad; - } - if (in6_setscope(&src_in6, m->m_pkthdr.rcvif, &inzone)) { - V_ip6stat.ip6s_cantforward++; - V_ip6stat.ip6s_badscope++; - goto bad; - } - if (inzone != outzone + srcscope = in6_addrscope(&ip6->ip6_src); + dstscope = in6_addrscope(&ip6->ip6_dst); + if (dstscope != IPV6_ADDR_SCOPE_LINKLOCAL && + in6_getscopezone(m->m_pkthdr.rcvif, srcscope) != + in6_getscopezone(rt->rt_ifp, dstscope) #ifdef IPSEC && !ipsecrt #endif @@ -421,22 +427,6 @@ skip_routing: goto bad; } - /* - * Destination scope check: if a packet is going to break the scope - * zone of packet's destination address, discard it. This case should - * usually be prevented by appropriately-configured routing table, but - * we need an explicit check because we may mistakenly forward the - * packet to a different zone by (e.g.) a default route. - */ - dst_in6 = ip6->ip6_dst; - if (in6_setscope(&dst_in6, m->m_pkthdr.rcvif, &inzone) != 0 || - in6_setscope(&dst_in6, rt->rt_ifp, &outzone) != 0 || - inzone != outzone) { - V_ip6stat.ip6s_cantforward++; - V_ip6stat.ip6s_badscope++; - goto bad; - } - if (m->m_pkthdr.len > IN6_LINKMTU(rt->rt_ifp)) { in6_ifstat_inc(rt->rt_ifp, ifs6_in_toobig); if (mcopy) { @@ -549,12 +539,6 @@ skip_routing: } else origifp = rt->rt_ifp; - /* - * clear embedded scope identifiers if necessary. - * in6_clearscope will touch the addresses only when necessary. - */ - in6_clearscope(&ip6->ip6_src); - in6_clearscope(&ip6->ip6_dst); /* Jump over all PFIL processing if hooks are not active. */ if (!PFIL_HOOKED(&V_inet6_pfil_hook)) From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 14:22:12 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id F18A3A6D; Wed, 20 Feb 2013 14:22:12 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DA3CE770; Wed, 20 Feb 2013 14:22:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KEMCfk003273; Wed, 20 Feb 2013 14:22:12 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KEMC7R003272; Wed, 20 Feb 2013 14:22:12 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201302201422.r1KEMC7R003272@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 20 Feb 2013 14:22:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247039 - user/ae/inet6/sys/netinet6 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 14:22:13 -0000 Author: ae Date: Wed Feb 20 14:22:12 2013 New Revision: 247039 URL: http://svnweb.freebsd.org/changeset/base/247039 Log: Rename variables that were missed in the last commit. Modified: user/ae/inet6/sys/netinet6/ip6_forward.c Modified: user/ae/inet6/sys/netinet6/ip6_forward.c ============================================================================== --- user/ae/inet6/sys/netinet6/ip6_forward.c Wed Feb 20 14:19:59 2013 (r247038) +++ user/ae/inet6/sys/netinet6/ip6_forward.c Wed Feb 20 14:22:12 2013 (r247039) @@ -99,7 +99,7 @@ ip6_forward(struct mbuf *m, int srcrt) int error, type = 0, code = 0; struct mbuf *mcopy = NULL; struct ifnet *origifp; /* maybe unnecessary */ - u_int32_t inzone, outzone; + int srcscope, dstscope; struct in6_addr src_in6, dst_in6, odst; #ifdef IPSEC struct secpolicy *sp = NULL; From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 14:26:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 51C8DC18; Wed, 20 Feb 2013 14:26:59 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 401B07AF; Wed, 20 Feb 2013 14:26:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KEQx29003935; Wed, 20 Feb 2013 14:26:59 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KEQt8s003908; Wed, 20 Feb 2013 14:26:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201302201426.r1KEQt8s003908@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 20 Feb 2013 14:26:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247040 - in user/ed/newcons: . bin/cat bin/cp bin/date bin/df bin/ln bin/ls bin/ps bin/pwait bin/setfacl bin/sh bin/test cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/z... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 14:26:59 -0000 Author: nwhitehorn Date: Wed Feb 20 14:26:51 2013 New Revision: 247040 URL: http://svnweb.freebsd.org/changeset/base/247040 Log: IFC @ 247036 Added: user/ed/newcons/contrib/bind9/lib/dns/opensslecdsa_link.c - copied unchanged from r247036, head/contrib/bind9/lib/dns/opensslecdsa_link.c user/ed/newcons/contrib/bmake/Makefile - copied unchanged from r247036, head/contrib/bmake/Makefile user/ed/newcons/contrib/bmake/Makefile.config.in - copied unchanged from r247036, head/contrib/bmake/Makefile.config.in user/ed/newcons/contrib/bmake/makefile.in - copied unchanged from r247036, head/contrib/bmake/makefile.in user/ed/newcons/contrib/bmake/mk/ - copied from r247036, head/contrib/bmake/mk/ user/ed/newcons/contrib/dialog/samples/dselect - copied unchanged from r247036, head/contrib/dialog/samples/dselect user/ed/newcons/contrib/dialog/samples/valgrind.log - copied unchanged from r247036, head/contrib/dialog/samples/valgrind.log - copied from r247036, head/contrib/ldns/ user/ed/newcons/contrib/libc-vis/ - copied from r247036, head/contrib/libc-vis/ user/ed/newcons/contrib/libcxxrt/atomic.h - copied unchanged from r247036, head/contrib/libcxxrt/atomic.h user/ed/newcons/contrib/llvm/include/llvm/ADT/MapVector.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/ADT/MapVector.h user/ed/newcons/contrib/llvm/include/llvm/AddressingMode.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/AddressingMode.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/CommandFlags.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/CodeGen/CommandFlags.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h user/ed/newcons/contrib/llvm/include/llvm/DataLayout.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/DataLayout.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h user/ed/newcons/contrib/llvm/include/llvm/Object/RelocVisitor.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Object/RelocVisitor.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetTransformImpl.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Target/TargetTransformImpl.h user/ed/newcons/contrib/llvm/include/llvm/TargetTransformInfo.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/TargetTransformInfo.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h - copied unchanged from r247036, head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h user/ed/newcons/contrib/llvm/lib/Analysis/CostModel.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Analysis/CostModel.cpp user/ed/newcons/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp - copied unchanged from r247036, head/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/StackColoring.cpp - copied unchanged from r247036, head/contrib/llvm/lib/CodeGen/StackColoring.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/TargetSchedule.cpp - copied unchanged from r247036, head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp - copied unchanged from r247036, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h - copied unchanged from r247036, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h - copied unchanged from r247036, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h - copied unchanged from r247036, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h - copied unchanged from r247036, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td user/ed/newcons/contrib/llvm/lib/Target/TargetTransformImpl.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Target/TargetTransformImpl.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrTSX.td - copied unchanged from r247036, head/contrib/llvm/lib/Target/X86/X86InstrTSX.td user/ed/newcons/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/SROA.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp - copied unchanged from r247036, head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp user/ed/newcons/contrib/llvm/lib/VMCore/AttributesImpl.h - copied unchanged from r247036, head/contrib/llvm/lib/VMCore/AttributesImpl.h user/ed/newcons/contrib/llvm/lib/VMCore/DataLayout.cpp - copied unchanged from r247036, head/contrib/llvm/lib/VMCore/DataLayout.cpp user/ed/newcons/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp - copied unchanged from r247036, head/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ - copied from r247036, head/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ - copied from r247036, head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/Core/ - copied from r247036, head/contrib/llvm/tools/clang/lib/Rewrite/Core/ user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ - copied from r247036, head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp - copied unchanged from r247036, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp user/ed/newcons/contrib/llvm/tools/lli/RecordingMemoryManager.cpp - copied unchanged from r247036, head/contrib/llvm/tools/lli/RecordingMemoryManager.cpp user/ed/newcons/contrib/llvm/tools/lli/RecordingMemoryManager.h - copied unchanged from r247036, head/contrib/llvm/tools/lli/RecordingMemoryManager.h user/ed/newcons/contrib/llvm/tools/lli/RemoteTarget.cpp - copied unchanged from r247036, head/contrib/llvm/tools/lli/RemoteTarget.cpp user/ed/newcons/contrib/llvm/tools/lli/RemoteTarget.h - copied unchanged from r247036, head/contrib/llvm/tools/lli/RemoteTarget.h user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp - copied unchanged from r247036, head/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp user/ed/newcons/contrib/mknod/ - copied from r247036, head/contrib/mknod/ user/ed/newcons/contrib/mtree/ - copied from r247036, head/contrib/mtree/ user/ed/newcons/crypto/openssl/crypto/evp/evp_cnf.c - copied unchanged from r247036, head/crypto/openssl/crypto/evp/evp_cnf.c user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_verify_recover.pod - copied unchanged from r247036, head/crypto/openssl/doc/crypto/EVP_PKEY_verify_recover.pod user/ed/newcons/crypto/openssl/ssl/s3_cbc.c - copied unchanged from r247036, head/crypto/openssl/ssl/s3_cbc.c user/ed/newcons/lib/clang/include/MipsGenAsmMatcher.inc - copied unchanged from r247036, head/lib/clang/include/MipsGenAsmMatcher.inc user/ed/newcons/lib/clang/include/MipsGenMCPseudoLowering.inc - copied unchanged from r247036, head/lib/clang/include/MipsGenMCPseudoLowering.inc user/ed/newcons/lib/clang/include/clang/AST/CommentCommandInfo.inc - copied unchanged from r247036, head/lib/clang/include/clang/AST/CommentCommandInfo.inc user/ed/newcons/lib/clang/include/clang/AST/CommentHTMLTags.inc - copied unchanged from r247036, head/lib/clang/include/clang/AST/CommentHTMLTags.inc user/ed/newcons/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc - copied unchanged from r247036, head/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc user/ed/newcons/lib/clang/libclangrewritecore/ - copied from r247036, head/lib/clang/libclangrewritecore/ user/ed/newcons/lib/clang/libclangrewritefrontend/ - copied from r247036, head/lib/clang/libclangrewritefrontend/ user/ed/newcons/lib/libc/arm/Symbol_oabi.map - copied unchanged from r247036, head/lib/libc/arm/Symbol_oabi.map user/ed/newcons/lib/libc/arm/aeabi/ - copied from r247036, head/lib/libc/arm/aeabi/ user/ed/newcons/lib/libc/arm/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/arm/sys/__vdso_gettc.c user/ed/newcons/lib/libc/gen/unvis-compat.c - copied unchanged from r247036, head/lib/libc/gen/unvis-compat.c user/ed/newcons/lib/libc/ia64/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/ia64/sys/__vdso_gettc.c user/ed/newcons/lib/libc/mips/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/mips/sys/__vdso_gettc.c user/ed/newcons/lib/libc/nls/zh_CN.GB18030.msg - copied unchanged from r247036, head/lib/libc/nls/zh_CN.GB18030.msg user/ed/newcons/lib/libc/nls/zh_CN.GB2312.msg - copied unchanged from r247036, head/lib/libc/nls/zh_CN.GB2312.msg user/ed/newcons/lib/libc/nls/zh_CN.UTF-8.msg - copied unchanged from r247036, head/lib/libc/nls/zh_CN.UTF-8.msg user/ed/newcons/lib/libc/powerpc/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/powerpc/sys/__vdso_gettc.c user/ed/newcons/lib/libc/powerpc64/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/powerpc64/sys/__vdso_gettc.c user/ed/newcons/lib/libc/sparc64/sys/__vdso_gettc.c - copied unchanged from r247036, head/lib/libc/sparc64/sys/__vdso_gettc.c user/ed/newcons/lib/libc/stdio/fmemopen.c - copied unchanged from r247036, head/lib/libc/stdio/fmemopen.c user/ed/newcons/lib/libc/string/strchrnul.c - copied unchanged from r247036, head/lib/libc/string/strchrnul.c user/ed/newcons/lib/libldns/ - copied from r247036, head/lib/libldns/ user/ed/newcons/lib/libnetbsd/ - copied from r247036, head/lib/libnetbsd/ user/ed/newcons/lib/libpmc/pmc.ivybridgexeon.3 - copied unchanged from r247036, head/lib/libpmc/pmc.ivybridgexeon.3 user/ed/newcons/lib/libstand/amd64/ - copied from r247036, head/lib/libstand/amd64/ user/ed/newcons/lib/libstand/strtoul.c - copied unchanged from r247036, head/lib/libstand/strtoul.c - copied from r247036, head/lib/libvmmapi/ user/ed/newcons/sbin/hastd/refcnt.h - copied unchanged from r247036, head/sbin/hastd/refcnt.h user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 - copied unchanged from r247036, head/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 - copied unchanged from r247036, head/share/man/man4/bhyve.4 user/ed/newcons/share/syscons/keymaps/us.dvorakp.kbd - copied unchanged from r247036, head/share/syscons/keymaps/us.dvorakp.kbd - copied unchanged from r247036, head/sys/amd64/include/vmm.h - copied unchanged from r247036, head/sys/amd64/include/vmm_dev.h - copied unchanged from r247036, head/sys/amd64/include/vmm_instruction_emul.h - copied from r247036, head/sys/amd64/vmm/ user/ed/newcons/sys/arm/allwinner/ - copied from r247036, head/sys/arm/allwinner/ user/ed/newcons/sys/arm/arm/cpufunc_asm_arm11x6.S - copied unchanged from r247036, head/sys/arm/arm/cpufunc_asm_arm11x6.S user/ed/newcons/sys/arm/arm/pl190.c - copied unchanged from r247036, head/sys/arm/arm/pl190.c user/ed/newcons/sys/arm/conf/CUBIEBOARD - copied unchanged from r247036, head/sys/arm/conf/CUBIEBOARD user/ed/newcons/sys/arm/conf/DREAMPLUG-1001 - copied unchanged from r247036, head/sys/arm/conf/DREAMPLUG-1001 user/ed/newcons/sys/arm/conf/VERSATILEPB - copied unchanged from r247036, head/sys/arm/conf/VERSATILEPB user/ed/newcons/sys/arm/versatile/ - copied from r247036, head/sys/arm/versatile/ user/ed/newcons/sys/boot/fdt/dts/cubieboard.dts - copied unchanged from r247036, head/sys/boot/fdt/dts/cubieboard.dts user/ed/newcons/sys/boot/fdt/dts/dreamplug-1001.dts - copied unchanged from r247036, head/sys/boot/fdt/dts/dreamplug-1001.dts user/ed/newcons/sys/boot/fdt/dts/dreamplug-1001N.dts - copied unchanged from r247036, head/sys/boot/fdt/dts/dreamplug-1001N.dts user/ed/newcons/sys/boot/fdt/dts/versatilepb.dts - copied unchanged from r247036, head/sys/boot/fdt/dts/versatilepb.dts user/ed/newcons/sys/boot/fdt/help.fdt - copied unchanged from r247036, head/sys/boot/fdt/help.fdt user/ed/newcons/sys/boot/ficl64/ - copied from r247036, head/sys/boot/ficl64/ user/ed/newcons/sys/boot/usb/ - copied from r247036, head/sys/boot/usb/ user/ed/newcons/sys/cddl/boot/zfs/lz4.c - copied unchanged from r247036, head/sys/cddl/boot/zfs/lz4.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4 - copied unchanged from r247036, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4 user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4.descrip - copied unchanged from r247036, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4.descrip user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c - copied unchanged from r247036, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslfileio.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslfileio.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslhex.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslhex.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslmethod.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslmethod.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslnamesp.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslnamesp.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslprepkg.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslprepkg.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslxref.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/compiler/aslxref.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbconvert.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/debugger/dbconvert.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evhandler.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/events/evhandler.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsconvert.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/namespace/nsconvert.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsprepkg.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/namespace/nsprepkg.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psobject.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/parser/psobject.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psopinfo.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/parser/psopinfo.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utownerid.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/utilities/utownerid.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utstring.c - copied unchanged from r247036, head/sys/contrib/dev/acpica/components/utilities/utstring.c user/ed/newcons/sys/dev/altera/avgen/altera_avgen_fdt.c - copied unchanged from r247036, head/sys/dev/altera/avgen/altera_avgen_fdt.c user/ed/newcons/sys/dev/altera/avgen/altera_avgen_nexus.c - copied unchanged from r247036, head/sys/dev/altera/avgen/altera_avgen_nexus.c user/ed/newcons/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c - copied unchanged from r247036, head/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c user/ed/newcons/sys/dev/altera/sdcard/altera_sdcard_fdt.c - copied unchanged from r247036, head/sys/dev/altera/sdcard/altera_sdcard_fdt.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c - copied unchanged from r247036, head/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c user/ed/newcons/sys/dev/ath/if_ath_spectral.c - copied unchanged from r247036, head/sys/dev/ath/if_ath_spectral.c user/ed/newcons/sys/dev/ath/if_ath_spectral.h - copied unchanged from r247036, head/sys/dev/ath/if_ath_spectral.h - copied from r247036, head/sys/dev/bvm/ user/ed/newcons/sys/dev/isf/isf_fdt.c - copied unchanged from r247036, head/sys/dev/isf/isf_fdt.c user/ed/newcons/sys/dev/terasic/de4led/terasic_de4led_fdt.c - copied unchanged from r247036, head/sys/dev/terasic/de4led/terasic_de4led_fdt.c user/ed/newcons/sys/dev/terasic/mtl/terasic_mtl_fdt.c - copied unchanged from r247036, head/sys/dev/terasic/mtl/terasic_mtl_fdt.c user/ed/newcons/sys/dev/usb/usb_freebsd_loader.h - copied unchanged from r247036, head/sys/dev/usb/usb_freebsd_loader.h user/ed/newcons/sys/kern/subr_bus_dma.c - copied unchanged from r247036, head/sys/kern/subr_bus_dma.c user/ed/newcons/sys/kern/subr_busdma_bufalloc.c - copied unchanged from r247036, head/sys/kern/subr_busdma_bufalloc.c user/ed/newcons/sys/libkern/arm/ldivmod.S - copied unchanged from r247036, head/sys/libkern/arm/ldivmod.S user/ed/newcons/sys/libkern/arm/ldivmod_helper.c - copied unchanged from r247036, head/sys/libkern/arm/ldivmod_helper.c user/ed/newcons/sys/mips/mips/bus_space_fdt.c - copied unchanged from r247036, head/sys/mips/mips/bus_space_fdt.c - copied from r247036, head/sys/modules/vmm/ user/ed/newcons/sys/rpc/krpc.h - copied unchanged from r247036, head/sys/rpc/krpc.h user/ed/newcons/sys/security/audit/bsm_domain.c - copied unchanged from r247036, head/sys/security/audit/bsm_domain.c user/ed/newcons/sys/security/audit/bsm_errno.c - copied unchanged from r247036, head/sys/security/audit/bsm_errno.c user/ed/newcons/sys/security/audit/bsm_fcntl.c - copied unchanged from r247036, head/sys/security/audit/bsm_fcntl.c user/ed/newcons/sys/security/audit/bsm_socket_type.c - copied unchanged from r247036, head/sys/security/audit/bsm_socket_type.c user/ed/newcons/sys/security/audit/bsm_token.c - copied unchanged from r247036, head/sys/security/audit/bsm_token.c user/ed/newcons/sys/sys/busdma_bufalloc.h - copied unchanged from r247036, head/sys/sys/busdma_bufalloc.h user/ed/newcons/sys/sys/memdesc.h - copied unchanged from r247036, head/sys/sys/memdesc.h user/ed/newcons/tools/build/options/WITHOUT_CLANG_FULL - copied unchanged from r247036, head/tools/build/options/WITHOUT_CLANG_FULL user/ed/newcons/tools/build/options/WITHOUT_LDNS - copied unchanged from r247036, head/tools/build/options/WITHOUT_LDNS user/ed/newcons/tools/build/options/WITHOUT_LIBCPLUSPLUS - copied unchanged from r247036, head/tools/build/options/WITHOUT_LIBCPLUSPLUS user/ed/newcons/tools/build/options/WITHOUT_LZMA_SUPPORT - copied unchanged from r247036, head/tools/build/options/WITHOUT_LZMA_SUPPORT user/ed/newcons/tools/build/options/WITHOUT_PC_SYSINSTALL - copied unchanged from r247036, head/tools/build/options/WITHOUT_PC_SYSINSTALL user/ed/newcons/tools/build/options/WITH_ARM_EABI - copied unchanged from r247036, head/tools/build/options/WITH_ARM_EABI user/ed/newcons/tools/build/options/WITH_BSD_PATCH - copied unchanged from r247036, head/tools/build/options/WITH_BSD_PATCH user/ed/newcons/tools/build/options/WITH_CLANG_FULL - copied unchanged from r247036, head/tools/build/options/WITH_CLANG_FULL user/ed/newcons/tools/build/options/WITH_GPL_DTC - copied unchanged from r247036, head/tools/build/options/WITH_GPL_DTC user/ed/newcons/tools/build/options/WITH_LDNS_UTILS - copied unchanged from r247036, head/tools/build/options/WITH_LDNS_UTILS user/ed/newcons/tools/build/options/WITH_NMTREE - copied unchanged from r247036, head/tools/build/options/WITH_NMTREE user/ed/newcons/tools/build/options/WITH_OPENSSH_NONE_CIPHER - copied unchanged from r247036, head/tools/build/options/WITH_OPENSSH_NONE_CIPHER user/ed/newcons/tools/regression/bin/sh/errors/write-error1.0 - copied unchanged from r247036, head/tools/regression/bin/sh/errors/write-error1.0 user/ed/newcons/tools/regression/bin/sh/execution/subshell1.0 - copied unchanged from r247036, head/tools/regression/bin/sh/execution/subshell1.0 user/ed/newcons/tools/regression/bin/sh/execution/subshell1.0.stdout - copied unchanged from r247036, head/tools/regression/bin/sh/execution/subshell1.0.stdout user/ed/newcons/tools/regression/bin/sh/execution/subshell2.0 - copied unchanged from r247036, head/tools/regression/bin/sh/execution/subshell2.0 user/ed/newcons/tools/regression/bin/sh/execution/subshell3.0 - copied unchanged from r247036, head/tools/regression/bin/sh/execution/subshell3.0 user/ed/newcons/tools/regression/bin/sh/execution/subshell4.0 - copied unchanged from r247036, head/tools/regression/bin/sh/execution/subshell4.0 user/ed/newcons/tools/regression/bin/sh/expansion/cmdsubst14.0 - copied unchanged from r247036, head/tools/regression/bin/sh/expansion/cmdsubst14.0 user/ed/newcons/tools/regression/bin/sh/expansion/cmdsubst15.0 - copied unchanged from r247036, head/tools/regression/bin/sh/expansion/cmdsubst15.0 user/ed/newcons/tools/regression/bin/sh/expansion/cmdsubst16.0 - copied unchanged from r247036, head/tools/regression/bin/sh/expansion/cmdsubst16.0 user/ed/newcons/tools/regression/bin/sh/expansion/cmdsubst17.0 - copied unchanged from r247036, head/tools/regression/bin/sh/expansion/cmdsubst17.0 user/ed/newcons/tools/regression/bin/sh/parser/empty-braces1.0 - copied unchanged from r247036, head/tools/regression/bin/sh/parser/empty-braces1.0 user/ed/newcons/tools/regression/lib/libc/stdio/test-fmemopen.c - copied unchanged from r247036, head/tools/regression/lib/libc/stdio/test-fmemopen.c user/ed/newcons/tools/regression/lib/libc/stdio/test-fmemopen.t - copied unchanged from r247036, head/tools/regression/lib/libc/stdio/test-fmemopen.t user/ed/newcons/tools/regression/usr.bin/printf/regress.zero.out - copied unchanged from r247036, head/tools/regression/usr.bin/printf/regress.zero.out user/ed/newcons/tools/tools/ath/athalq/tdma.c - copied unchanged from r247036, head/tools/tools/ath/athalq/tdma.c user/ed/newcons/tools/tools/ath/athalq/tdma.h - copied unchanged from r247036, head/tools/tools/ath/athalq/tdma.h user/ed/newcons/tools/tools/ath/athspectral/ - copied from r247036, head/tools/tools/ath/athspectral/ user/ed/newcons/tools/tools/netmap/nm_util.c - copied unchanged from r247036, head/tools/tools/netmap/nm_util.c user/ed/newcons/tools/tools/netmap/nm_util.h - copied unchanged from r247036, head/tools/tools/netmap/nm_util.h user/ed/newcons/usr.bin/bmake/Makefile.config - copied unchanged from r247036, head/usr.bin/bmake/Makefile.config user/ed/newcons/usr.bin/dtc/ - copied from r247036, head/usr.bin/dtc/ user/ed/newcons/usr.bin/patch/ - copied from r247036, head/usr.bin/patch/ - copied from r247036, head/usr.sbin/bhyve/ - copied from r247036, head/usr.sbin/bhyvectl/ - copied from r247036, head/usr.sbin/bhyveload/ user/ed/newcons/usr.sbin/bsdconfig/share/script.subr - copied unchanged from r247036, head/usr.sbin/bsdconfig/share/script.subr user/ed/newcons/usr.sbin/bsdconfig/share/variable.subr - copied unchanged from r247036, head/usr.sbin/bsdconfig/share/variable.subr user/ed/newcons/usr.sbin/bsdinstall/partedit/sade.8 - copied unchanged from r247036, head/usr.sbin/bsdinstall/partedit/sade.8 user/ed/newcons/usr.sbin/bsdinstall/partedit/scripted.c - copied unchanged from r247036, head/usr.sbin/bsdinstall/partedit/scripted.c user/ed/newcons/usr.sbin/bsdinstall/scripts/script - copied unchanged from r247036, head/usr.sbin/bsdinstall/scripts/script user/ed/newcons/usr.sbin/nmtree/ - copied from r247036, head/usr.sbin/nmtree/ user/ed/newcons/usr.sbin/pkg/dns_utils.c - copied unchanged from r247036, head/usr.sbin/pkg/dns_utils.c user/ed/newcons/usr.sbin/pkg/dns_utils.h - copied unchanged from r247036, head/usr.sbin/pkg/dns_utils.h Directory Properties: user/ed/newcons/contrib/ldns/ (props changed) user/ed/newcons/lib/libvmmapi/ (props changed) user/ed/newcons/share/man/man4/bhyve.4 (props changed) user/ed/newcons/sys/amd64/include/vmm.h (props changed) user/ed/newcons/sys/amd64/include/vmm_dev.h (props changed) user/ed/newcons/sys/amd64/include/vmm_instruction_emul.h (props changed) user/ed/newcons/sys/amd64/vmm/ (props changed) user/ed/newcons/sys/dev/bvm/ (props changed) user/ed/newcons/sys/modules/vmm/ (props changed) user/ed/newcons/usr.sbin/bhyve/ (props changed) user/ed/newcons/usr.sbin/bhyvectl/ (props changed) user/ed/newcons/usr.sbin/bhyveload/ (props changed) Deleted: user/ed/newcons/contrib/bmake/Makefile.in user/ed/newcons/contrib/dialog/samples/dft-cancel user/ed/newcons/contrib/dialog/samples/dft-extra user/ed/newcons/contrib/dialog/samples/dft-help user/ed/newcons/contrib/dialog/samples/dft-no user/ed/newcons/contrib/dialog/samples/fselect0 user/ed/newcons/contrib/dialog/samples/with-dquotes user/ed/newcons/contrib/dialog/samples/with-squotes user/ed/newcons/contrib/llvm/include/llvm/ADT/Trie.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/IntelJITEventsWrapper.h user/ed/newcons/contrib/llvm/include/llvm/TableGen/TableGenAction.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetData.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetELFWriterInfo.h user/ed/newcons/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImage.h user/ed/newcons/contrib/llvm/lib/TableGen/TableGenAction.cpp user/ed/newcons/contrib/llvm/lib/Target/AMDGPU/ user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.h user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.h user/ed/newcons/contrib/llvm/lib/Target/TargetData.cpp user/ed/newcons/contrib/llvm/lib/Target/TargetELFWriterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86MCInstLower.h user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/HeaderSearchOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/DeltaTree.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/HTMLRewrite.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Rewrite/TokenRewriter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/DereferenceChecker.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/CommandLineClangTool.h user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/InclusionRewriter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/RewriteModernObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/CommandLineClangTool.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/CustomCompilationDatabase.h user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_verifyrecover.pod user/ed/newcons/include/vis.h user/ed/newcons/lib/clang/libclangrewrite/ user/ed/newcons/lib/libc/gen/unvis.3 user/ed/newcons/lib/libc/gen/unvis.c user/ed/newcons/lib/libc/gen/vis.3 user/ed/newcons/lib/libc/gen/vis.c user/ed/newcons/lib/libdisk/ user/ed/newcons/lib/libstand/if_ether.h user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_verifyrecover.3 user/ed/newcons/share/examples/cvsup/gnats-supfile user/ed/newcons/share/mk/bsd.compat.mk user/ed/newcons/sys/arm/mv/kirkwood/files.sheevaplug user/ed/newcons/sys/arm/mv/kirkwood/sheevaplug.c user/ed/newcons/sys/arm/mv/kirkwood/std.sheevaplug user/ed/newcons/sys/boot/userboot/libstand/amd64/ user/ed/newcons/sys/dev/cxgbe/common/jhash.h user/ed/newcons/sys/dev/netmap/netmap_mem1.c user/ed/newcons/sys/dev/xen/evtchn/ user/ed/newcons/sys/dev/xen/xenpci/machine_reboot.c user/ed/newcons/sys/security/audit/audit_bsm_domain.c user/ed/newcons/sys/security/audit/audit_bsm_errno.c user/ed/newcons/sys/security/audit/audit_bsm_fcntl.c user/ed/newcons/sys/security/audit/audit_bsm_socket_type.c user/ed/newcons/sys/security/audit/audit_bsm_token.c user/ed/newcons/usr.sbin/sade/ Modified: user/ed/newcons/COPYRIGHT user/ed/newcons/LOCKS user/ed/newcons/Makefile.inc1 user/ed/newcons/ObsoleteFiles.inc user/ed/newcons/UPDATING user/ed/newcons/bin/cat/cat.1 user/ed/newcons/bin/cat/cat.c user/ed/newcons/bin/cp/cp.c user/ed/newcons/bin/cp/utils.c user/ed/newcons/bin/date/netdate.c user/ed/newcons/bin/df/df.1 user/ed/newcons/bin/df/df.c user/ed/newcons/bin/ln/ln.1 user/ed/newcons/bin/ls/util.c user/ed/newcons/bin/ps/extern.h user/ed/newcons/bin/ps/fmt.c user/ed/newcons/bin/ps/ps.1 user/ed/newcons/bin/ps/ps.c user/ed/newcons/bin/pwait/pwait.c user/ed/newcons/bin/setfacl/setfacl.1 user/ed/newcons/bin/sh/TOUR user/ed/newcons/bin/sh/eval.c user/ed/newcons/bin/sh/exec.c user/ed/newcons/bin/sh/expand.c user/ed/newcons/bin/sh/expand.h user/ed/newcons/bin/sh/init.h user/ed/newcons/bin/sh/input.c user/ed/newcons/bin/sh/jobs.c user/ed/newcons/bin/sh/main.c user/ed/newcons/bin/sh/miscbltin.c user/ed/newcons/bin/sh/mkinit.c user/ed/newcons/bin/sh/mksyntax.c user/ed/newcons/bin/sh/nodetypes user/ed/newcons/bin/sh/output.c user/ed/newcons/bin/sh/output.h user/ed/newcons/bin/sh/parser.c user/ed/newcons/bin/sh/parser.h user/ed/newcons/bin/sh/redir.c user/ed/newcons/bin/sh/sh.1 user/ed/newcons/bin/sh/var.c user/ed/newcons/bin/test/test.1 user/ed/newcons/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/ed/newcons/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/ed/newcons/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 user/ed/newcons/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c user/ed/newcons/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c user/ed/newcons/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c user/ed/newcons/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c user/ed/newcons/cddl/lib/libdtrace/Makefile user/ed/newcons/contrib/bind9/CHANGES user/ed/newcons/contrib/bind9/Makefile.in user/ed/newcons/contrib/bind9/README user/ed/newcons/contrib/bind9/acconfig.h user/ed/newcons/contrib/bind9/bin/Makefile.in user/ed/newcons/contrib/bind9/bin/check/Makefile.in user/ed/newcons/contrib/bind9/bin/check/check-tool.c user/ed/newcons/contrib/bind9/bin/confgen/Makefile.in user/ed/newcons/contrib/bind9/bin/confgen/unix/Makefile.in user/ed/newcons/contrib/bind9/bin/dig/Makefile.in user/ed/newcons/contrib/bind9/bin/dig/nslookup.c user/ed/newcons/contrib/bind9/bin/dnssec/Makefile.in user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keygen.8 user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keygen.c user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keygen.docbook user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-keygen.html user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-settime.c user/ed/newcons/contrib/bind9/bin/dnssec/dnssec-signzone.c user/ed/newcons/contrib/bind9/bin/named/Makefile.in user/ed/newcons/contrib/bind9/bin/named/builtin.c user/ed/newcons/contrib/bind9/bin/named/config.c user/ed/newcons/contrib/bind9/bin/named/controlconf.c user/ed/newcons/contrib/bind9/bin/named/convertxsl.pl user/ed/newcons/contrib/bind9/bin/named/query.c user/ed/newcons/contrib/bind9/bin/named/server.c user/ed/newcons/contrib/bind9/bin/named/statschannel.c user/ed/newcons/contrib/bind9/bin/named/unix/Makefile.in user/ed/newcons/contrib/bind9/bin/nsupdate/Makefile.in user/ed/newcons/contrib/bind9/bin/nsupdate/nsupdate.c user/ed/newcons/contrib/bind9/bin/rndc/Makefile.in user/ed/newcons/contrib/bind9/bin/tools/Makefile.in user/ed/newcons/contrib/bind9/config.h.in user/ed/newcons/contrib/bind9/configure.in user/ed/newcons/contrib/bind9/doc/Makefile.in user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM-book.xml user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.ch04.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.ch06.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.ch07.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.ch08.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.ch09.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.html user/ed/newcons/contrib/bind9/doc/arm/Bv9ARM.pdf user/ed/newcons/contrib/bind9/doc/arm/Makefile.in user/ed/newcons/contrib/bind9/doc/arm/man.arpaname.html user/ed/newcons/contrib/bind9/doc/arm/man.ddns-confgen.html user/ed/newcons/contrib/bind9/doc/arm/man.dig.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-keygen.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-revoke.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-settime.html user/ed/newcons/contrib/bind9/doc/arm/man.dnssec-signzone.html user/ed/newcons/contrib/bind9/doc/arm/man.genrandom.html user/ed/newcons/contrib/bind9/doc/arm/man.host.html user/ed/newcons/contrib/bind9/doc/arm/man.isc-hmac-fixup.html user/ed/newcons/contrib/bind9/doc/arm/man.named-checkconf.html user/ed/newcons/contrib/bind9/doc/arm/man.named-checkzone.html user/ed/newcons/contrib/bind9/doc/arm/man.named-journalprint.html user/ed/newcons/contrib/bind9/doc/arm/man.named.html user/ed/newcons/contrib/bind9/doc/arm/man.nsec3hash.html user/ed/newcons/contrib/bind9/doc/arm/man.nsupdate.html user/ed/newcons/contrib/bind9/doc/arm/man.rndc-confgen.html user/ed/newcons/contrib/bind9/doc/arm/man.rndc.conf.html user/ed/newcons/contrib/bind9/doc/arm/man.rndc.html user/ed/newcons/contrib/bind9/doc/misc/Makefile.in user/ed/newcons/contrib/bind9/doc/misc/format-options.pl user/ed/newcons/contrib/bind9/doc/misc/options user/ed/newcons/contrib/bind9/doc/misc/sort-options.pl user/ed/newcons/contrib/bind9/isc-config.sh.in user/ed/newcons/contrib/bind9/lib/Makefile.in user/ed/newcons/contrib/bind9/lib/bind9/Makefile.in user/ed/newcons/contrib/bind9/lib/bind9/api user/ed/newcons/contrib/bind9/lib/bind9/check.c user/ed/newcons/contrib/bind9/lib/bind9/include/Makefile.in user/ed/newcons/contrib/bind9/lib/bind9/include/bind9/Makefile.in user/ed/newcons/contrib/bind9/lib/dns/Makefile.in user/ed/newcons/contrib/bind9/lib/dns/adb.c user/ed/newcons/contrib/bind9/lib/dns/api user/ed/newcons/contrib/bind9/lib/dns/db.c user/ed/newcons/contrib/bind9/lib/dns/dnssec.c user/ed/newcons/contrib/bind9/lib/dns/ds.c user/ed/newcons/contrib/bind9/lib/dns/dst_api.c user/ed/newcons/contrib/bind9/lib/dns/dst_internal.h user/ed/newcons/contrib/bind9/lib/dns/dst_openssl.h user/ed/newcons/contrib/bind9/lib/dns/dst_parse.c user/ed/newcons/contrib/bind9/lib/dns/dst_parse.h user/ed/newcons/contrib/bind9/lib/dns/dst_result.c user/ed/newcons/contrib/bind9/lib/dns/include/Makefile.in user/ed/newcons/contrib/bind9/lib/dns/include/dns/db.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/dnssec.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/ds.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/iptable.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/keyvalues.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/log.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/rdataset.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/rpz.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/stats.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/view.h user/ed/newcons/contrib/bind9/lib/dns/include/dns/zone.h user/ed/newcons/contrib/bind9/lib/dns/include/dst/Makefile.in user/ed/newcons/contrib/bind9/lib/dns/include/dst/dst.h user/ed/newcons/contrib/bind9/lib/dns/include/dst/result.h user/ed/newcons/contrib/bind9/lib/dns/log.c user/ed/newcons/contrib/bind9/lib/dns/master.c user/ed/newcons/contrib/bind9/lib/dns/masterdump.c user/ed/newcons/contrib/bind9/lib/dns/openssl_link.c user/ed/newcons/contrib/bind9/lib/dns/openssldh_link.c user/ed/newcons/contrib/bind9/lib/dns/openssldsa_link.c user/ed/newcons/contrib/bind9/lib/dns/opensslgost_link.c user/ed/newcons/contrib/bind9/lib/dns/opensslrsa_link.c user/ed/newcons/contrib/bind9/lib/dns/rbtdb.c user/ed/newcons/contrib/bind9/lib/dns/rcode.c user/ed/newcons/contrib/bind9/lib/dns/rdata.c user/ed/newcons/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c user/ed/newcons/contrib/bind9/lib/dns/rdata/generic/ds_43.c user/ed/newcons/contrib/bind9/lib/dns/rdataset.c user/ed/newcons/contrib/bind9/lib/dns/resolver.c user/ed/newcons/contrib/bind9/lib/dns/rpz.c user/ed/newcons/contrib/bind9/lib/dns/spnego_asn1.pl user/ed/newcons/contrib/bind9/lib/dns/validator.c user/ed/newcons/contrib/bind9/lib/dns/view.c user/ed/newcons/contrib/bind9/lib/dns/zone.c user/ed/newcons/contrib/bind9/lib/export/Makefile.in user/ed/newcons/contrib/bind9/lib/export/dns/Makefile.in user/ed/newcons/contrib/bind9/lib/export/dns/include/Makefile.in user/ed/newcons/contrib/bind9/lib/export/dns/include/dns/Makefile.in user/ed/newcons/contrib/bind9/lib/export/dns/include/dst/Makefile.in user/ed/newcons/contrib/bind9/lib/export/irs/include/irs/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/nls/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/nothreads/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/nothreads/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/pthreads/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/pthreads/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/unix/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isc/unix/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/export/isccfg/include/isccfg/Makefile.in user/ed/newcons/contrib/bind9/lib/export/samples/Makefile-postinstall.in user/ed/newcons/contrib/bind9/lib/export/samples/Makefile.in user/ed/newcons/contrib/bind9/lib/irs/Makefile.in user/ed/newcons/contrib/bind9/lib/irs/include/Makefile.in user/ed/newcons/contrib/bind9/lib/irs/include/irs/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/alpha/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/alpha/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/api user/ed/newcons/contrib/bind9/lib/isc/ia64/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/ia64/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/ia64/include/isc/atomic.h user/ed/newcons/contrib/bind9/lib/isc/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/include/isc/file.h user/ed/newcons/contrib/bind9/lib/isc/include/isc/namespace.h user/ed/newcons/contrib/bind9/lib/isc/include/isc/task.h user/ed/newcons/contrib/bind9/lib/isc/mem.c user/ed/newcons/contrib/bind9/lib/isc/mips/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/mips/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/mips/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/nls/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/noatomic/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/noatomic/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/nothreads/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/nothreads/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/powerpc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/powerpc/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/pthreads/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/pthreads/condition.c user/ed/newcons/contrib/bind9/lib/isc/pthreads/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/sparc64/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/sparc64/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/task.c user/ed/newcons/contrib/bind9/lib/isc/task_api.c user/ed/newcons/contrib/bind9/lib/isc/unix/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/unix/file.c user/ed/newcons/contrib/bind9/lib/isc/unix/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/unix/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_32/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_32/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_64/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_64/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in user/ed/newcons/contrib/bind9/lib/isccc/api user/ed/newcons/contrib/bind9/lib/isccc/cc.c user/ed/newcons/contrib/bind9/lib/isccc/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isccc/include/isccc/Makefile.in user/ed/newcons/contrib/bind9/lib/isccfg/api user/ed/newcons/contrib/bind9/lib/isccfg/include/Makefile.in user/ed/newcons/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in user/ed/newcons/contrib/bind9/lib/isccfg/namedconf.c user/ed/newcons/contrib/bind9/lib/lwres/Makefile.in user/ed/newcons/contrib/bind9/lib/lwres/api user/ed/newcons/contrib/bind9/lib/lwres/getaddrinfo.c user/ed/newcons/contrib/bind9/lib/lwres/include/Makefile.in user/ed/newcons/contrib/bind9/lib/lwres/include/lwres/Makefile.in user/ed/newcons/contrib/bind9/lib/lwres/man/Makefile.in user/ed/newcons/contrib/bind9/make/rules.in user/ed/newcons/contrib/bind9/version user/ed/newcons/contrib/binutils/Makefile.in user/ed/newcons/contrib/binutils/Makefile.tpl user/ed/newcons/contrib/binutils/bfd/elflink.c user/ed/newcons/contrib/binutils/gas/config/tc-arm.c user/ed/newcons/contrib/binutils/gas/config/tc-i386.c user/ed/newcons/contrib/binutils/include/elf/common.h user/ed/newcons/contrib/binutils/libiberty/Makefile.in user/ed/newcons/contrib/binutils/opcodes/i386-dis.c user/ed/newcons/contrib/binutils/opcodes/i386-opc.h user/ed/newcons/contrib/binutils/opcodes/i386-tbl.h user/ed/newcons/contrib/bmake/ChangeLog user/ed/newcons/contrib/bmake/FILES user/ed/newcons/contrib/bmake/bmake.1 user/ed/newcons/contrib/bmake/bmake.cat1 user/ed/newcons/contrib/bmake/boot-strap user/ed/newcons/contrib/bmake/bsd.after-import.mk user/ed/newcons/contrib/bmake/compat.c user/ed/newcons/contrib/bmake/configure user/ed/newcons/contrib/bmake/configure.in user/ed/newcons/contrib/bmake/job.c user/ed/newcons/contrib/bmake/main.c user/ed/newcons/contrib/bmake/make-bootstrap.sh.in user/ed/newcons/contrib/bmake/make.1 user/ed/newcons/contrib/bmake/meta.c user/ed/newcons/contrib/bmake/realpath.c user/ed/newcons/contrib/bmake/unit-tests/Makefile.in user/ed/newcons/contrib/bmake/var.c user/ed/newcons/contrib/compiler-rt/LICENSE.TXT user/ed/newcons/contrib/compiler-rt/lib/arm/aeabi_uldivmod.S user/ed/newcons/contrib/compiler-rt/lib/arm/divsi3.S user/ed/newcons/contrib/compiler-rt/lib/arm/udivsi3.S user/ed/newcons/contrib/compiler-rt/lib/cmpdi2.c user/ed/newcons/contrib/compiler-rt/lib/fixsfdi.c user/ed/newcons/contrib/compiler-rt/lib/int_endianness.h user/ed/newcons/contrib/compiler-rt/lib/int_lib.h user/ed/newcons/contrib/compiler-rt/lib/ucmpdi2.c user/ed/newcons/contrib/cvs/diff/Makefile.in user/ed/newcons/contrib/cvs/lib/Makefile.in user/ed/newcons/contrib/dialog/CHANGES user/ed/newcons/contrib/dialog/VERSION user/ed/newcons/contrib/dialog/aclocal.m4 user/ed/newcons/contrib/dialog/arrows.c user/ed/newcons/contrib/dialog/buttons.c user/ed/newcons/contrib/dialog/calendar.c user/ed/newcons/contrib/dialog/checklist.c user/ed/newcons/contrib/dialog/columns.c user/ed/newcons/contrib/dialog/configure user/ed/newcons/contrib/dialog/configure.in user/ed/newcons/contrib/dialog/dialog.1 user/ed/newcons/contrib/dialog/dialog.3 user/ed/newcons/contrib/dialog/dialog.c user/ed/newcons/contrib/dialog/dialog.h user/ed/newcons/contrib/dialog/dlg_colors.h user/ed/newcons/contrib/dialog/dlg_keys.c user/ed/newcons/contrib/dialog/dlg_keys.h user/ed/newcons/contrib/dialog/editbox.c user/ed/newcons/contrib/dialog/formbox.c user/ed/newcons/contrib/dialog/fselect.c user/ed/newcons/contrib/dialog/guage.c user/ed/newcons/contrib/dialog/headers-sh.in user/ed/newcons/contrib/dialog/inputbox.c user/ed/newcons/contrib/dialog/inputstr.c user/ed/newcons/contrib/dialog/makefile.in user/ed/newcons/contrib/dialog/menubox.c user/ed/newcons/contrib/dialog/mixedform.c user/ed/newcons/contrib/dialog/mixedgauge.c user/ed/newcons/contrib/dialog/msgbox.c user/ed/newcons/contrib/dialog/package/debian/changelog user/ed/newcons/contrib/dialog/package/dialog.spec user/ed/newcons/contrib/dialog/pause.c user/ed/newcons/contrib/dialog/po/cs.po user/ed/newcons/contrib/dialog/po/el.po user/ed/newcons/contrib/dialog/po/hr.po user/ed/newcons/contrib/dialog/po/sr.po user/ed/newcons/contrib/dialog/prgbox.c user/ed/newcons/contrib/dialog/progressbox.c user/ed/newcons/contrib/dialog/rc.c user/ed/newcons/contrib/dialog/samples/copifuncs/admin.funcs user/ed/newcons/contrib/dialog/samples/copifuncs/common.funcs (contents, props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.funcs user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifman2 (contents, props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifpoll2 (contents, props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifreq2 (contents, props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.sendifm1 user/ed/newcons/contrib/dialog/samples/copifuncs/copi.wheel user/ed/newcons/contrib/dialog/samples/copismall user/ed/newcons/contrib/dialog/samples/debian.rc user/ed/newcons/contrib/dialog/samples/dialog.py user/ed/newcons/contrib/dialog/samples/form1 user/ed/newcons/contrib/dialog/samples/inputmenu user/ed/newcons/contrib/dialog/samples/inputmenu-stdout user/ed/newcons/contrib/dialog/samples/inputmenu1 user/ed/newcons/contrib/dialog/samples/inputmenu2 user/ed/newcons/contrib/dialog/samples/inputmenu3 user/ed/newcons/contrib/dialog/samples/inputmenu4 user/ed/newcons/contrib/dialog/samples/killall user/ed/newcons/contrib/dialog/samples/prgbox user/ed/newcons/contrib/dialog/samples/prgbox2 user/ed/newcons/contrib/dialog/samples/report-button user/ed/newcons/contrib/dialog/samples/report-edit user/ed/newcons/contrib/dialog/samples/report-string user/ed/newcons/contrib/dialog/samples/report-tempfile user/ed/newcons/contrib/dialog/samples/report-yesno user/ed/newcons/contrib/dialog/samples/setup-edit user/ed/newcons/contrib/dialog/samples/setup-tempfile user/ed/newcons/contrib/dialog/samples/setup-utf8 user/ed/newcons/contrib/dialog/samples/setup-vars user/ed/newcons/contrib/dialog/samples/slackware.rc user/ed/newcons/contrib/dialog/samples/sourcemage.rc user/ed/newcons/contrib/dialog/samples/suse.rc user/ed/newcons/contrib/dialog/samples/tailboxbg user/ed/newcons/contrib/dialog/samples/tailboxbg1 user/ed/newcons/contrib/dialog/samples/tailboxbg2 user/ed/newcons/contrib/dialog/samples/testdata-8bit user/ed/newcons/contrib/dialog/samples/wheel user/ed/newcons/contrib/dialog/samples/whiptail.rc user/ed/newcons/contrib/dialog/tailbox.c user/ed/newcons/contrib/dialog/textbox.c user/ed/newcons/contrib/dialog/timebox.c user/ed/newcons/contrib/dialog/trace.c user/ed/newcons/contrib/dialog/ui_getc.c user/ed/newcons/contrib/dialog/util.c user/ed/newcons/contrib/dialog/yesno.c user/ed/newcons/contrib/dtc/Makefile user/ed/newcons/contrib/file/Magdir/lua user/ed/newcons/contrib/gcc/Makefile.in user/ed/newcons/contrib/gcc/config/arm/arm.h user/ed/newcons/contrib/gcc/config/arm/freebsd.h user/ed/newcons/contrib/gcc/config/arm/unwind-arm.h user/ed/newcons/contrib/gcc/dwarf2out.c user/ed/newcons/contrib/gcc/longlong.h user/ed/newcons/contrib/gcc/unwind-dw2.c user/ed/newcons/contrib/gcclibs/libcpp/Makefile.in user/ed/newcons/contrib/gcclibs/libdecnumber/Makefile.in user/ed/newcons/contrib/gcclibs/libiberty/Makefile.in user/ed/newcons/contrib/gdb/gdb/dwarf2read.c user/ed/newcons/contrib/gdb/gdb/gdbtypes.c user/ed/newcons/contrib/gdb/gdb/gdbtypes.h user/ed/newcons/contrib/gdb/gdb/hpread.c user/ed/newcons/contrib/gdb/gdb/osabi.c user/ed/newcons/contrib/gdb/gdb/parse.c user/ed/newcons/contrib/gdb/gdb/stabsread.c user/ed/newcons/contrib/gdtoa/makefile user/ed/newcons/contrib/gperf/lib/Makefile.in user/ed/newcons/contrib/ipfilter/ipsend/44arp.c user/ed/newcons/contrib/jemalloc/COPYING user/ed/newcons/contrib/jemalloc/ChangeLog user/ed/newcons/contrib/jemalloc/FREEBSD-diffs user/ed/newcons/contrib/jemalloc/FREEBSD-upgrade user/ed/newcons/contrib/jemalloc/VERSION user/ed/newcons/contrib/jemalloc/doc/jemalloc.3 user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/arena.h user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/ckh.h user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/hash.h user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/private_namespace.h user/ed/newcons/contrib/jemalloc/include/jemalloc/internal/tcache.h user/ed/newcons/contrib/jemalloc/include/jemalloc/jemalloc.h user/ed/newcons/contrib/jemalloc/include/jemalloc/jemalloc_defs.h user/ed/newcons/contrib/jemalloc/src/arena.c user/ed/newcons/contrib/jemalloc/src/chunk.c user/ed/newcons/contrib/jemalloc/src/chunk_dss.c user/ed/newcons/contrib/jemalloc/src/ckh.c user/ed/newcons/contrib/jemalloc/src/ctl.c user/ed/newcons/contrib/jemalloc/src/jemalloc.c user/ed/newcons/contrib/jemalloc/src/prof.c user/ed/newcons/contrib/jemalloc/src/tcache.c user/ed/newcons/contrib/less/NEWS user/ed/newcons/contrib/less/README user/ed/newcons/contrib/less/configure.ac user/ed/newcons/contrib/less/defines.h.in user/ed/newcons/contrib/less/less.man user/ed/newcons/contrib/less/less.nro user/ed/newcons/contrib/less/lessecho.man user/ed/newcons/contrib/less/lessecho.nro user/ed/newcons/contrib/less/lesskey.man user/ed/newcons/contrib/less/lesskey.nro user/ed/newcons/contrib/less/option.c user/ed/newcons/contrib/less/version.c user/ed/newcons/contrib/libarchive/libarchive/archive_getdate.c user/ed/newcons/contrib/libarchive/libarchive/test/test_archive_getdate.c user/ed/newcons/contrib/libc++/include/__config user/ed/newcons/contrib/libc++/include/algorithm user/ed/newcons/contrib/libc++/include/array user/ed/newcons/contrib/libc++/include/atomic user/ed/newcons/contrib/libc++/include/cmath user/ed/newcons/contrib/libc++/include/functional user/ed/newcons/contrib/libc++/include/future user/ed/newcons/contrib/libc++/include/istream user/ed/newcons/contrib/libc++/include/iterator user/ed/newcons/contrib/libc++/include/limits user/ed/newcons/contrib/libc++/include/locale user/ed/newcons/contrib/libc++/include/memory user/ed/newcons/contrib/libc++/include/ostream user/ed/newcons/contrib/libc++/include/random user/ed/newcons/contrib/libc++/include/regex user/ed/newcons/contrib/libc++/include/string user/ed/newcons/contrib/libc++/include/type_traits user/ed/newcons/contrib/libc++/include/vector user/ed/newcons/contrib/libc++/src/chrono.cpp user/ed/newcons/contrib/libc++/src/debug.cpp user/ed/newcons/contrib/libc++/src/exception.cpp user/ed/newcons/contrib/libc++/src/future.cpp user/ed/newcons/contrib/libc++/src/hash.cpp user/ed/newcons/contrib/libc++/src/locale.cpp user/ed/newcons/contrib/libc++/src/string.cpp user/ed/newcons/contrib/libc++/src/thread.cpp user/ed/newcons/contrib/libcxxrt/exception.cc user/ed/newcons/contrib/libcxxrt/memory.cc user/ed/newcons/contrib/libcxxrt/typeinfo.h user/ed/newcons/contrib/libstdc++/include/std/std_limits.h user/ed/newcons/contrib/libstdc++/libsupc++/unwind-cxx.h user/ed/newcons/contrib/llvm/include/llvm-c/Core.h user/ed/newcons/contrib/llvm/include/llvm-c/Disassembler.h user/ed/newcons/contrib/llvm/include/llvm-c/Target.h user/ed/newcons/contrib/llvm/include/llvm-c/TargetMachine.h user/ed/newcons/contrib/llvm/include/llvm-c/Transforms/Vectorize.h user/ed/newcons/contrib/llvm/include/llvm/ADT/APFloat.h user/ed/newcons/contrib/llvm/include/llvm/ADT/APInt.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ArrayRef.h user/ed/newcons/contrib/llvm/include/llvm/ADT/BitVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h user/ed/newcons/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h user/ed/newcons/contrib/llvm/include/llvm/ADT/DenseMap.h user/ed/newcons/contrib/llvm/include/llvm/ADT/DenseMapInfo.h user/ed/newcons/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h user/ed/newcons/contrib/llvm/include/llvm/ADT/FoldingSet.h user/ed/newcons/contrib/llvm/include/llvm/ADT/Hashing.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ImmutableList.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ImmutableMap.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ImmutableSet.h user/ed/newcons/contrib/llvm/include/llvm/ADT/Optional.h user/ed/newcons/contrib/llvm/include/llvm/ADT/OwningPtr.h user/ed/newcons/contrib/llvm/include/llvm/ADT/PackedVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/PointerIntPair.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ScopedHashTable.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SetVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SmallBitVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SmallPtrSet.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SmallString.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SmallVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SparseBitVector.h user/ed/newcons/contrib/llvm/include/llvm/ADT/SparseSet.h user/ed/newcons/contrib/llvm/include/llvm/ADT/StringExtras.h user/ed/newcons/contrib/llvm/include/llvm/ADT/StringRef.h user/ed/newcons/contrib/llvm/include/llvm/ADT/StringSet.h user/ed/newcons/contrib/llvm/include/llvm/ADT/Triple.h user/ed/newcons/contrib/llvm/include/llvm/ADT/Twine.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ValueMap.h user/ed/newcons/contrib/llvm/include/llvm/ADT/ilist.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/CallGraph.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/CaptureTracking.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/CodeMetrics.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ConstantFolding.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/Dominators.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/IVUsers.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/InlineCost.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/IntervalPartition.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/Loads.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/LoopInfo.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/PHITransAddr.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/Passes.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ProfileInfoTypes.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/RegionInfo.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/SparsePropagation.h user/ed/newcons/contrib/llvm/include/llvm/Analysis/ValueTracking.h user/ed/newcons/contrib/llvm/include/llvm/Argument.h user/ed/newcons/contrib/llvm/include/llvm/Attributes.h user/ed/newcons/contrib/llvm/include/llvm/BasicBlock.h user/ed/newcons/contrib/llvm/include/llvm/Bitcode/Archive.h user/ed/newcons/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h user/ed/newcons/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h user/ed/newcons/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h user/ed/newcons/contrib/llvm/include/llvm/CallingConv.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/FastISel.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/GCMetadata.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/LiveInterval.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/LiveVariables.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineFunction.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineInstr.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineOperand.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicBase.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/Passes.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ValueTypes.h user/ed/newcons/contrib/llvm/include/llvm/CodeGen/ValueTypes.td user/ed/newcons/contrib/llvm/include/llvm/Constant.h user/ed/newcons/contrib/llvm/include/llvm/Constants.h user/ed/newcons/contrib/llvm/include/llvm/DIBuilder.h user/ed/newcons/contrib/llvm/include/llvm/DebugInfo.h user/ed/newcons/contrib/llvm/include/llvm/DebugInfo/DIContext.h user/ed/newcons/contrib/llvm/include/llvm/DefaultPasses.h user/ed/newcons/contrib/llvm/include/llvm/DerivedTypes.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h user/ed/newcons/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h user/ed/newcons/contrib/llvm/include/llvm/Function.h user/ed/newcons/contrib/llvm/include/llvm/GlobalAlias.h user/ed/newcons/contrib/llvm/include/llvm/GlobalValue.h user/ed/newcons/contrib/llvm/include/llvm/GlobalVariable.h user/ed/newcons/contrib/llvm/include/llvm/IRBuilder.h user/ed/newcons/contrib/llvm/include/llvm/InitializePasses.h user/ed/newcons/contrib/llvm/include/llvm/InlineAsm.h user/ed/newcons/contrib/llvm/include/llvm/InstrTypes.h user/ed/newcons/contrib/llvm/include/llvm/Instruction.h user/ed/newcons/contrib/llvm/include/llvm/Instructions.h user/ed/newcons/contrib/llvm/include/llvm/IntrinsicInst.h user/ed/newcons/contrib/llvm/include/llvm/Intrinsics.h user/ed/newcons/contrib/llvm/include/llvm/Intrinsics.td user/ed/newcons/contrib/llvm/include/llvm/IntrinsicsARM.td user/ed/newcons/contrib/llvm/include/llvm/IntrinsicsMips.td user/ed/newcons/contrib/llvm/include/llvm/IntrinsicsX86.td user/ed/newcons/contrib/llvm/include/llvm/LLVMContext.h user/ed/newcons/contrib/llvm/include/llvm/LinkAllPasses.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCAsmBackend.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCAsmInfo.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCAssembler.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCCodeEmitter.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCContext.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCDwarf.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCExpr.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCInst.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCInstPrinter.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCInstrDesc.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCLabel.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCObjectStreamer.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCObjectWriter.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCRegisterInfo.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSchedule.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSection.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSectionCOFF.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSectionELF.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSectionMachO.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCStreamer.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCSymbol.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCTargetAsmLexer.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h user/ed/newcons/contrib/llvm/include/llvm/MC/MCValue.h user/ed/newcons/contrib/llvm/include/llvm/MC/SubtargetFeature.h user/ed/newcons/contrib/llvm/include/llvm/MDBuilder.h user/ed/newcons/contrib/llvm/include/llvm/Metadata.h user/ed/newcons/contrib/llvm/include/llvm/Object/Archive.h user/ed/newcons/contrib/llvm/include/llvm/Object/Binary.h user/ed/newcons/contrib/llvm/include/llvm/Object/COFF.h user/ed/newcons/contrib/llvm/include/llvm/Object/ELF.h user/ed/newcons/contrib/llvm/include/llvm/Object/MachO.h user/ed/newcons/contrib/llvm/include/llvm/Object/MachOFormat.h user/ed/newcons/contrib/llvm/include/llvm/Object/ObjectFile.h user/ed/newcons/contrib/llvm/include/llvm/Operator.h user/ed/newcons/contrib/llvm/include/llvm/Pass.h user/ed/newcons/contrib/llvm/include/llvm/PassAnalysisSupport.h user/ed/newcons/contrib/llvm/include/llvm/PassSupport.h user/ed/newcons/contrib/llvm/include/llvm/Support/AlignOf.h user/ed/newcons/contrib/llvm/include/llvm/Support/Allocator.h user/ed/newcons/contrib/llvm/include/llvm/Support/CallSite.h user/ed/newcons/contrib/llvm/include/llvm/Support/Casting.h user/ed/newcons/contrib/llvm/include/llvm/Support/CommandLine.h user/ed/newcons/contrib/llvm/include/llvm/Support/Compiler.h user/ed/newcons/contrib/llvm/include/llvm/Support/DataExtractor.h user/ed/newcons/contrib/llvm/include/llvm/Support/ELF.h user/ed/newcons/contrib/llvm/include/llvm/Support/FileOutputBuffer.h user/ed/newcons/contrib/llvm/include/llvm/Support/FileSystem.h user/ed/newcons/contrib/llvm/include/llvm/Support/Format.h user/ed/newcons/contrib/llvm/include/llvm/Support/FormattedStream.h user/ed/newcons/contrib/llvm/include/llvm/Support/GCOV.h user/ed/newcons/contrib/llvm/include/llvm/Support/InstVisitor.h user/ed/newcons/contrib/llvm/include/llvm/Support/IntegersSubset.h user/ed/newcons/contrib/llvm/include/llvm/Support/IntegersSubsetMapping.h user/ed/newcons/contrib/llvm/include/llvm/Support/LEB128.h user/ed/newcons/contrib/llvm/include/llvm/Support/LockFileManager.h user/ed/newcons/contrib/llvm/include/llvm/Support/MathExtras.h user/ed/newcons/contrib/llvm/include/llvm/Support/Memory.h user/ed/newcons/contrib/llvm/include/llvm/Support/MemoryBuffer.h user/ed/newcons/contrib/llvm/include/llvm/Support/Mutex.h user/ed/newcons/contrib/llvm/include/llvm/Support/MutexGuard.h user/ed/newcons/contrib/llvm/include/llvm/Support/PathV1.h user/ed/newcons/contrib/llvm/include/llvm/Support/PathV2.h user/ed/newcons/contrib/llvm/include/llvm/Support/PrettyStackTrace.h user/ed/newcons/contrib/llvm/include/llvm/Support/Program.h user/ed/newcons/contrib/llvm/include/llvm/Support/RWMutex.h user/ed/newcons/contrib/llvm/include/llvm/Support/Regex.h user/ed/newcons/contrib/llvm/include/llvm/Support/Registry.h user/ed/newcons/contrib/llvm/include/llvm/Support/SourceMgr.h user/ed/newcons/contrib/llvm/include/llvm/Support/StreamableMemoryObject.h user/ed/newcons/contrib/llvm/include/llvm/Support/TargetFolder.h user/ed/newcons/contrib/llvm/include/llvm/Support/TargetRegistry.h user/ed/newcons/contrib/llvm/include/llvm/Support/Threading.h user/ed/newcons/contrib/llvm/include/llvm/Support/TimeValue.h user/ed/newcons/contrib/llvm/include/llvm/Support/Timer.h user/ed/newcons/contrib/llvm/include/llvm/Support/ValueHandle.h user/ed/newcons/contrib/llvm/include/llvm/Support/YAMLParser.h user/ed/newcons/contrib/llvm/include/llvm/Support/circular_raw_ostream.h user/ed/newcons/contrib/llvm/include/llvm/Support/raw_os_ostream.h user/ed/newcons/contrib/llvm/include/llvm/Support/raw_ostream.h user/ed/newcons/contrib/llvm/include/llvm/Support/system_error.h user/ed/newcons/contrib/llvm/include/llvm/Support/type_traits.h user/ed/newcons/contrib/llvm/include/llvm/SymbolTableListTraits.h user/ed/newcons/contrib/llvm/include/llvm/TableGen/Error.h user/ed/newcons/contrib/llvm/include/llvm/TableGen/Main.h user/ed/newcons/contrib/llvm/include/llvm/TableGen/Record.h user/ed/newcons/contrib/llvm/include/llvm/Target/Mangler.h user/ed/newcons/contrib/llvm/include/llvm/Target/Target.td user/ed/newcons/contrib/llvm/include/llvm/Target/TargetCallingConv.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetInstrInfo.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetLowering.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetMachine.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetOpcodes.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetOptions.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetSchedule.td user/ed/newcons/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td user/ed/newcons/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h user/ed/newcons/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/IPO.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Instrumentation.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Scalar.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/AddrModeMatcher.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/Local.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h user/ed/newcons/contrib/llvm/include/llvm/Transforms/Vectorize.h user/ed/newcons/contrib/llvm/include/llvm/Type.h user/ed/newcons/contrib/llvm/include/llvm/Use.h user/ed/newcons/contrib/llvm/include/llvm/User.h user/ed/newcons/contrib/llvm/include/llvm/Value.h user/ed/newcons/contrib/llvm/lib/Analysis/AliasAnalysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/AliasSetTracker.cpp user/ed/newcons/contrib/llvm/lib/Analysis/Analysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp user/ed/newcons/contrib/llvm/lib/Analysis/CaptureTracking.cpp user/ed/newcons/contrib/llvm/lib/Analysis/CodeMetrics.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ConstantFolding.cpp user/ed/newcons/contrib/llvm/lib/Analysis/DominanceFrontier.cpp user/ed/newcons/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp user/ed/newcons/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp user/ed/newcons/contrib/llvm/lib/Analysis/IVUsers.cpp user/ed/newcons/contrib/llvm/lib/Analysis/InlineCost.cpp user/ed/newcons/contrib/llvm/lib/Analysis/InstructionSimplify.cpp user/ed/newcons/contrib/llvm/lib/Analysis/LazyValueInfo.cpp user/ed/newcons/contrib/llvm/lib/Analysis/Lint.cpp user/ed/newcons/contrib/llvm/lib/Analysis/Loads.cpp user/ed/newcons/contrib/llvm/lib/Analysis/LoopInfo.cpp user/ed/newcons/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp user/ed/newcons/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/NoAliasAnalysis.cpp user/ed/newcons/contrib/llvm/lib/Analysis/PHITransAddr.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ProfileInfo.cpp user/ed/newcons/contrib/llvm/lib/Analysis/RegionInfo.cpp user/ed/newcons/contrib/llvm/lib/Analysis/RegionPass.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ScalarEvolution.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp user/ed/newcons/contrib/llvm/lib/Analysis/Trace.cpp user/ed/newcons/contrib/llvm/lib/Analysis/ValueTracking.cpp user/ed/newcons/contrib/llvm/lib/Archive/ArchiveInternals.h user/ed/newcons/contrib/llvm/lib/Archive/ArchiveReader.cpp user/ed/newcons/contrib/llvm/lib/AsmParser/LLLexer.cpp user/ed/newcons/contrib/llvm/lib/AsmParser/LLParser.cpp user/ed/newcons/contrib/llvm/lib/AsmParser/LLParser.h user/ed/newcons/contrib/llvm/lib/AsmParser/LLToken.h user/ed/newcons/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp user/ed/newcons/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h user/ed/newcons/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp user/ed/newcons/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h user/ed/newcons/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AllocationOrder.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/Analysis.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/BranchFolding.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/CallingConvLower.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/CodeGen.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/GCStrategy.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/IfConversion.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/InlineSpiller.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveInterval.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h user/ed/newcons/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveRegMatrix.h user/ed/newcons/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/LiveVariables.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineCSE.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineFunction.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineInstr.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineLICM.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineScheduler.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineSink.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/MachineTraceMetrics.h user/ed/newcons/contrib/llvm/lib/CodeGen/MachineVerifier.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/Passes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegAllocFast.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegisterCoalescer.h user/ed/newcons/contrib/llvm/lib/CodeGen/RegisterPressure.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeOrdering.h user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SlotIndexes.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/SplitKit.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/StackProtector.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/TailDuplication.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/VirtRegMap.cpp user/ed/newcons/contrib/llvm/lib/CodeGen/VirtRegMap.h user/ed/newcons/contrib/llvm/lib/DebugInfo/DIContext.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.h user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFContext.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFContext.h user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugLine.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFDebugLine.h user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp user/ed/newcons/contrib/llvm/lib/DebugInfo/DWARFFormValue.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITRegistrar.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp user/ed/newcons/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h user/ed/newcons/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp user/ed/newcons/contrib/llvm/lib/MC/ELFObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAsmBackend.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAsmInfo.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAsmStreamer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCAssembler.cpp user/ed/newcons/contrib/llvm/lib/MC/MCContext.cpp user/ed/newcons/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp user/ed/newcons/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp user/ed/newcons/contrib/llvm/lib/MC/MCDwarf.cpp user/ed/newcons/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp user/ed/newcons/contrib/llvm/lib/MC/MCELFStreamer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCExpr.cpp user/ed/newcons/contrib/llvm/lib/MC/MCInst.cpp user/ed/newcons/contrib/llvm/lib/MC/MCInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/MC/MCLabel.cpp user/ed/newcons/contrib/llvm/lib/MC/MCMachOStreamer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCObjectFileInfo.cpp user/ed/newcons/contrib/llvm/lib/MC/MCObjectStreamer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/AsmParser.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp user/ed/newcons/contrib/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp user/ed/newcons/contrib/llvm/lib/MC/MCRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/MC/MCStreamer.cpp user/ed/newcons/contrib/llvm/lib/MC/MCSubtargetInfo.cpp user/ed/newcons/contrib/llvm/lib/MC/MCSymbol.cpp user/ed/newcons/contrib/llvm/lib/MC/MCValue.cpp user/ed/newcons/contrib/llvm/lib/MC/MachObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/MC/SubtargetFeature.cpp user/ed/newcons/contrib/llvm/lib/MC/WinCOFFStreamer.cpp user/ed/newcons/contrib/llvm/lib/Object/COFFObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Object/MachOObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Support/APFloat.cpp user/ed/newcons/contrib/llvm/lib/Support/Atomic.cpp user/ed/newcons/contrib/llvm/lib/Support/CommandLine.cpp user/ed/newcons/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp user/ed/newcons/contrib/llvm/lib/Support/DataExtractor.cpp user/ed/newcons/contrib/llvm/lib/Support/DataStream.cpp user/ed/newcons/contrib/llvm/lib/Support/DynamicLibrary.cpp user/ed/newcons/contrib/llvm/lib/Support/Errno.cpp user/ed/newcons/contrib/llvm/lib/Support/FoldingSet.cpp user/ed/newcons/contrib/llvm/lib/Support/Host.cpp user/ed/newcons/contrib/llvm/lib/Support/LockFileManager.cpp user/ed/newcons/contrib/llvm/lib/Support/Memory.cpp user/ed/newcons/contrib/llvm/lib/Support/MemoryBuffer.cpp user/ed/newcons/contrib/llvm/lib/Support/SmallVector.cpp user/ed/newcons/contrib/llvm/lib/Support/StreamableMemoryObject.cpp user/ed/newcons/contrib/llvm/lib/Support/StringMap.cpp user/ed/newcons/contrib/llvm/lib/Support/StringRef.cpp user/ed/newcons/contrib/llvm/lib/Support/Triple.cpp user/ed/newcons/contrib/llvm/lib/Support/Unix/Memory.inc user/ed/newcons/contrib/llvm/lib/Support/Unix/Path.inc user/ed/newcons/contrib/llvm/lib/Support/Unix/Signals.inc user/ed/newcons/contrib/llvm/lib/Support/Windows/Memory.inc user/ed/newcons/contrib/llvm/lib/Support/Windows/PathV2.inc user/ed/newcons/contrib/llvm/lib/Support/YAMLParser.cpp user/ed/newcons/contrib/llvm/lib/Support/raw_ostream.cpp user/ed/newcons/contrib/llvm/lib/Support/regexec.c user/ed/newcons/contrib/llvm/lib/Support/system_error.cpp user/ed/newcons/contrib/llvm/lib/TableGen/Error.cpp user/ed/newcons/contrib/llvm/lib/TableGen/Main.cpp user/ed/newcons/contrib/llvm/lib/TableGen/Record.cpp user/ed/newcons/contrib/llvm/lib/TableGen/TGParser.cpp user/ed/newcons/contrib/llvm/lib/TableGen/TGParser.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARM.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARM.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMCallingConv.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMSchedule.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMSubtarget.h user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUSubtarget.h user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp user/ed/newcons/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonCallingConvLower.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonVarargsCallingConvention.h user/ed/newcons/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MBlazeTargetObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeMCCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.h user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Mangler.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips.td user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsCallingConv.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsJITInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsJITInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsMCInstLower.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsSubtarget.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTX.td user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.h user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPC.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/Target.cpp user/ed/newcons/contrib/llvm/lib/Target/TargetLibraryInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp user/ed/newcons/contrib/llvm/lib/Target/TargetMachineC.cpp user/ed/newcons/contrib/llvm/lib/Target/TargetRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.h user/ed/newcons/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c user/ed/newcons/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h user/ed/newcons/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h user/ed/newcons/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h user/ed/newcons/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h user/ed/newcons/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86AsmPrinter.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86CallingConv.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86FastISel.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrCompiler.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrControl.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrFMA.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrFormats.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrMMX.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrSSE.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86InstrXOP.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86JITInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86RegisterInfo.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/ed/newcons/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86Subtarget.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86Subtarget.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/X86/X86TargetMachine.h user/ed/newcons/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp user/ed/newcons/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h user/ed/newcons/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/IPO.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/Inliner.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/Internalize.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp user/ed/newcons/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h user/ed/newcons/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h user/ed/newcons/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/DCE.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/GVN.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LICM.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/ObjCARC.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/Local.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/Utils.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp user/ed/newcons/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp user/ed/newcons/contrib/llvm/lib/VMCore/AsmWriter.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Attributes.cpp user/ed/newcons/contrib/llvm/lib/VMCore/AutoUpgrade.cpp user/ed/newcons/contrib/llvm/lib/VMCore/ConstantFold.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Constants.cpp user/ed/newcons/contrib/llvm/lib/VMCore/ConstantsContext.h user/ed/newcons/contrib/llvm/lib/VMCore/Core.cpp user/ed/newcons/contrib/llvm/lib/VMCore/DIBuilder.cpp user/ed/newcons/contrib/llvm/lib/VMCore/DebugInfo.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Dominators.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Function.cpp user/ed/newcons/contrib/llvm/lib/VMCore/GCOV.cpp user/ed/newcons/contrib/llvm/lib/VMCore/IRBuilder.cpp user/ed/newcons/contrib/llvm/lib/VMCore/InlineAsm.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Instructions.cpp user/ed/newcons/contrib/llvm/lib/VMCore/LLVMContext.cpp user/ed/newcons/contrib/llvm/lib/VMCore/LLVMContextImpl.cpp user/ed/newcons/contrib/llvm/lib/VMCore/LLVMContextImpl.h user/ed/newcons/contrib/llvm/lib/VMCore/PassManager.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Type.cpp user/ed/newcons/contrib/llvm/lib/VMCore/User.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Value.cpp user/ed/newcons/contrib/llvm/lib/VMCore/ValueTypes.cpp user/ed/newcons/contrib/llvm/lib/VMCore/Verifier.cpp user/ed/newcons/contrib/llvm/tools/bugpoint/ExtractFunction.cpp user/ed/newcons/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp user/ed/newcons/contrib/llvm/tools/clang/include/clang-c/Index.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Attr.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Comment.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentBriefParser.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Decl.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Expr.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/SelectorLocationsKind.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Stmt.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/Type.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Attr.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsMips.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Module.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Action.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Arg.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Driver.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Job.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Option.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Options.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Tool.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Driver/Types.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/ExternalPreprocessorSource.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/Token.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Parse/Parser.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/LocInfoType.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Overload.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Scope.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Sema.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/SemaConsumer.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/Template.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/Module.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h user/ed/newcons/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h user/ed/newcons/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h user/ed/newcons/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ASTConsumer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/Comment.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentCommandTraits.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentDumper.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/Decl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/Expr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/Stmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/Type.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/ConvertUTF.c user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/ConvertUTFWrapper.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/Module.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/Targets.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Basic/Version.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Arg.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Driver.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Option.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/ToolChains.h user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Tools.h user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/Types.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/ChainedDiagnosticConsumer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/DependencyGraph.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/altivec.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/bmi2intrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/cpuid.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/immintrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/module.map user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/unwind.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/wmmintrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/x86intrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/Parser.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/Sema.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/Module.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.h user/ed/newcons/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp user/ed/newcons/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp user/ed/newcons/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp user/ed/newcons/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp user/ed/newcons/contrib/llvm/tools/clang/tools/driver/driver.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/OptParserEmitter.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp user/ed/newcons/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h user/ed/newcons/contrib/llvm/tools/llc/llc.cpp user/ed/newcons/contrib/llvm/tools/lli/lli.cpp user/ed/newcons/contrib/llvm/tools/llvm-ar/llvm-ar.cpp user/ed/newcons/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp user/ed/newcons/contrib/llvm/tools/llvm-extract/llvm-extract.cpp user/ed/newcons/contrib/llvm/tools/llvm-mc/llvm-mc.cpp user/ed/newcons/contrib/llvm/tools/llvm-nm/llvm-nm.cpp user/ed/newcons/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp user/ed/newcons/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp user/ed/newcons/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp user/ed/newcons/contrib/llvm/tools/llvm-stress/llvm-stress.cpp user/ed/newcons/contrib/llvm/tools/opt/opt.cpp user/ed/newcons/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/AsmWriterInst.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenInstruction.h user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenRegisters.h user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenSchedule.h user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenTarget.cpp user/ed/newcons/contrib/llvm/utils/TableGen/CodeGenTarget.h user/ed/newcons/contrib/llvm/utils/TableGen/DAGISelMatcher.h user/ed/newcons/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp user/ed/newcons/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/EDEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/FastISelEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/SequenceToOffsetTable.h user/ed/newcons/contrib/llvm/utils/TableGen/SetTheory.cpp user/ed/newcons/contrib/llvm/utils/TableGen/SetTheory.h user/ed/newcons/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp user/ed/newcons/contrib/llvm/utils/TableGen/TGValueTypes.cpp user/ed/newcons/contrib/llvm/utils/TableGen/TableGen.cpp user/ed/newcons/contrib/llvm/utils/TableGen/TableGenBackends.h user/ed/newcons/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp user/ed/newcons/contrib/llvm/utils/TableGen/X86ModRMFilters.h user/ed/newcons/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp user/ed/newcons/contrib/llvm/utils/TableGen/X86RecognizableInstr.h user/ed/newcons/contrib/ntp/arlib/Makefile.in user/ed/newcons/contrib/ntp/libntp/Makefile.in user/ed/newcons/contrib/ntp/libparse/Makefile.in user/ed/newcons/contrib/ntp/ntpd/Makefile.in user/ed/newcons/contrib/nvi/ex/ex_txt.c user/ed/newcons/contrib/nvi/vi/v_txt.c user/ed/newcons/contrib/one-true-awk/FIXES user/ed/newcons/contrib/one-true-awk/main.c user/ed/newcons/contrib/one-true-awk/makefile user/ed/newcons/contrib/one-true-awk/proto.h user/ed/newcons/contrib/one-true-awk/run.c user/ed/newcons/contrib/one-true-awk/tran.c user/ed/newcons/contrib/openbsm/INSTALL user/ed/newcons/contrib/openbsm/NEWS user/ed/newcons/contrib/openbsm/VERSION user/ed/newcons/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 user/ed/newcons/contrib/openbsm/bin/auditdistd/token.l user/ed/newcons/contrib/openbsm/config/config.h user/ed/newcons/contrib/openbsm/configure user/ed/newcons/contrib/openbsm/configure.ac user/ed/newcons/contrib/openbsm/etc/audit_event user/ed/newcons/contrib/openbsm/sys/bsm/audit_kevents.h user/ed/newcons/contrib/openbsm/sys/bsm/audit_record.h user/ed/newcons/contrib/opie/libmissing/Makefile.in user/ed/newcons/contrib/opie/libopie/Makefile.in user/ed/newcons/contrib/opie/opiekey.c user/ed/newcons/contrib/sendmail/FREEBSD-upgrade user/ed/newcons/contrib/sendmail/LICENSE user/ed/newcons/contrib/sendmail/PGPKEYS user/ed/newcons/contrib/sendmail/RELEASE_NOTES user/ed/newcons/contrib/sendmail/cf/README user/ed/newcons/contrib/sendmail/cf/cf/submit.cf user/ed/newcons/contrib/sendmail/cf/feature/ldap_routing.m4 user/ed/newcons/contrib/sendmail/cf/m4/proto.m4 user/ed/newcons/contrib/sendmail/cf/m4/version.m4 user/ed/newcons/contrib/sendmail/doc/op/op.me user/ed/newcons/contrib/sendmail/include/libmilter/mfapi.h user/ed/newcons/contrib/sendmail/include/sm/clock.h user/ed/newcons/contrib/sendmail/include/sm/tailq.h user/ed/newcons/contrib/sendmail/libmilter/Makefile.m4 user/ed/newcons/contrib/sendmail/libmilter/docs/api.html user/ed/newcons/contrib/sendmail/libmilter/docs/smfi_setsymlist.html user/ed/newcons/contrib/sendmail/libmilter/docs/smfi_settimeout.html user/ed/newcons/contrib/sendmail/libmilter/worker.c user/ed/newcons/contrib/sendmail/src/Makefile.m4 user/ed/newcons/contrib/sendmail/src/TRACEFLAGS user/ed/newcons/contrib/sendmail/src/collect.c user/ed/newcons/contrib/sendmail/src/conf.c user/ed/newcons/contrib/sendmail/src/daemon.c user/ed/newcons/contrib/sendmail/src/deliver.c user/ed/newcons/contrib/sendmail/src/headers.c user/ed/newcons/contrib/sendmail/src/main.c user/ed/newcons/contrib/sendmail/src/map.c user/ed/newcons/contrib/sendmail/src/milter.c user/ed/newcons/contrib/sendmail/src/parseaddr.c user/ed/newcons/contrib/sendmail/src/queue.c user/ed/newcons/contrib/sendmail/src/sasl.c user/ed/newcons/contrib/sendmail/src/savemail.c user/ed/newcons/contrib/sendmail/src/sendmail.h user/ed/newcons/contrib/sendmail/src/srvrsmtp.c user/ed/newcons/contrib/sendmail/src/stab.c user/ed/newcons/contrib/sendmail/src/util.c user/ed/newcons/contrib/sendmail/src/version.c user/ed/newcons/contrib/tcp_wrappers/Makefile user/ed/newcons/contrib/tcpdump/Makefile.in user/ed/newcons/contrib/top/top.h user/ed/newcons/contrib/wpa/src/crypto/md5-internal.c user/ed/newcons/contrib/xz/AUTHORS user/ed/newcons/contrib/xz/ChangeLog user/ed/newcons/contrib/xz/README user/ed/newcons/contrib/xz/THANKS user/ed/newcons/contrib/xz/po/de.po user/ed/newcons/contrib/xz/po/fr.po user/ed/newcons/contrib/xz/po/it.po user/ed/newcons/contrib/xz/po/pl.po user/ed/newcons/contrib/xz/src/common/sysdefs.h user/ed/newcons/contrib/xz/src/liblzma/api/lzma/version.h user/ed/newcons/contrib/xz/src/liblzma/simple/simple_coder.c user/ed/newcons/contrib/xz/src/liblzma/simple/simple_private.h user/ed/newcons/contrib/xz/src/xz/args.c user/ed/newcons/contrib/xz/src/xz/coder.c user/ed/newcons/contrib/xz/src/xz/message.c user/ed/newcons/contrib/xz/src/xz/xz.1 user/ed/newcons/crypto/heimdal/appl/ftp/common/Makefile.in user/ed/newcons/crypto/heimdal/appl/telnet/libtelnet/Makefile.in user/ed/newcons/crypto/heimdal/kcm/cache.c user/ed/newcons/crypto/openssl/CHANGES user/ed/newcons/crypto/openssl/Configure user/ed/newcons/crypto/openssl/FAQ user/ed/newcons/crypto/openssl/Makefile user/ed/newcons/crypto/openssl/Makefile.org user/ed/newcons/crypto/openssl/NEWS user/ed/newcons/crypto/openssl/PROBLEMS user/ed/newcons/crypto/openssl/README user/ed/newcons/crypto/openssl/apps/apps.c user/ed/newcons/crypto/openssl/apps/ca.c user/ed/newcons/crypto/openssl/apps/cms.c user/ed/newcons/crypto/openssl/apps/dgst.c user/ed/newcons/crypto/openssl/apps/dhparam.c user/ed/newcons/crypto/openssl/apps/dsaparam.c user/ed/newcons/crypto/openssl/apps/genrsa.c user/ed/newcons/crypto/openssl/apps/ocsp.c user/ed/newcons/crypto/openssl/apps/s_cb.c user/ed/newcons/crypto/openssl/apps/s_client.c user/ed/newcons/crypto/openssl/apps/s_server.c user/ed/newcons/crypto/openssl/apps/speed.c user/ed/newcons/crypto/openssl/apps/srp.c user/ed/newcons/crypto/openssl/apps/verify.c user/ed/newcons/crypto/openssl/apps/x509.c user/ed/newcons/crypto/openssl/crypto/Makefile user/ed/newcons/crypto/openssl/crypto/aes/asm/aes-mips.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/aes-s390x.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/aes-x86_64.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl user/ed/newcons/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl user/ed/newcons/crypto/openssl/crypto/asn1/a_strex.c user/ed/newcons/crypto/openssl/crypto/asn1/a_verify.c user/ed/newcons/crypto/openssl/crypto/asn1/x_pubkey.c user/ed/newcons/crypto/openssl/crypto/bio/bss_dgram.c user/ed/newcons/crypto/openssl/crypto/bn/asm/mips.pl user/ed/newcons/crypto/openssl/crypto/bn/asm/modexp512-x86_64.pl user/ed/newcons/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl user/ed/newcons/crypto/openssl/crypto/bn/asm/x86_64-mont.pl user/ed/newcons/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl user/ed/newcons/crypto/openssl/crypto/bn/bn_div.c user/ed/newcons/crypto/openssl/crypto/bn/bn_gcd.c user/ed/newcons/crypto/openssl/crypto/bn/bn_lcl.h user/ed/newcons/crypto/openssl/crypto/bn/bn_word.c user/ed/newcons/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl user/ed/newcons/crypto/openssl/crypto/cms/cms_cd.c user/ed/newcons/crypto/openssl/crypto/cms/cms_enc.c user/ed/newcons/crypto/openssl/crypto/cms/cms_lib.c user/ed/newcons/crypto/openssl/crypto/conf/conf_mall.c user/ed/newcons/crypto/openssl/crypto/cryptlib.c user/ed/newcons/crypto/openssl/crypto/cryptlib.h user/ed/newcons/crypto/openssl/crypto/crypto.h user/ed/newcons/crypto/openssl/crypto/des/set_key.c user/ed/newcons/crypto/openssl/crypto/des/str2key.c user/ed/newcons/crypto/openssl/crypto/ec/ec.h user/ed/newcons/crypto/openssl/crypto/ec/ec_key.c user/ed/newcons/crypto/openssl/crypto/ec/ec_pmeth.c user/ed/newcons/crypto/openssl/crypto/ec/ecp_mont.c user/ed/newcons/crypto/openssl/crypto/ec/ectest.c user/ed/newcons/crypto/openssl/crypto/ecdh/Makefile user/ed/newcons/crypto/openssl/crypto/ecdh/ech_key.c user/ed/newcons/crypto/openssl/crypto/ecdh/ech_lib.c user/ed/newcons/crypto/openssl/crypto/ecdsa/ecs_lib.c user/ed/newcons/crypto/openssl/crypto/err/err_all.c user/ed/newcons/crypto/openssl/crypto/evp/Makefile user/ed/newcons/crypto/openssl/crypto/evp/digest.c user/ed/newcons/crypto/openssl/crypto/evp/e_aes.c user/ed/newcons/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c user/ed/newcons/crypto/openssl/crypto/evp/evp.h user/ed/newcons/crypto/openssl/crypto/evp/evp_err.c user/ed/newcons/crypto/openssl/crypto/evp/m_dss.c user/ed/newcons/crypto/openssl/crypto/evp/m_dss1.c user/ed/newcons/crypto/openssl/crypto/evp/m_sha1.c user/ed/newcons/crypto/openssl/crypto/evp/p_sign.c user/ed/newcons/crypto/openssl/crypto/evp/p_verify.c user/ed/newcons/crypto/openssl/crypto/md4/md4_dgst.c user/ed/newcons/crypto/openssl/crypto/md4/md4_locl.h user/ed/newcons/crypto/openssl/crypto/md5/asm/md5-x86_64.pl user/ed/newcons/crypto/openssl/crypto/md5/md5_locl.h user/ed/newcons/crypto/openssl/crypto/mdc2/mdc2dgst.c user/ed/newcons/crypto/openssl/crypto/mem.c user/ed/newcons/crypto/openssl/crypto/modes/asm/ghash-x86.pl user/ed/newcons/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl user/ed/newcons/crypto/openssl/crypto/modes/gcm128.c user/ed/newcons/crypto/openssl/crypto/objects/o_names.c user/ed/newcons/crypto/openssl/crypto/ocsp/ocsp_vfy.c user/ed/newcons/crypto/openssl/crypto/opensslv.h user/ed/newcons/crypto/openssl/crypto/pem/pem_all.c user/ed/newcons/crypto/openssl/crypto/pem/pem_lib.c user/ed/newcons/crypto/openssl/crypto/pem/pem_seal.c user/ed/newcons/crypto/openssl/crypto/perlasm/cbc.pl user/ed/newcons/crypto/openssl/crypto/perlasm/x86masm.pl user/ed/newcons/crypto/openssl/crypto/pkcs12/p12_key.c user/ed/newcons/crypto/openssl/crypto/pkcs7/bio_pk7.c user/ed/newcons/crypto/openssl/crypto/ppccap.c user/ed/newcons/crypto/openssl/crypto/rand/md_rand.c user/ed/newcons/crypto/openssl/crypto/rand/rand_lib.c user/ed/newcons/crypto/openssl/crypto/rand/randfile.c user/ed/newcons/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl user/ed/newcons/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl user/ed/newcons/crypto/openssl/crypto/ripemd/rmd_dgst.c user/ed/newcons/crypto/openssl/crypto/ripemd/rmd_locl.h user/ed/newcons/crypto/openssl/crypto/rsa/rsa.h user/ed/newcons/crypto/openssl/crypto/rsa/rsa_eay.c user/ed/newcons/crypto/openssl/crypto/rsa/rsa_oaep.c user/ed/newcons/crypto/openssl/crypto/sha/asm/sha1-armv4-large.pl user/ed/newcons/crypto/openssl/crypto/sha/asm/sha1-ia64.pl user/ed/newcons/crypto/openssl/crypto/sha/asm/sha1-sparcv9a.pl user/ed/newcons/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl user/ed/newcons/crypto/openssl/crypto/sha/asm/sha512-586.pl user/ed/newcons/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl user/ed/newcons/crypto/openssl/crypto/sha/sha1_one.c user/ed/newcons/crypto/openssl/crypto/sha/sha1dgst.c user/ed/newcons/crypto/openssl/crypto/sha/sha256.c user/ed/newcons/crypto/openssl/crypto/sha/sha_dgst.c user/ed/newcons/crypto/openssl/crypto/sha/sha_locl.h user/ed/newcons/crypto/openssl/crypto/sparccpuid.S user/ed/newcons/crypto/openssl/crypto/srp/srp_vfy.c user/ed/newcons/crypto/openssl/crypto/symhacks.h user/ed/newcons/crypto/openssl/crypto/ui/ui_openssl.c user/ed/newcons/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl user/ed/newcons/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl user/ed/newcons/crypto/openssl/crypto/x509/x509_cmp.c user/ed/newcons/crypto/openssl/crypto/x509/x509_vfy.c user/ed/newcons/crypto/openssl/crypto/x509v3/v3_purp.c user/ed/newcons/crypto/openssl/crypto/x86_64cpuid.pl user/ed/newcons/crypto/openssl/crypto/x86cpuid.pl user/ed/newcons/crypto/openssl/doc/apps/CA.pl.pod user/ed/newcons/crypto/openssl/doc/apps/dgst.pod user/ed/newcons/crypto/openssl/doc/apps/verify.pod user/ed/newcons/crypto/openssl/doc/apps/x509.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_decrypt.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_derive.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_get_default_digest.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod user/ed/newcons/crypto/openssl/doc/crypto/EVP_PKEY_verify.pod user/ed/newcons/crypto/openssl/engines/ccgost/gost89.c user/ed/newcons/crypto/openssl/engines/ccgost/gost_crypt.c user/ed/newcons/crypto/openssl/engines/ccgost/gost_eng.c user/ed/newcons/crypto/openssl/engines/ccgost/gost_lcl.h user/ed/newcons/crypto/openssl/engines/ccgost/gosthash.c user/ed/newcons/crypto/openssl/engines/e_capi.c user/ed/newcons/crypto/openssl/ssl/Makefile user/ed/newcons/crypto/openssl/ssl/d1_enc.c user/ed/newcons/crypto/openssl/ssl/d1_pkt.c user/ed/newcons/crypto/openssl/ssl/d1_srtp.c user/ed/newcons/crypto/openssl/ssl/dtls1.h user/ed/newcons/crypto/openssl/ssl/s2_clnt.c user/ed/newcons/crypto/openssl/ssl/s2_pkt.c user/ed/newcons/crypto/openssl/ssl/s2_srvr.c user/ed/newcons/crypto/openssl/ssl/s3_both.c user/ed/newcons/crypto/openssl/ssl/s3_clnt.c user/ed/newcons/crypto/openssl/ssl/s3_enc.c user/ed/newcons/crypto/openssl/ssl/s3_lib.c user/ed/newcons/crypto/openssl/ssl/s3_pkt.c user/ed/newcons/crypto/openssl/ssl/s3_srvr.c user/ed/newcons/crypto/openssl/ssl/ssl.h user/ed/newcons/crypto/openssl/ssl/ssl3.h user/ed/newcons/crypto/openssl/ssl/ssl_algs.c user/ed/newcons/crypto/openssl/ssl/ssl_cert.c user/ed/newcons/crypto/openssl/ssl/ssl_ciph.c user/ed/newcons/crypto/openssl/ssl/ssl_err.c user/ed/newcons/crypto/openssl/ssl/ssl_lib.c user/ed/newcons/crypto/openssl/ssl/ssl_locl.h user/ed/newcons/crypto/openssl/ssl/ssl_rsa.c user/ed/newcons/crypto/openssl/ssl/ssltest.c user/ed/newcons/crypto/openssl/ssl/t1_enc.c user/ed/newcons/crypto/openssl/ssl/t1_lib.c user/ed/newcons/crypto/openssl/ssl/tls_srp.c user/ed/newcons/crypto/openssl/util/libeay.num (contents, props changed) user/ed/newcons/crypto/openssl/util/pl/VC-32.pl user/ed/newcons/etc/Makefile user/ed/newcons/etc/defaults/rc.conf user/ed/newcons/etc/devd/usb.conf user/ed/newcons/etc/login.conf user/ed/newcons/etc/mtree/BSD.include.dist user/ed/newcons/etc/mtree/BSD.usr.dist user/ed/newcons/etc/mtree/BSD.var.dist user/ed/newcons/etc/namedb/named.root user/ed/newcons/etc/newsyslog.conf user/ed/newcons/etc/periodic/daily/Makefile user/ed/newcons/etc/pf.os user/ed/newcons/etc/rc.d/auditdistd user/ed/newcons/etc/rc.d/ip6addrctl user/ed/newcons/etc/rc.d/jail user/ed/newcons/etc/rc.d/pfsync user/ed/newcons/etc/rc.d/savecore user/ed/newcons/etc/rc.d/sysctl user/ed/newcons/etc/rc.resume user/ed/newcons/etc/rc.subr user/ed/newcons/etc/regdomain.xml user/ed/newcons/etc/root/dot.cshrc user/ed/newcons/etc/sendmail/freebsd.mc user/ed/newcons/etc/sendmail/freebsd.submit.mc user/ed/newcons/etc/sendmail/freefall.mc user/ed/newcons/games/fortune/datfiles/fortunes user/ed/newcons/games/fortune/datfiles/fortunes-o.real user/ed/newcons/gnu/lib/csu/Makefile user/ed/newcons/gnu/lib/libdialog/dlg_config.h user/ed/newcons/gnu/lib/libgcc/Makefile user/ed/newcons/gnu/lib/libgcov/Makefile user/ed/newcons/gnu/lib/libstdc++/Makefile user/ed/newcons/gnu/lib/libstdc++/config.h user/ed/newcons/gnu/lib/libsupc++/Version.map user/ed/newcons/gnu/usr.bin/Makefile user/ed/newcons/gnu/usr.bin/binutils/as/Makefile user/ed/newcons/gnu/usr.bin/binutils/ld/armelf_fbsd.sh user/ed/newcons/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh user/ed/newcons/gnu/usr.bin/cc/Makefile.inc user/ed/newcons/gnu/usr.bin/cc/c++/Makefile user/ed/newcons/gnu/usr.bin/cc/c++filt/Makefile user/ed/newcons/gnu/usr.bin/cc/cc1/Makefile user/ed/newcons/gnu/usr.bin/cc/cc1plus/Makefile user/ed/newcons/gnu/usr.bin/cc/cc_int/Makefile user/ed/newcons/gnu/usr.bin/cc/cc_tools/Makefile user/ed/newcons/gnu/usr.bin/cc/doc/Makefile user/ed/newcons/gnu/usr.bin/cc/gcov/Makefile user/ed/newcons/gnu/usr.bin/cc/include/Makefile user/ed/newcons/gnu/usr.bin/cc/libcpp/Makefile user/ed/newcons/gnu/usr.bin/cc/libdecnumber/Makefile user/ed/newcons/gnu/usr.bin/cc/libiberty/Makefile user/ed/newcons/gnu/usr.bin/dialog/Makefile user/ed/newcons/gnu/usr.bin/gdb/kgdb/kgdb.1 user/ed/newcons/gnu/usr.bin/gdb/kgdb/kgdb.h user/ed/newcons/gnu/usr.bin/gdb/kgdb/kthr.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/main.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_amd64.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_arm.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_i386.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_ia64.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_mips.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_powerpc64.c user/ed/newcons/gnu/usr.bin/gdb/kgdb/trgt_sparc64.c user/ed/newcons/gnu/usr.bin/grep/grep.c user/ed/newcons/gnu/usr.bin/patch/Makefile user/ed/newcons/include/Makefile user/ed/newcons/include/arpa/Makefile user/ed/newcons/include/stdio.h (contents, props changed) user/ed/newcons/include/string.h user/ed/newcons/include/time.h user/ed/newcons/kerberos5/lib/libkrb5/Makefile user/ed/newcons/kerberos5/libexec/digest-service/Makefile user/ed/newcons/lib/Makefile user/ed/newcons/lib/bind/config.h user/ed/newcons/lib/bind/dns/Makefile user/ed/newcons/lib/bind/isc/isc/platform.h user/ed/newcons/lib/clang/Makefile user/ed/newcons/lib/clang/clang.build.mk user/ed/newcons/lib/clang/include/Makefile user/ed/newcons/lib/clang/include/clang/Basic/Version.inc user/ed/newcons/lib/clang/include/llvm/Config/config.h user/ed/newcons/lib/clang/libclanganalysis/Makefile user/ed/newcons/lib/clang/libclangarcmigrate/Makefile user/ed/newcons/lib/clang/libclangast/Makefile user/ed/newcons/lib/clang/libclangbasic/Makefile user/ed/newcons/lib/clang/libclangcodegen/Makefile user/ed/newcons/lib/clang/libclangdriver/Makefile user/ed/newcons/lib/clang/libclangedit/Makefile user/ed/newcons/lib/clang/libclangfrontend/Makefile user/ed/newcons/lib/clang/libclangfrontendtool/Makefile user/ed/newcons/lib/clang/libclanglex/Makefile user/ed/newcons/lib/clang/libclangparse/Makefile user/ed/newcons/lib/clang/libclangsema/Makefile user/ed/newcons/lib/clang/libclangserialization/Makefile user/ed/newcons/lib/clang/libclangstaticanalyzercheckers/Makefile user/ed/newcons/lib/clang/libclangstaticanalyzercore/Makefile user/ed/newcons/lib/clang/libclangstaticanalyzerfrontend/Makefile user/ed/newcons/lib/clang/libllvmanalysis/Makefile user/ed/newcons/lib/clang/libllvmarchive/Makefile user/ed/newcons/lib/clang/libllvmarmasmparser/Makefile user/ed/newcons/lib/clang/libllvmarmcodegen/Makefile user/ed/newcons/lib/clang/libllvmarmdesc/Makefile user/ed/newcons/lib/clang/libllvmarmdisassembler/Makefile user/ed/newcons/lib/clang/libllvmarminfo/Makefile user/ed/newcons/lib/clang/libllvmarminstprinter/Makefile user/ed/newcons/lib/clang/libllvmasmparser/Makefile user/ed/newcons/lib/clang/libllvmasmprinter/Makefile user/ed/newcons/lib/clang/libllvmbitreader/Makefile user/ed/newcons/lib/clang/libllvmbitwriter/Makefile user/ed/newcons/lib/clang/libllvmcodegen/Makefile user/ed/newcons/lib/clang/libllvmcore/Makefile user/ed/newcons/lib/clang/libllvmdebuginfo/Makefile user/ed/newcons/lib/clang/libllvmexecutionengine/Makefile user/ed/newcons/lib/clang/libllvminstcombine/Makefile user/ed/newcons/lib/clang/libllvminstrumentation/Makefile user/ed/newcons/lib/clang/libllvminterpreter/Makefile user/ed/newcons/lib/clang/libllvmipo/Makefile user/ed/newcons/lib/clang/libllvmjit/Makefile user/ed/newcons/lib/clang/libllvmlinker/Makefile user/ed/newcons/lib/clang/libllvmmcdisassembler/Makefile user/ed/newcons/lib/clang/libllvmmcjit/Makefile user/ed/newcons/lib/clang/libllvmmcparser/Makefile user/ed/newcons/lib/clang/libllvmmipsasmparser/Makefile user/ed/newcons/lib/clang/libllvmmipscodegen/Makefile user/ed/newcons/lib/clang/libllvmmipsdesc/Makefile user/ed/newcons/lib/clang/libllvmmipsdisassembler/Makefile user/ed/newcons/lib/clang/libllvmmipsinfo/Makefile user/ed/newcons/lib/clang/libllvmmipsinstprinter/Makefile user/ed/newcons/lib/clang/libllvmobject/Makefile user/ed/newcons/lib/clang/libllvmpowerpccodegen/Makefile user/ed/newcons/lib/clang/libllvmpowerpcdesc/Makefile user/ed/newcons/lib/clang/libllvmpowerpcinfo/Makefile user/ed/newcons/lib/clang/libllvmpowerpcinstprinter/Makefile user/ed/newcons/lib/clang/libllvmruntimedyld/Makefile user/ed/newcons/lib/clang/libllvmscalaropts/Makefile user/ed/newcons/lib/clang/libllvmselectiondag/Makefile user/ed/newcons/lib/clang/libllvmtablegen/Makefile user/ed/newcons/lib/clang/libllvmtarget/Makefile user/ed/newcons/lib/clang/libllvmtransformutils/Makefile user/ed/newcons/lib/clang/libllvmvectorize/Makefile user/ed/newcons/lib/clang/libllvmx86asmparser/Makefile user/ed/newcons/lib/clang/libllvmx86codegen/Makefile user/ed/newcons/lib/clang/libllvmx86desc/Makefile user/ed/newcons/lib/clang/libllvmx86info/Makefile user/ed/newcons/lib/clang/libllvmx86instprinter/Makefile user/ed/newcons/lib/clang/libllvmx86utils/Makefile user/ed/newcons/lib/csu/amd64/crt1.c user/ed/newcons/lib/csu/arm/crt1.c user/ed/newcons/lib/csu/common/ignore_init.c user/ed/newcons/lib/csu/i386-elf/crt1_c.c user/ed/newcons/lib/csu/mips/crt1.c user/ed/newcons/lib/csu/powerpc/crt1.c user/ed/newcons/lib/csu/powerpc64/crt1.c user/ed/newcons/lib/csu/sparc64/crt1.c user/ed/newcons/lib/libarchive/Makefile user/ed/newcons/lib/libbsnmp/libbsnmp/Makefile user/ed/newcons/lib/libc/amd64/sys/__vdso_gettc.c user/ed/newcons/lib/libc/arm/Makefile.inc user/ed/newcons/lib/libc/arm/SYS.h user/ed/newcons/lib/libc/arm/Symbol.map user/ed/newcons/lib/libc/arm/gen/Makefile.inc user/ed/newcons/lib/libc/arm/softfloat/arm-gcc.h user/ed/newcons/lib/libc/arm/sys/Makefile.inc user/ed/newcons/lib/libc/gen/Makefile.inc user/ed/newcons/lib/libc/gen/Symbol.map user/ed/newcons/lib/libc/gen/check_utility_compat.c user/ed/newcons/lib/libc/gen/fmtmsg.c user/ed/newcons/lib/libc/gen/fstab.c user/ed/newcons/lib/libc/gen/fts.c user/ed/newcons/lib/libc/gen/getcap.c user/ed/newcons/lib/libc/gen/getgrent.c user/ed/newcons/lib/libc/gen/getnetgrent.c user/ed/newcons/lib/libc/gen/getttyent.c user/ed/newcons/lib/libc/gen/getusershell.c user/ed/newcons/lib/libc/gen/getutxent.c user/ed/newcons/lib/libc/gen/sem_new.c user/ed/newcons/lib/libc/gen/sysctlbyname.c user/ed/newcons/lib/libc/i386/sys/__vdso_gettc.c user/ed/newcons/lib/libc/ia64/sys/Makefile.inc user/ed/newcons/lib/libc/iconv/citrus_mmap.c user/ed/newcons/lib/libc/locale/collate.c user/ed/newcons/lib/libc/locale/setrunelocale.c user/ed/newcons/lib/libc/mips/sys/Makefile.inc user/ed/newcons/lib/libc/net/getaddrinfo.3 user/ed/newcons/lib/libc/net/getnameinfo.3 user/ed/newcons/lib/libc/net/name6.c user/ed/newcons/lib/libc/net/sctp_sys_calls.c user/ed/newcons/lib/libc/nls/Makefile.inc user/ed/newcons/lib/libc/nls/msgcat.c user/ed/newcons/lib/libc/powerpc/Makefile.inc user/ed/newcons/lib/libc/powerpc64/Makefile.inc user/ed/newcons/lib/libc/quad/Makefile.inc user/ed/newcons/lib/libc/sparc64/Makefile.inc user/ed/newcons/lib/libc/stdio/Makefile.inc (contents, props changed) user/ed/newcons/lib/libc/stdio/Symbol.map (contents, props changed) user/ed/newcons/lib/libc/stdio/fopen.3 (contents, props changed) user/ed/newcons/lib/libc/stdio/setbuf.3 user/ed/newcons/lib/libc/stdlib/qsort.3 user/ed/newcons/lib/libc/string/Makefile.inc user/ed/newcons/lib/libc/string/Symbol.map user/ed/newcons/lib/libc/string/strchr.3 user/ed/newcons/lib/libc/sys/Makefile.inc user/ed/newcons/lib/libc/sys/__vdso_gettimeofday.c user/ed/newcons/lib/libc/sys/bind.2 user/ed/newcons/lib/libc/sys/chflags.2 user/ed/newcons/lib/libc/sys/chroot.2 user/ed/newcons/lib/libc/sys/fcntl.2 user/ed/newcons/lib/libc/sys/gettimeofday.c user/ed/newcons/lib/libc/sys/kqueue.2 user/ed/newcons/lib/libc/sys/mlock.2 user/ed/newcons/lib/libc/sys/mlockall.2 user/ed/newcons/lib/libc/sys/open.2 user/ed/newcons/lib/libc/sys/posix_fadvise.2 user/ed/newcons/lib/libc/sys/ptrace.2 user/ed/newcons/lib/libc/sys/sigqueue.2 user/ed/newcons/lib/libc/sys/socket.2 user/ed/newcons/lib/libcompiler_rt/Makefile user/ed/newcons/lib/libcxxrt/Version.map user/ed/newcons/lib/libdevstat/devstat.3 user/ed/newcons/lib/libdevstat/devstat.c user/ed/newcons/lib/libdevstat/devstat.h user/ed/newcons/lib/libedit/editline.3 user/ed/newcons/lib/libedit/editrc.5 user/ed/newcons/lib/libedit/map.c user/ed/newcons/lib/libelf/elf_data.c user/ed/newcons/lib/libelf/elf_getdata.3 user/ed/newcons/lib/libipsec/policy_parse.y user/ed/newcons/lib/libnetgraph/sock.c user/ed/newcons/lib/libpmc/Makefile user/ed/newcons/lib/libpmc/libpmc.c user/ed/newcons/lib/libpmc/pmc.ivybridge.3 user/ed/newcons/lib/libpmc/pmc.sandybridge.3 user/ed/newcons/lib/libpmc/pmc.sandybridgexeon.3 user/ed/newcons/lib/libproc/proc_rtld.c user/ed/newcons/lib/libproc/test/t1-bkpt/t1-bkpt.c user/ed/newcons/lib/libradius/Makefile user/ed/newcons/lib/libradius/libradius.3 user/ed/newcons/lib/libradius/radius.conf.5 user/ed/newcons/lib/libradius/radlib.c user/ed/newcons/lib/libradius/radlib.h user/ed/newcons/lib/libradius/radlib_private.h user/ed/newcons/lib/libradius/radlib_vs.h user/ed/newcons/lib/libsm/Makefile user/ed/newcons/lib/libstand/Makefile user/ed/newcons/lib/libstand/stand.h user/ed/newcons/lib/libthr/thread/thr_init.c user/ed/newcons/lib/libthr/thread/thr_kern.c user/ed/newcons/lib/libusb/Makefile user/ed/newcons/lib/libusb/libusb20.3 user/ed/newcons/lib/libusb/libusb20.c user/ed/newcons/lib/libusb/libusb20.h user/ed/newcons/lib/libusb/libusb20_int.h user/ed/newcons/lib/libusb/libusb20_ugen20.c user/ed/newcons/lib/libutil/gr_util.c user/ed/newcons/lib/libutil/libutil.h user/ed/newcons/lib/libutil/pw_util.c user/ed/newcons/lib/ncurses/form/Makefile user/ed/newcons/lib/ncurses/menu/Makefile user/ed/newcons/lib/ncurses/ncurses/Makefile user/ed/newcons/lib/ncurses/panel/Makefile user/ed/newcons/libexec/bootpd/rtmsg.c user/ed/newcons/libexec/mail.local/Makefile user/ed/newcons/libexec/rtld-elf/Makefile user/ed/newcons/libexec/rtld-elf/powerpc64/reloc.c user/ed/newcons/libexec/smrsh/Makefile user/ed/newcons/libexec/tftpd/tftp-io.c user/ed/newcons/libexec/tftpd/tftp-options.c user/ed/newcons/libexec/tftpd/tftp-utils.h user/ed/newcons/libexec/tftpd/tftpd.c user/ed/newcons/release/Makefile user/ed/newcons/release/amd64/mkisoimages.sh user/ed/newcons/release/generate-release.sh user/ed/newcons/release/i386/mkisoimages.sh user/ed/newcons/release/ia64/mkisoimages.sh user/ed/newcons/release/pc98/mkisoimages.sh user/ed/newcons/release/picobsd/bridge/crunch.conf user/ed/newcons/release/picobsd/build/picobsd user/ed/newcons/release/picobsd/floppy.tree/etc/ppp/ppp.conf user/ed/newcons/release/picobsd/mfs_tree/etc/remote user/ed/newcons/release/picobsd/qemu/crunch.conf user/ed/newcons/release/powerpc/mkisoimages.sh user/ed/newcons/release/rc.local user/ed/newcons/release/sparc64/mkisoimages.sh user/ed/newcons/sbin/comcontrol/comcontrol.8 user/ed/newcons/sbin/devd/devd.8 user/ed/newcons/sbin/devd/devd.cc user/ed/newcons/sbin/devd/devd.hh user/ed/newcons/sbin/fsck_ffs/fsck.h user/ed/newcons/sbin/fsck_ffs/fsutil.c user/ed/newcons/sbin/fsdb/fsdbutil.c user/ed/newcons/sbin/geom/class/eli/geom_eli.c user/ed/newcons/sbin/geom/class/journal/geom_journal_ufs.c user/ed/newcons/sbin/geom/class/part/gpart.8 user/ed/newcons/sbin/geom/class/raid/graid.8 user/ed/newcons/sbin/geom/class/raid3/geom_raid3.c user/ed/newcons/sbin/geom/class/raid3/graid3.8 user/ed/newcons/sbin/growfs/growfs.c user/ed/newcons/sbin/hastd/hast.conf.5 user/ed/newcons/sbin/hastd/hast.h user/ed/newcons/sbin/hastd/hast_proto.c user/ed/newcons/sbin/hastd/hastd.c user/ed/newcons/sbin/hastd/parse.y user/ed/newcons/sbin/hastd/primary.c user/ed/newcons/sbin/hastd/secondary.c user/ed/newcons/sbin/ifconfig/af_inet6.c user/ed/newcons/sbin/ifconfig/af_nd6.c user/ed/newcons/sbin/ifconfig/ifconfig.8 user/ed/newcons/sbin/ifconfig/ifconfig.c user/ed/newcons/sbin/ifconfig/ifieee80211.c user/ed/newcons/sbin/mount_nfs/mount_nfs.8 user/ed/newcons/sbin/mount_nullfs/mount_nullfs.c user/ed/newcons/sbin/newfs_msdos/newfs_msdos.c user/ed/newcons/sbin/pflogd/Makefile user/ed/newcons/sbin/recoverdisk/recoverdisk.c user/ed/newcons/sbin/route/route.c user/ed/newcons/sbin/savecore/savecore.8 user/ed/newcons/sbin/savecore/savecore.c user/ed/newcons/sbin/setkey/Makefile user/ed/newcons/sbin/setkey/setkey.8 user/ed/newcons/sbin/sysctl/sysctl.8 user/ed/newcons/sbin/sysctl/sysctl.c user/ed/newcons/secure/lib/libcrypto/Makefile user/ed/newcons/secure/lib/libcrypto/Makefile.inc user/ed/newcons/secure/lib/libcrypto/Makefile.man user/ed/newcons/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 user/ed/newcons/secure/lib/libcrypto/man/ASN1_STRING_length.3 user/ed/newcons/secure/lib/libcrypto/man/ASN1_STRING_new.3 user/ed/newcons/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 user/ed/newcons/secure/lib/libcrypto/man/ASN1_generate_nconf.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_ctrl.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_base64.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_buffer.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_cipher.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_md.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_null.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_f_ssl.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_find_type.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_new.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_new_CMS.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_push.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_read.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_accept.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_bio.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_connect.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_fd.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_file.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_mem.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_null.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_s_socket.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_set_callback.3 user/ed/newcons/secure/lib/libcrypto/man/BIO_should_retry.3 user/ed/newcons/secure/lib/libcrypto/man/BN_BLINDING_new.3 user/ed/newcons/secure/lib/libcrypto/man/BN_CTX_new.3 user/ed/newcons/secure/lib/libcrypto/man/BN_CTX_start.3 user/ed/newcons/secure/lib/libcrypto/man/BN_add.3 user/ed/newcons/secure/lib/libcrypto/man/BN_add_word.3 user/ed/newcons/secure/lib/libcrypto/man/BN_bn2bin.3 user/ed/newcons/secure/lib/libcrypto/man/BN_cmp.3 user/ed/newcons/secure/lib/libcrypto/man/BN_copy.3 user/ed/newcons/secure/lib/libcrypto/man/BN_generate_prime.3 user/ed/newcons/secure/lib/libcrypto/man/BN_mod_inverse.3 user/ed/newcons/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 user/ed/newcons/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 user/ed/newcons/secure/lib/libcrypto/man/BN_new.3 user/ed/newcons/secure/lib/libcrypto/man/BN_num_bytes.3 user/ed/newcons/secure/lib/libcrypto/man/BN_rand.3 user/ed/newcons/secure/lib/libcrypto/man/BN_set_bit.3 user/ed/newcons/secure/lib/libcrypto/man/BN_swap.3 user/ed/newcons/secure/lib/libcrypto/man/BN_zero.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_add0_cert.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_compress.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_decrypt.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_encrypt.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_final.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_get0_type.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_sign.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_sign_receipt.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_uncompress.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_verify.3 user/ed/newcons/secure/lib/libcrypto/man/CMS_verify_receipt.3 user/ed/newcons/secure/lib/libcrypto/man/CONF_modules_free.3 user/ed/newcons/secure/lib/libcrypto/man/CONF_modules_load_file.3 user/ed/newcons/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 user/ed/newcons/secure/lib/libcrypto/man/DH_generate_key.3 user/ed/newcons/secure/lib/libcrypto/man/DH_generate_parameters.3 user/ed/newcons/secure/lib/libcrypto/man/DH_get_ex_new_index.3 user/ed/newcons/secure/lib/libcrypto/man/DH_new.3 user/ed/newcons/secure/lib/libcrypto/man/DH_set_method.3 user/ed/newcons/secure/lib/libcrypto/man/DH_size.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_SIG_new.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_do_sign.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_dup_DH.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_generate_key.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_generate_parameters.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_new.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_set_method.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_sign.3 user/ed/newcons/secure/lib/libcrypto/man/DSA_size.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_GET_LIB.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_clear_error.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_error_string.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_get_error.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_load_strings.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_print_errors.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_put_error.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_remove_state.3 user/ed/newcons/secure/lib/libcrypto/man/ERR_set_mark.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_BytesToKey.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_DigestInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_DigestSignInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_EncryptInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_OpenInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_derive.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_new.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_sign.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_PKEY_verify.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_SealInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_SignInit.3 user/ed/newcons/secure/lib/libcrypto/man/EVP_VerifyInit.3 user/ed/newcons/secure/lib/libcrypto/man/OBJ_nid2obj.3 user/ed/newcons/secure/lib/libcrypto/man/OPENSSL_Applink.3 user/ed/newcons/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 user/ed/newcons/secure/lib/libcrypto/man/OPENSSL_config.3 user/ed/newcons/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 user/ed/newcons/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 user/ed/newcons/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 user/ed/newcons/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 user/ed/newcons/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS12_create.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS12_parse.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS7_decrypt.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS7_encrypt.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS7_sign.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 user/ed/newcons/secure/lib/libcrypto/man/PKCS7_verify.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_add.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_bytes.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_cleanup.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_egd.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_load_file.3 user/ed/newcons/secure/lib/libcrypto/man/RAND_set_rand_method.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_blinding_on.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_check_key.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_generate_key.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_new.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_print.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_private_encrypt.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_public_encrypt.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_set_method.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_sign.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 user/ed/newcons/secure/lib/libcrypto/man/RSA_size.3 user/ed/newcons/secure/lib/libcrypto/man/SMIME_read_CMS.3 user/ed/newcons/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 user/ed/newcons/secure/lib/libcrypto/man/SMIME_write_CMS.3 user/ed/newcons/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 user/ed/newcons/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 user/ed/newcons/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 user/ed/newcons/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 user/ed/newcons/secure/lib/libcrypto/man/X509_NAME_print_ex.3 user/ed/newcons/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 user/ed/newcons/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 user/ed/newcons/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 user/ed/newcons/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 user/ed/newcons/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 user/ed/newcons/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 user/ed/newcons/secure/lib/libcrypto/man/X509_new.3 user/ed/newcons/secure/lib/libcrypto/man/X509_verify_cert.3 user/ed/newcons/secure/lib/libcrypto/man/bio.3 user/ed/newcons/secure/lib/libcrypto/man/blowfish.3 user/ed/newcons/secure/lib/libcrypto/man/bn.3 user/ed/newcons/secure/lib/libcrypto/man/bn_internal.3 user/ed/newcons/secure/lib/libcrypto/man/buffer.3 user/ed/newcons/secure/lib/libcrypto/man/crypto.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_DHparams.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509_CRL.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509_NAME.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509_REQ.3 user/ed/newcons/secure/lib/libcrypto/man/d2i_X509_SIG.3 user/ed/newcons/secure/lib/libcrypto/man/des.3 user/ed/newcons/secure/lib/libcrypto/man/dh.3 user/ed/newcons/secure/lib/libcrypto/man/dsa.3 user/ed/newcons/secure/lib/libcrypto/man/ecdsa.3 user/ed/newcons/secure/lib/libcrypto/man/engine.3 user/ed/newcons/secure/lib/libcrypto/man/err.3 user/ed/newcons/secure/lib/libcrypto/man/evp.3 user/ed/newcons/secure/lib/libcrypto/man/hmac.3 user/ed/newcons/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 user/ed/newcons/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 user/ed/newcons/secure/lib/libcrypto/man/lh_stats.3 user/ed/newcons/secure/lib/libcrypto/man/lhash.3 user/ed/newcons/secure/lib/libcrypto/man/md5.3 user/ed/newcons/secure/lib/libcrypto/man/mdc2.3 user/ed/newcons/secure/lib/libcrypto/man/pem.3 user/ed/newcons/secure/lib/libcrypto/man/rand.3 user/ed/newcons/secure/lib/libcrypto/man/rc4.3 user/ed/newcons/secure/lib/libcrypto/man/ripemd.3 user/ed/newcons/secure/lib/libcrypto/man/rsa.3 user/ed/newcons/secure/lib/libcrypto/man/sha.3 user/ed/newcons/secure/lib/libcrypto/man/threads.3 user/ed/newcons/secure/lib/libcrypto/man/ui.3 user/ed/newcons/secure/lib/libcrypto/man/ui_compat.3 user/ed/newcons/secure/lib/libcrypto/man/x509.3 user/ed/newcons/secure/lib/libssh/Makefile user/ed/newcons/secure/lib/libssl/Makefile user/ed/newcons/secure/lib/libssl/man/SSL_CIPHER_get_name.3 user/ed/newcons/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_add_session.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_ctrl.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_free.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_new.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_sess_number.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_sessions.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_mode.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_options.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_timeout.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_set_verify.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_use_certificate.3 user/ed/newcons/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 user/ed/newcons/secure/lib/libssl/man/SSL_SESSION_free.3 user/ed/newcons/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 user/ed/newcons/secure/lib/libssl/man/SSL_SESSION_get_time.3 user/ed/newcons/secure/lib/libssl/man/SSL_accept.3 user/ed/newcons/secure/lib/libssl/man/SSL_alert_type_string.3 user/ed/newcons/secure/lib/libssl/man/SSL_clear.3 user/ed/newcons/secure/lib/libssl/man/SSL_connect.3 user/ed/newcons/secure/lib/libssl/man/SSL_do_handshake.3 user/ed/newcons/secure/lib/libssl/man/SSL_free.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_SSL_CTX.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_ciphers.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_client_CA_list.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_current_cipher.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_default_timeout.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_error.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_ex_new_index.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_fd.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_peer_certificate.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_psk_identity.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_rbio.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_session.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_verify_result.3 user/ed/newcons/secure/lib/libssl/man/SSL_get_version.3 user/ed/newcons/secure/lib/libssl/man/SSL_library_init.3 user/ed/newcons/secure/lib/libssl/man/SSL_load_client_CA_file.3 user/ed/newcons/secure/lib/libssl/man/SSL_new.3 user/ed/newcons/secure/lib/libssl/man/SSL_pending.3 user/ed/newcons/secure/lib/libssl/man/SSL_read.3 user/ed/newcons/secure/lib/libssl/man/SSL_rstate_string.3 user/ed/newcons/secure/lib/libssl/man/SSL_session_reused.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_bio.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_connect_state.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_fd.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_session.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_shutdown.3 user/ed/newcons/secure/lib/libssl/man/SSL_set_verify_result.3 user/ed/newcons/secure/lib/libssl/man/SSL_shutdown.3 user/ed/newcons/secure/lib/libssl/man/SSL_state_string.3 user/ed/newcons/secure/lib/libssl/man/SSL_want.3 user/ed/newcons/secure/lib/libssl/man/SSL_write.3 user/ed/newcons/secure/lib/libssl/man/d2i_SSL_SESSION.3 user/ed/newcons/secure/lib/libssl/man/ssl.3 user/ed/newcons/secure/usr.bin/openssl/man/CA.pl.1 user/ed/newcons/secure/usr.bin/openssl/man/asn1parse.1 user/ed/newcons/secure/usr.bin/openssl/man/ca.1 user/ed/newcons/secure/usr.bin/openssl/man/ciphers.1 user/ed/newcons/secure/usr.bin/openssl/man/cms.1 user/ed/newcons/secure/usr.bin/openssl/man/crl.1 user/ed/newcons/secure/usr.bin/openssl/man/crl2pkcs7.1 user/ed/newcons/secure/usr.bin/openssl/man/dgst.1 user/ed/newcons/secure/usr.bin/openssl/man/dhparam.1 user/ed/newcons/secure/usr.bin/openssl/man/dsa.1 user/ed/newcons/secure/usr.bin/openssl/man/dsaparam.1 user/ed/newcons/secure/usr.bin/openssl/man/ec.1 user/ed/newcons/secure/usr.bin/openssl/man/ecparam.1 user/ed/newcons/secure/usr.bin/openssl/man/enc.1 user/ed/newcons/secure/usr.bin/openssl/man/errstr.1 user/ed/newcons/secure/usr.bin/openssl/man/gendsa.1 user/ed/newcons/secure/usr.bin/openssl/man/genpkey.1 user/ed/newcons/secure/usr.bin/openssl/man/genrsa.1 user/ed/newcons/secure/usr.bin/openssl/man/nseq.1 user/ed/newcons/secure/usr.bin/openssl/man/ocsp.1 user/ed/newcons/secure/usr.bin/openssl/man/openssl.1 user/ed/newcons/secure/usr.bin/openssl/man/passwd.1 user/ed/newcons/secure/usr.bin/openssl/man/pkcs12.1 user/ed/newcons/secure/usr.bin/openssl/man/pkcs7.1 user/ed/newcons/secure/usr.bin/openssl/man/pkcs8.1 user/ed/newcons/secure/usr.bin/openssl/man/pkey.1 user/ed/newcons/secure/usr.bin/openssl/man/pkeyparam.1 user/ed/newcons/secure/usr.bin/openssl/man/pkeyutl.1 user/ed/newcons/secure/usr.bin/openssl/man/rand.1 user/ed/newcons/secure/usr.bin/openssl/man/req.1 user/ed/newcons/secure/usr.bin/openssl/man/rsa.1 user/ed/newcons/secure/usr.bin/openssl/man/rsautl.1 user/ed/newcons/secure/usr.bin/openssl/man/s_client.1 user/ed/newcons/secure/usr.bin/openssl/man/s_server.1 user/ed/newcons/secure/usr.bin/openssl/man/s_time.1 user/ed/newcons/secure/usr.bin/openssl/man/sess_id.1 user/ed/newcons/secure/usr.bin/openssl/man/smime.1 user/ed/newcons/secure/usr.bin/openssl/man/speed.1 user/ed/newcons/secure/usr.bin/openssl/man/spkac.1 user/ed/newcons/secure/usr.bin/openssl/man/ts.1 user/ed/newcons/secure/usr.bin/openssl/man/tsget.1 user/ed/newcons/secure/usr.bin/openssl/man/verify.1 user/ed/newcons/secure/usr.bin/openssl/man/version.1 user/ed/newcons/secure/usr.bin/openssl/man/x509.1 user/ed/newcons/secure/usr.bin/openssl/man/x509v3_config.1 user/ed/newcons/secure/usr.bin/ssh/Makefile user/ed/newcons/secure/usr.sbin/sshd/Makefile user/ed/newcons/share/examples/Makefile user/ed/newcons/share/examples/cvsup/README user/ed/newcons/share/examples/cvsup/cvs-supfile user/ed/newcons/share/examples/cvsup/ports-supfile user/ed/newcons/share/examples/cvsup/stable-supfile user/ed/newcons/share/examples/cvsup/standard-supfile user/ed/newcons/share/examples/etc/make.conf user/ed/newcons/share/examples/ppp/ppp.conf.sample user/ed/newcons/share/examples/ppp/ppp.conf.span-isp user/ed/newcons/share/i18n/csmapper/Makefile.part user/ed/newcons/share/info/Makefile user/ed/newcons/share/man/man4/Makefile user/ed/newcons/share/man/man4/arcmsr.4 user/ed/newcons/share/man/man4/carp.4 user/ed/newcons/share/man/man4/gdb.4 user/ed/newcons/share/man/man4/mfi.4 user/ed/newcons/share/man/man4/mouse.4 user/ed/newcons/share/man/man4/mps.4 user/ed/newcons/share/man/man4/ng_netflow.4 user/ed/newcons/share/man/man4/ng_ubt.4 user/ed/newcons/share/man/man4/rl.4 user/ed/newcons/share/man/man4/run.4 user/ed/newcons/share/man/man4/stf.4 user/ed/newcons/share/man/man4/wbwd.4 user/ed/newcons/share/man/man5/group.5 user/ed/newcons/share/man/man5/make.conf.5 user/ed/newcons/share/man/man5/rc.conf.5 user/ed/newcons/share/man/man5/remote.5 user/ed/newcons/share/man/man5/src.conf.5 user/ed/newcons/share/man/man7/release.7 user/ed/newcons/share/man/man7/tuning.7 user/ed/newcons/share/man/man9/Makefile user/ed/newcons/share/man/man9/VFS_SET.9 user/ed/newcons/share/man/man9/domain.9 user/ed/newcons/share/man/man9/lock.9 user/ed/newcons/share/man/man9/make_dev.9 user/ed/newcons/share/man/man9/mbuf_tags.9 user/ed/newcons/share/man/man9/sleep.9 user/ed/newcons/share/man/man9/taskqueue.9 user/ed/newcons/share/man/man9/timeout.9 user/ed/newcons/share/man/man9/vfs_busy.9 user/ed/newcons/share/man/man9/vm_map_insert.9 user/ed/newcons/share/man/man9/vm_map_stack.9 user/ed/newcons/share/man/man9/zone.9 user/ed/newcons/share/misc/Makefile user/ed/newcons/share/misc/committers-doc.dot user/ed/newcons/share/misc/committers-ports.dot user/ed/newcons/share/misc/committers-src.dot user/ed/newcons/share/misc/iso639 user/ed/newcons/share/mk/Makefile user/ed/newcons/share/mk/bsd.README user/ed/newcons/share/mk/bsd.cpu.mk user/ed/newcons/share/mk/bsd.incs.mk user/ed/newcons/share/mk/bsd.info.mk user/ed/newcons/share/mk/bsd.init.mk user/ed/newcons/share/mk/bsd.lib.mk user/ed/newcons/share/mk/bsd.libnames.mk user/ed/newcons/share/mk/bsd.links.mk user/ed/newcons/share/mk/bsd.man.mk user/ed/newcons/share/mk/bsd.own.mk user/ed/newcons/share/mk/bsd.prog.mk user/ed/newcons/share/mk/bsd.sys.mk user/ed/newcons/share/mk/sys.mk user/ed/newcons/share/monetdef/Makefile user/ed/newcons/share/msgdef/Makefile user/ed/newcons/share/numericdef/Makefile user/ed/newcons/share/skel/dot.cshrc user/ed/newcons/share/syscons/keymaps/INDEX.keymaps user/ed/newcons/share/syscons/keymaps/Makefile user/ed/newcons/share/syscons/keymaps/spanish.dvorak.kbd user/ed/newcons/share/zoneinfo/Makefile user/ed/newcons/sys/Makefile user/ed/newcons/sys/amd64/acpica/acpi_machdep.c user/ed/newcons/sys/amd64/amd64/db_trace.c user/ed/newcons/sys/amd64/amd64/fpu.c user/ed/newcons/sys/amd64/amd64/minidump_machdep.c user/ed/newcons/sys/amd64/amd64/mp_machdep.c user/ed/newcons/sys/amd64/amd64/pmap.c user/ed/newcons/sys/amd64/amd64/vm_machdep.c user/ed/newcons/sys/amd64/conf/GENERIC user/ed/newcons/sys/amd64/conf/NOTES user/ed/newcons/sys/amd64/include/fpu.h user/ed/newcons/sys/amd64/include/intr_machdep.h user/ed/newcons/sys/amd64/include/pmap.h user/ed/newcons/sys/amd64/linux32/linux.h user/ed/newcons/sys/amd64/linux32/linux32_sysvec.c user/ed/newcons/sys/arm/arm/busdma_machdep-v6.c user/ed/newcons/sys/arm/arm/busdma_machdep.c user/ed/newcons/sys/arm/arm/cpufunc.c user/ed/newcons/sys/arm/arm/cpufunc_asm_arm10.S user/ed/newcons/sys/arm/arm/cpufunc_asm_arm9.S user/ed/newcons/sys/arm/arm/db_trace.c user/ed/newcons/sys/arm/arm/elf_trampoline.c user/ed/newcons/sys/arm/arm/identcpu.c user/ed/newcons/sys/arm/arm/intr.c user/ed/newcons/sys/arm/arm/locore.S user/ed/newcons/sys/arm/arm/machdep.c user/ed/newcons/sys/arm/arm/pl310.c user/ed/newcons/sys/arm/arm/pmap-v6.c user/ed/newcons/sys/arm/arm/pmap.c user/ed/newcons/sys/arm/arm/swtch.S user/ed/newcons/sys/arm/arm/trap.c user/ed/newcons/sys/arm/arm/vm_machdep.c user/ed/newcons/sys/arm/at91/if_ate.c user/ed/newcons/sys/arm/at91/if_macb.c user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_fb.c user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_gpio.c user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_machdep.c user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_systimer.c user/ed/newcons/sys/arm/broadcom/bcm2835/files.bcm2835 user/ed/newcons/sys/arm/conf/BEAGLEBONE user/ed/newcons/sys/arm/conf/DOCKSTAR user/ed/newcons/sys/arm/conf/NOTES user/ed/newcons/sys/arm/conf/PANDABOARD user/ed/newcons/sys/arm/conf/RPI-B user/ed/newcons/sys/arm/conf/SHEEVAPLUG user/ed/newcons/sys/arm/econa/if_ece.c user/ed/newcons/sys/arm/include/armreg.h user/ed/newcons/sys/arm/include/atomic.h user/ed/newcons/sys/arm/include/cpuconf.h user/ed/newcons/sys/arm/include/cpufunc.h user/ed/newcons/sys/arm/include/intr.h user/ed/newcons/sys/arm/include/machdep.h user/ed/newcons/sys/arm/include/pcpu.h user/ed/newcons/sys/arm/include/pl310.h user/ed/newcons/sys/arm/include/pmap.h user/ed/newcons/sys/arm/include/proc.h user/ed/newcons/sys/arm/include/vm.h user/ed/newcons/sys/arm/include/vmparam.h user/ed/newcons/sys/arm/lpc/if_lpe.c user/ed/newcons/sys/arm/mv/mv_machdep.c user/ed/newcons/sys/arm/ti/am335x/am335x_scm_padconf.c user/ed/newcons/sys/arm/ti/cpsw/if_cpsw.c user/ed/newcons/sys/arm/ti/cpsw/if_cpswreg.h user/ed/newcons/sys/arm/ti/cpsw/if_cpswvar.h user/ed/newcons/sys/arm/ti/omap4/omap4_l2cache.c user/ed/newcons/sys/arm/ti/omap4/omap4_smc.h user/ed/newcons/sys/arm/ti/omap4/std.omap4 user/ed/newcons/sys/arm/ti/ti_cpuid.c user/ed/newcons/sys/arm/ti/ti_cpuid.h user/ed/newcons/sys/arm/ti/ti_scm.c user/ed/newcons/sys/arm/xscale/ixp425/if_npe.c user/ed/newcons/sys/boot/arm/uboot/Makefile user/ed/newcons/sys/boot/common/bootstrap.h user/ed/newcons/sys/boot/common/interp_forth.c user/ed/newcons/sys/boot/common/module.c user/ed/newcons/sys/boot/common/part.c user/ed/newcons/sys/boot/efi/libefi/libefi.c user/ed/newcons/sys/boot/fdt/dts/beaglebone.dts user/ed/newcons/sys/boot/fdt/dts/pandaboard.dts user/ed/newcons/sys/boot/ficl/Makefile user/ed/newcons/sys/boot/forth/beastie.4th.8 user/ed/newcons/sys/boot/forth/check-password.4th user/ed/newcons/sys/boot/forth/check-password.4th.8 user/ed/newcons/sys/boot/forth/frames.4th user/ed/newcons/sys/boot/forth/loader.4th.8 user/ed/newcons/sys/boot/forth/loader.conf.5 user/ed/newcons/sys/boot/forth/menu.4th.8 user/ed/newcons/sys/boot/forth/support.4th user/ed/newcons/sys/boot/i386/efi/Makefile user/ed/newcons/sys/boot/i386/efi/exec.c user/ed/newcons/sys/boot/i386/efi/ldscript.amd64 user/ed/newcons/sys/boot/i386/efi/reloc.c user/ed/newcons/sys/boot/i386/libi386/bootinfo64.c user/ed/newcons/sys/boot/i386/libi386/comconsole.c user/ed/newcons/sys/boot/i386/libi386/devicename.c user/ed/newcons/sys/boot/i386/libi386/pxe.c user/ed/newcons/sys/boot/powerpc/ps3/Makefile user/ed/newcons/sys/boot/powerpc/uboot/Makefile user/ed/newcons/sys/boot/sparc64/boot1/boot1.c user/ed/newcons/sys/boot/sparc64/loader/main.c user/ed/newcons/sys/boot/uboot/common/metadata.c user/ed/newcons/sys/boot/uboot/lib/copy.c user/ed/newcons/sys/boot/userboot/libstand/Makefile user/ed/newcons/sys/boot/userboot/userboot/Makefile user/ed/newcons/sys/boot/userboot/userboot/main.c user/ed/newcons/sys/bsm/audit_kevents.h user/ed/newcons/sys/cam/cam_ccb.h user/ed/newcons/sys/cam/cam_periph.c user/ed/newcons/sys/cam/cam_xpt.c user/ed/newcons/sys/cam/ctl/ctl.c user/ed/newcons/sys/cam/ctl/ctl_frontend_cam_sim.c user/ed/newcons/sys/cam/ctl/scsi_ctl.c user/ed/newcons/sys/cam/scsi/scsi_all.c user/ed/newcons/sys/cam/scsi/scsi_cd.c user/ed/newcons/sys/cam/scsi/scsi_ch.c user/ed/newcons/sys/cam/scsi/scsi_da.c user/ed/newcons/sys/cam/scsi/scsi_enc.c user/ed/newcons/sys/cam/scsi/scsi_enc_internal.h user/ed/newcons/sys/cam/scsi/scsi_enc_ses.c user/ed/newcons/sys/cam/scsi/scsi_pass.c user/ed/newcons/sys/cam/scsi/scsi_sg.c user/ed/newcons/sys/cam/scsi/scsi_target.c user/ed/newcons/sys/cddl/boot/zfs/README user/ed/newcons/sys/cddl/boot/zfs/zfsimpl.h user/ed/newcons/sys/cddl/boot/zfs/zfssubr.c user/ed/newcons/sys/cddl/compat/opensolaris/kern/opensolaris_kstat.c user/ed/newcons/sys/cddl/compat/opensolaris/sys/byteorder.h user/ed/newcons/sys/cddl/compat/opensolaris/sys/kmem.h user/ed/newcons/sys/cddl/compat/opensolaris/sys/kstat.h user/ed/newcons/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c user/ed/newcons/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h user/ed/newcons/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/Makefile.files user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c user/ed/newcons/sys/cddl/dev/dtrace/dtrace_debug.c user/ed/newcons/sys/cddl/dev/dtrace/dtrace_ioctl.c user/ed/newcons/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S user/ed/newcons/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c user/ed/newcons/sys/compat/linprocfs/linprocfs.c user/ed/newcons/sys/compat/linux/linux_emul.c user/ed/newcons/sys/compat/linux/linux_file.c user/ed/newcons/sys/compat/linux/linux_file.h user/ed/newcons/sys/compat/linux/linux_fork.c user/ed/newcons/sys/compat/linux/linux_futex.c user/ed/newcons/sys/compat/linux/linux_ioctl.h user/ed/newcons/sys/compat/linux/linux_ipc.h user/ed/newcons/sys/compat/linux/linux_mib.c user/ed/newcons/sys/compat/linux/linux_misc.h user/ed/newcons/sys/compat/linux/linux_signal.h user/ed/newcons/sys/compat/linux/linux_socket.c user/ed/newcons/sys/compat/linux/linux_socket.h user/ed/newcons/sys/compat/linux/linux_sysctl.c user/ed/newcons/sys/compat/linux/linux_time.c user/ed/newcons/sys/compat/ndis/kern_ndis.c user/ed/newcons/sys/conf/Makefile.arm user/ed/newcons/sys/conf/NOTES user/ed/newcons/sys/conf/files user/ed/newcons/sys/conf/files.amd64 user/ed/newcons/sys/conf/files.arm user/ed/newcons/sys/conf/files.i386 user/ed/newcons/sys/conf/files.mips user/ed/newcons/sys/conf/ldscript.arm user/ed/newcons/sys/conf/newvers.sh user/ed/newcons/sys/conf/options user/ed/newcons/sys/conf/options.arm user/ed/newcons/sys/conf/options.mips user/ed/newcons/sys/contrib/dev/acpica/changes.txt (contents, props changed) user/ed/newcons/sys/contrib/dev/acpica/common/adfile.c user/ed/newcons/sys/contrib/dev/acpica/common/adisasm.c user/ed/newcons/sys/contrib/dev/acpica/common/adwalk.c user/ed/newcons/sys/contrib/dev/acpica/common/ahpredef.c user/ed/newcons/sys/contrib/dev/acpica/common/dmextern.c user/ed/newcons/sys/contrib/dev/acpica/common/dmrestag.c user/ed/newcons/sys/contrib/dev/acpica/common/dmtable.c user/ed/newcons/sys/contrib/dev/acpica/common/dmtbdump.c user/ed/newcons/sys/contrib/dev/acpica/common/dmtbinfo.c user/ed/newcons/sys/contrib/dev/acpica/common/getopt.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslanalyze.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslbtypes.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslcodegen.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslcompile.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslcompiler.h user/ed/newcons/sys/contrib/dev/acpica/compiler/aslcompiler.l user/ed/newcons/sys/contrib/dev/acpica/compiler/aslcompiler.y user/ed/newcons/sys/contrib/dev/acpica/compiler/asldefine.h user/ed/newcons/sys/contrib/dev/acpica/compiler/aslerror.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslfiles.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslfold.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslglobal.h user/ed/newcons/sys/contrib/dev/acpica/compiler/asllength.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asllisting.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslload.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asllookup.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslmain.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslmap.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslmessages.h user/ed/newcons/sys/contrib/dev/acpica/compiler/aslopcodes.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asloperands.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslopt.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslpredef.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslresource.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype1.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype1i.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2d.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2e.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2q.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2s.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslrestype2w.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslstartup.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslstubs.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslsupport.l user/ed/newcons/sys/contrib/dev/acpica/compiler/asltransform.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asltree.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asltypes.h user/ed/newcons/sys/contrib/dev/acpica/compiler/aslutils.c user/ed/newcons/sys/contrib/dev/acpica/compiler/asluuid.c user/ed/newcons/sys/contrib/dev/acpica/compiler/aslwalks.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dtcompile.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dtcompiler.h user/ed/newcons/sys/contrib/dev/acpica/compiler/dtexpress.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dtfield.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dtio.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dtparser.l user/ed/newcons/sys/contrib/dev/acpica/compiler/dtparser.y user/ed/newcons/sys/contrib/dev/acpica/compiler/dtsubtable.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dttable.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dttemplate.c user/ed/newcons/sys/contrib/dev/acpica/compiler/dttemplate.h user/ed/newcons/sys/contrib/dev/acpica/compiler/dtutils.c user/ed/newcons/sys/contrib/dev/acpica/compiler/preprocess.h user/ed/newcons/sys/contrib/dev/acpica/compiler/prexpress.c user/ed/newcons/sys/contrib/dev/acpica/compiler/prmacros.c user/ed/newcons/sys/contrib/dev/acpica/compiler/prparser.l user/ed/newcons/sys/contrib/dev/acpica/compiler/prparser.y user/ed/newcons/sys/contrib/dev/acpica/compiler/prscan.c user/ed/newcons/sys/contrib/dev/acpica/compiler/prutils.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbcmds.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbdisply.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbexec.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbfileio.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbhistry.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbinput.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbmethod.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbnames.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbstats.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbutils.c user/ed/newcons/sys/contrib/dev/acpica/components/debugger/dbxface.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmnames.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmobject.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmopcode.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmresrc.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmutils.c user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/dmwalk.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsargs.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsfield.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsinit.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsobject.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dsutils.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dswexec.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dswload.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dswload2.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dswscope.c user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/dswstate.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evevent.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evglock.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evgpe.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evgpeblk.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evgpeinit.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evgpeutil.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evmisc.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evregion.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evrgnini.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evsci.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evxface.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evxfevnt.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evxfgpe.c user/ed/newcons/sys/contrib/dev/acpica/components/events/evxfregn.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exconfig.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exconvrt.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/excreate.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exdebug.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exdump.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exfield.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exfldio.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exmisc.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exmutex.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exnames.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exoparg1.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exoparg2.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exoparg3.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exoparg6.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exprep.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exregion.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exresnte.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exresolv.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exresop.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exstore.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exstoren.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exstorob.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exsystem.c user/ed/newcons/sys/contrib/dev/acpica/components/executer/exutils.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwacpi.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwesleep.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwgpe.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwpci.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwregs.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwsleep.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwtimer.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwvalid.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwxface.c user/ed/newcons/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsaccess.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsalloc.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsdump.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nseval.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsinit.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsload.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsnames.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsobject.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsparse.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nspredef.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsrepair.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsrepair2.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nssearch.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsutils.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nswalk.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsxfeval.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsxfname.c user/ed/newcons/sys/contrib/dev/acpica/components/namespace/nsxfobj.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psargs.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psloop.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psopcode.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psparse.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psscope.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/pstree.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psutils.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/pswalk.c user/ed/newcons/sys/contrib/dev/acpica/components/parser/psxface.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsaddr.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rscalc.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rscreate.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsdump.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsinfo.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsio.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsirq.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rslist.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsmemory.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsmisc.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsserial.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsutils.c user/ed/newcons/sys/contrib/dev/acpica/components/resources/rsxface.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbfadt.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbfind.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbinstal.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbutils.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbxface.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbxfload.c user/ed/newcons/sys/contrib/dev/acpica/components/tables/tbxfroot.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utaddress.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utalloc.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utcache.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utcopy.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utdebug.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utdecode.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utdelete.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/uteval.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utexcep.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utglobal.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utids.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utinit.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utlock.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utmath.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utmisc.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utmutex.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utobject.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utosi.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utresrc.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utstate.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/uttrack.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utxface.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utxferror.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utxfinit.c user/ed/newcons/sys/contrib/dev/acpica/components/utilities/utxfmutex.c user/ed/newcons/sys/contrib/dev/acpica/include/acapps.h user/ed/newcons/sys/contrib/dev/acpica/include/acbuffer.h user/ed/newcons/sys/contrib/dev/acpica/include/accommon.h user/ed/newcons/sys/contrib/dev/acpica/include/acconfig.h user/ed/newcons/sys/contrib/dev/acpica/include/acdebug.h user/ed/newcons/sys/contrib/dev/acpica/include/acdisasm.h user/ed/newcons/sys/contrib/dev/acpica/include/acdispat.h user/ed/newcons/sys/contrib/dev/acpica/include/acevents.h user/ed/newcons/sys/contrib/dev/acpica/include/acexcep.h user/ed/newcons/sys/contrib/dev/acpica/include/acglobal.h user/ed/newcons/sys/contrib/dev/acpica/include/achware.h user/ed/newcons/sys/contrib/dev/acpica/include/acinterp.h user/ed/newcons/sys/contrib/dev/acpica/include/aclocal.h user/ed/newcons/sys/contrib/dev/acpica/include/acmacros.h user/ed/newcons/sys/contrib/dev/acpica/include/acnames.h user/ed/newcons/sys/contrib/dev/acpica/include/acnamesp.h user/ed/newcons/sys/contrib/dev/acpica/include/acobject.h user/ed/newcons/sys/contrib/dev/acpica/include/acopcode.h user/ed/newcons/sys/contrib/dev/acpica/include/acoutput.h user/ed/newcons/sys/contrib/dev/acpica/include/acparser.h user/ed/newcons/sys/contrib/dev/acpica/include/acpi.h user/ed/newcons/sys/contrib/dev/acpica/include/acpiosxf.h user/ed/newcons/sys/contrib/dev/acpica/include/acpixf.h user/ed/newcons/sys/contrib/dev/acpica/include/acpredef.h user/ed/newcons/sys/contrib/dev/acpica/include/acresrc.h user/ed/newcons/sys/contrib/dev/acpica/include/acrestyp.h user/ed/newcons/sys/contrib/dev/acpica/include/acstruct.h user/ed/newcons/sys/contrib/dev/acpica/include/actables.h user/ed/newcons/sys/contrib/dev/acpica/include/actbl.h user/ed/newcons/sys/contrib/dev/acpica/include/actbl1.h user/ed/newcons/sys/contrib/dev/acpica/include/actbl2.h user/ed/newcons/sys/contrib/dev/acpica/include/actbl3.h user/ed/newcons/sys/contrib/dev/acpica/include/actypes.h user/ed/newcons/sys/contrib/dev/acpica/include/acutils.h user/ed/newcons/sys/contrib/dev/acpica/include/amlcode.h user/ed/newcons/sys/contrib/dev/acpica/include/amlresrc.h user/ed/newcons/sys/contrib/dev/acpica/include/platform/acenv.h user/ed/newcons/sys/contrib/dev/acpica/include/platform/acfreebsd.h user/ed/newcons/sys/contrib/dev/acpica/include/platform/acgcc.h user/ed/newcons/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c user/ed/newcons/sys/contrib/octeon-sdk/cvmx-app-init.h user/ed/newcons/sys/contrib/octeon-sdk/cvmx-helper-board.c user/ed/newcons/sys/dev/aac/aac_cam.c user/ed/newcons/sys/dev/acpi_support/acpi_asus_wmi.c user/ed/newcons/sys/dev/acpi_support/acpi_fujitsu.c (contents, props changed) user/ed/newcons/sys/dev/acpi_support/acpi_hp.c user/ed/newcons/sys/dev/acpi_support/acpi_ibm.c (contents, props changed) user/ed/newcons/sys/dev/acpi_support/acpi_panasonic.c (contents, props changed) user/ed/newcons/sys/dev/acpi_support/acpi_sony.c (contents, props changed) user/ed/newcons/sys/dev/acpi_support/acpi_toshiba.c (contents, props changed) user/ed/newcons/sys/dev/acpica/Osd/OsdSchedule.c user/ed/newcons/sys/dev/acpica/acpi.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_acad.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_button.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_cmbat.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_dock.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_ec.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_hpet.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_lid.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_pci.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_pci_link.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_pcib.c user/ed/newcons/sys/dev/acpica/acpi_pcib_pci.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_perf.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_resource.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_smbat.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_thermal.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_throttle.c (contents, props changed) user/ed/newcons/sys/dev/acpica/acpi_timer.c (contents, props changed) user/ed/newcons/sys/dev/adlink/adlink.c (contents, props changed) user/ed/newcons/sys/dev/advansys/advansys.c user/ed/newcons/sys/dev/advansys/adwcam.c user/ed/newcons/sys/dev/age/if_age.c user/ed/newcons/sys/dev/age/if_agevar.h user/ed/newcons/sys/dev/agp/agp_ali.c user/ed/newcons/sys/dev/agp/agp_amd.c user/ed/newcons/sys/dev/agp/agp_amd64.c user/ed/newcons/sys/dev/agp/agp_ati.c user/ed/newcons/sys/dev/agp/agp_i810.c user/ed/newcons/sys/dev/agp/agp_intel.c user/ed/newcons/sys/dev/agp/agp_sis.c user/ed/newcons/sys/dev/agp/agp_via.c user/ed/newcons/sys/dev/aha/aha.c user/ed/newcons/sys/dev/ahb/ahb.c user/ed/newcons/sys/dev/ahci/ahci.c user/ed/newcons/sys/dev/aic/aic.c user/ed/newcons/sys/dev/aic7xxx/aic79xx_osm.c user/ed/newcons/sys/dev/aic7xxx/aic7xxx_osm.c user/ed/newcons/sys/dev/aic7xxx/aicasm/aicasm_gram.y user/ed/newcons/sys/dev/alc/if_alc.c user/ed/newcons/sys/dev/ale/if_ale.c user/ed/newcons/sys/dev/altera/avgen/altera_avgen.c user/ed/newcons/sys/dev/altera/avgen/altera_avgen.h user/ed/newcons/sys/dev/altera/jtag_uart/altera_jtag_uart.h user/ed/newcons/sys/dev/altera/jtag_uart/altera_jtag_uart_cons.c user/ed/newcons/sys/dev/altera/jtag_uart/altera_jtag_uart_nexus.c user/ed/newcons/sys/dev/altera/sdcard/altera_sdcard.c user/ed/newcons/sys/dev/altera/sdcard/altera_sdcard.h user/ed/newcons/sys/dev/altera/sdcard/altera_sdcard_io.c user/ed/newcons/sys/dev/altera/sdcard/altera_sdcard_nexus.c user/ed/newcons/sys/dev/amdsbwd/amdsbwd.c user/ed/newcons/sys/dev/amdtemp/amdtemp.c (contents, props changed) user/ed/newcons/sys/dev/amr/amr_cam.c user/ed/newcons/sys/dev/an/if_an.c user/ed/newcons/sys/dev/arcmsr/arcmsr.c user/ed/newcons/sys/dev/arcmsr/arcmsr.h user/ed/newcons/sys/dev/ata/ata-all.h user/ed/newcons/sys/dev/ata/ata-dma.c user/ed/newcons/sys/dev/ata/ata-lowlevel.c user/ed/newcons/sys/dev/ata/ata-pci.h user/ed/newcons/sys/dev/ata/ata-raid.c user/ed/newcons/sys/dev/ata/atapi-cam.c user/ed/newcons/sys/dev/ata/chipsets/ata-ati.c user/ed/newcons/sys/dev/ata/chipsets/ata-intel.c user/ed/newcons/sys/dev/ath/ath_dfs/null/dfs_null.c user/ed/newcons/sys/dev/ath/ath_hal/ah.c user/ed/newcons/sys/dev/ath/ath_hal/ah.h user/ed/newcons/sys/dev/ath/ath_hal/ah_internal.h user/ed/newcons/sys/dev/ath/ath_hal/ah_regdomain.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416.h user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416phy.h user/ed/newcons/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/ed/newcons/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c user/ed/newcons/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c user/ed/newcons/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c user/ed/newcons/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c user/ed/newcons/sys/dev/ath/if_ath.c user/ed/newcons/sys/dev/ath/if_ath_ahb.c user/ed/newcons/sys/dev/ath/if_ath_alq.c user/ed/newcons/sys/dev/ath/if_ath_alq.h user/ed/newcons/sys/dev/ath/if_ath_beacon.c user/ed/newcons/sys/dev/ath/if_ath_misc.h user/ed/newcons/sys/dev/ath/if_ath_pci.c user/ed/newcons/sys/dev/ath/if_ath_rx.c user/ed/newcons/sys/dev/ath/if_ath_rx_edma.c user/ed/newcons/sys/dev/ath/if_ath_sysctl.c user/ed/newcons/sys/dev/ath/if_ath_tx.c user/ed/newcons/sys/dev/ath/if_ath_tx_edma.c user/ed/newcons/sys/dev/ath/if_ath_tx_ht.c user/ed/newcons/sys/dev/ath/if_athdfs.h user/ed/newcons/sys/dev/ath/if_athioctl.h user/ed/newcons/sys/dev/ath/if_athvar.h user/ed/newcons/sys/dev/atkbdc/atkbd.c user/ed/newcons/sys/dev/atkbdc/atkbd_atkbdc.c user/ed/newcons/sys/dev/atkbdc/atkbdreg.h user/ed/newcons/sys/dev/atkbdc/psm.c user/ed/newcons/sys/dev/auxio/auxio.c (contents, props changed) user/ed/newcons/sys/dev/bce/if_bce.c user/ed/newcons/sys/dev/bfe/if_bfe.c user/ed/newcons/sys/dev/bge/if_bge.c user/ed/newcons/sys/dev/bm/if_bm.c user/ed/newcons/sys/dev/buslogic/bt.c user/ed/newcons/sys/dev/bwi/if_bwi.c user/ed/newcons/sys/dev/bwn/if_bwn.c user/ed/newcons/sys/dev/bxe/if_bxe.c user/ed/newcons/sys/dev/cas/if_cas.c user/ed/newcons/sys/dev/ce/if_ce.c (contents, props changed) user/ed/newcons/sys/dev/cfi/cfi_bus_fdt.c user/ed/newcons/sys/dev/cfi/cfi_bus_ixp4xx.c user/ed/newcons/sys/dev/ciss/ciss.c user/ed/newcons/sys/dev/ciss/cissreg.h user/ed/newcons/sys/dev/ciss/cissvar.h user/ed/newcons/sys/dev/cm/smc90cx6.c user/ed/newcons/sys/dev/coretemp/coretemp.c (contents, props changed) user/ed/newcons/sys/dev/cp/if_cp.c (contents, props changed) user/ed/newcons/sys/dev/cpufreq/ichss.c (contents, props changed) user/ed/newcons/sys/dev/cs/if_cs.c user/ed/newcons/sys/dev/ctau/if_ct.c (contents, props changed) user/ed/newcons/sys/dev/cx/if_cx.c (contents, props changed) user/ed/newcons/sys/dev/cxgb/cxgb_main.c user/ed/newcons/sys/dev/cxgb/cxgb_sge.c user/ed/newcons/sys/dev/cxgb/sys/uipc_mvec.c user/ed/newcons/sys/dev/cxgbe/adapter.h user/ed/newcons/sys/dev/cxgbe/common/t4_hw.c user/ed/newcons/sys/dev/cxgbe/common/t4_msg.h user/ed/newcons/sys/dev/cxgbe/firmware/t4fw_cfg.txt user/ed/newcons/sys/dev/cxgbe/offload.h user/ed/newcons/sys/dev/cxgbe/t4_l2t.c user/ed/newcons/sys/dev/cxgbe/t4_l2t.h user/ed/newcons/sys/dev/cxgbe/t4_main.c user/ed/newcons/sys/dev/cxgbe/t4_sge.c user/ed/newcons/sys/dev/cxgbe/tom/t4_connect.c user/ed/newcons/sys/dev/cxgbe/tom/t4_cpl_io.c user/ed/newcons/sys/dev/cxgbe/tom/t4_ddp.c user/ed/newcons/sys/dev/cxgbe/tom/t4_listen.c user/ed/newcons/sys/dev/cxgbe/tom/t4_tom.c user/ed/newcons/sys/dev/cxgbe/tom/t4_tom.h user/ed/newcons/sys/dev/cxgbe/tom/t4_tom_l2t.c user/ed/newcons/sys/dev/dc/if_dc.c user/ed/newcons/sys/dev/dcons/dcons_os.c user/ed/newcons/sys/dev/de/if_de.c user/ed/newcons/sys/dev/digi/digi_isa.c (contents, props changed) user/ed/newcons/sys/dev/digi/digi_pci.c (contents, props changed) user/ed/newcons/sys/dev/dpt/dpt_scsi.c user/ed/newcons/sys/dev/e1000/if_em.c (contents, props changed) user/ed/newcons/sys/dev/e1000/if_igb.c (contents, props changed) user/ed/newcons/sys/dev/e1000/if_lem.c user/ed/newcons/sys/dev/ed/if_ed.c user/ed/newcons/sys/dev/en/midway.c user/ed/newcons/sys/dev/ep/if_ep.c user/ed/newcons/sys/dev/ep/if_ep_eisa.c (contents, props changed) user/ed/newcons/sys/dev/ep/if_ep_isa.c (contents, props changed) user/ed/newcons/sys/dev/ep/if_ep_mca.c (contents, props changed) user/ed/newcons/sys/dev/ep/if_ep_pccard.c (contents, props changed) user/ed/newcons/sys/dev/et/if_et.c user/ed/newcons/sys/dev/ex/if_ex.c user/ed/newcons/sys/dev/fatm/if_fatm.c user/ed/newcons/sys/dev/fdc/fdc_acpi.c (contents, props changed) user/ed/newcons/sys/dev/fdt/fdt_mips.c user/ed/newcons/sys/dev/fdt/fdtbus.c user/ed/newcons/sys/dev/fe/if_fe.c user/ed/newcons/sys/dev/firewire/fwohci.c user/ed/newcons/sys/dev/firewire/if_fwe.c user/ed/newcons/sys/dev/firewire/if_fwip.c user/ed/newcons/sys/dev/firewire/sbp.c user/ed/newcons/sys/dev/fxp/if_fxp.c user/ed/newcons/sys/dev/gem/if_gem.c user/ed/newcons/sys/dev/gxemul/ether/if_gx.c user/ed/newcons/sys/dev/hatm/if_hatm_intr.c user/ed/newcons/sys/dev/hatm/if_hatm_tx.c user/ed/newcons/sys/dev/hifn/hifn7751.c user/ed/newcons/sys/dev/hme/if_hme.c user/ed/newcons/sys/dev/hpt27xx/hpt27xx_config.c user/ed/newcons/sys/dev/hpt27xx/os_bsd.h user/ed/newcons/sys/dev/hpt27xx/osm_bsd.c user/ed/newcons/sys/dev/hptiop/hptiop.c user/ed/newcons/sys/dev/hptmv/entry.c user/ed/newcons/sys/dev/hptrr/hptrr_osm_bsd.c user/ed/newcons/sys/dev/hwpmc/hwpmc_core.c user/ed/newcons/sys/dev/hwpmc/hwpmc_intel.c user/ed/newcons/sys/dev/hwpmc/hwpmc_mod.c user/ed/newcons/sys/dev/hwpmc/hwpmc_soft.c user/ed/newcons/sys/dev/hwpmc/pmc_events.h user/ed/newcons/sys/dev/ichsmb/ichsmb_pci.c user/ed/newcons/sys/dev/ichwd/ichwd.c user/ed/newcons/sys/dev/ichwd/ichwd.h user/ed/newcons/sys/dev/ie/if_ie.c user/ed/newcons/sys/dev/if_ndis/if_ndis.c user/ed/newcons/sys/dev/iicbus/ad7418.c (contents, props changed) user/ed/newcons/sys/dev/iicbus/ds133x.c (contents, props changed) user/ed/newcons/sys/dev/iicbus/ds1672.c (contents, props changed) user/ed/newcons/sys/dev/iicbus/icee.c (contents, props changed) user/ed/newcons/sys/dev/iir/iir.c user/ed/newcons/sys/dev/ipw/if_ipw.c user/ed/newcons/sys/dev/isci/isci_io_request.c user/ed/newcons/sys/dev/isf/isf.c user/ed/newcons/sys/dev/isf/isf.h user/ed/newcons/sys/dev/isf/isf_nexus.c user/ed/newcons/sys/dev/isp/isp_pci.c user/ed/newcons/sys/dev/isp/isp_sbus.c user/ed/newcons/sys/dev/iwi/if_iwi.c user/ed/newcons/sys/dev/iwn/if_iwn.c user/ed/newcons/sys/dev/ixgb/if_ixgb.c (contents, props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe.c (contents, props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe.h user/ed/newcons/sys/dev/ixgbe/ixgbe_phy.c user/ed/newcons/sys/dev/ixgbe/ixv.c user/ed/newcons/sys/dev/jme/if_jme.c user/ed/newcons/sys/dev/le/lance.c user/ed/newcons/sys/dev/led/led.c user/ed/newcons/sys/dev/lge/if_lge.c user/ed/newcons/sys/dev/lmc/if_lmc.c user/ed/newcons/sys/dev/malo/if_malo.c user/ed/newcons/sys/dev/mfi/mfi.c user/ed/newcons/sys/dev/mfi/mfi_cam.c (contents, props changed) user/ed/newcons/sys/dev/mfi/mfivar.h user/ed/newcons/sys/dev/mge/if_mge.c user/ed/newcons/sys/dev/mii/brgphy.c user/ed/newcons/sys/dev/mii/miidevs user/ed/newcons/sys/dev/mly/mly.c user/ed/newcons/sys/dev/mly/mlyvar.h user/ed/newcons/sys/dev/mmc/mmc.c user/ed/newcons/sys/dev/mmc/mmcreg.h user/ed/newcons/sys/dev/mn/if_mn.c (contents, props changed) user/ed/newcons/sys/dev/mps/mps.c user/ed/newcons/sys/dev/mps/mps_sas.c user/ed/newcons/sys/dev/mps/mpsvar.h user/ed/newcons/sys/dev/mpt/mpt_cam.c user/ed/newcons/sys/dev/msk/if_msk.c user/ed/newcons/sys/dev/mvs/mvs.c user/ed/newcons/sys/dev/mwl/if_mwl.c user/ed/newcons/sys/dev/mxge/if_mxge.c (contents, props changed) user/ed/newcons/sys/dev/mxge/if_mxge_var.h user/ed/newcons/sys/dev/my/if_my.c (contents, props changed) user/ed/newcons/sys/dev/nand/nand_id.c user/ed/newcons/sys/dev/netmap/if_em_netmap.h user/ed/newcons/sys/dev/netmap/if_igb_netmap.h user/ed/newcons/sys/dev/netmap/if_lem_netmap.h user/ed/newcons/sys/dev/netmap/if_re_netmap.h user/ed/newcons/sys/dev/netmap/ixgbe_netmap.h user/ed/newcons/sys/dev/netmap/netmap.c user/ed/newcons/sys/dev/netmap/netmap_kern.h user/ed/newcons/sys/dev/netmap/netmap_mem2.c user/ed/newcons/sys/dev/nfe/if_nfe.c user/ed/newcons/sys/dev/nge/if_nge.c user/ed/newcons/sys/dev/nve/if_nve.c user/ed/newcons/sys/dev/nvme/nvme.c user/ed/newcons/sys/dev/nvme/nvme_ctrlr.c user/ed/newcons/sys/dev/nvme/nvme_private.h user/ed/newcons/sys/dev/nvram2env/nvram2env.c (contents, props changed) user/ed/newcons/sys/dev/nxge/if_nxge.c (contents, props changed) user/ed/newcons/sys/dev/oce/oce_if.c (contents, props changed) user/ed/newcons/sys/dev/oce/oce_if.h user/ed/newcons/sys/dev/patm/if_patm_intr.c user/ed/newcons/sys/dev/patm/if_patm_rx.c user/ed/newcons/sys/dev/patm/if_patm_tx.c user/ed/newcons/sys/dev/pci/pci.c user/ed/newcons/sys/dev/pci/pci_user.c user/ed/newcons/sys/dev/pcn/if_pcn.c user/ed/newcons/sys/dev/pdq/pdq_freebsd.h user/ed/newcons/sys/dev/pdq/pdq_ifsubr.c user/ed/newcons/sys/dev/pdq/pdqvar.h user/ed/newcons/sys/dev/puc/puc.c user/ed/newcons/sys/dev/qlxgb/qla_os.c user/ed/newcons/sys/dev/ral/rt2560.c user/ed/newcons/sys/dev/ral/rt2661.c user/ed/newcons/sys/dev/ral/rt2860.c user/ed/newcons/sys/dev/re/if_re.c user/ed/newcons/sys/dev/rt/if_rt.c user/ed/newcons/sys/dev/safe/safe.c user/ed/newcons/sys/dev/sbni/if_sbni.c user/ed/newcons/sys/dev/sdhci/sdhci.c user/ed/newcons/sys/dev/sdhci/sdhci.h user/ed/newcons/sys/dev/sdhci/sdhci_if.m user/ed/newcons/sys/dev/sdhci/sdhci_pci.c user/ed/newcons/sys/dev/sf/if_sf.c user/ed/newcons/sys/dev/sfxge/sfxge_dma.c user/ed/newcons/sys/dev/sfxge/sfxge_tx.c user/ed/newcons/sys/dev/sge/if_sge.c user/ed/newcons/sys/dev/siis/siis.c user/ed/newcons/sys/dev/sis/if_sis.c user/ed/newcons/sys/dev/sk/if_sk.c user/ed/newcons/sys/dev/smc/if_smc.c user/ed/newcons/sys/dev/sn/if_sn.c user/ed/newcons/sys/dev/snc/dp83932.c user/ed/newcons/sys/dev/sound/pci/emu10kx-midi.c (contents, props changed) user/ed/newcons/sys/dev/sound/pci/emu10kx-pcm.c (contents, props changed) user/ed/newcons/sys/dev/sound/pci/emu10kx.c (contents, props changed) user/ed/newcons/sys/dev/sound/pci/hda/hdaa.c user/ed/newcons/sys/dev/sound/pci/hda/hdaa_patches.c user/ed/newcons/sys/dev/sound/pci/hda/hdac.c user/ed/newcons/sys/dev/sound/pci/hda/hdac.h user/ed/newcons/sys/dev/sound/pcm/mixer.c user/ed/newcons/sys/dev/sound/pcm/mixer.h user/ed/newcons/sys/dev/sound/sbus/cs4231.c (contents, props changed) user/ed/newcons/sys/dev/sound/usb/uaudio.c user/ed/newcons/sys/dev/sound/usb/uaudio_pcm.c user/ed/newcons/sys/dev/ste/if_ste.c user/ed/newcons/sys/dev/stge/if_stge.c user/ed/newcons/sys/dev/sym/sym_hipd.c user/ed/newcons/sys/dev/syscons/syscons.c user/ed/newcons/sys/dev/terasic/de4led/terasic_de4led.c user/ed/newcons/sys/dev/terasic/de4led/terasic_de4led.h user/ed/newcons/sys/dev/terasic/de4led/terasic_de4led_nexus.c user/ed/newcons/sys/dev/terasic/mtl/terasic_mtl.c user/ed/newcons/sys/dev/terasic/mtl/terasic_mtl.h user/ed/newcons/sys/dev/terasic/mtl/terasic_mtl_nexus.c user/ed/newcons/sys/dev/ti/if_ti.c user/ed/newcons/sys/dev/tl/if_tl.c user/ed/newcons/sys/dev/trm/trm.c user/ed/newcons/sys/dev/tsec/if_tsec.c user/ed/newcons/sys/dev/twa/tw_osl.h user/ed/newcons/sys/dev/twa/tw_osl_cam.c user/ed/newcons/sys/dev/twa/tw_osl_freebsd.c user/ed/newcons/sys/dev/tws/tws.h user/ed/newcons/sys/dev/tws/tws_cam.c user/ed/newcons/sys/dev/tx/if_tx.c user/ed/newcons/sys/dev/txp/if_txp.c user/ed/newcons/sys/dev/uart/uart_bus.h user/ed/newcons/sys/dev/uart/uart_bus_acpi.c user/ed/newcons/sys/dev/uart/uart_bus_fdt.c user/ed/newcons/sys/dev/uart/uart_bus_isa.c user/ed/newcons/sys/dev/uart/uart_bus_pci.c user/ed/newcons/sys/dev/uart/uart_core.c user/ed/newcons/sys/dev/uart/uart_dev_ns8250.c user/ed/newcons/sys/dev/ubsec/ubsec.c user/ed/newcons/sys/dev/usb/controller/at91dci.c user/ed/newcons/sys/dev/usb/controller/atmegadci.c user/ed/newcons/sys/dev/usb/controller/avr32dci.c user/ed/newcons/sys/dev/usb/controller/dwc_otg.c user/ed/newcons/sys/dev/usb/controller/ehci.c user/ed/newcons/sys/dev/usb/controller/musb_otg.c user/ed/newcons/sys/dev/usb/controller/ohci.c user/ed/newcons/sys/dev/usb/controller/uhci.c user/ed/newcons/sys/dev/usb/controller/usb_controller.c user/ed/newcons/sys/dev/usb/controller/uss820dci.c user/ed/newcons/sys/dev/usb/controller/xhci.c user/ed/newcons/sys/dev/usb/controller/xhci.h user/ed/newcons/sys/dev/usb/input/uhid.c user/ed/newcons/sys/dev/usb/input/ukbd.c user/ed/newcons/sys/dev/usb/input/ums.c user/ed/newcons/sys/dev/usb/misc/udbp.c user/ed/newcons/sys/dev/usb/misc/ufm.c user/ed/newcons/sys/dev/usb/net/if_axe.c user/ed/newcons/sys/dev/usb/net/if_cdce.c user/ed/newcons/sys/dev/usb/net/if_cue.c user/ed/newcons/sys/dev/usb/net/if_ipheth.c user/ed/newcons/sys/dev/usb/net/if_kue.c user/ed/newcons/sys/dev/usb/net/if_smsc.c user/ed/newcons/sys/dev/usb/net/if_usie.c user/ed/newcons/sys/dev/usb/net/uhso.c user/ed/newcons/sys/dev/usb/net/usb_ethernet.c user/ed/newcons/sys/dev/usb/quirk/usb_quirk.c user/ed/newcons/sys/dev/usb/serial/u3g.c user/ed/newcons/sys/dev/usb/serial/uftdi.c user/ed/newcons/sys/dev/usb/serial/usb_serial.c user/ed/newcons/sys/dev/usb/serial/usb_serial.h user/ed/newcons/sys/dev/usb/storage/umass.c user/ed/newcons/sys/dev/usb/storage/urio.c user/ed/newcons/sys/dev/usb/storage/ustorage_fs.c user/ed/newcons/sys/dev/usb/template/usb_template.c user/ed/newcons/sys/dev/usb/template/usb_template_audio.c user/ed/newcons/sys/dev/usb/template/usb_template_cdce.c user/ed/newcons/sys/dev/usb/template/usb_template_kbd.c user/ed/newcons/sys/dev/usb/template/usb_template_modem.c user/ed/newcons/sys/dev/usb/template/usb_template_mouse.c user/ed/newcons/sys/dev/usb/template/usb_template_msc.c user/ed/newcons/sys/dev/usb/template/usb_template_mtp.c user/ed/newcons/sys/dev/usb/ufm_ioctl.h user/ed/newcons/sys/dev/usb/usb.h user/ed/newcons/sys/dev/usb/usb_bus.h user/ed/newcons/sys/dev/usb/usb_busdma.c user/ed/newcons/sys/dev/usb/usb_busdma.h user/ed/newcons/sys/dev/usb/usb_compat_linux.c user/ed/newcons/sys/dev/usb/usb_controller.h user/ed/newcons/sys/dev/usb/usb_core.c user/ed/newcons/sys/dev/usb/usb_core.h user/ed/newcons/sys/dev/usb/usb_debug.c user/ed/newcons/sys/dev/usb/usb_dev.c user/ed/newcons/sys/dev/usb/usb_dev.h user/ed/newcons/sys/dev/usb/usb_device.c user/ed/newcons/sys/dev/usb/usb_device.h user/ed/newcons/sys/dev/usb/usb_dynamic.c user/ed/newcons/sys/dev/usb/usb_endian.h user/ed/newcons/sys/dev/usb/usb_error.c user/ed/newcons/sys/dev/usb/usb_freebsd.h user/ed/newcons/sys/dev/usb/usb_generic.c user/ed/newcons/sys/dev/usb/usb_handle_request.c user/ed/newcons/sys/dev/usb/usb_hid.c user/ed/newcons/sys/dev/usb/usb_hub.c user/ed/newcons/sys/dev/usb/usb_ioctl.h user/ed/newcons/sys/dev/usb/usb_lookup.c user/ed/newcons/sys/dev/usb/usb_mbuf.c user/ed/newcons/sys/dev/usb/usb_msctest.c user/ed/newcons/sys/dev/usb/usb_parse.c user/ed/newcons/sys/dev/usb/usb_pci.h user/ed/newcons/sys/dev/usb/usb_pf.c user/ed/newcons/sys/dev/usb/usb_process.c user/ed/newcons/sys/dev/usb/usb_process.h user/ed/newcons/sys/dev/usb/usb_request.c user/ed/newcons/sys/dev/usb/usb_transfer.c user/ed/newcons/sys/dev/usb/usb_util.c user/ed/newcons/sys/dev/usb/usbdevs user/ed/newcons/sys/dev/usb/usbdi.h user/ed/newcons/sys/dev/usb/usbhid.h user/ed/newcons/sys/dev/usb/wlan/if_rum.c user/ed/newcons/sys/dev/usb/wlan/if_rumvar.h user/ed/newcons/sys/dev/usb/wlan/if_run.c user/ed/newcons/sys/dev/usb/wlan/if_runvar.h user/ed/newcons/sys/dev/usb/wlan/if_uath.c user/ed/newcons/sys/dev/usb/wlan/if_uathvar.h user/ed/newcons/sys/dev/usb/wlan/if_upgt.c user/ed/newcons/sys/dev/usb/wlan/if_upgtvar.h user/ed/newcons/sys/dev/usb/wlan/if_ural.c user/ed/newcons/sys/dev/usb/wlan/if_uralvar.h user/ed/newcons/sys/dev/usb/wlan/if_urtw.c user/ed/newcons/sys/dev/usb/wlan/if_urtwvar.h user/ed/newcons/sys/dev/usb/wlan/if_zyd.c user/ed/newcons/sys/dev/usb/wlan/if_zydreg.h user/ed/newcons/sys/dev/vge/if_vge.c user/ed/newcons/sys/dev/virtio/block/virtio_blk.c user/ed/newcons/sys/dev/virtio/network/if_vtnet.c user/ed/newcons/sys/dev/virtio/scsi/virtio_scsi.c user/ed/newcons/sys/dev/vr/if_vr.c user/ed/newcons/sys/dev/vte/if_vte.c user/ed/newcons/sys/dev/vx/if_vx.c user/ed/newcons/sys/dev/vx/if_vx_eisa.c (contents, props changed) user/ed/newcons/sys/dev/vx/if_vx_pci.c (contents, props changed) user/ed/newcons/sys/dev/vxge/vxge.c (contents, props changed) user/ed/newcons/sys/dev/wb/if_wb.c user/ed/newcons/sys/dev/wbwd/wbwd.c user/ed/newcons/sys/dev/wds/wd7000.c user/ed/newcons/sys/dev/wi/if_wi.c user/ed/newcons/sys/dev/wl/if_wl.c user/ed/newcons/sys/dev/wpi/if_wpi.c user/ed/newcons/sys/dev/wtap/if_wtap.c user/ed/newcons/sys/dev/wtap/plugins/visibility.c user/ed/newcons/sys/dev/xe/if_xe.c user/ed/newcons/sys/dev/xen/console/console.c user/ed/newcons/sys/dev/xen/control/control.c user/ed/newcons/sys/dev/xen/netfront/netfront.c user/ed/newcons/sys/dev/xl/if_xl.c user/ed/newcons/sys/fs/devfs/devfs_vnops.c user/ed/newcons/sys/fs/ext2fs/ext2_alloc.c user/ed/newcons/sys/fs/ext2fs/ext2_balloc.c user/ed/newcons/sys/fs/ext2fs/ext2_bmap.c user/ed/newcons/sys/fs/ext2fs/ext2_dinode.h (contents, props changed) user/ed/newcons/sys/fs/ext2fs/ext2_dir.h (contents, props changed) user/ed/newcons/sys/fs/ext2fs/ext2_inode.c user/ed/newcons/sys/fs/ext2fs/ext2_inode_cnv.c user/ed/newcons/sys/fs/ext2fs/ext2_lookup.c user/ed/newcons/sys/fs/ext2fs/ext2_mount.h user/ed/newcons/sys/fs/ext2fs/ext2_subr.c user/ed/newcons/sys/fs/ext2fs/ext2_vfsops.c user/ed/newcons/sys/fs/ext2fs/ext2_vnops.c user/ed/newcons/sys/fs/ext2fs/ext2fs.h (contents, props changed) user/ed/newcons/sys/fs/ext2fs/fs.h user/ed/newcons/sys/fs/ext2fs/inode.h user/ed/newcons/sys/fs/fuse/fuse_io.c user/ed/newcons/sys/fs/msdosfs/msdosfs_fat.c user/ed/newcons/sys/fs/msdosfs/msdosfs_vfsops.c user/ed/newcons/sys/fs/msdosfs/msdosfs_vnops.c user/ed/newcons/sys/fs/msdosfs/msdosfsmount.h user/ed/newcons/sys/fs/nandfs/nandfs_segment.c user/ed/newcons/sys/fs/nfs/nfs.h user/ed/newcons/sys/fs/nfs/nfs_commonkrpc.c user/ed/newcons/sys/fs/nfs/nfs_commonport.c user/ed/newcons/sys/fs/nfs/nfs_commonsubs.c user/ed/newcons/sys/fs/nfs/nfs_var.h user/ed/newcons/sys/fs/nfs/nfscl.h user/ed/newcons/sys/fs/nfs/nfsclstate.h user/ed/newcons/sys/fs/nfs/nfsm_subs.h user/ed/newcons/sys/fs/nfs/nfsport.h user/ed/newcons/sys/fs/nfs/nfsproto.h user/ed/newcons/sys/fs/nfsclient/nfs_clbio.c user/ed/newcons/sys/fs/nfsclient/nfs_clcomsubs.c user/ed/newcons/sys/fs/nfsclient/nfs_clkdtrace.c user/ed/newcons/sys/fs/nfsclient/nfs_clkrpc.c user/ed/newcons/sys/fs/nfsclient/nfs_clport.c user/ed/newcons/sys/fs/nfsclient/nfs_clrpcops.c user/ed/newcons/sys/fs/nfsclient/nfs_clstate.c user/ed/newcons/sys/fs/nfsclient/nfs_clvfsops.c user/ed/newcons/sys/fs/nfsclient/nfs_clvnops.c user/ed/newcons/sys/fs/nfsclient/nfsmount.h user/ed/newcons/sys/fs/nfsclient/nfsnode.h user/ed/newcons/sys/fs/nfsserver/nfs_nfsdcache.c user/ed/newcons/sys/fs/nfsserver/nfs_nfsdkrpc.c user/ed/newcons/sys/fs/nfsserver/nfs_nfsdport.c user/ed/newcons/sys/fs/nfsserver/nfs_nfsdserv.c user/ed/newcons/sys/fs/nfsserver/nfs_nfsdstate.c user/ed/newcons/sys/fs/nullfs/null.h user/ed/newcons/sys/fs/nullfs/null_subr.c user/ed/newcons/sys/fs/nullfs/null_vfsops.c user/ed/newcons/sys/fs/nullfs/null_vnops.c user/ed/newcons/sys/fs/tmpfs/tmpfs.h user/ed/newcons/sys/fs/tmpfs/tmpfs_subr.c user/ed/newcons/sys/fs/tmpfs/tmpfs_vfsops.c user/ed/newcons/sys/fs/tmpfs/tmpfs_vnops.c user/ed/newcons/sys/geom/geom_io.c user/ed/newcons/sys/geom/geom_vfs.c user/ed/newcons/sys/geom/journal/g_journal.c user/ed/newcons/sys/geom/label/g_label.c user/ed/newcons/sys/geom/mirror/g_mirror.c user/ed/newcons/sys/geom/raid/g_raid.c user/ed/newcons/sys/geom/raid/g_raid.h user/ed/newcons/sys/geom/raid/md_intel.c user/ed/newcons/sys/geom/raid/md_promise.c user/ed/newcons/sys/geom/raid/tr_concat.c user/ed/newcons/sys/geom/raid3/g_raid3.c user/ed/newcons/sys/geom/raid3/g_raid3_ctl.c user/ed/newcons/sys/i386/acpica/acpi_machdep.c user/ed/newcons/sys/i386/conf/GENERIC user/ed/newcons/sys/i386/conf/NOTES user/ed/newcons/sys/i386/i386/db_trace.c user/ed/newcons/sys/i386/i386/mp_machdep.c user/ed/newcons/sys/i386/i386/pmap.c user/ed/newcons/sys/i386/include/intr_machdep.h user/ed/newcons/sys/i386/include/vmparam.h user/ed/newcons/sys/i386/linux/linux.h user/ed/newcons/sys/i386/linux/linux_ptrace.c user/ed/newcons/sys/i386/linux/linux_sysvec.c user/ed/newcons/sys/i386/xen/pmap.c user/ed/newcons/sys/i386/xen/xen_machdep.c user/ed/newcons/sys/ia64/conf/GENERIC user/ed/newcons/sys/ia64/ia64/busdma_machdep.c user/ed/newcons/sys/ia64/ia64/dump_machdep.c user/ed/newcons/sys/ia64/ia64/genassym.c user/ed/newcons/sys/ia64/ia64/machdep.c user/ed/newcons/sys/ia64/ia64/mem.c user/ed/newcons/sys/ia64/ia64/support.S user/ed/newcons/sys/ia64/ia64/syscall.S user/ed/newcons/sys/ia64/include/proc.h user/ed/newcons/sys/kern/imgact_elf.c user/ed/newcons/sys/kern/init_main.c user/ed/newcons/sys/kern/kern_clock.c user/ed/newcons/sys/kern/kern_clocksource.c user/ed/newcons/sys/kern/kern_conf.c user/ed/newcons/sys/kern/kern_descrip.c user/ed/newcons/sys/kern/kern_exec.c user/ed/newcons/sys/kern/kern_exit.c user/ed/newcons/sys/kern/kern_fork.c user/ed/newcons/sys/kern/kern_intr.c user/ed/newcons/sys/kern/kern_jail.c user/ed/newcons/sys/kern/kern_ktr.c user/ed/newcons/sys/kern/kern_lock.c user/ed/newcons/sys/kern/kern_malloc.c user/ed/newcons/sys/kern/kern_mbuf.c user/ed/newcons/sys/kern/kern_mib.c user/ed/newcons/sys/kern/kern_mutex.c user/ed/newcons/sys/kern/kern_priv.c user/ed/newcons/sys/kern/kern_rmlock.c user/ed/newcons/sys/kern/kern_rwlock.c user/ed/newcons/sys/kern/kern_shutdown.c user/ed/newcons/sys/kern/kern_sig.c user/ed/newcons/sys/kern/kern_switch.c user/ed/newcons/sys/kern/kern_sx.c user/ed/newcons/sys/kern/kern_synch.c user/ed/newcons/sys/kern/kern_sysctl.c user/ed/newcons/sys/kern/kern_tc.c user/ed/newcons/sys/kern/kern_thread.c user/ed/newcons/sys/kern/kern_time.c user/ed/newcons/sys/kern/kern_timeout.c user/ed/newcons/sys/kern/subr_blist.c user/ed/newcons/sys/kern/subr_bus.c user/ed/newcons/sys/kern/subr_mchain.c user/ed/newcons/sys/kern/subr_param.c user/ed/newcons/sys/kern/subr_sleepqueue.c user/ed/newcons/sys/kern/subr_smp.c user/ed/newcons/sys/kern/subr_syscall.c user/ed/newcons/sys/kern/subr_turnstile.c user/ed/newcons/sys/kern/subr_uio.c user/ed/newcons/sys/kern/subr_witness.c user/ed/newcons/sys/kern/sys_capability.c user/ed/newcons/sys/kern/sys_generic.c user/ed/newcons/sys/kern/sys_pipe.c user/ed/newcons/sys/kern/sys_process.c user/ed/newcons/sys/kern/uipc_domain.c user/ed/newcons/sys/kern/uipc_mbuf.c user/ed/newcons/sys/kern/uipc_mbuf2.c user/ed/newcons/sys/kern/uipc_sockbuf.c user/ed/newcons/sys/kern/uipc_socket.c user/ed/newcons/sys/kern/uipc_syscalls.c user/ed/newcons/sys/kern/uipc_usrreq.c user/ed/newcons/sys/kern/vfs_acl.c user/ed/newcons/sys/kern/vfs_bio.c user/ed/newcons/sys/kern/vfs_cluster.c user/ed/newcons/sys/kern/vfs_export.c user/ed/newcons/sys/kern/vfs_hash.c user/ed/newcons/sys/kern/vfs_mount.c user/ed/newcons/sys/kern/vfs_mountroot.c user/ed/newcons/sys/kern/vfs_subr.c user/ed/newcons/sys/kern/vfs_syscalls.c user/ed/newcons/sys/kern/vfs_vnops.c user/ed/newcons/sys/kgssapi/gss_accept_sec_context.c user/ed/newcons/sys/kgssapi/gss_acquire_cred.c user/ed/newcons/sys/kgssapi/gss_canonicalize_name.c user/ed/newcons/sys/kgssapi/gss_delete_sec_context.c user/ed/newcons/sys/kgssapi/gss_display_status.c user/ed/newcons/sys/kgssapi/gss_export_name.c user/ed/newcons/sys/kgssapi/gss_impl.c user/ed/newcons/sys/kgssapi/gss_import_name.c user/ed/newcons/sys/kgssapi/gss_init_sec_context.c user/ed/newcons/sys/kgssapi/gss_pname_to_uid.c user/ed/newcons/sys/kgssapi/gss_release_cred.c user/ed/newcons/sys/kgssapi/gss_release_name.c user/ed/newcons/sys/kgssapi/gss_set_cred_option.c user/ed/newcons/sys/kgssapi/gssapi_impl.h user/ed/newcons/sys/libkern/arm/divsi3.S user/ed/newcons/sys/libkern/quad.h user/ed/newcons/sys/libkern/ucmpdi2.c user/ed/newcons/sys/mips/adm5120/if_admsw.c user/ed/newcons/sys/mips/atheros/ar71xx_pci.c user/ed/newcons/sys/mips/atheros/if_arge.c user/ed/newcons/sys/mips/beri/beri_machdep.c user/ed/newcons/sys/mips/beri/files.beri user/ed/newcons/sys/mips/cavium/if_octm.c user/ed/newcons/sys/mips/cavium/octe/ethernet-mem.c user/ed/newcons/sys/mips/cavium/octe/ethernet-rx.c user/ed/newcons/sys/mips/conf/OCTEON1 user/ed/newcons/sys/mips/idt/if_kr.c user/ed/newcons/sys/mips/include/bus.h user/ed/newcons/sys/mips/include/fdt.h user/ed/newcons/sys/mips/include/metadata.h user/ed/newcons/sys/mips/include/param.h user/ed/newcons/sys/mips/include/vmparam.h user/ed/newcons/sys/mips/mips/busdma_machdep.c user/ed/newcons/sys/mips/nlm/dev/net/mdio.c user/ed/newcons/sys/mips/nlm/dev/net/nae.c user/ed/newcons/sys/mips/nlm/dev/net/sgmii.c user/ed/newcons/sys/mips/nlm/dev/net/xlpge.c user/ed/newcons/sys/mips/nlm/hal/fmn.c user/ed/newcons/sys/mips/nlm/hal/mdio.h user/ed/newcons/sys/mips/nlm/hal/sys.h user/ed/newcons/sys/mips/nlm/hal/ucore_loader.h user/ed/newcons/sys/mips/nlm/xlp_machdep.c user/ed/newcons/sys/mips/nlm/xlp_pci.c user/ed/newcons/sys/mips/rmi/dev/nlge/if_nlge.c user/ed/newcons/sys/mips/rmi/dev/xlr/rge.c user/ed/newcons/sys/modules/Makefile user/ed/newcons/sys/modules/acpi/acpi/Makefile user/ed/newcons/sys/modules/ath/Makefile user/ed/newcons/sys/modules/cxgbe/tom/Makefile user/ed/newcons/sys/modules/hpt27xx/Makefile user/ed/newcons/sys/modules/iwn/Makefile user/ed/newcons/sys/modules/mxge/mxge/Makefile user/ed/newcons/sys/modules/usb/Makefile user/ed/newcons/sys/modules/usb/smsc/Makefile user/ed/newcons/sys/modules/wlan/Makefile user/ed/newcons/sys/net/bpf.c user/ed/newcons/sys/net/bpf.h user/ed/newcons/sys/net/bpf_buffer.c user/ed/newcons/sys/net/bpfdesc.h user/ed/newcons/sys/net/bridgestp.c user/ed/newcons/sys/net/ieee8023ad_lacp.c user/ed/newcons/sys/net/if.c user/ed/newcons/sys/net/if_arcsubr.c user/ed/newcons/sys/net/if_atmsubr.c user/ed/newcons/sys/net/if_bridge.c user/ed/newcons/sys/net/if_ef.c user/ed/newcons/sys/net/if_ethersubr.c user/ed/newcons/sys/net/if_fddisubr.c user/ed/newcons/sys/net/if_fwsubr.c user/ed/newcons/sys/net/if_gre.c user/ed/newcons/sys/net/if_iso88025subr.c user/ed/newcons/sys/net/if_lagg.c user/ed/newcons/sys/net/if_llatbl.c user/ed/newcons/sys/net/if_llatbl.h user/ed/newcons/sys/net/if_pfsync.h user/ed/newcons/sys/net/if_spppfr.c user/ed/newcons/sys/net/if_spppsubr.c user/ed/newcons/sys/net/if_stf.c user/ed/newcons/sys/net/if_tap.c user/ed/newcons/sys/net/if_tun.c user/ed/newcons/sys/net/if_var.h user/ed/newcons/sys/net/netmap.h user/ed/newcons/sys/net/rtsock.c user/ed/newcons/sys/net/zlib.c user/ed/newcons/sys/net/zlib.h user/ed/newcons/sys/net80211/ieee80211.h user/ed/newcons/sys/net80211/ieee80211_action.c user/ed/newcons/sys/net80211/ieee80211_adhoc.c user/ed/newcons/sys/net80211/ieee80211_ddb.c user/ed/newcons/sys/net80211/ieee80211_freebsd.c user/ed/newcons/sys/net80211/ieee80211_hostap.c user/ed/newcons/sys/net80211/ieee80211_hwmp.c user/ed/newcons/sys/net80211/ieee80211_input.c user/ed/newcons/sys/net80211/ieee80211_ioctl.h user/ed/newcons/sys/net80211/ieee80211_mesh.c user/ed/newcons/sys/net80211/ieee80211_mesh.h user/ed/newcons/sys/net80211/ieee80211_node.c user/ed/newcons/sys/net80211/ieee80211_node.h user/ed/newcons/sys/net80211/ieee80211_output.c user/ed/newcons/sys/net80211/ieee80211_power.c user/ed/newcons/sys/net80211/ieee80211_proto.c user/ed/newcons/sys/net80211/ieee80211_radiotap.h user/ed/newcons/sys/net80211/ieee80211_regdomain.h user/ed/newcons/sys/net80211/ieee80211_scan_sta.c user/ed/newcons/sys/net80211/ieee80211_sta.c user/ed/newcons/sys/net80211/ieee80211_sta.h user/ed/newcons/sys/net80211/ieee80211_superg.c user/ed/newcons/sys/net80211/ieee80211_superg.h user/ed/newcons/sys/net80211/ieee80211_wds.c user/ed/newcons/sys/netatalk/aarp.c user/ed/newcons/sys/netatalk/ddp_output.c user/ed/newcons/sys/netgraph/atm/ccatm/ng_ccatm.c user/ed/newcons/sys/netgraph/atm/ng_atm.c user/ed/newcons/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c user/ed/newcons/sys/netgraph/bluetooth/drivers/h4/ng_h4.c user/ed/newcons/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c user/ed/newcons/sys/netgraph/bluetooth/hci/ng_hci_cmds.c user/ed/newcons/sys/netgraph/bluetooth/hci/ng_hci_evnt.c user/ed/newcons/sys/netgraph/bluetooth/hci/ng_hci_misc.c user/ed/newcons/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c user/ed/newcons/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h user/ed/newcons/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c user/ed/newcons/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c user/ed/newcons/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c user/ed/newcons/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c user/ed/newcons/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c user/ed/newcons/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c user/ed/newcons/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c user/ed/newcons/sys/netgraph/netflow/netflow.c user/ed/newcons/sys/netgraph/netflow/netflow_v9.c user/ed/newcons/sys/netgraph/ng_UI.c user/ed/newcons/sys/netgraph/ng_atmllc.c user/ed/newcons/sys/netgraph/ng_bridge.c user/ed/newcons/sys/netgraph/ng_cisco.c user/ed/newcons/sys/netgraph/ng_deflate.c user/ed/newcons/sys/netgraph/ng_device.c user/ed/newcons/sys/netgraph/ng_ether.c user/ed/newcons/sys/netgraph/ng_frame_relay.c user/ed/newcons/sys/netgraph/ng_gif.c user/ed/newcons/sys/netgraph/ng_gif_demux.c user/ed/newcons/sys/netgraph/ng_hub.c user/ed/newcons/sys/netgraph/ng_iface.c user/ed/newcons/sys/netgraph/ng_ipfw.c user/ed/newcons/sys/netgraph/ng_l2tp.c user/ed/newcons/sys/netgraph/ng_lmi.c user/ed/newcons/sys/netgraph/ng_mppc.c user/ed/newcons/sys/netgraph/ng_one2many.c user/ed/newcons/sys/netgraph/ng_parse.c user/ed/newcons/sys/netgraph/ng_ppp.c user/ed/newcons/sys/netgraph/ng_pppoe.c user/ed/newcons/sys/netgraph/ng_pptpgre.c user/ed/newcons/sys/netgraph/ng_pred1.c user/ed/newcons/sys/netgraph/ng_rfc1490.c user/ed/newcons/sys/netgraph/ng_source.c user/ed/newcons/sys/netgraph/ng_tee.c user/ed/newcons/sys/netgraph/ng_tty.c user/ed/newcons/sys/netgraph/ng_vjc.c user/ed/newcons/sys/netgraph/ng_vlan.c user/ed/newcons/sys/netinet/if_ether.c user/ed/newcons/sys/netinet/if_ether.h user/ed/newcons/sys/netinet/igmp.c user/ed/newcons/sys/netinet/in.c user/ed/newcons/sys/netinet/in_gif.c user/ed/newcons/sys/netinet/in_pcb.c user/ed/newcons/sys/netinet/ip_carp.c user/ed/newcons/sys/netinet/ip_carp.h user/ed/newcons/sys/netinet/ip_icmp.c user/ed/newcons/sys/netinet/ip_input.c user/ed/newcons/sys/netinet/ip_mroute.c user/ed/newcons/sys/netinet/ip_options.c user/ed/newcons/sys/netinet/ip_output.c user/ed/newcons/sys/netinet/libalias/alias.c user/ed/newcons/sys/netinet/libalias/libalias.3 user/ed/newcons/sys/netinet/raw_ip.c user/ed/newcons/sys/netinet/sctp.h user/ed/newcons/sys/netinet/sctp_asconf.c user/ed/newcons/sys/netinet/sctp_auth.c user/ed/newcons/sys/netinet/sctp_indata.c user/ed/newcons/sys/netinet/sctp_input.c user/ed/newcons/sys/netinet/sctp_output.c user/ed/newcons/sys/netinet/sctp_output.h user/ed/newcons/sys/netinet/sctp_pcb.c user/ed/newcons/sys/netinet/sctp_pcb.h user/ed/newcons/sys/netinet/sctp_structs.h user/ed/newcons/sys/netinet/sctp_sysctl.c user/ed/newcons/sys/netinet/sctp_timer.c user/ed/newcons/sys/netinet/sctp_usrreq.c user/ed/newcons/sys/netinet/sctputil.c user/ed/newcons/sys/netinet/tcp.h user/ed/newcons/sys/netinet/tcp_input.c user/ed/newcons/sys/netinet/tcp_output.c user/ed/newcons/sys/netinet/tcp_reass.c user/ed/newcons/sys/netinet/tcp_subr.c user/ed/newcons/sys/netinet/tcp_syncache.c user/ed/newcons/sys/netinet/tcp_timer.c user/ed/newcons/sys/netinet/tcp_timewait.c user/ed/newcons/sys/netinet/tcp_usrreq.c user/ed/newcons/sys/netinet/toecore.c user/ed/newcons/sys/netinet/udp.h user/ed/newcons/sys/netinet/udp_usrreq.c user/ed/newcons/sys/netinet6/frag6.c user/ed/newcons/sys/netinet6/icmp6.c user/ed/newcons/sys/netinet6/in6.c user/ed/newcons/sys/netinet6/in6_gif.c user/ed/newcons/sys/netinet6/in6_src.c user/ed/newcons/sys/netinet6/in6_var.h user/ed/newcons/sys/netinet6/ip6_input.c user/ed/newcons/sys/netinet6/ip6_mroute.c user/ed/newcons/sys/netinet6/ip6_output.c user/ed/newcons/sys/netinet6/ip6_var.h user/ed/newcons/sys/netinet6/mld6.c user/ed/newcons/sys/netinet6/nd6.c user/ed/newcons/sys/netinet6/nd6.h user/ed/newcons/sys/netinet6/nd6_nbr.c user/ed/newcons/sys/netinet6/raw_ip6.c user/ed/newcons/sys/netinet6/scope6.c user/ed/newcons/sys/netinet6/scope6_var.h user/ed/newcons/sys/netinet6/udp6_usrreq.c user/ed/newcons/sys/netipsec/ipsec_mbuf.c user/ed/newcons/sys/netipsec/ipsec_output.c user/ed/newcons/sys/netipsec/key.c user/ed/newcons/sys/netipsec/keysock.c user/ed/newcons/sys/netipsec/xform_ipip.c user/ed/newcons/sys/netipx/ipx_outputfl.c user/ed/newcons/sys/netipx/ipx_usrreq.c user/ed/newcons/sys/netipx/spx_reass.c user/ed/newcons/sys/netipx/spx_usrreq.c user/ed/newcons/sys/netnatm/natm.c user/ed/newcons/sys/netncp/ncp_sock.c user/ed/newcons/sys/netpfil/ipfw/ip_dn_glue.c user/ed/newcons/sys/netpfil/ipfw/ip_fw2.c user/ed/newcons/sys/netpfil/ipfw/ip_fw_dynamic.c user/ed/newcons/sys/netpfil/ipfw/ip_fw_log.c user/ed/newcons/sys/netpfil/ipfw/ip_fw_pfil.c user/ed/newcons/sys/netpfil/ipfw/ip_fw_private.h user/ed/newcons/sys/netpfil/pf/if_pflog.c user/ed/newcons/sys/netpfil/pf/if_pfsync.c user/ed/newcons/sys/netpfil/pf/pf.c user/ed/newcons/sys/netpfil/pf/pf_if.c user/ed/newcons/sys/netpfil/pf/pf_ioctl.c user/ed/newcons/sys/netpfil/pf/pf_lb.c user/ed/newcons/sys/netpfil/pf/pf_norm.c user/ed/newcons/sys/netpfil/pf/pf_osfp.c user/ed/newcons/sys/netpfil/pf/pf_ruleset.c user/ed/newcons/sys/netpfil/pf/pf_table.c user/ed/newcons/sys/netsmb/smb_iod.c user/ed/newcons/sys/netsmb/smb_rq.c user/ed/newcons/sys/netsmb/smb_trantcp.c user/ed/newcons/sys/nfs/krpc_subr.c user/ed/newcons/sys/nfs/nfs_common.c user/ed/newcons/sys/nfs/nfs_common.h user/ed/newcons/sys/nfsclient/nfs_krpc.c user/ed/newcons/sys/nfsclient/nfs_subs.c user/ed/newcons/sys/nfsclient/nfs_vnops.c user/ed/newcons/sys/nfsclient/nfsargs.h user/ed/newcons/sys/nfsserver/nfs_fha.c user/ed/newcons/sys/nfsserver/nfs_serv.c user/ed/newcons/sys/nfsserver/nfs_srvkrpc.c user/ed/newcons/sys/nfsserver/nfs_srvsubs.c user/ed/newcons/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c user/ed/newcons/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/ed/newcons/sys/ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c user/ed/newcons/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c user/ed/newcons/sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c user/ed/newcons/sys/ofed/drivers/net/mlx4/en_tx.c user/ed/newcons/sys/pc98/cbus/pckbd.c user/ed/newcons/sys/pc98/conf/GENERIC user/ed/newcons/sys/pci/if_rl.c user/ed/newcons/sys/pci/if_rlreg.h user/ed/newcons/sys/pci/ncr.c user/ed/newcons/sys/powerpc/booke/platform_bare.c user/ed/newcons/sys/powerpc/conf/GENERIC user/ed/newcons/sys/powerpc/conf/GENERIC64 user/ed/newcons/sys/powerpc/include/platformvar.h user/ed/newcons/sys/powerpc/powermac/platform_powermac.c user/ed/newcons/sys/powerpc/powerpc/busdma_machdep.c user/ed/newcons/sys/powerpc/ps3/if_glc.c user/ed/newcons/sys/powerpc/ps3/platform_ps3.c user/ed/newcons/sys/powerpc/ps3/ps3cdrom.c user/ed/newcons/sys/powerpc/wii/platform_wii.c user/ed/newcons/sys/powerpc/wii/wii_gpio.c user/ed/newcons/sys/powerpc/wii/wii_ipc.c user/ed/newcons/sys/powerpc/wii/wii_pic.c user/ed/newcons/sys/rpc/clnt.h user/ed/newcons/sys/rpc/clnt_dg.c user/ed/newcons/sys/rpc/clnt_rc.c user/ed/newcons/sys/rpc/clnt_vc.c user/ed/newcons/sys/rpc/rpc_generic.c user/ed/newcons/sys/rpc/rpcm_subs.h user/ed/newcons/sys/rpc/rpcsec_gss/rpcsec_gss_prot.c user/ed/newcons/sys/rpc/svc.c user/ed/newcons/sys/rpc/svc.h user/ed/newcons/sys/rpc/svc_dg.c user/ed/newcons/sys/rpc/svc_vc.c user/ed/newcons/sys/security/audit/audit.c user/ed/newcons/sys/security/audit/audit.h user/ed/newcons/sys/security/audit/audit_bsm.c user/ed/newcons/sys/security/audit/audit_private.h user/ed/newcons/sys/sparc64/conf/GENERIC user/ed/newcons/sys/sparc64/include/bus_dma.h user/ed/newcons/sys/sparc64/include/smp.h user/ed/newcons/sys/sparc64/include/vmparam.h user/ed/newcons/sys/sparc64/sparc64/bus_machdep.c user/ed/newcons/sys/sparc64/sparc64/interrupt.S user/ed/newcons/sys/sparc64/sparc64/iommu.c user/ed/newcons/sys/sparc64/sparc64/tick.c user/ed/newcons/sys/sys/buf.h user/ed/newcons/sys/sys/buf_ring.h user/ed/newcons/sys/sys/bufobj.h user/ed/newcons/sys/sys/bus_dma.h user/ed/newcons/sys/sys/copyright.h user/ed/newcons/sys/sys/diskmbr.h user/ed/newcons/sys/sys/file.h user/ed/newcons/sys/sys/filedesc.h user/ed/newcons/sys/sys/fnv_hash.h user/ed/newcons/sys/sys/kdb.h user/ed/newcons/sys/sys/kernel.h user/ed/newcons/sys/sys/ktr.h user/ed/newcons/sys/sys/mbuf.h user/ed/newcons/sys/sys/mount.h user/ed/newcons/sys/sys/namei.h user/ed/newcons/sys/sys/param.h user/ed/newcons/sys/sys/pmc.h user/ed/newcons/sys/sys/proc.h user/ed/newcons/sys/sys/protosw.h user/ed/newcons/sys/sys/queue.h user/ed/newcons/sys/sys/signalvar.h user/ed/newcons/sys/sys/socket.h user/ed/newcons/sys/sys/socketvar.h user/ed/newcons/sys/sys/sysctl.h user/ed/newcons/sys/sys/systm.h user/ed/newcons/sys/sys/time.h user/ed/newcons/sys/sys/uio.h user/ed/newcons/sys/sys/un.h user/ed/newcons/sys/sys/vdso.h user/ed/newcons/sys/sys/vmmeter.h user/ed/newcons/sys/sys/vnode.h user/ed/newcons/sys/tools/vnode_if.awk user/ed/newcons/sys/ufs/ffs/ffs_alloc.c user/ed/newcons/sys/ufs/ffs/ffs_inode.c user/ed/newcons/sys/ufs/ffs/ffs_snapshot.c user/ed/newcons/sys/ufs/ffs/ffs_softdep.c user/ed/newcons/sys/ufs/ffs/ffs_suspend.c user/ed/newcons/sys/ufs/ffs/ffs_vfsops.c user/ed/newcons/sys/ufs/ufs/inode.h user/ed/newcons/sys/ufs/ufs/ufs_lookup.c user/ed/newcons/sys/ufs/ufs/ufs_quota.c user/ed/newcons/sys/vm/device_pager.c user/ed/newcons/sys/vm/uma.h user/ed/newcons/sys/vm/uma_core.c user/ed/newcons/sys/vm/uma_int.h user/ed/newcons/sys/vm/vm.h user/ed/newcons/sys/vm/vm_fault.c user/ed/newcons/sys/vm/vm_kern.c user/ed/newcons/sys/vm/vm_map.c user/ed/newcons/sys/vm/vm_map.h user/ed/newcons/sys/vm/vm_meter.c user/ed/newcons/sys/vm/vm_mmap.c user/ed/newcons/sys/vm/vm_object.c user/ed/newcons/sys/vm/vm_object.h user/ed/newcons/sys/vm/vm_page.c user/ed/newcons/sys/vm/vm_pageout.c user/ed/newcons/sys/vm/vm_phys.c user/ed/newcons/sys/vm/vm_unix.c user/ed/newcons/sys/x86/acpica/srat.c user/ed/newcons/sys/x86/include/bus.h user/ed/newcons/sys/x86/include/specialreg.h user/ed/newcons/sys/x86/isa/clock.c user/ed/newcons/sys/x86/x86/busdma_machdep.c user/ed/newcons/sys/x86/x86/intr_machdep.c user/ed/newcons/sys/x86/x86/local_apic.c user/ed/newcons/sys/x86/x86/tsc.c user/ed/newcons/tools/build/Makefile user/ed/newcons/tools/build/make_check/Makefile user/ed/newcons/tools/build/mk/OptionalObsoleteFiles.inc user/ed/newcons/tools/debugscripts/dot.gdbinit user/ed/newcons/tools/install.sh user/ed/newcons/tools/regression/lib/libc/stdio/test-perror.c user/ed/newcons/tools/regression/sockets/unix_cmsg/README user/ed/newcons/tools/regression/sockets/unix_cmsg/unix_cmsg.c user/ed/newcons/tools/regression/sockets/unix_cmsg/unix_cmsg.t user/ed/newcons/tools/regression/usr.bin/printf/regress.sh user/ed/newcons/tools/test/ppsapi/Makefile user/ed/newcons/tools/test/ppsapi/README user/ed/newcons/tools/test/pthread_vfork/pthread_vfork_test.c user/ed/newcons/tools/tools/ath/Makefile user/ed/newcons/tools/tools/ath/arcode/arcode.c user/ed/newcons/tools/tools/ath/ath_prom_read/ath_prom_read.c user/ed/newcons/tools/tools/ath/athalq/Makefile user/ed/newcons/tools/tools/ath/athalq/ar5210_ds.c user/ed/newcons/tools/tools/ath/athalq/ar5211_ds.c user/ed/newcons/tools/tools/ath/athalq/ar5212_ds.c user/ed/newcons/tools/tools/ath/athalq/ar5416_ds.c user/ed/newcons/tools/tools/ath/athalq/main.c user/ed/newcons/tools/tools/ath/athdebug/athdebug.c user/ed/newcons/tools/tools/ath/athdecode/main.c user/ed/newcons/tools/tools/ath/athkey/athkey.c user/ed/newcons/tools/tools/ath/athprom/athprom.c user/ed/newcons/tools/tools/ath/athratestats/main.c user/ed/newcons/tools/tools/ath/athstats/Makefile user/ed/newcons/tools/tools/ath/athstats/athstats.c user/ed/newcons/tools/tools/ath/athsurvey/athsurvey.c user/ed/newcons/tools/tools/cxgbetool/cxgbetool.c user/ed/newcons/tools/tools/netmap/Makefile user/ed/newcons/tools/tools/netmap/bridge.c user/ed/newcons/tools/tools/netmap/pcap.c user/ed/newcons/tools/tools/netmap/pkt-gen.c user/ed/newcons/tools/tools/netrate/netreceive/Makefile user/ed/newcons/tools/tools/netrate/netreceive/netreceive.c user/ed/newcons/tools/tools/netrate/netsend/netsend.c user/ed/newcons/tools/tools/notescheck/notescheck.py user/ed/newcons/tools/tools/sysbuild/sysbuild.sh user/ed/newcons/usr.bin/Makefile user/ed/newcons/usr.bin/apply/apply.c user/ed/newcons/usr.bin/bmake/Makefile user/ed/newcons/usr.bin/bmake/config.h user/ed/newcons/usr.bin/bmake/unit-tests/Makefile user/ed/newcons/usr.bin/calendar/calendars/calendar.freebsd user/ed/newcons/usr.bin/calendar/parsedata.c user/ed/newcons/usr.bin/clang/bugpoint/Makefile user/ed/newcons/usr.bin/clang/clang-tblgen/Makefile user/ed/newcons/usr.bin/clang/clang/Makefile user/ed/newcons/usr.bin/clang/clang/clang.1 user/ed/newcons/usr.bin/clang/llc/Makefile user/ed/newcons/usr.bin/clang/lli/Makefile user/ed/newcons/usr.bin/clang/llvm-ar/Makefile user/ed/newcons/usr.bin/clang/llvm-as/Makefile user/ed/newcons/usr.bin/clang/llvm-bcanalyzer/Makefile user/ed/newcons/usr.bin/clang/llvm-diff/Makefile user/ed/newcons/usr.bin/clang/llvm-dis/Makefile user/ed/newcons/usr.bin/clang/llvm-extract/Makefile user/ed/newcons/usr.bin/clang/llvm-link/Makefile user/ed/newcons/usr.bin/clang/llvm-mc/Makefile user/ed/newcons/usr.bin/clang/llvm-nm/Makefile user/ed/newcons/usr.bin/clang/llvm-objdump/Makefile user/ed/newcons/usr.bin/clang/llvm-prof/Makefile user/ed/newcons/usr.bin/clang/llvm-ranlib/Makefile user/ed/newcons/usr.bin/clang/llvm-rtdyld/Makefile user/ed/newcons/usr.bin/clang/macho-dump/Makefile user/ed/newcons/usr.bin/clang/opt/Makefile user/ed/newcons/usr.bin/clang/tblgen/Makefile user/ed/newcons/usr.bin/csup/csup.1 user/ed/newcons/usr.bin/dc/bcode.c user/ed/newcons/usr.bin/dc/bcode.h user/ed/newcons/usr.bin/dc/inout.c user/ed/newcons/usr.bin/ee/Makefile user/ed/newcons/usr.bin/fetch/fetch.c user/ed/newcons/usr.bin/find/function.c user/ed/newcons/usr.bin/find/main.c user/ed/newcons/usr.bin/gprof/aout.c user/ed/newcons/usr.bin/gprof/arcs.c user/ed/newcons/usr.bin/gprof/dfn.c user/ed/newcons/usr.bin/gprof/gprof.c user/ed/newcons/usr.bin/gprof/gprof.h user/ed/newcons/usr.bin/gprof/hertz.c user/ed/newcons/usr.bin/gprof/kernel.c user/ed/newcons/usr.bin/gprof/lookup.c user/ed/newcons/usr.bin/gprof/printgprof.c user/ed/newcons/usr.bin/gprof/printlist.c user/ed/newcons/usr.bin/grep/Makefile user/ed/newcons/usr.bin/grep/file.c user/ed/newcons/usr.bin/grep/grep.c user/ed/newcons/usr.bin/grep/grep.h user/ed/newcons/usr.bin/grep/regex/tre-fastmatch.c user/ed/newcons/usr.bin/grep/util.c user/ed/newcons/usr.bin/indent/indent_globs.h user/ed/newcons/usr.bin/join/join.c user/ed/newcons/usr.bin/kdump/kdump.c user/ed/newcons/usr.bin/kdump/mksubr user/ed/newcons/usr.bin/keylogin/keylogin.c user/ed/newcons/usr.bin/less/zless.sh user/ed/newcons/usr.bin/locate/locate/locate.c user/ed/newcons/usr.bin/m4/Makefile user/ed/newcons/usr.bin/mail/util.c user/ed/newcons/usr.bin/make/main.c user/ed/newcons/usr.bin/man/man.1 user/ed/newcons/usr.bin/man/man.sh user/ed/newcons/usr.bin/netstat/inet.c user/ed/newcons/usr.bin/netstat/inet6.c user/ed/newcons/usr.bin/netstat/main.c user/ed/newcons/usr.bin/netstat/netisr.c user/ed/newcons/usr.bin/netstat/sctp.c user/ed/newcons/usr.bin/netstat/unix.c user/ed/newcons/usr.bin/newgrp/newgrp.1 user/ed/newcons/usr.bin/newgrp/newgrp.c user/ed/newcons/usr.bin/printf/printf.c user/ed/newcons/usr.bin/procstat/procstat.c user/ed/newcons/usr.bin/procstat/procstat_files.c user/ed/newcons/usr.bin/rctl/rctl.8 user/ed/newcons/usr.bin/sort/sort.c user/ed/newcons/usr.bin/sort/sort.h user/ed/newcons/usr.bin/stdbuf/stdbuf.c user/ed/newcons/usr.bin/systat/ifcmds.c user/ed/newcons/usr.bin/systat/ifstat.c user/ed/newcons/usr.bin/systat/main.c user/ed/newcons/usr.bin/systat/systat.1 user/ed/newcons/usr.bin/systat/vmstat.c user/ed/newcons/usr.bin/tail/read.c user/ed/newcons/usr.bin/time/time.c user/ed/newcons/usr.bin/tip/tip/cu.1 user/ed/newcons/usr.bin/tr/tr.c user/ed/newcons/usr.bin/truss/main.c user/ed/newcons/usr.bin/ul/ul.c user/ed/newcons/usr.bin/vacation/Makefile user/ed/newcons/usr.bin/vmstat/vmstat.c user/ed/newcons/usr.bin/w/w.c user/ed/newcons/usr.bin/xargs/strnsubst.c user/ed/newcons/usr.bin/xinstall/Makefile user/ed/newcons/usr.bin/xinstall/install.1 user/ed/newcons/usr.bin/xinstall/xinstall.c user/ed/newcons/usr.sbin/Makefile user/ed/newcons/usr.sbin/Makefile.amd64 user/ed/newcons/usr.sbin/Makefile.i386 user/ed/newcons/usr.sbin/Makefile.sparc64 user/ed/newcons/usr.sbin/acpi/acpidb/Makefile user/ed/newcons/usr.sbin/acpi/acpidump/acpi.c user/ed/newcons/usr.sbin/acpi/acpidump/acpidump.8 user/ed/newcons/usr.sbin/acpi/iasl/Makefile user/ed/newcons/usr.sbin/arp/arp.8 user/ed/newcons/usr.sbin/arp/arp.c user/ed/newcons/usr.sbin/bluetooth/hcseriald/hcseriald.8 user/ed/newcons/usr.sbin/bluetooth/hcseriald/hcseriald.c user/ed/newcons/usr.sbin/bsdconfig/Makefile user/ed/newcons/usr.sbin/bsdconfig/USAGE user/ed/newcons/usr.sbin/bsdconfig/bsdconfig user/ed/newcons/usr.sbin/bsdconfig/bsdconfig.8 user/ed/newcons/usr.sbin/bsdconfig/console/console user/ed/newcons/usr.sbin/bsdconfig/console/font user/ed/newcons/usr.sbin/bsdconfig/console/keymap user/ed/newcons/usr.sbin/bsdconfig/console/repeat user/ed/newcons/usr.sbin/bsdconfig/console/saver user/ed/newcons/usr.sbin/bsdconfig/console/screenmap user/ed/newcons/usr.sbin/bsdconfig/console/ttys user/ed/newcons/usr.sbin/bsdconfig/diskmgmt/diskmgmt user/ed/newcons/usr.sbin/bsdconfig/docsinstall/docsinstall user/ed/newcons/usr.sbin/bsdconfig/dot/dot user/ed/newcons/usr.sbin/bsdconfig/examples/bsdconfigrc user/ed/newcons/usr.sbin/bsdconfig/include/messages.subr user/ed/newcons/usr.sbin/bsdconfig/mouse/disable user/ed/newcons/usr.sbin/bsdconfig/mouse/enable user/ed/newcons/usr.sbin/bsdconfig/mouse/flags user/ed/newcons/usr.sbin/bsdconfig/mouse/mouse user/ed/newcons/usr.sbin/bsdconfig/mouse/port user/ed/newcons/usr.sbin/bsdconfig/mouse/type user/ed/newcons/usr.sbin/bsdconfig/networking/defaultrouter user/ed/newcons/usr.sbin/bsdconfig/networking/devices user/ed/newcons/usr.sbin/bsdconfig/networking/hostname user/ed/newcons/usr.sbin/bsdconfig/networking/nameservers user/ed/newcons/usr.sbin/bsdconfig/networking/networking user/ed/newcons/usr.sbin/bsdconfig/networking/share/common.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/device.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/hostname.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/ipaddr.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/media.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/netmask.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/resolv.subr user/ed/newcons/usr.sbin/bsdconfig/networking/share/routing.subr user/ed/newcons/usr.sbin/bsdconfig/password/password user/ed/newcons/usr.sbin/bsdconfig/password/share/password.subr user/ed/newcons/usr.sbin/bsdconfig/security/kern_securelevel user/ed/newcons/usr.sbin/bsdconfig/security/security user/ed/newcons/usr.sbin/bsdconfig/share/Makefile user/ed/newcons/usr.sbin/bsdconfig/share/common.subr user/ed/newcons/usr.sbin/bsdconfig/share/dialog.subr user/ed/newcons/usr.sbin/bsdconfig/share/mustberoot.subr user/ed/newcons/usr.sbin/bsdconfig/share/strings.subr user/ed/newcons/usr.sbin/bsdconfig/share/sysrc.subr user/ed/newcons/usr.sbin/bsdconfig/startup/misc user/ed/newcons/usr.sbin/bsdconfig/startup/rcadd user/ed/newcons/usr.sbin/bsdconfig/startup/rcconf user/ed/newcons/usr.sbin/bsdconfig/startup/rcdelete user/ed/newcons/usr.sbin/bsdconfig/startup/rcedit user/ed/newcons/usr.sbin/bsdconfig/startup/rcvar user/ed/newcons/usr.sbin/bsdconfig/startup/share/rcconf.subr user/ed/newcons/usr.sbin/bsdconfig/startup/share/rcedit.subr user/ed/newcons/usr.sbin/bsdconfig/startup/share/rcvar.subr user/ed/newcons/usr.sbin/bsdconfig/startup/startup user/ed/newcons/usr.sbin/bsdconfig/timezone/share/continents.subr user/ed/newcons/usr.sbin/bsdconfig/timezone/share/countries.subr user/ed/newcons/usr.sbin/bsdconfig/timezone/share/iso3166.subr user/ed/newcons/usr.sbin/bsdconfig/timezone/share/menus.subr user/ed/newcons/usr.sbin/bsdconfig/timezone/share/zones.subr user/ed/newcons/usr.sbin/bsdconfig/timezone/timezone user/ed/newcons/usr.sbin/bsdconfig/ttys/ttys user/ed/newcons/usr.sbin/bsdconfig/usermgmt/groupadd user/ed/newcons/usr.sbin/bsdconfig/usermgmt/groupdel user/ed/newcons/usr.sbin/bsdconfig/usermgmt/groupedit user/ed/newcons/usr.sbin/bsdconfig/usermgmt/groupinput user/ed/newcons/usr.sbin/bsdconfig/usermgmt/share/group_input.subr user/ed/newcons/usr.sbin/bsdconfig/usermgmt/share/user_input.subr user/ed/newcons/usr.sbin/bsdconfig/usermgmt/useradd user/ed/newcons/usr.sbin/bsdconfig/usermgmt/userdel user/ed/newcons/usr.sbin/bsdconfig/usermgmt/useredit user/ed/newcons/usr.sbin/bsdconfig/usermgmt/userinput user/ed/newcons/usr.sbin/bsdconfig/usermgmt/usermgmt user/ed/newcons/usr.sbin/bsdinstall/bsdinstall.8 user/ed/newcons/usr.sbin/bsdinstall/partedit/Makefile user/ed/newcons/usr.sbin/bsdinstall/partedit/diskeditor.c user/ed/newcons/usr.sbin/bsdinstall/partedit/part_wizard.c user/ed/newcons/usr.sbin/bsdinstall/partedit/partedit.c user/ed/newcons/usr.sbin/bsdinstall/partedit/partedit.h user/ed/newcons/usr.sbin/bsdinstall/scripts/Makefile user/ed/newcons/usr.sbin/bsdinstall/scripts/mirrorselect user/ed/newcons/usr.sbin/bsdinstall/scripts/services user/ed/newcons/usr.sbin/bsdinstall/scripts/wlanconfig user/ed/newcons/usr.sbin/cpucontrol/intel.c user/ed/newcons/usr.sbin/cpucontrol/via.c user/ed/newcons/usr.sbin/crunch/crunchgen/crunchgen.c user/ed/newcons/usr.sbin/crunch/crunchide/exec_elf32.c user/ed/newcons/usr.sbin/crunch/examples/really-big.conf user/ed/newcons/usr.sbin/daemon/daemon.c user/ed/newcons/usr.sbin/gssd/Makefile user/ed/newcons/usr.sbin/gssd/gssd.8 user/ed/newcons/usr.sbin/gssd/gssd.c user/ed/newcons/usr.sbin/ifmcstat/ifmcstat.c user/ed/newcons/usr.sbin/inetd/inetd.c user/ed/newcons/usr.sbin/iostat/iostat.8 user/ed/newcons/usr.sbin/iostat/iostat.c user/ed/newcons/usr.sbin/jail/command.c user/ed/newcons/usr.sbin/kgmon/kgmon.c user/ed/newcons/usr.sbin/mergemaster/mergemaster.sh user/ed/newcons/usr.sbin/mountd/exports.5 user/ed/newcons/usr.sbin/mountd/mountd.c user/ed/newcons/usr.sbin/moused/moused.8 user/ed/newcons/usr.sbin/mptable/mptable.c user/ed/newcons/usr.sbin/mtest/mtest.c user/ed/newcons/usr.sbin/mtree/Makefile user/ed/newcons/usr.sbin/named/Makefile user/ed/newcons/usr.sbin/ndiscvt/inf-parse.y user/ed/newcons/usr.sbin/ndp/ndp.8 user/ed/newcons/usr.sbin/ndp/ndp.c user/ed/newcons/usr.sbin/newsyslog/newsyslog.8 user/ed/newcons/usr.sbin/newsyslog/newsyslog.c user/ed/newcons/usr.sbin/nfsd/nfsd.c user/ed/newcons/usr.sbin/nfsd/nfsv4.4 user/ed/newcons/usr.sbin/pciconf/Makefile user/ed/newcons/usr.sbin/pciconf/cap.c user/ed/newcons/usr.sbin/pciconf/pciconf.c user/ed/newcons/usr.sbin/pkg/Makefile user/ed/newcons/usr.sbin/pkg/pkg.c user/ed/newcons/usr.sbin/pkg_install/lib/lib.h user/ed/newcons/usr.sbin/pkg_install/lib/pkgng.c user/ed/newcons/usr.sbin/portsnap/portsnap/portsnap.sh user/ed/newcons/usr.sbin/ppp/README.changes user/ed/newcons/usr.sbin/ppp/arp.c user/ed/newcons/usr.sbin/ppp/defs.h user/ed/newcons/usr.sbin/ppp/ppp.8.m4 user/ed/newcons/usr.sbin/pw/bitmap.c user/ed/newcons/usr.sbin/pw/grupd.c user/ed/newcons/usr.sbin/pw/pw_group.c user/ed/newcons/usr.sbin/pw/pw_log.c user/ed/newcons/usr.sbin/pw/pw_user.c user/ed/newcons/usr.sbin/pw/pw_vpw.c user/ed/newcons/usr.sbin/pw/pwupd.c user/ed/newcons/usr.sbin/pw/rm_r.c user/ed/newcons/usr.sbin/rarpd/rarpd.c user/ed/newcons/usr.sbin/rpcbind/rpcbind.c user/ed/newcons/usr.sbin/sendmail/Makefile user/ed/newcons/usr.sbin/service/service.8 user/ed/newcons/usr.sbin/service/service.sh user/ed/newcons/usr.sbin/syslogd/syslogd.c user/ed/newcons/usr.sbin/sysrc/Makefile user/ed/newcons/usr.sbin/tcpdrop/tcpdrop.8 user/ed/newcons/usr.sbin/tcpdrop/tcpdrop.c user/ed/newcons/usr.sbin/timed/timed/acksend.c user/ed/newcons/usr.sbin/timed/timed/byteorder.c user/ed/newcons/usr.sbin/timed/timed/candidate.c user/ed/newcons/usr.sbin/timed/timed/cksum.c user/ed/newcons/usr.sbin/timed/timed/correct.c user/ed/newcons/usr.sbin/timed/timed/master.c user/ed/newcons/usr.sbin/timed/timed/measure.c user/ed/newcons/usr.sbin/timed/timed/networkdelta.c user/ed/newcons/usr.sbin/timed/timed/readmsg.c user/ed/newcons/usr.sbin/timed/timed/slave.c user/ed/newcons/usr.sbin/timed/timed/timed.c user/ed/newcons/usr.sbin/timed/timedc/cmds.c user/ed/newcons/usr.sbin/timed/timedc/timedc.c user/ed/newcons/usr.sbin/usbconfig/dump.c user/ed/newcons/usr.sbin/watchdogd/watchdogd.c user/ed/newcons/usr.sbin/ypserv/yp_main.c Directory Properties: user/ed/newcons/ (props changed) user/ed/newcons/cddl/contrib/opensolaris/ (props changed) user/ed/newcons/cddl/contrib/opensolaris/cmd/zfs/ (props changed) user/ed/newcons/cddl/contrib/opensolaris/lib/libzfs/ (props changed) user/ed/newcons/contrib/bind9/ (props changed) user/ed/newcons/contrib/binutils/ (props changed) user/ed/newcons/contrib/binutils/config/acinclude.m4 (props changed) user/ed/newcons/contrib/bmake/ (props changed) user/ed/newcons/contrib/bsnmp/lib/tc.def (props changed) user/ed/newcons/contrib/bsnmp/snmp_target/snmp_target.3 (props changed) user/ed/newcons/contrib/bsnmp/snmp_target/target_snmp.c (props changed) user/ed/newcons/contrib/bsnmp/snmp_target/target_tree.def (props changed) user/ed/newcons/contrib/bsnmp/snmp_usm/snmp_usm.3 (props changed) user/ed/newcons/contrib/bsnmp/snmp_usm/usm_snmp.c (props changed) user/ed/newcons/contrib/bsnmp/snmp_usm/usm_tree.def (props changed) user/ed/newcons/contrib/bsnmp/snmp_vacm/snmp_vacm.3 (props changed) user/ed/newcons/contrib/bsnmp/snmp_vacm/vacm_snmp.c (props changed) user/ed/newcons/contrib/bsnmp/snmp_vacm/vacm_tree.def (props changed) user/ed/newcons/contrib/compiler-rt/ (props changed) user/ed/newcons/contrib/dialog/ (props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifman1 (props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifmcfg2 (props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifmcfg4 (props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.ifmcfg5 (props changed) user/ed/newcons/contrib/dialog/samples/copifuncs/copi.sendifm2 (props changed) user/ed/newcons/contrib/dtc/ (props changed) user/ed/newcons/contrib/ee/ (props changed) user/ed/newcons/contrib/ee/Makefile (props changed) user/ed/newcons/contrib/ee/ee.c (props changed) user/ed/newcons/contrib/expat/ (props changed) user/ed/newcons/contrib/expat/doc/expat.png (props changed) user/ed/newcons/contrib/expat/doc/valid-xhtml10.png (props changed) user/ed/newcons/contrib/expat/lib/expat_external.h (props changed) user/ed/newcons/contrib/expat/tests/benchmark/README.txt (props changed) user/ed/newcons/contrib/expat/tests/benchmark/benchmark.c (props changed) user/ed/newcons/contrib/expat/tests/benchmark/benchmark.dsp (props changed) user/ed/newcons/contrib/expat/tests/benchmark/benchmark.dsw (props changed) user/ed/newcons/contrib/expat/tests/minicheck.c (props changed) user/ed/newcons/contrib/expat/tests/minicheck.h (props changed) user/ed/newcons/contrib/expat/tests/runtestspp.cpp (props changed) user/ed/newcons/contrib/expat/xmlwf/codepage.c (props changed) user/ed/newcons/contrib/expat/xmlwf/codepage.h (props changed) user/ed/newcons/contrib/expat/xmlwf/ct.c (props changed) user/ed/newcons/contrib/expat/xmlwf/filemap.h (props changed) user/ed/newcons/contrib/expat/xmlwf/readfilemap.c (props changed) user/ed/newcons/contrib/expat/xmlwf/unixfilemap.c (props changed) user/ed/newcons/contrib/expat/xmlwf/win32filemap.c (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlfile.c (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlfile.h (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlmime.c (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlmime.h (props changed) user/ed/newcons/contrib/expat/xmlwf/xmltchar.h (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlurl.h (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlwf.c (props changed) user/ed/newcons/contrib/expat/xmlwf/xmlwin32url.cxx (props changed) user/ed/newcons/contrib/file/ (props changed) user/ed/newcons/contrib/gcc/ (props changed) user/ed/newcons/contrib/gcc/config/i386/host-cygwin.c (props changed) user/ed/newcons/contrib/gcc/config/i386/winnt-cxx.c (props changed) user/ed/newcons/contrib/gcc/config/i386/winnt-stubs.c (props changed) user/ed/newcons/contrib/gdb/ (props changed) user/ed/newcons/contrib/gdb/gdb/config/i386/nm-nto.h (props changed) user/ed/newcons/contrib/gdb/gdb/config/i386/nto.mh (props changed) user/ed/newcons/contrib/gdb/gdb/config/i386/nto.mt (props changed) user/ed/newcons/contrib/gdb/gdb/config/i386/tm-nto.h (props changed) user/ed/newcons/contrib/gdb/gdb/config/tm-nto.h (props changed) user/ed/newcons/contrib/gdb/gdb/i386-nto-tdep.c (props changed) user/ed/newcons/contrib/gdb/gdb/nto-procfs.c (props changed) user/ed/newcons/contrib/gdb/gdb/nto-tdep.c (props changed) user/ed/newcons/contrib/gdb/gdb/nto-tdep.h (props changed) user/ed/newcons/contrib/gdb/gdb/proc-api.c (props changed) user/ed/newcons/contrib/gdb/gdb/proc-events.c (props changed) user/ed/newcons/contrib/gdb/gdb/proc-flags.c (props changed) user/ed/newcons/contrib/gdb/gdb/proc-why.c (props changed) user/ed/newcons/contrib/gdb/gdb/uw-thread.c (props changed) user/ed/newcons/contrib/gdtoa/ (props changed) user/ed/newcons/contrib/ipfilter/FreeBSD-4.0/ipv6-patch (props changed) user/ed/newcons/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.0 (props changed) user/ed/newcons/contrib/less/ (props changed) user/ed/newcons/contrib/libarchive/ (props changed) user/ed/newcons/contrib/libarchive/libarchive/ (props changed) user/ed/newcons/contrib/libc++/ (props changed) user/ed/newcons/contrib/libcxxrt/ (props changed) user/ed/newcons/contrib/libpcap/ (props changed) user/ed/newcons/contrib/libpcap/configure.in (props changed) user/ed/newcons/contrib/libstdc++/ (props changed) user/ed/newcons/contrib/llvm/ (props changed) user/ed/newcons/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h (props changed) user/ed/newcons/contrib/llvm/tools/clang/ (props changed) user/ed/newcons/contrib/ntp/ (props changed) user/ed/newcons/contrib/ntp/html/drivers/driver44.html (props changed) user/ed/newcons/contrib/ntp/include/icom.h (props changed) user/ed/newcons/contrib/ntp/readme.y2kfixes (props changed) user/ed/newcons/contrib/ntp/scripts/stats/clock.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/dupe.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/ensemble.S (props changed) user/ed/newcons/contrib/ntp/scripts/stats/ensemble.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/etf.S (props changed) user/ed/newcons/contrib/ntp/scripts/stats/etf.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/itf.S (props changed) user/ed/newcons/contrib/ntp/scripts/stats/itf.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/loop.S (props changed) user/ed/newcons/contrib/ntp/scripts/stats/loop.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/loop_summary (props changed) user/ed/newcons/contrib/ntp/scripts/stats/peer.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/psummary.awk (props changed) user/ed/newcons/contrib/ntp/scripts/stats/tdata.S (props changed) user/ed/newcons/contrib/ntp/scripts/stats/tdata.awk (props changed) user/ed/newcons/contrib/one-true-awk/ (props changed) user/ed/newcons/contrib/openbsm/ (props changed) user/ed/newcons/contrib/sendmail/ (props changed) user/ed/newcons/contrib/tcpdump/ (props changed) user/ed/newcons/contrib/tcpdump/bgp.h (props changed) user/ed/newcons/contrib/tcpdump/configure.in (props changed) user/ed/newcons/contrib/tcpdump/ipproto.c (props changed) user/ed/newcons/contrib/tcpdump/l2vpn.c (props changed) user/ed/newcons/contrib/tcpdump/l2vpn.h (props changed) user/ed/newcons/contrib/tcpdump/nlpid.c (props changed) user/ed/newcons/contrib/tcpdump/print-syslog.c (props changed) user/ed/newcons/contrib/top/ (props changed) user/ed/newcons/contrib/wpa/ (props changed) user/ed/newcons/contrib/xz/ (props changed) user/ed/newcons/crypto/heimdal/ (props changed) user/ed/newcons/crypto/heimdal/doc/vars.texi (props changed) user/ed/newcons/crypto/openssl/ (props changed) user/ed/newcons/crypto/openssl/crypto/bn/asm/s390x.S (props changed) user/ed/newcons/crypto/openssl/crypto/bn/bn_const.c (props changed) user/ed/newcons/crypto/openssl/crypto/ocsp/ocsp_cl.c (props changed) user/ed/newcons/crypto/openssl/crypto/ocsp/ocsp_ext.c (props changed) user/ed/newcons/crypto/openssl/crypto/ocsp/ocsp_lib.c (props changed) user/ed/newcons/crypto/openssl/crypto/ocsp/ocsp_srv.c (props changed) user/ed/newcons/crypto/openssl/crypto/rand/rand_lcl.h (props changed) user/ed/newcons/crypto/openssl/crypto/vms_rms.h (props changed) user/ed/newcons/crypto/openssl/util/ssleay.num (props changed) user/ed/newcons/gnu/lib/ (props changed) user/ed/newcons/gnu/usr.bin/binutils/ (props changed) user/ed/newcons/gnu/usr.bin/cc/cc_tools/ (props changed) user/ed/newcons/gnu/usr.bin/gdb/ (props changed) user/ed/newcons/lib/libc/ (props changed) user/ed/newcons/lib/libutil/ (props changed) user/ed/newcons/sbin/ (props changed) user/ed/newcons/share/man/man4/ (props changed) user/ed/newcons/share/zoneinfo/ (props changed) user/ed/newcons/sys/ (props changed) user/ed/newcons/sys/boot/ (props changed) user/ed/newcons/sys/boot/i386/efi/ (props changed) user/ed/newcons/sys/cddl/contrib/opensolaris/ (props changed) user/ed/newcons/sys/conf/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/common/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/compiler/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/debugger/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/disassembler/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/dispatcher/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/events/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/executer/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/hardware/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/namespace/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/parser/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/resources/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/tables/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/components/utilities/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/include/ (props changed) user/ed/newcons/sys/contrib/dev/acpica/os_specific/ (props changed) user/ed/newcons/sys/contrib/octeon-sdk/ (props changed) user/ed/newcons/sys/dev/ath/ath_hal/ar5211/boss.ini (props changed) user/ed/newcons/sys/dev/bktr/CHANGELOG.TXT (props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe_82598.h (props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe_82599.h (props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe_x540.c (props changed) user/ed/newcons/sys/dev/ixgbe/ixgbe_x540.h (props changed) user/ed/newcons/sys/mips/rmi/msgring_xls.cfg (props changed) user/ed/newcons/sys/modules/digi/Makefile (props changed) user/ed/newcons/sys/modules/digi/Makefile.inc (props changed) user/ed/newcons/sys/modules/isci/Makefile (props changed) user/ed/newcons/sys/modules/sound/driver/ich/Makefile (props changed) user/ed/newcons/sys/powerpc/wii/locore.S (props changed) user/ed/newcons/usr.bin/calendar/ (props changed) user/ed/newcons/usr.bin/csup/ (props changed) user/ed/newcons/usr.bin/procstat/ (props changed) user/ed/newcons/usr.sbin/bsnmpd/modules/snmp_target/Makefile (props changed) user/ed/newcons/usr.sbin/bsnmpd/modules/snmp_usm/Makefile (props changed) user/ed/newcons/usr.sbin/bsnmpd/modules/snmp_vacm/Makefile (props changed) user/ed/newcons/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c (props changed) user/ed/newcons/usr.sbin/jail/ (props changed) user/ed/newcons/usr.sbin/ndiscvt/ (props changed) Modified: user/ed/newcons/COPYRIGHT ============================================================================== --- user/ed/newcons/COPYRIGHT Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/COPYRIGHT Wed Feb 20 14:26:51 2013 (r247040) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: user/ed/newcons/LOCKS ============================================================================== --- user/ed/newcons/LOCKS Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/LOCKS Wed Feb 20 14:26:51 2013 (r247040) @@ -11,3 +11,4 @@ releng/4.* Requires Security Officer app releng/5.* Requires Security Officer approval. releng/6.* Requires Security Officer approval. releng/7.* Requires Security Officer approval. +releng/8.* Requires Security Officer approval. Modified: user/ed/newcons/Makefile.inc1 ============================================================================== --- user/ed/newcons/Makefile.inc1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/Makefile.inc1 Wed Feb 20 14:26:51 2013 (r247040) @@ -4,6 +4,8 @@ # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir # -DNO_CLEAN do not clean at all +# -DDB_FROM_SRC use the user/group databases in src/etc instead of +# the system database when installing. # -DNO_SHARE do not go into share subdir # -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ} # -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel @@ -11,8 +13,8 @@ # -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update +# -DNO_ROOT install without using root privilege # -DNO_DOCUPDATE do not update doc in ${MAKE} update -# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target @@ -20,9 +22,13 @@ # to be created before files are installed # LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools # list +# METALOG="path to metadata log" to write permission and ownership +# when NO_ROOT is set. (default: ${DESTDIR}/METALOG) # TARGET="machine" to crossbuild world for a different machine type # TARGET_ARCH= may be required when a TARGET supports multiple endians # BUILDENV_SHELL= shell to launch for the buildenv target (def:/bin/sh) +# WORLD_FLAGS= additional flags to pass to make(1) during buildworld +# KERNEL_FLAGS= additional flags to pass to make(1) during buildkernel # # The intended user-driven targets are: @@ -181,7 +187,7 @@ OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.$ .endif WORLDTMP= ${OBJTREE}${.CURDIR}/tmp # /usr/games added for fortune which depend on strfile -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/usr/games +BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/usr/games:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} @@ -241,7 +247,7 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/i MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ COMPILER_TYPE=${COMPILER_TYPE} BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ + ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ @@ -251,7 +257,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ - ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ + ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ @@ -284,7 +290,7 @@ WMAKE_COMPILER_TYPE= gcc WMAKE_COMPILER_TYPE= clang .endif WMAKEENV+= COMPILER_TYPE=${WMAKE_COMPILER_TYPE} -WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP} +WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world @@ -334,18 +340,20 @@ LIB32WMAKEFLAGS+= \ CXX="${CXX} ${LIB32FLAGS}" \ DESTDIR=${LIB32TMP} \ -DCOMPAT_32BIT \ + -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ -DNO_LINT LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \ + ${IMAKE_INSTALL} .endif -# install stage IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ + ${IMAKE_INSTALL} ${IMAKE_MTREE} .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ LD_LIBRARY_PATH=${INSTALLTMP} \ @@ -354,10 +362,25 @@ IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} .endif +.if defined(DB_FROM_SRC) +INSTALLFLAGS+= -N ${.CURDIR}/etc +MTREEFLAGS+= -N ${.CURDIR}/etc +.endif +.if defined(NO_ROOT) +METALOG?= ${DESTDIR}/${DISTDIR}/METALOG +IMAKE+= -DNO_ROOT METALOG=${METALOG} +INSTALL_DDIR= ${DESTDIR}/${DISTDIR} +INSTALLFLAGS+= -U -M ${METALOG} -D ${INSTALL_DDIR:S://:/:g:C:/$::} +MTREEFLAGS+= -W +.endif +.if defined(DB_FROM_SRC) || defined(NO_ROOT) +IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" +IMAKE_MTREE= MTREE_CMD="nmtree ${MTREEFLAGS}" +.endif # kernel stage KMAKEENV= ${WMAKEENV} -KMAKE= ${KMAKEENV} ${MAKE} KERNEL=${INSTKERNNAME} +KMAKE= ${KMAKEENV} ${MAKE} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} # # buildworld @@ -391,7 +414,7 @@ _worldtmp: rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ - lib usr legacy/usr + lib usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} .endfor mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ @@ -595,9 +618,11 @@ kernel-toolchain: ${TOOLCHAIN_TGTS:N_inc installcheck: # -# Require DESTDIR to be set if installing for a different architecture. +# Require DESTDIR to be set if installing for a different architecture or +# using the user/group database in the source tree. # -.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} +.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} || \ + defined(DB_FROM_SRC) .if !make(distributeworld) installcheck: installcheck_DESTDIR installcheck_DESTDIR: @@ -608,10 +633,11 @@ installcheck_DESTDIR: .endif .endif +.if !defined(DB_FROM_SRC) # # Check for missing UIDs/GIDs. # -CHECK_UIDS= +CHECK_UIDS= auditdistd CHECK_GIDS= audit .if ${MK_SENDMAIL} != "no" CHECK_UIDS+= smmsp @@ -635,6 +661,7 @@ installcheck_UGID: false; \ fi .endfor +.endif # # Required install tools to be saved in a scratch dir for safety. @@ -646,10 +673,14 @@ _install-info= install-info _zoneinfo= zic tzsetup .endif +.if exists(/usr/sbin/nmtree) +_nmtree_itools= nmtree +.endif + ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep ${_install-info} \ - ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ - test true uname wc ${_zoneinfo} + date echo egrep find grep id install ${_install-info} \ + ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ + rm sed sh sysctl test true uname wc ${_zoneinfo} # # distributeworld @@ -670,6 +701,8 @@ EXTRA_DISTRIBUTIONS+= games EXTRA_DISTRIBUTIONS+= lib32 .endif +MTREE_MAGIC?= mtree 2.0 + distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} progs=$$(for prog in ${ITOOLS}; do \ @@ -692,6 +725,9 @@ distributeworld installworld: installche done); \ cp $$libs $$progs ${INSTALLTMP} cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale +.if defined(NO_ROOT) + echo "#${MTREE_MAGIC}" > ${METALOG} +.endif .if make(distributeworld) .for dist in ${EXTRA_DISTRIBUTIONS} -mkdir ${DESTDIR}/${DISTDIR}/${dist} @@ -701,10 +737,20 @@ distributeworld installworld: installche -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/include >/dev/null +.if defined(NO_ROOT) + ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ + sed -e 's#^\./#./${dist}/#' >> ${METALOG} + ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ + sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} + ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ + sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} +.endif .endfor -mkdir ${DESTDIR}/${DISTDIR}/base - ${_+_}cd ${.CURDIR}; ${IMAKE} distrib-dirs \ - DESTDIR=${DESTDIR}/${DISTDIR}/base + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ + METALOG=${METALOG} ${IMAKE_INSTALL} ${IMAKE_MTREE} \ + DISTBASE=/base DESTDIR=${DESTDIR}/${DISTDIR}/base \ + LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs .endif ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ ${IMAKEENV} rm -rf ${INSTALLTMP} @@ -712,12 +758,30 @@ distributeworld installworld: installche .for dist in ${EXTRA_DISTRIBUTIONS} find ${DESTDIR}/${DISTDIR}/${dist} -empty -delete .endfor +.if defined(NO_ROOT) +.for dist in base ${EXTRA_DISTRIBUTIONS} + @# For each file that exists in this dist, print the corresponding + @# line from the METALOG. This relies on the fact that + @# a line containing only the filename will sort immediatly before + @# the relevant mtree line. + cd ${DESTDIR}/${DISTDIR}; \ + find ./${dist} | sort -u ${METALOG} - | \ + awk 'BEGIN { print "#${MTREE_MAGIC}" } !/ type=/ { file = $$1 } / type=/ { if ($$1 == file) { sub(/^\.\/${dist}\//, "./"); print } }' > \ + ${DESTDIR}/${DISTDIR}/${dist}.meta +.endfor +.endif .endif packageworld: .for dist in base ${EXTRA_DISTRIBUTIONS} +.if defined(NO_ROOT) + ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ + tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \ + @${DESTDIR}/${DISTDIR}/${dist}.meta +.else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz . +.endif .endfor # @@ -753,7 +817,8 @@ redistribute: .endif distrib-dirs distribution: - cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} ${.TARGET} + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ + ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} # # buildkernel and installkernel @@ -905,7 +970,7 @@ reinstallkernel reinstallkernel.debug: i @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ - ${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} + ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} distributekernel distributekernel.debug: .if empty(INSTALLKERNEL) @@ -955,6 +1020,13 @@ update: @echo "--------------------------------------------------------------" @echo ">>> Running ${SUP}" @echo "--------------------------------------------------------------" + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @echo "!! Update methods with ${SUP} are deprecated." + @echo "!! Please see http://www.freebsd.org/handbook/svn.html" + @echo "!! and convert your update method to SVN_UPDATE or" + @echo "!! freebsd-update(8)." + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @sleep 5 .if defined(SUPFILE) @${SUP} ${SUPFLAGS} ${SUPFILE} .endif @@ -970,9 +1042,6 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif -.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) - @${SUP} ${SUPFLAGS} ${WWWSUPFILE} -.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ @@ -980,6 +1049,13 @@ update: echo "--------------------------------------------------------------" ; \ echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT} ; \ echo "--------------------------------------------------------------" ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + echo "!! Update methods with CVS are deprecated." ; \ + echo "!! Please see http://www.freebsd.org/handbook/svn.html" ; \ + echo "!! and convert your update method to SVN_UPDATE or" ; \ + echo "!! freebsd-update(8)." ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + sleep 5 ; \ echo ${CVS} -R -q update ${CVSFLAGS} ; \ ${CVS} -R -q update ${CVSFLAGS} ; \ fi @@ -1059,6 +1135,15 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif +.if ${BOOTSTRAPPING} < 1000026 +_nmtree= lib/libnetbsd \ + usr.sbin/nmtree +.endif + +.if ${BOOTSTRAPPING} < 1000027 +_cat= bin/cat +.endif + .if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 _awk= usr.bin/awk .endif @@ -1084,7 +1169,10 @@ _dtrace_tools= cddl/usr.bin/sgsmsg cddl/ lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge .endif -.if ${MK_FDT} != "no" +# Default to building the BSDL DTC, but build the GPL one if users explicitly +# request it. +_dtc= usr.bin/dtc +.if ${MK_GPL_DTC} != "no" _dtc= gnu/usr.bin/dtc .endif @@ -1111,6 +1199,7 @@ bootstrap-tools: ${_ar} \ ${_dtc} \ ${_awk} \ + ${_cat} \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ @@ -1118,9 +1207,11 @@ bootstrap-tools: ${_sed} \ ${_yacc} \ ${_lex} \ + lib/libmd \ usr.bin/xinstall \ ${_gensnmptree} \ - usr.sbin/config + usr.sbin/config \ + ${_nmtree} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ @@ -1228,11 +1319,12 @@ cross-tools: # hierarchy - ensure that all the needed directories are present # hierarchy hier: - cd ${.CURDIR}/etc; ${MAKE} distrib-dirs -.for _mtree in ${LOCAL_MTREE} - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/${_mtree} \ - -p ${DESTDIR}/ -.endfor +.if defined(NO_ROOT) + cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} \ + -DNO_ROOT METALOG=${METALOG} distrib-dirs +.else + cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs +.endif # # libraries - build all libraries, and install them under ${DESTDIR}. @@ -1644,7 +1736,8 @@ NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOU XDDIR=${XDEV_ARCH}-freebsd XDTP=/usr/${XDDIR} -CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} +CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ + INSTALL="sh ${.CURDIR}/tools/install.sh" CDENV= ${CDBENV} \ _SHLIBDIRPREFIX=${XDTP} \ TOOLS_PREFIX=${XDTP} Modified: user/ed/newcons/ObsoleteFiles.inc ============================================================================== --- user/ed/newcons/ObsoleteFiles.inc Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/ObsoleteFiles.inc Wed Feb 20 14:26:51 2013 (r247040) @@ -38,6 +38,23 @@ # xargs -n1 | sort | uniq -d; # done +# 20130116: removed long unused directories for .1aout section manpages +OLD_FILES+=usr/share/man/en.ISO8859-1/man1aout +OLD_FILES+=usr/share/man/en.UTF-8/man1aout +OLD_DIRS+=usr/share/man/man1aout +OLD_DIRS+=usr/share/man/cat1aout +OLD_DIRS+=usr/share/man/en.ISO8859-1/cat1aout +OLD_DIRS+=usr/share/man/en.UTF-8/cat1aout +# 20130110: bsd.compat.mk removed +OLD_FILES+=usr/share/mk/bsd.compat.mk +# 20130103: gnats-supfile removed +OLD_FILES+=usr/share/examples/cvsup/gnats-supfile +# 20121230: libdisk removed +OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h +OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a +# 20121230: remove wrongly created directories for auditdistd +OLD_DIRS+=var/dist +OLD_DIRS+=var/remote # 20121114: zpool-features manual page moved from section 5 to 7 OLD_FILES+=usr/share/man/man5/zpool-features.5.gz # 20121022: remove harp, hfa and idt man page @@ -1195,12 +1212,6 @@ OLD_FILES+=usr/include/sys/linedisc.h OLD_FILES+=usr/share/man/man3/posix_openpt.3.gz # 20080725: sgtty.h removed OLD_FILES+=usr/include/sgtty.h -# 20080719: sade(8) removed on all but amd64, i386 and sparc64 -.if ${TARGET_ARCH} != "amd64" && ${TARGET_ARCH} != "i386" && \ - ${TARGET_ARCH} != "sparc64" -OLD_FILES+=usr/sbin/sade -OLD_FILES+=usr/share/man/man8/sade.8.gz -.endif # 20080706: bsdlabel(8) removed on powerpc .if ${TARGET_ARCH} == "powerpc" OLD_FILES+=sbin/bsdlabel Modified: user/ed/newcons/UPDATING ============================================================================== --- user/ed/newcons/UPDATING Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/UPDATING Wed Feb 20 14:26:51 2013 (r247040) @@ -4,7 +4,9 @@ This file is maintained and copyrighted See end of file for further details. For commonly done items, please see the COMMON ITEMS: section later in the file. These instructions assume that you basically know what you are doing. If not, then please consult the FreeBSD -handbook. +handbook: + + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. @@ -24,6 +26,45 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130129: + A BSD-licensed patch(1) variant has been added and is installed + as bsdpatch, being the GNU version the default patch. + To inverse the logic and use the BSD-licensed one as default, + while having the GNU version installed as gnupatch, rebuild + and install world with the WITH_BSD_PATCH knob set. + +20130118: + The install(1) option -M has changed meaning and now takes an + argument that is a file or path to append logs to. In the + unlikely event that -M was the last option on the command line + and the command line contained at least two files and a target + directory the first file will have logs appended to it. The -M + option served little practical purpose in the last decade so it's + used expected to be extremely rare. + +20121223: + After switching to Clang as the default compiler some users of ZFS + on i386 systems started to experience stack overflow kernel panics. + Please consider using 'options KSTACK_PAGES=4' in such configurations. + +20121222: + GEOM_LABEL now mangles label names read from file system metadata. + Mangling affect labels containing spaces, non-printable characters, + '%' or '"'. Device names in /etc/fstab and other places may need to + be updated. + +20121217: + By default, only the 10 most recent kernel dumps will be saved. To + restore the previous behaviour (no limit on the number of kernel dumps + stored in the dump directory) add the following line to /etc/rc.conf: + + savecore_flags="" + +20121201: + With the addition of auditdistd(8), a new auditdistd user is now + depended on during installworld. "mergemaster -p" can be used to add + the user prior to installworld, as documented in the handbook. + 20121117: The sin6_scope_id member variable in struct sockaddr_in6 is now filled by the kernel before passing the structure to the userland via Modified: user/ed/newcons/bin/cat/cat.1 ============================================================================== --- user/ed/newcons/bin/cat/cat.1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/cat/cat.1 Wed Feb 20 14:26:51 2013 (r247040) @@ -32,7 +32,7 @@ .\" @(#)cat.1 8.3 (Berkeley) 5/2/95 .\" $FreeBSD$ .\" -.Dd March 21, 2004 +.Dd January 29, 2013 .Dt CAT 1 .Os .Sh NAME @@ -40,7 +40,7 @@ .Nd concatenate and print files .Sh SYNOPSIS .Nm -.Op Fl benstuv +.Op Fl belnstuv .Op Ar .Sh DESCRIPTION The @@ -79,6 +79,16 @@ Display non-printing characters (see the option), and display a dollar sign .Pq Ql \&$ at the end of each line. +.It Fl l +Set an exclusive advisory lock on the standard output file descriptor. +This lock is set using +.Xr fcntl 2 +with the +.Dv F_SETLKW +command. +If the output file is already locked, +.Nm +will block until the lock is acquired. .It Fl n Number the output lines, starting at 1. .It Fl s @@ -160,6 +170,7 @@ operand. .Xr tail 1 , .Xr vis 1 , .Xr zcat 1 , +.Xr fcntl 2 , .Xr setbuf 3 .Rs .%A Rob Pike @@ -175,7 +186,7 @@ utility is compliant with the specification. .Pp The flags -.Op Fl benstv +.Op Fl belnstv are extensions to the specification. .Sh HISTORY A Modified: user/ed/newcons/bin/cat/cat.c ============================================================================== --- user/ed/newcons/bin/cat/cat.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/cat/cat.c Wed Feb 20 14:26:51 2013 (r247040) @@ -64,7 +64,7 @@ __FBSDID("$FreeBSD$"); #include #include -static int bflag, eflag, nflag, sflag, tflag, vflag; +static int bflag, eflag, lflag, nflag, sflag, tflag, vflag; static int rval; static const char *filename; @@ -96,10 +96,11 @@ int main(int argc, char *argv[]) { int ch; + struct flock stdout_lock; setlocale(LC_CTYPE, ""); - while ((ch = getopt(argc, argv, "benstuv")) != -1) + while ((ch = getopt(argc, argv, "belnstuv")) != -1) switch (ch) { case 'b': bflag = nflag = 1; /* -b implies -n */ @@ -107,6 +108,9 @@ main(int argc, char *argv[]) case 'e': eflag = vflag = 1; /* -e implies -v */ break; + case 'l': + lflag = 1; + break; case 'n': nflag = 1; break; @@ -127,6 +131,15 @@ main(int argc, char *argv[]) } argv += optind; + if (lflag) { + stdout_lock.l_len = 0; + stdout_lock.l_start = 0; + stdout_lock.l_type = F_WRLCK; + stdout_lock.l_whence = SEEK_SET; + if (fcntl(STDOUT_FILENO, F_SETLKW, &stdout_lock) == -1) + err(EXIT_FAILURE, "stdout"); + } + if (bflag || eflag || nflag || sflag || tflag || vflag) scanfiles(argv, 1); else @@ -140,7 +153,7 @@ main(int argc, char *argv[]) static void usage(void) { - fprintf(stderr, "usage: cat [-benstuv] [file ...]\n"); + fprintf(stderr, "usage: cat [-belnstuv] [file ...]\n"); exit(1); /* NOTREACHED */ } Modified: user/ed/newcons/bin/cp/cp.c ============================================================================== --- user/ed/newcons/bin/cp/cp.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/cp/cp.c Wed Feb 20 14:26:51 2013 (r247040) @@ -98,30 +98,28 @@ main(int argc, char *argv[]) { struct stat to_stat, tmp_stat; enum op type; - int Hflag, Lflag, Pflag, ch, fts_options, r, have_trailing_slash; + int Hflag, Lflag, ch, fts_options, r, have_trailing_slash; char *target; fts_options = FTS_NOCHDIR | FTS_PHYSICAL; - Hflag = Lflag = Pflag = 0; + Hflag = Lflag = 0; while ((ch = getopt(argc, argv, "HLPRafilnprvx")) != -1) switch (ch) { case 'H': Hflag = 1; - Lflag = Pflag = 0; + Lflag = 0; break; case 'L': Lflag = 1; - Hflag = Pflag = 0; + Hflag = 0; break; case 'P': - Pflag = 1; Hflag = Lflag = 0; break; case 'R': Rflag = 1; break; case 'a': - Pflag = 1; pflag = 1; Rflag = 1; Hflag = Lflag = 0; @@ -146,7 +144,7 @@ main(int argc, char *argv[]) break; case 'r': rflag = Lflag = 1; - Hflag = Pflag = 0; + Hflag = 0; break; case 'v': vflag = 1; Modified: user/ed/newcons/bin/cp/utils.c ============================================================================== --- user/ed/newcons/bin/cp/utils.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/cp/utils.c Wed Feb 20 14:26:51 2013 (r247040) @@ -104,7 +104,7 @@ copy_file(const FTSENT *entp, int dne) if (vflag) printf("%s not overwritten\n", to.p_path); (void)close(from_fd); - return (0); + return (1); } else if (iflag) { (void)fprintf(stderr, "overwrite %s? %s", to.p_path, YESNO); @@ -266,6 +266,11 @@ copy_link(const FTSENT *p, int exists) int len; char llink[PATH_MAX]; + if (exists && nflag) { + if (vflag) + printf("%s not overwritten\n", to.p_path); + return (1); + } if ((len = readlink(p->fts_path, llink, sizeof(llink) - 1)) == -1) { warn("readlink: %s", p->fts_path); return (1); @@ -285,6 +290,12 @@ copy_link(const FTSENT *p, int exists) int copy_fifo(struct stat *from_stat, int exists) { + + if (exists && nflag) { + if (vflag) + printf("%s not overwritten\n", to.p_path); + return (1); + } if (exists && unlink(to.p_path)) { warn("unlink: %s", to.p_path); return (1); @@ -299,6 +310,12 @@ copy_fifo(struct stat *from_stat, int ex int copy_special(struct stat *from_stat, int exists) { + + if (exists && nflag) { + if (vflag) + printf("%s not overwritten\n", to.p_path); + return (1); + } if (exists && unlink(to.p_path)) { warn("unlink: %s", to.p_path); return (1); Modified: user/ed/newcons/bin/date/netdate.c ============================================================================== --- user/ed/newcons/bin/date/netdate.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/date/netdate.c Wed Feb 20 14:26:51 2013 (r247040) @@ -85,7 +85,7 @@ netsettime(time_t tval) dest.sin_addr.s_addr = htonl((u_long)INADDR_ANY); s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) { - if (errno != EPROTONOSUPPORT) + if (errno != EAFNOSUPPORT) warn("timed"); return (retval = 2); } Modified: user/ed/newcons/bin/df/df.1 ============================================================================== --- user/ed/newcons/bin/df/df.1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/df/df.1 Wed Feb 20 14:26:51 2013 (r247040) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd November 16, 2012 +.Dd January 24, 2013 .Dt DF 1 .Os .Sh NAME @@ -39,6 +39,7 @@ .Nm .Op Fl b | g | H | h | k | m | P .Op Fl acilnT +.Op Fl \&, .Op Fl t Ar type .Op Ar file | filesystem ... .Sh DESCRIPTION Modified: user/ed/newcons/bin/df/df.c ============================================================================== --- user/ed/newcons/bin/df/df.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/df/df.c Wed Feb 20 14:26:51 2013 (r247040) @@ -397,7 +397,7 @@ prthumanvalinode(int64_t bytes) static intmax_t fsbtoblk(int64_t num, uint64_t fsbs, u_long bs) { - return (num * (intmax_t) fsbs / bs); + return (num * (intmax_t) fsbs / (int64_t) bs); } /* @@ -564,7 +564,8 @@ usage(void) { (void)fprintf(stderr, -"usage: df [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-t type] [-,] [file | filesystem ...]\n"); +"usage: df [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-t type] [-,]\n" +" [file | filesystem ...]\n"); exit(EX_USAGE); } Modified: user/ed/newcons/bin/ln/ln.1 ============================================================================== --- user/ed/newcons/bin/ln/ln.1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ln/ln.1 Wed Feb 20 14:26:51 2013 (r247040) @@ -291,7 +291,7 @@ implementations. .Pp The .Fl F -option is +option is a .Fx extension and should not be used in portable scripts. .Sh SEE ALSO Modified: user/ed/newcons/bin/ls/util.c ============================================================================== --- user/ed/newcons/bin/ls/util.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ls/util.c Wed Feb 20 14:26:51 2013 (r247040) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); Modified: user/ed/newcons/bin/ps/extern.h ============================================================================== --- user/ed/newcons/bin/ps/extern.h Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ps/extern.h Wed Feb 20 14:26:51 2013 (r247040) @@ -51,7 +51,7 @@ char *elapsed(KINFO *, VARENT *); char *elapseds(KINFO *, VARENT *); char *emulname(KINFO *, VARENT *); VARENT *find_varentry(VAR *); -const char *fmt_argv(char **, char *, size_t); +const char *fmt_argv(char **, char *, char *, size_t); double getpcpu(const KINFO *); char *kvar(KINFO *, VARENT *); char *label(KINFO *, VARENT *); Modified: user/ed/newcons/bin/ps/fmt.c ============================================================================== --- user/ed/newcons/bin/ps/fmt.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ps/fmt.c Wed Feb 20 14:26:51 2013 (r247040) @@ -105,7 +105,7 @@ cmdpart(char *arg0) } const char * -fmt_argv(char **argv, char *cmd, size_t maxlen) +fmt_argv(char **argv, char *cmd, char *thread, size_t maxlen) { size_t len; char *ap, *cp; @@ -122,9 +122,14 @@ fmt_argv(char **argv, char *cmd, size_t cp = malloc(len); if (cp == NULL) errx(1, "malloc failed"); - if (ap == NULL) - sprintf(cp, "[%.*s]", (int)maxlen, cmd); - else if (strncmp(cmdpart(argv[0]), cmd, maxlen) != 0) + if (ap == NULL) { + if (thread != NULL) { + asprintf(&ap, "%s/%s", cmd, thread); + sprintf(cp, "[%.*s]", (int)maxlen, ap); + free(ap); + } else + sprintf(cp, "[%.*s]", (int)maxlen, cmd); + } else if (strncmp(cmdpart(argv[0]), cmd, maxlen) != 0) sprintf(cp, "%s (%.*s)", ap, (int)maxlen, cmd); else strcpy(cp, ap); Modified: user/ed/newcons/bin/ps/ps.1 ============================================================================== --- user/ed/newcons/bin/ps/ps.1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ps/ps.1 Wed Feb 20 14:26:51 2013 (r247040) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd September 18, 2012 +.Dd February 7, 2013 .Dt PS 1 .Os .Sh NAME @@ -323,6 +323,7 @@ the include file .It Dv "P_INMEM" Ta No "0x10000000" Ta "Loaded into memory" .It Dv "P_SWAPPINGOUT" Ta No "0x20000000" Ta "Process is being swapped out" .It Dv "P_SWAPPINGIN" Ta No "0x40000000" Ta "Process is being swapped in" +.It Dv "P_PPTRACE" Ta No "0x80000000" Ta "Vforked child issued ptrace(PT_TRACEME)" .El .It Cm label The MAC label of the process. Modified: user/ed/newcons/bin/ps/ps.c ============================================================================== --- user/ed/newcons/bin/ps/ps.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/ps/ps.c Wed Feb 20 14:26:51 2013 (r247040) @@ -109,6 +109,7 @@ static int needcomm; /* -o "command" */ static int needenv; /* -e */ static int needuser; /* -o "user" */ static int optfatal; /* Fatal error parsing some list-option. */ +static int pid_max; /* kern.max_pid */ static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; @@ -140,7 +141,7 @@ static void format_output(KINFO *); static void *expand_list(struct listinfo *); static const char * fmt(char **(*)(kvm_t *, const struct kinfo_proc *, int), - KINFO *, char *, int); + KINFO *, char *, char *, int); static void free_list(struct listinfo *); static void init_list(struct listinfo *, addelem_rtn, int, const char *); static char *kludge_oldps_options(const char *, char *, const char *); @@ -148,6 +149,7 @@ static int pscomp(const void *, const v static void saveuser(KINFO *); static void scanvars(void); static void sizevars(void); +static void pidmax_init(void); static void usage(void); static char dfmt[] = "pid,tt,state,time,command"; @@ -200,6 +202,8 @@ main(int argc, char *argv[]) if (argc > 1) argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]); + pidmax_init(); + all = descendancy = _fmt = nselectors = optfatal = 0; prtheader = showthreads = wflag = xkeep_implied = 0; xkeep = -1; /* Neither -x nor -X. */ @@ -722,7 +726,6 @@ addelem_gid(struct listinfo *inf, const return (1); } -#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h. */ static int addelem_pid(struct listinfo *inf, const char *elem) { @@ -740,7 +743,7 @@ addelem_pid(struct listinfo *inf, const if (*endp != '\0' || tempid < 0 || elem == endp) { warnx("Invalid %s: %s", inf->lname, elem); errno = ERANGE; - } else if (errno != 0 || tempid > BSD_PID_MAX) { + } else if (errno != 0 || tempid > pid_max) { warnx("%s too large: %s", inf->lname, elem); errno = ERANGE; } @@ -753,7 +756,6 @@ addelem_pid(struct listinfo *inf, const inf->l.pids[(inf->count)++] = tempid; return (1); } -#undef BSD_PID_MAX /*- * The user can specify a device via one of three formats: @@ -1161,11 +1163,12 @@ sizevars(void) static const char * fmt(char **(*fn)(kvm_t *, const struct kinfo_proc *, int), KINFO *ki, - char *comm, int maxlen) + char *comm, char *thread, int maxlen) { const char *s; - s = fmt_argv((*fn)(kd, ki->ki_p, termwidth), comm, maxlen); + s = fmt_argv((*fn)(kd, ki->ki_p, termwidth), comm, + showthreads && ki->ki_p->ki_numthreads > 1 ? thread : NULL, maxlen); return (s); } @@ -1193,7 +1196,7 @@ saveuser(KINFO *ki) ki->ki_args = strdup(""); else if (UREADOK(ki) || (ki->ki_p->ki_args != NULL)) ki->ki_args = strdup(fmt(kvm_getargv, ki, - ki->ki_p->ki_comm, MAXCOMLEN)); + ki->ki_p->ki_comm, ki->ki_p->ki_tdname, MAXCOMLEN)); else asprintf(&ki->ki_args, "(%s)", ki->ki_p->ki_comm); if (ki->ki_args == NULL) @@ -1204,7 +1207,7 @@ saveuser(KINFO *ki) if (needenv) { if (UREADOK(ki)) ki->ki_env = strdup(fmt(kvm_getenvv, ki, - (char *)NULL, 0)); + (char *)NULL, (char *)NULL, 0)); else ki->ki_env = strdup("()"); if (ki->ki_env == NULL) @@ -1352,6 +1355,18 @@ kludge_oldps_options(const char *optlist } static void +pidmax_init(void) +{ + size_t intsize; + + intsize = sizeof(pid_max); + if (sysctlbyname("kern.pid_max", &pid_max, &intsize, NULL, 0) < 0) { + warn("unable to read kern.pid_max"); + pid_max = 99999; + } +} + +static void usage(void) { #define SINGLE_OPTS "[-aCcde" OPT_LAZY_f "HhjlmrSTuvwXxZ]" Modified: user/ed/newcons/bin/pwait/pwait.c ============================================================================== --- user/ed/newcons/bin/pwait/pwait.c Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/pwait/pwait.c Wed Feb 20 14:26:51 2013 (r247040) @@ -141,5 +141,5 @@ main(int argc, char *argv[]) nleft -= n; } - return 0; + exit(EX_OK); } Modified: user/ed/newcons/bin/setfacl/setfacl.1 ============================================================================== --- user/ed/newcons/bin/setfacl/setfacl.1 Wed Feb 20 14:22:12 2013 (r247039) +++ user/ed/newcons/bin/setfacl/setfacl.1 Wed Feb 20 14:26:51 2013 (r247040) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 2, 2012 +.Dd February 8, 2013 .Dt SETFACL 1 .Os .Sh NAME @@ -91,10 +91,16 @@ An error will be reported if any of the specified files cannot have a default entry (i.e.\& non-directories). This option is not applicable to NFSv4 ACLs. .It Fl m Ar entries -Modify the ACL entries on the specified files by adding new -entries and modifying existing ACL entries with the ACL entries -specified in -.Ar entries . +Modify the ACL on the specified file. +New entries will be added, and existing entries will be modified +according to the +.Ar entries +argument. +For NFSv4 ACLs, it is recommended to use the +.Fl a +and +.Fl x *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 15:02:44 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E2C839E4; Thu, 21 Feb 2013 15:02:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D200FADE; Thu, 21 Feb 2013 15:02:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LF2iis059134; Thu, 21 Feb 2013 15:02:44 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LF2b7j059082; Thu, 21 Feb 2013 15:02:37 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302211502.r1LF2b7j059082@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 15:02:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247096 - in user/attilio/vmobj-rwlock/sys: arm/arm arm/at91 arm/econa arm/s3c2xx0 arm/sa11x0 arm/xscale/i80321 arm/xscale/i8134x arm/xscale/ixp425 arm/xscale/pxa cddl/compat/opensolari... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 15:02:45 -0000 Author: attilio Date: Thu Feb 21 15:02:36 2013 New Revision: 247096 URL: http://svnweb.freebsd.org/changeset/base/247096 Log: Fix other architectures and ZFS. Sponsored by: EMC / Isilon storage division Added: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c (contents, props changed) user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/freebsd_rwlock.h (contents, props changed) user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h (contents, props changed) Modified: user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/attilio/vmobj-rwlock/sys/conf/files user/attilio/vmobj-rwlock/sys/ia64/ia64/machdep.c user/attilio/vmobj-rwlock/sys/mips/adm5120/adm5120_machdep.c user/attilio/vmobj-rwlock/sys/mips/alchemy/alchemy_machdep.c user/attilio/vmobj-rwlock/sys/mips/beri/beri_machdep.c user/attilio/vmobj-rwlock/sys/mips/cavium/octeon_machdep.c user/attilio/vmobj-rwlock/sys/mips/gxemul/gxemul_machdep.c user/attilio/vmobj-rwlock/sys/mips/idt/idt_machdep.c user/attilio/vmobj-rwlock/sys/mips/malta/malta_machdep.c user/attilio/vmobj-rwlock/sys/mips/mips/machdep.c user/attilio/vmobj-rwlock/sys/mips/rt305x/rt305x_machdep.c user/attilio/vmobj-rwlock/sys/mips/sentry5/s5_machdep.c user/attilio/vmobj-rwlock/sys/mips/sibyte/sb_machdep.c user/attilio/vmobj-rwlock/sys/modules/zfs/Makefile user/attilio/vmobj-rwlock/sys/pc98/pc98/machdep.c user/attilio/vmobj-rwlock/sys/powerpc/aim/machdep.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c user/attilio/vmobj-rwlock/sys/powerpc/aim/moea64_native.c user/attilio/vmobj-rwlock/sys/powerpc/booke/machdep.c user/attilio/vmobj-rwlock/sys/powerpc/ps3/mmu_ps3.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/machdep.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/tsb.c Modified: user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -70,6 +70,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Added: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Thu Feb 21 15:02:36 2013 (r247096) @@ -0,0 +1,84 @@ +/*- + * Copyright (c) 2013 EMC Corp. + * 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +int +vm_pagerret_bad(void) +{ + + return (VM_PAGER_BAD); +} + +int +vm_pagerret_error(void) +{ + + return (VM_PAGER_ERROR); +} + +int +vm_pagerret_ok(void) +{ + + return (VM_PAGER_OK); +} + +void +zfs_vmobject_assert_wlocked(vm_object_t object) +{ + + /* + * This is not ideal because FILE/LINE used by assertions will not + * be too helpful, but it must be an hard function for + * compatibility reasons. + */ + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); +} + +void +zfs_vmobject_wlock(vm_object_t object) +{ + + VM_OBJECT_WLOCK(object); +} + +void +zfs_vmobject_wunlock(vm_object_t object) +{ + + VM_OBJECT_WUNLOCK(object); +} Added: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/freebsd_rwlock.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/freebsd_rwlock.h Thu Feb 21 15:02:36 2013 (r247096) @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2013 EMC Corp. + * 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _OPENSOLARIS_SYS_FREEBSD_RWLOCK_H_ +#define _OPENSOLARIS_SYS_FREEBSD_RWLOCK_H_ + +#include_next + +#endif Added: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h Thu Feb 21 15:02:36 2013 (r247096) @@ -0,0 +1,44 @@ +/*- + * Copyright (c) 2013 EMC Corp. + * 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _OPENSOLARIS_SYS_VM_H_ +#define _OPENSOLARIS_SYS_VM_H_ + +#ifdef _KERNEL + +int vm_pagerret_bad(void); +int vm_pagerret_error(void); +int vm_pagerret_ok(void); + +void zfs_vmobject_assert_wlocked(vm_object_t object); +void zfs_vmobject_wlock(vm_object_t object); +void zfs_vmobject_wunlock(vm_object_t object); + +#endif /* _KERNEL */ + +#endif /* _OPENSOLARIS_SYS_VM_H_ */ Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Thu Feb 21 15:02:36 2013 (r247096) @@ -94,7 +94,6 @@ extern "C" { #include #include #include -#include #include #include /* There is clash. vm_map.h defines the two below and vdev_cache.c use them. */ Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Thu Feb 21 15:02:36 2013 (r247096) @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -329,7 +330,7 @@ page_busy(vnode_t *vp, int64_t start, in vm_page_t pp; obj = vp->v_object; - VM_OBJECT_LOCK_ASSERT(obj, MA_OWNED); + zfs_vmobject_assert_wlocked(obj); for (;;) { if ((pp = vm_page_lookup(obj, OFF_TO_IDX(start))) != NULL && @@ -377,7 +378,7 @@ page_hold(vnode_t *vp, int64_t start) vm_page_t pp; obj = vp->v_object; - VM_OBJECT_LOCK_ASSERT(obj, MA_OWNED); + zfs_vmobject_assert_wlocked(obj); for (;;) { if ((pp = vm_page_lookup(obj, OFF_TO_IDX(start))) != NULL && @@ -450,7 +451,7 @@ update_pages(vnode_t *vp, int64_t start, ASSERT(obj != NULL); off = start & PAGEOFFSET; - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { vm_page_t pp; int nbytes = imin(PAGESIZE - off, len); @@ -467,23 +468,23 @@ update_pages(vnode_t *vp, int64_t start, ("zfs update_pages: unbusy page in putpages case")); KASSERT(!pmap_page_is_write_mapped(pp), ("zfs update_pages: writable page in putpages case")); - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); va = zfs_map_page(pp, &sf); (void) dmu_write(os, oid, start, nbytes, va, tx); zfs_unmap_page(sf); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); vm_page_undirty(pp); } else if ((pp = page_busy(vp, start, off, nbytes)) != NULL) { - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); va = zfs_map_page(pp, &sf); (void) dmu_read(os, oid, start+off, nbytes, va+off, DMU_READ_PREFETCH);; zfs_unmap_page(sf); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); page_unbusy(pp); } len -= nbytes; @@ -491,7 +492,7 @@ update_pages(vnode_t *vp, int64_t start, } if (segflg != UIO_NOCOPY) vm_object_pip_wakeupn(obj, 0); - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); } /* @@ -523,7 +524,7 @@ mappedread_sf(vnode_t *vp, int nbytes, u ASSERT(obj != NULL); ASSERT((uio->uio_loffset & PAGEOFFSET) == 0); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); for (start = uio->uio_loffset; len > 0; start += PAGESIZE) { int bytes = MIN(PAGESIZE, len); @@ -531,14 +532,14 @@ mappedread_sf(vnode_t *vp, int nbytes, u VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_IGN_SBUSY); if (pp->valid == 0) { vm_page_io_start(pp); - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); va = zfs_map_page(pp, &sf); error = dmu_read(os, zp->z_id, start, bytes, va, DMU_READ_PREFETCH); if (bytes != PAGESIZE && error == 0) bzero(va + bytes, PAGESIZE - bytes); zfs_unmap_page(sf); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); vm_page_io_finish(pp); vm_page_lock(pp); if (error) { @@ -555,7 +556,7 @@ mappedread_sf(vnode_t *vp, int nbytes, u uio->uio_offset += bytes; len -= bytes; } - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); return (error); } @@ -587,7 +588,7 @@ mappedread(vnode_t *vp, int nbytes, uio_ start = uio->uio_loffset; off = start & PAGEOFFSET; - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { vm_page_t pp; uint64_t bytes = MIN(PAGESIZE - off, len); @@ -596,23 +597,23 @@ mappedread(vnode_t *vp, int nbytes, uio_ struct sf_buf *sf; caddr_t va; - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); va = zfs_map_page(pp, &sf); error = uiomove(va + off, bytes, UIO_READ, uio); zfs_unmap_page(sf); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); page_unhold(pp); } else { - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); error = dmu_read_uio(os, zp->z_id, uio, bytes); - VM_OBJECT_WLOCK(obj); + zfs_vmobject_wlock(obj); } len -= bytes; off = 0; if (error) break; } - VM_OBJECT_WUNLOCK(obj); + zfs_vmobject_wunlock(obj); return (error); } @@ -5683,7 +5684,7 @@ zfs_getpages(struct vnode *vp, vm_page_t mfirst = m[reqstart]; mlast = m[reqstart + reqsize - 1]; - VM_OBJECT_WLOCK(object); + zfs_vmobject_wlock(object); for (i = 0; i < reqstart; i++) { vm_page_lock(m[i]); @@ -5699,9 +5700,9 @@ zfs_getpages(struct vnode *vp, vm_page_t if (mreq->valid && reqsize == 1) { if (mreq->valid != VM_PAGE_BITS_ALL) vm_page_zero_invalid(mreq, TRUE); - VM_OBJECT_WUNLOCK(object); + zfs_vmobject_wunlock(object); ZFS_EXIT(zfsvfs); - return (VM_PAGER_OK); + return (vm_pagerret_ok()); } PCPU_INC(cnt.v_vnodein); @@ -5715,16 +5716,16 @@ zfs_getpages(struct vnode *vp, vm_page_t vm_page_unlock(m[i]); } } - VM_OBJECT_WUNLOCK(object); + zfs_vmobject_wunlock(object); ZFS_EXIT(zfsvfs); - return (VM_PAGER_BAD); + return (vm_pagerret_bad()); } lsize = PAGE_SIZE; if (IDX_TO_OFF(mlast->pindex) + lsize > object->un_pager.vnp.vnp_size) lsize = object->un_pager.vnp.vnp_size - IDX_TO_OFF(mlast->pindex); - VM_OBJECT_WUNLOCK(object); + zfs_vmobject_wunlock(object); for (i = reqstart; i < reqstart + reqsize; i++) { size = PAGE_SIZE; @@ -5740,7 +5741,7 @@ zfs_getpages(struct vnode *vp, vm_page_t break; } - VM_OBJECT_WLOCK(object); + zfs_vmobject_wlock(object); for (i = reqstart; i < reqstart + reqsize; i++) { if (!error) @@ -5750,11 +5751,11 @@ zfs_getpages(struct vnode *vp, vm_page_t vm_page_readahead_finish(m[i]); } - VM_OBJECT_WUNLOCK(object); + zfs_vmobject_wunlock(object); ZFS_ACCESSTIME_STAMP(zfsvfs, zp); ZFS_EXIT(zfsvfs); - return (error ? VM_PAGER_ERROR : VM_PAGER_OK); + return (error ? vm_pagerret_error() : vm_pagerret_ok()); } static int Modified: user/attilio/vmobj-rwlock/sys/conf/files ============================================================================== --- user/attilio/vmobj-rwlock/sys/conf/files Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/conf/files Thu Feb 21 15:02:36 2013 (r247096) @@ -157,6 +157,7 @@ cddl/compat/opensolaris/kern/opensolaris cddl/compat/opensolaris/kern/opensolaris_taskq.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_uio.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_vfs.c optional zfs compile-with "${ZFS_C}" +cddl/compat/opensolaris/kern/opensolaris_vm.c optional zfs compile-with "${ZFS_C}" cddl/compat/opensolaris/kern/opensolaris_zone.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/acl/acl_common.c optional zfs compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/avl/avl.c optional zfs compile-with "${ZFS_C}" Modified: user/attilio/vmobj-rwlock/sys/ia64/ia64/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ia64/ia64/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/ia64/ia64/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/adm5120/adm5120_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/adm5120/adm5120_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/adm5120/adm5120_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/alchemy/alchemy_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/alchemy/alchemy_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/alchemy/alchemy_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/beri/beri_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/beri/beri_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/beri/beri_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/cavium/octeon_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/cavium/octeon_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/cavium/octeon_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/gxemul/gxemul_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/gxemul/gxemul_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/gxemul/gxemul_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/idt/idt_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/idt/idt_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/idt/idt_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/malta/malta_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/malta/malta_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/malta/malta_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/mips/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/mips/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/mips/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/rt305x/rt305x_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/rt305x/rt305x_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/rt305x/rt305x_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/sentry5/s5_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/sentry5/s5_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/sentry5/s5_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/sibyte/sb_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/sibyte/sb_machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/mips/sibyte/sb_machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/modules/zfs/Makefile ============================================================================== --- user/attilio/vmobj-rwlock/sys/modules/zfs/Makefile Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/modules/zfs/Makefile Thu Feb 21 15:02:36 2013 (r247096) @@ -28,6 +28,7 @@ SRCS+= opensolaris_sysevent.c SRCS+= opensolaris_taskq.c SRCS+= opensolaris_uio.c SRCS+= opensolaris_vfs.c +SRCS+= opensolaris_vm.c SRCS+= opensolaris_zone.c _A=${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic Modified: user/attilio/vmobj-rwlock/sys/pc98/pc98/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/pc98/pc98/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/pc98/pc98/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -80,6 +80,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Thu Feb 21 15:02:36 2013 (r247096) @@ -136,7 +136,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Thu Feb 21 15:02:36 2013 (r247096) @@ -140,7 +140,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/moea64_native.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/moea64_native.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/moea64_native.c Thu Feb 21 15:02:36 2013 (r247096) @@ -117,7 +117,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/booke/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/booke/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -101,6 +101,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/ps3/mmu_ps3.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/ps3/mmu_ps3.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/powerpc/ps3/mmu_ps3.c Thu Feb 21 15:02:36 2013 (r247096) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/machdep.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/machdep.c Thu Feb 21 15:02:36 2013 (r247096) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/tsb.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/tsb.c Thu Feb 21 12:52:18 2013 (r247095) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/tsb.c Thu Feb 21 15:02:36 2013 (r247096) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 15:06:25 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 52AC6C50; Thu, 21 Feb 2013 15:06:25 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 40A46B27; Thu, 21 Feb 2013 15:06:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LF6P6x059829; Thu, 21 Feb 2013 15:06:25 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LF6KSw059790; Thu, 21 Feb 2013 15:06:20 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302211506.r1LF6KSw059790@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 15:06:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247097 - in user/attilio/vmobj-rwlock: cddl/contrib/opensolaris/cmd/dtrace lib/libc/stdlib share/mk sys/amd64/include sys/arm/arm sys/arm/at91 sys/arm/econa sys/arm/include sys/arm/s3c... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 15:06:25 -0000 Author: attilio Date: Thu Feb 21 15:06:19 2013 New Revision: 247097 URL: http://svnweb.freebsd.org/changeset/base/247097 Log: MFC Added: user/attilio/vmobj-rwlock/sys/x86/include/elf.h - copied unchanged from r247096, head/sys/x86/include/elf.h user/attilio/vmobj-rwlock/sys/x86/include/frame.h - copied unchanged from r247096, head/sys/x86/include/frame.h user/attilio/vmobj-rwlock/sys/x86/include/sigframe.h - copied unchanged from r247096, head/sys/x86/include/sigframe.h user/attilio/vmobj-rwlock/sys/x86/include/signal.h - copied unchanged from r247096, head/sys/x86/include/signal.h user/attilio/vmobj-rwlock/sys/x86/include/ucontext.h - copied unchanged from r247096, head/sys/x86/include/ucontext.h Modified: user/attilio/vmobj-rwlock/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c user/attilio/vmobj-rwlock/lib/libc/stdlib/qsort.3 user/attilio/vmobj-rwlock/share/mk/bsd.lib.mk user/attilio/vmobj-rwlock/sys/amd64/include/elf.h user/attilio/vmobj-rwlock/sys/amd64/include/frame.h user/attilio/vmobj-rwlock/sys/amd64/include/sigframe.h user/attilio/vmobj-rwlock/sys/amd64/include/signal.h user/attilio/vmobj-rwlock/sys/amd64/include/ucontext.h user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c user/attilio/vmobj-rwlock/sys/arm/include/pmap.h user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c user/attilio/vmobj-rwlock/sys/boot/fdt/fdt_loader_cmd.c user/attilio/vmobj-rwlock/sys/boot/userboot/userboot/elf32_freebsd.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c user/attilio/vmobj-rwlock/sys/crypto/aesni/aesni_wrap.c user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c user/attilio/vmobj-rwlock/sys/dev/ath/if_ath.c user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_sysctl.c user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.c user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.h user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx_ht.c user/attilio/vmobj-rwlock/sys/dev/ath/if_athvar.h user/attilio/vmobj-rwlock/sys/dev/cxgbe/t4_sge.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_82571.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_82575.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_82575.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_api.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_api.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_defines.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_hw.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_i210.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_i210.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_ich8lan.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_ich8lan.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_mac.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_mac.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_manage.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_nvm.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_nvm.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_osdep.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_phy.c user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_phy.h user/attilio/vmobj-rwlock/sys/dev/e1000/e1000_regs.h user/attilio/vmobj-rwlock/sys/dev/e1000/if_em.c user/attilio/vmobj-rwlock/sys/dev/e1000/if_igb.c user/attilio/vmobj-rwlock/sys/dev/e1000/if_lem.c user/attilio/vmobj-rwlock/sys/dev/mcd/mcd.c user/attilio/vmobj-rwlock/sys/dev/ppc/ppc.c user/attilio/vmobj-rwlock/sys/dev/ppc/ppc_isa.c user/attilio/vmobj-rwlock/sys/dev/si/si.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clstate.c user/attilio/vmobj-rwlock/sys/i386/include/elf.h user/attilio/vmobj-rwlock/sys/i386/include/frame.h user/attilio/vmobj-rwlock/sys/i386/include/sigframe.h user/attilio/vmobj-rwlock/sys/i386/include/signal.h user/attilio/vmobj-rwlock/sys/i386/include/ucontext.h user/attilio/vmobj-rwlock/sys/i386/isa/pmtimer.c user/attilio/vmobj-rwlock/sys/kern/vfs_init.c user/attilio/vmobj-rwlock/sys/netinet/ip_input.c user/attilio/vmobj-rwlock/sys/opencrypto/xform.c user/attilio/vmobj-rwlock/sys/pci/ncr.c user/attilio/vmobj-rwlock/sys/sys/systm.h user/attilio/vmobj-rwlock/sys/x86/isa/atrtc.c user/attilio/vmobj-rwlock/sys/x86/isa/clock.c user/attilio/vmobj-rwlock/usr.bin/systat/ifcmds.c user/attilio/vmobj-rwlock/usr.bin/systat/ifstat.c user/attilio/vmobj-rwlock/usr.bin/systat/systat.1 user/attilio/vmobj-rwlock/usr.sbin/makefs/makefs.8 user/attilio/vmobj-rwlock/usr.sbin/makefs/makefs.c user/attilio/vmobj-rwlock/usr.sbin/makefs/makefs.h user/attilio/vmobj-rwlock/usr.sbin/makefs/mtree.c user/attilio/vmobj-rwlock/usr.sbin/makefs/walk.c user/attilio/vmobj-rwlock/usr.sbin/mountd/mountd.c user/attilio/vmobj-rwlock/usr.sbin/pkg/pkg.c Directory Properties: user/attilio/vmobj-rwlock/ (props changed) user/attilio/vmobj-rwlock/cddl/contrib/opensolaris/ (props changed) user/attilio/vmobj-rwlock/lib/libc/ (props changed) user/attilio/vmobj-rwlock/sys/ (props changed) user/attilio/vmobj-rwlock/sys/boot/ (props changed) user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/ (props changed) Modified: user/attilio/vmobj-rwlock/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c ============================================================================== --- user/attilio/vmobj-rwlock/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Thu Feb 21 15:06:19 2013 (r247097) @@ -195,6 +195,13 @@ fatal(const char *fmt, ...) verror(fmt, ap); va_end(ap); + /* + * Close the DTrace handle to ensure that any controlled processes are + * correctly restored and continued. + */ + if (g_dtp) + dtrace_close(g_dtp); + exit(E_ERROR); } Modified: user/attilio/vmobj-rwlock/lib/libc/stdlib/qsort.3 ============================================================================== --- user/attilio/vmobj-rwlock/lib/libc/stdlib/qsort.3 Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/lib/libc/stdlib/qsort.3 Thu Feb 21 15:06:19 2013 (r247097) @@ -205,12 +205,6 @@ functions return no value. .Pp .Rv -std heapsort mergesort -.Sh COMPATIBILITY -Previous versions of -.Fn qsort -did not permit the comparison routine itself to call -.Fn qsort 3 . -This is no longer true. .Sh EXAMPLES A sample program that sorts an array of .Vt int @@ -220,7 +214,6 @@ and then prints the sorted array to stan .Bd -literal #include #include -#include /* * Custom comparison function that can compare 'int' values through pointers @@ -229,15 +222,10 @@ and then prints the sorted array to stan static int int_compare(const void *p1, const void *p2) { - int *left = (int *)p1; - int *right = (int *)p2; + int left = *(const int *)p1; + int right = *(const int *)p2; - if (*left < *right) - return (-1); - else if (*left > *right) - return (1); - else - return (0); + return ((left > right) - (left < right)); } /* @@ -247,16 +235,22 @@ int main(void) { int int_array[] = { 4, 5, 9, 3, 0, 1, 7, 2, 8, 6 }; - const int array_size = sizeof(int_array) / sizeof(int_array[0]); - int k; + const size_t array_size = sizeof(int_array) / sizeof(int_array[0]); + size_t k; - qsort(&int_array, array_size, sizeof(int), int_compare); + qsort(&int_array, array_size, sizeof(int_array[0]), int_compare); for (k = 0; k < array_size; k++) printf(" %d", int_array[k]); - printf("\\n"); - exit(EXIT_SUCCESS); + puts(""); + return (EXIT_SUCCESS); } .Ed +.Sh COMPATIBILITY +Previous versions of +.Fn qsort +did not permit the comparison routine itself to call +.Fn qsort 3 . +This is no longer true. .Sh ERRORS The .Fn heapsort Modified: user/attilio/vmobj-rwlock/share/mk/bsd.lib.mk ============================================================================== --- user/attilio/vmobj-rwlock/share/mk/bsd.lib.mk Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/share/mk/bsd.lib.mk Thu Feb 21 15:06:19 2013 (r247097) @@ -113,12 +113,20 @@ PO_FLAG=-pg all: objwarn +.if defined(SHLIB_NAME) +.if defined(DEBUG_FLAGS) +SHLIB_NAME_FULL=${SHLIB_NAME}.debug +.else +SHLIB_NAME_FULL=${SHLIB_NAME} +.endif +.endif + .include # Allow libraries to specify their own version map or have it # automatically generated (see bsd.symver.mk above). .if ${MK_SYMVER} == "yes" && !empty(VERSION_MAP) -${SHLIB_NAME}: ${VERSION_MAP} +${SHLIB_NAME_FULL}: ${VERSION_MAP} LDFLAGS+= -Wl,--version-script=${VERSION_MAP} .endif @@ -165,12 +173,6 @@ SOBJS+= ${OBJS:.o=.So} .if defined(SHLIB_NAME) _LIBS+= ${SHLIB_NAME} -.if defined(DEBUG_FLAGS) -SHLIB_NAME_FULL=${SHLIB_NAME}.debug -.else -SHLIB_NAME_FULL=${SHLIB_NAME} -.endif - SOLINKOPTS= -shared -Wl,-x .if !defined(ALLOW_SHARED_TEXTREL) SOLINKOPTS+= -Wl,--fatal-warnings -Wl,--warn-shared-textrel Modified: user/attilio/vmobj-rwlock/sys/amd64/include/elf.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/include/elf.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/amd64/include/elf.h Thu Feb 21 15:06:19 2013 (r247097) @@ -1,124 +1,6 @@ /*- - * Copyright (c) 1996-1997 John D. Polstra. - * 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$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -#ifndef _MACHINE_ELF_H_ -#define _MACHINE_ELF_H_ 1 - -/* - * ELF definitions for the AMD64 architecture. - */ - - -#ifndef __ELF_WORD_SIZE -#define __ELF_WORD_SIZE 64 /* Used by */ -#endif -#include /* Definitions common to all 32 bit architectures. */ -#include /* Definitions common to all 64 bit architectures. */ -#include - -#define ELF_ARCH EM_X86_64 -#define ELF_ARCH32 EM_386 - -#define ELF_MACHINE_OK(x) ((x) == EM_X86_64) - -/* - * Auxiliary vector entries for passing information to the interpreter. - * - * The i386 supplement to the SVR4 ABI specification names this "auxv_t", - * but POSIX lays claim to all symbols ending with "_t". - */ -typedef struct { /* Auxiliary vector entry on initial stack */ - int a_type; /* Entry type. */ - union { - int a_val; /* Integer value. */ - } a_un; -} Elf32_Auxinfo; - - -typedef struct { /* Auxiliary vector entry on initial stack */ - long 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; - -__ElfType(Auxinfo); - -/* Values for a_type. */ -#define AT_NULL 0 /* Terminates the vector. */ -#define AT_IGNORE 1 /* Ignored entry. */ -#define AT_EXECFD 2 /* File descriptor of program to load. */ -#define AT_PHDR 3 /* Program header of program already loaded. */ -#define AT_PHENT 4 /* Size of each program header entry. */ -#define AT_PHNUM 5 /* Number of program header entries. */ -#define AT_PAGESZ 6 /* Page size in bytes. */ -#define AT_BASE 7 /* Interpreter's base address. */ -#define AT_FLAGS 8 /* Flags (unused for i386). */ -#define AT_ENTRY 9 /* Where interpreter should transfer control. */ -#define AT_NOTELF 10 /* Program is not ELF ?? */ -#define AT_UID 11 /* Real uid. */ -#define AT_EUID 12 /* Effective uid. */ -#define AT_GID 13 /* Real gid. */ -#define AT_EGID 14 /* Effective gid. */ -#define AT_EXECPATH 15 /* Path to the executable. */ -#define AT_CANARY 16 /* Canary for SSP */ -#define AT_CANARYLEN 17 /* Length of the canary. */ -#define AT_OSRELDATE 18 /* OSRELDATE. */ -#define AT_NCPUS 19 /* Number of CPUs. */ -#define AT_PAGESIZES 20 /* Pagesizes. */ -#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */ -#define AT_TIMEKEEP 22 /* Pointer to timehands. */ -#define AT_STACKPROT 23 /* Initial stack protection. */ - -#define AT_COUNT 24 /* Count of defined aux entry types. */ - -/* - * Relocation types. - */ - -#define R_X86_64_COUNT 24 /* Count of defined relocation types. */ - -/* Define "machine" characteristics */ -#if __ELF_WORD_SIZE == 32 -#define ELF_TARG_CLASS ELFCLASS32 -#else -#define ELF_TARG_CLASS ELFCLASS64 -#endif -#define ELF_TARG_DATA ELFDATA2LSB -#define ELF_TARG_MACH EM_X86_64 -#define ELF_TARG_VER 1 - -#if __ELF_WORD_SIZE == 32 -#define ET_DYN_LOAD_ADDR 0x01001000 -#else -#define ET_DYN_LOAD_ADDR 0x01021000 -#endif - -#endif /* !_MACHINE_ELF_H_ */ +#include Modified: user/attilio/vmobj-rwlock/sys/amd64/include/frame.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/include/frame.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/amd64/include/frame.h Thu Feb 21 15:06:19 2013 (r247097) @@ -1,87 +1,6 @@ /*- - * Copyright (c) 2003 Peter Wemm. - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * 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. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - * - * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $FreeBSD$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -#ifndef _MACHINE_FRAME_H_ -#define _MACHINE_FRAME_H_ 1 - -/* - * System stack frames. - */ - -/* - * Exception/Trap Stack Frame - * - * The ordering of this is specifically so that we can take first 6 - * the syscall arguments directly from the beginning of the frame. - */ - -struct trapframe { - register_t tf_rdi; - register_t tf_rsi; - register_t tf_rdx; - register_t tf_rcx; - register_t tf_r8; - register_t tf_r9; - register_t tf_rax; - register_t tf_rbx; - register_t tf_rbp; - register_t tf_r10; - register_t tf_r11; - register_t tf_r12; - register_t tf_r13; - register_t tf_r14; - register_t tf_r15; - uint32_t tf_trapno; - uint16_t tf_fs; - uint16_t tf_gs; - register_t tf_addr; - uint32_t tf_flags; - uint16_t tf_es; - uint16_t tf_ds; - /* below portion defined in hardware */ - register_t tf_err; - register_t tf_rip; - register_t tf_cs; - register_t tf_rflags; - register_t tf_rsp; - register_t tf_ss; -}; - -#define TF_HASSEGS 0x1 -#define TF_HASBASES 0x2 -#define TF_HASFPXSTATE 0x4 - -#endif /* _MACHINE_FRAME_H_ */ +#include Modified: user/attilio/vmobj-rwlock/sys/amd64/include/sigframe.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/include/sigframe.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/amd64/include/sigframe.h Thu Feb 21 15:06:19 2013 (r247097) @@ -1,46 +1,6 @@ /*- - * Copyright (c) 1999 Marcel Moolenaar - * 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 - * in this position and unchanged. - * 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. 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$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -#ifndef _MACHINE_SIGFRAME_H_ -#define _MACHINE_SIGFRAME_H_ - -/* - * Signal frames, arguments passed to application signal handlers. - */ -struct sigframe { - union { - __siginfohandler_t *sf_action; - __sighandler_t *sf_handler; - } sf_ahu; - ucontext_t sf_uc; /* = *sf_ucontext */ - siginfo_t sf_si; /* = *sf_siginfo (SA_SIGINFO case) */ -}; - -#endif /* !_MACHINE_SIGFRAME_H_ */ +#include Modified: user/attilio/vmobj-rwlock/sys/amd64/include/signal.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/include/signal.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/amd64/include/signal.h Thu Feb 21 15:06:19 2013 (r247097) @@ -1,109 +1,6 @@ /*- - * Copyright (c) 2003 Peter Wemm. - * Copyright (c) 1986, 1989, 1991, 1993 - * The Regents of the University of California. 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. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - * - * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -#ifndef _MACHINE_SIGNAL_H_ -#define _MACHINE_SIGNAL_H_ - -#include -#include - -/* - * Machine-dependent signal definitions - */ - -typedef long sig_atomic_t; - -#if __BSD_VISIBLE -#include /* codes for SIGILL, SIGFPE */ - -/* - * Information pushed on stack when a signal is delivered. - * This is used by the kernel to restore state following - * execution of the signal handler. It is also made available - * to the handler to allow it to restore state properly if - * a non-standard exit is performed. - * - * The sequence of the fields/registers after sc_mask in struct - * sigcontext must match those in mcontext_t and struct trapframe. - */ -struct sigcontext { - struct __sigset sc_mask; /* signal mask to restore */ - long sc_onstack; /* sigstack state to restore */ - long sc_rdi; /* machine state (struct trapframe) */ - long sc_rsi; - long sc_rdx; - long sc_rcx; - long sc_r8; - long sc_r9; - long sc_rax; - long sc_rbx; - long sc_rbp; - long sc_r10; - long sc_r11; - long sc_r12; - long sc_r13; - long sc_r14; - long sc_r15; - int sc_trapno; - short sc_fs; - short sc_gs; - long sc_addr; - int sc_flags; - short sc_es; - short sc_ds; - long sc_err; - long sc_rip; - long sc_cs; - long sc_rflags; - long sc_rsp; - long sc_ss; - long sc_len; /* sizeof(mcontext_t) */ - /* - * See and for the following - * fields. - */ - long sc_fpformat; - long sc_ownedfp; - long sc_fpstate[64] __aligned(16); - - long sc_fsbase; - long sc_gsbase; - - long sc_xfpustate; - long sc_xfpustate_len; - - long sc_spare[4]; -}; -#endif /* __BSD_VISIBLE */ - -#endif /* !_MACHINE_SIGNAL_H_ */ +#include Modified: user/attilio/vmobj-rwlock/sys/amd64/include/ucontext.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/include/ucontext.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/amd64/include/ucontext.h Thu Feb 21 15:06:19 2013 (r247097) @@ -1,103 +1,6 @@ /*- - * Copyright (c) 2003 Peter Wemm - * Copyright (c) 1999 Marcel Moolenaar - * 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 - * in this position and unchanged. - * 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. 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$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -#ifndef _MACHINE_UCONTEXT_H_ -#define _MACHINE_UCONTEXT_H_ - -/* - * mc_trapno bits. Shall be in sync with TF_XXX. - */ -#define _MC_HASSEGS 0x1 -#define _MC_HASBASES 0x2 -#define _MC_HASFPXSTATE 0x4 -#define _MC_FLAG_MASK (_MC_HASSEGS | _MC_HASBASES | _MC_HASFPXSTATE) - -typedef struct __mcontext { - /* - * The definition of mcontext_t must match the layout of - * struct sigcontext after the sc_mask member. This is so - * that we can support sigcontext and ucontext_t at the same - * time. - */ - __register_t mc_onstack; /* XXX - sigcontext compat. */ - __register_t mc_rdi; /* machine state (struct trapframe) */ - __register_t mc_rsi; - __register_t mc_rdx; - __register_t mc_rcx; - __register_t mc_r8; - __register_t mc_r9; - __register_t mc_rax; - __register_t mc_rbx; - __register_t mc_rbp; - __register_t mc_r10; - __register_t mc_r11; - __register_t mc_r12; - __register_t mc_r13; - __register_t mc_r14; - __register_t mc_r15; - __uint32_t mc_trapno; - __uint16_t mc_fs; - __uint16_t mc_gs; - __register_t mc_addr; - __uint32_t mc_flags; - __uint16_t mc_es; - __uint16_t mc_ds; - __register_t mc_err; - __register_t mc_rip; - __register_t mc_cs; - __register_t mc_rflags; - __register_t mc_rsp; - __register_t mc_ss; - - long mc_len; /* sizeof(mcontext_t) */ - -#define _MC_FPFMT_NODEV 0x10000 /* device not present or configured */ -#define _MC_FPFMT_XMM 0x10002 - long mc_fpformat; -#define _MC_FPOWNED_NONE 0x20000 /* FP state not used */ -#define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */ -#define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */ - long mc_ownedfp; - /* - * See for the internals of mc_fpstate[]. - */ - long mc_fpstate[64] __aligned(16); - - __register_t mc_fsbase; - __register_t mc_gsbase; - - __register_t mc_xfpustate; - __register_t mc_xfpustate_len; - - long mc_spare[4]; -} mcontext_t; - -#endif /* !_MACHINE_UCONTEXT_H_ */ +#include Modified: user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/arm/machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -1477,7 +1477,7 @@ initarm(struct arm_boot_params *abp) arm_intrnames_init(); arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); arm_dump_avail_init(memsize, sizeof(dump_avail) / sizeof(dump_avail[0])); - pmap_bootstrap(freemempos, vm_max_kernel_address, &kernel_l1pt); + pmap_bootstrap(freemempos, &kernel_l1pt); msgbufp = (void *)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Thu Feb 21 15:06:19 2013 (r247097) @@ -1538,7 +1538,7 @@ pmap_alloc_specials(vm_offset_t *availp, #define PMAP_STATIC_L2_SIZE 16 void -pmap_bootstrap(vm_offset_t firstaddr, vm_offset_t lastaddr, struct pv_addr *l1pt) +pmap_bootstrap(vm_offset_t firstaddr, struct pv_addr *l1pt) { static struct l1_ttable static_l1; static struct l2_dtable static_l2[PMAP_STATIC_L2_SIZE]; @@ -1554,7 +1554,7 @@ pmap_bootstrap(vm_offset_t firstaddr, vm int l1idx, l2idx, l2next = 0; PDEBUG(1, printf("firstaddr = %08x, lastaddr = %08x\n", - firstaddr, lastaddr)); + firstaddr, vm_max_kernel_address)); virtual_avail = firstaddr; kernel_pmap->pm_l1 = l1; @@ -1670,7 +1670,8 @@ pmap_bootstrap(vm_offset_t firstaddr, vm pmap_set_pt_cache_mode(kernel_l1pt, (vm_offset_t)csrc_pte); pmap_alloc_specials(&virtual_avail, 1, &cdstp, &cdst_pte); pmap_set_pt_cache_mode(kernel_l1pt, (vm_offset_t)cdst_pte); - size = ((lastaddr - pmap_curmaxkvaddr) + L1_S_OFFSET) / L1_S_SIZE; + size = ((vm_max_kernel_address - pmap_curmaxkvaddr) + L1_S_OFFSET) / + L1_S_SIZE; pmap_alloc_specials(&virtual_avail, round_page(size * L2_TABLE_SIZE_REAL) / PAGE_SIZE, &pmap_kernel_l2ptp_kva, NULL); @@ -1692,9 +1693,9 @@ pmap_bootstrap(vm_offset_t firstaddr, vm cpu_l2cache_wbinv_all(); virtual_avail = round_page(virtual_avail); - virtual_end = lastaddr; + virtual_end = vm_max_kernel_address; kernel_vm_end = pmap_curmaxkvaddr; - arm_nocache_startaddr = lastaddr; + arm_nocache_startaddr = vm_max_kernel_address; mtx_init(&cmtx, "TMP mappings mtx", NULL, MTX_DEF); pmap_set_pcb_pagedir(kernel_pmap, thread0.td_pcb); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Thu Feb 21 15:06:19 2013 (r247097) @@ -2254,7 +2254,7 @@ extern struct mtx smallalloc_mtx; #endif void -pmap_bootstrap(vm_offset_t firstaddr, vm_offset_t lastaddr, struct pv_addr *l1pt) +pmap_bootstrap(vm_offset_t firstaddr, struct pv_addr *l1pt) { static struct l1_ttable static_l1; static struct l2_dtable static_l2[PMAP_STATIC_L2_SIZE]; @@ -2270,7 +2270,7 @@ pmap_bootstrap(vm_offset_t firstaddr, vm int l1idx, l2idx, l2next = 0; PDEBUG(1, printf("firstaddr = %08x, lastaddr = %08x\n", - firstaddr, lastaddr)); + firstaddr, vm_max_kernel_address)); virtual_avail = firstaddr; kernel_pmap->pm_l1 = l1; @@ -2388,7 +2388,8 @@ pmap_bootstrap(vm_offset_t firstaddr, vm pmap_set_pt_cache_mode(kernel_l1pt, (vm_offset_t)csrc_pte); pmap_alloc_specials(&virtual_avail, 1, &cdstp, &cdst_pte); pmap_set_pt_cache_mode(kernel_l1pt, (vm_offset_t)cdst_pte); - size = ((lastaddr - pmap_curmaxkvaddr) + L1_S_OFFSET) / L1_S_SIZE; + size = ((vm_max_kernel_address - pmap_curmaxkvaddr) + L1_S_OFFSET) / + L1_S_SIZE; pmap_alloc_specials(&virtual_avail, round_page(size * L2_TABLE_SIZE_REAL) / PAGE_SIZE, &pmap_kernel_l2ptp_kva, NULL); @@ -2410,9 +2411,9 @@ pmap_bootstrap(vm_offset_t firstaddr, vm cpu_l2cache_wbinv_all(); virtual_avail = round_page(virtual_avail); - virtual_end = lastaddr; + virtual_end = vm_max_kernel_address; kernel_vm_end = pmap_curmaxkvaddr; - arm_nocache_startaddr = lastaddr; + arm_nocache_startaddr = vm_max_kernel_address; mtx_init(&cmtx, "TMP mappings mtx", NULL, MTX_DEF); #ifdef ARM_USE_SMALL_ALLOC Modified: user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -625,7 +625,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); arm_dump_avail_init(memsize, sizeof(dump_avail)/sizeof(dump_avail[0])); - pmap_bootstrap(freemempos, KERNVIRTADDR + 3 * memsize, &kernel_l1pt); + vm_max_kernel_address = KERNVIRTADDR + 3 * memsize; + pmap_bootstrap(freemempos, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/econa/econa_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -325,7 +325,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); arm_dump_avail_init(memsize, sizeof(dump_avail) / sizeof(dump_avail[0])); - pmap_bootstrap(freemempos, KERNVIRTADDR + 3 * memsize, &kernel_l1pt); + vm_max_kernel_address = KERNVIRTADDR + 3 * memsize; + pmap_bootstrap(freemempos, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); Modified: user/attilio/vmobj-rwlock/sys/arm/include/pmap.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/include/pmap.h Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/include/pmap.h Thu Feb 21 15:06:19 2013 (r247097) @@ -222,7 +222,7 @@ extern vm_paddr_t phys_avail[]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; -void pmap_bootstrap(vm_offset_t, vm_offset_t, struct pv_addr *); +void pmap_bootstrap(vm_offset_t firstaddr, struct pv_addr *l1pt); int pmap_change_attr(vm_offset_t, vm_size_t, int); void pmap_kenter(vm_offset_t va, vm_paddr_t pa); void pmap_kenter_nocache(vm_offset_t va, vm_paddr_t pa); Modified: user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/s3c2xx0/s3c24x0_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -387,7 +387,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + 0x100000 * (KERNEL_PT_KERN_NUM - 1); arm_dump_avail_init(memsize, sizeof(dump_avail) / sizeof(dump_avail[0])); - pmap_bootstrap(freemempos, KERNVIRTADDR + 3 * memsize, &kernel_l1pt); + vm_max_kernel_address = KERNVIRTADDR + 3 * memsize; + pmap_bootstrap(freemempos, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -382,7 +382,8 @@ initarm(struct arm_boot_params *abp) dump_avail[3] = phys_avail[3] = 0; mutex_init(); - pmap_bootstrap(freemempos, 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(freemempos, &kernel_l1pt); init_param2(physmem); kdb_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/ep80219_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -369,8 +369,8 @@ initarm(struct arm_boot_params *abp) dump_avail[2] = 0; dump_avail[3] = 0; - pmap_bootstrap(pmap_curmaxkvaddr, - 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i80321/iq31244_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -370,8 +370,8 @@ initarm(struct arm_boot_params *abp) dump_avail[2] = 0; dump_avail[3] = 0; - pmap_bootstrap(pmap_curmaxkvaddr, - 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/i8134x/crb_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -348,8 +348,8 @@ initarm(struct arm_boot_params *abp) dump_avail[2] = 0; dump_avail[3] = 0; - pmap_bootstrap(pmap_curmaxkvaddr, - 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/ixp425/avila_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -433,7 +433,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + PAGE_SIZE; arm_dump_avail_init(memsize, sizeof(dump_avail) / sizeof(dump_avail[0])); - pmap_bootstrap(pmap_curmaxkvaddr, 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/arm/xscale/pxa/pxa_machdep.c Thu Feb 21 15:06:19 2013 (r247097) @@ -366,7 +366,8 @@ initarm(struct arm_boot_params *abp) } dump_avail[i] = 0; dump_avail[i] = 0; - pmap_bootstrap(pmap_curmaxkvaddr, 0xd0000000, &kernel_l1pt); + vm_max_kernel_address = 0xd0000000; + pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); mutex_init(); Modified: user/attilio/vmobj-rwlock/sys/boot/fdt/fdt_loader_cmd.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/boot/fdt/fdt_loader_cmd.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/boot/fdt/fdt_loader_cmd.c Thu Feb 21 15:06:19 2013 (r247097) @@ -235,26 +235,47 @@ fdt_load_dtb(vm_offset_t va) } static int -fdt_setup_fdtp() +fdt_load_dtb_addr(struct fdt_header *header) { struct preloaded_file *bfp; - vm_offset_t va; - bfp = file_findfile(NULL, "dtb"); + bfp = mem_load_raw("dtb", "memory.dtb", header, fdt_totalsize(header)); if (bfp == NULL) { - if ((va = fdt_find_static_dtb()) == 0) { - command_errmsg = "no device tree blob found!"; - return (1); - } - } else { - /* Dynamic blob has precedence over static. */ - va = bfp->f_addr; + command_errmsg = "unable to copy DTB into module directory"; + return (1); } + return fdt_load_dtb(bfp->f_addr); +} - if (fdt_load_dtb(va) != 0) - return (1); - - return (0); +static int +fdt_setup_fdtp() +{ + struct preloaded_file *bfp; + struct fdt_header *hdr; + const char *s, *p; + vm_offset_t va; + + if ((bfp = file_findfile(NULL, "dtb")) != NULL) { + printf("Using DTB from loaded file.\n"); + return fdt_load_dtb(bfp->f_addr); + } + + s = ub_env_get("fdtaddr"); + if (s != NULL && *s != '\0') { + hdr = (struct fdt_header *)strtoul(s, &p, 16); + if (*p == '\0') { + printf("Using DTB provided by U-Boot.\n"); + return fdt_load_dtb_addr(hdr); + } + } + + if ((va = fdt_find_static_dtb()) != 0) { + printf("Using DTB compiled into kernel.\n"); + return (fdt_load_dtb(va)); + } + + command_errmsg = "no device tree blob found!"; + return (1); } #define fdt_strtovect(str, cellbuf, lim, cellsize) _fdt_strtovect((str), \ @@ -789,8 +810,8 @@ command_fdt_internal(int argc, char *arg static int fdt_cmd_addr(int argc, char *argv[]) { - vm_offset_t va; - char *addr, *cp; + struct fdt_header *hdr; + const char *addr, *cp; if (argc > 2) addr = argv[2]; @@ -799,13 +820,13 @@ fdt_cmd_addr(int argc, char *argv[]) return (CMD_ERROR); } - va = strtol(addr, &cp, 0); + hdr = (struct fdt_header *)strtoul(addr, &cp, 0); if (cp == addr) { sprintf(command_errbuf, "Invalid address: %s", addr); return (CMD_ERROR); } - if (fdt_load_dtb(va) != 0) + if (fdt_load_dtb_addr(hdr) != 0) return (CMD_ERROR); return (CMD_OK); @@ -1484,6 +1505,7 @@ fdt_cmd_mkprop(int argc, char *argv[]) if (fdt_modprop(o, propname, value, 1)) return (CMD_ERROR); + COPYIN(fdtp, fdtp_va, fdtp_size); return (CMD_OK); } Modified: user/attilio/vmobj-rwlock/sys/boot/userboot/userboot/elf32_freebsd.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/boot/userboot/userboot/elf32_freebsd.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/boot/userboot/userboot/elf32_freebsd.c Thu Feb 21 15:06:19 2013 (r247097) @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#define _MACHINE_ELF_WANT_32BIT #include #include #include Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Thu Feb 21 15:06:19 2013 (r247097) @@ -1124,14 +1124,12 @@ fasttrap_pid_disable(void *arg, dtrace_i * provider lock as a point of mutual exclusion to prevent other * DTrace consumers from disabling this probe. */ - if ((p = pfind(probe->ftp_pid)) == NULL) { - mutex_exit(&provider->ftp_mtx); - return; - } + if ((p = pfind(probe->ftp_pid)) != NULL) { #ifdef __FreeBSD__ - _PHOLD(p); - PROC_UNLOCK(p); + _PHOLD(p); + PROC_UNLOCK(p); #endif + } /* * Disable all the associated tracepoints (for fully enabled probes). @@ -1168,7 +1166,8 @@ fasttrap_pid_disable(void *arg, dtrace_i fasttrap_pid_cleanup(); #ifdef __FreeBSD__ - PRELE(p); + if (p != NULL) + PRELE(p); #endif if (!probe->ftp_enabled) return; Modified: user/attilio/vmobj-rwlock/sys/crypto/aesni/aesni_wrap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/crypto/aesni/aesni_wrap.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/crypto/aesni/aesni_wrap.c Thu Feb 21 15:06:19 2013 (r247097) @@ -1,4 +1,5 @@ /*- + * Copyright (C) 2008 Damien Miller * Copyright (c) 2010 Konstantin Belousov * Copyright (c) 2010-2011 Pawel Jakub Dawidek * All rights reserved. Modified: user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Feb 21 15:02:36 2013 (r247096) +++ user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Feb 21 15:06:19 2013 (r247097) @@ -241,8 +241,37 @@ ar5416InitState(struct ath_hal_5416 *ahp /* Enable all ANI functions to begin with */ AH5416(ah)->ah_ani_function = 0xffffffff; - /* Set overridable ANI methods */ - AH5212(ah)->ah_aniControl = ar5416AniControl; + /* Set overridable ANI methods */ + AH5212(ah)->ah_aniControl = ar5416AniControl; + + /* + * Default FIFO Trigger levels *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 20:42:52 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2013EB5D; Thu, 21 Feb 2013 20:42:52 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0830D9C3; Thu, 21 Feb 2013 20:42:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LKgpL1064965; Thu, 21 Feb 2013 20:42:51 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LKgp7A064961; Thu, 21 Feb 2013 20:42:51 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302212042.r1LKgp7A064961@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 20:42:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247127 - in user/attilio/vmobj-rwlock/sys/arm: at91 sa11x0 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 20:42:52 -0000 Author: attilio Date: Thu Feb 21 20:42:51 2013 New Revision: 247127 URL: http://svnweb.freebsd.org/changeset/base/247127 Log: Remove supposedly unused vm_pager.h. Sponsored by: EMC / Isilon storage division Modified: user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Modified: user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 20:40:37 2013 (r247126) +++ user/attilio/vmobj-rwlock/sys/arm/at91/at91_machdep.c Thu Feb 21 20:42:51 2013 (r247127) @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -77,7 +76,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 20:40:37 2013 (r247126) +++ user/attilio/vmobj-rwlock/sys/arm/sa11x0/assabet_machdep.c Thu Feb 21 20:42:51 2013 (r247127) @@ -66,7 +66,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -80,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 21:54:58 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D528337E; Thu, 21 Feb 2013 21:54:58 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C58FCEBA; Thu, 21 Feb 2013 21:54:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LLsw6J087357; Thu, 21 Feb 2013 21:54:58 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LLss1j087319; Thu, 21 Feb 2013 21:54:54 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302212154.r1LLss1j087319@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 21:54:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247137 - in user/attilio/vmobj-rwlock/sys: amd64/amd64 arm/arm cddl/compat/opensolaris/kern dev/agp dev/drm2/i915 i386/i386 i386/xen ia64/ia64 kern mips/mips powerpc/aim powerpc/booke ... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 21:54:58 -0000 Author: attilio Date: Thu Feb 21 21:54:53 2013 New Revision: 247137 URL: http://svnweb.freebsd.org/changeset/base/247137 Log: Hide the details for the assertion for VM_OBJECT_LOCK operations. Rename current VM_OBJECT_LOCK_ASSERT(foo, RA_WLOCKED) into VM_OBJECT_ASSERT_WLOCKED(foo) Sponsored by: EMC / Isilon storage division Requested by: alc Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c user/attilio/vmobj-rwlock/sys/dev/agp/agp.c user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c user/attilio/vmobj-rwlock/sys/vm/device_pager.c user/attilio/vmobj-rwlock/sys/vm/phys_pager.c user/attilio/vmobj-rwlock/sys/vm/sg_pager.c user/attilio/vmobj-rwlock/sys/vm/swap_pager.c user/attilio/vmobj-rwlock/sys/vm/vm_fault.c user/attilio/vmobj-rwlock/sys/vm/vm_object.c user/attilio/vmobj-rwlock/sys/vm/vm_object.h user/attilio/vmobj-rwlock/sys/vm/vm_page.c user/attilio/vmobj-rwlock/sys/vm/vm_pageout.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.h user/attilio/vmobj-rwlock/sys/vm/vm_reserv.c user/attilio/vmobj-rwlock/sys/vm/vnode_pager.c Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -3493,7 +3493,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, va >= kmi.clean_eva, ("pmap_enter: managed mapping within the clean submap")); if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); pa = VM_PAGE_TO_PHYS(m); newpte = (pt_entry_t)(pa | PG_A | PG_V); if ((access & VM_PROT_WRITE) != 0) @@ -3760,7 +3760,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m_start->object); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3942,7 +3942,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p, pdpg; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { @@ -4556,7 +4556,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4687,7 +4687,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4831,7 +4831,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Thu Feb 21 21:54:53 2013 (r247137) @@ -2213,7 +2213,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -3429,7 +3429,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -3476,7 +3476,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -3007,7 +3007,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -4462,7 +4462,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -4524,7 +4524,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Thu Feb 21 21:54:53 2013 (r247137) @@ -66,7 +66,7 @@ zfs_vmobject_assert_wlocked(vm_object_t * be too helpful, but it must be an hard function for * compatibility reasons. */ - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); } void Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Thu Feb 21 21:54:53 2013 (r247137) @@ -623,7 +623,7 @@ agp_generic_bind_memory(device_t dev, st return 0; bad: mtx_unlock(&sc->as_lock); - VM_OBJECT_LOCK_ASSERT(mem->am_obj, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(mem->am_obj); for (k = 0; k < mem->am_size; k += PAGE_SIZE) { m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(k)); if (k >= i) Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Thu Feb 21 21:54:53 2013 (r247137) @@ -2488,7 +2488,7 @@ i915_gem_wire_page(vm_object_t object, v vm_page_t m; int rv; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); if (m->valid != VM_PAGE_BITS_ALL) { if (vm_pager_has_page(object, pindex, NULL, NULL)) { Modified: user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -3457,7 +3457,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)", va)); if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); mpte = NULL; @@ -3711,7 +3711,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m_start->object); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3889,7 +3889,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -4508,7 +4508,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4643,7 +4643,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4795,7 +4795,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -2667,7 +2667,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)", va)); if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); mpte = NULL; @@ -2870,7 +2870,7 @@ pmap_enter_object(pmap_t pmap, vm_offset multicall_entry_t *mclp = mcl; int error, count = 0; - VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m_start->object); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3110,7 +3110,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -3656,7 +3656,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -3787,7 +3787,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -3888,7 +3888,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -1802,7 +1802,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m_start->object); psize = atop(end - start); m = m_start; rw_wlock(&pvh_global_lock); @@ -1893,7 +1893,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2211,7 +2211,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be dirty. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2295,7 +2295,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2373,7 +2373,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Thu Feb 21 21:54:53 2013 (r247137) @@ -459,7 +459,7 @@ vfs_buf_test_cache(struct buf *bp, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if (bp->b_flags & B_CACHE) { int base = (foff + off) & PAGE_MASK; if (vm_page_is_valid(m, base, size) == 0) @@ -2534,7 +2534,7 @@ vfs_setdirty_locked_object(struct buf *b int i; object = bp->b_bufobj->bo_object; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); /* * We qualify the scan for modified pages on whether the @@ -3567,7 +3567,7 @@ vfs_drain_busy_pages(struct buf *bp) vm_page_t m; int i, last_busied; - VM_OBJECT_LOCK_ASSERT(bp->b_bufobj->bo_object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(bp->b_bufobj->bo_object); last_busied = 0; for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; @@ -3720,7 +3720,7 @@ vfs_bio_clrbuf(struct buf *bp) if (bp->b_pages[0] == bogus_page) goto unlock; mask = (1 << (bp->b_bufsize / DEV_BSIZE)) - 1; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[0]->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(bp->b_pages[0]->object); if ((bp->b_pages[0]->valid & mask) == mask) goto unlock; if ((bp->b_pages[0]->valid & mask) == 0) { @@ -3739,7 +3739,7 @@ vfs_bio_clrbuf(struct buf *bp) continue; j = ((vm_offset_t)sa & PAGE_MASK) / DEV_BSIZE; mask = ((1 << ((ea - sa) / DEV_BSIZE)) - 1) << j; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(bp->b_pages[i]->object); if ((bp->b_pages[i]->valid & mask) == mask) continue; if ((bp->b_pages[i]->valid & mask) == 0) Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Thu Feb 21 21:54:53 2013 (r247137) @@ -413,8 +413,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, tinc = tsize; if (toff + tinc > PAGE_SIZE) tinc = PAGE_SIZE - toff; - VM_OBJECT_LOCK_ASSERT(tbp->b_pages[j]->object, - RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(tbp->b_pages[j]->object); if ((tbp->b_pages[j]->valid & vm_page_bits(toff, tinc)) != 0) break; @@ -490,7 +489,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, */ VM_OBJECT_WLOCK(bp->b_bufobj->bo_object); for (j = 0; j < bp->b_npages; j++) { - VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(bp->b_pages[j]->object); if (bp->b_pages[j]->valid == VM_PAGE_BITS_ALL) bp->b_pages[j] = bogus_page; } Modified: user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -2399,7 +2399,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m_start->object); psize = atop(end - start); mpte = NULL; m = m_start; @@ -2423,7 +2423,7 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2768,7 +2768,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2834,7 +2834,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_D set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -2882,7 +2882,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Thu Feb 21 21:54:53 2013 (r247137) @@ -1122,7 +1122,7 @@ moea_enter_locked(pmap_t pmap, vm_offset rw_assert(&pvh_global_lock, RA_WLOCKED); PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); /* XXX change the pvo head for fake pages */ if ((m->oflags & VPO_UNMANAGED) != 0) { @@ -1291,7 +1291,7 @@ moea_is_modified(mmu_t mmu, vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1331,7 +1331,7 @@ moea_clear_modify(mmu_t mmu, vm_page_t m KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea_clear_modify: page %p is busy", m)); @@ -1366,7 +1366,7 @@ moea_remove_write(mmu_t mmu, vm_page_t m * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Thu Feb 21 21:54:53 2013 (r247137) @@ -1184,7 +1184,7 @@ moea64_enter(mmu_t mmu, pmap_t pmap, vm_ } if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); /* XXX change the pvo head for fake pages */ if ((m->oflags & VPO_UNMANAGED) != 0) { @@ -1447,7 +1447,7 @@ moea64_is_modified(mmu_t mmu, vm_page_t * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have LPTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1482,7 +1482,7 @@ moea64_clear_modify(mmu_t mmu, vm_page_t KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea64_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea64_clear_modify: page %p is busy", m)); @@ -1515,7 +1515,7 @@ moea64_remove_write(mmu_t mmu, vm_page_t * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -1562,7 +1562,7 @@ mmu_booke_enter_locked(mmu_t mmu, pmap_t ("mmu_booke_enter_locked: user pmap, non user va")); } if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); PMAP_LOCK_ASSERT(pmap, MA_OWNED); @@ -1959,7 +1959,7 @@ mmu_booke_remove_write(mmu_t mmu, vm_pag * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2174,7 +2174,7 @@ mmu_booke_is_modified(mmu_t mmu, vm_page * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be modified. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2246,7 +2246,7 @@ mmu_booke_clear_modify(mmu_t mmu, vm_pag KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("mmu_booke_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("mmu_booke_clear_modify: page %p is busy", m)); @@ -2661,7 +2661,7 @@ mmu_booke_object_init_pt(mmu_t mmu, pmap vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("mmu_booke_object_init_pt: non-device object")); } Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Thu Feb 21 21:54:53 2013 (r247137) @@ -1495,7 +1495,7 @@ pmap_enter_locked(pmap_t pm, vm_offset_t rw_assert(&tte_list_global_lock, RA_WLOCKED); PMAP_LOCK_ASSERT(pm, MA_OWNED); if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); PMAP_STATS_INC(pmap_nenter); pa = VM_PAGE_TO_PHYS(m); @@ -1662,7 +1662,7 @@ pmap_object_init_pt(pmap_t pm, vm_offset vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2060,7 +2060,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no TTEs can have TD_W set. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2128,7 +2128,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2183,7 +2183,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/vm/device_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/device_pager.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/device_pager.c Thu Feb 21 21:54:53 2013 (r247137) @@ -207,7 +207,7 @@ void cdev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (object->type == OBJT_MGTDEVICE) { KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m)); pmap_remove_all(m); @@ -222,7 +222,7 @@ static void dev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT((object->type == OBJT_DEVICE && (m->oflags & VPO_UNMANAGED) != 0), ("Managed device or page obj %p m %p", object, m)); @@ -259,11 +259,11 @@ dev_pager_getpages(vm_object_t object, v { int error, i; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); error = object->un_pager.devp.ops->cdev_pg_fault(object, IDX_TO_OFF(ma[reqpage]->pindex), PROT_READ, &ma[reqpage]); - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); for (i = 0; i < count; i++) { if (i != reqpage) { Modified: user/attilio/vmobj-rwlock/sys/vm/phys_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/phys_pager.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/phys_pager.c Thu Feb 21 21:54:53 2013 (r247137) @@ -140,7 +140,7 @@ phys_pager_getpages(vm_object_t object, { int i; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); for (i = 0; i < count; i++) { if (m[i]->valid == 0) { if ((m[i]->flags & PG_ZERO) == 0) Modified: user/attilio/vmobj-rwlock/sys/vm/sg_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/sg_pager.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/sg_pager.c Thu Feb 21 21:54:53 2013 (r247137) @@ -143,7 +143,7 @@ sg_pager_getpages(vm_object_t object, vm size_t space; int i; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); sg = object->handle; memattr = object->memattr; VM_OBJECT_WUNLOCK(object); Modified: user/attilio/vmobj-rwlock/sys/vm/swap_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/swap_pager.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/swap_pager.c Thu Feb 21 21:54:53 2013 (r247137) @@ -676,7 +676,7 @@ swap_pager_dealloc(vm_object_t object) mtx_unlock(&sw_alloc_mtx); } - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); vm_object_pip_wait(object, "swpdea"); /* @@ -817,7 +817,7 @@ void swap_pager_freespace(vm_object_t object, vm_pindex_t start, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); swp_pager_meta_free(object, start, size); } @@ -885,8 +885,8 @@ swap_pager_copy(vm_object_t srcobject, v { vm_pindex_t i; - VM_OBJECT_LOCK_ASSERT(srcobject, RA_WLOCKED); - VM_OBJECT_LOCK_ASSERT(dstobject, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(srcobject); + VM_OBJECT_ASSERT_WLOCKED(dstobject); /* * If destroysource is set, we remove the source object from the @@ -989,7 +989,7 @@ swap_pager_haspage(vm_object_t object, v { daddr_t blk0; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); /* * do we have good backing store at the requested index ? */ @@ -1060,7 +1060,7 @@ static void swap_pager_unswapped(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); swp_pager_meta_ctl(m->object, m->pindex, SWM_FREE); } @@ -1654,7 +1654,7 @@ swap_pager_isswapped(vm_object_t object, int bcount; int i; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (object->type != OBJT_SWAP) return (0); @@ -1810,7 +1810,7 @@ swp_pager_meta_build(vm_object_t object, struct swblock **pswap; int idx; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); /* * Convert default object to swap object if necessary */ @@ -1908,7 +1908,7 @@ static void swp_pager_meta_free(vm_object_t object, vm_pindex_t index, daddr_t count) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (object->type != OBJT_SWAP) return; @@ -1954,7 +1954,7 @@ swp_pager_meta_free_all(vm_object_t obje { daddr_t index = 0; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (object->type != OBJT_SWAP) return; @@ -2013,7 +2013,7 @@ swp_pager_meta_ctl(vm_object_t object, v daddr_t r1; int idx; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); /* * The meta data only exists of the object is OBJT_SWAP * and even then might not be allocated yet. Modified: user/attilio/vmobj-rwlock/sys/vm/vm_fault.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_fault.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/vm_fault.c Thu Feb 21 21:54:53 2013 (r247137) @@ -960,7 +960,7 @@ vm_fault_cache_behind(const struct fault vm_pindex_t pindex; object = fs->object; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); first_object = fs->first_object; if (first_object != object) { if (!VM_OBJECT_TRYWLOCK(first_object)) { @@ -1403,7 +1403,7 @@ vm_fault_additional_pages(m, rbehind, ra vm_page_t rtm; int cbehind, cahead; - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); object = m->object; pindex = m->pindex; Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.c Thu Feb 21 21:54:53 2013 (r247137) @@ -301,7 +301,7 @@ void vm_object_clear_flag(vm_object_t object, u_short bits) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); object->flags &= ~bits; } @@ -318,7 +318,7 @@ int vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); switch (object->type) { case OBJT_DEFAULT: case OBJT_DEVICE: @@ -344,7 +344,7 @@ void vm_object_pip_add(vm_object_t object, short i) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); object->paging_in_progress += i; } @@ -352,7 +352,7 @@ void vm_object_pip_subtract(vm_object_t object, short i) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); object->paging_in_progress -= i; } @@ -360,7 +360,7 @@ void vm_object_pip_wakeup(vm_object_t object) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); object->paging_in_progress--; if ((object->flags & OBJ_PIPWNT) && object->paging_in_progress == 0) { vm_object_clear_flag(object, OBJ_PIPWNT); @@ -372,7 +372,7 @@ void vm_object_pip_wakeupn(vm_object_t object, short i) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (i) object->paging_in_progress -= i; if ((object->flags & OBJ_PIPWNT) && object->paging_in_progress == 0) { @@ -385,7 +385,7 @@ void vm_object_pip_wait(vm_object_t object, char *waitid) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); while (object->paging_in_progress) { object->flags |= OBJ_PIPWNT; VM_OBJECT_SLEEP(object, object, PVM, waitid, 0); @@ -436,7 +436,7 @@ vm_object_reference_locked(vm_object_t o { struct vnode *vp; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); object->ref_count++; if (object->type == OBJT_VNODE) { vp = object->handle; @@ -452,7 +452,7 @@ vm_object_vndeallocate(vm_object_t objec { struct vnode *vp = (struct vnode *) object->handle; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_VNODE, ("vm_object_vndeallocate: not a vnode object")); KASSERT(vp != NULL, ("vm_object_vndeallocate: missing vp")); @@ -675,7 +675,7 @@ vm_object_terminate(vm_object_t object) { vm_page_t p, p_next; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); /* * Make sure no one uses us. @@ -816,7 +816,7 @@ vm_object_page_clean(vm_object_t object, int curgeneration, n, pagerflags; boolean_t clearobjflags, eio, res; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT(object->type == OBJT_VNODE, ("Not a vnode object")); if ((object->flags & OBJ_MIGHTBEDIRTY) == 0 || object->resident_page_count == 0) @@ -902,7 +902,7 @@ vm_object_page_collect_flush(vm_object_t int count, i, mreq, runlen; vm_page_lock_assert(p, MA_NOTOWNED); - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); count = 1; mreq = 0; @@ -1404,8 +1404,8 @@ vm_object_backing_scan(vm_object_t objec vm_object_t backing_object; vm_pindex_t backing_offset_index; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); - VM_OBJECT_LOCK_ASSERT(object->backing_object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); + VM_OBJECT_ASSERT_WLOCKED(object->backing_object); backing_object = object->backing_object; backing_offset_index = OFF_TO_IDX(object->backing_object_offset); @@ -1625,8 +1625,8 @@ vm_object_qcollapse(vm_object_t object) { vm_object_t backing_object = object->backing_object; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); - VM_OBJECT_LOCK_ASSERT(backing_object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); + VM_OBJECT_ASSERT_WLOCKED(backing_object); if (backing_object->ref_count != 1) return; @@ -1644,7 +1644,7 @@ vm_object_qcollapse(vm_object_t object) void vm_object_collapse(vm_object_t object) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); while (TRUE) { vm_object_t backing_object; @@ -1852,7 +1852,7 @@ vm_object_page_remove(vm_object_t object vm_page_t p, next; int wirings; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT((object->flags & OBJ_UNMANAGED) == 0 || (options & (OBJPR_CLEANONLY | OBJPR_NOTMAPPED)) == OBJPR_NOTMAPPED, ("vm_object_page_remove: illegal options for object %p", object)); @@ -1947,7 +1947,7 @@ vm_object_page_cache(vm_object_t object, struct mtx *mtx, *new_mtx; vm_page_t p, next; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); KASSERT((object->flags & (OBJ_FICTITIOUS | OBJ_UNMANAGED)) == 0, ("vm_object_page_cache: illegal object %p", object)); if (object->resident_page_count == 0) @@ -1995,7 +1995,7 @@ vm_object_populate(vm_object_t object, v vm_pindex_t pindex; int rv; - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); for (pindex = start; pindex < end; pindex++) { m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); @@ -2146,7 +2146,7 @@ void vm_object_set_writeable_dirty(vm_object_t object) { - VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(object); if (object->type != OBJT_VNODE) return; object->generation++; Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.h Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h Thu Feb 21 21:54:53 2013 (r247137) @@ -204,8 +204,8 @@ extern struct vm_object kmem_object_stor #define kernel_object (&kernel_object_store) #define kmem_object (&kmem_object_store) -#define VM_OBJECT_LOCK_ASSERT(object, type) \ - rw_assert(&(object)->lock, (type)) +#define VM_OBJECT_ASSERT_WLOCKED(object) \ + rw_assert(&(object)->lock, RA_WLOCKED) #define VM_OBJECT_LOCK_INIT(object, name) \ rw_init_flags(&(object)->lock, (name), RW_DUPOK) #define VM_OBJECT_RLOCK(object) \ Modified: user/attilio/vmobj-rwlock/sys/vm/vm_page.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_page.c Thu Feb 21 21:48:38 2013 (r247136) +++ user/attilio/vmobj-rwlock/sys/vm/vm_page.c Thu Feb 21 21:54:53 2013 (r247137) @@ -469,7 +469,7 @@ void vm_page_busy(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT((m->oflags & VPO_BUSY) == 0, ("vm_page_busy: page already busy!!!")); m->oflags |= VPO_BUSY; @@ -484,7 +484,7 @@ void vm_page_flash(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); if (m->oflags & VPO_WANTED) { m->oflags &= ~VPO_WANTED; wakeup(m); @@ -502,7 +502,7 @@ void vm_page_wakeup(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT(m->oflags & VPO_BUSY, ("vm_page_wakeup: page not busy!!!")); m->oflags &= ~VPO_BUSY; vm_page_flash(m); @@ -512,7 +512,7 @@ void vm_page_io_start(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); m->busy++; } @@ -520,7 +520,7 @@ void vm_page_io_finish(vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); + VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT(m->busy > 0, ("vm_page_io_finish: page %p is not busy", m)); m->busy--; if (m->busy == 0) @@ -752,7 +752,7 @@ void vm_page_sleep(vm_page_t m, const char *msg) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 21:56:52 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3AF4F6BF; Thu, 21 Feb 2013 21:56:52 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2D422EED; Thu, 21 Feb 2013 21:56:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LLuqxv087680; Thu, 21 Feb 2013 21:56:52 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LLuqjq087679; Thu, 21 Feb 2013 21:56:52 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302212156.r1LLuqjq087679@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 21:56:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247138 - user/attilio/vmobj-rwlock/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 21:56:52 -0000 Author: attilio Date: Thu Feb 21 21:56:51 2013 New Revision: 247138 URL: http://svnweb.freebsd.org/changeset/base/247138 Log: Complete the asserts by definining also assertions for RA_RLOCKED and RA_LOCKED cases. Sponsored by: EMC / Isilon storage division Requested by: alc Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/vm_object.h Thu Feb 21 21:54:53 2013 (r247137) +++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h Thu Feb 21 21:56:51 2013 (r247138) @@ -204,6 +204,10 @@ extern struct vm_object kmem_object_stor #define kernel_object (&kernel_object_store) #define kmem_object (&kmem_object_store) +#define VM_OBJECT_ASSERT_LOCKED(object) \ + rw_assert(&(object)->lock, RA_LOCKED) +#define VM_OBJECT_ASSERT_RLOCKED(object) \ + rw_assert(&(object)->lock, RA_RLOCKED) #define VM_OBJECT_ASSERT_WLOCKED(object) \ rw_assert(&(object)->lock, RA_WLOCKED) #define VM_OBJECT_LOCK_INIT(object, name) \ From owner-svn-src-user@FreeBSD.ORG Thu Feb 21 21:59:38 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E408B816; Thu, 21 Feb 2013 21:59:38 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D3B66F17; Thu, 21 Feb 2013 21:59:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1LLxcDB088096; Thu, 21 Feb 2013 21:59:38 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1LLxawg088079; Thu, 21 Feb 2013 21:59:36 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302212159.r1LLxawg088079@svn.freebsd.org> From: Attilio Rao Date: Thu, 21 Feb 2013 21:59:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247139 - in user/attilio/vmobj-rwlock: contrib/binutils/opcodes sbin/devd share/man/man4 sys/conf sys/dev/ath sys/dev/cxgbe sys/dev/cxgbe/common sys/dev/firewire sys/dev/mxge sys/fs/nf... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Feb 2013 21:59:39 -0000 Author: attilio Date: Thu Feb 21 21:59:35 2013 New Revision: 247139 URL: http://svnweb.freebsd.org/changeset/base/247139 Log: MFC Deleted: user/attilio/vmobj-rwlock/sys/dev/mxge/mxge_lro.c Modified: user/attilio/vmobj-rwlock/contrib/binutils/opcodes/i386-opc.h user/attilio/vmobj-rwlock/sbin/devd/devd.conf.5 user/attilio/vmobj-rwlock/share/man/man4/carp.4 user/attilio/vmobj-rwlock/sys/conf/files user/attilio/vmobj-rwlock/sys/dev/ath/if_ath.c user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.c user/attilio/vmobj-rwlock/sys/dev/cxgbe/common/t4_hw.h user/attilio/vmobj-rwlock/sys/dev/cxgbe/t4_main.c user/attilio/vmobj-rwlock/sys/dev/firewire/sbp.c user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h user/attilio/vmobj-rwlock/sys/fs/nfs/nfs_commonkrpc.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvfsops.c user/attilio/vmobj-rwlock/sys/kern/kern_sig.c user/attilio/vmobj-rwlock/sys/kern/subr_trap.c user/attilio/vmobj-rwlock/sys/kern/vfs_export.c user/attilio/vmobj-rwlock/sys/kern/vfs_lookup.c user/attilio/vmobj-rwlock/sys/modules/mxge/mxge/Makefile user/attilio/vmobj-rwlock/sys/netinet/tcp_lro.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_krpc.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_vfsops.c user/attilio/vmobj-rwlock/sys/sys/mount.h user/attilio/vmobj-rwlock/sys/sys/signalvar.h user/attilio/vmobj-rwlock/sys/sys/systm.h user/attilio/vmobj-rwlock/sys/tools/vnode_if.awk user/attilio/vmobj-rwlock/sys/x86/isa/atrtc.c Directory Properties: user/attilio/vmobj-rwlock/ (props changed) user/attilio/vmobj-rwlock/contrib/binutils/ (props changed) user/attilio/vmobj-rwlock/sbin/ (props changed) user/attilio/vmobj-rwlock/share/man/man4/ (props changed) user/attilio/vmobj-rwlock/sys/ (props changed) user/attilio/vmobj-rwlock/sys/conf/ (props changed) Modified: user/attilio/vmobj-rwlock/contrib/binutils/opcodes/i386-opc.h ============================================================================== --- user/attilio/vmobj-rwlock/contrib/binutils/opcodes/i386-opc.h Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/contrib/binutils/opcodes/i386-opc.h Thu Feb 21 21:59:35 2013 (r247139) @@ -73,15 +73,16 @@ typedef struct template #define CpuSSE4_2 0x800000 /* SSE4.2 Instructions required */ #define CpuXSAVE 0x1000000 /* XSAVE Instructions required */ #define CpuAES 0x2000000 /* AES Instructions required */ -#define CpuPCLMUL 0x4000000 /* Carry-less Multiplication extensions */ - -/* SSE4.1/4.2 Instructions required */ -#define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) /* These flags are set by gas depending on the flag_code. */ #define Cpu64 0x4000000 /* 64bit support required */ #define CpuNo64 0x8000000 /* Not supported in the 64bit mode */ +#define CpuPCLMUL 0x10000000 /* Carry-less Multiplication extensions */ + +/* SSE4.1/4.2 Instructions required */ +#define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) + /* The default value for unknown CPUs - enable all features to avoid problems. */ #define CpuUnknownFlags (Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \ |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuSSE3|CpuVMX \ Modified: user/attilio/vmobj-rwlock/sbin/devd/devd.conf.5 ============================================================================== --- user/attilio/vmobj-rwlock/sbin/devd/devd.conf.5 Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sbin/devd/devd.conf.5 Thu Feb 21 21:59:35 2013 (r247139) @@ -41,7 +41,7 @@ .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" -.Dd December 16, 2011 +.Dd February 22, 2013 .Dt DEVD.CONF 5 .Os .Sh NAME @@ -181,9 +181,8 @@ Valid media types are: .Dq Li Tokenring , .Dq Li FDDI , .Dq Li 802.11 , -.Dq Li ATM , and -.Dq Li CARP . +.Dq Li ATM . .It Ic subdevice Qq Ar string ; This is shorthand for .Dq Ic match Qo Li subdevice Qc Qq Ar string . @@ -350,6 +349,7 @@ The network interface is attached to the The network interface is detached from the system. .El .El +.Pp .It Li DEVFS Events related to the .Xr devfs 5 @@ -369,6 +369,7 @@ The node is destroyed. .El .El +.Pp .It Li USB Events related to the USB subsystem. .Bl -tag -width ".Sy Subsystem" -compact @@ -390,6 +391,7 @@ USB interface is attached to a device. USB interface is detached from a device. .El .El +.Pp .It Li coretemp Events related to the .Xr coretemp 4 @@ -404,6 +406,7 @@ Notification that the CPU core has reach String containing the temperature of the core that has become too hot. .El .El +.Pp .It Li kern Events related to the kernel. .Bl -tag -width ".Sy Subsystem" -compact Modified: user/attilio/vmobj-rwlock/share/man/man4/carp.4 ============================================================================== --- user/attilio/vmobj-rwlock/share/man/man4/carp.4 Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/share/man/man4/carp.4 Thu Feb 21 21:59:35 2013 (r247139) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 25, 2012 +.Dd February 21, 2013 .Dt CARP 4 .Os .Sh NAME @@ -281,7 +281,7 @@ status change events can be set up by us .Bd -literal -offset indent notify 0 { match "system" "CARP"; - match "subsystem" "[0-9]+@"; + match "subsystem" "[0-9]+@[0-9a-z]+"; match "type" "(MASTER|BACKUP)"; action "/root/carpcontrol.sh $subsystem $type"; }; Modified: user/attilio/vmobj-rwlock/sys/conf/files ============================================================================== --- user/attilio/vmobj-rwlock/sys/conf/files Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/conf/files Thu Feb 21 21:59:35 2013 (r247139) @@ -1743,7 +1743,6 @@ mwlboot.fw optional mwlfw \ no-obj no-implicit-rule \ clean "mwlboot.fw" dev/mxge/if_mxge.c optional mxge pci -dev/mxge/mxge_lro.c optional mxge pci dev/mxge/mxge_eth_z8e.c optional mxge pci dev/mxge/mxge_ethp_z8e.c optional mxge pci dev/mxge/mxge_rss_eth_z8e.c optional mxge pci Modified: user/attilio/vmobj-rwlock/sys/dev/ath/if_ath.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ath/if_ath.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/ath/if_ath.c Thu Feb 21 21:59:35 2013 (r247139) @@ -3631,12 +3631,14 @@ ath_tx_default_comp(struct ath_softc *sc st = ((bf->bf_state.bfs_txflags & HAL_TXDESC_NOACK) == 0) ? ts->ts_status : HAL_TXERR_XRETRY; +#if 0 if (bf->bf_state.bfs_dobaw) device_printf(sc->sc_dev, "%s: bf %p: seqno %d: dobaw should've been cleared!\n", __func__, bf, SEQNO(bf->bf_state.bfs_seqno)); +#endif if (bf->bf_next != NULL) device_printf(sc->sc_dev, "%s: bf %p: seqno %d: bf_next not NULL!\n", Modified: user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/ath/if_ath_tx.c Thu Feb 21 21:59:35 2013 (r247139) @@ -3373,6 +3373,7 @@ ath_tx_tid_drain_pkt(struct ath_softc *s ath_tx_update_baw(sc, an, tid, bf); bf->bf_state.bfs_dobaw = 0; } +#if 0 /* * This has become a non-fatal error now */ @@ -3380,6 +3381,7 @@ ath_tx_tid_drain_pkt(struct ath_softc *s device_printf(sc->sc_dev, "%s: wasn't added: seqno %d\n", __func__, SEQNO(bf->bf_state.bfs_seqno)); +#endif } TAILQ_INSERT_TAIL(bf_cq, bf, bf_list); } Modified: user/attilio/vmobj-rwlock/sys/dev/cxgbe/common/t4_hw.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/cxgbe/common/t4_hw.h Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/cxgbe/common/t4_hw.h Thu Feb 21 21:59:35 2013 (r247139) @@ -58,6 +58,7 @@ enum { CIM_PIFLA_SIZE = 64, /* # of 192-bit words in CIM PIF LA */ CIM_MALA_SIZE = 64, /* # of 160-bit words in CIM MA LA */ CIM_IBQ_SIZE = 128, /* # of 128-bit words in a CIM IBQ */ + CIM_OBQ_SIZE = 128, /* # of 128-bit words in a CIM OBQ */ TPLA_SIZE = 128, /* # of 64-bit words in TP LA */ ULPRX_LA_SIZE = 512, /* # of 256-bit words in ULP_RX LA */ }; Modified: user/attilio/vmobj-rwlock/sys/dev/cxgbe/t4_main.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/cxgbe/t4_main.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/cxgbe/t4_main.c Thu Feb 21 21:59:35 2013 (r247139) @@ -317,6 +317,9 @@ static int sysctl_qsize_txq(SYSCTL_HANDL static int sysctl_handle_t4_reg64(SYSCTL_HANDLER_ARGS); #ifdef SBUF_DRAIN static int sysctl_cctrl(SYSCTL_HANDLER_ARGS); +static int sysctl_cim_ibq_obq(SYSCTL_HANDLER_ARGS); +static int sysctl_cim_la(SYSCTL_HANDLER_ARGS); +static int sysctl_cim_qcfg(SYSCTL_HANDLER_ARGS); static int sysctl_cpl_stats(SYSCTL_HANDLER_ARGS); static int sysctl_ddp_stats(SYSCTL_HANDLER_ARGS); static int sysctl_devlog(SYSCTL_HANDLER_ARGS); @@ -3171,6 +3174,62 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_cctrl, "A", "congestion control"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_tp0", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, + sysctl_cim_ibq_obq, "A", "CIM IBQ 0 (TP0)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_tp1", + CTLTYPE_STRING | CTLFLAG_RD, sc, 1, + sysctl_cim_ibq_obq, "A", "CIM IBQ 1 (TP1)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_ulp", + CTLTYPE_STRING | CTLFLAG_RD, sc, 2, + sysctl_cim_ibq_obq, "A", "CIM IBQ 2 (ULP)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_sge0", + CTLTYPE_STRING | CTLFLAG_RD, sc, 3, + sysctl_cim_ibq_obq, "A", "CIM IBQ 3 (SGE0)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_sge1", + CTLTYPE_STRING | CTLFLAG_RD, sc, 4, + sysctl_cim_ibq_obq, "A", "CIM IBQ 4 (SGE1)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_ibq_ncsi", + CTLTYPE_STRING | CTLFLAG_RD, sc, 5, + sysctl_cim_ibq_obq, "A", "CIM IBQ 5 (NCSI)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_la", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, + sysctl_cim_la, "A", "CIM logic analyzer"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_ulp0", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 0 (ULP0)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_ulp1", + CTLTYPE_STRING | CTLFLAG_RD, sc, 1 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 1 (ULP1)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_ulp2", + CTLTYPE_STRING | CTLFLAG_RD, sc, 2 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 2 (ULP2)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_ulp3", + CTLTYPE_STRING | CTLFLAG_RD, sc, 3 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 3 (ULP3)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_sge", + CTLTYPE_STRING | CTLFLAG_RD, sc, 4 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 4 (SGE)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_obq_ncsi", + CTLTYPE_STRING | CTLFLAG_RD, sc, 5 + CIM_NUM_IBQ, + sysctl_cim_ibq_obq, "A", "CIM OBQ 5 (NCSI)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cim_qcfg", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, + sysctl_cim_qcfg, "A", "CIM queue configuration"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "cpl_stats", CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_cpl_stats, "A", "CPL statistics"); @@ -3694,6 +3753,176 @@ sysctl_cctrl(SYSCTL_HANDLER_ARGS) return (rc); } +static const char *qname[CIM_NUM_IBQ + CIM_NUM_OBQ] = { + "TP0", "TP1", "ULP", "SGE0", "SGE1", "NC-SI", /* ibq's */ + "ULP0", "ULP1", "ULP2", "ULP3", "SGE", "NC-SI" /* obq's */ +}; + +static int +sysctl_cim_ibq_obq(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + struct sbuf *sb; + int rc, i, n, qid = arg2; + uint32_t *buf, *p; + char *qtype; + + KASSERT(qid >= 0 && qid < nitems(qname), + ("%s: bad qid %d\n", __func__, qid)); + + if (qid < CIM_NUM_IBQ) { + /* inbound queue */ + qtype = "IBQ"; + n = 4 * CIM_IBQ_SIZE; + buf = malloc(n * sizeof(uint32_t), M_CXGBE, M_ZERO | M_WAITOK); + rc = t4_read_cim_ibq(sc, qid, buf, n); + } else { + /* outbound queue */ + qtype = "OBQ"; + qid -= CIM_NUM_IBQ; + n = 4 * 6 * CIM_OBQ_SIZE; + buf = malloc(n * sizeof(uint32_t), M_CXGBE, M_ZERO | M_WAITOK); + rc = t4_read_cim_obq(sc, qid, buf, n); + } + + if (rc < 0) { + rc = -rc; + goto done; + } + n = rc * sizeof(uint32_t); /* rc has # of words actually read */ + + rc = sysctl_wire_old_buffer(req, 0); + if (rc != 0) + goto done; + + sb = sbuf_new_for_sysctl(NULL, NULL, 4096, req); + if (sb == NULL) { + rc = ENOMEM; + goto done; + } + + sbuf_printf(sb, "%s%d %s", qtype , qid, qname[arg2]); + for (i = 0, p = buf; i < n; i += 16, p += 4) + sbuf_printf(sb, "\n%#06x: %08x %08x %08x %08x", i, p[0], p[1], + p[2], p[3]); + + rc = sbuf_finish(sb); + sbuf_delete(sb); +done: + free(buf, M_CXGBE); + return (rc); +} + +static int +sysctl_cim_la(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + u_int cfg; + struct sbuf *sb; + uint32_t *buf, *p; + int rc; + + rc = -t4_cim_read(sc, A_UP_UP_DBG_LA_CFG, 1, &cfg); + if (rc != 0) + return (rc); + + rc = sysctl_wire_old_buffer(req, 0); + if (rc != 0) + return (rc); + + sb = sbuf_new_for_sysctl(NULL, NULL, 4096, req); + if (sb == NULL) + return (ENOMEM); + + buf = malloc(sc->params.cim_la_size * sizeof(uint32_t), M_CXGBE, + M_ZERO | M_WAITOK); + + rc = -t4_cim_read_la(sc, buf, NULL); + if (rc != 0) + goto done; + + sbuf_printf(sb, "Status Data PC%s", + cfg & F_UPDBGLACAPTPCONLY ? "" : + " LS0Stat LS0Addr LS0Data"); + + KASSERT((sc->params.cim_la_size & 7) == 0, + ("%s: p will walk off the end of buf", __func__)); + + for (p = buf; p < &buf[sc->params.cim_la_size]; p += 8) { + if (cfg & F_UPDBGLACAPTPCONLY) { + sbuf_printf(sb, "\n %02x %08x %08x", p[5] & 0xff, + p[6], p[7]); + sbuf_printf(sb, "\n %02x %02x%06x %02x%06x", + (p[3] >> 8) & 0xff, p[3] & 0xff, p[4] >> 8, + p[4] & 0xff, p[5] >> 8); + sbuf_printf(sb, "\n %02x %x%07x %x%07x", + (p[0] >> 4) & 0xff, p[0] & 0xf, p[1] >> 4, + p[1] & 0xf, p[2] >> 4); + } else { + sbuf_printf(sb, + "\n %02x %x%07x %x%07x %08x %08x " + "%08x%08x%08x%08x", + (p[0] >> 4) & 0xff, p[0] & 0xf, p[1] >> 4, + p[1] & 0xf, p[2] >> 4, p[2] & 0xf, p[3], p[4], p[5], + p[6], p[7]); + } + } + + rc = sbuf_finish(sb); + sbuf_delete(sb); +done: + free(buf, M_CXGBE); + return (rc); +} + +static int +sysctl_cim_qcfg(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + struct sbuf *sb; + int rc, i; + uint16_t base[CIM_NUM_IBQ + CIM_NUM_OBQ]; + uint16_t size[CIM_NUM_IBQ + CIM_NUM_OBQ]; + uint16_t thres[CIM_NUM_IBQ]; + uint32_t obq_wr[2 * CIM_NUM_OBQ], *wr = obq_wr; + uint32_t stat[4 * (CIM_NUM_IBQ + CIM_NUM_OBQ)], *p = stat; + + rc = -t4_cim_read(sc, A_UP_IBQ_0_RDADDR, nitems(stat), stat); + if (rc == 0) + rc = -t4_cim_read(sc, A_UP_OBQ_0_REALADDR, nitems(obq_wr), + obq_wr); + if (rc != 0) + return (rc); + + t4_read_cimq_cfg(sc, base, size, thres); + + rc = sysctl_wire_old_buffer(req, 0); + if (rc != 0) + return (rc); + + sb = sbuf_new_for_sysctl(NULL, NULL, 4096, req); + if (sb == NULL) + return (ENOMEM); + + sbuf_printf(sb, "Queue Base Size Thres RdPtr WrPtr SOP EOP Avail"); + + for (i = 0; i < CIM_NUM_IBQ; i++, p += 4) + sbuf_printf(sb, "\n%5s %5x %5u %4u %6x %4x %4u %4u %5u", + qname[i], base[i], size[i], thres[i], G_IBQRDADDR(p[0]), + G_IBQWRADDR(p[1]), G_QUESOPCNT(p[3]), G_QUEEOPCNT(p[3]), + G_QUEREMFLITS(p[2]) * 16); + for ( ; i < CIM_NUM_IBQ + CIM_NUM_OBQ; i++, p += 4, wr += 2) + sbuf_printf(sb, "\n%5s %5x %5u %11x %4x %4u %4u %5u", qname[i], + base[i], size[i], G_QUERDADDR(p[0]) & 0x3fff, + wr[0] - base[i], G_QUESOPCNT(p[3]), G_QUEEOPCNT(p[3]), + G_QUEREMFLITS(p[2]) * 16); + + rc = sbuf_finish(sb); + sbuf_delete(sb); + + return (rc); +} + static int sysctl_cpl_stats(SYSCTL_HANDLER_ARGS) { Modified: user/attilio/vmobj-rwlock/sys/dev/firewire/sbp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/firewire/sbp.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/firewire/sbp.c Thu Feb 21 21:59:35 2013 (r247139) @@ -2488,16 +2488,14 @@ printf("ORB %08x %08x %08x %08x\n", ntoh printf("ORB %08x %08x %08x %08x\n", ntohl(ocb->orb[4]), ntohl(ocb->orb[5]), ntohl(ocb->orb[6]), ntohl(ocb->orb[7])); */ if (ccb->csio.dxfer_len > 0) { - int s, error; + int error; - s = splsoftvm(); error = bus_dmamap_load_ccb(/*dma tag*/sbp->dmat, /*dma map*/ocb->dmamap, ccb, sbp_execute_ocb, ocb, /*flags*/0); - splx(s); if (error) printf("sbp: bus_dmamap_load error %d\n", error); } else Modified: user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c Thu Feb 21 21:59:35 2013 (r247139) @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -102,7 +103,6 @@ static int mxge_intr_coal_delay = 30; static int mxge_deassert_wait = 1; static int mxge_flow_control = 1; static int mxge_verbose = 0; -static int mxge_lro_cnt = 8; static int mxge_ticks; static int mxge_max_slices = 1; static int mxge_rss_hash_type = MXGEFW_RSS_HASH_TYPE_SRC_DST_PORT; @@ -1311,9 +1311,9 @@ mxge_reset(mxge_softc_t *sc, int interru ss->tx.stall = 0; ss->rx_big.cnt = 0; ss->rx_small.cnt = 0; - ss->lro_bad_csum = 0; - ss->lro_queued = 0; - ss->lro_flushed = 0; + ss->lc.lro_bad_csum = 0; + ss->lc.lro_queued = 0; + ss->lc.lro_flushed = 0; if (ss->fw_stats != NULL) { bzero(ss->fw_stats, sizeof *ss->fw_stats); } @@ -1414,50 +1414,6 @@ mxge_change_flow_control(SYSCTL_HANDLER_ } static int -mxge_change_lro_locked(mxge_softc_t *sc, int lro_cnt) -{ - struct ifnet *ifp; - int err = 0; - - ifp = sc->ifp; - if (lro_cnt == 0) - ifp->if_capenable &= ~IFCAP_LRO; - else - ifp->if_capenable |= IFCAP_LRO; - sc->lro_cnt = lro_cnt; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - mxge_close(sc, 0); - err = mxge_open(sc); - } - return err; -} - -static int -mxge_change_lro(SYSCTL_HANDLER_ARGS) -{ - mxge_softc_t *sc; - unsigned int lro_cnt; - int err; - - sc = arg1; - lro_cnt = sc->lro_cnt; - err = sysctl_handle_int(oidp, &lro_cnt, arg2, req); - if (err != 0) - return err; - - if (lro_cnt == sc->lro_cnt) - return 0; - - if (lro_cnt > 128) - return EINVAL; - - mtx_lock(&sc->driver_mtx); - err = mxge_change_lro_locked(sc, lro_cnt); - mtx_unlock(&sc->driver_mtx); - return err; -} - -static int mxge_handle_be32(SYSCTL_HANDLER_ARGS) { int err; @@ -1653,14 +1609,6 @@ mxge_add_sysctls(mxge_softc_t *sc) CTLFLAG_RW, &mxge_verbose, 0, "verbose printing"); - /* lro */ - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, - "lro_cnt", - CTLTYPE_INT|CTLFLAG_RW, sc, - 0, mxge_change_lro, - "I", "number of lro merge queues"); - - /* add counters exported for debugging from all slices */ sysctl_ctx_init(&sc->slice_sysctl_ctx); sc->slice_sysctl_tree = @@ -1686,11 +1634,15 @@ mxge_add_sysctls(mxge_softc_t *sc) CTLFLAG_RD, &ss->rx_big.cnt, 0, "rx_small_cnt"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, - "lro_flushed", CTLFLAG_RD, &ss->lro_flushed, + "lro_flushed", CTLFLAG_RD, &ss->lc.lro_flushed, 0, "number of lro merge queues flushed"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, - "lro_queued", CTLFLAG_RD, &ss->lro_queued, + "lro_bad_csum", CTLFLAG_RD, &ss->lc.lro_bad_csum, + 0, "number of bad csums preventing LRO"); + + SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "lro_queued", CTLFLAG_RD, &ss->lc.lro_queued, 0, "number of frames appended to lro merge" "queues"); @@ -2534,6 +2486,64 @@ done: return err; } +#ifdef INET6 + +static uint16_t +mxge_csum_generic(uint16_t *raw, int len) +{ + uint32_t csum; + + + csum = 0; + while (len > 0) { + csum += *raw; + raw++; + len -= 2; + } + csum = (csum >> 16) + (csum & 0xffff); + csum = (csum >> 16) + (csum & 0xffff); + return (uint16_t)csum; +} + +static inline uint16_t +mxge_rx_csum6(void *p, struct mbuf *m, uint32_t csum) +{ + uint32_t partial; + int nxt, cksum_offset; + struct ip6_hdr *ip6 = p; + uint16_t c; + + nxt = ip6->ip6_nxt; + cksum_offset = sizeof (*ip6) + ETHER_HDR_LEN; + if (nxt != IPPROTO_TCP && nxt != IPPROTO_UDP) { + cksum_offset = ip6_lasthdr(m, ETHER_HDR_LEN, + IPPROTO_IPV6, &nxt); + if (nxt != IPPROTO_TCP && nxt != IPPROTO_UDP) + return (1); + } + + /* + * IPv6 headers do not contain a checksum, and hence + * do not checksum to zero, so they don't "fall out" + * of the partial checksum calculation like IPv4 + * headers do. We need to fix the partial checksum by + * subtracting the checksum of the IPv6 header. + */ + + partial = mxge_csum_generic((uint16_t *)ip6, cksum_offset - + ETHER_HDR_LEN); + csum += ~partial; + csum += (csum < ~partial); + csum = (csum >> 16) + (csum & 0xFFFF); + csum = (csum >> 16) + (csum & 0xFFFF); + c = in6_cksum_pseudo(ip6, m->m_pkthdr.len - cksum_offset, nxt, + csum); + +// printf("%d %d %x %x %x %x %x\n", m->m_pkthdr.len, cksum_offset, c, csum, ocsum, partial, d); + c ^= 0xffff; + return (c); +} +#endif /* INET6 */ /* * Myri10GE hardware checksums are not valid if the sender * padded the frame with non-zero padding. This is because @@ -2547,26 +2557,39 @@ static inline uint16_t mxge_rx_csum(struct mbuf *m, int csum) { struct ether_header *eh; +#ifdef INET struct ip *ip; - uint16_t c; +#endif + int cap = m->m_pkthdr.rcvif->if_capenable; + uint16_t c, etype; - eh = mtod(m, struct ether_header *); - /* only deal with IPv4 TCP & UDP for now */ - if (__predict_false(eh->ether_type != htons(ETHERTYPE_IP))) - return 1; - ip = (struct ip *)(eh + 1); - if (__predict_false(ip->ip_p != IPPROTO_TCP && - ip->ip_p != IPPROTO_UDP)) - return 1; + eh = mtod(m, struct ether_header *); + etype = ntohs(eh->ether_type); + switch (etype) { #ifdef INET - c = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, - htonl(ntohs(csum) + ntohs(ip->ip_len) + - - (ip->ip_hl << 2) + ip->ip_p)); -#else - c = 1; + case ETHERTYPE_IP: + if ((cap & IFCAP_RXCSUM) == 0) + return (1); + ip = (struct ip *)(eh + 1); + if (ip->ip_p != IPPROTO_TCP && ip->ip_p != IPPROTO_UDP) + return (1); + c = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, + htonl(ntohs(csum) + ntohs(ip->ip_len) - + (ip->ip_hl << 2) + ip->ip_p)); + c ^= 0xffff; + break; #endif - c ^= 0xffff; +#ifdef INET6 + case ETHERTYPE_IPV6: + if ((cap & IFCAP_RXCSUM_IPV6) == 0) + return (1); + c = mxge_rx_csum6((eh + 1), m, csum); + break; +#endif + default: + c = 1; + } return (c); } @@ -2628,7 +2651,8 @@ mxge_vlan_tag_remove(struct mbuf *m, uin static inline void -mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len, uint32_t csum) +mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len, + uint32_t csum, int lro) { mxge_softc_t *sc; struct ifnet *ifp; @@ -2637,7 +2661,6 @@ mxge_rx_done_big(struct mxge_slice_state mxge_rx_ring_t *rx; bus_dmamap_t old_map; int idx; - uint16_t tcpudp_csum; sc = ss->sc; ifp = sc->ifp; @@ -2674,14 +2697,18 @@ mxge_rx_done_big(struct mxge_slice_state mxge_vlan_tag_remove(m, &csum); } /* if the checksum is valid, mark it in the mbuf header */ - if (sc->csum_flag && (0 == (tcpudp_csum = mxge_rx_csum(m, csum)))) { - if (sc->lro_cnt && (0 == mxge_lro_rx(ss, m, csum))) - return; - /* otherwise, it was a UDP frame, or a TCP frame which - we could not do LRO on. Tell the stack that the - checksum is good */ + + if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && + (0 == mxge_rx_csum(m, csum))) { + /* Tell the stack that the checksum is good */ m->m_pkthdr.csum_data = 0xffff; - m->m_pkthdr.csum_flags = CSUM_PSEUDO_HDR | CSUM_DATA_VALID; + m->m_pkthdr.csum_flags = CSUM_PSEUDO_HDR | + CSUM_DATA_VALID; + +#if defined(INET) || defined (INET6) + if (lro && (0 == tcp_lro_rx(&ss->lc, m, 0))) + return; +#endif } /* flowid only valid if RSS hashing is enabled */ if (sc->num_slices > 1) { @@ -2693,7 +2720,8 @@ mxge_rx_done_big(struct mxge_slice_state } static inline void -mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, uint32_t csum) +mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, + uint32_t csum, int lro) { mxge_softc_t *sc; struct ifnet *ifp; @@ -2702,7 +2730,6 @@ mxge_rx_done_small(struct mxge_slice_sta mxge_rx_ring_t *rx; bus_dmamap_t old_map; int idx; - uint16_t tcpudp_csum; sc = ss->sc; ifp = sc->ifp; @@ -2739,14 +2766,17 @@ mxge_rx_done_small(struct mxge_slice_sta mxge_vlan_tag_remove(m, &csum); } /* if the checksum is valid, mark it in the mbuf header */ - if (sc->csum_flag && (0 == (tcpudp_csum = mxge_rx_csum(m, csum)))) { - if (sc->lro_cnt && (0 == mxge_lro_rx(ss, m, csum))) - return; - /* otherwise, it was a UDP frame, or a TCP frame which - we could not do LRO on. Tell the stack that the - checksum is good */ + if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && + (0 == mxge_rx_csum(m, csum))) { + /* Tell the stack that the checksum is good */ m->m_pkthdr.csum_data = 0xffff; - m->m_pkthdr.csum_flags = CSUM_PSEUDO_HDR | CSUM_DATA_VALID; + m->m_pkthdr.csum_flags = CSUM_PSEUDO_HDR | + CSUM_DATA_VALID; + +#if defined(INET) || defined (INET6) + if (lro && (0 == tcp_lro_rx(&ss->lc, m, csum))) + return; +#endif } /* flowid only valid if RSS hashing is enabled */ if (sc->num_slices > 1) { @@ -2764,16 +2794,17 @@ mxge_clean_rx_done(struct mxge_slice_sta int limit = 0; uint16_t length; uint16_t checksum; + int lro; - + lro = ss->sc->ifp->if_capenable & IFCAP_LRO; while (rx_done->entry[rx_done->idx].length != 0) { length = ntohs(rx_done->entry[rx_done->idx].length); rx_done->entry[rx_done->idx].length = 0; checksum = rx_done->entry[rx_done->idx].checksum; if (length <= (MHLEN - MXGEFW_PAD)) - mxge_rx_done_small(ss, length, checksum); + mxge_rx_done_small(ss, length, checksum, lro); else - mxge_rx_done_big(ss, length, checksum); + mxge_rx_done_big(ss, length, checksum, lro); rx_done->cnt++; rx_done->idx = rx_done->cnt & rx_done->mask; @@ -2781,11 +2812,11 @@ mxge_clean_rx_done(struct mxge_slice_sta if (__predict_false(++limit > rx_done->mask / 2)) break; } -#ifdef INET - while (!SLIST_EMPTY(&ss->lro_active)) { - struct lro_entry *lro = SLIST_FIRST(&ss->lro_active); - SLIST_REMOVE_HEAD(&ss->lro_active, next); - mxge_lro_flush(ss, lro); +#if defined(INET) || defined (INET6) + while (!SLIST_EMPTY(&ss->lc.lro_active)) { + struct lro_entry *lro = SLIST_FIRST(&ss->lc.lro_active); + SLIST_REMOVE_HEAD(&ss->lc.lro_active, next); + tcp_lro_flush(&ss->lc, lro); } #endif } @@ -3153,15 +3184,11 @@ mxge_init(void *arg) static void mxge_free_slice_mbufs(struct mxge_slice_state *ss) { - struct lro_entry *lro_entry; int i; - while (!SLIST_EMPTY(&ss->lro_free)) { - lro_entry = SLIST_FIRST(&ss->lro_free); - SLIST_REMOVE_HEAD(&ss->lro_free, next); - free(lro_entry, M_DEVBUF); - } - +#if defined(INET) || defined(INET6) + tcp_lro_free(&ss->lc); +#endif for (i = 0; i <= ss->rx_big.mask; i++) { if (ss->rx_big.info[i].m == NULL) continue; @@ -3545,26 +3572,17 @@ mxge_slice_open(struct mxge_slice_state mxge_softc_t *sc; mxge_cmd_t cmd; bus_dmamap_t map; - struct lro_entry *lro_entry; int err, i, slice; sc = ss->sc; slice = ss - sc->ss; - SLIST_INIT(&ss->lro_free); - SLIST_INIT(&ss->lro_active); - - for (i = 0; i < sc->lro_cnt; i++) { - lro_entry = (struct lro_entry *) - malloc(sizeof (*lro_entry), M_DEVBUF, - M_NOWAIT | M_ZERO); - if (lro_entry == NULL) { - sc->lro_cnt = i; - break; - } - SLIST_INSERT_HEAD(&ss->lro_free, lro_entry, next); - } +#if defined(INET) || defined(INET6) + (void)tcp_lro_init(&ss->lc); +#endif + ss->lc.ifp = sc->ifp; + /* get the lanai pointers to the send and receive rings */ err = 0; @@ -4219,10 +4237,8 @@ mxge_ioctl(struct ifnet *ifp, u_long com } else if (mask & IFCAP_RXCSUM) { if (IFCAP_RXCSUM & ifp->if_capenable) { ifp->if_capenable &= ~IFCAP_RXCSUM; - sc->csum_flag = 0; } else { ifp->if_capenable |= IFCAP_RXCSUM; - sc->csum_flag = 1; } } if (mask & IFCAP_TSO4) { @@ -4249,16 +4265,12 @@ mxge_ioctl(struct ifnet *ifp, u_long com ifp->if_hwassist |= (CSUM_TCP_IPV6 | CSUM_UDP_IPV6); } -#ifdef NOTYET - } else if (mask & IFCAP_RXCSUM6) { - if (IFCAP_RXCSUM6 & ifp->if_capenable) { - ifp->if_capenable &= ~IFCAP_RXCSUM6; - sc->csum_flag = 0; + } else if (mask & IFCAP_RXCSUM_IPV6) { + if (IFCAP_RXCSUM_IPV6 & ifp->if_capenable) { + ifp->if_capenable &= ~IFCAP_RXCSUM_IPV6; } else { - ifp->if_capenable |= IFCAP_RXCSUM6; - sc->csum_flag = 1; + ifp->if_capenable |= IFCAP_RXCSUM_IPV6; } -#endif } if (mask & IFCAP_TSO6) { if (IFCAP_TSO6 & ifp->if_capenable) { @@ -4274,12 +4286,8 @@ mxge_ioctl(struct ifnet *ifp, u_long com } #endif /*IFCAP_TSO6 */ - if (mask & IFCAP_LRO) { - if (IFCAP_LRO & ifp->if_capenable) - err = mxge_change_lro_locked(sc, 0); - else - err = mxge_change_lro_locked(sc, mxge_lro_cnt); - } + if (mask & IFCAP_LRO) + ifp->if_capenable ^= IFCAP_LRO; if (mask & IFCAP_VLAN_HWTAGGING) ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; if (mask & IFCAP_VLAN_HWTSO) @@ -4326,14 +4334,11 @@ mxge_fetch_tunables(mxge_softc_t *sc) TUNABLE_INT_FETCH("hw.mxge.verbose", &mxge_verbose); TUNABLE_INT_FETCH("hw.mxge.ticks", &mxge_ticks); - TUNABLE_INT_FETCH("hw.mxge.lro_cnt", &sc->lro_cnt); TUNABLE_INT_FETCH("hw.mxge.always_promisc", &mxge_always_promisc); TUNABLE_INT_FETCH("hw.mxge.rss_hash_type", &mxge_rss_hash_type); TUNABLE_INT_FETCH("hw.mxge.rss_hashtype", &mxge_rss_hash_type); TUNABLE_INT_FETCH("hw.mxge.initial_mtu", &mxge_initial_mtu); TUNABLE_INT_FETCH("hw.mxge.throttle", &mxge_throttle); - if (sc->lro_cnt != 0) - mxge_lro_cnt = sc->lro_cnt; if (bootverbose) mxge_verbose = 1; @@ -4897,8 +4902,9 @@ mxge_attach(device_t dev) if_initbaudrate(ifp, IF_Gbps(10)); ifp->if_capabilities = IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_TSO4 | - IFCAP_VLAN_MTU | IFCAP_LINKSTATE | IFCAP_TXCSUM_IPV6; -#ifdef INET + IFCAP_VLAN_MTU | IFCAP_LINKSTATE | IFCAP_TXCSUM_IPV6 | + IFCAP_RXCSUM_IPV6; +#if defined(INET) || defined(INET6) ifp->if_capabilities |= IFCAP_LRO; #endif @@ -4929,7 +4935,6 @@ mxge_attach(device_t dev) ifp->if_capenable = ifp->if_capabilities; if (sc->lro_cnt == 0) ifp->if_capenable &= ~IFCAP_LRO; - sc->csum_flag = 1; ifp->if_init = mxge_init; ifp->if_softc = sc; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; Modified: user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h Thu Feb 21 21:59:35 2013 (r247139) @@ -194,31 +194,6 @@ typedef struct char mtx_name[16]; } mxge_tx_ring_t; -struct lro_entry; -struct lro_entry -{ - SLIST_ENTRY(lro_entry) next; - struct mbuf *m_head; - struct mbuf *m_tail; - int timestamp; - struct ip *ip; - uint32_t tsval; - uint32_t tsecr; - uint32_t source_ip; - uint32_t dest_ip; - uint32_t next_seq; - uint32_t ack_seq; - uint32_t len; - uint32_t data_csum; - uint16_t window; - uint16_t source_port; - uint16_t dest_port; - uint16_t append_cnt; - uint16_t mss; - -}; -SLIST_HEAD(lro_head, lro_entry); - struct mxge_softc; typedef struct mxge_softc mxge_softc_t; @@ -236,11 +211,7 @@ struct mxge_slice_state { u_long omcasts; u_long oerrors; int if_drv_flags; - struct lro_head lro_active; - struct lro_head lro_free; - int lro_queued; - int lro_flushed; - int lro_bad_csum; + struct lro_ctrl lc; mxge_dma_t fw_stats_dma; struct sysctl_oid *sysctl_tree; struct sysctl_ctx_list sysctl_ctx; @@ -250,7 +221,6 @@ struct mxge_slice_state { struct mxge_softc { struct ifnet* ifp; struct mxge_slice_state *ss; - int csum_flag; /* rx_csums? */ int tx_boundary; /* boundary transmits cannot cross*/ int lro_cnt; bus_dma_tag_t parent_dmat; Modified: user/attilio/vmobj-rwlock/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfs/nfs_commonkrpc.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/fs/nfs/nfs_commonkrpc.c Thu Feb 21 21:59:35 2013 (r247139) @@ -1080,7 +1080,6 @@ newnfs_set_sigmask(struct thread *td, si SIGDELSET(newset, newnfs_sig_set[i]); } mtx_unlock(&p->p_sigacts->ps_mtx); - sigdeferstop(td); kern_sigprocmask(td, SIG_SETMASK, &newset, oldset, SIGPROCMASK_PROC_LOCKED); PROC_UNLOCK(p); @@ -1092,7 +1091,6 @@ newnfs_restore_sigmask(struct thread *td if (td == NULL) td = curthread; /* XXX */ kern_sigprocmask(td, SIG_SETMASK, set, NULL, 0); - sigallowstop(td); } /* Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvfsops.c Thu Feb 21 21:56:51 2013 (r247138) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clvfsops.c Thu Feb 21 21:59:35 2013 (r247139) @@ -132,7 +132,7 @@ static struct vfsops nfs_vfsops = { .vfs_unmount = nfs_unmount, .vfs_sysctl = nfs_sysctl, }; -VFS_SET(nfs_vfsops, nfs, VFCF_NETWORK); +VFS_SET(nfs_vfsops, nfs, VFCF_NETWORK | VFCF_SBDRY); /* So that loader and kldload(2) can find us, wherever we are.. */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Feb 22 18:50:42 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 93FF787A; Fri, 22 Feb 2013 18:50:42 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6E6F3269; Fri, 22 Feb 2013 18:50:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1MIogFd073650; Fri, 22 Feb 2013 18:50:42 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1MIogHJ073648; Fri, 22 Feb 2013 18:50:42 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302221850.r1MIogHJ073648@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 22 Feb 2013 18:50:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247158 - user/dchagin X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Feb 2013 18:50:42 -0000 Author: dchagin Date: Fri Feb 22 18:50:41 2013 New Revision: 247158 URL: http://svnweb.freebsd.org/changeset/base/247158 Log: Create a branch to make Linuxulator 1:1 threaded. Added: user/dchagin/ - copied from r247157, head/ Directory Properties: user/dchagin/lemul/ (props changed) From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 07:51:34 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 028CCD18; Sat, 23 Feb 2013 07:51:34 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DDC1EFF3; Sat, 23 Feb 2013 07:51:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N7pXSr010190; Sat, 23 Feb 2013 07:51:33 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N7pX4v010186; Sat, 23 Feb 2013 07:51:33 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230751.r1N7pX4v010186@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 07:51:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247168 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 07:51:34 -0000 Author: dchagin Date: Sat Feb 23 07:51:33 2013 New Revision: 247168 URL: http://svnweb.freebsd.org/changeset/base/247168 Log: In preparation for switching linuxulator to the use the native 1:1 threads print out thread id in the debug messages. Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h user/dchagin/lemul/sys/i386/linux/linux.h Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux.h Sat Feb 23 04:51:20 2013 (r247167) +++ user/dchagin/lemul/sys/amd64/linux32/linux.h Sat Feb 23 07:51:33 2013 (r247168) @@ -40,8 +40,10 @@ */ extern u_char linux_debug_map[]; #define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) -#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid -#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid +#define ARGS(nm, fmt) "linux(%ld (%ld)): "#nm"("fmt")\n", \ + (long)td->td_proc->p_pid, (long)td->td_tid +#define LMSG(fmt) "linux(%ld (%ld)): "fmt"\n", \ + (long)td->td_proc->p_pid, (long)td->td_tid #define LINUX_DTRACE linuxulator32 #ifdef MALLOC_DECLARE Modified: user/dchagin/lemul/sys/i386/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux.h Sat Feb 23 04:51:20 2013 (r247167) +++ user/dchagin/lemul/sys/i386/linux/linux.h Sat Feb 23 07:51:33 2013 (r247168) @@ -40,8 +40,10 @@ */ extern u_char linux_debug_map[]; #define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) -#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid -#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid +#define ARGS(nm, fmt) "linux(%ld (%ld)): "#nm"("fmt")\n", \ + (long)td->td_proc->p_pid, (long)td->td_tid +#define LMSG(fmt) "linux(%ld (%ld)): "fmt"\n", \ + (long)td->td_proc->p_pid, (long)td->td_tid #define LINUX_DTRACE linuxulator #ifdef MALLOC_DECLARE From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 07:55:28 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 49423E4F; Sat, 23 Feb 2013 07:55:28 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 23EE76D; Sat, 23 Feb 2013 07:55:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N7tSA2010746; Sat, 23 Feb 2013 07:55:28 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N7tR2Q010743; Sat, 23 Feb 2013 07:55:27 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230755.r1N7tR2Q010743@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 07:55:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247169 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 07:55:28 -0000 Author: dchagin Date: Sat Feb 23 07:55:27 2013 New Revision: 247169 URL: http://svnweb.freebsd.org/changeset/base/247169 Log: In preparation for switching linuxulator to the use the native 1:1 threads introduce linux_exit() stub instead of calling sys_exit() call (which terminates process). In the new linuxulator exit() system call terminates the calling thread (not a whole process). Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_fork.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sat Feb 23 07:51:33 2013 (r247168) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sat Feb 23 07:55:27 2013 (r247169) @@ -38,8 +38,7 @@ ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL UNIMPL setup -1 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ - sys_exit_args void +1 AUE_EXIT STD { void linux_exit(int rval); } 2 AUE_FORK STD { int linux_fork(void); } 3 AUE_NULL NOPROTO { int read(int fd, char *buf, \ u_int nbyte); } Modified: user/dchagin/lemul/sys/compat/linux/linux_fork.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_fork.c Sat Feb 23 07:51:33 2013 (r247168) +++ user/dchagin/lemul/sys/compat/linux/linux_fork.c Sat Feb 23 07:55:27 2013 (r247169) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef COMPAT_LINUX32 #include @@ -298,3 +299,16 @@ linux_clone(struct thread *td, struct li return (0); } + +int +linux_exit(struct thread *td, struct linux_exit_args *args) +{ + +#ifdef DEBUG + if (ldebug(exit)) + printf(ARGS(exit, "%d"), args->rval); +#endif + + exit1(td, W_EXITCODE(args->rval, 0)); + /* NOTREACHED */ +} Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 07:51:33 2013 (r247168) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 07:55:27 2013 (r247169) @@ -37,8 +37,7 @@ ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL UNIMPL setup -1 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ - sys_exit_args void +1 AUE_EXIT STD { void linux_exit(int rval); } 2 AUE_FORK STD { int linux_fork(void); } 3 AUE_NULL NOPROTO { int read(int fd, char *buf, \ u_int nbyte); } From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 08:16:03 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 32AE924E; Sat, 23 Feb 2013 08:16:03 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 19BA113F; Sat, 23 Feb 2013 08:16:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N8G2vw017235; Sat, 23 Feb 2013 08:16:02 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N8G1iU017212; Sat, 23 Feb 2013 08:16:01 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230816.r1N8G1iU017212@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 08:16:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247171 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 08:16:03 -0000 Author: dchagin Date: Sat Feb 23 08:16:00 2013 New Revision: 247171 URL: http://svnweb.freebsd.org/changeset/base/247171 Log: Regen for r247169. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sat Feb 23 08:16:00 2013 (r247171) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -34,6 +34,9 @@ struct thread; #endif #define nosys linux_nosys +struct linux_exit_args { + char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)]; +}; struct linux_fork_args { register_t dummy; }; @@ -1098,6 +1101,7 @@ struct linux_process_vm_writev_args { register_t dummy; }; #define nosys linux_nosys +int linux_exit(struct thread *, struct linux_exit_args *); int linux_fork(struct thread *, struct linux_fork_args *); int linux_open(struct thread *, struct linux_open_args *); int linux_waitpid(struct thread *, struct linux_waitpid_args *); @@ -1400,6 +1404,7 @@ int linux_process_vm_writev(struct threa #endif /* COMPAT_FREEBSD7 */ +#define LINUX_SYS_AUE_linux_exit AUE_EXIT #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sat Feb 23 08:16:00 2013 (r247171) @@ -3,10 +3,10 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ -#define LINUX_SYS_exit 1 +#define LINUX_SYS_linux_exit 1 #define LINUX_SYS_linux_fork 2 #define LINUX_SYS_read 3 #define LINUX_SYS_write 4 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sat Feb 23 08:16:00 2013 (r247171) @@ -3,13 +3,13 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ const char *linux_syscallnames[] = { #define nosys linux_nosys "#0", /* 0 = setup */ - "exit", /* 1 = exit */ + "linux_exit", /* 1 = linux_exit */ "linux_fork", /* 2 = linux_fork */ "read", /* 3 = read */ "write", /* 4 = write */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sat Feb 23 08:16:00 2013 (r247171) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 236026 2012-05-25 21:50:48Z ed + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ #include "opt_compat.h" @@ -20,7 +20,7 @@ struct sysent linux_sysent[] = { #define nosys linux_nosys { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 0 = setup */ - { AS(sys_exit_args), (sy_call_t *)sys_sys_exit, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 1 = exit */ + { AS(linux_exit_args), (sy_call_t *)linux_exit, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 1 = linux_exit */ { 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 2 = linux_fork */ { AS(read_args), (sy_call_t *)sys_read, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 3 = read */ { AS(write_args), (sy_call_t *)sys_write, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 4 = write */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sat Feb 23 08:16:00 2013 (r247171) @@ -12,9 +12,9 @@ systrace_args(int sysnum, void *params, int64_t *iarg = (int64_t *) uarg; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: { - struct sys_exit_args *p = params; + struct linux_exit_args *p = params; iarg[0] = p->rval; /* int */ *n_args = 1; break; @@ -2271,7 +2271,7 @@ systrace_entry_setargdesc(int sysnum, in const char *p = NULL; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: switch(ndx) { case 0: @@ -5433,7 +5433,7 @@ systrace_return_setargdesc(int sysnum, i const char *p = NULL; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: if (ndx == 0 || ndx == 1) p = "void"; Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 08:16:00 2013 (r247171) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -34,6 +34,9 @@ struct thread; #endif #define nosys linux_nosys +struct linux_exit_args { + char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)]; +}; struct linux_fork_args { register_t dummy; }; @@ -1117,6 +1120,7 @@ struct linux_process_vm_writev_args { register_t dummy; }; #define nosys linux_nosys +int linux_exit(struct thread *, struct linux_exit_args *); int linux_fork(struct thread *, struct linux_fork_args *); int linux_open(struct thread *, struct linux_open_args *); int linux_waitpid(struct thread *, struct linux_waitpid_args *); @@ -1420,6 +1424,7 @@ int linux_process_vm_writev(struct threa #endif /* COMPAT_FREEBSD7 */ +#define LINUX_SYS_AUE_linux_exit AUE_EXIT #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 08:16:00 2013 (r247171) @@ -3,10 +3,10 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ -#define LINUX_SYS_exit 1 +#define LINUX_SYS_linux_exit 1 #define LINUX_SYS_linux_fork 2 #define LINUX_SYS_read 3 #define LINUX_SYS_write 4 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 08:16:00 2013 (r247171) @@ -3,13 +3,13 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ const char *linux_syscallnames[] = { #define nosys linux_nosys "#0", /* 0 = setup */ - "exit", /* 1 = exit */ + "linux_exit", /* 1 = linux_exit */ "linux_fork", /* 2 = linux_fork */ "read", /* 3 = read */ "write", /* 4 = write */ Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 08:16:00 2013 (r247171) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 238917 2012-07-30 20:44:45Z jhb + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin */ #include @@ -19,7 +19,7 @@ struct sysent linux_sysent[] = { #define nosys linux_nosys { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 0 = setup */ - { AS(sys_exit_args), (sy_call_t *)sys_sys_exit, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 1 = exit */ + { AS(linux_exit_args), (sy_call_t *)linux_exit, AUE_EXIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 1 = linux_exit */ { 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 2 = linux_fork */ { AS(read_args), (sy_call_t *)sys_read, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 3 = read */ { AS(write_args), (sy_call_t *)sys_write, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 4 = write */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 08:05:04 2013 (r247170) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 08:16:00 2013 (r247171) @@ -12,9 +12,9 @@ systrace_args(int sysnum, void *params, int64_t *iarg = (int64_t *) uarg; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: { - struct sys_exit_args *p = params; + struct linux_exit_args *p = params; iarg[0] = p->rval; /* int */ *n_args = 1; break; @@ -2362,7 +2362,7 @@ systrace_entry_setargdesc(int sysnum, in const char *p = NULL; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: switch(ndx) { case 0: @@ -5729,7 +5729,7 @@ systrace_return_setargdesc(int sysnum, i const char *p = NULL; switch (sysnum) { #define nosys linux_nosys - /* sys_exit */ + /* linux_exit */ case 1: if (ndx == 0 || ndx == 1) p = "void"; From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 08:17:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 492B236E; Sat, 23 Feb 2013 08:17:45 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3C43F146; Sat, 23 Feb 2013 08:17:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N8Hjxo017474; Sat, 23 Feb 2013 08:17:45 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N8Hidg017472; Sat, 23 Feb 2013 08:17:44 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230817.r1N8Hidg017472@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 08:17:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247172 - in user/dchagin/lemul/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 08:17:45 -0000 Author: dchagin Date: Sat Feb 23 08:17:44 2013 New Revision: 247172 URL: http://svnweb.freebsd.org/changeset/base/247172 Log: In preparation for switching linuxulator to the use the native 1:1 threads split sys_thr_exit() up into sys_thr_exit() and kern_thr_exit(). Where the second will be used in linux_exit() system call later. Modified: user/dchagin/lemul/sys/kern/kern_thr.c user/dchagin/lemul/sys/sys/syscallsubr.h Modified: user/dchagin/lemul/sys/kern/kern_thr.c ============================================================================== --- user/dchagin/lemul/sys/kern/kern_thr.c Sat Feb 23 08:16:00 2013 (r247171) +++ user/dchagin/lemul/sys/kern/kern_thr.c Sat Feb 23 08:17:44 2013 (r247172) @@ -303,9 +303,6 @@ int sys_thr_exit(struct thread *td, struct thr_exit_args *uap) /* long *state */ { - struct proc *p; - - p = td->td_proc; /* Signal userland that it can free the stack. */ if ((void *)uap->state != NULL) { @@ -313,6 +310,16 @@ sys_thr_exit(struct thread *td, struct t kern_umtx_wake(td, uap->state, INT_MAX, 0); } + return (kern_thr_exit(td)); +} + +int +kern_thr_exit(struct thread *td) +{ + struct proc *p; + + p = td->td_proc; + rw_wlock(&tidhash_lock); PROC_LOCK(p); Modified: user/dchagin/lemul/sys/sys/syscallsubr.h ============================================================================== --- user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:16:00 2013 (r247171) +++ user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:17:44 2013 (r247172) @@ -223,6 +223,7 @@ int kern_symlink(struct thread *td, char enum uio_seg segflg); int kern_symlinkat(struct thread *td, char *path1, int fd, char *path2, enum uio_seg segflg); +int kern_thr_exit(struct thread *td); int kern_thr_new(struct thread *td, struct thr_param *param); int kern_thr_suspend(struct thread *td, struct timespec *tsp); int kern_truncate(struct thread *td, char *path, enum uio_seg pathseg, From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 08:19:25 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C69C549D; Sat, 23 Feb 2013 08:19:25 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 973E7152; Sat, 23 Feb 2013 08:19:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N8JP01017728; Sat, 23 Feb 2013 08:19:25 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N8JPbT017726; Sat, 23 Feb 2013 08:19:25 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230819.r1N8JPbT017726@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 08:19:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247173 - in user/dchagin/lemul/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 08:19:25 -0000 Author: dchagin Date: Sat Feb 23 08:19:24 2013 New Revision: 247173 URL: http://svnweb.freebsd.org/changeset/base/247173 Log: In preparation for switching linuxulator to the use the native 1:1 threads introduce kern_thr_alloc() which will be used later in the linux_clone(). Modified: user/dchagin/lemul/sys/kern/kern_thr.c user/dchagin/lemul/sys/sys/syscallsubr.h Modified: user/dchagin/lemul/sys/kern/kern_thr.c ============================================================================== --- user/dchagin/lemul/sys/kern/kern_thr.c Sat Feb 23 08:17:44 2013 (r247172) +++ user/dchagin/lemul/sys/kern/kern_thr.c Sat Feb 23 08:19:24 2013 (r247173) @@ -162,12 +162,6 @@ create_thread(struct thread *td, mcontex p = td->td_proc; - /* Have race condition but it is cheap. */ - if (p->p_numthreads >= max_threads_per_proc) { - ++max_threads_hits; - return (EPROCLIM); - } - if (rtp != NULL) { switch(rtp->type) { case RTP_PRIO_REALTIME: @@ -195,11 +189,9 @@ create_thread(struct thread *td, mcontex #endif /* Initialize our td */ - newtd = thread_alloc(0); - if (newtd == NULL) { - error = ENOMEM; + error = kern_thr_alloc(p, 0, &newtd); + if (error) goto fail; - } cpu_set_upcall(newtd, td); @@ -560,3 +552,20 @@ sys_thr_set_name(struct thread *td, stru PROC_UNLOCK(p); return (error); } + +int +kern_thr_alloc(struct proc *p, int pages, struct thread **ntd) +{ + + /* Have race condition but it is cheap. */ + if (p->p_numthreads >= max_threads_per_proc) { + ++max_threads_hits; + return (EPROCLIM); + } + + *ntd = thread_alloc(pages); + if (*ntd == NULL) + return (ENOMEM); + + return (0); +} Modified: user/dchagin/lemul/sys/sys/syscallsubr.h ============================================================================== --- user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:17:44 2013 (r247172) +++ user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:19:24 2013 (r247173) @@ -223,6 +223,7 @@ int kern_symlink(struct thread *td, char enum uio_seg segflg); int kern_symlinkat(struct thread *td, char *path1, int fd, char *path2, enum uio_seg segflg); +int kern_thr_alloc(struct proc *, int pages, struct thread **); int kern_thr_exit(struct thread *td); int kern_thr_new(struct thread *td, struct thr_param *param); int kern_thr_suspend(struct thread *td, struct timespec *tsp); From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 08:59:08 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 690DC9DF; Sat, 23 Feb 2013 08:59:08 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 440C1222; Sat, 23 Feb 2013 08:59:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N8x87h029210; Sat, 23 Feb 2013 08:59:08 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N8x7kf029206; Sat, 23 Feb 2013 08:59:07 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230859.r1N8x7kf029206@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 08:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247175 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 08:59:08 -0000 Author: dchagin Date: Sat Feb 23 08:59:07 2013 New Revision: 247175 URL: http://svnweb.freebsd.org/changeset/base/247175 Log: In preparation for switching linuxulator to the use the native 1:1 threads refactor kern_sched_rr_get_interval() and sys_sched_rr_get_interval(). kern_sched_rr_get_interval() now takes a targettd parameter to allow specify target thread directly by callee (new Linuxulator). Linuxulator temporarily uses first thread in proc. Move linux_sched_rr_get_interval() to the MI part. While here rename e to a better name - error. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/kern/p1003_1b.c user/dchagin/lemul/sys/sys/syscallsubr.h Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 08:57:47 2013 (r247174) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 08:59:07 2013 (r247175) @@ -914,22 +914,6 @@ linux_getrusage(struct thread *td, struc } int -linux_sched_rr_get_interval(struct thread *td, - struct linux_sched_rr_get_interval_args *uap) -{ - struct timespec ts; - struct l_timespec ts32; - int error; - - error = kern_sched_rr_get_interval(td, uap->pid, &ts); - if (error != 0) - return (error); - ts32.tv_sec = ts.tv_sec; - ts32.tv_nsec = ts.tv_nsec; - return (copyout(&ts32, uap->interval, sizeof(ts32))); -} - -int linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args) { Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Sat Feb 23 08:57:47 2013 (r247174) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Sat Feb 23 08:59:07 2013 (r247175) @@ -1925,3 +1925,31 @@ linux_sched_setaffinity(struct thread *t return (sys_cpuset_setaffinity(td, &csa)); } + +int +linux_sched_rr_get_interval(struct thread *td, + struct linux_sched_rr_get_interval_args *uap) +{ + struct timespec ts; + struct l_timespec lts; + struct thread *tdt; + struct proc *p; + int error; + + if (uap->pid == 0) { + tdt = td; + PROC_LOCK(tdt->td_proc); + } else { + p = pfind(uap->pid); + if (p == NULL) + return (ESRCH); + tdt = FIRST_THREAD_IN_PROC(p); + } + + error = kern_sched_rr_get_interval(td, tdt, &ts); + if (error != 0) + return (error); + lts.tv_sec = ts.tv_sec; + lts.tv_nsec = ts.tv_nsec; + return (copyout(<s, uap->interval, sizeof(lts))); +} Modified: user/dchagin/lemul/sys/kern/p1003_1b.c ============================================================================== --- user/dchagin/lemul/sys/kern/p1003_1b.c Sat Feb 23 08:57:47 2013 (r247174) +++ user/dchagin/lemul/sys/kern/p1003_1b.c Sat Feb 23 08:59:07 2013 (r247175) @@ -269,38 +269,42 @@ sys_sched_rr_get_interval(struct thread struct sched_rr_get_interval_args *uap) { struct timespec timespec; + struct thread *targettd; + struct proc *p; int error; - error = kern_sched_rr_get_interval(td, uap->pid, ×pec); + if (uap->pid == 0) { + targettd = td; + p = td->td_proc; + PROC_LOCK(p); + } else { + p = pfind(uap->pid); + if (p == NULL) + return (ESRCH); + targettd = FIRST_THREAD_IN_PROC(p); + } + + error = kern_sched_rr_get_interval(td, targettd, ×pec); if (error == 0) error = copyout(×pec, uap->interval, sizeof(timespec)); return (error); } int -kern_sched_rr_get_interval(struct thread *td, pid_t pid, +kern_sched_rr_get_interval(struct thread *td, struct thread *targettd, struct timespec *ts) { - int e; - struct thread *targettd; struct proc *targetp; + int error; - if (pid == 0) { - targettd = td; - targetp = td->td_proc; - PROC_LOCK(targetp); - } else { - targetp = pfind(pid); - if (targetp == NULL) - return (ESRCH); - targettd = FIRST_THREAD_IN_PROC(targetp); - } + targetp = targettd->td_proc; + PROC_LOCK_ASSERT(targetp, MA_OWNED); - e = p_cansee(td, targetp); - if (e == 0) - e = ksched_rr_get_interval(ksched, targettd, ts); + error = p_cansee(td, targetp); + if (error == 0) + error = ksched_rr_get_interval(ksched, targettd, ts); PROC_UNLOCK(targetp); - return (e); + return (error); } #endif Modified: user/dchagin/lemul/sys/sys/syscallsubr.h ============================================================================== --- user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:57:47 2013 (r247174) +++ user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 08:59:07 2013 (r247175) @@ -180,7 +180,7 @@ int kern_renameat(struct thread *td, int int kern_rmdir(struct thread *td, char *path, enum uio_seg pathseg); int kern_rmdirat(struct thread *td, int fd, char *path, enum uio_seg pathseg); -int kern_sched_rr_get_interval(struct thread *td, pid_t pid, +int kern_sched_rr_get_interval(struct thread *td, struct thread *targettd, struct timespec *ts); int kern_semctl(struct thread *td, int semid, int semnum, int cmd, union semun *arg, register_t *rval); From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:00:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AFBBBC0B; Sat, 23 Feb 2013 09:00:44 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DFA1522E; Sat, 23 Feb 2013 09:00:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N90iWb030821; Sat, 23 Feb 2013 09:00:44 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N90iJN030811; Sat, 23 Feb 2013 09:00:44 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230900.r1N90iJN030811@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:00:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247177 - user/dchagin/lemul/sys/i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:00:45 -0000 Author: dchagin Date: Sat Feb 23 09:00:44 2013 New Revision: 247177 URL: http://svnweb.freebsd.org/changeset/base/247177 Log: In preparation for switching linuxulator to the use the native 1:1 threads use MI linux_sched_rr_get_interval() in i386. Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 09:00:35 2013 (r247176) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 09:00:44 2013 (r247177) @@ -283,8 +283,8 @@ l_int policy); } 160 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( \ l_int policy); } -161 AUE_SCHED_RR_GET_INTERVAL NOPROTO { int sched_rr_get_interval(l_pid_t pid, \ - struct l_timespec *interval); } +161 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( \ + l_pid_t pid, struct l_timespec *interval); } 162 AUE_NULL STD { int linux_nanosleep( \ const struct l_timespec *rqtp, \ struct l_timespec *rmtp); } From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:02:57 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0CAFC7D; Sat, 23 Feb 2013 09:02:57 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E560425E; Sat, 23 Feb 2013 09:02:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N92uob031719; Sat, 23 Feb 2013 09:02:56 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N92tHi031711; Sat, 23 Feb 2013 09:02:55 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230902.r1N92tHi031711@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:02:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247179 - user/dchagin/lemul/sys/i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:02:57 -0000 Author: dchagin Date: Sat Feb 23 09:02:55 2013 New Revision: 247179 URL: http://svnweb.freebsd.org/changeset/base/247179 Log: Regen for r247177. Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 09:02:46 2013 (r247178) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 09:02:55 2013 (r247179) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -489,6 +489,10 @@ struct linux_sched_get_priority_max_args struct linux_sched_get_priority_min_args { char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; }; +struct linux_sched_rr_get_interval_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char interval_l_[PADL_(struct l_timespec *)]; struct l_timespec * interval; char interval_r_[PADR_(struct l_timespec *)]; +}; struct linux_nanosleep_args { char rqtp_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * rqtp; char rqtp_r_[PADR_(const struct l_timespec *)]; char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; @@ -1236,6 +1240,7 @@ int linux_sched_setscheduler(struct thre int linux_sched_getscheduler(struct thread *, struct linux_sched_getscheduler_args *); int linux_sched_get_priority_max(struct thread *, struct linux_sched_get_priority_max_args *); int linux_sched_get_priority_min(struct thread *, struct linux_sched_get_priority_min_args *); +int linux_sched_rr_get_interval(struct thread *, struct linux_sched_rr_get_interval_args *); int linux_nanosleep(struct thread *, struct linux_nanosleep_args *); int linux_mremap(struct thread *, struct linux_mremap_args *); int linux_setresuid16(struct thread *, struct linux_setresuid16_args *); @@ -1540,6 +1545,7 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_sched_getscheduler AUE_SCHED_GETSCHEDULER #define LINUX_SYS_AUE_linux_sched_get_priority_max AUE_SCHED_GET_PRIORITY_MAX #define LINUX_SYS_AUE_linux_sched_get_priority_min AUE_SCHED_GET_PRIORITY_MIN +#define LINUX_SYS_AUE_linux_sched_rr_get_interval AUE_SCHED_RR_GET_INTERVAL #define LINUX_SYS_AUE_linux_nanosleep AUE_NULL #define LINUX_SYS_AUE_linux_mremap AUE_NULL #define LINUX_SYS_AUE_linux_setresuid16 AUE_SETRESUID Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 09:02:46 2013 (r247178) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 09:02:55 2013 (r247179) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin */ #define LINUX_SYS_linux_exit 1 @@ -155,7 +155,7 @@ #define LINUX_SYS_sched_yield 158 #define LINUX_SYS_linux_sched_get_priority_max 159 #define LINUX_SYS_linux_sched_get_priority_min 160 -#define LINUX_SYS_sched_rr_get_interval 161 +#define LINUX_SYS_linux_sched_rr_get_interval 161 #define LINUX_SYS_linux_nanosleep 162 #define LINUX_SYS_linux_mremap 163 #define LINUX_SYS_linux_setresuid16 164 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 09:02:46 2013 (r247178) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 09:02:55 2013 (r247179) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin */ const char *linux_syscallnames[] = { @@ -169,7 +169,7 @@ const char *linux_syscallnames[] = { "sched_yield", /* 158 = sched_yield */ "linux_sched_get_priority_max", /* 159 = linux_sched_get_priority_max */ "linux_sched_get_priority_min", /* 160 = linux_sched_get_priority_min */ - "sched_rr_get_interval", /* 161 = sched_rr_get_interval */ + "linux_sched_rr_get_interval", /* 161 = linux_sched_rr_get_interval */ "linux_nanosleep", /* 162 = linux_nanosleep */ "linux_mremap", /* 163 = linux_mremap */ "linux_setresuid16", /* 164 = linux_setresuid16 */ Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 09:02:46 2013 (r247178) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 09:02:55 2013 (r247179) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin */ #include @@ -179,7 +179,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)sys_sched_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 158 = sched_yield */ { AS(linux_sched_get_priority_max_args), (sy_call_t *)linux_sched_get_priority_max, AUE_SCHED_GET_PRIORITY_MAX, NULL, 0, 0, 0, SY_THR_STATIC }, /* 159 = linux_sched_get_priority_max */ { AS(linux_sched_get_priority_min_args), (sy_call_t *)linux_sched_get_priority_min, AUE_SCHED_GET_PRIORITY_MIN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 160 = linux_sched_get_priority_min */ - { AS(sched_rr_get_interval_args), (sy_call_t *)sys_sched_rr_get_interval, AUE_SCHED_RR_GET_INTERVAL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 161 = sched_rr_get_interval */ + { AS(linux_sched_rr_get_interval_args), (sy_call_t *)linux_sched_rr_get_interval, AUE_SCHED_RR_GET_INTERVAL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 161 = linux_sched_rr_get_interval */ { AS(linux_nanosleep_args), (sy_call_t *)linux_nanosleep, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 162 = linux_nanosleep */ { AS(linux_mremap_args), (sy_call_t *)linux_mremap, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 163 = linux_mremap */ { AS(linux_setresuid16_args), (sy_call_t *)linux_setresuid16, AUE_SETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 164 = linux_setresuid16 */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 09:02:46 2013 (r247178) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 09:02:55 2013 (r247179) @@ -1132,9 +1132,9 @@ systrace_args(int sysnum, void *params, *n_args = 1; break; } - /* sched_rr_get_interval */ + /* linux_sched_rr_get_interval */ case 161: { - struct sched_rr_get_interval_args *p = params; + struct linux_sched_rr_get_interval_args *p = params; iarg[0] = p->pid; /* l_pid_t */ uarg[1] = (intptr_t) p->interval; /* struct l_timespec * */ *n_args = 2; @@ -4056,7 +4056,7 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* sched_rr_get_interval */ + /* linux_sched_rr_get_interval */ case 161: switch(ndx) { case 0: @@ -6393,7 +6393,7 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* sched_rr_get_interval */ + /* linux_sched_rr_get_interval */ case 161: if (ndx == 0 || ndx == 1) p = "int"; From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:06:53 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B07604C8; Sat, 23 Feb 2013 09:06:53 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 94AD5275; Sat, 23 Feb 2013 09:06:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N96rmo032511; Sat, 23 Feb 2013 09:06:53 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N96ruD032508; Sat, 23 Feb 2013 09:06:53 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230906.r1N96ruD032508@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:06:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247181 - in user/dchagin/lemul/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:06:53 -0000 Author: dchagin Date: Sat Feb 23 09:06:52 2013 New Revision: 247181 URL: http://svnweb.freebsd.org/changeset/base/247181 Log: In preparation for switching linuxulator to the use the native 1:1 threads split sys_sched_getparam(), sys_sched_setparam(), sys_sched_getscheduler(), sys_sched_setscheduler() to their kern_* counterparts and add the targettd parameter to allow specify the target thread directly by callee. Modified: user/dchagin/lemul/sys/kern/p1003_1b.c user/dchagin/lemul/sys/sys/syscallsubr.h Modified: user/dchagin/lemul/sys/kern/p1003_1b.c ============================================================================== --- user/dchagin/lemul/sys/kern/p1003_1b.c Sat Feb 23 09:06:36 2013 (r247180) +++ user/dchagin/lemul/sys/kern/p1003_1b.c Sat Feb 23 09:06:52 2013 (r247181) @@ -130,13 +130,24 @@ sys_sched_setparam(struct thread *td, st targettd = FIRST_THREAD_IN_PROC(targetp); } - e = p_cansched(td, targetp); - if (e == 0) { - e = ksched_setparam(ksched, targettd, - (const struct sched_param *)&sched_param); - } + return (kern_sched_setparam(td, targettd, &sched_param)); +} + +int +kern_sched_setparam(struct thread *td, struct thread *targettd, + struct sched_param *param) +{ + struct proc *targetp; + int error; + + targetp = targettd->td_proc; + PROC_LOCK_ASSERT(targetp, MA_OWNED); + + error = p_cansched(td, targetp); + if (error == 0) + error = ksched_setparam(ksched, targettd, param); PROC_UNLOCK(targetp); - return (e); + return (error); } int @@ -159,17 +170,30 @@ sys_sched_getparam(struct thread *td, st targettd = FIRST_THREAD_IN_PROC(targetp); } - e = p_cansee(td, targetp); - if (e == 0) { - e = ksched_getparam(ksched, targettd, &sched_param); - } - PROC_UNLOCK(targetp); + e = ksched_getparam(ksched, targettd, &sched_param); if (e == 0) e = copyout(&sched_param, uap->param, sizeof(sched_param)); return (e); } int +kern_sched_getparam(struct thread *td, struct thread *targettd, + struct sched_param *param) +{ + struct proc *targetp; + int error; + + targetp = targettd->td_proc; + PROC_LOCK_ASSERT(targetp, MA_OWNED); + + error = p_cansee(td, targetp); + if (error == 0) + error = ksched_getparam(ksched, targettd, param); + PROC_UNLOCK(targetp); + return (error); +} + +int sys_sched_setscheduler(struct thread *td, struct sched_setscheduler_args *uap) { int e; @@ -177,11 +201,6 @@ sys_sched_setscheduler(struct thread *td struct thread *targettd; struct proc *targetp; - /* Don't allow non root user to set a scheduler policy. */ - e = priv_check(td, PRIV_SCHED_SET); - if (e) - return (e); - e = copyin(uap->param, &sched_param, sizeof(sched_param)); if (e) return (e); @@ -197,13 +216,33 @@ sys_sched_setscheduler(struct thread *td targettd = FIRST_THREAD_IN_PROC(targetp); } - e = p_cansched(td, targetp); - if (e == 0) { - e = ksched_setscheduler(ksched, targettd, - uap->policy, (const struct sched_param *)&sched_param); + return (kern_sched_setscheduler(td, targettd, uap->policy, + &sched_param)); +} + +int +kern_sched_setscheduler(struct thread *td, struct thread *targettd, + int policy, struct sched_param *param) +{ + struct proc *targetp; + int error; + + targetp = targettd->td_proc; + PROC_LOCK_ASSERT(targetp, MA_OWNED); + + /* Don't allow non root user to set a scheduler policy. */ + error = priv_check(td, PRIV_SCHED_SET); + if (error) { + PROC_UNLOCK(targetp); + return (error); } + + error = p_cansched(td, targetp); + if (error == 0) + error = ksched_setscheduler(ksched, targettd, policy, + param); PROC_UNLOCK(targetp); - return (e); + return (error); } int @@ -224,17 +263,32 @@ sys_sched_getscheduler(struct thread *td targettd = FIRST_THREAD_IN_PROC(targetp); } - e = p_cansee(td, targetp); - if (e == 0) { - e = ksched_getscheduler(ksched, targettd, &policy); + e = ksched_getscheduler(ksched, targettd, &policy); + if (e == 0) td->td_retval[0] = policy; - } - PROC_UNLOCK(targetp); return (e); } int +kern_sched_getscheduler(struct thread *td, struct thread *targettd, + int *policy) +{ + struct proc *targetp; + int error; + + targetp = td->td_proc; + PROC_LOCK_ASSERT(targetp, MA_OWNED); + + error = p_cansee(td, targetp); + if (error == 0) + error = ksched_getscheduler(ksched, targettd, policy); + PROC_UNLOCK(targetp); + + return (error); +} + +int sys_sched_yield(struct thread *td, struct sched_yield_args *uap) { Modified: user/dchagin/lemul/sys/sys/syscallsubr.h ============================================================================== --- user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 09:06:36 2013 (r247180) +++ user/dchagin/lemul/sys/sys/syscallsubr.h Sat Feb 23 09:06:52 2013 (r247181) @@ -54,6 +54,7 @@ struct sendfile_args; struct sockaddr; struct stat; struct thr_param; +struct sched_param; struct __wrusage; int kern___getcwd(struct thread *td, u_char *buf, enum uio_seg bufseg, @@ -180,6 +181,14 @@ int kern_renameat(struct thread *td, int int kern_rmdir(struct thread *td, char *path, enum uio_seg pathseg); int kern_rmdirat(struct thread *td, int fd, char *path, enum uio_seg pathseg); +int kern_sched_getparam(struct thread *td, struct thread *targettd, + struct sched_param *param); +int kern_sched_getscheduler(struct thread *td, struct thread *targettd, + int *policy); +int kern_sched_setparam(struct thread *td, struct thread *targettd, + struct sched_param *param); +int kern_sched_setscheduler(struct thread *td, struct thread *targettd, + int policy, struct sched_param *param); int kern_sched_rr_get_interval(struct thread *td, struct thread *targettd, struct timespec *ts); int kern_semctl(struct thread *td, int semid, int semnum, int cmd, From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:08:26 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9A6BA646; Sat, 23 Feb 2013 09:08:26 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 88B48291; Sat, 23 Feb 2013 09:08:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N98Qrw032828; Sat, 23 Feb 2013 09:08:26 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N98Q3f032827; Sat, 23 Feb 2013 09:08:26 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230908.r1N98Q3f032827@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:08:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247182 - user/dchagin/lemul/sys/amd64/linux32 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:08:26 -0000 Author: dchagin Date: Sat Feb 23 09:08:25 2013 New Revision: 247182 URL: http://svnweb.freebsd.org/changeset/base/247182 Log: Remove a now unused include. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 09:06:52 2013 (r247181) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 09:08:25 2013 (r247182) @@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:10:19 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 98015773; Sat, 23 Feb 2013 09:10:19 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8A80329A; Sat, 23 Feb 2013 09:10:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N9AJHq034652; Sat, 23 Feb 2013 09:10:19 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N9AJtm034643; Sat, 23 Feb 2013 09:10:19 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230910.r1N9AJtm034643@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:10:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247183 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:10:19 -0000 Author: dchagin Date: Sat Feb 23 09:10:18 2013 New Revision: 247183 URL: http://svnweb.freebsd.org/changeset/base/247183 Log: Implement a Linux version of sched_getparam() && sched_setparam(). Temporarily use the first thread in proc. Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sat Feb 23 09:08:25 2013 (r247182) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sat Feb 23 09:10:18 2013 (r247183) @@ -267,10 +267,10 @@ 151 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, size_t len); } 152 AUE_MLOCKALL NOPROTO { int mlockall(int how); } 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } -154 AUE_SCHED_SETPARAM NOPROTO { int sched_setparam(pid_t pid, \ - const struct sched_param *param); } -155 AUE_SCHED_GETPARAM NOPROTO { int sched_getparam(pid_t pid, \ - struct sched_param *param); } +154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam(l_pid_t pid, \ + struct l_sched_param *param); } +155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam(l_pid_t pid, \ + struct l_sched_param *param); } 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( \ l_pid_t pid, l_int policy, \ struct l_sched_param *param); } Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Sat Feb 23 09:08:25 2013 (r247182) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Sat Feb 23 09:10:18 2013 (r247183) @@ -1870,6 +1870,68 @@ linux_prctl(struct thread *td, struct li return (error); } +int +linux_sched_setparam(struct thread *td, + struct linux_sched_setparam_args *uap) +{ + struct sched_param sched_param; + struct thread *tdt; + struct proc *p; + int error; + +#ifdef DEBUG + if (ldebug(sched_setparam)) + printf(ARGS(sched_setparam, "%d, *"), uap->pid); +#endif + + error = copyin(uap->param, &sched_param, sizeof(sched_param)); + if (error) + return (error); + + if (uap->pid == 0) { + tdt = td; + PROC_LOCK(tdt->td_proc); + } else { + p = pfind(uap->pid); + if (p == NULL) + return (ESRCH); + tdt = FIRST_THREAD_IN_PROC(p); + } + + return (kern_sched_setparam(td, tdt, &sched_param)); +} + +int +linux_sched_getparam(struct thread *td, + struct linux_sched_getparam_args *uap) +{ + struct sched_param sched_param; + struct thread *tdt; + struct proc *p; + int error; + +#ifdef DEBUG + if (ldebug(sched_getparam)) + printf(ARGS(sched_getparam, "%d, *"), uap->pid); +#endif + + if (uap->pid == 0) { + tdt = td; + PROC_LOCK(tdt->td_proc); + } else { + p = pfind(uap->pid); + if (p == NULL) + return (ESRCH); + tdt = FIRST_THREAD_IN_PROC(p); + } + + error = kern_sched_getparam(td, tdt, &sched_param); + if (error == 0) + error = copyout(&sched_param, uap->param, + sizeof(sched_param)); + return (error); +} + /* * Get affinity of a process. */ Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 09:08:25 2013 (r247182) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Sat Feb 23 09:10:18 2013 (r247183) @@ -269,10 +269,10 @@ 151 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, size_t len); } 152 AUE_MLOCKALL NOPROTO { int mlockall(int how); } 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } -154 AUE_SCHED_SETPARAM NOPROTO { int sched_setparam(pid_t pid, \ - const struct sched_param *param); } -155 AUE_SCHED_GETPARAM NOPROTO { int sched_getparam(pid_t pid, \ - struct sched_param *param); } +154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam(l_pid_t pid, \ + struct l_sched_param *param); } +155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam(l_pid_t pid, \ + struct l_sched_param *param); } 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( \ l_pid_t pid, l_int policy, \ struct l_sched_param *param); } From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:12:31 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 63E86890; Sat, 23 Feb 2013 09:12:31 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3D95D2A2; Sat, 23 Feb 2013 09:12:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N9CVqR035201; Sat, 23 Feb 2013 09:12:31 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N9CTVN035191; Sat, 23 Feb 2013 09:12:29 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230912.r1N9CTVN035191@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:12:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247184 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:12:31 -0000 Author: dchagin Date: Sat Feb 23 09:12:28 2013 New Revision: 247184 URL: http://svnweb.freebsd.org/changeset/base/247184 Log: Regen for r247183. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -477,6 +477,14 @@ struct linux_fdatasync_args { struct linux_sysctl_args { char args_l_[PADL_(struct l___sysctl_args *)]; struct l___sysctl_args * args; char args_r_[PADR_(struct l___sysctl_args *)]; }; +struct linux_sched_setparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; +struct linux_sched_getparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; struct linux_sched_setscheduler_args { char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; @@ -1213,6 +1221,8 @@ int linux_writev(struct thread *, struct int linux_getsid(struct thread *, struct linux_getsid_args *); int linux_fdatasync(struct thread *, struct linux_fdatasync_args *); int linux_sysctl(struct thread *, struct linux_sysctl_args *); +int linux_sched_setparam(struct thread *, struct linux_sched_setparam_args *); +int linux_sched_getparam(struct thread *, struct linux_sched_getparam_args *); int linux_sched_setscheduler(struct thread *, struct linux_sched_setscheduler_args *); int linux_sched_getscheduler(struct thread *, struct linux_sched_getscheduler_args *); int linux_sched_get_priority_max(struct thread *, struct linux_sched_get_priority_max_args *); @@ -1516,6 +1526,8 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_getsid AUE_GETSID #define LINUX_SYS_AUE_linux_fdatasync AUE_NULL #define LINUX_SYS_AUE_linux_sysctl AUE_SYSCTL +#define LINUX_SYS_AUE_linux_sched_setparam AUE_SCHED_SETPARAM +#define LINUX_SYS_AUE_linux_sched_getparam AUE_SCHED_GETPARAM #define LINUX_SYS_AUE_linux_sched_setscheduler AUE_SCHED_SETSCHEDULER #define LINUX_SYS_AUE_linux_sched_getscheduler AUE_SCHED_GETSCHEDULER #define LINUX_SYS_AUE_linux_sched_get_priority_max AUE_SCHED_GET_PRIORITY_MAX Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #define LINUX_SYS_linux_exit 1 @@ -143,8 +143,8 @@ #define LINUX_SYS_munlock 151 #define LINUX_SYS_mlockall 152 #define LINUX_SYS_munlockall 153 -#define LINUX_SYS_sched_setparam 154 -#define LINUX_SYS_sched_getparam 155 +#define LINUX_SYS_linux_sched_setparam 154 +#define LINUX_SYS_linux_sched_getparam 155 #define LINUX_SYS_linux_sched_setscheduler 156 #define LINUX_SYS_linux_sched_getscheduler 157 #define LINUX_SYS_sched_yield 158 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ const char *linux_syscallnames[] = { @@ -162,8 +162,8 @@ const char *linux_syscallnames[] = { "munlock", /* 151 = munlock */ "mlockall", /* 152 = mlockall */ "munlockall", /* 153 = munlockall */ - "sched_setparam", /* 154 = sched_setparam */ - "sched_getparam", /* 155 = sched_getparam */ + "linux_sched_setparam", /* 154 = linux_sched_setparam */ + "linux_sched_getparam", /* 155 = linux_sched_getparam */ "linux_sched_setscheduler", /* 156 = linux_sched_setscheduler */ "linux_sched_getscheduler", /* 157 = linux_sched_getscheduler */ "sched_yield", /* 158 = sched_yield */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247169 2013-02-23 07:55:27Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #include "opt_compat.h" @@ -173,8 +173,8 @@ struct sysent linux_sysent[] = { { AS(munlock_args), (sy_call_t *)sys_munlock, AUE_MUNLOCK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 151 = munlock */ { AS(mlockall_args), (sy_call_t *)sys_mlockall, AUE_MLOCKALL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 152 = mlockall */ { 0, (sy_call_t *)sys_munlockall, AUE_MUNLOCKALL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 153 = munlockall */ - { AS(sched_setparam_args), (sy_call_t *)sys_sched_setparam, AUE_SCHED_SETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 154 = sched_setparam */ - { AS(sched_getparam_args), (sy_call_t *)sys_sched_getparam, AUE_SCHED_GETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 155 = sched_getparam */ + { AS(linux_sched_setparam_args), (sy_call_t *)linux_sched_setparam, AUE_SCHED_SETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 154 = linux_sched_setparam */ + { AS(linux_sched_getparam_args), (sy_call_t *)linux_sched_getparam, AUE_SCHED_GETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 155 = linux_sched_getparam */ { AS(linux_sched_setscheduler_args), (sy_call_t *)linux_sched_setscheduler, AUE_SCHED_SETSCHEDULER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 156 = linux_sched_setscheduler */ { AS(linux_sched_getscheduler_args), (sy_call_t *)linux_sched_getscheduler, AUE_SCHED_GETSCHEDULER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 157 = linux_sched_getscheduler */ { 0, (sy_call_t *)sys_sched_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 158 = sched_yield */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sat Feb 23 09:12:28 2013 (r247184) @@ -1043,19 +1043,19 @@ systrace_args(int sysnum, void *params, *n_args = 0; break; } - /* sched_setparam */ + /* linux_sched_setparam */ case 154: { - struct sched_setparam_args *p = params; - iarg[0] = p->pid; /* pid_t */ - uarg[1] = (intptr_t) p->param; /* const struct sched_param * */ + struct linux_sched_setparam_args *p = params; + iarg[0] = p->pid; /* l_pid_t */ + uarg[1] = (intptr_t) p->param; /* struct l_sched_param * */ *n_args = 2; break; } - /* sched_getparam */ + /* linux_sched_getparam */ case 155: { - struct sched_getparam_args *p = params; - iarg[0] = p->pid; /* pid_t */ - uarg[1] = (intptr_t) p->param; /* struct sched_param * */ + struct linux_sched_getparam_args *p = params; + iarg[0] = p->pid; /* l_pid_t */ + uarg[1] = (intptr_t) p->param; /* struct l_sched_param * */ *n_args = 2; break; } @@ -3832,27 +3832,27 @@ systrace_entry_setargdesc(int sysnum, in /* munlockall */ case 153: break; - /* sched_setparam */ + /* linux_sched_setparam */ case 154: switch(ndx) { case 0: - p = "pid_t"; + p = "l_pid_t"; break; case 1: - p = "const struct sched_param *"; + p = "struct l_sched_param *"; break; default: break; }; break; - /* sched_getparam */ + /* linux_sched_getparam */ case 155: switch(ndx) { case 0: - p = "pid_t"; + p = "l_pid_t"; break; case 1: - p = "struct sched_param *"; + p = "struct l_sched_param *"; break; default: break; @@ -6043,12 +6043,12 @@ systrace_return_setargdesc(int sysnum, i break; /* munlockall */ case 153: - /* sched_setparam */ + /* linux_sched_setparam */ case 154: if (ndx == 0 || ndx == 1) p = "int"; break; - /* sched_getparam */ + /* linux_sched_getparam */ case 155: if (ndx == 0 || ndx == 1) p = "int"; Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -475,6 +475,14 @@ struct linux_fdatasync_args { struct linux_sysctl_args { char args_l_[PADL_(struct l___sysctl_args *)]; struct l___sysctl_args * args; char args_r_[PADR_(struct l___sysctl_args *)]; }; +struct linux_sched_setparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; +struct linux_sched_getparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; struct linux_sched_setscheduler_args { char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; @@ -1236,6 +1244,8 @@ int linux_msync(struct thread *, struct int linux_getsid(struct thread *, struct linux_getsid_args *); int linux_fdatasync(struct thread *, struct linux_fdatasync_args *); int linux_sysctl(struct thread *, struct linux_sysctl_args *); +int linux_sched_setparam(struct thread *, struct linux_sched_setparam_args *); +int linux_sched_getparam(struct thread *, struct linux_sched_getparam_args *); int linux_sched_setscheduler(struct thread *, struct linux_sched_setscheduler_args *); int linux_sched_getscheduler(struct thread *, struct linux_sched_getscheduler_args *); int linux_sched_get_priority_max(struct thread *, struct linux_sched_get_priority_max_args *); @@ -1541,6 +1551,8 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_getsid AUE_GETSID #define LINUX_SYS_AUE_linux_fdatasync AUE_NULL #define LINUX_SYS_AUE_linux_sysctl AUE_SYSCTL +#define LINUX_SYS_AUE_linux_sched_setparam AUE_SCHED_SETPARAM +#define LINUX_SYS_AUE_linux_sched_getparam AUE_SCHED_GETPARAM #define LINUX_SYS_AUE_linux_sched_setscheduler AUE_SCHED_SETSCHEDULER #define LINUX_SYS_AUE_linux_sched_getscheduler AUE_SCHED_GETSCHEDULER #define LINUX_SYS_AUE_linux_sched_get_priority_max AUE_SCHED_GET_PRIORITY_MAX Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #define LINUX_SYS_linux_exit 1 @@ -148,8 +148,8 @@ #define LINUX_SYS_munlock 151 #define LINUX_SYS_mlockall 152 #define LINUX_SYS_munlockall 153 -#define LINUX_SYS_sched_setparam 154 -#define LINUX_SYS_sched_getparam 155 +#define LINUX_SYS_linux_sched_setparam 154 +#define LINUX_SYS_linux_sched_getparam 155 #define LINUX_SYS_linux_sched_setscheduler 156 #define LINUX_SYS_linux_sched_getscheduler 157 #define LINUX_SYS_sched_yield 158 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ const char *linux_syscallnames[] = { @@ -162,8 +162,8 @@ const char *linux_syscallnames[] = { "munlock", /* 151 = munlock */ "mlockall", /* 152 = mlockall */ "munlockall", /* 153 = munlockall */ - "sched_setparam", /* 154 = sched_setparam */ - "sched_getparam", /* 155 = sched_getparam */ + "linux_sched_setparam", /* 154 = linux_sched_setparam */ + "linux_sched_getparam", /* 155 = linux_sched_getparam */ "linux_sched_setscheduler", /* 156 = linux_sched_setscheduler */ "linux_sched_getscheduler", /* 157 = linux_sched_getscheduler */ "sched_yield", /* 158 = sched_yield */ Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sat Feb 23 09:12:28 2013 (r247184) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247177 2013-02-23 09:00:44Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247183 2013-02-23 09:10:18Z dchagin */ #include @@ -172,8 +172,8 @@ struct sysent linux_sysent[] = { { AS(munlock_args), (sy_call_t *)sys_munlock, AUE_MUNLOCK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 151 = munlock */ { AS(mlockall_args), (sy_call_t *)sys_mlockall, AUE_MLOCKALL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 152 = mlockall */ { 0, (sy_call_t *)sys_munlockall, AUE_MUNLOCKALL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 153 = munlockall */ - { AS(sched_setparam_args), (sy_call_t *)sys_sched_setparam, AUE_SCHED_SETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 154 = sched_setparam */ - { AS(sched_getparam_args), (sy_call_t *)sys_sched_getparam, AUE_SCHED_GETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 155 = sched_getparam */ + { AS(linux_sched_setparam_args), (sy_call_t *)linux_sched_setparam, AUE_SCHED_SETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 154 = linux_sched_setparam */ + { AS(linux_sched_getparam_args), (sy_call_t *)linux_sched_getparam, AUE_SCHED_GETPARAM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 155 = linux_sched_getparam */ { AS(linux_sched_setscheduler_args), (sy_call_t *)linux_sched_setscheduler, AUE_SCHED_SETSCHEDULER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 156 = linux_sched_setscheduler */ { AS(linux_sched_getscheduler_args), (sy_call_t *)linux_sched_getscheduler, AUE_SCHED_GETSCHEDULER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 157 = linux_sched_getscheduler */ { 0, (sy_call_t *)sys_sched_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 158 = sched_yield */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 09:10:18 2013 (r247183) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sat Feb 23 09:12:28 2013 (r247184) @@ -1081,19 +1081,19 @@ systrace_args(int sysnum, void *params, *n_args = 0; break; } - /* sched_setparam */ + /* linux_sched_setparam */ case 154: { - struct sched_setparam_args *p = params; - iarg[0] = p->pid; /* pid_t */ - uarg[1] = (intptr_t) p->param; /* const struct sched_param * */ + struct linux_sched_setparam_args *p = params; + iarg[0] = p->pid; /* l_pid_t */ + uarg[1] = (intptr_t) p->param; /* struct l_sched_param * */ *n_args = 2; break; } - /* sched_getparam */ + /* linux_sched_getparam */ case 155: { - struct sched_getparam_args *p = params; - iarg[0] = p->pid; /* pid_t */ - uarg[1] = (intptr_t) p->param; /* struct sched_param * */ + struct linux_sched_getparam_args *p = params; + iarg[0] = p->pid; /* l_pid_t */ + uarg[1] = (intptr_t) p->param; /* struct l_sched_param * */ *n_args = 2; break; } @@ -3981,27 +3981,27 @@ systrace_entry_setargdesc(int sysnum, in /* munlockall */ case 153: break; - /* sched_setparam */ + /* linux_sched_setparam */ case 154: switch(ndx) { case 0: - p = "pid_t"; + p = "l_pid_t"; break; case 1: - p = "const struct sched_param *"; + p = "struct l_sched_param *"; break; default: break; }; break; - /* sched_getparam */ + /* linux_sched_getparam */ case 155: switch(ndx) { case 0: - p = "pid_t"; + p = "l_pid_t"; break; case 1: - p = "struct sched_param *"; + p = "struct l_sched_param *"; break; default: break; @@ -6361,12 +6361,12 @@ systrace_return_setargdesc(int sysnum, i break; /* munlockall */ case 153: - /* sched_setparam */ + /* linux_sched_setparam */ case 154: if (ndx == 0 || ndx == 1) p = "int"; break; - /* sched_getparam */ + /* linux_sched_getparam */ case 155: if (ndx == 0 || ndx == 1) p = "int"; From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:14:29 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 168779B6; Sat, 23 Feb 2013 09:14:29 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 082F92AD; Sat, 23 Feb 2013 09:14:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N9ESkn035489; Sat, 23 Feb 2013 09:14:28 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N9ES5o035488; Sat, 23 Feb 2013 09:14:28 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230914.r1N9ES5o035488@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:14:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247185 - user/dchagin/lemul/sys/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:14:29 -0000 Author: dchagin Date: Sat Feb 23 09:14:28 2013 New Revision: 247185 URL: http://svnweb.freebsd.org/changeset/base/247185 Log: In preparation for switching linuxulator to the use the native 1:1 threads add per thread emulator state data. Modified: user/dchagin/lemul/sys/sys/proc.h Modified: user/dchagin/lemul/sys/sys/proc.h ============================================================================== --- user/dchagin/lemul/sys/sys/proc.h Sat Feb 23 09:12:28 2013 (r247184) +++ user/dchagin/lemul/sys/sys/proc.h Sat Feb 23 09:14:28 2013 (r247185) @@ -317,6 +317,7 @@ struct thread { struct proc *td_rfppwait_p; /* (k) The vforked child */ struct vm_page **td_ma; /* (k) uio pages held */ int td_ma_cnt; /* (k) size of *td_ma */ + void *td_emuldata; /* Emulator state data */ }; struct mtx *thread_lock_block(struct thread *); From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 09:16:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CFD2FBAD; Sat, 23 Feb 2013 09:16:23 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BCC862B9; Sat, 23 Feb 2013 09:16:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1N9GN4B035858; Sat, 23 Feb 2013 09:16:23 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1N9GNAE035854; Sat, 23 Feb 2013 09:16:23 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302230916.r1N9GNAE035854@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 09:16:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247186 - in user/dchagin/lemul/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 09:16:23 -0000 Author: dchagin Date: Sat Feb 23 09:16:22 2013 New Revision: 247186 URL: http://svnweb.freebsd.org/changeset/base/247186 Log: In preparation for switching linuxulator to the use the native 1:1 threads add hook for cleaning thread resources before the thread die. Modified: user/dchagin/lemul/sys/kern/kern_thread.c user/dchagin/lemul/sys/sys/sysent.h Modified: user/dchagin/lemul/sys/kern/kern_thread.c ============================================================================== --- user/dchagin/lemul/sys/kern/kern_thread.c Sat Feb 23 09:14:28 2013 (r247185) +++ user/dchagin/lemul/sys/kern/kern_thread.c Sat Feb 23 09:16:22 2013 (r247186) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -801,6 +802,12 @@ thread_suspend_check(int return_instead) */ if ((p->p_flag & P_SINGLE_EXIT) && (p->p_singlethread != td)) { PROC_UNLOCK(p); + /* + * Let thread to do cleanup work before die. + */ + if (__predict_false(p->p_sysent->sv_thread_detach != NULL)) + (p->p_sysent->sv_thread_detach)(td); + tidhash_remove(td); PROC_LOCK(p); tdsigcleanup(td); Modified: user/dchagin/lemul/sys/sys/sysent.h ============================================================================== --- user/dchagin/lemul/sys/sys/sysent.h Sat Feb 23 09:14:28 2013 (r247185) +++ user/dchagin/lemul/sys/sys/sysent.h Sat Feb 23 09:16:22 2013 (r247186) @@ -130,6 +130,7 @@ struct sysentvec { uint32_t sv_timekeep_gen; void *sv_shared_page_obj; void (*sv_schedtail)(struct thread *); + void (*sv_thread_detach)(struct thread *); }; #define SV_ILP32 0x000100 From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 12:00:53 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BCD04776; Sat, 23 Feb 2013 12:00:53 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AE75BAA2; Sat, 23 Feb 2013 12:00:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NC0r4H085760; Sat, 23 Feb 2013 12:00:53 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NC0qxl085746; Sat, 23 Feb 2013 12:00:52 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302231200.r1NC0qxl085746@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 12:00:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247188 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 12:00:53 -0000 Author: dchagin Date: Sat Feb 23 12:00:51 2013 New Revision: 247188 URL: http://svnweb.freebsd.org/changeset/base/247188 Log: Switch linuxulator to use the native 1:1 threads. The reasons: 1. Get rid of the stubs/quirks with process dethreading, process reparent when the process group leader exits and close to this problems on wait(), waitpid(), etc. 2. Reuse our kernel code instead of writing excessive thread managment routines in Linuxulator. Implementation details: 1. The thread is created via kern_thr_new() in the clone() call with the CLONE_THREAD parameter. Thus, everything else is a process. 2. The test that the process has a threads is done via P_HADTHREADS bit p_flag of struct proc. 3. Per thread emulator state data structure is now located in the struct thread and freed in the thread_dtor() hook. Mandatory holdig of the p_mtx required when referencing emuldata from the other threads. 4. PID mangling has changed. Now Linux pid is the native tid and Linux tgid is the native pid, with the exception of the first thread in the process where tid and pid are one and the same. Ugliness: In case when the Linux thread is the initial thread in the thread group thread id is equal to the process id. Glibc depends on this magic (assert in pthread_getattr_np.c). So for system calls that take thread id as a parameter we should use the special method to reference struct thread by thread id- linux_tdfind(). Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c user/dchagin/lemul/sys/compat/linux/check_error.d user/dchagin/lemul/sys/compat/linux/check_internal_locks.d user/dchagin/lemul/sys/compat/linux/linux_emul.c user/dchagin/lemul/sys/compat/linux/linux_emul.h user/dchagin/lemul/sys/compat/linux/linux_fork.c user/dchagin/lemul/sys/compat/linux/linux_futex.c user/dchagin/lemul/sys/compat/linux/linux_futex.h user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/compat/linux/linux_misc.h user/dchagin/lemul/sys/compat/linux/linux_signal.c user/dchagin/lemul/sys/compat/linux/stats_timing.d user/dchagin/lemul/sys/i386/linux/linux_machdep.c user/dchagin/lemul/sys/i386/linux/linux_sysvec.c user/dchagin/lemul/sys/sys/proc.h Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_machdep.c Sat Feb 23 12:00:51 2013 (r247188) @@ -151,14 +151,6 @@ linux_execve(struct thread *td, struct l free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - if (error == 0) - /* Linux process can execute FreeBSD one, do not attempt - * to create emuldata for such process using - * linux_proc_init, this leads to a panic on KASSERT - * because such process has p->p_emuldata == NULL. - */ - if (SV_PROC_ABI(td->td_proc) == SV_ABI_LINUX) - error = linux_proc_init(td, 0, 0); return (error); } @@ -456,8 +448,14 @@ int linux_set_upcall_kse(struct thread *td, register_t stack) { - td->td_frame->tf_rsp = stack; + if (stack) + td->td_frame->tf_rsp = stack; + /* + * The newly created Linux thread returns + * to the user space by the same path that a parent do. + */ + td->td_frame->tf_rax = 0; return (0); } Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Feb 23 12:00:51 2013 (r247188) @@ -128,8 +128,8 @@ static void exec_linux_setregs(struct th static void linux32_fixlimit(struct rlimit *rl, int which); static boolean_t linux32_trans_osrel(const Elf_Note *note, int32_t *osrel); -static eventhandler_tag linux_exit_tag; static eventhandler_tag linux_exec_tag; +static eventhandler_tag linux_thread_dtor_tag; /* * Linux syscalls return negative errno's, we do positive and map them @@ -1058,6 +1058,7 @@ struct sysentvec elf_linux_sysvec = { .sv_shared_page_base = LINUX32_SHAREDPAGE, .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = linux_schedtail, + .sv_thread_detach = linux_thread_detach }; INIT_SYSENTVEC(elf_sysvec, &elf_linux_sysvec); @@ -1146,14 +1147,12 @@ linux_elf_modevent(module_t mod, int typ linux_ioctl_register_handler(*lihp); SET_FOREACH(ldhp, linux_device_handler_set) linux_device_register_handler(*ldhp); - mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF); - sx_init(&emul_shared_lock, "emuldata->shared lock"); LIST_INIT(&futex_list); mtx_init(&futex_mtx, "ftllk", NULL, MTX_DEF); - linux_exit_tag = EVENTHANDLER_REGISTER(process_exit, - linux_proc_exit, NULL, 1000); linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec, NULL, 1000); + linux_thread_dtor_tag = EVENTHANDLER_REGISTER(thread_dtor, + linux_thread_dtor, NULL, EVENTHANDLER_PRI_ANY); linux_szplatform = roundup(strlen(linux_platform) + 1, sizeof(char *)); linux_osd_jail_register(); @@ -1179,11 +1178,9 @@ linux_elf_modevent(module_t mod, int typ linux_ioctl_unregister_handler(*lihp); SET_FOREACH(ldhp, linux_device_handler_set) linux_device_unregister_handler(*ldhp); - mtx_destroy(&emul_lock); - sx_destroy(&emul_shared_lock); mtx_destroy(&futex_mtx); - EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag); EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag); + EVENTHANDLER_DEREGISTER(thread_dtor, linux_thread_dtor_tag); linux_osd_jail_deregister(); if (bootverbose) printf("Linux ELF exec handler removed\n"); Modified: user/dchagin/lemul/sys/compat/linux/check_error.d ============================================================================== --- user/dchagin/lemul/sys/compat/linux/check_error.d Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/compat/linux/check_error.d Sat Feb 23 12:00:51 2013 (r247188) @@ -36,8 +36,8 @@ */ linuxulator*:dummy::not_implemented, -linuxulator*:emul:proc_exit:child_clear_tid_error, -linuxulator*:emul:proc_exit:futex_failed, +linuxulator*:emul:linux_thread_detach:child_clear_tid_error, +linuxulator*:emul:linux_thread_detach:futex_failed, linuxulator*:emul:linux_schedtail:copyout_error, linuxulator*:futex:futex_get:error, linuxulator*:futex:futex_sleep:requeue_error, Modified: user/dchagin/lemul/sys/compat/linux/check_internal_locks.d ============================================================================== --- user/dchagin/lemul/sys/compat/linux/check_internal_locks.d Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/compat/linux/check_internal_locks.d Sat Feb 23 12:00:51 2013 (r247188) @@ -41,14 +41,9 @@ BEGIN { - check["emul_lock"] = 0; - check["emul_shared_rlock"] = 0; - check["emul_shared_wlock"] = 0; check["futex_mtx"] = 0; } -linuxulator*:locks:emul_lock:locked, -linuxulator*:locks:emul_shared_wlock:locked, linuxulator*:locks:futex_mtx:locked /check[probefunc] > 0/ { @@ -57,9 +52,6 @@ linuxulator*:locks:futex_mtx:locked stack(); } -linuxulator*:locks:emul_lock:locked, -linuxulator*:locks:emul_shared_rlock:locked, -linuxulator*:locks:emul_shared_wlock:locked, linuxulator*:locks:futex_mtx:locked { ++check[probefunc]; @@ -69,9 +61,6 @@ linuxulator*:locks:futex_mtx:locked spec[probefunc] = speculation(); } -linuxulator*:locks:emul_lock:unlock, -linuxulator*:locks:emul_shared_rlock:unlock, -linuxulator*:locks:emul_shared_wlock:unlock, linuxulator*:locks:futex_mtx:unlock /check[probefunc] == 0/ { @@ -82,9 +71,6 @@ linuxulator*:locks:futex_mtx:unlock stack(); } -linuxulator*:locks:emul_lock:unlock, -linuxulator*:locks:emul_shared_rlock:unlock, -linuxulator*:locks:emul_shared_wlock:unlock, linuxulator*:locks:futex_mtx:unlock { discard(spec[probefunc]); @@ -95,27 +81,6 @@ linuxulator*:locks:futex_mtx:unlock /* Timeout handling */ tick-10s -/spec["emul_lock"] != 0 && timestamp - ts["emul_lock"] >= 9999999000/ -{ - commit(spec["emul_lock"]); - spec["emul_lock"] = 0; -} - -tick-10s -/spec["emul_shared_wlock"] != 0 && timestamp - ts["emul_shared_wlock"] >= 9999999000/ -{ - commit(spec["emul_shared_wlock"]); - spec["emul_shared_wlock"] = 0; -} - -tick-10s -/spec["emul_shared_rlock"] != 0 && timestamp - ts["emul_shared_rlock"] >= 9999999000/ -{ - commit(spec["emul_shared_rlock"]); - spec["emul_shared_rlock"] = 0; -} - -tick-10s /spec["futex_mtx"] != 0 && timestamp - ts["futex_mtx"] >= 9999999000/ { commit(spec["futex_mtx"]); Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_emul.c Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/compat/linux/linux_emul.c Sat Feb 23 12:00:51 2013 (r247188) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Roman Divacky + * Copyright (c) 2013 Dmitry Chagin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -59,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /** * Special DTrace provider for the linuxulator. @@ -74,33 +77,20 @@ __FBSDID("$FreeBSD$"); LIN_SDT_PROVIDER_DEFINE(LINUX_DTRACE); /** - * Special DTrace module "locks", it covers some linuxulator internal - * locks. - */ -LIN_SDT_PROBE_DEFINE1(locks, emul_lock, locked, "struct mtx *"); -LIN_SDT_PROBE_DEFINE1(locks, emul_lock, unlock, "struct mtx *"); -LIN_SDT_PROBE_DEFINE1(locks, emul_shared_rlock, locked, "struct sx *"); -LIN_SDT_PROBE_DEFINE1(locks, emul_shared_rlock, unlock, "struct sx *"); -LIN_SDT_PROBE_DEFINE1(locks, emul_shared_wlock, locked, "struct sx *"); -LIN_SDT_PROBE_DEFINE1(locks, emul_shared_wlock, unlock, "struct sx *"); - -/** * DTrace probes in this module. */ -LIN_SDT_PROBE_DEFINE2(emul, em_find, entry, "struct proc *", "int"); +LIN_SDT_PROBE_DEFINE1(emul, em_find, entry, "struct thread *"); LIN_SDT_PROBE_DEFINE0(emul, em_find, return); -LIN_SDT_PROBE_DEFINE3(emul, proc_init, entry, "struct thread *", "pid_t", - "int"); +LIN_SDT_PROBE_DEFINE3(emul, proc_init, entry, "struct thread *", + "struct thread *", "int"); LIN_SDT_PROBE_DEFINE0(emul, proc_init, create_thread); LIN_SDT_PROBE_DEFINE0(emul, proc_init, fork); LIN_SDT_PROBE_DEFINE0(emul, proc_init, exec); LIN_SDT_PROBE_DEFINE0(emul, proc_init, return); -LIN_SDT_PROBE_DEFINE1(emul, proc_exit, entry, "struct proc *"); -LIN_SDT_PROBE_DEFINE0(emul, proc_exit, futex_failed); -LIN_SDT_PROBE_DEFINE3(emul, proc_exit, reparent, "pid_t", "pid_t", - "struct proc *"); -LIN_SDT_PROBE_DEFINE1(emul, proc_exit, child_clear_tid_error, "int"); -LIN_SDT_PROBE_DEFINE0(emul, proc_exit, return); +LIN_SDT_PROBE_DEFINE1(emul, linux_thread_detach, entry, "struct thread *"); +LIN_SDT_PROBE_DEFINE0(emul, linux_thread_detach, futex_failed); +LIN_SDT_PROBE_DEFINE1(emul, linux_thread_detach, child_clear_tid_error, "int"); +LIN_SDT_PROBE_DEFINE0(emul, linux_thread_detach, return); LIN_SDT_PROBE_DEFINE2(emul, proc_exec, entry, "struct proc *", "struct image_params *"); LIN_SDT_PROBE_DEFINE0(emul, proc_exec, return); @@ -109,284 +99,180 @@ LIN_SDT_PROBE_DEFINE1(emul, linux_schedt LIN_SDT_PROBE_DEFINE0(emul, linux_schedtail, return); LIN_SDT_PROBE_DEFINE1(emul, linux_set_tid_address, entry, "int *"); LIN_SDT_PROBE_DEFINE0(emul, linux_set_tid_address, return); -LIN_SDT_PROBE_DEFINE2(emul, linux_kill_threads, entry, "struct thread *", - "int"); -LIN_SDT_PROBE_DEFINE1(emul, linux_kill_threads, kill, "pid_t"); -LIN_SDT_PROBE_DEFINE0(emul, linux_kill_threads, return); - -struct sx emul_shared_lock; -struct mtx emul_lock; -/* this returns locked reference to the emuldata entry (if found) */ +/* + * This returns reference to the emuldata entry (if found) + * + * Hold PROC_LOCK when referencing emuldata from other threads. + */ struct linux_emuldata * -em_find(struct proc *p, int locked) +em_find(struct thread *td) { struct linux_emuldata *em; - LIN_SDT_PROBE2(emul, em_find, entry, p, locked); + LIN_SDT_PROBE1(emul, em_find, entry, td); - if (locked == EMUL_DOLOCK) - EMUL_LOCK(&emul_lock); - - em = p->p_emuldata; - - if (em == NULL && locked == EMUL_DOLOCK) - EMUL_UNLOCK(&emul_lock); + em = td->td_emuldata; LIN_SDT_PROBE1(emul, em_find, return, em); + return (em); } -int -linux_proc_init(struct thread *td, pid_t child, int flags) +void +linux_proc_init(struct thread *td, struct thread *newtd, int flags) { - struct linux_emuldata *em, *p_em; - struct proc *p; + struct linux_emuldata *em; - LIN_SDT_PROBE3(emul, proc_init, entry, td, child, flags); + LIN_SDT_PROBE3(emul, proc_init, entry, td, newtd, flags); - if (child != 0) { - /* fork or create a thread */ - em = malloc(sizeof *em, M_LINUX, M_WAITOK | M_ZERO); - em->pid = child; + if (newtd != NULL) { + /* non-exec call */ + em = malloc(sizeof(*em), M_TEMP, M_WAITOK | M_ZERO); em->pdeath_signal = 0; em->flags = 0; em->robust_futexes = NULL; if (flags & LINUX_CLONE_THREAD) { - /* handled later in the code */ LIN_SDT_PROBE0(emul, proc_init, create_thread); - } else { - struct linux_emuldata_shared *s; + em->em_tid = newtd->td_tid; + } else { LIN_SDT_PROBE0(emul, proc_init, fork); - s = malloc(sizeof *s, M_LINUX, M_WAITOK | M_ZERO); - s->refs = 1; - s->group_pid = child; - - LIST_INIT(&s->threads); - em->shared = s; + em->em_tid = newtd->td_proc->p_pid; } + newtd->td_emuldata = em; } else { /* exec */ LIN_SDT_PROBE0(emul, proc_init, exec); /* lookup the old one */ - em = em_find(td->td_proc, EMUL_DOLOCK); + em = em_find(td); KASSERT(em != NULL, ("proc_init: emuldata not found in exec case.\n")); + + em->em_tid = td->td_proc->p_pid; } em->child_clear_tid = NULL; em->child_set_tid = NULL; + LIN_SDT_PROBE0(emul, proc_init, return); +} + +void +linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) +{ + struct thread *td = curthread; + struct linux_emuldata *em; + /* - * allocate the shared struct only in clone()/fork cases in the case - * of clone() td = calling proc and child = pid of the newly created - * proc + * In a case of execing to linux binary we create linux + * emuldata thread entry. */ - if (child != 0) { - if (flags & LINUX_CLONE_THREAD) { - /* lookup the parent */ - /* - * we dont have to lock the p_em because - * its waiting for us in linux_clone so - * there is no chance of it changing the - * p_em->shared address - */ - p_em = em_find(td->td_proc, EMUL_DONTLOCK); - KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); - em->shared = p_em->shared; - EMUL_SHARED_WLOCK(&emul_shared_lock); - em->shared->refs++; - EMUL_SHARED_WUNLOCK(&emul_shared_lock); - } else { - /* - * handled earlier to avoid malloc(M_WAITOK) with - * rwlock held - */ - } + if (__predict_false((imgp->sysent->sv_flags & SV_ABI_MASK) == + SV_ABI_LINUX)) { + LIN_SDT_PROBE2(emul, proc_exec, entry, p, imgp); + if (SV_PROC_ABI(p) == SV_ABI_LINUX) + linux_proc_init(td, NULL, 0); + else + linux_proc_init(td, td, 0); + } + + /* + * In a case of transition from Linux binary execing to + * FreeBSD binary we destroy linux emuldata thread entry. + */ + if (__predict_false((imgp->sysent->sv_flags & SV_ABI_MASK) != SV_ABI_LINUX && + SV_PROC_ABI(p) == SV_ABI_LINUX)) { - EMUL_SHARED_WLOCK(&emul_shared_lock); - LIST_INSERT_HEAD(&em->shared->threads, em, threads); - EMUL_SHARED_WUNLOCK(&emul_shared_lock); - - p = pfind(child); - KASSERT(p != NULL, ("process not found in proc_init\n")); - p->p_emuldata = em; + /* + * XXX:There's a race because here we assign p->p_emuldata NULL + * but the process is still counted as linux one for a short + * time so some other process might reference it and try to + * access its p->p_emuldata and panicing on a NULL reference. + */ + + PROC_LOCK(p); + em = em_find(td); + KASSERT(em != NULL, ("proc_exec: emuldata not found.\n")); + td->td_emuldata = NULL; PROC_UNLOCK(p); - } else - EMUL_UNLOCK(&emul_lock); - LIN_SDT_PROBE0(emul, proc_init, return); - return (0); + free(em, M_TEMP); + } + + if (__predict_false((imgp->sysent->sv_flags & SV_ABI_MASK) == + SV_ABI_LINUX)) + LIN_SDT_PROBE0(emul, proc_exec, return); } void -linux_proc_exit(void *arg __unused, struct proc *p) +linux_thread_detach(struct thread *td) { + struct linux_sys_futex_args cup; struct linux_emuldata *em; - int error, shared_flags, shared_xstat; - struct thread *td = FIRST_THREAD_IN_PROC(p); int *child_clear_tid; - struct proc *q, *nq; + int null = 0; + int error; - if (__predict_true(p->p_sysent != &elf_linux_sysvec)) - return; - - LIN_SDT_PROBE1(emul, proc_exit, entry, p); + LIN_SDT_PROBE1(emul, linux_thread_detach, entry, td); - release_futexes(p); + em = em_find(td); + KASSERT(em != NULL, ("thread_detach: emuldata not found.\n")); - /* find the emuldata */ - em = em_find(p, EMUL_DOLOCK); + LINUX_CTR1(exit, "thread detach(%d)", em->em_tid); - KASSERT(em != NULL, ("proc_exit: emuldata not found.\n")); + release_futexes(td, em); - /* reparent all procs that are not a thread leader to initproc */ - if (em->shared->group_pid != p->p_pid) { - LIN_SDT_PROBE3(emul, proc_exit, reparent, - em->shared->group_pid, p->p_pid, p); - - child_clear_tid = em->child_clear_tid; - EMUL_UNLOCK(&emul_lock); - sx_xlock(&proctree_lock); - wakeup(initproc); - PROC_LOCK(p); - proc_reparent(p, initproc); - p->p_sigparent = SIGCHLD; - PROC_UNLOCK(p); - sx_xunlock(&proctree_lock); - } else { - child_clear_tid = em->child_clear_tid; - EMUL_UNLOCK(&emul_lock); - } - - EMUL_SHARED_WLOCK(&emul_shared_lock); - shared_flags = em->shared->flags; - shared_xstat = em->shared->xstat; - LIST_REMOVE(em, threads); - - em->shared->refs--; - if (em->shared->refs == 0) { - EMUL_SHARED_WUNLOCK(&emul_shared_lock); - free(em->shared, M_LINUX); - } else - EMUL_SHARED_WUNLOCK(&emul_shared_lock); - - if ((shared_flags & EMUL_SHARED_HASXSTAT) != 0) - p->p_xstat = shared_xstat; + child_clear_tid = em->child_clear_tid; if (child_clear_tid != NULL) { - struct linux_sys_futex_args cup; - int null = 0; + LINUX_CTR2(exit, "thread detach(%d) %p", + em->em_tid, child_clear_tid); + error = copyout(&null, child_clear_tid, sizeof(null)); if (error) { - LIN_SDT_PROBE1(emul, proc_exit, + LIN_SDT_PROBE1(emul, linux_thread_detach, child_clear_tid_error, error); - free(em, M_LINUX); - - LIN_SDT_PROBE0(emul, proc_exit, return); + LIN_SDT_PROBE0(emul, linux_thread_detach, return); return; } - /* futexes stuff */ cup.uaddr = child_clear_tid; cup.op = LINUX_FUTEX_WAKE; cup.val = 0x7fffffff; /* Awake everyone */ cup.timeout = NULL; cup.uaddr2 = NULL; cup.val3 = 0; - error = linux_sys_futex(FIRST_THREAD_IN_PROC(p), &cup); + error = linux_sys_futex(td, &cup); /* * this cannot happen at the moment and if this happens it * probably means there is a user space bug */ if (error) { - LIN_SDT_PROBE0(emul, proc_exit, futex_failed); - printf(LMSG("futex stuff in proc_exit failed.\n")); - } - } - - /* clean the stuff up */ - free(em, M_LINUX); - - /* this is a little weird but rewritten from exit1() */ - sx_xlock(&proctree_lock); - q = LIST_FIRST(&p->p_children); - for (; q != NULL; q = nq) { - nq = LIST_NEXT(q, p_sibling); - if (q->p_flag & P_WEXIT) - continue; - if (__predict_false(q->p_sysent != &elf_linux_sysvec)) - continue; - em = em_find(q, EMUL_DOLOCK); - KASSERT(em != NULL, ("linux_reparent: emuldata not found: %i\n", q->p_pid)); - PROC_LOCK(q); - if ((q->p_flag & P_WEXIT) == 0 && em->pdeath_signal != 0) { - kern_psignal(q, em->pdeath_signal); + LIN_SDT_PROBE0(emul, linux_thread_detach, futex_failed); + printf(LMSG("futex stuff in thread_detach failed.\n")); } - PROC_UNLOCK(q); - EMUL_UNLOCK(&emul_lock); } - sx_xunlock(&proctree_lock); - LIN_SDT_PROBE0(emul, proc_exit, return); + LIN_SDT_PROBE0(emul, linux_thread_detach, return); } -/* - * This is used in a case of transition from FreeBSD binary execing to linux binary - * in this case we create linux emuldata proc entry with the pid of the currently running - * process. - */ -void -linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) +void +linux_thread_dtor(void *arg __unused, struct thread *td) { - if (__predict_false(imgp->sysent == &elf_linux_sysvec)) { - LIN_SDT_PROBE2(emul, proc_exec, entry, p, imgp); - } - if (__predict_false(imgp->sysent == &elf_linux_sysvec - && p->p_sysent != &elf_linux_sysvec)) - linux_proc_init(FIRST_THREAD_IN_PROC(p), p->p_pid, 0); - if (__predict_false((p->p_sysent->sv_flags & SV_ABI_MASK) == - SV_ABI_LINUX)) - /* Kill threads regardless of imgp->sysent value */ - linux_kill_threads(FIRST_THREAD_IN_PROC(p), SIGKILL); - if (__predict_false(imgp->sysent != &elf_linux_sysvec - && p->p_sysent == &elf_linux_sysvec)) { - struct linux_emuldata *em; - - /* - * XXX:There's a race because here we assign p->p_emuldata NULL - * but the process is still counted as linux one for a short - * time so some other process might reference it and try to - * access its p->p_emuldata and panicing on a NULL reference. - */ - em = em_find(p, EMUL_DONTLOCK); - - KASSERT(em != NULL, ("proc_exec: emuldata not found.\n")); - - EMUL_SHARED_WLOCK(&emul_shared_lock); - LIST_REMOVE(em, threads); - - PROC_LOCK(p); - p->p_emuldata = NULL; - PROC_UNLOCK(p); + struct linux_emuldata *em; - em->shared->refs--; - if (em->shared->refs == 0) { - EMUL_SHARED_WUNLOCK(&emul_shared_lock); - free(em->shared, M_LINUX); - } else - EMUL_SHARED_WUNLOCK(&emul_shared_lock); + em = em_find(td); + if (em == NULL) + return; + td->td_emuldata = NULL; - free(em, M_LINUX); - } + LINUX_CTR1(exit, "thread dtor(%d)", em->em_tid); - if (__predict_false(imgp->sysent == &elf_linux_sysvec)) { - LIN_SDT_PROBE0(emul, proc_exec, return); - } + free(em, M_TEMP); } void @@ -397,30 +283,28 @@ linux_schedtail(struct thread *td) int error = 0; int *child_set_tid; - p = td->td_proc; - - LIN_SDT_PROBE1(emul, linux_schedtail, entry, p); + LIN_SDT_PROBE1(emul, linux_schedtail, entry, td); - /* find the emuldata */ - em = em_find(p, EMUL_DOLOCK); + p = td->td_proc; + em = em_find(td); KASSERT(em != NULL, ("linux_schedtail: emuldata not found.\n")); child_set_tid = em->child_set_tid; - EMUL_UNLOCK(&emul_lock); if (child_set_tid != NULL) { - error = copyout(&p->p_pid, (int *)child_set_tid, - sizeof(p->p_pid)); + error = copyout(&em->em_tid, (int *)child_set_tid, + sizeof(em->em_tid)); + LINUX_CTR4(clone, "schedtail(%d) %p stored %d error %d", + td->td_tid, child_set_tid, em->em_tid, error); if (error != 0) { LIN_SDT_PROBE1(emul, linux_schedtail, copyout_error, error); } - } + } else + LINUX_CTR1(clone, "schedtail(%d)", em->em_tid); LIN_SDT_PROBE0(emul, linux_schedtail, return); - - return; } int @@ -430,45 +314,16 @@ linux_set_tid_address(struct thread *td, LIN_SDT_PROBE1(emul, linux_set_tid_address, entry, args->tidptr); - /* find the emuldata */ - em = em_find(td->td_proc, EMUL_DOLOCK); - + em = em_find(td); KASSERT(em != NULL, ("set_tid_address: emuldata not found.\n")); em->child_clear_tid = args->tidptr; - td->td_retval[0] = td->td_proc->p_pid; - - EMUL_UNLOCK(&emul_lock); - LIN_SDT_PROBE0(emul, linux_set_tid_address, return); - return 0; -} - -void -linux_kill_threads(struct thread *td, int sig) -{ - struct linux_emuldata *em, *td_em, *tmp_em; - struct proc *sp; - - LIN_SDT_PROBE2(emul, linux_kill_threads, entry, td, sig); - - td_em = em_find(td->td_proc, EMUL_DONTLOCK); + td->td_retval[0] = em->em_tid; - KASSERT(td_em != NULL, ("linux_kill_threads: emuldata not found.\n")); + LINUX_CTR3(set_tid_address, "tidptr(%d) %p, returns %d", + em->em_tid, args->tidptr, td->td_retval[0]); - EMUL_SHARED_RLOCK(&emul_shared_lock); - LIST_FOREACH_SAFE(em, &td_em->shared->threads, threads, tmp_em) { - if (em->pid == td_em->pid) - continue; - - sp = pfind(em->pid); - if ((sp->p_flag & P_WEXIT) == 0) - kern_psignal(sp, sig); - PROC_UNLOCK(sp); - - LIN_SDT_PROBE1(emul, linux_kill_threads, kill, em->pid); - } - EMUL_SHARED_RUNLOCK(&emul_shared_lock); - - LIN_SDT_PROBE0(emul, linux_kill_threads, return); + LIN_SDT_PROBE0(emul, linux_set_tid_address, return); + return (0); } Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_emul.h Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/compat/linux/linux_emul.h Sat Feb 23 12:00:51 2013 (r247188) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Roman Divacky + * Copyright (c) 2013 Dmitry Chagin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,91 +32,32 @@ #ifndef _LINUX_EMUL_H_ #define _LINUX_EMUL_H_ -#define EMUL_SHARED_HASXSTAT 0x01 - -struct linux_emuldata_shared { - int refs; - int flags; - int xstat; - pid_t group_pid; - - LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */ -}; - /* * modeled after similar structure in NetBSD * this will be extended as we need more functionality */ struct linux_emuldata { - pid_t pid; - int *child_set_tid; /* in clone(): Child's TID to set on clone */ int *child_clear_tid;/* in clone(): Child's TID to clear on exit */ - struct linux_emuldata_shared *shared; - int pdeath_signal; /* parent death signal */ int flags; /* different emuldata flags */ + int em_tid; /* thread id */ struct linux_robust_list_head *robust_futexes; - LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */ }; -struct linux_emuldata *em_find(struct proc *, int locked); - -/* - * DTrace probes for locks should be fired after locking and before releasing - * to prevent races (to provide data/function stability in dtrace, see the - * output of "dtrace -v ..." and the corresponding dtrace docs). - */ -#define EMUL_LOCK(l) do { \ - mtx_lock(l); \ - LIN_SDT_PROBE1(locks, emul_lock, \ - locked, l); \ - } while (0) -#define EMUL_UNLOCK(l) do { \ - LIN_SDT_PROBE1(locks, emul_lock, \ - unlock, l); \ - mtx_unlock(l); \ - } while (0) - -#define EMUL_SHARED_RLOCK(l) do { \ - sx_slock(l); \ - LIN_SDT_PROBE1(locks, emul_shared_rlock, \ - locked, l); \ - } while (0) -#define EMUL_SHARED_RUNLOCK(l) do { \ - LIN_SDT_PROBE1(locks, emul_shared_rlock, \ - unlock, l); \ - sx_sunlock(l); \ - } while (0) -#define EMUL_SHARED_WLOCK(l) do { \ - sx_xlock(l); \ - LIN_SDT_PROBE1(locks, emul_shared_wlock, \ - locked, l); \ - } while (0) -#define EMUL_SHARED_WUNLOCK(l) do { \ - LIN_SDT_PROBE1(locks, emul_shared_wlock, \ - unlock, l); \ - sx_xunlock(l); \ - } while (0) - -/* for em_find use */ -#define EMUL_DOLOCK 1 -#define EMUL_DONTLOCK 0 +struct linux_emuldata *em_find(struct thread *); /* emuldata flags */ #define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated futex REQUEUE op*/ -int linux_proc_init(struct thread *, pid_t, int); -void linux_proc_exit(void *, struct proc *); +void linux_proc_init(struct thread *, struct thread *, int); void linux_schedtail(struct thread *); void linux_proc_exec(void *, struct proc *, struct image_params *); -void linux_kill_threads(struct thread *, int); - -extern struct sx emul_shared_lock; -extern struct mtx emul_lock; +void linux_thread_dtor(void *arg __unused, struct thread *); +void linux_thread_detach(struct thread *); #endif /* !_LINUX_EMUL_H_ */ Modified: user/dchagin/lemul/sys/compat/linux/linux_fork.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_fork.c Sat Feb 23 11:21:05 2013 (r247187) +++ user/dchagin/lemul/sys/compat/linux/linux_fork.c Sat Feb 23 12:00:51 2013 (r247188) @@ -30,20 +30,25 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" -#include "opt_kdtrace.h" #include #include #include +#include #include #include #include +#include #include -#include +#include #include #include #include +#include +#include +#include + #ifdef COMPAT_LINUX32 #include #include @@ -51,18 +56,10 @@ __FBSDID("$FreeBSD$"); #include #include #endif -#include #include #include #include - -/* DTrace init */ -LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); - -/* Linuxulator-global DTrace probes */ -LIN_SDT_PROBE_DECLARE(locks, emul_lock, locked); -LIN_SDT_PROBE_DECLARE(locks, emul_lock, unlock); - +#include int linux_fork(struct thread *td, struct linux_fork_args *args) @@ -80,14 +77,11 @@ linux_fork(struct thread *td, struct lin != 0) return (error); - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; + td2 = FIRST_THREAD_IN_PROC(p2); - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); + linux_proc_init(td, td2, 0); - td2 = FIRST_THREAD_IN_PROC(p2); + td->td_retval[0] = p2->p_pid; /* * Make this runnable after we are finished with it. @@ -117,17 +111,16 @@ linux_vfork(struct thread *td, struct li NULL, 0)) != 0) return (error); - td->td_retval[0] = p2->p_pid; - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); + td2 = FIRST_THREAD_IN_PROC(p2); + + linux_proc_init(td, td2, 0); PROC_LOCK(p2); p2->p_flag |= P_PPWAIT; PROC_UNLOCK(p2); - td2 = FIRST_THREAD_IN_PROC(p2); + td->td_retval[0] = p2->p_pid; /* * Make this runnable after we are finished with it. @@ -146,8 +139,8 @@ linux_vfork(struct thread *td, struct li return (0); } -int -linux_clone(struct thread *td, struct linux_clone_args *args) +static int +linux_clone_proc(struct thread *td, struct linux_clone_args *args) { int error, ff = RFPROC | RFSTOPPED; struct proc *p2; @@ -184,22 +177,6 @@ linux_clone(struct thread *td, struct li if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS))) ff |= RFFDG; - /* - * Attempt to detect when linux_clone(2) is used for creating - * kernel threads. Unfortunately despite the existence of the - * CLONE_THREAD flag, version of linuxthreads package used in - * most popular distros as of beginning of 2005 doesn't make - * any use of it. Therefore, this detection relies on - * empirical observation that linuxthreads sets certain - * combination of flags, so that we can make more or less - * precise detection and notify the FreeBSD kernel that several - * processes are in fact part of the same threading group, so - * that special treatment is necessary for signal delivery - * between those processes and fd locking. - */ - if ((args->flags & 0xffffff00) == LINUX_THREADING_FLAGS) - ff |= RFTHREAD; - if (args->flags & LINUX_CLONE_PARENT_SETTID) if (args->parent_tidptr == NULL) return (EINVAL); @@ -208,29 +185,13 @@ linux_clone(struct thread *td, struct li if (error) return (error); - if (args->flags & (LINUX_CLONE_PARENT | LINUX_CLONE_THREAD)) { - sx_xlock(&proctree_lock); - PROC_LOCK(p2); - proc_reparent(p2, td->td_proc->p_pptr); - PROC_UNLOCK(p2); - sx_xunlock(&proctree_lock); - } + td2 = FIRST_THREAD_IN_PROC(p2); /* create the emuldata */ - error = linux_proc_init(td, p2->p_pid, args->flags); - /* reference it - no need to check this */ - em = em_find(p2, EMUL_DOLOCK); - KASSERT(em != NULL, ("clone: emuldata not found.")); - /* and adjust it */ + linux_proc_init(td, td2, args->flags); - if (args->flags & LINUX_CLONE_THREAD) { -#ifdef notyet - PROC_LOCK(p2); - p2->p_pgrp = td->td_proc->p_pgrp; - PROC_UNLOCK(p2); -#endif - exit_signal = 0; - } + em = em_find(td2); + KASSERT(em != NULL, ("clone_proc: emuldata not found.\n")); if (args->flags & LINUX_CLONE_CHILD_SETTID) em->child_set_tid = args->child_tidptr; @@ -242,8 +203,6 @@ linux_clone(struct thread *td, struct li else em->child_clear_tid = NULL; - EMUL_UNLOCK(&emul_lock); - if (args->flags & LINUX_CLONE_PARENT_SETTID) { error = copyout(&p2->p_pid, args->parent_tidptr, sizeof(p2->p_pid)); @@ -254,14 +213,12 @@ linux_clone(struct thread *td, struct li PROC_LOCK(p2); p2->p_sigparent = exit_signal; PROC_UNLOCK(p2); - td2 = FIRST_THREAD_IN_PROC(p2); /* * In a case of stack = NULL, we are supposed to COW calling process * stack. This is what normal fork() does, so we just keep tf_rsp arg * intact. */ - if (args->stack) - linux_set_upcall_kse(td2, PTROUT(args->stack)); + linux_set_upcall_kse(td2, PTROUT(args->stack)); if (args->flags & LINUX_CLONE_SETTLS) linux_set_cloned_tls(td2, args->tls); @@ -272,6 +229,7 @@ linux_clone(struct thread *td, struct li "stack %p sig = %d"), (int)p2->p_pid, args->stack, exit_signal); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 15:50:29 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6C4AE5C4; Sat, 23 Feb 2013 15:50:29 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5013B26B; Sat, 23 Feb 2013 15:50:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NFoTVR054932; Sat, 23 Feb 2013 15:50:29 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NFoSJq054927; Sat, 23 Feb 2013 15:50:28 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302231550.r1NFoSJq054927@svn.freebsd.org> From: Attilio Rao Date: Sat, 23 Feb 2013 15:50:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247191 - in user/attilio/vmobj-rwlock/sys/cddl: compat/opensolaris/kern compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 15:50:29 -0000 Author: attilio Date: Sat Feb 23 15:50:28 2013 New Revision: 247191 URL: http://svnweb.freebsd.org/changeset/base/247191 Log: Change the use of hard functions for vm_pager_ok and switch to const variables. Sponsored by: EMC / Isilon storage division Reported by: pjd Modified: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Sat Feb 23 15:15:41 2013 (r247190) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Sat Feb 23 15:50:28 2013 (r247191) @@ -36,26 +36,9 @@ #include #include -int -vm_pagerret_bad(void) -{ - - return (VM_PAGER_BAD); -} - -int -vm_pagerret_error(void) -{ - - return (VM_PAGER_ERROR); -} - -int -vm_pagerret_ok(void) -{ - - return (VM_PAGER_OK); -} +const int zfs_vm_pagerret_bad = VM_PAGER_BAD; +const int zfs_vm_pagerret_error = VM_PAGER_ERROR; +const int zfs_vm_pagerret_ok = VM_PAGER_OK; void zfs_vmobject_assert_wlocked(vm_object_t object) Modified: user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h Sat Feb 23 15:15:41 2013 (r247190) +++ user/attilio/vmobj-rwlock/sys/cddl/compat/opensolaris/sys/vm.h Sat Feb 23 15:50:28 2013 (r247191) @@ -31,9 +31,9 @@ #ifdef _KERNEL -int vm_pagerret_bad(void); -int vm_pagerret_error(void); -int vm_pagerret_ok(void); +extern const int zfs_vm_pagerret_bad; +extern const int zfs_vm_pagerret_error; +extern const int zfs_vm_pagerret_ok; void zfs_vmobject_assert_wlocked(vm_object_t object); void zfs_vmobject_wlock(vm_object_t object); Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sat Feb 23 15:15:41 2013 (r247190) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sat Feb 23 15:50:28 2013 (r247191) @@ -5702,7 +5702,7 @@ zfs_getpages(struct vnode *vp, vm_page_t vm_page_zero_invalid(mreq, TRUE); zfs_vmobject_wunlock(object); ZFS_EXIT(zfsvfs); - return (vm_pagerret_ok()); + return (zfs_vm_pagerret_ok); } PCPU_INC(cnt.v_vnodein); @@ -5718,7 +5718,7 @@ zfs_getpages(struct vnode *vp, vm_page_t } zfs_vmobject_wunlock(object); ZFS_EXIT(zfsvfs); - return (vm_pagerret_bad()); + return (zfs_vm_pagerret_bad); } lsize = PAGE_SIZE; @@ -5755,7 +5755,7 @@ zfs_getpages(struct vnode *vp, vm_page_t ZFS_ACCESSTIME_STAMP(zfsvfs, zp); ZFS_EXIT(zfsvfs); - return (error ? vm_pagerret_error() : vm_pagerret_ok()); + return (error ? zfs_vm_pagerret_error : zfs_vm_pagerret_ok); } static int From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 16:01:11 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0F6939B9; Sat, 23 Feb 2013 16:01:11 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D53B12C1; Sat, 23 Feb 2013 16:01:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NG1AW8059660; Sat, 23 Feb 2013 16:01:10 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NG14Pd059613; Sat, 23 Feb 2013 16:01:04 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302231601.r1NG14Pd059613@svn.freebsd.org> From: Attilio Rao Date: Sat, 23 Feb 2013 16:01:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247192 - in user/attilio/vmobj-rwlock: contrib/llvm/tools/clang/lib/Driver etc lib/libc/stdlib share/man/man9 sys/cam/ata sys/cam/scsi sys/cddl/contrib/opensolaris/uts/common/fs/zfs sy... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 16:01:11 -0000 Author: attilio Date: Sat Feb 23 16:01:03 2013 New Revision: 247192 URL: http://svnweb.freebsd.org/changeset/base/247192 Log: MFC Added: user/attilio/vmobj-rwlock/tools/regression/bin/sh/builtins/read6.0 - copied unchanged from r247191, head/tools/regression/bin/sh/builtins/read6.0 Modified: user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.h user/attilio/vmobj-rwlock/etc/Makefile user/attilio/vmobj-rwlock/lib/libc/stdlib/bsearch.3 user/attilio/vmobj-rwlock/share/man/man9/VFS_SET.9 user/attilio/vmobj-rwlock/sys/cam/ata/ata_pmp.c user/attilio/vmobj-rwlock/sys/cam/scsi/scsi_da.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.c user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.h user/attilio/vmobj-rwlock/sys/dev/ata/ata-dma.c user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h user/attilio/vmobj-rwlock/sys/powerpc/include/vmparam.h user/attilio/vmobj-rwlock/usr.sbin/bhyve/mem.c user/attilio/vmobj-rwlock/usr.sbin/bhyve/mem.h user/attilio/vmobj-rwlock/usr.sbin/bhyve/pci_emul.c user/attilio/vmobj-rwlock/usr.sbin/extattr/rmextattr.c Directory Properties: user/attilio/vmobj-rwlock/ (props changed) user/attilio/vmobj-rwlock/contrib/llvm/ (props changed) user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/ (props changed) user/attilio/vmobj-rwlock/lib/libc/ (props changed) user/attilio/vmobj-rwlock/sys/ (props changed) user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/vmobj-rwlock/usr.sbin/bhyve/ (props changed) Modified: user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.cpp ============================================================================== --- user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Sat Feb 23 16:01:03 2013 (r247192) @@ -1114,10 +1114,59 @@ void Clang::AddSparcTargetArgs(const Arg } } +static const char *getX86TargetCPU(const ArgList &Args, + const llvm::Triple &Triple) { + if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { + if (StringRef(A->getValue()) != "native") + return A->getValue(); + + // FIXME: Reject attempts to use -march=native unless the target matches + // the host. + // + // FIXME: We should also incorporate the detected target features for use + // with -native. + std::string CPU = llvm::sys::getHostCPUName(); + if (!CPU.empty() && CPU != "generic") + return Args.MakeArgString(CPU); + } + + // Select the default CPU if none was given (or detection failed). + + if (Triple.getArch() != llvm::Triple::x86_64 && + Triple.getArch() != llvm::Triple::x86) + return 0; // This routine is only handling x86 targets. + + bool Is64Bit = Triple.getArch() == llvm::Triple::x86_64; + + // FIXME: Need target hooks. + if (Triple.isOSDarwin()) + return Is64Bit ? "core2" : "yonah"; + + // Everything else goes to x86-64 in 64-bit mode. + if (Is64Bit) + return "x86-64"; + + if (Triple.getOSName().startswith("haiku")) + return "i586"; + if (Triple.getOSName().startswith("openbsd")) + return "i486"; + if (Triple.getOSName().startswith("bitrig")) + return "i686"; + if (Triple.getOSName().startswith("freebsd")) + return "i486"; + if (Triple.getOSName().startswith("netbsd")) + return "i486"; + // All x86 devices running Android have core2 as their common + // denominator. This makes a better choice than pentium4. + if (Triple.getEnvironment() == llvm::Triple::Android) + return "core2"; + + // Fallback to p4. + return "pentium4"; +} + void Clang::AddX86TargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const { - const bool isAndroid = - getToolChain().getTriple().getEnvironment() == llvm::Triple::Android; if (!Args.hasFlag(options::OPT_mred_zone, options::OPT_mno_red_zone, true) || @@ -1130,65 +1179,7 @@ void Clang::AddX86TargetArgs(const ArgLi false)) CmdArgs.push_back("-no-implicit-float"); - const char *CPUName = 0; - if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - if (StringRef(A->getValue()) == "native") { - // FIXME: Reject attempts to use -march=native unless the target matches - // the host. - // - // FIXME: We should also incorporate the detected target features for use - // with -native. - std::string CPU = llvm::sys::getHostCPUName(); - if (!CPU.empty() && CPU != "generic") - CPUName = Args.MakeArgString(CPU); - } else - CPUName = A->getValue(); - } - - // Select the default CPU if none was given (or detection failed). - if (!CPUName) { - // FIXME: Need target hooks. - if (getToolChain().getTriple().isOSDarwin()) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "core2"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "yonah"; - } else if (getToolChain().getOS().startswith("haiku")) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "i586"; - } else if (getToolChain().getOS().startswith("openbsd")) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "i486"; - } else if (getToolChain().getOS().startswith("bitrig")) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "i686"; - } else if (getToolChain().getOS().startswith("freebsd")) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "i486"; - } else if (getToolChain().getOS().startswith("netbsd")) { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - CPUName = "i486"; - } else { - if (getToolChain().getArch() == llvm::Triple::x86_64) - CPUName = "x86-64"; - else if (getToolChain().getArch() == llvm::Triple::x86) - // All x86 devices running Android have core2 as their common - // denominator. This makes a better choice than pentium4. - CPUName = isAndroid ? "core2" : "pentium4"; - } - } - - if (CPUName) { + if (const char *CPUName = getX86TargetCPU(Args, getToolChain().getTriple())) { CmdArgs.push_back("-target-cpu"); CmdArgs.push_back(CPUName); } @@ -3091,6 +3082,15 @@ void ClangAs::AddARMTargetArgs(const Arg addFPMathArgs(D, A, Args, CmdArgs, getARMTargetCPU(Args, Triple)); } +void ClangAs::AddX86TargetArgs(const ArgList &Args, + ArgStringList &CmdArgs) const { + // Set the CPU based on -march=. + if (const char *CPUName = getX86TargetCPU(Args, getToolChain().getTriple())) { + CmdArgs.push_back("-target-cpu"); + CmdArgs.push_back(CPUName); + } +} + /// Add options related to the Objective-C runtime/ABI. /// /// Returns true if the runtime is non-fragile. @@ -3261,6 +3261,11 @@ void ClangAs::ConstructJob(Compilation & case llvm::Triple::thumb: AddARMTargetArgs(Args, CmdArgs); break; + + case llvm::Triple::x86: + case llvm::Triple::x86_64: + AddX86TargetArgs(Args, CmdArgs); + break; } // Ignore explicit -force_cpusubtype_ALL option. @@ -6068,8 +6073,27 @@ void linuxtools::Link::ConstructJob(Comp CmdArgs.push_back("-plugin"); std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; CmdArgs.push_back(Args.MakeArgString(Plugin)); + + // Try to pass driver level flags relevant to LTO code generation down to + // the plugin. + + // Handle architecture-specific flags for selecting CPU variants. + if (ToolChain.getArch() == llvm::Triple::x86 || + ToolChain.getArch() == llvm::Triple::x86_64) + CmdArgs.push_back( + Args.MakeArgString(Twine("-plugin-opt=mcpu=") + + getX86TargetCPU(Args, ToolChain.getTriple()))); + else if (ToolChain.getArch() == llvm::Triple::arm || + ToolChain.getArch() == llvm::Triple::thumb) + CmdArgs.push_back( + Args.MakeArgString(Twine("-plugin-opt=mcpu=") + + getARMTargetCPU(Args, ToolChain.getTriple()))); + + // FIXME: Factor out logic for MIPS, PPC, and other targets to support this + // as well. } + if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) CmdArgs.push_back("--no-demangle"); Modified: user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.h ============================================================================== --- user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.h Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/contrib/llvm/tools/clang/lib/Driver/Tools.h Sat Feb 23 16:01:03 2013 (r247192) @@ -68,6 +68,7 @@ namespace tools { /// \brief Clang integrated assembler tool. class LLVM_LIBRARY_VISIBILITY ClangAs : public Tool { void AddARMTargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const; + void AddX86TargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const; public: ClangAs(const ToolChain &TC) : Tool("clang::as", "clang integrated assembler", TC) {} Modified: user/attilio/vmobj-rwlock/etc/Makefile ============================================================================== --- user/attilio/vmobj-rwlock/etc/Makefile Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/etc/Makefile Sat Feb 23 16:01:03 2013 (r247192) @@ -354,7 +354,7 @@ distrib-dirs: ${METALOG.add} ; \ done; true .endif - ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/ + ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys cd ${DESTDIR}/usr/share/man; \ for mandir in man*; do \ ${INSTALL_SYMLINK} ../$$mandir \ Modified: user/attilio/vmobj-rwlock/lib/libc/stdlib/bsearch.3 ============================================================================== --- user/attilio/vmobj-rwlock/lib/libc/stdlib/bsearch.3 Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/lib/libc/stdlib/bsearch.3 Sat Feb 23 16:01:03 2013 (r247192) @@ -32,7 +32,7 @@ .\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94 .\" $FreeBSD$ .\" -.Dd April 19, 1994 +.Dd February 22, 2013 .Dt BSEARCH 3 .Os .Sh NAME @@ -71,6 +71,12 @@ less than, equal to, or greater than zer .Fa key object is found, respectively, to be less than, to match, or be greater than the array member. +See the +.Fa int_compare +sample function in +.Xr qsort 3 +for a comparison function that is also compatible with +.Fn bsearch . .Sh RETURN VALUES The .Fn bsearch Modified: user/attilio/vmobj-rwlock/share/man/man9/VFS_SET.9 ============================================================================== --- user/attilio/vmobj-rwlock/share/man/man9/VFS_SET.9 Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/share/man/man9/VFS_SET.9 Sat Feb 23 16:01:03 2013 (r247192) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2013 +.Dd February 21, 2013 .Dt VFS_SET 9 .Os .Sh NAME @@ -80,6 +80,9 @@ Supports delegated administration if .Va vfs.usermount sysctl is set to .Dv 1 . +.It Dv VFCF_SBDRY +When in VFS method, the thread suspension is deferred to the user +boundary upon arrival of stop action. .El .Sh PSEUDOCODE .Bd -literal Modified: user/attilio/vmobj-rwlock/sys/cam/ata/ata_pmp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cam/ata/ata_pmp.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cam/ata/ata_pmp.c Sat Feb 23 16:01:03 2013 (r247192) @@ -595,7 +595,9 @@ pmpdone(struct cam_periph *periph, union * causes timeouts if external SEP is not connected * to PMP over I2C. */ - if (softc->pm_pid == 0x37261095 && softc->pm_ports == 6) + if ((softc->pm_pid == 0x37261095 || + softc->pm_pid == 0x38261095) && + softc->pm_ports == 6) softc->pm_ports = 5; /* Modified: user/attilio/vmobj-rwlock/sys/cam/scsi/scsi_da.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cam/scsi/scsi_da.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cam/scsi/scsi_da.c Sat Feb 23 16:01:03 2013 (r247192) @@ -607,6 +607,10 @@ static struct da_quirk_entry da_quirk_ta {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT }, + { + {T_DIRECT, SIP_MEDIA_REMOVABLE, "Kingston", "DataTraveler G3", + "1.00"}, /*quirks*/ DA_Q_NO_PREVENT + }, /* ATA/SATA devices over SAS/USB/... */ { /* Hitachi Advanced Format (4k) drives */ Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Feb 23 16:01:03 2013 (r247192) @@ -3045,7 +3045,7 @@ arc_read(zio_t *pio, spa_t *spa, const b const zbookmark_t *zb) { arc_buf_hdr_t *hdr; - arc_buf_t *buf; + arc_buf_t *buf = NULL; kmutex_t *hash_lock; zio_t *rzio; uint64_t guid = spa_load_guid(spa); @@ -3127,7 +3127,7 @@ top: uint64_t size = BP_GET_LSIZE(bp); arc_callback_t *acb; vdev_t *vd = NULL; - uint64_t addr; + uint64_t addr = 0; boolean_t devw = B_FALSE; if (hdr == NULL) { @@ -3245,6 +3245,10 @@ top: cb->l2rcb_zb = *zb; cb->l2rcb_flags = zio_flags; + ASSERT(addr >= VDEV_LABEL_START_SIZE && + addr + size < vd->vdev_psize - + VDEV_LABEL_END_SIZE); + /* * l2arc read. The SCL_L2ARC lock will be * released by l2arc_read_done(). @@ -3440,8 +3444,8 @@ arc_release(arc_buf_t *buf, void *tag) if (l2hdr) { mutex_enter(&l2arc_buflist_mtx); hdr->b_l2hdr = NULL; - buf_size = hdr->b_size; } + buf_size = hdr->b_size; /* * Do we have more than one buf? @@ -4544,7 +4548,7 @@ l2arc_read_done(zio_t *zio) static list_t * l2arc_list_locked(int list_num, kmutex_t **lock) { - list_t *list; + list_t *list = NULL; int idx; ASSERT(list_num >= 0 && list_num < 2 * ARC_BUFC_NUMLISTS); Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Sat Feb 23 16:01:03 2013 (r247192) @@ -408,8 +408,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, if (dn->dn_objset->os_dsl_dataset) dp = dn->dn_objset->os_dsl_dataset->ds_dir->dd_pool; - if (dp && dsl_pool_sync_context(dp)) - start = gethrtime(); + start = gethrtime(); zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL); blkid = dbuf_whichblock(dn, offset); for (i = 0; i < nblks; i++) { Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Sat Feb 23 16:01:03 2013 (r247192) @@ -1323,7 +1323,8 @@ dmu_objset_userquota_get_ids(dnode_t *dn objset_t *os = dn->dn_objset; void *data = NULL; dmu_buf_impl_t *db = NULL; - uint64_t *user, *group; + uint64_t *user = NULL; + uint64_t *group = NULL; int flags = dn->dn_id_flags; int error; boolean_t have_spill = B_FALSE; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Sat Feb 23 16:01:03 2013 (r247192) @@ -382,7 +382,7 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint ds = dmu_buf_get_user(dbuf); if (ds == NULL) { - dsl_dataset_t *winner; + dsl_dataset_t *winner = NULL; ds = kmem_zalloc(sizeof (dsl_dataset_t), KM_SLEEP); ds->ds_dbuf = dbuf; @@ -467,11 +467,8 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint ds->ds_reserved = ds->ds_quota = 0; } - if (err == 0) { - winner = dmu_buf_set_user_ie(dbuf, ds, &ds->ds_phys, - dsl_dataset_evict); - } - if (err || winner) { + if (err != 0 || (winner = dmu_buf_set_user_ie(dbuf, ds, + &ds->ds_phys, dsl_dataset_evict)) != NULL) { bplist_destroy(&ds->ds_pending_deadlist); dsl_deadlist_close(&ds->ds_deadlist); if (ds->ds_prev) Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Sat Feb 23 16:01:03 2013 (r247192) @@ -1658,7 +1658,8 @@ dsl_scan_scrub_cb(dsl_pool_t *dp, zio_priority = ZIO_PRIORITY_SCRUB; needs_io = B_TRUE; scan_delay = zfs_scrub_delay; - } else if (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) { + } else { + ASSERT3U(scn->scn_phys.scn_func, ==, POOL_SCAN_RESILVER); zio_flags |= ZIO_FLAG_RESILVER; zio_priority = ZIO_PRIORITY_RESILVER; needs_io = B_FALSE; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c Sat Feb 23 16:01:03 2013 (r247192) @@ -38,6 +38,7 @@ #include #include +#include #define MATCH_BITS 6 #define MATCH_MIN 3 @@ -51,7 +52,8 @@ lzjb_compress(void *s_start, void *d_sta { uchar_t *src = s_start; uchar_t *dst = d_start; - uchar_t *cpy, *copymap; + uchar_t *cpy; + uchar_t *copymap = NULL; int copymask = 1 << (NBBY - 1); int mlen, offset, hash; uint16_t *hp; @@ -100,7 +102,8 @@ lzjb_decompress(void *s_start, void *d_s uchar_t *src = s_start; uchar_t *dst = d_start; uchar_t *d_end = (uchar_t *)d_start + d_len; - uchar_t *cpy, copymap; + uchar_t *cpy; + uchar_t copymap = 0; int copymask = 1 << (NBBY - 1); while (dst < d_end) { Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c Sat Feb 23 16:01:03 2013 (r247192) @@ -110,7 +110,7 @@ refcount_count(refcount_t *rc) int64_t refcount_add_many(refcount_t *rc, uint64_t number, void *holder) { - reference_t *ref; + reference_t *ref = NULL; int64_t count; if (reference_tracking_enable) { Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Sat Feb 23 16:01:03 2013 (r247192) @@ -660,7 +660,8 @@ sa_build_layouts(sa_handle_t *hdl, sa_bu int buf_space; sa_attr_type_t *attrs, *attrs_start; int i, lot_count; - int hdrsize, spillhdrsize; + int hdrsize; + int spillhdrsize = 0; int used; dmu_object_type_t bonustype; sa_lot_t *lot; @@ -837,7 +838,7 @@ sa_attr_table_setup(objset_t *os, sa_att { sa_os_t *sa = os->os_sa; uint64_t sa_attr_count = 0; - uint64_t sa_reg_count; + uint64_t sa_reg_count = 0; int error = 0; uint64_t attr_value; sa_attr_table_t *tb; @@ -1645,7 +1646,8 @@ sa_modify_attrs(sa_handle_t *hdl, sa_att sa_bulk_attr_t *attr_desc; void *old_data[2]; int bonus_attr_count = 0; - int bonus_data_size, spill_data_size; + int bonus_data_size = 0; + int spill_data_size = 0; int spill_attr_count = 0; int error; uint16_t length; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Sat Feb 23 16:01:03 2013 (r247192) @@ -383,7 +383,7 @@ spa_prop_validate(spa_t *spa, nvlist_t * { nvpair_t *elem; int error = 0, reset_bootfs = 0; - uint64_t objnum; + uint64_t objnum = 0; boolean_t has_feature = B_FALSE; elem = NULL; @@ -1389,6 +1389,7 @@ spa_load_l2cache(spa_t *spa) newvdevs = kmem_alloc(nl2cache * sizeof (void *), KM_SLEEP); } else { nl2cache = 0; + newvdevs = NULL; } oldvdevs = sav->sav_vdevs; @@ -4702,7 +4703,7 @@ spa_vdev_detach(spa_t *spa, uint64_t gui vdev_t *rvd = spa->spa_root_vdev; vdev_t *vd, *pvd, *cvd, *tvd; boolean_t unspare = B_FALSE; - uint64_t unspare_guid; + uint64_t unspare_guid = 0; char *vdpath; ASSERT(spa_writeable(spa)); Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Sat Feb 23 16:01:03 2013 (r247192) @@ -1198,7 +1198,8 @@ vdev_raidz_matrix_reconstruct(raidz_map_ uint64_t ccount; uint8_t *dst[VDEV_RAIDZ_MAXPARITY]; uint64_t dcount[VDEV_RAIDZ_MAXPARITY]; - uint8_t log, val; + uint8_t log = 0; + uint8_t val; int ll; uint8_t *invlog[VDEV_RAIDZ_MAXPARITY]; uint8_t *p, *pp; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c Sat Feb 23 16:01:03 2013 (r247192) @@ -220,7 +220,7 @@ zap_leaf_array_create(zap_leaf_t *l, con uint16_t chunk_head; uint16_t *chunkp = &chunk_head; int byten = 0; - uint64_t value; + uint64_t value = 0; int shift = (integer_size-1)*8; int len = num_integers; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c Sat Feb 23 16:01:03 2013 (r247192) @@ -51,7 +51,7 @@ zfs_ace_byteswap(void *buf, size_t size, { caddr_t end; caddr_t ptr; - zfs_ace_t *zacep; + zfs_ace_t *zacep = NULL; ace_t *acep; uint16_t entry_type; size_t entry_size; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c Sat Feb 23 16:01:03 2013 (r247192) @@ -560,9 +560,9 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 uint32_t fuid_idx = FUID_INDEX(id); uint32_t rid; idmap_stat status; - uint64_t idx; + uint64_t idx = 0; zfs_fuid_t *zfuid = NULL; - zfs_fuid_info_t *fuidp; + zfs_fuid_info_t *fuidp = NULL; /* * If POSIX ID, or entry is already a FUID then @@ -587,6 +587,9 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 if (fuidp == NULL) return (UID_NOBODY); + VERIFY3U(type, >=, ZFS_OWNER); + VERIFY3U(type, <=, ZFS_ACE_GROUP); + switch (type) { case ZFS_ACE_USER: case ZFS_ACE_GROUP: @@ -603,7 +606,7 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 idx = FUID_INDEX(fuidp->z_fuid_group); break; }; - domain = fuidp->z_domain_table[idx -1]; + domain = fuidp->z_domain_table[idx - 1]; } else { if (type == ZFS_OWNER || type == ZFS_ACE_USER) status = kidmap_getsidbyuid(crgetzone(cr), id, Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Sat Feb 23 16:01:03 2013 (r247192) @@ -243,7 +243,7 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t itx_t *itx; lr_create_t *lr; lr_acl_create_t *lracl; - size_t aclsize; + size_t aclsize = (vsecp != NULL) ? vsecp->vsa_aclentsz : 0; size_t xvatsize = 0; size_t txsize; xvattr_t *xvap = (xvattr_t *)vap; @@ -273,7 +273,6 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t txsize = sizeof (*lr) + namesize + fuidsz + xvatsize; lrsize = sizeof (*lr); } else { - aclsize = (vsecp) ? vsecp->vsa_aclentsz : 0; txsize = sizeof (lr_acl_create_t) + namesize + fuidsz + ZIL_ACE_LENGTH(aclsize) + xvatsize; Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c Sat Feb 23 16:01:03 2013 (r247192) @@ -463,7 +463,7 @@ static void zfs_range_unlock_reader(znode_t *zp, rl_t *remove) { avl_tree_t *tree = &zp->z_range_avl; - rl_t *rl, *next; + rl_t *rl, *next = NULL; uint64_t len; /* Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sat Feb 23 16:01:03 2013 (r247192) @@ -389,11 +389,18 @@ zfs_register_callbacks(vfs_t *vfsp) objset_t *os = NULL; zfsvfs_t *zfsvfs = NULL; uint64_t nbmand; - int readonly, do_readonly = B_FALSE; - int setuid, do_setuid = B_FALSE; - int exec, do_exec = B_FALSE; - int xattr, do_xattr = B_FALSE; - int atime, do_atime = B_FALSE; + boolean_t readonly = B_FALSE; + boolean_t do_readonly = B_FALSE; + boolean_t setuid = B_FALSE; + boolean_t do_setuid = B_FALSE; + boolean_t exec = B_FALSE; + boolean_t do_exec = B_FALSE; + boolean_t devices = B_FALSE; + boolean_t do_devices = B_FALSE; + boolean_t xattr = B_FALSE; + boolean_t do_xattr = B_FALSE; + boolean_t atime = B_FALSE; + boolean_t do_atime = B_FALSE; int error = 0; ASSERT(vfsp); Modified: user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sat Feb 23 16:01:03 2013 (r247192) @@ -645,7 +645,7 @@ zfs_read(vnode_t *vp, uio_t *uio, int io zfsvfs_t *zfsvfs = zp->z_zfsvfs; objset_t *os; ssize_t n, nbytes; - int error; + int error = 0; rl_t *rl; xuio_t *xuio = NULL; @@ -805,9 +805,9 @@ zfs_write(vnode_t *vp, uio_t *uio, int i ssize_t n, nbytes; rl_t *rl; int max_blksz = zfsvfs->z_max_blksz; - int error; + int error = 0; arc_buf_t *abuf; - iovec_t *aiov; + iovec_t *aiov = NULL; xuio_t *xuio = NULL; int i_iov = 0; int iovcnt = uio->uio_iovcnt; @@ -2477,6 +2477,7 @@ zfs_readdir(vnode_t *vp, uio_t *uio, cre odp = (struct dirent64 *)outbuf; } else { bufsize = bytes_wanted; + outbuf = NULL; odp = (struct dirent64 *)iovp->iov_base; } eodp = (struct edirent *)odp; @@ -2960,7 +2961,7 @@ zfs_setattr(vnode_t *vp, vattr_t *vap, i vattr_t oldva; xvattr_t tmpxvattr; uint_t mask = vap->va_mask; - uint_t saved_mask; + uint_t saved_mask = 0; uint64_t saved_mode; int trim_mask = 0; uint64_t new_mode; Modified: user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.c Sat Feb 23 16:01:03 2013 (r247192) @@ -1532,6 +1532,7 @@ ata_cam_begin_transaction(device_t dev, request->timeout = (ccb->ccb_h.timeout + 999) / 1000; callout_init_mtx(&request->callout, &ch->state_mtx, CALLOUT_RETURNUNLOCKED); request->ccb = ccb; + request->flags |= ATA_R_DATA_IN_CCB; ch->running = request; ch->state = ATA_ACTIVE; Modified: user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.h Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/ata/ata-all.h Sat Feb 23 16:01:03 2013 (r247192) @@ -398,6 +398,7 @@ struct ata_request { #define ATA_R_THREAD 0x00000800 #define ATA_R_DIRECT 0x00001000 #define ATA_R_NEEDRESULT 0x00002000 +#define ATA_R_DATA_IN_CCB 0x00004000 #define ATA_R_ATAPI16 0x00010000 #define ATA_R_ATAPI_INTR 0x00020000 Modified: user/attilio/vmobj-rwlock/sys/dev/ata/ata-dma.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ata/ata-dma.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/ata/ata-dma.c Sat Feb 23 16:01:03 2013 (r247192) @@ -305,7 +305,7 @@ ata_dmaload(struct ata_request *request, dspa.dmatab = request->dma->sg; #ifdef ATA_CAM - if (request->ccb) + if (request->flags & ATA_R_DATA_IN_CCB) error = bus_dmamap_load_ccb(request->dma->data_tag, request->dma->data_map, request->ccb, ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); Modified: user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Feb 23 16:01:03 2013 (r247192) @@ -669,6 +669,26 @@ ar5416GetGlobalTxTimeout(struct ath_hal return MS(OS_REG_READ(ah, AR_GTXTO), AR_GTXTO_TIMEOUT_LIMIT); } +#define HT_RC_2_MCS(_rc) ((_rc) & 0x0f) +static const u_int8_t baDurationDelta[] = { + 24, // 0: BPSK + 12, // 1: QPSK 1/2 + 12, // 2: QPSK 3/4 + 4, // 3: 16-QAM 1/2 + 4, // 4: 16-QAM 3/4 + 4, // 5: 64-QAM 2/3 + 4, // 6: 64-QAM 3/4 + 4, // 7: 64-QAM 5/6 + 24, // 8: BPSK + 12, // 9: QPSK 1/2 + 12, // 10: QPSK 3/4 + 4, // 11: 16-QAM 1/2 + 4, // 12: 16-QAM 3/4 + 4, // 13: 64-QAM 2/3 + 4, // 14: 64-QAM 3/4 + 4, // 15: 64-QAM 5/6 +}; + void ar5416Set11nRateScenario(struct ath_hal *ah, struct ath_desc *ds, u_int durUpdateEn, u_int rtsctsRate, @@ -740,17 +760,44 @@ ar5416Set11nRateScenario(struct ath_hal | SM(rtsctsRate, AR_RTSCTSRate); } +/* + * Note: this should be called before calling ar5416SetBurstDuration() + * (if it is indeed called) in order to ensure that the burst duration + * is correctly updated with the BA delta workaround. + */ void ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds, u_int aggrLen, u_int numDelims) { struct ar5416_desc *ads = AR5416DESC(ds); + uint32_t flags; + uint32_t burstDur; + uint8_t rate; ads->ds_ctl1 |= (AR_IsAggr | AR_MoreAggr); ads->ds_ctl6 &= ~(AR_AggrLen | AR_PadDelim); ads->ds_ctl6 |= SM(aggrLen, AR_AggrLen); ads->ds_ctl6 |= SM(numDelims, AR_PadDelim); + + if (! AR_SREV_MERLIN_10_OR_LATER(ah)) { + /* + * XXX It'd be nice if I were passed in the rate scenario + * at this point.. + */ + rate = MS(ads->ds_ctl3, AR_XmitRate0); + flags = ads->ds_ctl0 & (AR_CTSEnable | AR_RTSEnable); + /* + * WAR - MAC assumes normal ACK time instead of + * block ACK while computing packet duration. + * Add this delta to the burst duration in the descriptor. + */ + if (flags && (ads->ds_ctl1 & AR_IsAggr)) { + burstDur = baDurationDelta[HT_RC_2_MCS(rate)]; + ads->ds_ctl2 &= ~(AR_BurstDur); + ads->ds_ctl2 |= SM(burstDur, AR_BurstDur); + } + } } void @@ -792,14 +839,36 @@ ar5416Clr11nAggr(struct ath_hal *ah, str ads->ds_ctl6 &= ~AR_AggrLen; } +/* + * Program the burst duration, with the included BA delta if it's + * applicable. + */ void ar5416Set11nBurstDuration(struct ath_hal *ah, struct ath_desc *ds, u_int burstDuration) { struct ar5416_desc *ads = AR5416DESC(ds); + uint32_t burstDur = 0; + uint8_t rate; + + if (! AR_SREV_MERLIN_10_OR_LATER(ah)) { + /* + * XXX It'd be nice if I were passed in the rate scenario + * at this point.. + */ + rate = MS(ads->ds_ctl3, AR_XmitDataTries0); + /* + * WAR - MAC assumes normal ACK time instead of + * block ACK while computing packet duration. + * Add this delta to the burst duration in the descriptor. + */ + if (ads->ds_ctl1 & AR_IsAggr) { + burstDur = baDurationDelta[HT_RC_2_MCS(rate)]; + } + } ads->ds_ctl2 &= ~AR_BurstDur; - ads->ds_ctl2 |= SM(burstDuration, AR_BurstDur); + ads->ds_ctl2 |= SM(burstDur + burstDuration, AR_BurstDur); } /* Modified: user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge.c Sat Feb 23 16:01:03 2013 (r247192) @@ -1,6 +1,6 @@ /****************************************************************************** -Copyright (c) 2006-2009, Myricom Inc. +Copyright (c) 2006-2013, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -291,11 +291,12 @@ mxge_parse_strings(mxge_softc_t *sc) #define MXGE_NEXT_STRING(p) while(ptr < limit && *ptr++) char *ptr, *limit; - int i, found_mac; + int i, found_mac, found_sn2; ptr = sc->eeprom_strings; limit = sc->eeprom_strings + MXGE_EEPROM_STRINGS_SIZE; found_mac = 0; + found_sn2 = 0; while (ptr < limit && *ptr != '\0') { if (memcmp(ptr, "MAC=", 4) == 0) { ptr += 1; @@ -311,10 +312,16 @@ mxge_parse_strings(mxge_softc_t *sc) ptr += 3; strncpy(sc->product_code_string, ptr, sizeof (sc->product_code_string) - 1); - } else if (memcmp(ptr, "SN=", 3) == 0) { + } else if (!found_sn2 && (memcmp(ptr, "SN=", 3) == 0)) { ptr += 3; strncpy(sc->serial_number_string, ptr, sizeof (sc->serial_number_string) - 1); + } else if (memcmp(ptr, "SN2=", 4) == 0) { + /* SN2 takes precedence over SN */ + ptr += 4; + found_sn2 = 1; + strncpy(sc->serial_number_string, ptr, + sizeof (sc->serial_number_string) - 1); } MXGE_NEXT_STRING(ptr); } @@ -581,9 +588,10 @@ mxge_firmware_probe(mxge_softc_t *sc) /* * Run a DMA test which watches for unaligned completions and - * aborts on the first one seen. + * aborts on the first one seen. Not required on Z8ES or newer. */ - + if (pci_get_revid(sc->dev) >= MXGE_PCI_REV_Z8ES) + return 0; status = mxge_dma_test(sc, MXGEFW_CMD_UNALIGNED_TEST); if (status == 0) return 0; /* keep the aligned firmware */ @@ -1887,11 +1895,13 @@ mxge_encap_tso(struct mxge_slice_state * IPPROTO_TCP, 0); #endif } else { +#ifdef INET m->m_pkthdr.csum_flags |= CSUM_TCP; sum = in_pseudo(pi->ip->ip_src.s_addr, pi->ip->ip_dst.s_addr, htons(IPPROTO_TCP + (m->m_pkthdr.len - cksum_offset))); +#endif } m_copyback(m, offsetof(struct tcphdr, th_sum) + cksum_offset, sizeof(sum), (caddr_t)&sum); @@ -2538,8 +2548,6 @@ mxge_rx_csum6(void *p, struct mbuf *m, u csum = (csum >> 16) + (csum & 0xFFFF); c = in6_cksum_pseudo(ip6, m->m_pkthdr.len - cksum_offset, nxt, csum); - -// printf("%d %d %x %x %x %x %x\n", m->m_pkthdr.len, cksum_offset, c, csum, ocsum, partial, d); c ^= 0xffff; return (c); } @@ -2560,7 +2568,9 @@ mxge_rx_csum(struct mbuf *m, int csum) #ifdef INET struct ip *ip; #endif +#if defined(INET) || defined(INET6) int cap = m->m_pkthdr.rcvif->if_capenable; +#endif uint16_t c, etype; Modified: user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/dev/mxge/if_mxge_var.h Sat Feb 23 16:01:03 2013 (r247192) @@ -1,6 +1,6 @@ /******************************************************************************* -Copyright (c) 2006-2009, Myricom Inc. +Copyright (c) 2006-2013, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without Modified: user/attilio/vmobj-rwlock/sys/powerpc/include/vmparam.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/include/vmparam.h Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/sys/powerpc/include/vmparam.h Sat Feb 23 16:01:03 2013 (r247192) @@ -121,11 +121,6 @@ #endif /* AIM/E500 */ -/* XXX max. amount of KVM to be used by buffers. */ -#ifndef VM_MAX_KERNEL_BUF -#define VM_MAX_KERNEL_BUF (SEGMENT_LENGTH * 7 / 10) -#endif - #if !defined(LOCORE) struct pmap_physseg { struct pv_entry *pvent; Copied: user/attilio/vmobj-rwlock/tools/regression/bin/sh/builtins/read6.0 (from r247191, head/tools/regression/bin/sh/builtins/read6.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmobj-rwlock/tools/regression/bin/sh/builtins/read6.0 Sat Feb 23 16:01:03 2013 (r247192, copy of r247191, head/tools/regression/bin/sh/builtins/read6.0) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +: | read x +r=$? +[ "$r" = 1 ] Modified: user/attilio/vmobj-rwlock/usr.sbin/bhyve/mem.c ============================================================================== --- user/attilio/vmobj-rwlock/usr.sbin/bhyve/mem.c Sat Feb 23 15:50:28 2013 (r247191) +++ user/attilio/vmobj-rwlock/usr.sbin/bhyve/mem.c Sat Feb 23 16:01:03 2013 (r247192) @@ -62,7 +62,7 @@ struct mmio_rb_range { struct mmio_rb_tree; RB_PROTOTYPE(mmio_rb_tree, mmio_rb_range, mr_link, mmio_rb_range_compare); -RB_HEAD(mmio_rb_tree, mmio_rb_range) mmio_rbroot; +RB_HEAD(mmio_rb_tree, mmio_rb_range) mmio_rb_root, mmio_rb_fallback; /* * Per-vCPU cache. Since most accesses from a vCPU will be to @@ -82,13 +82,14 @@ mmio_rb_range_compare(struct mmio_rb_ran } static int -mmio_rb_lookup(uint64_t addr, struct mmio_rb_range **entry) +mmio_rb_lookup(struct mmio_rb_tree *rbt, uint64_t addr, + struct mmio_rb_range **entry) { struct mmio_rb_range find, *res; find.mr_base = find.mr_end = addr; - res = RB_FIND(mmio_rb_tree, &mmio_rbroot, &find); + res = RB_FIND(mmio_rb_tree, rbt, &find); if (res != NULL) { *entry = res; @@ -99,11 +100,11 @@ mmio_rb_lookup(uint64_t addr, struct mmi } static int -mmio_rb_add(struct mmio_rb_range *new) +mmio_rb_add(struct mmio_rb_tree *rbt, struct mmio_rb_range *new) { struct mmio_rb_range *overlap; - overlap = RB_INSERT(mmio_rb_tree, &mmio_rbroot, new); + overlap = RB_INSERT(mmio_rb_tree, rbt, new); if (overlap != NULL) { #ifdef RB_DEBUG @@ -120,11 +121,11 @@ mmio_rb_add(struct mmio_rb_range *new) #if 0 static void -mmio_rb_dump(void) +mmio_rb_dump(struct mmio_rb_tree *rbt) { struct mmio_rb_range *np; - RB_FOREACH(np, mmio_rb_tree, &mmio_rbroot) { + RB_FOREACH(np, mmio_rb_tree, rbt) { printf(" %lx:%lx, %s\n", np->mr_base, np->mr_end, np->mr_param.name); } @@ -172,22 +173,22 @@ emulate_mem(struct vmctx *ctx, int vcpu, entry = NULL; if (entry == NULL) { - if (mmio_rb_lookup(paddr, &entry)) + if (!mmio_rb_lookup(&mmio_rb_root, paddr, &entry)) { + /* Update the per-vCPU cache */ + mmio_hint[vcpu] = entry; + } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, &entry)) { return (ESRCH); - - /* Update the per-vCPU cache */ - mmio_hint[vcpu] = entry; + } } - assert(entry != NULL && entry == mmio_hint[vcpu]); - + assert(entry != NULL); err = vmm_emulate_instruction(ctx, vcpu, paddr, vie, mem_read, mem_write, &entry->mr_param); return (err); } -int -register_mem(struct mem_range *memp) +static int +register_mem_int(struct mmio_rb_tree *rbt, struct mem_range *memp) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 16:05:43 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D87ADC05; Sat, 23 Feb 2013 16:05:43 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C92C92F9; Sat, 23 Feb 2013 16:05:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NG5hLj060445; Sat, 23 Feb 2013 16:05:43 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NG5hbJ060444; Sat, 23 Feb 2013 16:05:43 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302231605.r1NG5hbJ060444@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 16:05:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247193 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 16:05:43 -0000 Author: dchagin Date: Sat Feb 23 16:05:43 2013 New Revision: 247193 URL: http://svnweb.freebsd.org/changeset/base/247193 Log: There is no need for thread storm, wake up the one thread. Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.c Modified: user/dchagin/lemul/sys/compat/linux/linux_emul.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_emul.c Sat Feb 23 16:01:03 2013 (r247192) +++ user/dchagin/lemul/sys/compat/linux/linux_emul.c Sat Feb 23 16:05:43 2013 (r247193) @@ -242,7 +242,7 @@ linux_thread_detach(struct thread *td) cup.uaddr = child_clear_tid; cup.op = LINUX_FUTEX_WAKE; - cup.val = 0x7fffffff; /* Awake everyone */ + cup.val = 1; /* wake one */ cup.timeout = NULL; cup.uaddr2 = NULL; cup.val3 = 0; From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 16:14:08 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 98C30F41; Sat, 23 Feb 2013 16:14:08 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7CA99389; Sat, 23 Feb 2013 16:14:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NGE88H063551; Sat, 23 Feb 2013 16:14:08 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NGE89Y063549; Sat, 23 Feb 2013 16:14:08 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302231614.r1NGE89Y063549@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 16:14:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247194 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 16:14:08 -0000 Author: dchagin Date: Sat Feb 23 16:14:07 2013 New Revision: 247194 URL: http://svnweb.freebsd.org/changeset/base/247194 Log: Some style(9) && whitespaces fixes. No functional changes. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Feb 23 16:05:43 2013 (r247193) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Sat Feb 23 16:14:07 2013 (r247194) @@ -293,7 +293,7 @@ elf_linux_fixup(register_t **stack_base, base--; suword32(base, (uint32_t)imgp->args->argc); *stack_base = (register_t *)base; - return 0; + return (0); } extern unsigned long linux_sznonrtsigcode; @@ -1188,9 +1188,9 @@ linux_elf_modevent(module_t mod, int typ printf("Could not deinstall ELF interpreter entry\n"); break; default: - return EOPNOTSUPP; + return (EOPNOTSUPP); } - return error; + return (error); } static moduledata_t linux_elf_mod = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysvec.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Sat Feb 23 16:05:43 2013 (r247193) +++ user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Sat Feb 23 16:14:07 2013 (r247194) @@ -208,15 +208,15 @@ static int translate_traps(int signal, int trap_code) { if (signal != SIGBUS) - return signal; + return (signal); switch (trap_code) { case T_PROTFLT: case T_TSSFLT: case T_DOUBLEFLT: case T_PAGEFLT: - return SIGSEGV; + return (SIGSEGV); default: - return signal; + return (signal); } } @@ -695,7 +695,7 @@ linux_sigreturn(struct thread *td, struc * allowing it is fairly harmless. */ if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) - return(EINVAL); + return (EINVAL); /* * Don't allow users to load a valid privileged %cs. Let the @@ -710,7 +710,7 @@ linux_sigreturn(struct thread *td, struc ksi.ksi_trapno = T_PROTFLT; ksi.ksi_addr = (void *)regs->tf_eip; trapsignal(td, &ksi); - return(EINVAL); + return (EINVAL); } lmask.__bits[0] = frame.sf_sc.sc_mask; @@ -796,7 +796,7 @@ linux_rt_sigreturn(struct thread *td, st * allowing it is fairly harmless. */ if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) - return(EINVAL); + return (EINVAL); /* * Don't allow users to load a valid privileged %cs. Let the @@ -811,7 +811,7 @@ linux_rt_sigreturn(struct thread *td, st ksi.ksi_trapno = T_PROTFLT; ksi.ksi_addr = (void *)regs->tf_eip; trapsignal(td, &ksi); - return(EINVAL); + return (EINVAL); } linux_to_bsd_sigset(&uc.uc_sigmask, &bmask); @@ -1162,9 +1162,9 @@ linux_elf_modevent(module_t mod, int typ printf("Could not deinstall ELF interpreter entry\n"); break; default: - return EOPNOTSUPP; + return (EOPNOTSUPP); } - return error; + return (error); } static moduledata_t linux_elf_mod = { From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 18:59:15 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B8052AE0; Sat, 23 Feb 2013 18:59:15 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 92683D76; Sat, 23 Feb 2013 18:59:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NIxF8D012553; Sat, 23 Feb 2013 18:59:15 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NIxF21012551; Sat, 23 Feb 2013 18:59:15 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302231859.r1NIxF21012551@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 18:59:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247196 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 18:59:15 -0000 Author: dchagin Date: Sat Feb 23 18:59:14 2013 New Revision: 247196 URL: http://svnweb.freebsd.org/changeset/base/247196 Log: Introduce LINUX_VERSION_STR, LINUX_VERSION_CODE macro for use instead of harcoded pr_osrelease, pr_osrel values. This will be used later in the VDSO. Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.c user/dchagin/lemul/sys/compat/linux/linux_mib.h Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_mib.c Sat Feb 23 18:32:42 2013 (r247195) +++ user/dchagin/lemul/sys/compat/linux/linux_mib.c Sat Feb 23 18:59:14 2013 (r247196) @@ -130,9 +130,9 @@ struct linux_prison { static struct linux_prison lprison0 = { .pr_osname = "Linux", - .pr_osrelease = "2.6.16", + .pr_osrelease = LINUX_VERSION_STR, .pr_oss_version = 0x030600, - .pr_osrel = 2006016 + .pr_osrel = LINUX_VERSION_CODE }; static unsigned linux_osd_jail_slot; Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_mib.h Sat Feb 23 18:32:42 2013 (r247195) +++ user/dchagin/lemul/sys/compat/linux/linux_mib.h Sat Feb 23 18:59:14 2013 (r247196) @@ -42,8 +42,19 @@ int linux_get_oss_version(struct thread int linux_kernver(struct thread *td); -#define LINUX_KERNVER_2004000 2004000 -#define LINUX_KERNVER_2006000 2006000 +#define LINUX_KVERSION 2 +#define LINUX_KPATCHLEVEL 6 +#define LINUX_KSUBLEVEL 16 + +#define LINUX_KERNVER(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#define LINUX_VERSION_CODE LINUX_KERNVER(LINUX_KVERSION, \ + LINUX_KPATCHLEVEL, LINUX_KSUBLEVEL) +#define LINUX_KERNVERSTR(x) #x +#define LINUX_XKERNVERSTR(x) LINUX_KERNVERSTR(x) +#define LINUX_VERSION_STR LINUX_XKERNVERSTR(LINUX_KVERSION.LINUX_KPATCHLEVEL.LINUX_KSUBLEVEL) + +#define LINUX_KERNVER_2004000 LINUX_KERNVER(2,4,0) +#define LINUX_KERNVER_2006000 LINUX_KERNVER(2,6,0) #define linux_use26(t) (linux_kernver(t) >= LINUX_KERNVER_2006000) From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 19:28:32 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A102E4C0; Sat, 23 Feb 2013 19:28:32 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7BA30E92; Sat, 23 Feb 2013 19:28:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NJSWNZ021922; Sat, 23 Feb 2013 19:28:32 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NJSWRO021920; Sat, 23 Feb 2013 19:28:32 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201302231928.r1NJSWRO021920@svn.freebsd.org> From: Alan Cox Date: Sat, 23 Feb 2013 19:28:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247198 - user/attilio/vmc-playground/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 19:28:32 -0000 Author: alc Date: Sat Feb 23 19:28:31 2013 New Revision: 247198 URL: http://svnweb.freebsd.org/changeset/base/247198 Log: Correctly assert that no page already exists at the offset within the object that is currently being allocated. Sponsored by: EMC / Isilon Storage Division Modified: user/attilio/vmc-playground/sys/vm/vm_reserv.c Modified: user/attilio/vmc-playground/sys/vm/vm_reserv.c ============================================================================== --- user/attilio/vmc-playground/sys/vm/vm_reserv.c Sat Feb 23 19:27:53 2013 (r247197) +++ user/attilio/vmc-playground/sys/vm/vm_reserv.c Sat Feb 23 19:28:31 2013 (r247198) @@ -344,7 +344,7 @@ vm_reserv_alloc_contig(vm_object_t objec */ mpred = vm_radix_lookup_le(&object->rtree, pindex); if (mpred != NULL) { - KASSERT(mpred->pindex <= pindex, + KASSERT(mpred->pindex < pindex, ("vm_reserv_alloc_contig: pindex already allocated")); rv = vm_reserv_from_page(mpred); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) @@ -352,7 +352,7 @@ vm_reserv_alloc_contig(vm_object_t objec } msucc = vm_radix_lookup_ge(&object->rtree, pindex); if (msucc != NULL) { - KASSERT(msucc->pindex >= pindex, + KASSERT(msucc->pindex > pindex, ("vm_reserv_alloc_page: pindex already allocated")); rv = vm_reserv_from_page(msucc); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) @@ -498,7 +498,7 @@ vm_reserv_alloc_page(vm_object_t object, */ mpred = vm_radix_lookup_le(&object->rtree, pindex); if (mpred != NULL) { - KASSERT(mpred->pindex <= pindex, + KASSERT(mpred->pindex < pindex, ("vm_reserv_alloc_page: pindex already allocated")); rv = vm_reserv_from_page(mpred); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) @@ -506,7 +506,7 @@ vm_reserv_alloc_page(vm_object_t object, } msucc = vm_radix_lookup_ge(&object->rtree, pindex); if (msucc != NULL) { - KASSERT(msucc->pindex >= pindex, + KASSERT(msucc->pindex > pindex, ("vm_reserv_alloc_page: pindex already allocated")); rv = vm_reserv_from_page(msucc); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 21:50:41 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9E86FF34; Sat, 23 Feb 2013 21:50:41 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8D3FE721; Sat, 23 Feb 2013 21:50:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NLofw2064445; Sat, 23 Feb 2013 21:50:41 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NLofCU064444; Sat, 23 Feb 2013 21:50:41 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201302232150.r1NLofCU064444@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 23 Feb 2013 21:50:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247202 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 21:50:41 -0000 Author: dchagin Date: Sat Feb 23 21:50:40 2013 New Revision: 247202 URL: http://svnweb.freebsd.org/changeset/base/247202 Log: Remove a now unused define of LINUX_THREADING_FLAGS. Return a line break which was wrongly deleted in my previous commit. Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.h Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.h Sat Feb 23 20:34:47 2013 (r247201) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.h Sat Feb 23 21:50:40 2013 (r247202) @@ -88,10 +88,6 @@ extern const char *linux_platform; #define LINUX_CLONE_CHILD_CLEARTID 0x00200000 #define LINUX_CLONE_CHILD_SETTID 0x01000000 -#define LINUX_THREADING_FLAGS \ - (LINUX_CLONE_VM | LINUX_CLONE_FS | LINUX_CLONE_FILES | \ - LINUX_CLONE_SIGHAND | LINUX_CLONE_THREAD) - /* Scheduling policies */ #define LINUX_SCHED_OTHER 0 #define LINUX_SCHED_FIFO 1 @@ -122,4 +118,5 @@ int linux_common_wait(struct thread *td, int linux_set_upcall_kse(struct thread *td, register_t stack); int linux_set_cloned_tls(struct thread *td, void *desc); struct thread *linux_tdfind(struct thread *, lwpid_t, pid_t); + #endif /* _LINUX_MISC_H_ */ From owner-svn-src-user@FreeBSD.ORG Sat Feb 23 22:00:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B4142218; Sat, 23 Feb 2013 22:00:59 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8F2FE76F; Sat, 23 Feb 2013 22:00:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1NM0xY8068907; Sat, 23 Feb 2013 22:00:59 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1NM0xMA068906; Sat, 23 Feb 2013 22:00:59 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201302232200.r1NM0xMA068906@svn.freebsd.org> From: Adrian Chadd Date: Sat, 23 Feb 2013 22:00:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247203 - user/adrian/net80211_tx X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 22:00:59 -0000 Author: adrian Date: Sat Feb 23 22:00:59 2013 New Revision: 247203 URL: http://svnweb.freebsd.org/changeset/base/247203 Log: create a branch to start playing with net80211 TX serialisation. Added: - copied from r247202, head/ Directory Properties: user/adrian/net80211_tx/ (props changed)