From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 11:12:22 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 38E151065672; Tue, 3 Jul 2012 11:12:22 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 273288FC0A; Tue, 3 Jul 2012 11:12:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q63BCMjd040491; Tue, 3 Jul 2012 11:12:22 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q63BCL0P040489; Tue, 3 Jul 2012 11:12:21 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207031112.q63BCL0P040489@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 3 Jul 2012 11:12:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238067 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 11:12:22 -0000 Author: ae Date: Tue Jul 3 11:12:21 2012 New Revision: 238067 URL: http://svn.freebsd.org/changeset/base/238067 Log: Make partition type labels equal width. Modified: user/ae/bootcode/sys/boot/common/part.c Modified: user/ae/bootcode/sys/boot/common/part.c ============================================================================== --- user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 09:11:47 2012 (r238066) +++ user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 11:12:21 2012 (r238067) @@ -88,17 +88,17 @@ static struct parttypes { enum partition_type type; const char *desc; } ptypes[] = { - { PART_UNKNOWN, "Unknown" }, - { PART_EFI, "EFI" }, - { PART_FREEBSD, "FreeBSD" }, - { PART_FREEBSD_BOOT, "FreeBSD boot" }, - { PART_FREEBSD_UFS, "FreeBSD UFS" }, - { PART_FREEBSD_ZFS, "FreeBSD ZFS" }, - { PART_FREEBSD_SWAP, "FreeBSD swap" }, + { PART_UNKNOWN, "Unknown " }, + { PART_EFI, "EFI " }, + { PART_FREEBSD, "FreeBSD " }, + { PART_FREEBSD_BOOT, "FreeBSD boot " }, + { PART_FREEBSD_UFS, "FreeBSD UFS " }, + { PART_FREEBSD_ZFS, "FreeBSD ZFS " }, + { PART_FREEBSD_SWAP, "FreeBSD swap " }, { PART_FREEBSD_VINUM, "FreeBSD vinum" }, - { PART_LINUX, "Linux" }, - { PART_LINUX_SWAP, "Linux swap" }, - { PART_DOS, "DOS/Windows" }, + { PART_LINUX, "Linux " }, + { PART_LINUX_SWAP, "Linux swap " }, + { PART_DOS, "DOS/Windows " }, }; const char * From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 11:30:46 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 896D21065673; Tue, 3 Jul 2012 11:30:46 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 76F8D8FC1A; Tue, 3 Jul 2012 11:30:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q63BUkxK041267; Tue, 3 Jul 2012 11:30:46 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q63BUkpd041265; Tue, 3 Jul 2012 11:30:46 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207031130.q63BUkpd041265@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 3 Jul 2012 11:30:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238068 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 11:30:46 -0000 Author: ae Date: Tue Jul 3 11:30:45 2012 New Revision: 238068 URL: http://svn.freebsd.org/changeset/base/238068 Log: Add checks for malloc failures. Modified: user/ae/bootcode/sys/boot/common/part.c Modified: user/ae/bootcode/sys/boot/common/part.c ============================================================================== --- user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 11:12:21 2012 (r238067) +++ user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 11:30:45 2012 (r238068) @@ -233,7 +233,13 @@ ptable_gptread(struct ptable *table, voi size_t size; buf = malloc(table->sectorsize); + if (buf == NULL) + return (NULL); tbl = malloc(table->sectorsize * MAXTBLSZ); + if {tbl == NULL} { + free(buf); + return (NULL); + } /* Read the primary GPT header. */ if (dread(dev, buf, 1, 1) != 0) { ptable_close(table); @@ -301,6 +307,8 @@ ptable_gptread(struct ptable *table, voi if (uuid_equal(&ent->ent_type, &gpt_uuid_unused, NULL)) continue; entry = malloc(sizeof(*entry)); + if (entry == NULL) + break; entry->part.start = ent->ent_lba_start; entry->part.end = ent->ent_lba_end; entry->part.index = i + 1; @@ -362,6 +370,8 @@ ptable_ebrread(struct ptable *table, voi index = 5; offset = e1->part.start; buf = malloc(table->sectorsize); + if (buf == NULL) + return (table); for (i = 0; i < MAXEBRENTRIES; i++) { if (offset > table->sectors) break; @@ -378,6 +388,8 @@ ptable_ebrread(struct ptable *table, voi } end = le32toh(dp[0].dp_size); entry = malloc(sizeof(*entry)); + if (entry == NULL) + break; entry->part.start = e1->part.start + start; entry->part.end = entry->part.start + end - 1; entry->part.index = index++; @@ -427,6 +439,8 @@ ptable_bsdread(struct ptable *table, voi return (table); } buf = malloc(table->sectorsize); + if (buf == NULL) + return (table); if (dread(dev, buf, 1, 1) != 0) { DEBUG("read failed"); ptable_close(table); @@ -454,6 +468,8 @@ ptable_bsdread(struct ptable *table, voi if (part->p_size == 0 || part->p_fstype == 0) continue; entry = malloc(sizeof(*entry)); + if (entry == NULL) + break; entry->part.start = le32toh(part->p_offset) - raw_offset; entry->part.end = entry->part.start + le32toh(part->p_size) + 1; @@ -499,6 +515,8 @@ ptable_vtoc8read(struct ptable *table, v if (table->sectorsize != sizeof(struct vtoc8)) return (table); buf = malloc(table->sectorsize); + if (buf == NULL) + return (table); if (dread(dev, buf, 1, 0) != 0) { DEBUG("read failed"); ptable_close(table); @@ -529,6 +547,8 @@ ptable_vtoc8read(struct ptable *table, v dl->part[i].tag == VTOC_TAG_UNASSIGNED) continue; entry = malloc(sizeof(*entry)); + if (entry == NULL) + break; entry->part.start = be32toh(dl->map[i].cyl) * heads * sectors; entry->part.end = be32toh(dl->map[i].nblks) + entry->part.start - 1; @@ -561,6 +581,8 @@ ptable_open(void *dev, off_t sectors, ui #endif table = NULL; buf = malloc(sectorsize); + if (buf == NULL) + return (NULL); /* First, read the MBR. */ if (dread(dev, buf, 1, DOSBBSECTOR) != 0) { DEBUG("read failed"); @@ -568,6 +590,8 @@ ptable_open(void *dev, off_t sectors, ui } table = malloc(sizeof(*table)); + if (table == NULL) + goto out; table->sectors = sectors; table->sectorsize = sectorsize; table->type = PTABLE_NONE; @@ -642,6 +666,8 @@ ptable_open(void *dev, off_t sectors, ui dp[i].dp_typ == DOSPTYP_EXTLBA) has_ext = 1; entry = malloc(sizeof(*entry)); + if (entry == NULL) + break; entry->part.start = start; entry->part.end = start + end - 1; entry->part.index = i + 1; From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 11:41:12 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EB25A106566C; Tue, 3 Jul 2012 11:41:12 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9E0D8FC1A; Tue, 3 Jul 2012 11:41:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q63BfCTU041715; Tue, 3 Jul 2012 11:41:12 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q63BfCYS041713; Tue, 3 Jul 2012 11:41:12 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207031141.q63BfCYS041713@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 3 Jul 2012 11:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238069 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 11:41:13 -0000 Author: ae Date: Tue Jul 3 11:41:12 2012 New Revision: 238069 URL: http://svn.freebsd.org/changeset/base/238069 Log: Fix a typo. Modified: user/ae/bootcode/sys/boot/common/part.c Modified: user/ae/bootcode/sys/boot/common/part.c ============================================================================== --- user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 11:30:45 2012 (r238068) +++ user/ae/bootcode/sys/boot/common/part.c Tue Jul 3 11:41:12 2012 (r238069) @@ -236,7 +236,7 @@ ptable_gptread(struct ptable *table, voi if (buf == NULL) return (NULL); tbl = malloc(table->sectorsize * MAXTBLSZ); - if {tbl == NULL} { + if (tbl == NULL) { free(buf); return (NULL); } From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 15:10:56 2012 Return-Path: Delivered-To: svn-src-user@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E13721065672; Tue, 3 Jul 2012 15:10:56 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [70.36.220.4]) by mx1.freebsd.org (Postfix) with ESMTP id A28778FC0A; Tue, 3 Jul 2012 15:10:53 +0000 (UTC) Received: from marcelm-sslvpn-nc.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mail.xcllnt.net (8.14.5/8.14.5) with ESMTP id q63FAjb1015129 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 3 Jul 2012 08:10:52 -0700 (PDT) (envelope-from marcel@xcllnt.net) Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: Marcel Moolenaar In-Reply-To: <201207031112.q63BCL0P040489@svn.freebsd.org> Date: Tue, 3 Jul 2012 08:10:40 -0700 Content-Transfer-Encoding: 7bit Message-Id: <985BAB87-9FCB-4561-8BC3-F212EE52211D@xcllnt.net> References: <201207031112.q63BCL0P040489@svn.freebsd.org> To: "Andrey V. Elsukov" X-Mailer: Apple Mail (2.1278) Cc: src-committers@FreeBSD.org, svn-src-user@FreeBSD.org Subject: Re: svn commit: r238067 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 15:10:57 -0000 On Jul 3, 2012, at 4:12 AM, Andrey V. Elsukov wrote: > Author: ae > Date: Tue Jul 3 11:12:21 2012 > New Revision: 238067 > URL: http://svn.freebsd.org/changeset/base/238067 > > Log: > Make partition type labels equal width. Please don't do this. If we add one later that's longer, we have to extend them all. Why not add some code to deal with whatever this is doing? -- Marcel Moolenaar marcel@xcllnt.net From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 18:54:22 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8F2D01065672; Tue, 3 Jul 2012 18:54:22 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7D5348FC0A; Tue, 3 Jul 2012 18:54:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q63IsMRd064735; Tue, 3 Jul 2012 18:54:22 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q63IsM1F064734; Tue, 3 Jul 2012 18:54:22 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201207031854.q63IsM1F064734@svn.freebsd.org> From: Peter Holm Date: Tue, 3 Jul 2012 18:54:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238082 - user/pho/stress2/misc X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 18:54:22 -0000 Author: pho Date: Tue Jul 3 18:54:21 2012 New Revision: 238082 URL: http://svn.freebsd.org/changeset/base/238082 Log: Added a regression test. Added: user/pho/stress2/misc/f_offset.sh (contents, props changed) Added: user/pho/stress2/misc/f_offset.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/f_offset.sh Tue Jul 3 18:54:21 2012 (r238082) @@ -0,0 +1,160 @@ +#!/bin/sh + +# +# Copyright (c) 2012 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Problem seen with atomic assingment of f_offset. Fixed in r238029. + +# Test scenario by kib@ + +here=`pwd` +cd /tmp +sed '1,/^EOF/d' < $here/$0 > f_offset.c +cc -o f_offset -Wall -Wextra -O2 f_offset.c -lpthread +rm -f f_offset.c + +/tmp/f_offset + +rm -f /tmp/f_offset +exit 0 +EOF +/* + Description by kib: +To really exercise the race conditions, all the following items must +be fulfilled simultaneously: +1. you use 32bit host, i.e. i386 +2. you operate on the file offsets larger than 4GB (but see below) +3. there are several threads or processes that operate on the same + file descriptor simultaneously. + +Please note that the normal fork(2) causes file descriptor table +copy, so only rfork(2) call with RFFDG flag unset causes sharing. Or, +multi-threading can be used. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +int errors, fd; +char file[128]; + +#define START 0x100000000ULL +#define N 1000000 + +void * +t1(void *arg __unused) +{ + int i; + off_t offset; + + offset = START + 2; + + for (i = 0; i < N; i++) { + if (lseek(fd, offset, SEEK_SET) == -1) + err(1, "lseek error"); + } + + return (0); +} + +void * +t2(void *arg __unused) +{ + int i; + off_t offset; + + offset = 1; + + for (i = 0; i < N; i++) { + if (lseek(fd, offset, SEEK_SET) == -1) + err(1, "lseek error"); + } + return (0); +} +void * +t3(void *arg __unused) +{ + int i; + off_t offset; + + offset = 1; + + for (i = 0; i < N; i++) { + if ((offset = lseek(fd, 0, SEEK_CUR)) == -1) + err(1, "lseek error"); + if (offset != 1 && offset != START + 2) + fprintf(stderr, "FAIL #%d offset = %10jd (0x%09jx)\n", + errors++, offset, offset); + } + + return (0); +} + +int +main(void) +{ + pthread_t threads[3]; + int r; + int i; + off_t offset; + + snprintf(file, sizeof(file), "file.%06d", getpid()); + if ((fd = open(file, O_RDWR | O_CREAT | O_TRUNC, 0600)) < 0) + err(1, "%s", file); + + offset = 1; + if (lseek(fd, offset, SEEK_SET) == -1) + err(1, "lseek error"); + + for (i = 0; i < 20 && errors < 10; i++) { + if ((r = pthread_create(&threads[0], NULL, t1, 0)) != 0) + err(1, "pthread_create(): %s\n", strerror(r)); + if ((r = pthread_create(&threads[1], NULL, t2, 0)) != 0) + err(1, "pthread_create(): %s\n", strerror(r)); + if ((r = pthread_create(&threads[2], NULL, t3, 0)) != 0) + err(1, "pthread_create(): %s\n", strerror(r)); + + if (pthread_join(threads[0], NULL) != 0) + err(1, "pthread_join(%d)", 0); + if (pthread_join(threads[1], NULL) != 0) + err(1, "pthread_join(%d)", 1); + if (pthread_join(threads[2], NULL) != 0) + err(1, "pthread_join(%d)", 2); + } + close(fd); + if (unlink(file) == -1) + err(3, "unlink(%s)", file); + + return (0); +} From owner-svn-src-user@FreeBSD.ORG Tue Jul 3 23:26:09 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC0B3106564A; Tue, 3 Jul 2012 23:26:08 +0000 (UTC) (envelope-from jceel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B36E68FC12; Tue, 3 Jul 2012 23:26:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q63NQ8AB075915; Tue, 3 Jul 2012 23:26:08 GMT (envelope-from jceel@svn.freebsd.org) Received: (from jceel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q63NQ8l8075909; Tue, 3 Jul 2012 23:26:08 GMT (envelope-from jceel@svn.freebsd.org) Message-Id: <201207032326.q63NQ8l8075909@svn.freebsd.org> From: Jakub Wojciech Klama Date: Tue, 3 Jul 2012 23:26:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238089 - user/jceel/soc2012_armv6/sys/arm/lpc X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 03 Jul 2012 23:26:09 -0000 Author: jceel Date: Tue Jul 3 23:26:08 2012 New Revision: 238089 URL: http://svn.freebsd.org/changeset/base/238089 Log: First stage of machdep refactoring, separate arm_mmu_init() and arm_bootstrap_pagetables() routines. These will be eventually moved up to SoC-independent machdep. Added: user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.c user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.h Modified: user/jceel/soc2012_armv6/sys/arm/lpc/files.lpc user/jceel/soc2012_armv6/sys/arm/lpc/lpc_machdep.c user/jceel/soc2012_armv6/sys/arm/lpc/lpcreg.h Modified: user/jceel/soc2012_armv6/sys/arm/lpc/files.lpc ============================================================================== --- user/jceel/soc2012_armv6/sys/arm/lpc/files.lpc Tue Jul 3 22:17:36 2012 (r238088) +++ user/jceel/soc2012_armv6/sys/arm/lpc/files.lpc Tue Jul 3 23:26:08 2012 (r238089) @@ -3,6 +3,7 @@ arm/arm/bus_space_generic.c standard arm/arm/irq_dispatch.S standard arm/arm/cpufunc_asm_arm9.S standard arm/arm/cpufunc_asm_armv5.S standard +arm/lpc/lpc_early_uart.c standard arm/lpc/lpc_machdep.c standard arm/lpc/lpc_space.c standard arm/lpc/lpc_pwr.c standard Added: user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.c Tue Jul 3 23:26:08 2012 (r238089) @@ -0,0 +1,201 @@ +/*- + * Copyright (c) 2009 Guillaume Ballet + * Copyright (c) 2012 Aleksander Dutkowski + * 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. + */ + +/* + * Debugging functions for early uart for omap3530 and am37x TI SoC's + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + + +void +arm_early_putc(char c) +{ + volatile uint32_t *uart = (volatile uint32_t *)0xd0090000; + volatile uint32_t *uart_lsr = (volatile uint32_t *)0xd0090014; + + while ((*uart_lsr & 0x20) == 0); + *uart = c; + + if( c == '\n' ) + { + while ((*uart_lsr & 0x20) == 0); + *uart = '\r'; + } +} + +void +arm_early_puts(unsigned char *str) +{ + do { + arm_early_putc(*str); + } while (*++str != '\0'); +} + +void +eprintf(const char *fmt,...) +{ + va_list ap; + const char *hex = "0123456789abcdef"; + char buf[10]; + char *s; + unsigned u; + int c; + + va_start(ap, fmt); + while ((c = *fmt++)) { + if (c == '%') { + c = *fmt++; + switch (c) { + case 'c': + arm_early_putc(va_arg(ap, int)); + continue; + case 's': + for (s = va_arg(ap, char *); *s; s++) + arm_early_putc(*s); + continue; + case 'd': /* A lie, always prints unsigned */ + case 'u': + u = va_arg(ap, unsigned); + s = buf; + do + *s++ = '0' + u % 10U; + while (u /= 10U); + dumpbuf:; + while (--s >= buf) + arm_early_putc(*s); + continue; + case 'x': + u = va_arg(ap, unsigned); + s = buf; + do + *s++ = hex[u & 0xfu]; + while (u >>= 4); + goto dumpbuf; + } + } + arm_early_putc(c); + } + va_end(ap); + + return; +} + +void +dump_l2pagetable(uint32_t pta, uint32_t l1) +{ + int i; + volatile uint32_t *pt = (volatile uint32_t*)pta; + + for (i=0; i<256;i++) { + switch (pt[i] & 0x3) { + case 1: + eprintf("0x%x -> 0x%x 64K ",(i<<12) | l1, + pt[i]&0xFFFF0000); + eprintf("l2pt[0x%x]=0x%x ",i, pt[i]); + eprintf("s=%u ", (pt[i]>>10) &0x1); + eprintf("apx=%u ", (pt[i]>> 9) &0x1); + eprintf("tex=%u ", (pt[i]>>12) &0x7); + eprintf("ap=%u ", (pt[i]>> 4) &0x3); + eprintf("c=%u ", (pt[i]>> 3) &0x1); + eprintf("b=%u\n", (pt[i]>> 2) &0x1); + break; + case 2: + case 3: + eprintf("0x%x -> 0x%x 4K ",(i<<12) | l1, + pt[i]&0xFFFFF000); + eprintf("l2pt[0x%x]=0x%x ",i, pt[i]); + eprintf("s=%u ", (pt[i]>>10) &0x1); + eprintf("apx=%u ", (pt[i]>> 9) &0x1); + eprintf("tex=%u ", (pt[i]>> 6) &0x7); + eprintf("ap=%u ", (pt[i]>> 4) &0x3); + eprintf("c=%u ", (pt[i]>> 3) &0x1); + eprintf("b=%u\n", (pt[i]>> 2) &0x1); + break; + } + } +} + +void +dump_l1pagetable(uint32_t pta) +{ + int i; + eprintf("L1 pagetable starts at 0x%x\n",pta); + volatile uint32_t *pt = (volatile uint32_t*)pta; + for (i=0; i<4096;i++) { + switch (pt[i] & 0x3) { + case 1: + eprintf("0x%x -> L2 ",i<<20); + eprintf("l1pt[0x%x]=0x%x ",i, pt[i]); + eprintf("l2desc=0x%x ",pt[i] & 0xFFFFFC00); + eprintf("p=%u ",(pt[i]>>9) &0x1); + eprintf("domain=0x%x\n",(pt[i]>>5) &0xF); + dump_l2pagetable(pt[i] & 0xFFFFFC00, i<<20); + break; + case 2: + if (pt[i] &0x40000) { + eprintf("0x%x -> 0x%x 16M ",i<<20, pt[i] & 0xFF000000); + eprintf("l1pt[0x%x]=0x%x ",i, pt[i]); + eprintf("base=0x%x ", ((pt[i]>>24))); + } else { + eprintf("0x%x -> 0x%x 1M ",i<<20, pt[i] & 0xFFF00000); + eprintf("l1pt[0x%x]=0x%x ",i, pt[i]); + eprintf("base=0x%x ", (pt[i]>>20)); + } + eprintf("nG=%u ", (pt[i]>>17) &0x1); + eprintf("s=%u ", (pt[i]>>16) &0x1); + eprintf("apx=%u ", (pt[i]>>15) &0x1); + eprintf("tex=%u ", (pt[i]>>12) &0x7); + eprintf("ap=%u ", (pt[i]>>10) &0x3); + eprintf("p=%u ", (pt[i]>> 9) &0x1); + eprintf("domain=0x%x ", (pt[i]>> 5) &0xF); + eprintf("xn=%u ", (pt[i]>> 4) &0x1); + eprintf("c=%u ", (pt[i]>> 3) &0x1); + eprintf("b=%u\n", (pt[i]>> 2) &0x1); + break; + case 3: + eprintf("pt[0x%x] 0x%x RESV\n",i, pt[i]); + break; + } + } +} + Added: user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jceel/soc2012_armv6/sys/arm/lpc/lpc_early_uart.h Tue Jul 3 23:26:08 2012 (r238089) @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2009 Guillaume Ballet + * Copyright (c) 2012 Aleksander Dutkowski + * 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. + */ + +#ifndef _LPC_EARLY_UART +#define _LPC_EARLY_UART + +void arm_early_putc(char c); +void arm_early_puts(unsigned char *str); +void eprintf(const char *fmt, ...); +void dump_l1pagetable(uint32_t pta); +void dump_l2pagetable(uint32_t pta, uint32_t l1); +#endif Modified: user/jceel/soc2012_armv6/sys/arm/lpc/lpc_machdep.c ============================================================================== --- user/jceel/soc2012_armv6/sys/arm/lpc/lpc_machdep.c Tue Jul 3 22:17:36 2012 (r238088) +++ user/jceel/soc2012_armv6/sys/arm/lpc/lpc_machdep.c Tue Jul 3 23:26:08 2012 (r238089) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include @@ -131,8 +132,6 @@ extern u_int undefined_handler_address; extern vm_offset_t pmap_bootstrap_lastaddr; extern int *end; -struct pv_addr kernel_pt_table[KERNEL_PT_MAX]; - /* Physical and virtual addresses for some global pages */ vm_paddr_t phys_avail[10]; @@ -148,6 +147,10 @@ struct pv_addr undstack; struct pv_addr abtstack; struct pv_addr kernelstack; +struct pv_addr arm_bootstrap_l2pt[KERNEL_PT_MAX]; +vm_offset_t arm_free_va, arm_free_pa, arm_allocated_va; +vm_offset_t arm_start_va, arm_start_pa; + static struct trapframe proc0_tf; static struct mem_region availmem_regions[FDT_MEM_REGIONS]; @@ -155,10 +158,16 @@ static int availmem_regions_sz; static void print_kenv(void); static void print_kernel_section_addr(void); +static void arm_valloc_pages(struct pv_addr *, size_t, size_t); +static void arm_bootstrap_pagetables(uint32_t, struct pv_addr *, struct pv_addr *); +static void *arm_mmu_init(uint32_t, uint32_t); static void physmap_init(void); static int platform_devmap_init(void); +#define round_up_to(_val, _size) (((_val) + ((_size) - 1)) & (~((_size) - 1))) +#define round_down_to(_val, _size) ((_val) & (~((_size) - 1))) + static char * kenv_next(char *cp) { @@ -297,16 +306,208 @@ physmap_init(void) phys_avail[j + 1] = 0; } +static void +arm_valloc_pages(struct pv_addr *result, size_t npages, size_t boundary) +{ + npages *= PAGE_SIZE; + boundary *= PAGE_SIZE; + + /* First, round up to specified boundary */ + arm_free_pa = round_up_to(arm_free_pa, boundary); + arm_free_va = round_up_to(arm_free_va, boundary); + + result->pv_pa = arm_free_pa; + arm_free_pa += npages; + result->pv_va = arm_free_va; + arm_free_va += npages; + arm_allocated_va += npages; + memset((void *)result->pv_va, 0, npages); +} + +static void +arm_bootstrap_pagetables(uint32_t memsize, struct pv_addr *vectors, struct pv_addr *l1pt) +{ + struct pv_addr *l2pt = arm_bootstrap_l2pt; + vm_offset_t l2_start; + vm_offset_t pagetables_size = 0; + int l2_needed = 1; /* vectors */ + int i; + + /* Allocate L1 pagetable */ + arm_valloc_pages(l1pt, L1_TABLE_SIZE / PAGE_SIZE, L1_TABLE_SIZE / PAGE_SIZE); + pagetables_size += L1_TABLE_SIZE; + + /* + * Calculate number of needed L2 pagetables: we are starting with + * one needed to map vectors page + */ + l2_start = round_down_to(arm_free_va, L1_S_SIZE); + /* Add needed number of tables to hold vm_page array */ + l2_needed += ((memsize / PAGE_SIZE) * sizeof(struct vm_page) >> L1_S_SHIFT) + 1; + /* And then to map kernel text and data and associated structures */ + l2_needed += (arm_free_va - l2_start) >> L1_S_SHIFT; + /* + * Finally, round up to 4 to not waste space, as we can fit 4 + * pagetables on one page + */ + l2_needed = round_up_to(l2_needed, 4); + + /* Allocate L2 page tables */ + arm_valloc_pages(&l2pt[0], (l2_needed * L2_TABLE_SIZE_REAL) / PAGE_SIZE, 1); + pagetables_size += (l2_needed * L2_TABLE_SIZE_REAL); + + for (i = 0; i < l2_needed; i++) { + /* Fill in L2 page table addresses */ + if (i != 0) { + l2pt[i].pv_pa = l2pt[0].pv_pa + (i * L2_TABLE_SIZE_REAL); + l2pt[i].pv_va = l2pt[0].pv_va + (i * L2_TABLE_SIZE_REAL); + } + + /* Don't link last L2 table now, as it should be linked at vectors region */ + if (i == l2_needed - 1) + break; + + pmap_link_l2pt(l1pt->pv_va, l2_start + (i * L1_S_SIZE), &l2pt[i]); + } + + /* Tell pmap about currently maximum mapped VA address */ + pmap_curmaxkvaddr = round_up_to(arm_free_va, L1_S_SIZE); + + /* Link and map vectors page */ + pmap_link_l2pt(l1pt->pv_va, ARM_VECTORS_HIGH, &l2pt[l2_needed - 1]); + pmap_map_entry(l1pt->pv_va, ARM_VECTORS_HIGH, vectors->pv_pa, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map kernel and structures */ + pmap_map_chunk(l1pt->pv_va, arm_start_va, arm_start_pa, + arm_allocated_va - pagetables_size, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map pagetables itself: L1 */ + pmap_map_chunk(l1pt->pv_va, l1pt->pv_va, l1pt->pv_pa, L1_TABLE_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); + + /* and L2 */ + pmap_map_chunk(l1pt->pv_va, l2pt[0].pv_va, l2pt[0].pv_pa, + L2_TABLE_SIZE_REAL * l2_needed, + VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); +} + +static void * +arm_mmu_init(uint32_t memsize, uint32_t lastaddr) +{ + struct pv_addr pagetable; + struct pv_addr dpcpu; + + arm_start_va = KERNVIRTADDR; + arm_start_pa = KERNPHYSADDR; + arm_free_va = round_up_to(lastaddr, PAGE_SIZE); + arm_free_pa = arm_free_va + (KERNPHYSADDR - KERNVIRTADDR); + arm_allocated_va = arm_free_va - arm_start_va; + + /* + * Allocate a page for the system page mapped to 0x00000000 + * or 0xffff0000. This page will just contain the system vectors + * and can be shared by all processes. + */ + arm_valloc_pages(&systempage, 1, 1); + + /* Allocate dynamic per-cpu area. */ + arm_valloc_pages(&dpcpu, DPCPU_SIZE / PAGE_SIZE, 1); + dpcpu_init((void *)dpcpu.pv_va, 0); + + /* Allocate stacks for all modes */ + arm_valloc_pages(&irqstack, IRQ_STACK_SIZE, 1); + arm_valloc_pages(&abtstack, ABT_STACK_SIZE, 1); + arm_valloc_pages(&undstack, UND_STACK_SIZE, 1); + arm_valloc_pages(&kernelstack, KSTACK_PAGES, 1); + + init_param1(); + + /* Allocate space for message buffer */ + arm_valloc_pages(&msgbufpv, round_page(msgbufsize) / PAGE_SIZE, 1); + + /* Construct bootstrap pagetables */ + arm_bootstrap_pagetables(memsize, &systempage, &pagetable); + + /* Map pmap_devmap[] entries */ + if (platform_devmap_init() != 0) + while (1); + + pmap_devmap_bootstrap(pagetable.pv_va, pmap_devmap_bootstrap_table); + + /* Launch our bootstrap pagetable */ + cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL * 2)) | + DOMAIN_CLIENT); + setttb(pagetable.pv_pa); + cpu_tlb_flushID(); + cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL * 2)); + + /* + * Pages were allocated during the secondary bootstrap for the + * stacks for different CPU modes. + * We must now set the r13 registers in the different CPU modes to + * point to these stacks. + * Since the ARM stacks use STMFD etc. we must set r13 to the top end + * of the stack memory. + */ + cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE); + set_stackptr(PSR_IRQ32_MODE, + irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); + set_stackptr(PSR_ABT32_MODE, + abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE); + set_stackptr(PSR_UND32_MODE, + undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); + + /* + * We must now clean the cache again.... + * Cleaning may be done by reading new data to displace any + * dirty data in the cache. This will have happened in setttb() + * but since we are boot strapping the addresses used for the read + * may have just been remapped and thus the cache could be out + * of sync. A re-clean after the switch will cure this. + * After booting there are no gross relocations of the kernel thus + * this problem will not occur after initarm(). + */ + cpu_idcache_wbinv_all(); + + /* Set stack for exception handlers */ + data_abort_handler_address = (u_int)data_abort_handler; + prefetch_abort_handler_address = (u_int)prefetch_abort_handler; + undefined_handler_address = (u_int)undefinedinstruction_bounce; + undefined_init(); + + proc_linkup0(&proc0, &thread0); + thread0.td_kstack = kernelstack.pv_va; + thread0.td_kstack_pages = KSTACK_PAGES; + thread0.td_pcb = (struct pcb *) + (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + thread0.td_pcb->pcb_flags = 0; + thread0.td_frame = &proc0_tf; + pcpup->pc_curpcb = thread0.td_pcb; + + arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); + + dump_avail[0] = 0; + dump_avail[1] = memsize; + dump_avail[2] = 0; + dump_avail[3] = 0; + + pmap_bootstrap(arm_free_va, pmap_bootstrap_lastaddr, &pagetable); + msgbufp = (void *)msgbufpv.pv_va; + msgbufinit(msgbufp, msgbufsize); + + return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - + sizeof(struct pcb))); +} + void * initarm(void *mdp, void *unused __unused) { - struct pv_addr kernel_l1pt; - struct pv_addr dpcpu; - vm_offset_t dtbp, freemempos, l2_start, lastaddr; - uint32_t memsize, l2size; + vm_offset_t dtbp, lastaddr; + uint32_t memsize; void *kmdp; - u_int l1pagetable; - int i = 0, j = 0; + void *sp; kmdp = NULL; lastaddr = 0; @@ -367,136 +568,15 @@ initarm(void *mdp, void *unused __unused if (fdt_immr_addr(LPC_DEV_BASE) != 0) while (1); - + /* Platform-specific initialisation */ pmap_bootstrap_lastaddr = fdt_immr_va - ARM_NOCACHE_KVA_SIZE; pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); - /* Calculate number of L2 tables needed for mapping vm_page_array */ - l2size = (memsize / PAGE_SIZE) * sizeof(struct vm_page); - l2size = (l2size >> L1_S_SHIFT) + 1; - - /* - * Add one table for end of kernel map, one for stacks, msgbuf and - * L1 and L2 tables map and one for vectors map. - */ - l2size += 3; - - /* Make it divisible by 4 */ - l2size = (l2size + 3) & ~3; - -#define KERNEL_TEXT_BASE (KERNBASE) - freemempos = (lastaddr + PAGE_MASK) & ~PAGE_MASK; - - /* Define a macro to simplify memory allocation */ -#define valloc_pages(var, np) \ - alloc_pages((var).pv_va, (np)); \ - (var).pv_pa = (var).pv_va + (KERNPHYSADDR - KERNVIRTADDR); - -#define alloc_pages(var, np) \ - (var) = freemempos; \ - freemempos += (np * PAGE_SIZE); \ - memset((char *)(var), 0, ((np) * PAGE_SIZE)); - - while (((freemempos - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) != 0) - freemempos += PAGE_SIZE; - valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); - - for (i = 0; i < l2size; ++i) { - if (!(i % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { - valloc_pages(kernel_pt_table[i], - L2_TABLE_SIZE / PAGE_SIZE); - j = i; - } else { - kernel_pt_table[i].pv_va = kernel_pt_table[j].pv_va + - L2_TABLE_SIZE_REAL * (i - j); - kernel_pt_table[i].pv_pa = - kernel_pt_table[i].pv_va - KERNVIRTADDR + - KERNPHYSADDR; - - } - } - /* - * Allocate a page for the system page mapped to 0x00000000 - * or 0xffff0000. This page will just contain the system vectors - * and can be shared by all processes. - */ - valloc_pages(systempage, 1); - - /* Allocate dynamic per-cpu area. */ - valloc_pages(dpcpu, DPCPU_SIZE / PAGE_SIZE); - dpcpu_init((void *)dpcpu.pv_va, 0); - - /* Allocate stacks for all modes */ - valloc_pages(irqstack, IRQ_STACK_SIZE); - valloc_pages(abtstack, ABT_STACK_SIZE); - valloc_pages(undstack, UND_STACK_SIZE); - valloc_pages(kernelstack, KSTACK_PAGES); - - init_param1(); - - valloc_pages(msgbufpv, round_page(msgbufsize) / PAGE_SIZE); - - /* - * Now we start construction of the L1 page table - * We start by mapping the L2 page tables into the L1. - * This means that we can replace L1 mappings later on if necessary - */ - l1pagetable = kernel_l1pt.pv_va; - - /* - * Try to map as much as possible of kernel text and data using - * 1MB section mapping and for the rest of initial kernel address - * space use L2 coarse tables. - * - * Link L2 tables for mapping remainder of kernel (modulo 1MB) - * and kernel structures - */ - l2_start = lastaddr & ~(L1_S_OFFSET); - for (i = 0 ; i < l2size - 1; i++) - pmap_link_l2pt(l1pagetable, l2_start + i * L1_S_SIZE, - &kernel_pt_table[i]); - - pmap_curmaxkvaddr = l2_start + (l2size - 1) * L1_S_SIZE; - - /* Map kernel code and data */ - pmap_map_chunk(l1pagetable, KERNVIRTADDR, KERNPHYSADDR, - (((uint32_t)(lastaddr) - KERNVIRTADDR) + PAGE_MASK) & ~PAGE_MASK, - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - - /* Map L1 directory and allocated L2 page tables */ - pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa, - L1_TABLE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - - pmap_map_chunk(l1pagetable, kernel_pt_table[0].pv_va, - kernel_pt_table[0].pv_pa, - L2_TABLE_SIZE_REAL * l2size, - VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - - /* Map allocated DPCPU, stacks and msgbuf */ - pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, - freemempos - dpcpu.pv_va, - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - /* Link and map the vector page */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH, - &kernel_pt_table[l2size - 1]); - pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - /* Map pmap_devmap[] entries */ - if (platform_devmap_init() != 0) - while (1); - pmap_devmap_bootstrap(l1pagetable, pmap_devmap_bootstrap_table); - - cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL * 2)) | - DOMAIN_CLIENT); - setttb(kernel_l1pt.pv_pa); - cpu_tlb_flushID(); - cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL * 2)); + /* Initialize MMU */ + sp = arm_mmu_init(memsize, lastaddr); /* * Only after the SOC registers block is mapped we can perform device @@ -504,14 +584,6 @@ initarm(void *mdp, void *unused __unused */ OF_interpret("perform-fixup", 0); -#if 0 - /* - * Initialize GPIO as early as possible. - */ - if (platform_gpio_init() != 0) - while (1); -#endif - cninit(); physmem = memsize / PAGE_SIZE; @@ -523,59 +595,6 @@ initarm(void *mdp, void *unused __unused print_kernel_section_addr(); print_kenv(); - /* - * Pages were allocated during the secondary bootstrap for the - * stacks for different CPU modes. - * We must now set the r13 registers in the different CPU modes to - * point to these stacks. - * Since the ARM stacks use STMFD etc. we must set r13 to the top end - * of the stack memory. - */ - cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE); - set_stackptr(PSR_IRQ32_MODE, - irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_ABT32_MODE, - abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_UND32_MODE, - undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); - - /* - * We must now clean the cache again.... - * Cleaning may be done by reading new data to displace any - * dirty data in the cache. This will have happened in setttb() - * but since we are boot strapping the addresses used for the read - * may have just been remapped and thus the cache could be out - * of sync. A re-clean after the switch will cure this. - * After booting there are no gross relocations of the kernel thus - * this problem will not occur after initarm(). - */ - cpu_idcache_wbinv_all(); - - /* Set stack for exception handlers */ - data_abort_handler_address = (u_int)data_abort_handler; - prefetch_abort_handler_address = (u_int)prefetch_abort_handler; - undefined_handler_address = (u_int)undefinedinstruction_bounce; - undefined_init(); - - proc_linkup0(&proc0, &thread0); - thread0.td_kstack = kernelstack.pv_va; - thread0.td_kstack_pages = KSTACK_PAGES; - thread0.td_pcb = (struct pcb *) - (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; - thread0.td_pcb->pcb_flags = 0; - thread0.td_frame = &proc0_tf; - pcpup->pc_curpcb = thread0.td_pcb; - - arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); - - dump_avail[0] = 0; - dump_avail[1] = memsize; - dump_avail[2] = 0; - dump_avail[3] = 0; - - pmap_bootstrap(freemempos, pmap_bootstrap_lastaddr, &kernel_l1pt); - msgbufp = (void *)msgbufpv.pv_va; - msgbufinit(msgbufp, msgbufsize); mutex_init(); /* @@ -591,8 +610,8 @@ initarm(void *mdp, void *unused __unused /* Do basic tuning, hz etc */ init_param2(physmem); kdb_init(); - return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - - sizeof(struct pcb))); + + return (sp); } #define FDT_DEVMAP_MAX (1 + 2 + 1 + 1) Modified: user/jceel/soc2012_armv6/sys/arm/lpc/lpcreg.h ============================================================================== --- user/jceel/soc2012_armv6/sys/arm/lpc/lpcreg.h Tue Jul 3 22:17:36 2012 (r238088) +++ user/jceel/soc2012_armv6/sys/arm/lpc/lpcreg.h Tue Jul 3 23:26:08 2012 (r238089) @@ -31,7 +31,6 @@ #define LPC_DEV_P5_PHYS_BASE 0x20000000 #define LPC_DEV_P6_PHYS_BASE 0x30000000 #define LPC_DEV_BASE 0xd0000000 -#define LPC_DEV_SIZE 0x10000000 /* * Interrupt controller (from UM10326: LPC32x0 User manual, page 87) @@ -522,6 +521,7 @@ * GPIO (from UM10326: LPC32x0 User manual, page 606) */ #define LPC_GPIO_BASE (LPC_DEV_BASE + 0x28000) +#define LPC_GPIO_SIZE 0x4000 #define LPC_GPIO_P0_COUNT 8 #define LPC_GPIO_P1_COUNT 24 #define LPC_GPIO_P2_COUNT 13 From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 06:29:57 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8455C1065688; Wed, 4 Jul 2012 06:29:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 07A938FC0C; Wed, 4 Jul 2012 06:29:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q646Tu0X093306; Wed, 4 Jul 2012 06:29:56 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q646Tud5093303; Wed, 4 Jul 2012 06:29:56 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207040629.q646Tud5093303@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 06:29:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238091 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 06:29:57 -0000 Author: ae Date: Wed Jul 4 06:29:56 2012 New Revision: 238091 URL: http://svn.freebsd.org/changeset/base/238091 Log: Revert r238067, instead use the proper format specifier for sprintf. Also change the display_size's output format. Suggested by: marcel Modified: user/ae/bootcode/sys/boot/common/disk.c user/ae/bootcode/sys/boot/common/part.c Modified: user/ae/bootcode/sys/boot/common/disk.c ============================================================================== --- user/ae/bootcode/sys/boot/common/disk.c Wed Jul 4 00:54:16 2012 (r238090) +++ user/ae/bootcode/sys/boot/common/disk.c Wed Jul 4 06:29:56 2012 (r238091) @@ -73,7 +73,7 @@ display_size(uint64_t size, u_int sector size /= 1024; unit = 'M'; } - sprintf(buf, "%.6ld%cB", (long)size, unit); + sprintf(buf, "%ld%cB", (long)size, unit); return (buf); } @@ -89,6 +89,7 @@ ptblread(void *d, void *buf, size_t bloc blocks * od->sectorsize, (char *)buf, NULL)); } +#define PWIDTH 35 static void ptable_print(void *arg, const char *pname, const struct ptable_entry *part) { @@ -99,9 +100,13 @@ ptable_print(void *arg, const char *pnam pa = (struct print_args *)arg; od = (struct open_disk *)pa->dev->d_opendata; - sprintf(line, " %s%s: %s %s\n", pa->prefix, pname, - parttype2str(part->type), pa->verbose == 0 ? "": - display_size(part->end - part->start + 1, od->sectorsize)); + sprintf(line, " %s%s: %s", pa->prefix, pname, + parttype2str(part->type)); + if (pa->verbose) + sprintf(line, "%-*s%s", PWIDTH, line, + display_size(part->end - part->start + 1, + od->sectorsize)); + strcat(line, "\n"); pager_output(line); if (part->type == PART_FREEBSD) { /* Open slice with BSD label */ @@ -118,6 +123,7 @@ ptable_print(void *arg, const char *pnam ptable_close(table); } } +#undef PWIDTH void disk_print(struct disk_devdesc *dev, char *prefix, int verbose) Modified: user/ae/bootcode/sys/boot/common/part.c ============================================================================== --- user/ae/bootcode/sys/boot/common/part.c Wed Jul 4 00:54:16 2012 (r238090) +++ user/ae/bootcode/sys/boot/common/part.c Wed Jul 4 06:29:56 2012 (r238091) @@ -88,17 +88,17 @@ static struct parttypes { enum partition_type type; const char *desc; } ptypes[] = { - { PART_UNKNOWN, "Unknown " }, - { PART_EFI, "EFI " }, - { PART_FREEBSD, "FreeBSD " }, - { PART_FREEBSD_BOOT, "FreeBSD boot " }, - { PART_FREEBSD_UFS, "FreeBSD UFS " }, - { PART_FREEBSD_ZFS, "FreeBSD ZFS " }, - { PART_FREEBSD_SWAP, "FreeBSD swap " }, + { PART_UNKNOWN, "Unknown" }, + { PART_EFI, "EFI" }, + { PART_FREEBSD, "FreeBSD" }, + { PART_FREEBSD_BOOT, "FreeBSD boot" }, + { PART_FREEBSD_UFS, "FreeBSD UFS" }, + { PART_FREEBSD_ZFS, "FreeBSD ZFS" }, + { PART_FREEBSD_SWAP, "FreeBSD swap" }, { PART_FREEBSD_VINUM, "FreeBSD vinum" }, - { PART_LINUX, "Linux " }, - { PART_LINUX_SWAP, "Linux swap " }, - { PART_DOS, "DOS/Windows " }, + { PART_LINUX, "Linux" }, + { PART_LINUX_SWAP, "Linux swap" }, + { PART_DOS, "DOS/Windows" }, }; const char * From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 12:04:50 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3ABD1065686; Wed, 4 Jul 2012 12:04:50 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF8C88FC1D; Wed, 4 Jul 2012 12:04:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64C4oqp009256; Wed, 4 Jul 2012 12:04:50 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64C4oNT009253; Wed, 4 Jul 2012 12:04:50 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041204.q64C4oNT009253@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 12:04:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238096 - user/ae/bootcode/sys/boot/common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 12:04:51 -0000 Author: ae Date: Wed Jul 4 12:04:50 2012 New Revision: 238096 URL: http://svn.freebsd.org/changeset/base/238096 Log: Don't build disk.c and part.c if LOADER_DISK_SUPPORT is "no" or LOADER_NO_DISK_SUPPORT is set. Some loaders might work without disks support, so we don't need these files. Modified: user/ae/bootcode/sys/boot/common/Makefile.inc Modified: user/ae/bootcode/sys/boot/common/Makefile.inc ============================================================================== --- user/ae/bootcode/sys/boot/common/Makefile.inc Wed Jul 4 10:17:02 2012 (r238095) +++ user/ae/bootcode/sys/boot/common/Makefile.inc Wed Jul 4 12:04:50 2012 (r238096) @@ -1,8 +1,8 @@ # $FreeBSD$ -SRCS+= boot.c commands.c console.c devopen.c disk.c interp.c +SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c -SRCS+= module.c panic.c part.c +SRCS+= module.c panic.c .if ${MACHINE} == "i386" || ${MACHINE_CPUARCH} == "amd64" SRCS+= load_elf32.c load_elf32_obj.c reloc_elf32.c @@ -24,8 +24,17 @@ SRCS+= load_elf64.c reloc_elf64.c SRCS+= dev_net.c .endif +.if !defined(LOADER_NO_DISK_SUPPORT) || + (defined(LOADER_DISK_SUPPORT) && ${LOADER_DISK_SUPPORT} != "no") +SRCS+= disk.c part.c +CFLAGS+= -DLOADER_DISK_SUPPORT .if !defined(LOADER_NO_GPT_SUPPORT) SRCS+= crc32.c +CFLAGS+= -DLOADER_GPT_SUPPORT +.endif +.if !defined(LOADER_NO_MBR_SUPPORT) +CFLAGS+= -DLOADER_MBR_SUPPORT +.endif .endif .if defined(HAVE_BCACHE) From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 12:54:57 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B246106564A; Wed, 4 Jul 2012 12:54:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D4788FC17; Wed, 4 Jul 2012 12:54:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64CsvQU011345; Wed, 4 Jul 2012 12:54:57 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64CsvH6011342; Wed, 4 Jul 2012 12:54:57 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041254.q64CsvH6011342@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 12:54:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238097 - user/ae/bootcode/sys/boot/uboot/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 12:54:57 -0000 Author: ae Date: Wed Jul 4 12:54:56 2012 New Revision: 238097 URL: http://svn.freebsd.org/changeset/base/238097 Log: Don't build storage.c if LOADER_NO_DISK_SUPPORT is defined. Also hide disk_xxx calls under ifdefs. Modified: user/ae/bootcode/sys/boot/uboot/lib/Makefile user/ae/bootcode/sys/boot/uboot/lib/devicename.c Modified: user/ae/bootcode/sys/boot/uboot/lib/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/uboot/lib/Makefile Wed Jul 4 12:04:50 2012 (r238096) +++ user/ae/bootcode/sys/boot/uboot/lib/Makefile Wed Jul 4 12:54:56 2012 (r238097) @@ -7,7 +7,7 @@ INTERNALLIB= WARNS?= 2 SRCS= crc32.c console.c copy.c devicename.c elf_freebsd.c glue.c -SRCS+= module.c net.c reboot.c storage.c time.c +SRCS+= module.c net.c reboot.c time.c CFLAGS+= -ffreestanding -msoft-float @@ -19,6 +19,11 @@ CFLAGS+= -I${.CURDIR}/../../../../sys/co # Pick up the bootstrap header for some interface items CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. +.if !defined(LOADER_NO_DISK_SUPPORT) +SRCS+= storage.c +CFLAGS+= -DLOADER_DISK_SUPPORT +.endif + .ifdef(BOOT_DISK_DEBUG) # Make the disk code more talkative CFLAGS+= -DDISK_DEBUG Modified: user/ae/bootcode/sys/boot/uboot/lib/devicename.c ============================================================================== --- user/ae/bootcode/sys/boot/uboot/lib/devicename.c Wed Jul 4 12:04:50 2012 (r238096) +++ user/ae/bootcode/sys/boot/uboot/lib/devicename.c Wed Jul 4 12:54:56 2012 (r238097) @@ -113,11 +113,13 @@ uboot_parsedev(struct uboot_devdesc **de case DEVT_NONE: break; +#ifdef LOADER_DISK_SUPPORT case DEVT_DISK: err = disk_parsedev((struct disk_devdesc *)idev, np, path); if (err != 0) goto fail; break; +#endif case DEVT_NET: unit = 0; @@ -171,7 +173,9 @@ uboot_fmtdev(void *vdev) break; case DEVT_DISK: +#ifdef LOADER_DISK_SUPPORT return (disk_fmtdev(vdev)); +#endif case DEVT_NET: sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 12:57:35 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96E1C106566B; Wed, 4 Jul 2012 12:57:35 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 69B268FC12; Wed, 4 Jul 2012 12:57:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64CvZDj011548; Wed, 4 Jul 2012 12:57:35 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64CvZmE011544; Wed, 4 Jul 2012 12:57:35 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041257.q64CvZmE011544@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 12:57:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238098 - in user/ae/bootcode/sys/boot: arm/uboot common powerpc/uboot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 12:57:35 -0000 Author: ae Date: Wed Jul 4 12:57:34 2012 New Revision: 238098 URL: http://svn.freebsd.org/changeset/base/238098 Log: Add an ability to build ubtldr without disks support for the arm and powerpc arches. Also simplify condition in the common code. Modified: user/ae/bootcode/sys/boot/arm/uboot/Makefile user/ae/bootcode/sys/boot/common/Makefile.inc user/ae/bootcode/sys/boot/powerpc/uboot/Makefile Modified: user/ae/bootcode/sys/boot/arm/uboot/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/arm/uboot/Makefile Wed Jul 4 12:54:56 2012 (r238097) +++ user/ae/bootcode/sys/boot/arm/uboot/Makefile Wed Jul 4 12:57:34 2012 (r238098) @@ -14,7 +14,11 @@ UBLDR_LOADADDR?= 0x1000000 # Architecture-specific loader code SRCS= start.S conf.c vers.c +.if !defined(LOADER_NO_DISK_SUPPORT) LOADER_DISK_SUPPORT?= yes +.else +LOADER_DISK_SUPPORT= no +.endif LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= no @@ -36,12 +40,6 @@ LOADER_FDT_SUPPORT= no .if ${LOADER_DISK_SUPPORT} == "yes" CFLAGS+= -DLOADER_DISK_SUPPORT -.if !defined(LOADER_NO_MBR_SUPPORT) -CFLAGS+= -DLOADER_MBR_SUPPORT -.endif -.if !defined(LOADER_NO_GPT_SUPPORT) -CFLAGS+= -DLOADER_GPT_SUPPORT -.endif .endif .if ${LOADER_UFS_SUPPORT} == "yes" CFLAGS+= -DLOADER_UFS_SUPPORT Modified: user/ae/bootcode/sys/boot/common/Makefile.inc ============================================================================== --- user/ae/bootcode/sys/boot/common/Makefile.inc Wed Jul 4 12:54:56 2012 (r238097) +++ user/ae/bootcode/sys/boot/common/Makefile.inc Wed Jul 4 12:57:34 2012 (r238098) @@ -24,8 +24,7 @@ SRCS+= load_elf64.c reloc_elf64.c SRCS+= dev_net.c .endif -.if !defined(LOADER_NO_DISK_SUPPORT) || - (defined(LOADER_DISK_SUPPORT) && ${LOADER_DISK_SUPPORT} != "no") +.if !defined(LOADER_NO_DISK_SUPPORT) SRCS+= disk.c part.c CFLAGS+= -DLOADER_DISK_SUPPORT .if !defined(LOADER_NO_GPT_SUPPORT) Modified: user/ae/bootcode/sys/boot/powerpc/uboot/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/powerpc/uboot/Makefile Wed Jul 4 12:54:56 2012 (r238097) +++ user/ae/bootcode/sys/boot/powerpc/uboot/Makefile Wed Jul 4 12:57:34 2012 (r238098) @@ -12,7 +12,11 @@ NO_MAN= SRCS= start.S conf.c vers.c SRCS+= ucmpdi2.c +.if !defined(LOADER_NO_DISK_SUPPORT) LOADER_DISK_SUPPORT?= yes +.else +LOADER_DISK_SUPPORT= no +.endif LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= no @@ -29,12 +33,6 @@ LOADER_FDT_SUPPORT= no .if ${LOADER_DISK_SUPPORT} == "yes" CFLAGS+= -DLOADER_DISK_SUPPORT -.if !defined(LOADER_NO_MBR_SUPPORT) -CFLAGS+= -DLOADER_MBR_SUPPORT -.endif -.if !defined(LOADER_NO_GPT_SUPPORT) -CFLAGS+= -DLOADER_GPT_SUPPORT -.endif .endif .if ${LOADER_UFS_SUPPORT} == "yes" CFLAGS+= -DLOADER_UFS_SUPPORT From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 12:58:36 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A7D7106566B; Wed, 4 Jul 2012 12:58:36 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 86F438FC0C; Wed, 4 Jul 2012 12:58:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64CwaQ5011641; Wed, 4 Jul 2012 12:58:36 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64CwaVJ011638; Wed, 4 Jul 2012 12:58:36 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041258.q64CwaVJ011638@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 12:58:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238099 - user/ae/bootcode/sys/boot/userboot/userboot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 12:58:36 -0000 Author: ae Date: Wed Jul 4 12:58:35 2012 New Revision: 238099 URL: http://svn.freebsd.org/changeset/base/238099 Log: Remove unused variables. Modified: user/ae/bootcode/sys/boot/userboot/userboot/bootinfo32.c user/ae/bootcode/sys/boot/userboot/userboot/copy.c Modified: user/ae/bootcode/sys/boot/userboot/userboot/bootinfo32.c ============================================================================== --- user/ae/bootcode/sys/boot/userboot/userboot/bootinfo32.c Wed Jul 4 12:57:34 2012 (r238098) +++ user/ae/bootcode/sys/boot/userboot/userboot/bootinfo32.c Wed Jul 4 12:58:35 2012 (r238099) @@ -143,7 +143,7 @@ bi_load32(char *args, int *howtop, int * vm_offset_t size; vm_offset_t ssym, esym; char *rootdevname; - int bootdevnr, i, howto; + int bootdevnr, howto; char *kernelname; const char *kernelpath; Modified: user/ae/bootcode/sys/boot/userboot/userboot/copy.c ============================================================================== --- user/ae/bootcode/sys/boot/userboot/userboot/copy.c Wed Jul 4 12:57:34 2012 (r238098) +++ user/ae/bootcode/sys/boot/userboot/userboot/copy.c Wed Jul 4 12:58:35 2012 (r238099) @@ -50,7 +50,6 @@ userboot_copyout(vm_offset_t va, void *d ssize_t userboot_readin(int fd, vm_offset_t va, size_t len) { - void *pa; ssize_t res, s; size_t sz; char buf[4096]; From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 12:59:21 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0183A1065672; Wed, 4 Jul 2012 12:59:21 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1F7D8FC15; Wed, 4 Jul 2012 12:59:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64CxKmb011710; Wed, 4 Jul 2012 12:59:20 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64CxKKa011708; Wed, 4 Jul 2012 12:59:20 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041259.q64CxKKa011708@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 12:59:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238100 - user/ae/bootcode/sys/boot/userboot/userboot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 12:59:21 -0000 Author: ae Date: Wed Jul 4 12:59:20 2012 New Revision: 238100 URL: http://svn.freebsd.org/changeset/base/238100 Log: Remove unneeded flags. Modified: user/ae/bootcode/sys/boot/userboot/userboot/Makefile Modified: user/ae/bootcode/sys/boot/userboot/userboot/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/userboot/userboot/Makefile Wed Jul 4 12:58:35 2012 (r238099) +++ user/ae/bootcode/sys/boot/userboot/userboot/Makefile Wed Jul 4 12:59:20 2012 (r238100) @@ -32,7 +32,6 @@ CFLAGS+= -I${.CURDIR}/../../common CFLAGS+= -I${.CURDIR}/../../.. CFLAGS+= -I${.CURDIR}/../../../../lib/libstand CFLAGS+= -ffreestanding -I. -CFLAGS+= -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT LDFLAGS+= -nostdlib -Wl,-Bsymbolic From owner-svn-src-user@FreeBSD.ORG Wed Jul 4 13:00:49 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 515F4106567B; Wed, 4 Jul 2012 13:00:49 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3D3AB8FC14; Wed, 4 Jul 2012 13:00:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q64D0n7M011847; Wed, 4 Jul 2012 13:00:49 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q64D0nfa011844; Wed, 4 Jul 2012 13:00:49 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201207041300.q64D0nfa011844@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 4 Jul 2012 13:00:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238101 - in user/ae/bootcode/sys/boot/i386: libi386 loader X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 04 Jul 2012 13:00:49 -0000 Author: ae Date: Wed Jul 4 13:00:48 2012 New Revision: 238101 URL: http://svn.freebsd.org/changeset/base/238101 Log: Remove unneeded flags, they are set by default in the common code. Modified: user/ae/bootcode/sys/boot/i386/libi386/Makefile user/ae/bootcode/sys/boot/i386/loader/Makefile Modified: user/ae/bootcode/sys/boot/i386/libi386/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/i386/libi386/Makefile Wed Jul 4 12:59:20 2012 (r238100) +++ user/ae/bootcode/sys/boot/i386/libi386/Makefile Wed Jul 4 13:00:48 2012 (r238101) @@ -39,10 +39,6 @@ CFLAGS+= -DSMBIOS_LITTLE_ENDIAN_UUID .endif .endif -.if !defined(LOADER_NO_GPT_SUPPORT) -CFLAGS+= -DLOADER_GPT_SUPPORT -.endif - # Include simple terminal emulation (cons25-compatible) CFLAGS+= -DTERM_EMU Modified: user/ae/bootcode/sys/boot/i386/loader/Makefile ============================================================================== --- user/ae/bootcode/sys/boot/i386/loader/Makefile Wed Jul 4 12:59:20 2012 (r238100) +++ user/ae/bootcode/sys/boot/i386/loader/Makefile Wed Jul 4 13:00:48 2012 (r238101) @@ -50,12 +50,6 @@ CFLAGS+= -DLOADER_BZIP2_SUPPORT .if !defined(LOADER_NO_GZIP_SUPPORT) CFLAGS+= -DLOADER_GZIP_SUPPORT .endif -.if !defined(LOADER_NO_MBR_SUPPORT) -CFLAGS+= -DLOADER_MBR_SUPPORT -.endif -.if !defined(LOADER_NO_GPT_SUPPORT) -CFLAGS+= -DLOADER_GPT_SUPPORT -.endif .if defined(LOADER_NANDFS_SUPPORT) CFLAGS+= -DLOADER_NANDFS_SUPPORT .endif From owner-svn-src-user@FreeBSD.ORG Thu Jul 5 09:00:33 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0572510656AB; Thu, 5 Jul 2012 09:00:33 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E367F8FC14; Thu, 5 Jul 2012 09:00:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q6590W1s062613; Thu, 5 Jul 2012 09:00:32 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q6590Wj6062611; Thu, 5 Jul 2012 09:00:32 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207050900.q6590Wj6062611@svn.freebsd.org> From: Doug Barton Date: Thu, 5 Jul 2012 09:00:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238127 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 05 Jul 2012 09:00:33 -0000 Author: dougb Date: Thu Jul 5 09:00:32 2012 New Revision: 238127 URL: http://svn.freebsd.org/changeset/base/238127 Log: Major updates/fixes to the distfile handling code ================================================= * Make all parts of the code SUBDIR-safe (most were already) - This involves using $port_subdir globally to refer to just the directory name under DISTDIR, and add a $full_port_subdir to contain the full path to the file for the places where that was used. This also allows simplifying a few places where both were needed. - Fix a few places where the relativity of the cwd was not respected, most often resulting in files not being deleted that should be * When checking DI_FILES, anchor the grep pattern with a ^ to avoid false positives * Move the storage of the distfile info back to /var/db/pkg where it should have been all along. Mostly for correctness, but also to deal with the problem of non-UNIQUENAMEs causing the wrong files to be deleted with -d. * Clean up the old /var/db/ports/*/distfiles files after reading them, and delete the directory if it's empty. Since we are doing this unconditionally now, there is no longer a need for delete_dist_list(). The new ones will live and die with the rest of the package directory. * Update some of the messages printed out for distfile-related things to make it more clear what's going on. * Check DI_FILES to see if the distfile could be valid for another port in more places, so add a function to deal with the common ones. * Add 2 more functions, make_distfiles() and make_port_subdir() to bring that common code (3 places each, ugh) under the same umbrella. Improve both implementations to use fewer forks. Other changes ============= * Add -e to the echo for pm_sv so that we can easily add a newline * Take advantage of the above, and other adjustments to the whitespace to try to fit with the general theme of ws after a section * Change the last 'find -d foo' to 'find foo -depth' * Use 'while read' for the installed distfiles file, less forks Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Thu Jul 5 07:20:16 2012 (r238126) +++ user/dougb/portmaster/portmaster Thu Jul 5 09:00:32 2012 (r238127) @@ -144,7 +144,7 @@ parent_exit () { fi fi if [ -z "$BACKUP" -a -z "$NO_BACKUP" -a -n "$NB_DELETE" ]; then - pm_sv 'Deleting safety packages for successful installs' + pm_sv 'Deleting safety packages for successful installs\n' pm_cd $pbu || fail "Cannot cd to $pbu" pm_rm_s $NB_DELETE fi @@ -166,7 +166,7 @@ parent_exit () { done if [ -n "$PM_WRKDIRPREFIX" -a -z "$1" ]; then - pm_v ; count=0 + count=0 while : ; do ps axww | grep '[m]ake clean NOCLEANDEPENDS=ncd' >/dev/null || break count=$(( $count + 1 )) @@ -225,7 +225,6 @@ parent_exit () { fi [ -n "$PM_LOG" ] && date >> $PM_LOG fi - [ -n "$PM_SU_VERBOSE" ] && echo '' case "$show_list" in all) echo "===>>> The following actions were performed:" echo -e $INSTALLED_LIST @@ -335,7 +334,7 @@ pm_rmdir_s () { $PM_SU_CMD /bin/r pm_unlink_s () { [ -e "$1" ] && $PM_SU_CMD /bin/unlink $1; } pm_v () { [ -n "$PM_VERBOSE" ] && echo "$*"; } -pm_sv () { [ -n "$PM_SU_VERBOSE" ] && echo "===>>> SU $*"; } +pm_sv () { [ -n "$PM_SU_VERBOSE" ] && echo -e "===>>> SU $*"; } # Do this here so we can have a reasonably good guess. # May be modified below. @@ -1266,7 +1265,7 @@ delete_empty_dist_subdirs () { # Get back to somewhere safe so we do not # delete our CWD out from under ourselves pm_cd $DISTDIR || fail "Cannot cd into $DISTDIR" - find -d $DISTDIR -type d \( -empty -and ! -path \*\.zfs/\* \) -delete + find $DISTDIR -depth -type d \( -empty -and ! -path \*\.zfs/\* \) -delete } init_packages_var () { @@ -1343,8 +1342,8 @@ if [ -n "$CLEAN_DISTFILES" ]; then echo "===>>> Checking for stale distfiles" ; echo '' for df in `find $DISTDIR -type f | sort`; do f=${df#$DISTDIR} - if ! grep -ql $f $DI_FILES; then - get_answer_yn n "\t===>>> Delete stale file: ${f}" + if ! grep -ql ^$f $DI_FILES; then + get_answer_yn n "\t===>>> Delete stale file: $f" case "$?" in 0) echo " Deleting $f" ; echo '' /bin/unlink $df ;; @@ -1778,57 +1777,66 @@ pm_pkg_create () { find_dl_distfiles () { # Global: dist_list dist_list_files - local file # We need to define these for use in the deletion/update process. - if pm_cd $pd/$1; then - dist_list=`pm_make_b -V OPTIONSFILE` - dist_list="${dist_list%options}distfiles" - - [ -s "$dist_list" ] || { unset dist_list ; return 0; } - [ -n "$DONT_SCRUB_DISTFILES" ] && return 0 - - # The grep is needed to allow for comments, etc. - for file in `grep ^DISTFILE $dist_list`; do - file=${file#DISTFILE:} ; file=${file%%:*} - dist_list_files="${dist_list_files}${file#*/} " - done + if [ -s "${pdb}/${upg_port}/distfiles" ]; then + dist_list="${pdb}/${upg_port}/distfiles" else - # The port might have moved, etc.; so take a stab at it, - # but do not take a chance with a possibly wrong answer - dist_list="$port_dbdir/${1##*/}/distfiles" - - [ -s "$dist_list" ] || { unset dist_list ; return 0; } - [ -n "$DONT_SCRUB_DISTFILES" ] && return 0 - - # Do not strip the subdir, we will use it in delete_all - for file in `grep ^DISTFILE $dist_list`; do - file=${file#DISTFILE:} ; file=${file%%:*} - dist_list_files="${dist_list_files}${file} " - done + # Old method, for now + if pm_cd $pd/$1; then + dist_list=`pm_make_b -V OPTIONSFILE` + dist_list="${dist_list%options}distfiles" + else + # The port might have moved, etc.; so take a stab at it, + # but do not take a chance with a possibly wrong answer + dist_list="$port_dbdir/${1##*/}/distfiles" + fi fi -} -delete_dist_list () { - [ -n "$dist_list" ] || return 0 + [ -s "$dist_list" ] || { unset dist_list ; return 0; } + [ -n "$DONT_SCRUB_DISTFILES" ] && return 0 + + local line + while read line; do + case "$line" in + DISTFILE*) line=${line#DISTFILE:} ; line=${line%%:*} + dist_list_files="${dist_list_files}${line#*/} " ;; + esac + done < $dist_list + + # Clean up after the old method + case "$dist_list" in + ${port_dbdir}*) + pm_sv Deleting $dist_list + pm_unlink_s $dist_list + + local dir=`find ${dist_list%/distfiles} -type d -empty 2>/dev/null` + if [ -d "$dir" ]; then + pm_sv Deleting empty $dir directory + pm_rmdir_s $dir + fi - local dir + unset dist_list ;; + esac +} - pm_sv Deleting $dist_list - pm_unlink_s $dist_list +check_di_files () { + # Global: distfiles_checked - dir=`find ${dist_list%/distfiles} -type d -empty 2>/dev/null` - if [ -d "$dir" ]; then - pm_sv Deleting the $dir directory - pm_rmdir_s $dir + if [ -s "$DI_FILES" ]; then + if grep -ql ^${port_subdir}${1} $DI_FILES; then + distfiles_checked="${distfiles_checked}${1}:" + pm_v "===>>> Keeping distfile, valid for another port: $1" + return 0 + fi fi + + return 1 } find_and_delete_distfiles () { - # Global: port_subdir DISTDIR distfiles distfiles_checked delete_all - local ps file answer - - ps=${port_subdir#$DISTDIR} + # Global: distfiles_checked + local file answer for file in ${1}*; do # This generally means the pattern did not match @@ -1844,23 +1852,17 @@ find_and_delete_distfiles () { case "$distfiles" in *" ${file} "*) distfiles_checked="${distfiles_checked}${file}:" - pm_v "===>>> Keeping current distfile: $file" + pm_v "===>>> Keeping current distfile: ${port_subdir}${file}" continue ;; # Do not delete current version - *) if [ -s "$DI_FILES" ]; then - if grep -ql ${ps}$file $DI_FILES; then - distfiles_checked="${distfiles_checked}${file}:" - pm_v "===>>> Keeping current distfile: $file" - continue # Do not delete current version - fi - fi + *) check_di_files $file && continue if [ -n "$ALWAYS_SCRUB_DISTFILES" -o -n "$delete_all" ]; then - echo "===>>> Deleting stale distfile: $file" + echo "===>>> Deleting stale distfile: ${port_subdir}${file}" pm_unlink $file continue fi - get_answer_g n y "\n===>>> Delete $file? y/n" + get_answer_g n y "\n===>>> Delete ${port_subdir}${file}? y/n" case "$?" in 1) pm_unlink $file ;; 0) distfiles_checked="${distfiles_checked}${file}:" ;; @@ -1869,9 +1871,27 @@ find_and_delete_distfiles () { done } -set_distfiles_and_subdir () { - # Global: dist_list_files distfiles port_subdir DISTDIR +make_distfiles () { + # Global: distfiles + + # Even if there are no distfiles there will be a space returned + distfiles=`pm_make -V ALLFILES` ; distfiles=${distfiles%% } + if [ -n "$distfiles" ]; then + distfiles=" $distfiles " + else + unset distfiles + fi +} + +make_port_subdir () { + # Global: port_subdir full_port_subdir + port_subdir=`pm_make -V DIST_SUBDIR` + port_subdir="${port_subdir:+${port_subdir}/}" + full_port_subdir="${DISTDIR}${port_subdir}" +} + +set_distfiles_and_subdir () { [ -z "$dist_list_files" ] && find_dl_distfiles $1 if [ -d "$pd/$1" ]; then @@ -1880,26 +1900,18 @@ set_distfiles_and_subdir () { return 1 fi - if [ -z "$distfiles" ]; then - distfiles=`pm_make -V ALLFILES | sed -e 's# *$##g'` - [ -n "$distfile" ] && distfiles=" ${distfiles} " - fi + [ -n "$distfiles" ] || make_distfiles + # Ports may have no distfiles [ -z "$dist_list_files" -a -z "$distfiles" ] && return 2 - if [ -z "$port_subdir" ]; then - port_subdir=`pm_make -V DIST_SUBDIR` - if [ -n "$port_subdir" ]; then - port_subdir="${DISTDIR}${port_subdir}/" - else - port_subdir=$DISTDIR - fi - fi - if [ -d "$port_subdir" ]; then - pm_cd $port_subdir || fail "cd to $port_subdir failed!" + [ -n "$full_port_subdir" ] || make_port_subdir + + if [ -d "$full_port_subdir" ]; then + pm_cd $full_port_subdir || fail "cd to $full_port_subdir failed!" else echo '' - echo "===>>> $port_subdir does not exist, therefore we" + echo "===>>> $full_port_subdir does not exist, therefore we" echo ' will assume that all relevant distfiles are gone.' echo '' echo " Try ${0##*/} [-y] --clean-distfiles for a full cleanup" @@ -1910,13 +1922,13 @@ set_distfiles_and_subdir () { } delete_stale_distfiles () { - # Global: distfiles port_subdir distfiles_checked delete_all + # Global: distfiles_checked local file answer set_distfiles_and_subdir $1 || return 0 distfiles_checked=':' - # If these two match, it means that the distfiles in the +CONTENTS + # If these two match, it means that the distfiles in the # file are the current set, so do not delete them. if [ ! " $dist_list_files" = "$distfiles" ]; then for file in $dist_list_files; do @@ -1925,17 +1937,19 @@ delete_stale_distfiles () { case "$distfiles" in *" ${file} "*) distfiles_checked="${distfiles_checked}${file}:" - pm_v "===>>> Keeping current distfile: $file" + pm_v "===>>> Keeping current distfile: ${port_subdir}${file}" continue ;; # Do not delete current version esac + check_di_files $file && continue + if [ -n "$ALWAYS_SCRUB_DISTFILES" -o -n "$delete_all" ]; then - echo "===>>> Deleting stale distfile: $file" + echo "===>>> Deleting stale distfile: ${port_subdir}${file}" pm_unlink $file continue fi - get_answer_g n y "\n===>>> Delete $file? y/n" + get_answer_g n y "\n===>>> Delete ${port_subdir}${file}? y/n" case "$?" in 1) pm_unlink $file ;; 0) distfiles_checked="${distfiles_checked}${file}:" ;; @@ -1944,7 +1958,7 @@ delete_stale_distfiles () { fi # Eventually we will hide this behind an "aggressive distfile purge" - # flag, but until the DISTFILE stuff is well populated in PORT_DBDIR, + # flag, but until the DISTFILE stuff is well populated # keep doing it both ways. for file in $distfiles $dist_list_files; do find_and_delete_distfiles ${file%[-]*}-[0-9] @@ -1972,16 +1986,16 @@ delete_all_distfiles () { answer=y if [ -z "$ALWAYS_SCRUB_DISTFILES" ]; then - echo "===>>> However, the list of files in $dist_list" + echo "===>>> However, the list of files from $dist_list" get_answer_g n y " should be current. Delete the files on this list? y/n" case "$?" in 0) answer=n ;; esac fi case "$answer" in [yY]) for f in $dist_list_files; do - if [ -f "${DISTDIR}${f}" ]; then - echo " Deleting ${DISTDIR}${f}" - /bin/unlink ${DISTDIR}${f} + if [ -f "$f" ]; then + echo " Deleting ${port_subdir}${f}" + /bin/unlink $f fi done ;; esac @@ -2094,7 +2108,7 @@ if [ -n "$EXPUNGE" ]; then fi [ -n "$BACKUP" ] && { init_packages ; pm_pkg_create $pbu $EXPUNGE; } - [ -z "$DONT_SCRUB_DISTFILES" ] && { delete_all_distfiles $origin; delete_dist_list; } + [ -z "$DONT_SCRUB_DISTFILES" ] && delete_all_distfiles $origin echo "===>>> Running pkg_delete -f $EXPUNGE" pm_pkg_delete_s -f $EXPUNGE || fail 'pkg_delete failed' @@ -2126,12 +2140,12 @@ if [ -n "$CLEAN_STALE" ]; then continue fi - pkg_info $iport + echo '' ; pkg_info $iport get_answer_yn n "\t===>>> ${iport} is no longer depended on, delete" case "$?" in 0) [ -n "$BACKUP" ] && { init_packages ; pm_pkg_create $pbu $iport; } - [ -z "$DONT_SCRUB_DISTFILES" ] && { delete_all_distfiles $origin; delete_dist_list; } + [ -z "$DONT_SCRUB_DISTFILES" ] && delete_all_distfiles $origin echo "===>>> Running pkg_delete -f $iport" pm_pkg_delete_s -f $iport || fail 'pkg_delete failed' @@ -2566,7 +2580,7 @@ dependency_check () { if [ -n "$SHOW_WORK" ]; then safe_exit elif [ -n "$PM_FIRST_PASS" -a -z "$PM_PACKAGES" ]; then - echo "===>>> Initial dependency check complete for $portdir" + echo -e "===>>> Initial dependency check complete for $portdir\n" else echo "===>>> Dependency check complete for $portdir" local deps ; deps="(${dep_of_deps}/${num_of_deps})" @@ -3266,8 +3280,7 @@ if [ -z "$PM_INDEX_ONLY" -a -z "$PM_BUIL # PATCHFILES may get added after the first pass, but we want to # do as much of this as we can, as early as we can, and # patch files are usually small anyway. - distfiles=`pm_make -V ALLFILES | sed -e 's# *$##g'` - [ -n "$distfiles" ] && distfiles=" ${distfiles} " + make_distfiles # Make sure that different ports using the same distfiles # do not clobber each other's fetchs @@ -3728,6 +3741,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" pm_pkg_delete_s -f $upg_port fi + echo '' pm_cd_pd $portdir fi @@ -3845,23 +3859,14 @@ fi unset temp # This will serve for *delete*distfiles() as well -[ -z "$use_package" ] && distfiles=`pm_make -V ALLFILES | sed -e 's# *$##g'` +[ -z "$use_package" ] && make_distfiles if [ -n "$distfiles" ]; then - distfiles=" ${distfiles} " - # Implement storage of distfile information in the way that # it will (hopefully, soon?) be implemented in bsd.port.mk # See http://www.freebsd.org/cgi/query-pr.cgi?pr=106483 - dist_list=`pm_make_b -V OPTIONSFILE` - dist_list="${dist_list%options}distfiles" - if [ ! -d "${dist_list%/distfiles}" ]; then - pm_sv Creating ${dist_list%/distfiles} - pm_mkdir_s ${dist_list%/distfiles} - fi + dist_list="${pdb}/${new_port}/distfiles" - ds=`pm_make -V DIST_SUBDIR` - [ -n "$ds" ] && ds="${ds}/" - port_subdir="${DISTDIR}${ds}" # Also for *delete*distfiles() + make_port_subdir if [ -s distinfo ]; then distinfo=distinfo @@ -3873,18 +3878,25 @@ if [ -n "$distfiles" ]; then pm_mktemp dist_list ; dist_list_temp=$pm_mktemp_file echo '# Added by portmaster' > $dist_list_temp for file in $distfiles; do - size=`grep "^SIZE (${ds}${file})" $distinfo` - sha256=`grep "^SHA256 (${ds}${file})" $distinfo` - echo "DISTFILE:${ds}${file}:SIZE=${size##* }:SHA256=${sha256##* }" \ - >> $dist_list_temp + while read line ; do + case "$line" in + SHA256\ \(${port_subdir}${file}\)*) sha256=${line##* } ;; + SIZE\ \(${port_subdir}${file}\)*) + [ -n "$sha256" ] || fail "$distinfo is out of order" + echo "DISTFILE:${port_subdir}${file}:SIZE=${line##* }:SHA256=${sha256}" \ + >> $dist_list_temp ; break ;; + esac + done < $distinfo + unset sha256 + # Make sure any new distfiles get added to the list [ -n "$DI_FILES" -a ! "$$" -eq "$PM_PARENT_PID" ] && - echo "${ds}$file" >> $DI_FILES + echo "${port_subdir}${file}" >> $DI_FILES done - pm_sv Installing $dist_list + pm_sv "Installing $dist_list\n" pm_install_s $dist_list_temp $dist_list - /bin/unlink $dist_list_temp ; unset ds dist_list_temp + /bin/unlink $dist_list_temp ; unset distinfo dist_list_temp file line fi if [ -n "$use_package" ]; then @@ -3924,7 +3936,7 @@ fi check_dependency_files $portdir $new_port if [ -s "$grep_deps" ]; then - echo "===>>> Updating dependency entry for $new_port in each dependent port"; pm_v + echo -e "===>>> Updating dependency entry for $new_port in each dependent port\n" while read d_port; do pm_v "===>>> $d_port" dp_cont=$pdb/$d_port/+CONTENTS @@ -3942,7 +3954,7 @@ if [ -s "$grep_deps" ]; then done < $grep_deps unset d_port dp_cont do_update - update_required_by $new_port + update_required_by $new_port ; pm_v fi if [ -n "$upg_port" ]; then @@ -3973,7 +3985,6 @@ if [ -z "$DONT_SCRUB_DISTFILES" ]; then delete_stale_distfiles $portdir if [ -n "$ro_opd" ]; then delete_all_distfiles $ro_opd - delete_dist_list fi fi From owner-svn-src-user@FreeBSD.ORG Thu Jul 5 09:49:52 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1B7B106564A; Thu, 5 Jul 2012 09:49:52 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BDE308FC18; Thu, 5 Jul 2012 09:49:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q659nq0H064651; Thu, 5 Jul 2012 09:49:52 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q659nq91064649; Thu, 5 Jul 2012 09:49:52 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207050949.q659nq91064649@svn.freebsd.org> From: Doug Barton Date: Thu, 5 Jul 2012 09:49:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238128 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 05 Jul 2012 09:49:52 -0000 Author: dougb Date: Thu Jul 5 09:49:52 2012 New Revision: 238128 URL: http://svn.freebsd.org/changeset/base/238128 Log: One more tiny whitespace tweak Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Thu Jul 5 09:00:32 2012 (r238127) +++ user/dougb/portmaster/portmaster Thu Jul 5 09:49:52 2012 (r238128) @@ -3746,7 +3746,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" fi if [ -z "$PM_THOROUGH" -a -z "$NO_DEP_UPDATES" ]; then - echo '' ; echo "===>>> Starting check for runtime dependencies" + echo "===>>> Starting check for runtime dependencies" dependency_check run-depends-list pm_cd_pd $portdir fi From owner-svn-src-user@FreeBSD.ORG Fri Jul 6 00:09:27 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 221201065670; Fri, 6 Jul 2012 00:09:27 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0EAAF8FC1A; Fri, 6 Jul 2012 00:09:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q6609Q9t027701; Fri, 6 Jul 2012 00:09:26 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q6609Qg9027699; Fri, 6 Jul 2012 00:09:26 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207060009.q6609Qg9027699@svn.freebsd.org> From: Doug Barton Date: Fri, 6 Jul 2012 00:09:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238155 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 06 Jul 2012 00:09:27 -0000 Author: dougb Date: Fri Jul 6 00:09:26 2012 New Revision: 238155 URL: http://svn.freebsd.org/changeset/base/238155 Log: * More whitespace twiddles * If using -i and there is an +IGNORME file, the default should be no Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jul 6 00:04:22 2012 (r238154) +++ user/dougb/portmaster/portmaster Fri Jul 6 00:09:26 2012 (r238155) @@ -172,13 +172,15 @@ parent_exit () { count=$(( $count + 1 )) if [ $count -eq 1 ]; then echo "===>>> Waiting for background 'make clean' processes to finish" + needws=needws elif [ $count -eq 10 ]; then count=0 fi sleep 2 done - pm_v "===>>> Removing empty directories from WRKDIRPREFIX" ; pm_v + pm_v "===>>> Removing empty directories from WRKDIRPREFIX" + [ -n "$needws" ] && echo '' || pm_v find $PM_WRKDIRPREFIX -depth -mindepth 1 -type d -empty -delete 2>/dev/null fi @@ -1056,6 +1058,7 @@ IFS=' if [ -n "$d_iport" ]; then pm_v " ===>>> Updating @pkgdep for $d_origin" else + echo '' echo " ===>>> $d_origin is listed as a dependency" echo " ===>>> but there is no installed version" echo '' @@ -1307,7 +1310,7 @@ parse_index () { } update_required_by () { - # Global: grep_deps + # Global: grep_deps needws local do_update if [ -e "$pdb/$1/+REQUIRED_BY" ]; then @@ -1318,6 +1321,7 @@ update_required_by () { fi if [ -n "$do_update" ]; then pm_v " ===>>> Updating $1/+REQUIRED_BY" + needws=needws_urb pm_install_s $grep_deps $pdb/$1/+REQUIRED_BY fi @@ -2199,13 +2203,20 @@ check_interactive () { echo '' echo "===>>> +IGNOREME file is present for $1" echo '' + get_answer_g n y "===>>> Update ${1}${update_to}? y/n" + + case "$?" in + 1) INTERACTIVE_YES="${INTERACTIVE_YES}${1}:" ;; + 0) INTERACTIVE_NO="${INTERACTIVE_NO}${1}:" ; return 1 ;; + esac + else + get_answer_g y n "===>>> Update ${1}${update_to}? y/n" + + case "$?" in + 0) INTERACTIVE_YES="${INTERACTIVE_YES}${1}:" ;; + 1) INTERACTIVE_NO="${INTERACTIVE_NO}${1}:" ; return 1 ;; + esac fi - get_answer_g y n "===>>> Update ${1}${update_to}? y/n" - case "$?" in - 0) INTERACTIVE_YES="${INTERACTIVE_YES}${1}:" ;; - 1) INTERACTIVE_NO="${INTERACTIVE_NO}${1}:" ; return 1 ;; - esac - return 0 } check_exclude () { @@ -3901,9 +3912,8 @@ fi if [ -n "$use_package" ]; then if grep -q DEPORIGIN $pdb/$new_port/+CONTENTS; then - echo "===>>> Updating dependencies for $new_port to match installed versions" - update_contents $pdb/$new_port/+CONTENTS - echo '' + echo -e "===>>> Updating dependencies for $new_port to match installed versions\n" + update_contents $pdb/$new_port/+CONTENTS ; pm_v while read atc s; do case "$atc" in @@ -3914,7 +3924,8 @@ if [ -n "$use_package" ]; then unset pkgdep ;; esac done < $pdb/$new_port/+CONTENTS - unset atc s ; pm_v + [ -n "$needws" ] && { pm_v; unset needws; } + unset atc s fi fi @@ -3942,19 +3953,22 @@ if [ -s "$grep_deps" ]; then dp_cont=$pdb/$d_port/+CONTENTS [ -e "$dp_cont" ] || continue - if [ -n "$ro_opd" ]; then - grep -ql "DEPORIGIN:$ro_opd$" $dp_cont && - update_contents $dp_cont $portdir $new_port $ro_opd + if [ -n "$ro_opd" ] && grep -ql "DEPORIGIN:$ro_opd$" $dp_cont; then + update_contents $dp_cont $portdir $new_port $ro_opd + needws=needws fi # Do this one last so it can get deleted as a duplicate # if ro_opd is present. if grep -ql "DEPORIGIN:$portdir$" $dp_cont; then update_contents $dp_cont $portdir $new_port + needws=needws fi done < $grep_deps - unset d_port dp_cont do_update + [ -n "$needws" ] && pm_v + unset d_port dp_cont do_update needws - update_required_by $new_port ; pm_v + update_required_by $new_port + [ -n "$needws" ] && { pm_v; unset needws; } fi if [ -n "$upg_port" ]; then From owner-svn-src-user@FreeBSD.ORG Fri Jul 6 00:58:28 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11F641065673; Fri, 6 Jul 2012 00:58:28 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F18808FC0A; Fri, 6 Jul 2012 00:58:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q660wRj0029784; Fri, 6 Jul 2012 00:58:27 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q660wRY3029782; Fri, 6 Jul 2012 00:58:27 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207060058.q660wRY3029782@svn.freebsd.org> From: Doug Barton Date: Fri, 6 Jul 2012 00:58:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238157 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 06 Jul 2012 00:58:28 -0000 Author: dougb Date: Fri Jul 6 00:58:27 2012 New Revision: 238157 URL: http://svn.freebsd.org/changeset/base/238157 Log: 2 more small ws twiddles Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jul 6 00:09:29 2012 (r238156) +++ user/dougb/portmaster/portmaster Fri Jul 6 00:58:27 2012 (r238157) @@ -2361,7 +2361,7 @@ update_port () { if [ -n "$UPDATE_ALL" ]; then # Fix terminal titlebar in case of a long delay between ports to update term_printf " (${num_of_deps})" - echo -e "\n===>>> Returning to update check of installed ports\n" + echo -e "===>>> Returning to update check of installed ports\n" elif [ -n "$PM_URB" ]; then return 0 elif [ -n "$PM_FIRST_PASS" -a -z "$PM_PACKAGES" ]; then @@ -2443,7 +2443,7 @@ dependency_check () { d_port_list=`gen_dep_list $1` if [ -z "$d_port_list" ]; then - echo "===>>> No dependencies for $portdir" + echo -e "===>>> No dependencies for $portdir\n" [ -n "$SHOW_WORK" ] && safe_exit return 0 else From owner-svn-src-user@FreeBSD.ORG Sat Jul 7 10:13:21 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AF941065675; Sat, 7 Jul 2012 10:13:21 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E05418FC1D; Sat, 7 Jul 2012 10:13:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q67ADKuB038487; Sat, 7 Jul 2012 10:13:20 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q67ADKOj038485; Sat, 7 Jul 2012 10:13:20 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207071013.q67ADKOj038485@svn.freebsd.org> From: Doug Barton Date: Sat, 7 Jul 2012 10:13:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238195 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 07 Jul 2012 10:13:21 -0000 Author: dougb Date: Sat Jul 7 10:13:20 2012 New Revision: 238195 URL: http://svn.freebsd.org/changeset/base/238195 Log: For --features: * Most don't create $IPC_SAVE, so don't try to source it in a trap if it doesn't exist * $grep_deps may exist for some features, like --check-depends, so always delete it in safe_exit if it exists Other: * Don't try to clean out WRKDIRPREFIX if we're not actually building * In update_contents() streamline the code that handles replacing the file if necessary * Simplify the whitespace in the code that updates dependencies after an install, there will always be at least one pm_v printed, so no need to be coy about it Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Sat Jul 7 08:19:34 2012 (r238194) +++ user/dougb/portmaster/portmaster Sat Jul 7 10:13:20 2012 (r238195) @@ -73,7 +73,7 @@ trap_exit () { fi if [ "$$" -eq "$PM_PARENT_PID" ]; then - . $IPC_SAVE + [ -s "$IPC_SAVE" ] && . $IPC_SAVE local n=0 while ps -axo pid,ppid,command | grep -v egrep | @@ -100,7 +100,7 @@ trap_exit () { if ! ls ${TMPDIR}/f-${PM_PARENT_PID}-TEAC\.* >/dev/null 2>&1; then pm_mktemp TEAC # Trap Exit Already Called else - . $IPC_SAVE + [ -s "$IPC_SAVE" ] && . $IPC_SAVE fi fi safe_exit 1 @@ -165,7 +165,7 @@ parent_exit () { /bin/unlink $f done - if [ -n "$PM_WRKDIRPREFIX" -a -z "$1" ]; then + if [ -n "$PM_WRKDIRPREFIX" ] && [ -n "$PM_BUILDING" -a -z "$1" ]; then count=0 while : ; do ps axww | grep '[m]ake clean NOCLEANDEPENDS=ncd' >/dev/null || break @@ -256,11 +256,11 @@ parent_exit () { } safe_exit () { + [ -n "$grep_deps" ] && pm_unlink $grep_deps + if [ "$$" -eq "$PM_PARENT_PID" ]; then parent_exit $1 else - [ -n "$grep_deps" ] && pm_unlink $grep_deps - # Save state for the parent process to read back in > $IPC_SAVE if [ -z "$PM_FIRST_PASS" ]; then @@ -1102,12 +1102,13 @@ IFS=' done [ -n "$prev_line" ] && echo $prev_line >> $new_cont - cmp -s $contents $new_cont && { /bin/unlink $new_cont ; return; } + if ! cmp -s $contents $new_cont; then + check_regular_file $contents + pm_v " ===>>> Installing the new +CONTENTS file" + pm_install_s $new_cont $contents + fi - check_regular_file $contents - pm_v " ===>>> Installing the new +CONTENTS file" - pm_install_s $new_cont $contents - pm_unlink $new_cont + /bin/unlink $new_cont } find_moved_port () { @@ -1310,7 +1311,7 @@ parse_index () { } update_required_by () { - # Global: grep_deps needws + # Global: needws local do_update if [ -e "$pdb/$1/+REQUIRED_BY" ]; then @@ -3955,17 +3956,14 @@ if [ -s "$grep_deps" ]; then if [ -n "$ro_opd" ] && grep -ql "DEPORIGIN:$ro_opd$" $dp_cont; then update_contents $dp_cont $portdir $new_port $ro_opd - needws=needws fi # Do this one last so it can get deleted as a duplicate # if ro_opd is present. if grep -ql "DEPORIGIN:$portdir$" $dp_cont; then update_contents $dp_cont $portdir $new_port - needws=needws fi done < $grep_deps - [ -n "$needws" ] && pm_v - unset d_port dp_cont do_update needws + unset d_port dp_cont ; pm_v update_required_by $new_port [ -n "$needws" ] && { pm_v; unset needws; } From owner-svn-src-user@FreeBSD.ORG Sat Jul 7 17:55:29 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC6A91065674; Sat, 7 Jul 2012 17:55:29 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 972A48FC0A; Sat, 7 Jul 2012 17:55:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q67HtTcK071549; Sat, 7 Jul 2012 17:55:29 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q67HtTB2071525; Sat, 7 Jul 2012 17:55:29 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201207071755.q67HtTB2071525@svn.freebsd.org> From: Attilio Rao Date: Sat, 7 Jul 2012 17:55:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238207 - in user/attilio/vmcontention: . cddl/compat/opensolaris/misc cddl/contrib/dtracetoolkit cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize cddl/contrib/opensolaris... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 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, 07 Jul 2012 17:55:30 -0000 Author: attilio Date: Sat Jul 7 17:55:27 2012 New Revision: 238207 URL: http://svn.freebsd.org/changeset/base/238207 Log: MFC Added: user/attilio/vmcontention/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/ - copied from r238204, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/ user/attilio/vmcontention/share/man/man4/acpi_asus_wmi.4 - copied unchanged from r238204, head/share/man/man4/acpi_asus_wmi.4 user/attilio/vmcontention/share/man/man4/bxe.4 - copied unchanged from r238204, head/share/man/man4/bxe.4 user/attilio/vmcontention/sys/arm/at91/at91sam9x25.c - copied unchanged from r238204, head/sys/arm/at91/at91sam9x25.c user/attilio/vmcontention/sys/arm/at91/at91sam9x25reg.h - copied unchanged from r238204, head/sys/arm/at91/at91sam9x25reg.h user/attilio/vmcontention/sys/arm/at91/board_sam9x25ek.c - copied unchanged from r238204, head/sys/arm/at91/board_sam9x25ek.c user/attilio/vmcontention/sys/arm/at91/std.atmel - copied unchanged from r238204, head/sys/arm/at91/std.atmel user/attilio/vmcontention/sys/arm/at91/std.sam9x25ek - copied unchanged from r238204, head/sys/arm/at91/std.sam9x25ek user/attilio/vmcontention/sys/arm/conf/ATMEL - copied unchanged from r238204, head/sys/arm/conf/ATMEL user/attilio/vmcontention/sys/arm/conf/SAM9X25EK - copied unchanged from r238204, head/sys/arm/conf/SAM9X25EK user/attilio/vmcontention/sys/arm/conf/SAM9X25EK.hints - copied unchanged from r238204, head/sys/arm/conf/SAM9X25EK.hints user/attilio/vmcontention/sys/arm/include/board.h - copied unchanged from r238204, head/sys/arm/include/board.h user/attilio/vmcontention/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.3.fw.uu - copied unchanged from r238204, head/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.3.fw.uu user/attilio/vmcontention/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu - copied unchanged from r238204, head/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu user/attilio/vmcontention/sys/dev/acpi_support/acpi_asus_wmi.c - copied unchanged from r238204, head/sys/dev/acpi_support/acpi_asus_wmi.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c - copied unchanged from r238204, head/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.h - copied unchanged from r238204, head/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c - copied unchanged from r238204, head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9003/ar9300_btcoex.h - copied unchanged from r238204, head/sys/dev/ath/ath_hal/ar9003/ar9300_btcoex.h user/attilio/vmcontention/sys/dev/ath/if_ath_rx_edma.c - copied unchanged from r238204, head/sys/dev/ath/if_ath_rx_edma.c user/attilio/vmcontention/sys/dev/ath/if_ath_rx_edma.h - copied unchanged from r238204, head/sys/dev/ath/if_ath_rx_edma.h user/attilio/vmcontention/sys/dev/e1000/e1000_i210.c - copied unchanged from r238204, head/sys/dev/e1000/e1000_i210.c user/attilio/vmcontention/sys/dev/e1000/e1000_i210.h - copied unchanged from r238204, head/sys/dev/e1000/e1000_i210.h user/attilio/vmcontention/sys/dev/nand/nfc_fsl.c - copied unchanged from r238204, head/sys/dev/nand/nfc_fsl.c user/attilio/vmcontention/sys/dev/nand/nfc_fsl.h - copied unchanged from r238204, head/sys/dev/nand/nfc_fsl.h user/attilio/vmcontention/sys/ia64/ia64/physmem.c - copied unchanged from r238204, head/sys/ia64/ia64/physmem.c user/attilio/vmcontention/sys/modules/acpi/acpi_asus_wmi/ - copied from r238204, head/sys/modules/acpi/acpi_asus_wmi/ user/attilio/vmcontention/sys/modules/nand/ - copied from r238204, head/sys/modules/nand/ user/attilio/vmcontention/tools/build/options/WITHOUT_PKGBOOTSTRAP - copied unchanged from r238204, head/tools/build/options/WITHOUT_PKGBOOTSTRAP user/attilio/vmcontention/tools/build/options/WITH_GNU_SORT - copied unchanged from r238204, head/tools/build/options/WITH_GNU_SORT user/attilio/vmcontention/tools/build/options/WITH_INSTALL_AS_USER - copied unchanged from r238204, head/tools/build/options/WITH_INSTALL_AS_USER user/attilio/vmcontention/tools/regression/usr.bin/make/syntax/funny-targets/ - copied from r238204, head/tools/regression/usr.bin/make/syntax/funny-targets/ Deleted: user/attilio/vmcontention/tools/build/options/WITH_BSD_SORT Modified: user/attilio/vmcontention/Makefile user/attilio/vmcontention/Makefile.inc1 user/attilio/vmcontention/ObsoleteFiles.inc user/attilio/vmcontention/UPDATING user/attilio/vmcontention/cddl/compat/opensolaris/misc/deviceid.c user/attilio/vmcontention/cddl/contrib/dtracetoolkit/dtruss user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h user/attilio/vmcontention/contrib/binutils/gas/config/tc-i386.c user/attilio/vmcontention/contrib/binutils/opcodes/i386-dis.c user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.h user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.tbl user/attilio/vmcontention/contrib/binutils/opcodes/i386-tbl.h user/attilio/vmcontention/contrib/less/LICENSE user/attilio/vmcontention/contrib/less/Makefile.aut user/attilio/vmcontention/contrib/less/NEWS user/attilio/vmcontention/contrib/less/README user/attilio/vmcontention/contrib/less/brac.c user/attilio/vmcontention/contrib/less/ch.c user/attilio/vmcontention/contrib/less/charset.c user/attilio/vmcontention/contrib/less/charset.h user/attilio/vmcontention/contrib/less/cmd.h user/attilio/vmcontention/contrib/less/cmdbuf.c user/attilio/vmcontention/contrib/less/command.c user/attilio/vmcontention/contrib/less/configure user/attilio/vmcontention/contrib/less/configure.ac user/attilio/vmcontention/contrib/less/cvt.c user/attilio/vmcontention/contrib/less/decode.c user/attilio/vmcontention/contrib/less/defines.ds user/attilio/vmcontention/contrib/less/defines.h.in user/attilio/vmcontention/contrib/less/defines.o2 user/attilio/vmcontention/contrib/less/defines.o9 user/attilio/vmcontention/contrib/less/defines.wn user/attilio/vmcontention/contrib/less/edit.c user/attilio/vmcontention/contrib/less/filename.c user/attilio/vmcontention/contrib/less/forwback.c user/attilio/vmcontention/contrib/less/help.c user/attilio/vmcontention/contrib/less/ifile.c user/attilio/vmcontention/contrib/less/input.c user/attilio/vmcontention/contrib/less/jump.c user/attilio/vmcontention/contrib/less/less.h user/attilio/vmcontention/contrib/less/less.hlp user/attilio/vmcontention/contrib/less/less.man user/attilio/vmcontention/contrib/less/less.nro user/attilio/vmcontention/contrib/less/lessecho.c user/attilio/vmcontention/contrib/less/lessecho.man user/attilio/vmcontention/contrib/less/lessecho.nro user/attilio/vmcontention/contrib/less/lesskey.c user/attilio/vmcontention/contrib/less/lesskey.h user/attilio/vmcontention/contrib/less/lesskey.man user/attilio/vmcontention/contrib/less/lesskey.nro user/attilio/vmcontention/contrib/less/lglob.h user/attilio/vmcontention/contrib/less/line.c user/attilio/vmcontention/contrib/less/linenum.c user/attilio/vmcontention/contrib/less/lsystem.c user/attilio/vmcontention/contrib/less/main.c user/attilio/vmcontention/contrib/less/mark.c user/attilio/vmcontention/contrib/less/mkhelp.c user/attilio/vmcontention/contrib/less/optfunc.c user/attilio/vmcontention/contrib/less/option.c user/attilio/vmcontention/contrib/less/option.h user/attilio/vmcontention/contrib/less/opttbl.c user/attilio/vmcontention/contrib/less/os.c user/attilio/vmcontention/contrib/less/output.c user/attilio/vmcontention/contrib/less/pattern.c user/attilio/vmcontention/contrib/less/pattern.h user/attilio/vmcontention/contrib/less/pckeys.h user/attilio/vmcontention/contrib/less/position.c user/attilio/vmcontention/contrib/less/position.h user/attilio/vmcontention/contrib/less/prompt.c user/attilio/vmcontention/contrib/less/screen.c user/attilio/vmcontention/contrib/less/scrsize.c user/attilio/vmcontention/contrib/less/search.c user/attilio/vmcontention/contrib/less/signal.c user/attilio/vmcontention/contrib/less/tags.c user/attilio/vmcontention/contrib/less/ttyin.c user/attilio/vmcontention/contrib/less/version.c user/attilio/vmcontention/contrib/top/display.c user/attilio/vmcontention/contrib/top/layout.h user/attilio/vmcontention/contrib/top/machine.h user/attilio/vmcontention/contrib/top/top.c user/attilio/vmcontention/contrib/traceroute/traceroute.8 user/attilio/vmcontention/crypto/openssh/ssh-keyscan.1 user/attilio/vmcontention/crypto/openssh/ssh-keyscan.c user/attilio/vmcontention/crypto/openssl/CHANGES user/attilio/vmcontention/crypto/openssl/Configure user/attilio/vmcontention/crypto/openssl/FAQ user/attilio/vmcontention/crypto/openssl/LICENSE user/attilio/vmcontention/crypto/openssl/Makefile user/attilio/vmcontention/crypto/openssl/NEWS user/attilio/vmcontention/crypto/openssl/README user/attilio/vmcontention/crypto/openssl/apps/Makefile user/attilio/vmcontention/crypto/openssl/apps/asn1pars.c user/attilio/vmcontention/crypto/openssl/apps/cms.c user/attilio/vmcontention/crypto/openssl/apps/openssl.cnf user/attilio/vmcontention/crypto/openssl/apps/pkcs12.c user/attilio/vmcontention/crypto/openssl/apps/s_client.c user/attilio/vmcontention/crypto/openssl/apps/s_server.c user/attilio/vmcontention/crypto/openssl/apps/x509.c user/attilio/vmcontention/crypto/openssl/config user/attilio/vmcontention/crypto/openssl/crypto/asn1/a_object.c user/attilio/vmcontention/crypto/openssl/crypto/asn1/a_strex.c user/attilio/vmcontention/crypto/openssl/crypto/asn1/a_strnid.c user/attilio/vmcontention/crypto/openssl/crypto/asn1/asn1.h user/attilio/vmcontention/crypto/openssl/crypto/asn1/asn_mime.c user/attilio/vmcontention/crypto/openssl/crypto/asn1/x_name.c user/attilio/vmcontention/crypto/openssl/crypto/asn1/x_pubkey.c user/attilio/vmcontention/crypto/openssl/crypto/bio/bf_buff.c user/attilio/vmcontention/crypto/openssl/crypto/bio/bio.h user/attilio/vmcontention/crypto/openssl/crypto/bio/bss_dgram.c user/attilio/vmcontention/crypto/openssl/crypto/bn/asm/mo-586.pl user/attilio/vmcontention/crypto/openssl/crypto/bn/asm/ppc.pl user/attilio/vmcontention/crypto/openssl/crypto/bn/bn_blind.c user/attilio/vmcontention/crypto/openssl/crypto/bn/bn_gf2m.c user/attilio/vmcontention/crypto/openssl/crypto/cms/cms.h user/attilio/vmcontention/crypto/openssl/crypto/cms/cms_enc.c user/attilio/vmcontention/crypto/openssl/crypto/cms/cms_env.c user/attilio/vmcontention/crypto/openssl/crypto/cms/cms_io.c user/attilio/vmcontention/crypto/openssl/crypto/cms/cms_lcl.h user/attilio/vmcontention/crypto/openssl/crypto/cms/cms_smime.c user/attilio/vmcontention/crypto/openssl/crypto/comp/c_rle.c user/attilio/vmcontention/crypto/openssl/crypto/conf/conf_api.c user/attilio/vmcontention/crypto/openssl/crypto/cryptlib.c user/attilio/vmcontention/crypto/openssl/crypto/crypto.h user/attilio/vmcontention/crypto/openssl/crypto/ec/ec2_smpl.c user/attilio/vmcontention/crypto/openssl/crypto/ec/ec_key.c user/attilio/vmcontention/crypto/openssl/crypto/ec/ecp_smpl.c user/attilio/vmcontention/crypto/openssl/crypto/ecdsa/ecdsatest.c user/attilio/vmcontention/crypto/openssl/crypto/ecdsa/ecs_ossl.c user/attilio/vmcontention/crypto/openssl/crypto/evp/evp_test.c user/attilio/vmcontention/crypto/openssl/crypto/ocsp/ocsp_lib.c user/attilio/vmcontention/crypto/openssl/crypto/opensslv.h user/attilio/vmcontention/crypto/openssl/crypto/perlasm/cbc.pl user/attilio/vmcontention/crypto/openssl/crypto/pkcs7/pk7_smime.c user/attilio/vmcontention/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl user/attilio/vmcontention/crypto/openssl/crypto/rc4/rc4_skey.c user/attilio/vmcontention/crypto/openssl/crypto/rsa/rsa_eay.c user/attilio/vmcontention/crypto/openssl/crypto/x509/x509_vfy.c user/attilio/vmcontention/crypto/openssl/crypto/x509v3/v3_addr.c user/attilio/vmcontention/crypto/openssl/crypto/x509v3/v3_asid.c user/attilio/vmcontention/crypto/openssl/doc/HOWTO/proxy_certificates.txt user/attilio/vmcontention/crypto/openssl/doc/apps/ca.pod user/attilio/vmcontention/crypto/openssl/doc/apps/dgst.pod user/attilio/vmcontention/crypto/openssl/doc/crypto/engine.pod user/attilio/vmcontention/crypto/openssl/doc/ssl/SSL_clear.pod user/attilio/vmcontention/crypto/openssl/engines/e_capi.c user/attilio/vmcontention/crypto/openssl/engines/e_capi_err.h user/attilio/vmcontention/crypto/openssl/fips/fips_canister.c user/attilio/vmcontention/crypto/openssl/openssl.spec user/attilio/vmcontention/crypto/openssl/ssl/bio_ssl.c user/attilio/vmcontention/crypto/openssl/ssl/d1_both.c user/attilio/vmcontention/crypto/openssl/ssl/d1_clnt.c user/attilio/vmcontention/crypto/openssl/ssl/d1_enc.c user/attilio/vmcontention/crypto/openssl/ssl/d1_lib.c user/attilio/vmcontention/crypto/openssl/ssl/d1_pkt.c user/attilio/vmcontention/crypto/openssl/ssl/d1_srvr.c user/attilio/vmcontention/crypto/openssl/ssl/s2_srvr.c user/attilio/vmcontention/crypto/openssl/ssl/s3_clnt.c user/attilio/vmcontention/crypto/openssl/ssl/s3_lib.c user/attilio/vmcontention/crypto/openssl/ssl/s3_srvr.c user/attilio/vmcontention/crypto/openssl/ssl/ssl.h user/attilio/vmcontention/crypto/openssl/ssl/ssl_ciph.c user/attilio/vmcontention/crypto/openssl/ssl/ssl_err.c user/attilio/vmcontention/crypto/openssl/ssl/ssl_lib.c user/attilio/vmcontention/crypto/openssl/ssl/ssl_locl.h user/attilio/vmcontention/crypto/openssl/ssl/t1_lib.c user/attilio/vmcontention/crypto/openssl/util/fipslink.pl user/attilio/vmcontention/crypto/openssl/util/mkerr.pl user/attilio/vmcontention/crypto/openssl/util/pl/VC-32.pl user/attilio/vmcontention/etc/rc.d/jail user/attilio/vmcontention/etc/syslog.conf user/attilio/vmcontention/gnu/usr.bin/sort/Makefile user/attilio/vmcontention/include/printf.h user/attilio/vmcontention/include/wchar.h user/attilio/vmcontention/lib/libc/gen/arc4random.c user/attilio/vmcontention/lib/libc/gen/directory.3 user/attilio/vmcontention/lib/libc/gen/sysconf.c user/attilio/vmcontention/lib/libc/gen/syslog.c user/attilio/vmcontention/lib/libc/locale/collate.c user/attilio/vmcontention/lib/libc/locale/ctype_l.3 user/attilio/vmcontention/lib/libc/locale/setrunelocale.c user/attilio/vmcontention/lib/libc/stdio/xprintf.c user/attilio/vmcontention/lib/libc/stdlib/Makefile.inc user/attilio/vmcontention/lib/libc/stdlib/strfmon.3 user/attilio/vmcontention/lib/libc/stdtime/Makefile.inc user/attilio/vmcontention/lib/libc/stdtime/strftime.3 user/attilio/vmcontention/lib/libc/stdtime/strptime.3 user/attilio/vmcontention/lib/libedit/chared.c user/attilio/vmcontention/lib/libedit/chared.h user/attilio/vmcontention/lib/libedit/editline.3 user/attilio/vmcontention/lib/libedit/editrc.5 user/attilio/vmcontention/lib/libedit/el.h user/attilio/vmcontention/lib/libedit/read.c user/attilio/vmcontention/lib/libedit/sig.c user/attilio/vmcontention/lib/libedit/sig.h user/attilio/vmcontention/lib/libelf/Makefile user/attilio/vmcontention/libexec/rtld-elf/rtld.c user/attilio/vmcontention/release/doc/en_US.ISO8859-1/hardware/article.sgml user/attilio/vmcontention/release/doc/share/misc/dev.archlist.txt user/attilio/vmcontention/sbin/geom/class/eli/geli.8 user/attilio/vmcontention/sbin/geom/class/raid/graid.8 user/attilio/vmcontention/sbin/growfs/growfs.c user/attilio/vmcontention/sbin/hastd/primary.c user/attilio/vmcontention/sbin/hastd/proto_common.c user/attilio/vmcontention/sbin/ipfw/ipfw.8 user/attilio/vmcontention/sbin/mdconfig/Makefile user/attilio/vmcontention/sbin/mdconfig/mdconfig.8 user/attilio/vmcontention/sbin/ping/ping.c user/attilio/vmcontention/secure/lib/libcrypto/Makefile.inc user/attilio/vmcontention/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ASN1_STRING_length.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ASN1_STRING_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ASN1_generate_nconf.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_ctrl.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_base64.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_buffer.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_cipher.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_md.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_null.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_f_ssl.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_find_type.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_push.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_read.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_accept.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_bio.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_connect.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_fd.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_file.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_mem.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_null.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_s_socket.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_set_callback.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BIO_should_retry.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_BLINDING_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_CTX_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_CTX_start.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_add.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_add_word.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_bn2bin.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_cmp.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_copy.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_generate_prime.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_mod_inverse.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_num_bytes.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_rand.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_set_bit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_swap.3 user/attilio/vmcontention/secure/lib/libcrypto/man/BN_zero.3 user/attilio/vmcontention/secure/lib/libcrypto/man/CONF_modules_free.3 user/attilio/vmcontention/secure/lib/libcrypto/man/CONF_modules_load_file.3 user/attilio/vmcontention/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_generate_key.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_generate_parameters.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_set_method.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DH_size.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_SIG_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_do_sign.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_dup_DH.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_generate_key.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_generate_parameters.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_set_method.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_sign.3 user/attilio/vmcontention/secure/lib/libcrypto/man/DSA_size.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_GET_LIB.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_clear_error.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_error_string.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_get_error.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_load_strings.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_print_errors.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_put_error.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_remove_state.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ERR_set_mark.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_BytesToKey.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_DigestInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_EncryptInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_OpenInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_PKEY_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_SealInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_SignInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/EVP_VerifyInit.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OBJ_nid2obj.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OPENSSL_Applink.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OPENSSL_config.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 user/attilio/vmcontention/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS12_create.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS12_parse.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS7_decrypt.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS7_encrypt.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS7_sign.3 user/attilio/vmcontention/secure/lib/libcrypto/man/PKCS7_verify.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_add.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_bytes.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_cleanup.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_egd.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_load_file.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RAND_set_rand_method.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_blinding_on.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_check_key.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_generate_key.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_print.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_private_encrypt.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_public_encrypt.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_set_method.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_sign.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 user/attilio/vmcontention/secure/lib/libcrypto/man/RSA_size.3 user/attilio/vmcontention/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 user/attilio/vmcontention/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 user/attilio/vmcontention/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 user/attilio/vmcontention/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 user/attilio/vmcontention/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 user/attilio/vmcontention/secure/lib/libcrypto/man/X509_NAME_print_ex.3 user/attilio/vmcontention/secure/lib/libcrypto/man/X509_new.3 user/attilio/vmcontention/secure/lib/libcrypto/man/bio.3 user/attilio/vmcontention/secure/lib/libcrypto/man/blowfish.3 user/attilio/vmcontention/secure/lib/libcrypto/man/bn.3 user/attilio/vmcontention/secure/lib/libcrypto/man/bn_internal.3 user/attilio/vmcontention/secure/lib/libcrypto/man/buffer.3 user/attilio/vmcontention/secure/lib/libcrypto/man/crypto.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_DHparams.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509_CRL.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509_NAME.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509_REQ.3 user/attilio/vmcontention/secure/lib/libcrypto/man/d2i_X509_SIG.3 user/attilio/vmcontention/secure/lib/libcrypto/man/des.3 user/attilio/vmcontention/secure/lib/libcrypto/man/dh.3 user/attilio/vmcontention/secure/lib/libcrypto/man/dsa.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ecdsa.3 user/attilio/vmcontention/secure/lib/libcrypto/man/engine.3 user/attilio/vmcontention/secure/lib/libcrypto/man/err.3 user/attilio/vmcontention/secure/lib/libcrypto/man/evp.3 user/attilio/vmcontention/secure/lib/libcrypto/man/hmac.3 user/attilio/vmcontention/secure/lib/libcrypto/man/lh_stats.3 user/attilio/vmcontention/secure/lib/libcrypto/man/lhash.3 user/attilio/vmcontention/secure/lib/libcrypto/man/md5.3 user/attilio/vmcontention/secure/lib/libcrypto/man/mdc2.3 user/attilio/vmcontention/secure/lib/libcrypto/man/pem.3 user/attilio/vmcontention/secure/lib/libcrypto/man/rand.3 user/attilio/vmcontention/secure/lib/libcrypto/man/rc4.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ripemd.3 user/attilio/vmcontention/secure/lib/libcrypto/man/rsa.3 user/attilio/vmcontention/secure/lib/libcrypto/man/sha.3 user/attilio/vmcontention/secure/lib/libcrypto/man/threads.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ui.3 user/attilio/vmcontention/secure/lib/libcrypto/man/ui_compat.3 user/attilio/vmcontention/secure/lib/libcrypto/man/x509.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CIPHER_get_name.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_add_session.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_ctrl.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_free.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_new.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_sess_number.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_sessions.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_mode.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_options.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_timeout.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_set_verify.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_CTX_use_certificate.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_SESSION_free.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_SESSION_get_time.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_accept.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_alert_type_string.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_clear.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_connect.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_do_handshake.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_free.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_SSL_CTX.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_ciphers.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_client_CA_list.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_current_cipher.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_default_timeout.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_error.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_ex_new_index.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_fd.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_peer_certificate.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_rbio.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_session.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_verify_result.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_get_version.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_library_init.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_load_client_CA_file.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_new.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_pending.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_read.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_rstate_string.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_session_reused.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_bio.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_connect_state.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_fd.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_session.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_shutdown.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_set_verify_result.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_shutdown.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_state_string.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_want.3 user/attilio/vmcontention/secure/lib/libssl/man/SSL_write.3 user/attilio/vmcontention/secure/lib/libssl/man/d2i_SSL_SESSION.3 user/attilio/vmcontention/secure/lib/libssl/man/ssl.3 user/attilio/vmcontention/secure/usr.bin/openssl/man/CA.pl.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/asn1parse.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/ca.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/ciphers.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/crl.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/crl2pkcs7.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/dgst.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/dhparam.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/dsa.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/dsaparam.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/ec.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/ecparam.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/enc.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/errstr.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/gendsa.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/genrsa.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/nseq.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/ocsp.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/openssl.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/passwd.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/pkcs12.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/pkcs7.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/pkcs8.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/rand.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/req.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/rsa.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/rsautl.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/s_client.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/s_server.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/s_time.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/sess_id.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/smime.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/speed.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/spkac.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/verify.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/version.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/x509.1 user/attilio/vmcontention/secure/usr.bin/openssl/man/x509v3_config.1 user/attilio/vmcontention/share/examples/pf/faq-example1 user/attilio/vmcontention/share/examples/pf/pf.conf user/attilio/vmcontention/share/examples/scsi_target/scsi_target.c user/attilio/vmcontention/share/man/man4/Makefile user/attilio/vmcontention/share/man/man4/acpi_asus.4 user/attilio/vmcontention/share/man/man4/mps.4 user/attilio/vmcontention/share/man/man5/passwd.5 user/attilio/vmcontention/share/man/man5/src.conf.5 user/attilio/vmcontention/share/man/man7/build.7 user/attilio/vmcontention/share/man/man9/cd.9 user/attilio/vmcontention/share/man/man9/disk.9 user/attilio/vmcontention/share/man/man9/locking.9 user/attilio/vmcontention/share/man/man9/rtalloc.9 user/attilio/vmcontention/share/misc/committers-doc.dot user/attilio/vmcontention/share/misc/committers-ports.dot user/attilio/vmcontention/share/misc/organization.dot user/attilio/vmcontention/share/mk/bsd.crunchgen.mk user/attilio/vmcontention/share/mk/bsd.own.mk user/attilio/vmcontention/sys/amd64/amd64/cpu_switch.S user/attilio/vmcontention/sys/amd64/amd64/db_disasm.c user/attilio/vmcontention/sys/amd64/amd64/fpu.c user/attilio/vmcontention/sys/amd64/amd64/pmap.c user/attilio/vmcontention/sys/amd64/conf/GENERIC user/attilio/vmcontention/sys/amd64/include/cpufunc.h user/attilio/vmcontention/sys/arm/at91/at91_machdep.c user/attilio/vmcontention/sys/arm/at91/at91_pmcvar.h user/attilio/vmcontention/sys/arm/at91/at91board.h user/attilio/vmcontention/sys/arm/at91/board_bwct.c user/attilio/vmcontention/sys/arm/at91/board_ethernut5.c user/attilio/vmcontention/sys/arm/at91/board_hl200.c user/attilio/vmcontention/sys/arm/at91/board_hl201.c user/attilio/vmcontention/sys/arm/at91/board_kb920x.c user/attilio/vmcontention/sys/arm/at91/board_qila9g20.c user/attilio/vmcontention/sys/arm/at91/board_sam9g20ek.c user/attilio/vmcontention/sys/arm/at91/board_tsc4370.c user/attilio/vmcontention/sys/arm/at91/std.at91 user/attilio/vmcontention/sys/arm/at91/std.at91sam9 user/attilio/vmcontention/sys/arm/at91/std.ethernut5 user/attilio/vmcontention/sys/arm/at91/std.hl201 user/attilio/vmcontention/sys/arm/at91/std.qila9g20 user/attilio/vmcontention/sys/arm/at91/std.sam9g20ek user/attilio/vmcontention/sys/arm/include/_stdint.h user/attilio/vmcontention/sys/arm/include/_types.h user/attilio/vmcontention/sys/arm/mv/mv_machdep.c user/attilio/vmcontention/sys/arm/xscale/std.xscale user/attilio/vmcontention/sys/boot/arm/at91/boot0spi/main.c user/attilio/vmcontention/sys/boot/arm/at91/libat91/Makefile user/attilio/vmcontention/sys/boot/arm/at91/linker.cfg user/attilio/vmcontention/sys/cam/cam_periph.c user/attilio/vmcontention/sys/cam/ctl/ctl.c user/attilio/vmcontention/sys/cam/ctl/ctl_backend.c user/attilio/vmcontention/sys/cam/ctl/ctl_frontend_cam_sim.c user/attilio/vmcontention/sys/cam/ctl/ctl_frontend_internal.c user/attilio/vmcontention/sys/cam/ctl/scsi_ctl.c user/attilio/vmcontention/sys/cam/scsi/scsi_all.c user/attilio/vmcontention/sys/cam/scsi/scsi_cd.c user/attilio/vmcontention/sys/cam/scsi/scsi_ch.c user/attilio/vmcontention/sys/cam/scsi/scsi_da.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h user/attilio/vmcontention/sys/cddl/dev/dtrace/amd64/dis_tables.c user/attilio/vmcontention/sys/cddl/dev/dtrace/i386/dis_tables.c user/attilio/vmcontention/sys/compat/linux/linux_file.c user/attilio/vmcontention/sys/conf/files user/attilio/vmcontention/sys/conf/files.ia64 user/attilio/vmcontention/sys/conf/files.powerpc user/attilio/vmcontention/sys/conf/kern.post.mk user/attilio/vmcontention/sys/conf/kmod.mk user/attilio/vmcontention/sys/conf/options user/attilio/vmcontention/sys/conf/options.arm user/attilio/vmcontention/sys/contrib/dev/acpica/components/events/evxfgpe.c user/attilio/vmcontention/sys/dev/aac/aac_disk.c user/attilio/vmcontention/sys/dev/acpica/acpi_cpu.c user/attilio/vmcontention/sys/dev/acpica/acpi_powerres.c user/attilio/vmcontention/sys/dev/agp/agp.c user/attilio/vmcontention/sys/dev/agp/agp_i810.c user/attilio/vmcontention/sys/dev/aic7xxx/aic79xx.c user/attilio/vmcontention/sys/dev/aic7xxx/aic79xx_osm.c user/attilio/vmcontention/sys/dev/aic7xxx/aic7xxx.c user/attilio/vmcontention/sys/dev/aic7xxx/aic7xxx_osm.c user/attilio/vmcontention/sys/dev/ata/chipsets/ata-via.c user/attilio/vmcontention/sys/dev/ath/ah_osdep.c user/attilio/vmcontention/sys/dev/ath/ah_osdep.h user/attilio/vmcontention/sys/dev/ath/ath_dfs/null/dfs_null.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ah.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_debug.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_internal.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9002/ar9285.h user/attilio/vmcontention/sys/dev/ath/ath_rate/amrr/amrr.c user/attilio/vmcontention/sys/dev/ath/ath_rate/onoe/onoe.c user/attilio/vmcontention/sys/dev/ath/ath_rate/sample/sample.c user/attilio/vmcontention/sys/dev/ath/if_ath.c user/attilio/vmcontention/sys/dev/ath/if_ath_ahb.c user/attilio/vmcontention/sys/dev/ath/if_ath_led.c user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c user/attilio/vmcontention/sys/dev/ath/if_ath_rx.h user/attilio/vmcontention/sys/dev/ath/if_ath_tx.c user/attilio/vmcontention/sys/dev/ath/if_athdfs.h user/attilio/vmcontention/sys/dev/ath/if_athioctl.h user/attilio/vmcontention/sys/dev/ath/if_athvar.h user/attilio/vmcontention/sys/dev/atkbdc/atkbdc_isa.c user/attilio/vmcontention/sys/dev/cxgb/cxgb_adapter.h user/attilio/vmcontention/sys/dev/cxgb/cxgb_main.c user/attilio/vmcontention/sys/dev/cxgb/cxgb_sge.c user/attilio/vmcontention/sys/dev/cxgbe/adapter.h user/attilio/vmcontention/sys/dev/cxgbe/t4_l2t.c user/attilio/vmcontention/sys/dev/cxgbe/t4_main.c user/attilio/vmcontention/sys/dev/cxgbe/t4_sge.c user/attilio/vmcontention/sys/dev/drm2/drmP.h user/attilio/vmcontention/sys/dev/e1000/e1000_82541.c user/attilio/vmcontention/sys/dev/e1000/e1000_82543.c user/attilio/vmcontention/sys/dev/e1000/e1000_82571.c user/attilio/vmcontention/sys/dev/e1000/e1000_82575.c user/attilio/vmcontention/sys/dev/e1000/e1000_api.c user/attilio/vmcontention/sys/dev/e1000/e1000_api.h user/attilio/vmcontention/sys/dev/e1000/e1000_defines.h user/attilio/vmcontention/sys/dev/e1000/e1000_hw.h user/attilio/vmcontention/sys/dev/e1000/e1000_ich8lan.c user/attilio/vmcontention/sys/dev/e1000/e1000_mac.c user/attilio/vmcontention/sys/dev/e1000/e1000_mac.h user/attilio/vmcontention/sys/dev/e1000/e1000_manage.c user/attilio/vmcontention/sys/dev/e1000/e1000_manage.h user/attilio/vmcontention/sys/dev/e1000/e1000_phy.c user/attilio/vmcontention/sys/dev/e1000/e1000_phy.h user/attilio/vmcontention/sys/dev/e1000/e1000_regs.h user/attilio/vmcontention/sys/dev/e1000/if_em.c user/attilio/vmcontention/sys/dev/e1000/if_igb.c user/attilio/vmcontention/sys/dev/fdt/fdtbus.c user/attilio/vmcontention/sys/dev/fdt/simplebus.c user/attilio/vmcontention/sys/dev/filemon/filemon_wrapper.c user/attilio/vmcontention/sys/dev/firewire/sbp_targ.c user/attilio/vmcontention/sys/dev/isp/isp.c user/attilio/vmcontention/sys/dev/isp/isp_freebsd.c user/attilio/vmcontention/sys/dev/isp/isp_freebsd.h user/attilio/vmcontention/sys/dev/isp/isp_pci.c user/attilio/vmcontention/sys/dev/isp/ispmbox.h user/attilio/vmcontention/sys/dev/isp/ispvar.h user/attilio/vmcontention/sys/dev/iwn/if_iwn.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_82598.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_82598.h user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_82599.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_api.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_api.h user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_common.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_common.h user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_osdep.h user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_phy.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_type.h user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_vf.c user/attilio/vmcontention/sys/dev/ixgbe/ixgbe_x540.c user/attilio/vmcontention/sys/dev/ixgbe/ixv.c user/attilio/vmcontention/sys/dev/mfi/mfi.c user/attilio/vmcontention/sys/dev/mfi/mfi_tbolt.c user/attilio/vmcontention/sys/dev/mps/mpi/mpi2.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_cnfg.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_hbd.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_history.txt user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_init.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_ioc.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_ra.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_raid.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_sas.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_targ.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_tool.h user/attilio/vmcontention/sys/dev/mps/mpi/mpi2_type.h user/attilio/vmcontention/sys/dev/mps/mps.c user/attilio/vmcontention/sys/dev/mps/mps_config.c user/attilio/vmcontention/sys/dev/mps/mps_ioctl.h user/attilio/vmcontention/sys/dev/mps/mps_mapping.c user/attilio/vmcontention/sys/dev/mps/mps_mapping.h user/attilio/vmcontention/sys/dev/mps/mps_sas.c user/attilio/vmcontention/sys/dev/mps/mps_sas.h user/attilio/vmcontention/sys/dev/mps/mps_sas_lsi.c user/attilio/vmcontention/sys/dev/mps/mps_user.c user/attilio/vmcontention/sys/dev/mps/mpsvar.h user/attilio/vmcontention/sys/dev/mpt/mpt_cam.c user/attilio/vmcontention/sys/dev/nand/nand.c user/attilio/vmcontention/sys/dev/nand/nandsim.c user/attilio/vmcontention/sys/dev/pccard/pccard.c user/attilio/vmcontention/sys/dev/pccard/pccardvarp.h user/attilio/vmcontention/sys/dev/pci/pci_pci.c user/attilio/vmcontention/sys/dev/re/if_re.c user/attilio/vmcontention/sys/dev/sio/sio.c user/attilio/vmcontention/sys/dev/sound/pci/hda/hdaa.c user/attilio/vmcontention/sys/dev/sound/pci/hda/hdaa_patches.c user/attilio/vmcontention/sys/dev/sound/pci/hdspe.c user/attilio/vmcontention/sys/dev/usb/controller/ehci_pci.c user/attilio/vmcontention/sys/dev/usb/controller/ohci_pci.c user/attilio/vmcontention/sys/dev/usb/controller/xhci_pci.c user/attilio/vmcontention/sys/dev/usb/quirk/usb_quirk.c user/attilio/vmcontention/sys/dev/usb/serial/u3g.c user/attilio/vmcontention/sys/dev/usb/usbdevs user/attilio/vmcontention/sys/dev/virtio/balloon/virtio_balloon.h user/attilio/vmcontention/sys/dev/virtio/block/virtio_blk.h user/attilio/vmcontention/sys/dev/virtio/network/virtio_net.h user/attilio/vmcontention/sys/dev/virtio/virtio.h user/attilio/vmcontention/sys/dev/virtio/virtio_ring.h user/attilio/vmcontention/sys/dev/virtio/virtqueue.h user/attilio/vmcontention/sys/dev/xen/blkfront/blkfront.c user/attilio/vmcontention/sys/fs/devfs/devfs_vnops.c user/attilio/vmcontention/sys/fs/ext2fs/ext2_vfsops.c user/attilio/vmcontention/sys/fs/nfsclient/nfs_clbio.c user/attilio/vmcontention/sys/geom/bde/g_bde.c user/attilio/vmcontention/sys/geom/eli/g_eli.c user/attilio/vmcontention/sys/geom/eli/g_eli.h user/attilio/vmcontention/sys/geom/eli/g_eli_ctl.c user/attilio/vmcontention/sys/geom/eli/g_eli_key.c user/attilio/vmcontention/sys/geom/eli/g_eli_key_cache.c user/attilio/vmcontention/sys/geom/gate/g_gate.c user/attilio/vmcontention/sys/geom/gate/g_gate.h user/attilio/vmcontention/sys/geom/geom.h user/attilio/vmcontention/sys/geom/geom_aes.c user/attilio/vmcontention/sys/geom/geom_dev.c user/attilio/vmcontention/sys/geom/geom_disk.c user/attilio/vmcontention/sys/geom/geom_disk.h user/attilio/vmcontention/sys/geom/geom_map.c user/attilio/vmcontention/sys/geom/geom_slice.c user/attilio/vmcontention/sys/geom/geom_subr.c user/attilio/vmcontention/sys/geom/mirror/g_mirror.c user/attilio/vmcontention/sys/geom/mirror/g_mirror.h user/attilio/vmcontention/sys/geom/uncompress/g_uncompress.c user/attilio/vmcontention/sys/geom/uzip/g_uzip.c user/attilio/vmcontention/sys/i386/i386/machdep.c user/attilio/vmcontention/sys/i386/i386/pmap.c user/attilio/vmcontention/sys/i386/i386/vm86.c user/attilio/vmcontention/sys/ia64/ia64/busdma_machdep.c user/attilio/vmcontention/sys/ia64/ia64/machdep.c user/attilio/vmcontention/sys/ia64/ia64/pmap.c user/attilio/vmcontention/sys/ia64/include/_stdint.h user/attilio/vmcontention/sys/ia64/include/_types.h user/attilio/vmcontention/sys/ia64/include/md_var.h user/attilio/vmcontention/sys/ia64/include/param.h user/attilio/vmcontention/sys/kern/imgact_aout.c user/attilio/vmcontention/sys/kern/imgact_gzip.c user/attilio/vmcontention/sys/kern/kern_descrip.c user/attilio/vmcontention/sys/kern/kern_malloc.c user/attilio/vmcontention/sys/kern/subr_firmware.c user/attilio/vmcontention/sys/kern/subr_witness.c user/attilio/vmcontention/sys/kern/uipc_socket.c user/attilio/vmcontention/sys/kern/vfs_syscalls.c user/attilio/vmcontention/sys/kern/vfs_vnops.c user/attilio/vmcontention/sys/mips/cavium/uart_bus_octeonusart.c user/attilio/vmcontention/sys/mips/include/_stdint.h user/attilio/vmcontention/sys/mips/include/_types.h user/attilio/vmcontention/sys/mips/mips/pmap.c user/attilio/vmcontention/sys/modules/Makefile user/attilio/vmcontention/sys/modules/acpi/Makefile user/attilio/vmcontention/sys/modules/ath/Makefile user/attilio/vmcontention/sys/modules/cxgbe/if_cxgbe/Makefile user/attilio/vmcontention/sys/modules/em/Makefile user/attilio/vmcontention/sys/modules/igb/Makefile user/attilio/vmcontention/sys/modules/rdma/krping/Makefile user/attilio/vmcontention/sys/modules/toecore/Makefile user/attilio/vmcontention/sys/net/flowtable.c user/attilio/vmcontention/sys/net/if.h user/attilio/vmcontention/sys/net/if_gif.c user/attilio/vmcontention/sys/net/if_lagg.c user/attilio/vmcontention/sys/net/if_tap.c user/attilio/vmcontention/sys/net/route.h user/attilio/vmcontention/sys/net80211/_ieee80211.h user/attilio/vmcontention/sys/net80211/ieee80211_output.c user/attilio/vmcontention/sys/netinet/igmp.c user/attilio/vmcontention/sys/netinet/ip_input.c user/attilio/vmcontention/sys/netinet/ip_mroute.c user/attilio/vmcontention/sys/netinet/ip_mroute.h user/attilio/vmcontention/sys/netinet/ip_output.c user/attilio/vmcontention/sys/netinet/ipfw/ip_dummynet.c user/attilio/vmcontention/sys/netinet/sctp_asconf.c user/attilio/vmcontention/sys/netinet/sctp_asconf.h user/attilio/vmcontention/sys/netinet/sctp_bsd_addr.c user/attilio/vmcontention/sys/netinet/sctp_bsd_addr.h user/attilio/vmcontention/sys/netinet/sctp_indata.c user/attilio/vmcontention/sys/netinet/sctp_indata.h user/attilio/vmcontention/sys/netinet/sctp_input.c user/attilio/vmcontention/sys/netinet/sctp_input.h user/attilio/vmcontention/sys/netinet/sctp_os_bsd.h user/attilio/vmcontention/sys/netinet/sctp_output.c user/attilio/vmcontention/sys/netinet/sctp_output.h user/attilio/vmcontention/sys/netinet/sctp_pcb.c user/attilio/vmcontention/sys/netinet/sctp_pcb.h user/attilio/vmcontention/sys/netinet/sctp_sysctl.c user/attilio/vmcontention/sys/netinet/sctp_sysctl.h user/attilio/vmcontention/sys/netinet/sctp_usrreq.c user/attilio/vmcontention/sys/netinet/sctputil.c user/attilio/vmcontention/sys/netinet/sctputil.h user/attilio/vmcontention/sys/netinet/tcp_hostcache.c user/attilio/vmcontention/sys/netinet6/in6.c user/attilio/vmcontention/sys/netinet6/ip6_mroute.c user/attilio/vmcontention/sys/netinet6/ip6_mroute.h user/attilio/vmcontention/sys/netinet6/ip6_output.c user/attilio/vmcontention/sys/netinet6/mld6.c user/attilio/vmcontention/sys/netinet6/nd6_nbr.c user/attilio/vmcontention/sys/netinet6/sctp6_usrreq.c user/attilio/vmcontention/sys/ofed/include/linux/workqueue.h user/attilio/vmcontention/sys/powerpc/aim/locore32.S user/attilio/vmcontention/sys/powerpc/aim/locore64.S user/attilio/vmcontention/sys/powerpc/aim/mmu_oea.c user/attilio/vmcontention/sys/powerpc/booke/machdep.c user/attilio/vmcontention/sys/powerpc/booke/pmap.c user/attilio/vmcontention/sys/powerpc/booke/trap.c user/attilio/vmcontention/sys/powerpc/booke/trap_subr.S user/attilio/vmcontention/sys/powerpc/conf/DEFAULTS user/attilio/vmcontention/sys/powerpc/conf/GENERIC user/attilio/vmcontention/sys/powerpc/conf/GENERIC64 user/attilio/vmcontention/sys/powerpc/include/_stdint.h user/attilio/vmcontention/sys/powerpc/include/_types.h user/attilio/vmcontention/sys/powerpc/mpc85xx/lbc.c user/attilio/vmcontention/sys/powerpc/mpc85xx/lbc.h user/attilio/vmcontention/sys/powerpc/mpc85xx/nexus.c user/attilio/vmcontention/sys/powerpc/powermac/hrowpic.c user/attilio/vmcontention/sys/sparc64/conf/GENERIC user/attilio/vmcontention/sys/sparc64/include/_stdint.h user/attilio/vmcontention/sys/sparc64/include/_types.h user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c user/attilio/vmcontention/sys/sys/_types.h user/attilio/vmcontention/sys/sys/file.h user/attilio/vmcontention/sys/sys/imgact_aout.h user/attilio/vmcontention/sys/sys/param.h user/attilio/vmcontention/sys/sys/proc.h user/attilio/vmcontention/sys/sys/stdint.h user/attilio/vmcontention/sys/ufs/ffs/ffs_alloc.c user/attilio/vmcontention/sys/vm/uma_core.c user/attilio/vmcontention/sys/vm/vm_map.c user/attilio/vmcontention/sys/vm/vm_page.c user/attilio/vmcontention/sys/vm/vm_pageout.c user/attilio/vmcontention/sys/x86/include/_stdint.h user/attilio/vmcontention/sys/x86/include/_types.h user/attilio/vmcontention/tools/build/make_check/Makefile user/attilio/vmcontention/tools/build/mk/OptionalObsoleteFiles.inc user/attilio/vmcontention/tools/regression/filemon/Makefile user/attilio/vmcontention/tools/regression/pjdfstest/pjdfstest.c user/attilio/vmcontention/tools/test/auxinfo/auxinfo.c user/attilio/vmcontention/tools/tools/ath/common/dumpregs_5416.c user/attilio/vmcontention/tools/tools/net80211/w00t/redir/buddy.c user/attilio/vmcontention/tools/tools/net80211/wesside/dics/dics.c user/attilio/vmcontention/tools/tools/netmap/bridge.c user/attilio/vmcontention/tools/tools/netmap/pcap.c user/attilio/vmcontention/tools/tools/netmap/pkt-gen.c user/attilio/vmcontention/usr.bin/calendar/calendars/calendar.freebsd user/attilio/vmcontention/usr.bin/killall/killall.1 user/attilio/vmcontention/usr.bin/killall/killall.c user/attilio/vmcontention/usr.bin/less/defines.h user/attilio/vmcontention/usr.bin/mkcsmapper/lex.l user/attilio/vmcontention/usr.bin/mkesdb/ldef.h user/attilio/vmcontention/usr.bin/mkesdb/lex.l user/attilio/vmcontention/usr.bin/procstat/procstat_rlimit.c user/attilio/vmcontention/usr.bin/sockstat/sockstat.c user/attilio/vmcontention/usr.bin/sort/Makefile user/attilio/vmcontention/usr.bin/sort/file.c user/attilio/vmcontention/usr.bin/sort/file.h user/attilio/vmcontention/usr.bin/sort/radixsort.c user/attilio/vmcontention/usr.bin/sort/sort.1.in user/attilio/vmcontention/usr.bin/sort/sort.c user/attilio/vmcontention/usr.bin/top/machine.c user/attilio/vmcontention/usr.bin/top/top.local.1 user/attilio/vmcontention/usr.bin/xinstall/xinstall.c user/attilio/vmcontention/usr.sbin/Makefile user/attilio/vmcontention/usr.sbin/cron/crontab/crontab.c user/attilio/vmcontention/usr.sbin/crunch/crunchgen/crunched_main.c user/attilio/vmcontention/usr.sbin/crunch/crunchgen/crunchgen.c user/attilio/vmcontention/usr.sbin/crunch/crunchide/crunchide.c user/attilio/vmcontention/usr.sbin/jail/jail.c user/attilio/vmcontention/usr.sbin/nscd/cachelib.c user/attilio/vmcontention/usr.sbin/nscd/cachelib.h user/attilio/vmcontention/usr.sbin/nscd/config.c user/attilio/vmcontention/usr.sbin/nscd/config.h user/attilio/vmcontention/usr.sbin/nscd/nscd.conf.5 user/attilio/vmcontention/usr.sbin/nscd/parser.c user/attilio/vmcontention/usr.sbin/vidcontrol/vidcontrol.c Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/contrib/binutils/ (props changed) user/attilio/vmcontention/contrib/less/ (props changed) user/attilio/vmcontention/contrib/top/ (props changed) user/attilio/vmcontention/crypto/openssh/ (props changed) user/attilio/vmcontention/crypto/openssl/ (props changed) user/attilio/vmcontention/lib/libc/ (props changed) user/attilio/vmcontention/lib/libc/stdtime/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/sbin/ipfw/ (props changed) user/attilio/vmcontention/share/man/man4/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/components/events/ (props changed) user/attilio/vmcontention/usr.bin/calendar/ (props changed) user/attilio/vmcontention/usr.bin/procstat/ (props changed) user/attilio/vmcontention/usr.sbin/jail/ (props changed) Modified: user/attilio/vmcontention/Makefile ============================================================================== --- user/attilio/vmcontention/Makefile Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/Makefile Sat Jul 7 17:55:27 2012 (r238207) @@ -92,7 +92,7 @@ TGTS= all all-man buildenv buildenvvars delete-old delete-old-dirs delete-old-files delete-old-libs \ depend distribute distributekernel distributekernel.debug \ distributeworld distrib-dirs distribution doxygen \ - everything hierarchy install installcheck installkernel \ + everything hier hierarchy install installcheck installkernel \ installkernel.debug packagekernel packageworld \ reinstallkernel reinstallkernel.debug \ installworld kernel-toolchain libraries lint maninstall \ Modified: user/attilio/vmcontention/Makefile.inc1 ============================================================================== --- user/attilio/vmcontention/Makefile.inc1 Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/Makefile.inc1 Sat Jul 7 17:55:27 2012 (r238207) @@ -1197,7 +1197,7 @@ cross-tools: # # hierarchy - ensure that all the needed directories are present # -hierarchy: +hierarchy hier: cd ${.CURDIR}/etc; ${MAKE} distrib-dirs # Modified: user/attilio/vmcontention/ObsoleteFiles.inc ============================================================================== --- user/attilio/vmcontention/ObsoleteFiles.inc Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/ObsoleteFiles.inc Sat Jul 7 17:55:27 2012 (r238207) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20120621: remove old man page +OLD_FILES+=usr/share/man/man8/vnconfig.8.gz # 20120613: auth.conf removed OLD_FILES+=etc/auth.conf OLD_FILES+=usr/share/examples/etc/auth.conf Modified: user/attilio/vmcontention/UPDATING ============================================================================== --- user/attilio/vmcontention/UPDATING Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/UPDATING Sat Jul 7 17:55:27 2012 (r238207) @@ -24,6 +24,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20120628: + The sort utility has been replaced with BSD sort. For now, GNU sort + is also available as "gnusort" or the default can be set back to + GNU sort by setting WITH_GNU_SORT. In this case, BSD sort will be + installed as "bsdsort". + 20120611: A new version of ZFS (pool version 5000) has been merged to -HEAD. Starting with this version the old system of ZFS pool versioning Modified: user/attilio/vmcontention/cddl/compat/opensolaris/misc/deviceid.c ============================================================================== --- user/attilio/vmcontention/cddl/compat/opensolaris/misc/deviceid.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/compat/opensolaris/misc/deviceid.c Sat Jul 7 17:55:27 2012 (r238207) @@ -45,7 +45,7 @@ devid_str_decode(char *devidstr, ddi_dev return (EINVAL); } *retminor_name = strdup(""); - if (*retminor_name == NULL); + if (*retminor_name == NULL) return (ENOMEM); return (0); } Modified: user/attilio/vmcontention/cddl/contrib/dtracetoolkit/dtruss ============================================================================== --- user/attilio/vmcontention/cddl/contrib/dtracetoolkit/dtruss Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/dtracetoolkit/dtruss Sat Jul 7 17:55:27 2012 (r238207) @@ -240,7 +240,7 @@ syscall:::entry */ /* print 3 args, return as hex */ -syscall::lwp_sigmask:return +syscall::sigprocmask:return /self->start/ { /* calculate elapsed time */ @@ -268,10 +268,11 @@ syscall::lwp_sigmask:return } /* print 3 args, arg0 as a string */ +syscall::access*:return, syscall::stat*:return, syscall::lstat*:return, -syscall::open*:return, -syscall::resolvepath:return +syscall::readlink*:return, +syscall::open*:return /self->start/ { /* calculate elapsed time */ @@ -329,7 +330,6 @@ syscall::*read*:return } /* print 0 arg output */ -syscall::gtime:return, syscall::*fork*:return /self->start/ { @@ -357,9 +357,6 @@ syscall::*fork*:return } /* print 1 arg output */ -syscall::brk:return, -syscall::times:return, -syscall::stime:return, syscall::close:return /self->start/ { @@ -387,7 +384,7 @@ syscall::close:return } /* print 2 arg output */ -syscall::utime:return, +syscall::utimes:return, syscall::munmap:return /self->start/ { Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c Sat Jul 7 17:55:27 2012 (r238207) @@ -24,7 +24,9 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2011, Joyent, Inc. All rights reserved. + */ #include #include @@ -209,6 +211,83 @@ dt_aggregate_lquantizedcmp(int64_t *lhs, return (0); } +static void +dt_aggregate_llquantize(int64_t *existing, int64_t *new, size_t size) +{ + int i; + + for (i = 1; i < size / sizeof (int64_t); i++) + existing[i] = existing[i] + new[i]; +} + +static long double +dt_aggregate_llquantizedsum(int64_t *llquanta) +{ + int64_t arg = *llquanta++; + uint16_t factor = DTRACE_LLQUANTIZE_FACTOR(arg); + uint16_t low = DTRACE_LLQUANTIZE_LOW(arg); + uint16_t high = DTRACE_LLQUANTIZE_HIGH(arg); + uint16_t nsteps = DTRACE_LLQUANTIZE_NSTEP(arg); + int bin = 0, order; + int64_t value = 1, next, step; + long double total; + + assert(nsteps >= factor); + assert(nsteps % factor == 0); + + for (order = 0; order < low; order++) + value *= factor; + + total = (long double)llquanta[bin++] * (long double)(value - 1); + + next = value * factor; + step = next > nsteps ? next / nsteps : 1; + + while (order <= high) { + assert(value < next); + total += (long double)llquanta[bin++] * (long double)(value); + + if ((value += step) != next) + continue; + + next = value * factor; + step = next > nsteps ? next / nsteps : 1; + order++; + } + + return (total + (long double)llquanta[bin] * (long double)value); +} + +static int +dt_aggregate_llquantizedcmp(int64_t *lhs, int64_t *rhs) +{ + long double lsum = dt_aggregate_llquantizedsum(lhs); + long double rsum = dt_aggregate_llquantizedsum(rhs); + int64_t lzero, rzero; + + if (lsum < rsum) + return (DT_LESSTHAN); + + if (lsum > rsum) + return (DT_GREATERTHAN); + + /* + * If they're both equal, then we will compare based on the weights at + * zero. If the weights at zero are equal, then this will be judged a + * tie and will be resolved based on the key comparison. + */ + lzero = lhs[1]; + rzero = rhs[1]; + + if (lzero < rzero) + return (DT_LESSTHAN); + + if (lzero > rzero) + return (DT_GREATERTHAN); + + return (0); +} + static int dt_aggregate_quantizedcmp(int64_t *lhs, int64_t *rhs) { @@ -592,6 +671,10 @@ hashnext: h->dtahe_aggregate = dt_aggregate_lquantize; break; + case DTRACEAGG_LLQUANTIZE: + h->dtahe_aggregate = dt_aggregate_llquantize; + break; + case DTRACEAGG_COUNT: case DTRACEAGG_SUM: case DTRACEAGG_AVG: @@ -859,6 +942,10 @@ dt_aggregate_valcmp(const void *lhs, con rval = dt_aggregate_lquantizedcmp(laddr, raddr); break; + case DTRACEAGG_LLQUANTIZE: + rval = dt_aggregate_llquantizedcmp(laddr, raddr); + break; + case DTRACEAGG_COUNT: case DTRACEAGG_SUM: case DTRACEAGG_MIN: Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c Sat Jul 7 17:55:27 2012 (r238207) @@ -82,6 +82,7 @@ #include #include +#include #include #include @@ -1369,6 +1370,146 @@ dt_compile_agg(dtrace_hdl_t *dtp, dt_nod argmax = 5; } + if (fid->di_id == DTRACEAGG_LLQUANTIZE) { + /* + * For log/linear quantizations, we have between one and five + * arguments in addition to the expression: + * + * arg1 => Factor + * arg2 => Low magnitude + * arg3 => High magnitude + * arg4 => Number of steps per magnitude + * arg5 => Quantization increment value (defaults to 1) + */ + dt_node_t *llarg = dnp->dn_aggfun->dn_args->dn_list; + uint64_t oarg, order, v; + dt_idsig_t *isp; + int i; + + struct { + char *str; /* string identifier */ + int badtype; /* error on bad type */ + int badval; /* error on bad value */ + int mismatch; /* error on bad match */ + int shift; /* shift value */ + uint16_t value; /* value itself */ + } args[] = { + { "factor", D_LLQUANT_FACTORTYPE, + D_LLQUANT_FACTORVAL, D_LLQUANT_FACTORMATCH, + DTRACE_LLQUANTIZE_FACTORSHIFT }, + { "low magnitude", D_LLQUANT_LOWTYPE, + D_LLQUANT_LOWVAL, D_LLQUANT_LOWMATCH, + DTRACE_LLQUANTIZE_LOWSHIFT }, + { "high magnitude", D_LLQUANT_HIGHTYPE, + D_LLQUANT_HIGHVAL, D_LLQUANT_HIGHMATCH, + DTRACE_LLQUANTIZE_HIGHSHIFT }, + { "linear steps per magnitude", D_LLQUANT_NSTEPTYPE, + D_LLQUANT_NSTEPVAL, D_LLQUANT_NSTEPMATCH, + DTRACE_LLQUANTIZE_NSTEPSHIFT }, + { NULL } + }; + + assert(arg == 0); + + for (i = 0; args[i].str != NULL; i++) { + if (llarg->dn_kind != DT_NODE_INT) { + dnerror(llarg, args[i].badtype, "llquantize( ) " + "argument #%d (%s) must be an " + "integer constant\n", i + 1, args[i].str); + } + + if ((uint64_t)llarg->dn_value > UINT16_MAX) { + dnerror(llarg, args[i].badval, "llquantize( ) " + "argument #%d (%s) must be an unsigned " + "16-bit quantity\n", i + 1, args[i].str); + } + + args[i].value = (uint16_t)llarg->dn_value; + + assert(!(arg & ((uint64_t)UINT16_MAX << + args[i].shift))); + arg |= ((uint64_t)args[i].value << args[i].shift); + llarg = llarg->dn_list; + } + + assert(arg != 0); + + if (args[0].value < 2) { + dnerror(dnp, D_LLQUANT_FACTORSMALL, "llquantize( ) " + "factor (argument #1) must be two or more\n"); + } + + if (args[1].value >= args[2].value) { + dnerror(dnp, D_LLQUANT_MAGRANGE, "llquantize( ) " + "high magnitude (argument #3) must be greater " + "than low magnitude (argument #2)\n"); + } + + if (args[3].value < args[0].value) { + dnerror(dnp, D_LLQUANT_FACTORNSTEPS, "llquantize( ) " + "factor (argument #1) must be less than or " + "equal to the number of linear steps per " + "magnitude (argument #4)\n"); + } + + for (v = args[0].value; v < args[3].value; v *= args[0].value) + continue; + + if ((args[3].value % args[0].value) || (v % args[3].value)) { + dnerror(dnp, D_LLQUANT_FACTOREVEN, "llquantize( ) " + "factor (argument #1) must evenly divide the " + "number of steps per magnitude (argument #4), " + "and the number of steps per magnitude must evenly " + "divide a power of the factor\n"); + } + + for (i = 0, order = 1; i < args[2].value; i++) { + if (order * args[0].value > order) { + order *= args[0].value; + continue; + } + + dnerror(dnp, D_LLQUANT_MAGTOOBIG, "llquantize( ) " + "factor (%d) raised to power of high magnitude " + "(%d) overflows 64-bits\n", args[0].value, + args[2].value); + } + + isp = (dt_idsig_t *)aid->di_data; + + if (isp->dis_auxinfo == 0) { + /* + * This is the first time we've seen an llquantize() + * for this aggregation; we'll store our argument + * as the auxiliary signature information. + */ + isp->dis_auxinfo = arg; + } else if ((oarg = isp->dis_auxinfo) != arg) { + /* + * If we have seen this llquantize() before and the + * argument doesn't match the original argument, pick + * the original argument apart to concisely report the + * mismatch. + */ + int expected = 0, found = 0; + + for (i = 0; expected == found; i++) { + assert(args[i].str != NULL); + + expected = (oarg >> args[i].shift) & UINT16_MAX; + found = (arg >> args[i].shift) & UINT16_MAX; + } + + dnerror(dnp, args[i - 1].mismatch, "llquantize( ) " + "%s (argument #%d) doesn't match previous " + "declaration: expected %d, found %d\n", + args[i - 1].str, i, expected, found); + } + + incr = llarg; + argmax = 6; + } + if (fid->di_id == DTRACEAGG_QUANTIZE) { incr = dnp->dn_aggfun->dn_args->dn_list; argmax = 2; Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c Sat Jul 7 17:55:27 2012 (r238207) @@ -23,6 +23,10 @@ * Use is subject to license terms. */ +/* + * Copyright (c) 2011, Joyent, Inc. All rights reserved. + */ + #include #include #include @@ -686,6 +690,121 @@ dt_print_lquantize(dtrace_hdl_t *dtp, FI return (0); } +int +dt_print_llquantize(dtrace_hdl_t *dtp, FILE *fp, const void *addr, + size_t size, uint64_t normal) +{ + int i, first_bin, last_bin, bin = 1, order, levels; + uint16_t factor, low, high, nsteps; + const int64_t *data = addr; + int64_t value = 1, next, step; + char positives = 0, negatives = 0; + long double total = 0; + uint64_t arg; + char c[32]; + + if (size < sizeof (uint64_t)) + return (dt_set_errno(dtp, EDT_DMISMATCH)); + + arg = *data++; + size -= sizeof (uint64_t); + + factor = DTRACE_LLQUANTIZE_FACTOR(arg); + low = DTRACE_LLQUANTIZE_LOW(arg); + high = DTRACE_LLQUANTIZE_HIGH(arg); + nsteps = DTRACE_LLQUANTIZE_NSTEP(arg); + + /* + * We don't expect to be handed invalid llquantize() parameters here, + * but sanity check them (to a degree) nonetheless. + */ + if (size > INT32_MAX || factor < 2 || low >= high || + nsteps == 0 || factor > nsteps) + return (dt_set_errno(dtp, EDT_DMISMATCH)); + + levels = (int)size / sizeof (uint64_t); + + first_bin = 0; + last_bin = levels - 1; + + while (first_bin < levels && data[first_bin] == 0) + first_bin++; + + if (first_bin == levels) { + first_bin = 0; + last_bin = 1; + } else { + if (first_bin > 0) + first_bin--; + + while (last_bin > 0 && data[last_bin] == 0) + last_bin--; + + if (last_bin < levels - 1) + last_bin++; + } + + for (i = first_bin; i <= last_bin; i++) { + positives |= (data[i] > 0); + negatives |= (data[i] < 0); + total += dt_fabsl((long double)data[i]); + } + + if (dt_printf(dtp, fp, "\n%16s %41s %-9s\n", "value", + "------------- Distribution -------------", "count") < 0) + return (-1); + + for (order = 0; order < low; order++) + value *= factor; + + next = value * factor; + step = next > nsteps ? next / nsteps : 1; + + if (first_bin == 0) { + (void) snprintf(c, sizeof (c), "< %lld", (long long)value); + + if (dt_printf(dtp, fp, "%16s ", c) < 0) + return (-1); + + if (dt_print_quantline(dtp, fp, data[0], normal, + total, positives, negatives) < 0) + return (-1); + } + + while (order <= high) { + if (bin >= first_bin && bin <= last_bin) { + if (dt_printf(dtp, fp, "%16lld ", (long long)value) < 0) + return (-1); + + if (dt_print_quantline(dtp, fp, data[bin], + normal, total, positives, negatives) < 0) + return (-1); + } + + assert(value < next); + bin++; + + if ((value += step) != next) + continue; + + next = value * factor; + step = next > nsteps ? next / nsteps : 1; + order++; + } + + if (last_bin < bin) + return (0); + + assert(last_bin == bin); + (void) snprintf(c, sizeof (c), ">= %lld", (long long)value); + + if (dt_printf(dtp, fp, "%16s ", c) < 0) + return (-1); + + return (dt_print_quantline(dtp, fp, data[bin], normal, + total, positives, negatives)); +} + /*ARGSUSED*/ static int dt_print_average(dtrace_hdl_t *dtp, FILE *fp, caddr_t addr, @@ -1711,6 +1830,9 @@ dt_print_datum(dtrace_hdl_t *dtp, FILE * case DTRACEAGG_LQUANTIZE: return (dt_print_lquantize(dtp, fp, addr, size, normal)); + case DTRACEAGG_LLQUANTIZE: + return (dt_print_llquantize(dtp, fp, addr, size, normal)); + case DTRACEAGG_AVG: return (dt_print_average(dtp, fp, addr, size, normal)); Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h Sat Jul 7 17:55:27 2012 (r238207) @@ -236,6 +236,23 @@ typedef enum { D_LQUANT_MATCHBASE, /* lquantize() mismatch on base */ D_LQUANT_MATCHLIM, /* lquantize() mismatch on limit */ D_LQUANT_MATCHSTEP, /* lquantize() mismatch on step */ + D_LLQUANT_FACTORTYPE, /* llquantize() bad magnitude type */ + D_LLQUANT_FACTORVAL, /* llquantize() bad magnitude value */ + D_LLQUANT_FACTORMATCH, /* llquantize() mismatch on magnitude */ + D_LLQUANT_LOWTYPE, /* llquantize() bad low mag type */ + D_LLQUANT_LOWVAL, /* llquantize() bad low mag value */ + D_LLQUANT_LOWMATCH, /* llquantize() mismatch on low mag */ + D_LLQUANT_HIGHTYPE, /* llquantize() bad high mag type */ + D_LLQUANT_HIGHVAL, /* llquantize() bad high mag value */ + D_LLQUANT_HIGHMATCH, /* llquantize() mismatch on high mag */ + D_LLQUANT_NSTEPTYPE, /* llquantize() bad # steps type */ + D_LLQUANT_NSTEPVAL, /* llquantize() bad # steps value */ + D_LLQUANT_NSTEPMATCH, /* llquantize() mismatch on # steps */ + D_LLQUANT_MAGRANGE, /* llquantize() bad magnitude range */ + D_LLQUANT_FACTORNSTEPS, /* llquantize() # steps < factor */ + D_LLQUANT_FACTOREVEN, /* llquantize() bad # steps/factor */ + D_LLQUANT_FACTORSMALL, /* llquantize() magnitude too small */ + D_LLQUANT_MAGTOOBIG, /* llquantize() high mag too large */ D_PRINTM_ADDR, /* printm() memref bad type */ D_PRINTM_SIZE, /* printm() size bad type */ D_PRINTT_ADDR, /* printt() typeref bad type */ Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Sat Jul 7 17:55:27 2012 (r238207) @@ -24,6 +24,10 @@ * Use is subject to license terms. */ +/* + * Copyright (c) 2011, Joyent, Inc. All rights reserved. + */ + #ifndef _DT_IMPL_H #define _DT_IMPL_H @@ -641,6 +645,8 @@ extern int dt_print_quantize(dtrace_hdl_ const void *, size_t, uint64_t); extern int dt_print_lquantize(dtrace_hdl_t *, FILE *, const void *, size_t, uint64_t); +extern int dt_print_llquantize(dtrace_hdl_t *, FILE *, + const void *, size_t, uint64_t); extern int dt_print_agg(const dtrace_aggdata_t *, void *); extern int dt_handle(dtrace_hdl_t *, dtrace_probedata_t *); Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sat Jul 7 17:55:27 2012 (r238207) @@ -21,6 +21,7 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, Joyent, Inc. All rights reserved. */ #include @@ -114,8 +115,9 @@ #define DT_VERS_1_6_1 DT_VERSION_NUMBER(1, 6, 1) #define DT_VERS_1_6_2 DT_VERSION_NUMBER(1, 6, 2) #define DT_VERS_1_6_3 DT_VERSION_NUMBER(1, 6, 3) -#define DT_VERS_LATEST DT_VERS_1_6_3 -#define DT_VERS_STRING "Sun D 1.6.3" +#define DT_VERS_1_7 DT_VERSION_NUMBER(1, 7, 0) +#define DT_VERS_LATEST DT_VERS_1_7 +#define DT_VERS_STRING "Sun D 1.7" const dt_version_t _dtrace_versions[] = { DT_VERS_1_0, /* D API 1.0.0 (PSARC 2001/466) Solaris 10 FCS */ @@ -131,6 +133,7 @@ const dt_version_t _dtrace_versions[] = DT_VERS_1_6_1, /* D API 1.6.1 */ DT_VERS_1_6_2, /* D API 1.6.2 */ DT_VERS_1_6_3, /* D API 1.6.3 */ + DT_VERS_1_7, /* D API 1.7 */ 0 }; @@ -287,6 +290,9 @@ static const dt_ident_t _dtrace_globals[ &dt_idops_func, "stack(...)" }, { "lltostr", DT_IDENT_FUNC, 0, DIF_SUBR_LLTOSTR, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_func, "string(int64_t)" }, +{ "llquantize", DT_IDENT_AGGFUNC, 0, DTRACEAGG_LLQUANTIZE, DT_ATTR_STABCMN, + DT_VERS_1_7, &dt_idops_func, + "void(@, int32_t, int32_t, int32_t, int32_t, ...)" }, { "lquantize", DT_IDENT_AGGFUNC, 0, DTRACEAGG_LQUANTIZE, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_func, "void(@, int32_t, int32_t, ...)" }, Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Sat Jul 7 17:55:27 2012 (r238207) @@ -21,6 +21,7 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, Joyent, Inc. All rights reserved. */ #if defined(sun) @@ -1322,6 +1323,14 @@ pfprint_lquantize(dtrace_hdl_t *dtp, FIL return (dt_print_lquantize(dtp, fp, addr, size, normal)); } +/*ARGSUSED*/ +static int +pfprint_llquantize(dtrace_hdl_t *dtp, FILE *fp, const char *format, + const dt_pfargd_t *pfd, const void *addr, size_t size, uint64_t normal) +{ + return (dt_print_llquantize(dtp, fp, addr, size, normal)); +} + static int dt_printf_format(dtrace_hdl_t *dtp, FILE *fp, const dt_pfargv_t *pfv, const dtrace_recdesc_t *recs, uint_t nrecs, const void *buf, @@ -1507,6 +1516,9 @@ dt_printf_format(dtrace_hdl_t *dtp, FILE case DTRACEAGG_LQUANTIZE: func = pfprint_lquantize; break; + case DTRACEAGG_LLQUANTIZE: + func = pfprint_llquantize; + break; case DTRACEACT_MOD: func = pfprint_mod; break; Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h Sat Jul 7 17:55:27 2012 (r238207) @@ -24,11 +24,13 @@ * Use is subject to license terms. */ +/* + * Copyright (c) 2011, Joyent, Inc. All rights reserved. + */ + #ifndef _DTRACE_H #define _DTRACE_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include #include Modified: user/attilio/vmcontention/contrib/binutils/gas/config/tc-i386.c ============================================================================== --- user/attilio/vmcontention/contrib/binutils/gas/config/tc-i386.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/binutils/gas/config/tc-i386.c Sat Jul 7 17:55:27 2012 (r238207) @@ -517,7 +517,9 @@ static const arch_entry cpu_arch[] = {".sse4a", PROCESSOR_UNKNOWN, CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuSSE3|CpuSSE4a}, {".abm", PROCESSOR_UNKNOWN, - CpuABM} + CpuABM}, + {".xsave", PROCESSOR_UNKNOWN, + CpuXSAVE} }; const pseudo_typeS md_pseudo_table[] = @@ -3988,6 +3990,16 @@ output_insn (void) goto check_prefix; } } + else if (i.tm.base_opcode == 0x660f3880 || i.tm.base_opcode == 0x660f3881) + { + /* invept and invvpid are 3 byte instructions with a + mandatory prefix. */ + if (i.tm.base_opcode & 0xff000000) + { + prefix = (i.tm.base_opcode >> 24) & 0xff; + add_prefix (prefix); + } + } else if ((i.tm.base_opcode & 0xff0000) != 0) { prefix = (i.tm.base_opcode >> 16) & 0xff; @@ -4027,6 +4039,12 @@ output_insn (void) p = frag_more (3); *p++ = (i.tm.base_opcode >> 16) & 0xff; } + else if (i.tm.base_opcode == 0x660f3880 || + i.tm.base_opcode == 0x660f3881) + { + p = frag_more (3); + *p++ = (i.tm.base_opcode >> 16) & 0xff; + } else p = frag_more (2); Modified: user/attilio/vmcontention/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- user/attilio/vmcontention/contrib/binutils/opcodes/i386-dis.c Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/binutils/opcodes/i386-dis.c Sat Jul 7 17:55:27 2012 (r238207) @@ -93,6 +93,7 @@ static void OP_3DNowSuffix (int, int); static void OP_SIMD_Suffix (int, int); static void SIMD_Fixup (int, int); static void PNI_Fixup (int, int); +static void XCR_Fixup (int, int); static void SVME_Fixup (int, int); static void INVLPG_Fixup (int, int); static void BadOp (void); @@ -212,6 +213,7 @@ fetch_data (struct disassemble_info *inf #define Ew { OP_E, w_mode } #define M { OP_M, 0 } /* lea, lgdt, etc. */ #define Ma { OP_M, v_mode } +#define Mo { OP_M, o_mode } #define Mp { OP_M, f_mode } /* 32 or 48 bit memory operand for LDS, LES etc */ #define Mq { OP_M, q_mode } #define Gb { OP_G, b_mode } @@ -539,6 +541,8 @@ fetch_data (struct disassemble_info *inf #define PREGRP95 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 95 } } #define PREGRP96 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 96 } } #define PREGRP97 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 97 } } +#define PREGRP98 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 98 } } +#define PREGRP99 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 99 } } #define X86_64_0 NULL, { { NULL, X86_64_SPECIAL }, { NULL, 0 } } @@ -1693,7 +1697,7 @@ static const struct dis386 grps[][8] = { { { "sgdt{Q|IQ||}", { { VMX_Fixup, 0 } } }, { "sidt{Q|IQ||}", { { PNI_Fixup, 0 } } }, - { "lgdt{Q|Q||}", { M } }, + { "lgdt{Q|Q||}", { { XCR_Fixup, 0 } } }, { "lidt{Q|Q||}", { { SVME_Fixup, 0 } } }, { "smswD", { Sv } }, { "(bad)", { XX } }, @@ -1783,9 +1787,9 @@ static const struct dis386 grps[][8] = { { "fxrstor", { Ev } }, { "ldmxcsr", { Ev } }, { "stmxcsr", { Ev } }, - { "(bad)", { XX } }, - { "lfence", { { OP_0fae, 0 } } }, - { "mfence", { { OP_0fae, 0 } } }, + { "xsave", { Ev } }, + { "xrstor", { { OP_0fae, v_mode } } }, + { "xsaveopt", { { OP_0fae, v_mode } } }, { "clflush", { { OP_0fae, 0 } } }, }, /* GRP16 */ @@ -2585,6 +2589,22 @@ static const struct dis386 prefix_user_t { "punpckldq",{ MX, EMq } }, { "(bad)", { XX } }, }, + + /* PREGRP98 */ + { + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "invept", { Gm, Mo } }, + { "(bad)", { XX } }, + }, + + /* PREGRP99 */ + { + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "invvpid",{ Gm, Mo } }, + { "(bad)", { XX } }, + }, }; static const struct dis386 x86_64_table[][2] = { @@ -2754,8 +2774,8 @@ static const struct dis386 three_byte_ta { "(bad)", { XX } }, { "(bad)", { XX } }, /* 80 */ - { "(bad)", { XX } }, - { "(bad)", { XX } }, + { PREGRP98 }, + { PREGRP99 }, { "(bad)", { XX } }, { "(bad)", { XX } }, { "(bad)", { XX } }, @@ -5883,7 +5903,7 @@ static void OP_M (int bytemode, int sizeflag) { if (modrm.mod == 3) - /* bad bound,lea,lds,les,lfs,lgs,lss,cmpxchg8b,vmptrst modrm */ + /* bad bound,lea,lds,les,lfs,lgs,lss,cmpxchg8b,vmptrst,invept,invvpid modrm */ BadOp (); else OP_E (bytemode, sizeflag); @@ -5905,17 +5925,17 @@ OP_0fae (int bytemode, int sizeflag) { if (modrm.reg == 7) strcpy (obuf + strlen (obuf) - sizeof ("clflush") + 1, "sfence"); + else if (modrm.reg == 6) + strcpy (obuf + strlen (obuf) - sizeof ("xsaveopt") + 1, "mfence"); + else if (modrm.reg == 5) + strcpy (obuf + strlen (obuf) - sizeof ("xrstor") + 1, "lfence"); if (modrm.reg < 5 || modrm.rm != 0) { BadOp (); /* bad sfence, mfence, or lfence */ return; } - } - else if (modrm.reg != 7) - { - BadOp (); /* bad clflush */ - return; + bytemode = 0; } OP_E (bytemode, sizeflag); @@ -6170,6 +6190,43 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSE } static void +XCR_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag) +{ + if (modrm.mod == 3 && modrm.reg == 2 && modrm.rm <= 1) + { + /* Override "lgdt". */ + size_t olen = strlen (obuf); + char *p = obuf + olen - 4; + + /* We might have a suffix when disassembling with -Msuffix. */ + if (*p == 'i') + --p; + + /* Remove "addr16/addr32" if we aren't in Intel mode. */ + if (!intel_syntax + && (prefixes & PREFIX_ADDR) + && olen >= (4 + 7) + && *(p - 1) == ' ' + && CONST_STRNEQ (p - 7, "addr") + && (CONST_STRNEQ (p - 3, "16") + || CONST_STRNEQ (p - 3, "32"))) + p -= 7; + + if (modrm.rm) + { + strcpy (p, "xsetbv"); + } + else + { + strcpy (p, "xgetbv"); + } + + codep++; + } + else + OP_M (0, sizeflag); +} +static void SVME_Fixup (int bytemode, int sizeflag) { const char *alt; Modified: user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.h ============================================================================== --- user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.h Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.h Sat Jul 7 17:55:27 2012 (r238207) @@ -71,6 +71,7 @@ typedef struct template #define CpuABM 0x200000 /* ABM New Instructions required */ #define CpuSSE4_1 0x400000 /* SSE4.1 Instructions required */ #define CpuSSE4_2 0x800000 /* SSE4.2 Instructions required */ +#define CpuXSAVE 0x1000000 /* XSAVE Instructions required */ /* SSE4.1/4.2 Instructions required */ #define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) @@ -83,7 +84,7 @@ typedef struct template #define CpuUnknownFlags (Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \ |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuSSE3|CpuVMX \ |Cpu3dnow|Cpu3dnowA|CpuK6|CpuPadLock|CpuSVME|CpuSSSE3|CpuSSE4_1 \ - |CpuSSE4_2|CpuABM|CpuSSE4a) + |CpuSSE4_2|CpuABM|CpuSSE4a|CpuXSAVE) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of Modified: user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.tbl ============================================================================== --- user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.tbl Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/binutils/opcodes/i386-opc.tbl Sat Jul 7 17:55:27 2012 (r238207) @@ -1289,6 +1289,10 @@ mwait, 2, 0xf01, 0xc9, CpuSSE3|CpuNo64, mwait, 2, 0xf01, 0xc9, CpuSSE3|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt|NoRex64, { Reg64, Reg64 } // VMX instructions. +invept, 2, 0x660f3880, None, CpuVMX|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32 } +invept, 2, 0x660f3880, None, CpuVMX|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg64 } +invvpid, 2, 0x660f3881, None, CpuVMX|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32 } +invvpid, 2, 0x660f3881, None, CpuVMX|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg64 } vmcall, 0, 0xf01, 0xc1, CpuVMX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } vmclear, 1, 0x660fc7, 0x6, CpuVMX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } vmlaunch, 0, 0xf01, 0xc2, CpuVMX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } @@ -1487,3 +1491,10 @@ xcryptcfb, 0, 0xf30fa7, 0xe0, Cpu686|Cpu xcryptofb, 0, 0xf30fa7, 0xe8, Cpu686|CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|IsString|ImmExt, { 0 } // Alias for xstore-rng. xstore, 0, 0xfa7, 0xc0, Cpu686|CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|IsString|ImmExt, { 0 } + +// XSAVE/XRSTOR related instructions +xgetbv, 0, 0xf01, 0xd0, CpuXSAVE, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } +xsetbv, 0, 0xf01, 0xd1, CpuXSAVE, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } +xsave, 1, 0xfae, 0x4, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } +xsaveopt, 1, 0xfae, 0x6, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } +xrstor, 1, 0xfae, 0x5, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } Modified: user/attilio/vmcontention/contrib/binutils/opcodes/i386-tbl.h ============================================================================== --- user/attilio/vmcontention/contrib/binutils/opcodes/i386-tbl.h Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/binutils/opcodes/i386-tbl.h Sat Jul 7 17:55:27 2012 (r238207) @@ -3625,6 +3625,22 @@ const template i386_optab[] = No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt|NoRex64, { Reg64, Reg64 } }, + { "invept", 2, 0x660f3880, None, CpuVMX|CpuNo64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg32 } }, + { "invept", 2, 0x660f3880, None, CpuVMX|Cpu64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg64 } }, + { "invvpid", 2, 0x660f3881, None, CpuVMX|CpuNo64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg32 } }, + { "invvpid", 2, 0x660f3881, None, CpuVMX|Cpu64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg64 } }, { "vmcall", 0, 0xf01, 0xc1, CpuVMX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } }, @@ -4288,6 +4304,21 @@ const template i386_optab[] = { "xstore", 0, 0xfa7, 0xc0, Cpu686|CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|IsString|ImmExt, { 0 } }, + { "xgetbv", 0, 0xf01, 0xd0, CpuXSAVE, + No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, + { 0 } }, + { "xsetbv", 0, 0xf01, 0xd1, CpuXSAVE, + No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, + { 0 } }, + { "xsave", 1, 0xfae, 0x4, CpuXSAVE, + Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S } }, + { "xsaveopt", 1, 0xfae, 0x6, CpuXSAVE, + Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S } }, + { "xrstor", 1, 0xfae, 0x5, CpuXSAVE, + Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S } }, { NULL, 0, 0, 0, 0, 0, { 0 } } }; Modified: user/attilio/vmcontention/contrib/less/LICENSE ============================================================================== --- user/attilio/vmcontention/contrib/less/LICENSE Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/less/LICENSE Sat Jul 7 17:55:27 2012 (r238207) @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2011 Mark Nudelman +Copyright (C) 1984-2012 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: user/attilio/vmcontention/contrib/less/Makefile.aut ============================================================================== --- user/attilio/vmcontention/contrib/less/Makefile.aut Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/less/Makefile.aut Sat Jul 7 17:55:27 2012 (r238207) @@ -1,6 +1,6 @@ # Makefile for authoring less. -EMAIL = markn@greenwoodsoftware.com +EMAIL = bug-less@gnu.org HOMEPAGE = http://www.greenwoodsoftware.com/less SHELL = /bin/sh RCS = rcs @@ -112,8 +112,7 @@ dist: ${DISTFILES} echo "Preparing $$REL"; \ rm -rf $$REL; mkdir $$REL; \ for file in ${DISTFILES}; do \ - cp -p $$file $$REL; \ - chmod -w $$REL/$$file; \ + ./add_copyright $$file $$REL; \ done; \ cd $$REL; chmod +w ${DISTFILES_W}; cd ..; \ echo "Creating release/$$REL/$$REL.tar.gz"; \ Modified: user/attilio/vmcontention/contrib/less/NEWS ============================================================================== --- user/attilio/vmcontention/contrib/less/NEWS Sat Jul 7 17:46:11 2012 (r238206) +++ user/attilio/vmcontention/contrib/less/NEWS Sat Jul 7 17:55:27 2012 (r238207) @@ -7,8 +7,34 @@ http://www.greenwoodsoftware.com/less *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***