From owner-svn-src-head@freebsd.org Sun Mar 6 00:31:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B12E6A13A95; Sun, 6 Mar 2016 00:31:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 73361E86; Sun, 6 Mar 2016 00:31:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u260VBZw027533; Sun, 6 Mar 2016 00:31:11 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u260VBSb027532; Sun, 6 Mar 2016 00:31:11 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603060031.u260VBSb027532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 6 Mar 2016 00:31:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296419 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 00:31:12 -0000 Author: kib Date: Sun Mar 6 00:31:11 2016 New Revision: 296419 URL: https://svnweb.freebsd.org/changeset/base/296419 Log: In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before. Reported by: Nikolai Lifanov PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/link_elf_obj.c Modified: head/sys/kern/link_elf_obj.c ============================================================================== --- head/sys/kern/link_elf_obj.c Sat Mar 5 21:10:34 2016 (r296418) +++ head/sys/kern/link_elf_obj.c Sun Mar 6 00:31:11 2016 (r296419) @@ -257,6 +257,9 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -327,9 +330,16 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->progtab[pb].addr = (void *)shdr[i].sh_addr; if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; ef->progtab[pb].size = shdr[i].sh_size; @@ -575,6 +585,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -681,6 +694,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; @@ -748,6 +764,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapbase += alignmask; mapbase &= ~alignmask; @@ -760,6 +779,10 @@ link_elf_load_file(linker_class_t cls, c } } else if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; if (ef->progtab[pb].name != NULL && @@ -781,7 +804,11 @@ link_elf_load_file(linker_class_t cls, c } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].sec = i; - if (shdr[i].sh_type == SHT_PROGBITS) { + if (shdr[i].sh_type == SHT_PROGBITS +#ifdef __amd64__ + || shdr[i].sh_type == SHT_AMD64_UNWIND +#endif + ) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, shdr[i].sh_size, shdr[i].sh_offset, From owner-svn-src-head@freebsd.org Sun Mar 6 04:38:09 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E8DDA93E5C; Sun, 6 Mar 2016 04:38:09 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3C36D26C; Sun, 6 Mar 2016 04:38:09 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u264c8PL003682; Sun, 6 Mar 2016 04:38:08 GMT (envelope-from lidl@FreeBSD.org) Received: (from lidl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u264c8J6003681; Sun, 6 Mar 2016 04:38:08 GMT (envelope-from lidl@FreeBSD.org) Message-Id: <201603060438.u264c8J6003681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lidl set sender to lidl@FreeBSD.org using -f From: Kurt Lidl Date: Sun, 6 Mar 2016 04:38:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296423 - head/lib/libc/db/db X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 04:38:09 -0000 Author: lidl Date: Sun Mar 6 04:38:08 2016 New Revision: 296423 URL: https://svnweb.freebsd.org/changeset/base/296423 Log: Allow O_CLOEXEC to be used in dbopen() flags There is also a small portability crutch, also present in NetBSD, to allow compiling on a system that doesn't define O_CLOEXEC. Approved by: rpaulo (mentor) Obtained from: NetBSD (r1.17, r1.18) Differential Revision: https://reviews.freebsd.org/D5549 Modified: head/lib/libc/db/db/db.c Modified: head/lib/libc/db/db/db.c ============================================================================== --- head/lib/libc/db/db/db.c Sun Mar 6 04:13:17 2016 (r296422) +++ head/lib/libc/db/db/db.c Sun Mar 6 04:38:08 2016 (r296423) @@ -44,6 +44,10 @@ __FBSDID("$FreeBSD$"); static int __dberr(void); +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif + DB * dbopen(const char *fname, int flags, int mode, DBTYPE type, const void *openinfo) { @@ -51,7 +55,7 @@ dbopen(const char *fname, int flags, int #define DB_FLAGS (DB_LOCK | DB_SHMEM | DB_TXN) #define USE_OPEN_FLAGS \ (O_CREAT | O_EXCL | O_EXLOCK | O_NOFOLLOW | O_NONBLOCK | \ - O_RDONLY | O_RDWR | O_SHLOCK | O_SYNC | O_TRUNC) + O_RDONLY | O_RDWR | O_SHLOCK | O_SYNC | O_TRUNC | O_CLOEXEC) if ((flags & ~(USE_OPEN_FLAGS | DB_FLAGS)) == 0) switch (type) { From owner-svn-src-head@freebsd.org Sun Mar 6 11:41:10 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1142DA95F7E; Sun, 6 Mar 2016 11:41:10 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E0F1BF9; Sun, 6 Mar 2016 11:41:09 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Bf8P3055835; Sun, 6 Mar 2016 11:41:08 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26Bf8EW055830; Sun, 6 Mar 2016 11:41:08 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201603061141.u26Bf8EW055830@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sun, 6 Mar 2016 11:41:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296426 - in head/sys/arm: allwinner allwinner/a20 conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 11:41:10 -0000 Author: andrew Date: Sun Mar 6 11:41:08 2016 New Revision: 296426 URL: https://svnweb.freebsd.org/changeset/base/296426 Log: Add SMP support for the Allwinner A31 and A31s. This updated the existing code for the A20 to use the new PLATFORM_SMP interface, and extends it to add support for the new SoCs allowing for both to coexist within the same kernel. Submitted by: Emmanuel Vadot Reviewed by: jmcneill Differential Revision: https://reviews.freebsd.org/D5342 Added: head/sys/arm/allwinner/aw_mp.c - copied, changed from r296425, head/sys/arm/allwinner/a20/a20_mp.c head/sys/arm/allwinner/aw_mp.h (contents, props changed) Deleted: head/sys/arm/allwinner/a20/a20_mp.c Modified: head/sys/arm/allwinner/a20/files.a20 head/sys/arm/allwinner/allwinner_machdep.c head/sys/arm/conf/A20 Modified: head/sys/arm/allwinner/a20/files.a20 ============================================================================== --- head/sys/arm/allwinner/a20/files.a20 Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/allwinner/a20/files.a20 Sun Mar 6 11:41:08 2016 (r296426) @@ -1,5 +1,5 @@ # $FreeBSD$ arm/allwinner/a20/a20_padconf.c standard -arm/allwinner/a20/a20_mp.c optional smp +arm/allwinner/aw_mp.c optional smp arm/allwinner/a20/a20_if_dwc.c optional dwc Modified: head/sys/arm/allwinner/allwinner_machdep.c ============================================================================== --- head/sys/arm/allwinner/allwinner_machdep.c Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/allwinner/allwinner_machdep.c Sun Mar 6 11:41:08 2016 (r296426) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include @@ -152,6 +153,10 @@ static platform_method_t a20_methods[] = PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a20_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; @@ -160,6 +165,10 @@ static platform_method_t a31_methods[] = PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a31_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; @@ -168,6 +177,10 @@ static platform_method_t a31s_methods[] PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a31_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; Copied and modified: head/sys/arm/allwinner/aw_mp.c (from r296425, head/sys/arm/allwinner/a20/a20_mp.c) ============================================================================== --- head/sys/arm/allwinner/a20/a20_mp.c Sun Mar 6 08:52:03 2016 (r296425, copy source) +++ head/sys/arm/allwinner/aw_mp.c Sun Mar 6 11:41:08 2016 (r296426) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2014 Ganbold Tsagaankhuu + * Copyright (c) 2016 Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,53 +39,69 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include +#include -#define CPUCFG_BASE 0x01c25c00 +#include +#include + +/* Register for all dual-core SoC */ +#define A20_CPUCFG_BASE 0x01c25c00 +/* Register for all quad-core SoC */ +#define CPUCFG_BASE 0x01f01c00 #define CPUCFG_SIZE 0x400 +#define PRCM_BASE 0x01f01400 +#define PRCM_SIZE 0x800 + +#define CPU_OFFSET 0x40 +#define CPU_OFFSET_CTL 0x04 +#define CPU_OFFSET_STATUS 0x08 +#define CPU_RST_CTL(cpuid) ((cpuid + 1) * CPU_OFFSET) +#define CPU_CTL(cpuid) (((cpuid + 1) * CPU_OFFSET) + CPU_OFFSET_CTL) +#define CPU_STATUS(cpuid) (((cpuid + 1) * CPU_OFFSET) + CPU_OFFSET_STATUS) + +#define CPU_RESET (1 << 0) +#define CPU_CORE_RESET (1 << 1) -#define CPU0_RST_CTL 0x40 -#define CPU0_CTL 0x44 -#define CPU0_STATUS 0x48 -#define CPU1_RST_CTL 0x80 -#define CPU1_CTL 0x84 -#define CPU1_STATUS 0x88 #define CPUCFG_GENCTL 0x184 #define CPUCFG_P_REG0 0x1a4 -#define CPU1_PWR_CLAMP 0x1b0 -#define CPU1_PWROFF_REG 0x1b4 + +#define A20_CPU1_PWR_CLAMP 0x1b0 +#define CPU_PWR_CLAMP_REG 0x140 +#define CPU_PWR_CLAMP(cpu) ((cpu * 4) + CPU_PWR_CLAMP_REG) +#define CPU_PWR_CLAMP_STEPS 8 + +#define A20_CPU1_PWROFF_REG 0x1b4 +#define CPU_PWROFF 0x100 + #define CPUCFG_DBGCTL0 0x1e0 #define CPUCFG_DBGCTL1 0x1e4 void -platform_mp_setmaxid(void) +aw_mp_setmaxid(platform_t plat) { int ncpu; + uint32_t reg; if (mp_ncpus != 0) return; - /* Read the number of cores from the CP15 L2 Control Register. */ - __asm __volatile("mrc p15, 1, %0, c9, c0, 2" : "=r" (ncpu)); - ncpu = ((ncpu >> 24) & 0x3) + 1; + reg = cp15_l2ctlr_get(); + ncpu = CPUV7_L2CTLR_NPROC(reg); mp_ncpus = ncpu; mp_maxid = ncpu - 1; } -void -platform_mp_start_ap(void) +static void +aw_common_mp_start_ap(bus_space_handle_t cpucfg, bus_space_handle_t prcm) { - bus_space_handle_t cpucfg; - + int i, j; uint32_t val; - if (bus_space_map(fdtbus_bs_tag, CPUCFG_BASE, CPUCFG_SIZE, 0, - &cpucfg) != 0) - panic("Couldn't map the CPUCFG\n"); - dcache_wbinv_poc_all(); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_P_REG0, @@ -95,44 +112,93 @@ platform_mp_start_ap(void) * Ensure DBGPWRDUP is set to LOW to prevent any external * debug access to the processor. */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_RST_CTL, 0); + for (i = 1; i < mp_ncpus; i++) + bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU_RST_CTL(i), 0); /* Set L1RSTDISABLE low */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_GENCTL); - val &= ~(1 << 1); + for (i = 1; i < mp_ncpus; i++) + val &= ~(1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_GENCTL, val); /* Set DBGPWRDUP low */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1); - val &= ~(1 << 1); + for (i = 1; i < mp_ncpus; i++) + val &= ~(1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1, val); /* Release power clamp */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0xff); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x7f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x3f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x1f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x0f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x07); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x03); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x01); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x00); + for (i = 1; i < mp_ncpus; i++) + for (j = 0; j <= CPU_PWR_CLAMP_STEPS; j++) { + if (prcm) { + bus_space_write_4(fdtbus_bs_tag, prcm, + CPU_PWR_CLAMP(i), 0xff >> j); + } else { + bus_space_write_4(fdtbus_bs_tag, + cpucfg, A20_CPU1_PWR_CLAMP, 0xff >> j); + } + } DELAY(10000); /* Clear power-off gating */ - val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPU1_PWROFF_REG); - val &= ~(1 << 0); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWROFF_REG, val); + if (prcm) { + val = bus_space_read_4(fdtbus_bs_tag, prcm, CPU_PWROFF); + for (i = 0; i < mp_ncpus; i++) + val &= ~(1 << i); + bus_space_write_4(fdtbus_bs_tag, prcm, CPU_PWROFF, val); + } else { + val = bus_space_read_4(fdtbus_bs_tag, + cpucfg, A20_CPU1_PWROFF_REG); + val &= ~(1 << 0); + bus_space_write_4(fdtbus_bs_tag, cpucfg, + A20_CPU1_PWROFF_REG, val); + } DELAY(1000); /* De-assert cpu core reset */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_RST_CTL, 3); + for (i = 1; i < mp_ncpus; i++) + bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU_RST_CTL(i), + CPU_RESET | CPU_CORE_RESET); /* Assert DBGPWRDUP signal */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1); - val |= (1 << 1); + for (i = 1; i < mp_ncpus; i++) + val |= (1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1, val); armv7_sev(); bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); } + +void +a20_mp_start_ap(platform_t plat) +{ + bus_space_handle_t cpucfg; + + if (bus_space_map(fdtbus_bs_tag, A20_CPUCFG_BASE, CPUCFG_SIZE, + 0, &cpucfg) != 0) + panic("Couldn't map the CPUCFG\n"); + + aw_common_mp_start_ap(cpucfg, 0); + armv7_sev(); + bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); +} + +void +a31_mp_start_ap(platform_t plat) +{ + bus_space_handle_t cpucfg; + bus_space_handle_t prcm; + + if (bus_space_map(fdtbus_bs_tag, CPUCFG_BASE, CPUCFG_SIZE, + 0, &cpucfg) != 0) + panic("Couldn't map the CPUCFG\n"); + if (bus_space_map(fdtbus_bs_tag, PRCM_BASE, PRCM_SIZE, 0, + &prcm) != 0) + panic("Couldn't map the PRCM\n"); + + aw_common_mp_start_ap(cpucfg, prcm); + armv7_sev(); + bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); + bus_space_unmap(fdtbus_bs_tag, prcm, PRCM_SIZE); +} Added: head/sys/arm/allwinner/aw_mp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/allwinner/aw_mp.h Sun Mar 6 11:41:08 2016 (r296426) @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2016 Emmanuel Vadot + * 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 ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _AW_MP_H_ +#define _AW_MP_H_ + +void aw_mp_setmaxid(platform_t plat); +void a20_mp_start_ap(platform_t plat); +void a31_mp_start_ap(platform_t plat); + +#endif /* _AW_MP_H_ */ Modified: head/sys/arm/conf/A20 ============================================================================== --- head/sys/arm/conf/A20 Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/conf/A20 Sun Mar 6 11:41:08 2016 (r296426) @@ -31,6 +31,7 @@ options HZ=100 options SCHED_ULE # ULE scheduler options SMP # Enable multiple cores options PLATFORM +options PLATFORM_SMP # Debugging for use in -current makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols From owner-svn-src-head@freebsd.org Sun Mar 6 14:37:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B5480AC032B; Sun, 6 Mar 2016 14:37:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 878038CC; Sun, 6 Mar 2016 14:37:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Ebnt4009656; Sun, 6 Mar 2016 14:37:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26EbnZf009655; Sun, 6 Mar 2016 14:37:49 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061437.u26EbnZf009655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 14:37:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296427 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 14:37:50 -0000 Author: dim Date: Sun Mar 6 14:37:49 2016 New Revision: 296427 URL: https://svnweb.freebsd.org/changeset/base/296427 Log: Add another libclang_rt library to ObsoleteFiles, so the enclosing directory can be removed completely. Noticed by: Oliver Hartmann Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Mar 6 11:41:08 2016 (r296426) +++ head/ObsoleteFiles.inc Sun Mar 6 14:37:49 2016 (r296427) @@ -106,6 +106,8 @@ OLD_FILES+=usr/lib/clang/3.7.1/include/x OLD_FILES+=usr/lib/clang/3.7.1/include/xtestintrin.h OLD_DIRS+=usr/lib/clang/3.7.1/include OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan_cxx-i386.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a From owner-svn-src-head@freebsd.org Sun Mar 6 15:57:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E3DBA9523B; Sun, 6 Mar 2016 15:57:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 504D1C0; Sun, 6 Mar 2016 15:57:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26FvhS6033983; Sun, 6 Mar 2016 15:57:43 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26FvhMi033982; Sun, 6 Mar 2016 15:57:43 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061557.u26FvhMi033982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 15:57:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296428 - head/sys/boot/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 15:57:44 -0000 Author: dim Date: Sun Mar 6 15:57:43 2016 New Revision: 296428 URL: https://svnweb.freebsd.org/changeset/base/296428 Log: Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section. Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel. Reviewed by: kib MFC after: 2 weeks X-MFC-With: r296419 Modified: head/sys/boot/common/load_elf_obj.c Modified: head/sys/boot/common/load_elf_obj.c ============================================================================== --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#if defined(__i386__) || defined(__amd64__) + case SHT_AMD64_UNWIND: +#endif lastaddr = roundup(lastaddr, shdr[i].sh_addralign); shdr[i].sh_addr = (Elf_Addr)lastaddr; lastaddr += shdr[i].sh_size; From owner-svn-src-head@freebsd.org Sun Mar 6 16:00:06 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D438A95379 for ; Sun, 6 Mar 2016 16:00:06 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 123092BB for ; Sun, 6 Mar 2016 16:00:06 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by mail-wm0-x22e.google.com with SMTP id n186so54046295wmn.1 for ; Sun, 06 Mar 2016 08:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=jR6GAcbcqgcBpTxT2c8AaXCUeVmrw7T6W98nFpOn0q8=; b=WGjU9GMrTQhEllNLck0vXgMysxelvci5qYw8BrYY/UVNNU8mIgMCDJCOwTryazWVVW fp+uEsn1escCiVZEEzowx8Arpuzk3PPzJQpkAbKgceCzuKwMKMr+h3HDw/5pid+IhpwV XWt7fu5xKadvQIFC9v3owO9ksEkkBWJPAaNhyigXmlLQihXpYoQNXGaPYDVAjwil93Dt WylI/TrY3F2ELSje1un0serCRv/+2p3GDYLFPpYR3T2HhE537CEmwoqCNhivwq5F1QLe ln7WJ1a9aNfStT2atlna38sUVpcN6LFQmLDze+ZL7tFUsXljPvGHgQgS/hELgb6LDU6B ZZVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=jR6GAcbcqgcBpTxT2c8AaXCUeVmrw7T6W98nFpOn0q8=; b=jf17afOPZnW9P6NTDCx5RTo01dmCKK1exMKfn36t7G+7Vq8Qe/LLLO97b5oDXEp7za Y6I59MHZQPg4kEEb0VdcImnyV374oKSc2b1+ePB5ktaeuV6wzCnGC+Im2q9jv9yO/GHm YnrzDPMuhUBUOJkPg+DY8lv+TUsHEkexyMTvZTjYT2MNczIF0LPugzwQ9bsH8FMxESPL cmnQKlnT2dQyZdWggxuH6lK5PMJfO+eI188oZuTOQCnXjDf2XDBhmOixIK9qc5BOFbqu nrOMIw9ct6vduGcOFaqTf2miRvnXlF48bkUOqJD+ulBLbrs/4ygElx/38gmi3EeetzNe s/RQ== X-Gm-Message-State: AD7BkJJfHEVtdBqzoziQc+KCCyKoApv9o1d2ekooJjYckSy3GXDz8jGlmiPJC6bx7l4UG4fAznq9HkCprb9GdusX MIME-Version: 1.0 X-Received: by 10.194.77.193 with SMTP id u1mr18393225wjw.73.1457280004586; Sun, 06 Mar 2016 08:00:04 -0800 (PST) Received: by 10.194.243.98 with HTTP; Sun, 6 Mar 2016 08:00:04 -0800 (PST) In-Reply-To: <201603061557.u26FvhMi033982@repo.freebsd.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> Date: Sun, 6 Mar 2016 17:00:04 +0100 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Oliver Pinter To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 16:00:06 -0000 On 3/6/16, Dimitry Andric wrote: > Author: dim > Date: Sun Mar 6 15:57:43 2016 > New Revision: 296428 > URL: https://svnweb.freebsd.org/changeset/base/296428 > > Log: > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > the boot loader should not skip over these anymore while loading images. > Otherwise the kernel can still panic when it doesn't find the .eh_frame > section belonging to the .rela.eh_frame section. > > Unfortunately this will require installing boot loaders from sys/boot > before attempting to boot with a new kernel. Could you please add a note about this to UPDATING file? > > Reviewed by: kib > MFC after: 2 weeks > X-MFC-With: r296419 > > Modified: > head/sys/boot/common/load_elf_obj.c > > Modified: head/sys/boot/common/load_elf_obj.c > ============================================================================== > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > switch (shdr[i].sh_type) { > case SHT_PROGBITS: > case SHT_NOBITS: > +#if defined(__i386__) || defined(__amd64__) > + case SHT_AMD64_UNWIND: > +#endif > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > shdr[i].sh_addr = (Elf_Addr)lastaddr; > lastaddr += shdr[i].sh_size; > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-head@freebsd.org Sun Mar 6 16:17:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EEE51A95AE5; Sun, 6 Mar 2016 16:17:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B5BF3DD3; Sun, 6 Mar 2016 16:17:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::c8cc:92f5:a9cb:d8ee] (unknown [IPv6:2001:7b8:3a7:0:c8cc:92f5:a9cb:d8ee]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id CB2583E090; Sun, 6 Mar 2016 17:17:13 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: Date: Sun, 6 Mar 2016 17:17:05 +0100 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> To: Oliver Pinter X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 16:17:17 -0000 --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 06 Mar 2016, at 17:00, Oliver Pinter = wrote: >=20 > On 3/6/16, Dimitry Andric wrote: >> Author: dim >> Date: Sun Mar 6 15:57:43 2016 >> New Revision: 296428 >> URL: https://svnweb.freebsd.org/changeset/base/296428 >>=20 >> Log: >> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >> the boot loader should not skip over these anymore while loading = images. >> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >> section belonging to the .rela.eh_frame section. >>=20 >> Unfortunately this will require installing boot loaders from = sys/boot >> before attempting to boot with a new kernel. >=20 > Could you please add a note about this to UPDATING file? I am a bit torn on this, because normally we always tell people to install the kernel first, reboot, then run make installworld (which also installs the boot loaders). However, in this case, people might depend on their boot loader loading modules which are required to make the system boot at all. So if they happened to forget updating their boot loader first, a panic might be the result. I wonder what a failsafe and acceptable upgrade scenario is, in this case. Normally the procedure is something like: make buildworld make buildkernel (with KERNCONF=3Dwhatever, if needed) make installkernel (again with KERNCONF, if needed) reboot (to single user, but cheating is possible usually) mergemaster -p make installworld This could maybe be modified to: make buildworld make buildkernel (with KERNCONF=3Dwhatever, if needed) make installkernel (again with KERNCONF, if needed) make -C sys/boot install reboot (to single user, but cheating is possible usually) mergemaster -p make installworld E.g. insert the step which installs the boot loaders just after (or before) the step which installs the kernel. Is something like this acceptable as a one-time workaround, or maybe it is better in general, in case we ever add other new features to the boot loaders? -Dimitry --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbcWAkACgkQsF6jCi4glqPv4gCfT90/wveAL2rshN8QccQ8noAa Sg8AmwSMje31dxJwVng3Dih4/ru882/S =jeHf -----END PGP SIGNATURE----- --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9-- From owner-svn-src-head@freebsd.org Sun Mar 6 17:10:15 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 533039DBCFB for ; Sun, 6 Mar 2016 17:10:15 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E2558E53 for ; Sun, 6 Mar 2016 17:10:14 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by mail-wm0-x235.google.com with SMTP id n186so55452503wmn.1 for ; Sun, 06 Mar 2016 09:10:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=+1UdcWC12E+2aNYB994kxCrSA9YwheJZd02E3CbYQ0I=; b=DqYioVcHqQEs9pydGO5/I7vj6+nVC2CdHo+/mKgGPbHwPmDK86MQzcYziCIIGFqg19 kpE6m3H/7s9B1S4t79F/ZCPrE81goF6rehFWE2GlOsHfQB8RKhyPAcfVGAD/a5HaL86B vgJhTmq+/g4Oh6yB775aEGt830bvzjJdrO0zyWLC53XEcfE8ps3HADpTMBTH9MAYXwAk TMQPDHFsbMAhbwwpHVOGnaLfEmc8qVndG9dfvGkg1PGhs1kXH8946WAfYyrP32+iyps+ NIBxk9gOMjZRcBAbpUHr/MlI07nL4xNB9L97drvLD8m0i/qGwSuz1m5lM6VS3v6bIIfR W0NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=+1UdcWC12E+2aNYB994kxCrSA9YwheJZd02E3CbYQ0I=; b=IKcoJWR0tScoicZqMKliLv+BnceqfOjA8WcoLZsfGIaPyrSQ5RH6I+ABuH5Q+gtA2b k9Z1fMPti37CVwbEle1EogfsWPHQsJH6allr3umxI1z+vebR17ETl/wSY+H1DmeCz4jc W8Vx+6prCY7yKOWhNgs6kySeQ6XITbgGL1v7yt0fisDGy749S1Ycc3rY8ptXrIVZKaYi yK1DgohnjypNt6ktHl42qWuLQ0XLkMo5q/fYqSJf9I6jyx0pF/b0GQyS23gFUB+7RBat NqNFF8PWdVaQaheozudTHEP7vS1EkVLWsc7HLkFgbJgkhm/dVJYQi7NGmRPXkw/xwewK 62Ew== X-Gm-Message-State: AD7BkJI2OUclSXkwM9Wz+3JDld1vEA8xBSuakedvksSzFxNM1XDIC0v/WuMgI5K4GTnzpMTIpmzhhk/nOrkd1UKO MIME-Version: 1.0 X-Received: by 10.194.200.194 with SMTP id ju2mr17936563wjc.63.1457284213298; Sun, 06 Mar 2016 09:10:13 -0800 (PST) Received: by 10.194.243.98 with HTTP; Sun, 6 Mar 2016 09:10:13 -0800 (PST) In-Reply-To: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> Date: Sun, 6 Mar 2016 18:10:13 +0100 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Oliver Pinter To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:10:15 -0000 On 3/6/16, Dimitry Andric wrote: > On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >> >> On 3/6/16, Dimitry Andric wrote: >>> Author: dim >>> Date: Sun Mar 6 15:57:43 2016 >>> New Revision: 296428 >>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>> >>> Log: >>> Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, >>> the boot loader should not skip over these anymore while loading >>> images. >>> Otherwise the kernel can still panic when it doesn't find the .eh_frame >>> section belonging to the .rela.eh_frame section. >>> >>> Unfortunately this will require installing boot loaders from sys/boot >>> before attempting to boot with a new kernel. >> >> Could you please add a note about this to UPDATING file? > > I am a bit torn on this, because normally we always tell people to > install the kernel first, reboot, then run make installworld (which also > installs the boot loaders). > > However, in this case, people might depend on their boot loader loading > modules which are required to make the system boot at all. So if they > happened to forget updating their boot loader first, a panic might be > the result. > > I wonder what a failsafe and acceptable upgrade scenario is, in this > case. Normally the procedure is something like: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > This could maybe be modified to: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > make -C sys/boot install > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > E.g. insert the step which installs the boot loaders just after (or > before) the step which installs the kernel. > > Is something like this acceptable as a one-time workaround, or maybe it > is better in general, in case we ever add other new features to the boot > loaders? If I'm not wrong, the bootloaders are self-contained (using libstand, and statically linked) same as the kernel, so they are not depend from the other parts of the system, and they already lives under the ${SRCTOP}/sys with the kernel, so logically bootloader belong to the kernel and it's acceptable from me to update them under the installkernel phase. The question is with this method everything working fine or this would break something? > > -Dimitry > > From owner-svn-src-head@freebsd.org Sun Mar 6 17:24:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 703ECA952B3; Sun, 6 Mar 2016 17:24:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4196A8CE; Sun, 6 Mar 2016 17:24:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26HO33R060919; Sun, 6 Mar 2016 17:24:03 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26HO3K4060917; Sun, 6 Mar 2016 17:24:03 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603061724.u26HO3K4060917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 6 Mar 2016 17:24:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296429 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:24:04 -0000 Author: jilles Date: Sun Mar 6 17:24:02 2016 New Revision: 296429 URL: https://svnweb.freebsd.org/changeset/base/296429 Log: sh: Fix some dead stores. Found by: clang static analyzer Modified: head/bin/sh/expand.c head/bin/sh/histedit.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Mar 6 15:57:43 2016 (r296428) +++ head/bin/sh/expand.c Sun Mar 6 17:24:02 2016 (r296429) @@ -463,7 +463,6 @@ expbackq(union node *cmd, int quoted, in argbackq = saveargbackq; p = in.buf; - lastc = '\0'; nnl = 0; if (!quoted && flag & EXP_SPLIT) ifs = ifsset() ? ifsval() : " \t\n"; @@ -1288,7 +1287,7 @@ patmatch(const char *pattern, const char if (wc == 0) goto backtrack; } else - wc = (unsigned char)*q++; + q++; break; case '*': c = *p; Modified: head/bin/sh/histedit.c ============================================================================== --- head/bin/sh/histedit.c Sun Mar 6 15:57:43 2016 (r296428) +++ head/bin/sh/histedit.c Sun Mar 6 17:24:02 2016 (r296429) @@ -359,7 +359,7 @@ histcmd(int argc, char **argv __unused) * cursor, set it back to the current * entry. */ - retval = history(hist, &he, + history(hist, &he, H_NEXT_EVENT, oldhistnum); } } else From owner-svn-src-head@freebsd.org Sun Mar 6 17:34:23 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 05222A9585C; Sun, 6 Mar 2016 17:34:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAC0AFD3; Sun, 6 Mar 2016 17:34:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26HYLfQ064287; Sun, 6 Mar 2016 17:34:21 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26HYLnG064286; Sun, 6 Mar 2016 17:34:21 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061734.u26HYLnG064286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 17:34:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296430 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:34:23 -0000 Author: dim Date: Sun Mar 6 17:34:21 2016 New Revision: 296430 URL: https://svnweb.freebsd.org/changeset/base/296430 Log: Add an UPDATING entry about installing the boot loaders after installing the kernel, on amd64. Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Sun Mar 6 17:24:02 2016 (r296429) +++ head/UPDATING Sun Mar 6 17:34:21 2016 (r296430) @@ -31,6 +31,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160306: + On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into + kernel modules. Therefore, if you load any kernel modules at boot time, + please install the boot loaders after you install the kernel, but before + rebooting, e.g.: + + make buildworld + make kernel KERNCONF=YOUR_KERNEL_HERE + make -C sys/boot install + + + Then follow the usual steps, described in the General Notes section, + below. + 20160305: Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please see the 20141231 entry below for information about prerequisites and From owner-svn-src-head@freebsd.org Sun Mar 6 18:41:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 373A2AC03B8; Sun, 6 Mar 2016 18:41:50 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E97971ACA; Sun, 6 Mar 2016 18:41:49 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Ifmct086260; Sun, 6 Mar 2016 18:41:48 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26Ifmnm086258; Sun, 6 Mar 2016 18:41:48 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603061841.u26Ifmnm086258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 6 Mar 2016 18:41:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296434 - head/lib/libc/tests/string X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 18:41:50 -0000 Author: jilles Date: Sun Mar 6 18:41:48 2016 New Revision: 296434 URL: https://svnweb.freebsd.org/changeset/base/296434 Log: libc: Add some tests for memcmp(). Added: head/lib/libc/tests/string/memcmp_test.c (contents, props changed) Modified: head/lib/libc/tests/string/Makefile Modified: head/lib/libc/tests/string/Makefile ============================================================================== --- head/lib/libc/tests/string/Makefile Sun Mar 6 18:40:02 2016 (r296433) +++ head/lib/libc/tests/string/Makefile Sun Mar 6 18:41:48 2016 (r296434) @@ -1,5 +1,6 @@ # $FreeBSD$ +ATF_TESTS_C+= memcmp_test ATF_TESTS_C+= stpncpy_test ATF_TESTS_C+= strerror2_test ATF_TESTS_C+= wcscasecmp_test Added: head/lib/libc/tests/string/memcmp_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libc/tests/string/memcmp_test.c Sun Mar 6 18:41:48 2016 (r296434) @@ -0,0 +1,124 @@ +/*- + * Copyright (c) 2016 Jilles Tjoelker + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include + +ATF_TC_WITHOUT_HEAD(zero); +ATF_TC_BODY(zero, tc) +{ + + assert(memcmp("a", "b", 0) == 0); + assert(memcmp("", "", 0) == 0); +} + +ATF_TC_WITHOUT_HEAD(eq); +ATF_TC_BODY(eq, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + for (i = 0; i < 256; i++) + data1[i] = data2[i] = i ^ 0x55; + for (i = 1; i < 256; i++) + assert(memcmp(data1, data2, i) == 0); + for (i = 1; i < 256; i++) + assert(memcmp(data1 + i, data2 + i, 256 - i) == 0); +} + +ATF_TC_WITHOUT_HEAD(neq); +ATF_TC_BODY(neq, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + for (i = 0; i < 256; i++) { + data1[i] = i; + data2[i] = i ^ 0x55; + } + for (i = 1; i < 256; i++) + assert(memcmp(data1, data2, i) != 0); + for (i = 1; i < 256; i++) + assert(memcmp(data1 + i, data2 + i, 256 - i) != 0); +} + +ATF_TC_WITHOUT_HEAD(diff); +ATF_TC_BODY(diff, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + memset(data1, 'a', sizeof(data1)); + memset(data2, 'a', sizeof(data2)); + data1[128] = 255; + data2[128] = 0; + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == 255); + assert(memcmp(data2 + 128, data1 + 128, i) == -255); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == 255); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == -255); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == 255); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == -255); + } + data1[128] = 'c'; + data2[128] = 'e'; + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == -2); + assert(memcmp(data2 + 128, data1 + 128, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == 2); + } + memset(data1 + 129, 'A', sizeof(data1) - 129); + memset(data2 + 129, 'Z', sizeof(data2) - 129); + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == -2); + assert(memcmp(data2 + 128, data1 + 128, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == 2); + } +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, zero); + ATF_TP_ADD_TC(tp, eq); + ATF_TP_ADD_TC(tp, neq); + ATF_TP_ADD_TC(tp, diff); + + return (atf_no_error()); +} From owner-svn-src-head@freebsd.org Sun Mar 6 19:57:35 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA2C5AC1116; Sun, 6 Mar 2016 19:57:34 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: from mail.lifanov.com (mail.lifanov.com [206.125.175.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C6A35EEC; Sun, 6 Mar 2016 19:57:34 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: by mail.lifanov.com (Postfix, from userid 58) id E3028239746; Sun, 6 Mar 2016 14:57:33 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.lifanov.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.1 Received: from app.lifanov.com (chat.lifanov.com [206.125.175.13]) by mail.lifanov.com (Postfix) with ESMTPA id 1824523958D; Sun, 6 Mar 2016 14:57:33 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sun, 06 Mar 2016 14:57:32 -0500 From: Nikolai Lifanov To: Dimitry Andric Cc: Oliver Pinter , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common In-Reply-To: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> Message-ID: <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> X-Sender: lifanov@mail.lifanov.com User-Agent: Roundcube Webmail/1.1.4 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 19:57:35 -0000 On 2016-03-06 11:17, Dimitry Andric wrote: > On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >> >> On 3/6/16, Dimitry Andric wrote: >>> Author: dim >>> Date: Sun Mar 6 15:57:43 2016 >>> New Revision: 296428 >>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>> >>> Log: >>> Since kernel modules can now contain sections of type >>> SHT_AMD64_UNWIND, >>> the boot loader should not skip over these anymore while loading >>> images. >>> Otherwise the kernel can still panic when it doesn't find the >>> .eh_frame >>> section belonging to the .rela.eh_frame section. >>> >>> Unfortunately this will require installing boot loaders from >>> sys/boot >>> before attempting to boot with a new kernel. >> >> Could you please add a note about this to UPDATING file? > > I am a bit torn on this, because normally we always tell people to > install the kernel first, reboot, then run make installworld (which > also > installs the boot loaders). > > However, in this case, people might depend on their boot loader loading > modules which are required to make the system boot at all. So if they > happened to forget updating their boot loader first, a panic might be > the result. > > I wonder what a failsafe and acceptable upgrade scenario is, in this > case. Normally the procedure is something like: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > This could maybe be modified to: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > make -C sys/boot install > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > E.g. insert the step which installs the boot loaders just after (or > before) the step which installs the kernel. > > Is something like this acceptable as a one-time workaround, or maybe it > is better in general, in case we ever add other new features to the > boot > loaders? > > -Dimitry In my opinion, boot *blocks* (boot1) should be updated seldomly and not on every install. All (?) instances of not updating these resulting in a failed boot have an UPDATING entry or a similar warning (like the one during "zpool upgrade"). - Nikolai Lifanov From owner-svn-src-head@freebsd.org Sun Mar 6 21:13:42 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A968DA952CB; Sun, 6 Mar 2016 21:13:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4A1DF689; Sun, 6 Mar 2016 21:13:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::3cb7:2161:babb:f26f] (unknown [IPv6:2001:7b8:3a7:0:3cb7:2161:babb:f26f]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 6A7033E45D; Sun, 6 Mar 2016 22:13:39 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> Date: Sun, 6 Mar 2016 22:13:34 +0100 Cc: Oliver Pinter , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org Message-Id: <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> To: Nikolai Lifanov X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 21:13:42 -0000 --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 06 Mar 2016, at 20:57, Nikolai Lifanov = wrote: >=20 > On 2016-03-06 11:17, Dimitry Andric wrote: >> On 06 Mar 2016, at 17:00, Oliver Pinter = wrote: >>> On 3/6/16, Dimitry Andric wrote: >>>> Author: dim >>>> Date: Sun Mar 6 15:57:43 2016 >>>> New Revision: 296428 >>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>>> Log: >>>> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >>>> the boot loader should not skip over these anymore while loading = images. >>>> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >>>> section belonging to the .rela.eh_frame section. >>>> Unfortunately this will require installing boot loaders from = sys/boot >>>> before attempting to boot with a new kernel. >>> Could you please add a note about this to UPDATING file? >> I am a bit torn on this, because normally we always tell people to >> install the kernel first, reboot, then run make installworld (which = also >> installs the boot loaders). >> However, in this case, people might depend on their boot loader = loading >> modules which are required to make the system boot at all. So if = they >> happened to forget updating their boot loader first, a panic might be >> the result. >> I wonder what a failsafe and acceptable upgrade scenario is, in this >> case. Normally the procedure is something like: >> make buildworld >> make buildkernel (with KERNCONF=3Dwhatever, if needed) >> make installkernel (again with KERNCONF, if needed) >> reboot (to single user, but cheating is possible usually) >> mergemaster -p >> make installworld >> This could maybe be modified to: >> make buildworld >> make buildkernel (with KERNCONF=3Dwhatever, if needed) >> make installkernel (again with KERNCONF, if needed) >> make -C sys/boot install >> reboot (to single user, but cheating is possible usually) >> mergemaster -p >> make installworld >> E.g. insert the step which installs the boot loaders just after (or >> before) the step which installs the kernel. >> Is something like this acceptable as a one-time workaround, or maybe = it >> is better in general, in case we ever add other new features to the = boot >> loaders? >> -Dimitry >=20 > In my opinion, boot *blocks* (boot1) should be updated seldomly and = not on every install. > All (?) instances of not updating these resulting in a failed boot = have an UPDATING > entry or a similar warning (like the one during "zpool upgrade"). Well, each time you run make installworld, almost all the files in /boot (except for configuration) get reinstalled. For e.g. mbr, boot1 and such, this has no consequences at all, until you install them into some partition using gpart, but changes to loader, loader.efi or zfsloader *will* affect the next startup. Per a suggestion from Kostik, maybe it would be nice to have a separate "make installboot" target, which installs just the components in /boot. This could then be used before or after "make installkernel". -Dimitry --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbcnYIACgkQsF6jCi4glqMjDwCgyp/oUg3vwXo/7JZBMwexMmk5 FMIAoNXpEXyq4Iem3Uotn4FNkR2UbILn =Xu6U -----END PGP SIGNATURE----- --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4-- From owner-svn-src-head@freebsd.org Sun Mar 6 21:32:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2964CA95B60; Sun, 6 Mar 2016 21:32:57 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC5901AF; Sun, 6 Mar 2016 21:32:56 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26LWtaO038242; Sun, 6 Mar 2016 21:32:55 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26LWsCd038229; Sun, 6 Mar 2016 21:32:54 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603062132.u26LWsCd038229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 6 Mar 2016 21:32:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296435 - in head/lib/libedit: . TEST edit/readline X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 21:32:57 -0000 Author: pfg Date: Sun Mar 6 21:32:54 2016 New Revision: 296435 URL: https://svnweb.freebsd.org/changeset/base/296435 Log: Revert r296175 Undo update of libedit 2016-02-27 Something in libedit appears to be causing breakage in lldb38. The changes are not generally huge but they are suficient to to justify reverting for now. Reported by: novel, bapt Modified: head/lib/libedit/Makefile head/lib/libedit/TEST/tc1.c head/lib/libedit/TEST/wtc1.c head/lib/libedit/chared.c head/lib/libedit/chared.h head/lib/libedit/chartype.c head/lib/libedit/chartype.h head/lib/libedit/common.c head/lib/libedit/config.h head/lib/libedit/edit/readline/readline.h head/lib/libedit/editline.3 head/lib/libedit/el.c head/lib/libedit/el.h head/lib/libedit/eln.c head/lib/libedit/emacs.c head/lib/libedit/filecomplete.c head/lib/libedit/hist.c head/lib/libedit/hist.h head/lib/libedit/histedit.h head/lib/libedit/history.c head/lib/libedit/keymacro.c head/lib/libedit/makelist head/lib/libedit/map.c head/lib/libedit/parse.c head/lib/libedit/prompt.c head/lib/libedit/prompt.h head/lib/libedit/read.c head/lib/libedit/read.h head/lib/libedit/readline.c head/lib/libedit/refresh.c head/lib/libedit/refresh.h head/lib/libedit/search.c head/lib/libedit/search.h head/lib/libedit/sig.c head/lib/libedit/sig.h head/lib/libedit/sys.h head/lib/libedit/terminal.c head/lib/libedit/terminal.h head/lib/libedit/tokenizer.c head/lib/libedit/tty.c head/lib/libedit/tty.h head/lib/libedit/vi.c Directory Properties: head/lib/libedit/ (props changed) head/lib/libedit/edit/readline/ (props changed) Modified: head/lib/libedit/Makefile ============================================================================== --- head/lib/libedit/Makefile Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/Makefile Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.55 2016/02/24 14:25:38 christos Exp $ +# $NetBSD: Makefile,v 1.37 2009/01/18 12:17:49 lukem Exp $ # @(#)Makefile 8.1 (Berkeley) 6/4/93 # $FreeBSD$ @@ -6,7 +6,7 @@ LIB= edit SHLIB_MAJOR= 7 SHLIBDIR?= /lib -OSRCS= chared.c common.c el.c eln.c emacs.c fcns.c filecomplete.c help.c \ +OSRCS= chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \ hist.c keymacro.c map.c chartype.c \ parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c @@ -34,6 +34,7 @@ CLEANFILES+= common.h editline.c emacs.h INCS= histedit.h +OSRCS+= eln.c SRCS+= tokenizern.c historyn.c CLEANFILES+= tokenizern.c historyn.c CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/edit -DWIDECHAR Modified: head/lib/libedit/TEST/tc1.c ============================================================================== --- head/lib/libedit/TEST/tc1.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/TEST/tc1.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ +/* $NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1992, 19 #if 0 static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); +__RCSID("$NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $"); #endif #endif /* not lint && not SCCSID */ __FBSDID("$FreeBSD$"); @@ -50,15 +50,15 @@ __FBSDID("$FreeBSD$"); /* * test.c: A little test program */ +#include +#include +#include #include #include -#include -#include -#include -#include #include -#include #include +#include +#include #include "histedit.h" @@ -158,7 +158,7 @@ main(int argc, char *argv[]) /* Add a user-defined function */ el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); - /* Bind tab to it */ + /* Bind tab to it */ el_set(el, EL_BIND, "^I", "ed-complete", NULL); /* Modified: head/lib/libedit/TEST/wtc1.c ============================================================================== --- head/lib/libedit/TEST/wtc1.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/TEST/wtc1.c Sun Mar 6 21:32:54 2016 (r296435) @@ -5,16 +5,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include +#include #include -#include #include #include -#include -#include -#include -#include -#include #include "../histedit.h" Modified: head/lib/libedit/chared.c ============================================================================== --- head/lib/libedit/chared.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chared.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $ */ +/* $NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $"); +__RCSID("$NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,12 +46,8 @@ __FBSDID("$FreeBSD$"); /* * chared.c: Character editor utilities */ -#include #include -#include - #include "el.h" -#include "common.h" private void ch__clearmacro (EditLine *); @@ -205,7 +201,7 @@ c_delbefore1(EditLine *el) * Return if p is part of a word according to emacs */ protected int -ce__isword(wint_t p) +ce__isword(Int p) { return Isalnum(p) || Strchr(STR("*?_-.[]~="), p) != NULL; } @@ -215,7 +211,7 @@ ce__isword(wint_t p) * Return if p is part of a word according to vi */ protected int -cv__isword(wint_t p) +cv__isword(Int p) { if (Isalnum(p) || p == '_') return 1; @@ -229,7 +225,7 @@ cv__isword(wint_t p) * Return if p is part of a big word according to vi */ protected int -cv__isWord(wint_t p) +cv__isWord(Int p) { return !Isspace(p); } @@ -239,7 +235,7 @@ cv__isWord(wint_t p) * Find the previous word */ protected Char * -c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { p--; @@ -263,7 +259,7 @@ c__prev_word(Char *p, Char *low, int n, * Find the next word */ protected Char * -c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) +c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) { while (n--) { while ((p < high) && !(*wtest)(*p)) @@ -281,7 +277,7 @@ c__next_word(Char *p, Char *high, int n, * Find the next word vi style */ protected Char * -cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -310,7 +306,7 @@ cv_next_word(EditLine *el, Char *p, Char * Find the previous word vi style */ protected Char * -cv_prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +cv_prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { int test; @@ -374,7 +370,7 @@ cv_delfini(EditLine *el) * Go to the end of this word according to vi */ protected Char * -cv__endword(Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv__endword(Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -528,7 +524,7 @@ ch_enlargebufs(EditLine *el, size_t addl /* zero the newly added memory, leave old data in */ (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - + oldbuf = el->el_line.buffer; el->el_line.buffer = newbuffer; @@ -577,7 +573,7 @@ ch_enlargebufs(EditLine *el, size_t addl el->el_chared.c_redo.lim = newbuffer + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); el->el_chared.c_redo.buf = newbuffer; - + if (!hist_enlargebuf(el, sz, newsz)) return 0; @@ -677,9 +673,9 @@ out: protected int c_gets(EditLine *el, Char *buf, const Char *prompt) { - wchar_t wch; + Char ch; ssize_t len; - Char *cp = el->el_line.buffer, ch; + Char *cp = el->el_line.buffer; if (prompt) { len = (ssize_t)Strlen(prompt); @@ -694,28 +690,26 @@ c_gets(EditLine *el, Char *buf, const Ch el->el_line.lastchar = cp + 1; re_refresh(el); - if (el_wgetc(el, &wch) != 1) { + if (FUN(el,getc)(el, &ch) != 1) { ed_end_of_file(el, 0); len = -1; break; } - ch = (Char)wch; switch (ch) { - case L'\b': /* Delete and backspace */ + case 0010: /* Delete and backspace */ case 0177: if (len == 0) { len = -1; break; } - len--; cp--; continue; case 0033: /* ESC */ - case L'\r': /* Newline */ - case L'\n': + case '\r': /* Newline */ + case '\n': buf[len] = ch; break; Modified: head/lib/libedit/chared.h ============================================================================== --- head/lib/libedit/chared.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chared.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.h,v 1.27 2016/02/16 22:53:14 christos Exp $ */ +/* $NetBSD: chared.h,v 1.22 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,6 +41,11 @@ #ifndef _h_el_chared #define _h_el_chared +#include +#include + +#include "histedit.h" + #define EL_MAXMACRO 10 /* @@ -135,18 +140,24 @@ typedef struct el_chared_t { #define MODE_REPLACE 1 #define MODE_REPLACE_1 2 +#include "common.h" +#include "vi.h" +#include "emacs.h" +#include "search.h" +#include "fcns.h" + -protected int cv__isword(wint_t); -protected int cv__isWord(wint_t); +protected int cv__isword(Int); +protected int cv__isWord(Int); protected void cv_delfini(EditLine *); -protected Char *cv__endword(Char *, Char *, int, int (*)(wint_t)); -protected int ce__isword(wint_t); +protected Char *cv__endword(Char *, Char *, int, int (*)(Int)); +protected int ce__isword(Int); protected void cv_undo(EditLine *); protected void cv_yank(EditLine *, const Char *, int); -protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(wint_t)); -protected Char *cv_prev_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__next_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__prev_word(Char *, Char *, int, int (*)(wint_t)); +protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(Int)); +protected Char *cv_prev_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__next_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__prev_word(Char *, Char *, int, int (*)(Int)); protected void c_insert(EditLine *, int); protected void c_delbefore(EditLine *, int); protected void c_delbefore1(EditLine *); Modified: head/lib/libedit/chartype.c ============================================================================== --- head/lib/libedit/chartype.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chartype.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $ */ +/* $NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -31,16 +31,13 @@ */ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $"); +__RCSID("$NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $"); #endif /* not lint && not SCCSID */ #include __FBSDID("$FreeBSD$"); -#include -#include -#include - #include "el.h" +#include #define CT_BUFSIZ ((size_t)1024) @@ -71,7 +68,7 @@ ct_conv_wbuff_resize(ct_buffer_t *conv, { void *p; - if (wsize <= conv->wsize) + if (wsize <= conv->wsize) return 0; conv->wsize = wsize; @@ -209,28 +206,6 @@ ct_encode_char(char *dst, size_t len, Ch } return l; } - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) -{ - mbstate_t mbs; - /* This only works because UTF-8 is stateless */ - memset(&mbs, 0, sizeof(mbs)); - return mbrtowc(wc, s, n, &mbs); -} - -#else - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) - if (s == NULL) - return 0; - if (n == 0) - return (size_t)-2; - if (wc != NULL) - *wc = *s; - return *s != '\0'; -} #endif protected const Char * @@ -354,7 +329,7 @@ ct_visual_char(Char *dst, size_t len, Ch return c > 0xffff ? 8 : 7; #else *dst++ = '\\'; -#define tooctaldigit(v) (Char)((v) + '0') +#define tooctaldigit(v) ((v) + '0') *dst++ = tooctaldigit(((unsigned int) c >> 6) & 0x7); *dst++ = tooctaldigit(((unsigned int) c >> 3) & 0x7); *dst++ = tooctaldigit(((unsigned int) c ) & 0x7); Modified: head/lib/libedit/chartype.h ============================================================================== --- head/lib/libedit/chartype.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chartype.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.h,v 1.23 2016/02/24 17:20:01 christos Exp $ */ +/* $NetBSD: chartype.h,v 1.15 2015/05/17 13:14:41 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -32,6 +32,7 @@ #define _h_chartype_f + #ifdef WIDECHAR /* Ideally we should also test the value of the define to see if it @@ -54,18 +55,21 @@ #warning Build environment does not support non-BMP characters #endif -#define ct_wctob wctob +#define ct_mbtowc mbtowc +#define ct_mbtowc_reset mbtowc(0,0,(size_t)0) #define ct_wctomb wctomb #define ct_wctomb_reset wctomb(0,0) #define ct_wcstombs wcstombs #define ct_mbstowcs mbstowcs #define Char wchar_t +#define Int wint_t #define FUN(prefix,rest) prefix ## _w ## rest #define FUNW(type) type ## _w #define TYPE(type) type ## W +#define FCHAR "%lc" #define FSTR "%ls" -#define STR(x) L ## x +#define STR(x) L ## x #define UC(c) c #define Isalpha(x) iswalpha(x) #define Isalnum(x) iswalnum(x) @@ -106,18 +110,21 @@ Width(wchar_t c) #else /* NARROW */ -#define ct_wctob(w) ((int)(w)) +#define ct_mbtowc error +#define ct_mbtowc_reset #define ct_wctomb error -#define ct_wctomb_reset +#define ct_wctomb_reset #define ct_wcstombs(a, b, c) (strncpy(a, b, c), strlen(a)) #define ct_mbstowcs(a, b, c) (strncpy(a, b, c), strlen(a)) #define Char char +#define Int int #define FUN(prefix,rest) prefix ## _ ## rest #define FUNW(type) type #define TYPE(type) type +#define FCHAR "%c" #define FSTR "%s" -#define STR(x) x +#define STR(x) x #define UC(c) (unsigned char)(c) #define Isalpha(x) isalpha((unsigned char)x) @@ -206,7 +213,7 @@ protected size_t ct_enc_width(Char); #define VISUAL_WIDTH_MAX ((size_t)8) /* The terminal is thought of in terms of X columns by Y lines. In the cases - * where a wide character takes up more than one column, the adjacent + * where a wide character takes up more than one column, the adjacent * occupied column entries will contain this faux character. */ #define MB_FILL_CHAR ((Char)-1) @@ -238,7 +245,5 @@ protected const Char *ct_visual_string(c protected int ct_chr_class(Char c); #endif -size_t ct_mbrtowc(wchar_t *, const char *, size_t); - #endif /* _chartype_f */ Modified: head/lib/libedit/common.c ============================================================================== --- head/lib/libedit/common.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/common.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */ +/* $NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $"); +__RCSID("$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,13 +46,7 @@ __FBSDID("$FreeBSD$"); /* * common.c: Common Editor functions */ -#include -#include - #include "el.h" -#include "common.h" -#include "parse.h" -#include "vi.h" /* ed_end_of_file(): * Indicate end of file @@ -60,7 +54,7 @@ __FBSDID("$FreeBSD$"); */ protected el_action_t /*ARGSUSED*/ -ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) +ed_end_of_file(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -74,7 +68,7 @@ ed_end_of_file(EditLine *el, wint_t c __ * Insert a character [bound to all insert keys] */ protected el_action_t -ed_insert(EditLine *el, wint_t c) +ed_insert(EditLine *el, Int c) { int count = el->el_state.argument; @@ -93,14 +87,14 @@ ed_insert(EditLine *el, wint_t c) || el->el_line.cursor >= el->el_line.lastchar) c_insert(el, 1); - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_fastaddc(el); /* fast refresh for one char. */ } else { if (el->el_state.inputmode != MODE_REPLACE_1) c_insert(el, el->el_state.argument); while (count-- && el->el_line.cursor < el->el_line.lastchar) - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_refresh(el); } @@ -117,7 +111,7 @@ ed_insert(EditLine *el, wint_t c) */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_word(EditLine *el, Int c __attribute__((__unused__))) { Char *cp, *p, *kp; @@ -145,7 +139,7 @@ ed_delete_prev_word(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_next_char(EditLine *el, Int c __attribute__((__unused__))) { #ifdef DEBUG_EDIT #define EL el->el_line @@ -192,7 +186,7 @@ ed_delete_next_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_kill_line(EditLine *el, Int c __attribute__((__unused__))) { Char *kp, *cp; @@ -213,7 +207,7 @@ ed_kill_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_end(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.lastchar; @@ -236,7 +230,7 @@ ed_move_to_end(EditLine *el, wint_t c __ */ protected el_action_t /*ARGSUSED*/ -ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_beg(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -259,7 +253,7 @@ ed_move_to_beg(EditLine *el, wint_t c __ * [^T] [^T] */ protected el_action_t -ed_transpose_chars(EditLine *el, wint_t c) +ed_transpose_chars(EditLine *el, Int c) { if (el->el_line.cursor < el->el_line.lastchar) { @@ -272,7 +266,7 @@ ed_transpose_chars(EditLine *el, wint_t /* must have at least two chars entered */ c = el->el_line.cursor[-2]; el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = (Char)c; + el->el_line.cursor[-1] = c; return CC_REFRESH; } else return CC_ERROR; @@ -285,7 +279,7 @@ ed_transpose_chars(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_char(EditLine *el, Int c __attribute__((__unused__))) { Char *lim = el->el_line.lastchar; @@ -314,7 +308,7 @@ ed_next_char(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_word(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -340,7 +334,7 @@ ed_prev_word(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor > el->el_line.buffer) { @@ -364,12 +358,14 @@ ed_prev_char(EditLine *el, wint_t c __at * [^V] [^V] */ protected el_action_t -ed_quoted_insert(EditLine *el, wint_t c) +ed_quoted_insert(EditLine *el, Int c) { int num; + Char tc; tty_quotemode(el); - num = el_wgetc(el, &c); + num = FUN(el,getc)(el, &tc); + c = tc; tty_noquotemode(el); if (num == 1) return ed_insert(el, c); @@ -382,7 +378,7 @@ ed_quoted_insert(EditLine *el, wint_t c) * Adds to argument or enters a digit */ protected el_action_t -ed_digit(EditLine *el, wint_t c) +ed_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -410,7 +406,7 @@ ed_digit(EditLine *el, wint_t c) * For ESC-n */ protected el_action_t -ed_argument_digit(EditLine *el, wint_t c) +ed_argument_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -436,7 +432,7 @@ ed_argument_digit(EditLine *el, wint_t c protected el_action_t /*ARGSUSED*/ ed_unassigned(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) + Int c __attribute__((__unused__))) { return CC_ERROR; @@ -453,8 +449,8 @@ ed_unassigned(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigint(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigint(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -467,8 +463,8 @@ ed_tty_sigint(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_dsusp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_dsusp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -481,8 +477,8 @@ ed_tty_dsusp(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_tty_flush_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_flush_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -495,8 +491,8 @@ ed_tty_flush_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigquit(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigquit(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -509,8 +505,8 @@ ed_tty_sigquit(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -523,8 +519,8 @@ ed_tty_sigtstp(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_stop_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_stop_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -537,8 +533,8 @@ ed_tty_stop_output(EditLine *el __attrib */ protected el_action_t /*ARGSUSED*/ -ed_tty_start_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_start_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -551,7 +547,7 @@ ed_tty_start_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) +ed_newline(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -567,7 +563,7 @@ ed_newline(EditLine *el, wint_t c __attr */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) @@ -587,7 +583,7 @@ ed_delete_prev_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) +ed_clear_screen(EditLine *el, Int c __attribute__((__unused__))) { terminal_clear_screen(el); /* clear the whole real screen */ @@ -602,8 +598,8 @@ ed_clear_screen(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_redisplay(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_redisplay(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_REDISPLAY; @@ -616,7 +612,7 @@ ed_redisplay(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) +ed_start_over(EditLine *el, Int c __attribute__((__unused__))) { ch_reset(el, 0); @@ -630,8 +626,8 @@ ed_start_over(EditLine *el, wint_t c __a */ protected el_action_t /*ARGSUSED*/ -ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -644,7 +640,7 @@ ed_sequence_lead_in(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) { char beep = 0; int sv_event = el->el_history.eventno; @@ -664,6 +660,7 @@ ed_prev_history(EditLine *el, wint_t c _ if (hist_get(el) == CC_ERROR) { if (el->el_map.type == MAP_VI) { el->el_history.eventno = sv_event; + } beep = 1; /* el->el_history.eventno was fixed by first call */ @@ -681,7 +678,7 @@ ed_prev_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_history(EditLine *el, Int c __attribute__((__unused__))) { el_action_t beep = CC_REFRESH, rval; @@ -708,11 +705,11 @@ ed_next_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -751,7 +748,7 @@ ed_search_prev_history(EditLine *el, win (el->el_line.lastchar - el->el_line.buffer)) || hp[el->el_line.lastchar - el->el_line.buffer]) && c_hmatch(el, hp)) { - found = 1; + found++; break; } h++; @@ -776,11 +773,11 @@ ed_search_prev_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_next_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -830,7 +827,7 @@ ed_search_next_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -873,7 +870,7 @@ ed_prev_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -907,7 +904,7 @@ ed_next_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_command(EditLine *el, wint_t c __attribute__((__unused__))) +ed_command(EditLine *el, Int c __attribute__((__unused__))) { Char tmpbuf[EL_BUFSIZ]; int tmplen; Modified: head/lib/libedit/config.h ============================================================================== --- head/lib/libedit/config.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/config.h Sun Mar 6 21:32:54 2016 (r296435) @@ -21,8 +21,8 @@ /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 -/* Define to 1 if you have the `getline' function. */ -#define HAVE_GETLINE 1 +/* Define to 1 if you have the `fgetln' function. */ +#define HAVE_FGETLN 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 @@ -188,6 +188,9 @@ /* Define to 1 if you have the `vis' function. */ #define HAVE_VIS 1 +/* Define to 1 if you have the `wcsdup' function. */ +#define HAVE_WCSDUP 1 + /* Define to 1 if `fork' works. */ #define HAVE_WORKING_FORK 1 @@ -254,9 +257,6 @@ /* Version number of package */ #define VERSION "3.0" -/* Define to 1 if the system provides the SIZE_MAX constant */ -#define HAVE_SIZE_MAX 1 - /* Define to 1 if you want wide-character code */ /* #undef WIDECHAR */ Modified: head/lib/libedit/edit/readline/readline.h ============================================================================== --- head/lib/libedit/edit/readline/readline.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/edit/readline/readline.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: readline.h,v 1.39 2016/02/17 19:47:49 christos Exp $ */ +/* $NetBSD: readline.h,v 1.37 2015/06/02 15:36:45 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -55,7 +55,7 @@ typedef void *histdata_t; typedef struct _hist_entry { const char *line; - histdata_t data; + histdata_t data; } HIST_ENTRY; typedef struct _keymap_entry { @@ -89,7 +89,7 @@ typedef KEYMAP_ENTRY *Keymap; #define RUBOUT 0x7f #define ABORT_CHAR CTRL('G') -#define RL_READLINE_VERSION 0x0402 +#define RL_READLINE_VERSION 0x0402 #define RL_PROMPT_START_IGNORE '\1' #define RL_PROMPT_END_IGNORE '\2' @@ -98,7 +98,7 @@ typedef KEYMAP_ENTRY *Keymap; extern "C" { #endif extern const char *rl_library_version; -extern int rl_readline_version; +extern int rl_readline_version; extern char *rl_readline_name; extern FILE *rl_instream; extern FILE *rl_outstream; @@ -199,10 +199,10 @@ int rl_add_defun(const char *, rl_comm HISTORY_STATE *history_get_history_state(void); void rl_get_screen_size(int *, int *); void rl_set_screen_size(int, int); -char *rl_filename_completion_function (const char *, int); +char *rl_filename_completion_function (const char *, int); int _rl_abort_internal(void); int _rl_qsort_string_compare(char **, char **); -char **rl_completion_matches(const char *, rl_compentry_func_t *); +char **rl_completion_matches(const char *, rl_compentry_func_t *); void rl_forced_update_display(void); int rl_set_prompt(const char *); int rl_on_new_line(void); @@ -218,8 +218,6 @@ int rl_generic_bind(int, const char *, int rl_bind_key_in_map(int, rl_command_func_t *, Keymap); void rl_cleanup_after_signal(void); void rl_free_line_state(void); -int rl_set_keyboard_input_timeout(int); - #ifdef __cplusplus } #endif Modified: head/lib/libedit/editline.3 ============================================================================== --- head/lib/libedit/editline.3 Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/editline.3 Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -.\" $NetBSD: editline.3,v 1.88 2016/02/25 14:59:22 wiz Exp $ +.\" $NetBSD: editline.3,v 1.85 2015/11/03 21:36:59 christos Exp $ .\" .\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 24, 2016 +.Dd November 3, 2015 .Dt EDITLINE 3 .Os .Sh NAME *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sun Mar 6 23:44:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1844A95B2A; Sun, 6 Mar 2016 23:44:21 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: from mail.lifanov.com (mail.lifanov.com [206.125.175.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CCD262F3; Sun, 6 Mar 2016 23:44:21 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: by mail.lifanov.com (Postfix, from userid 58) id C4DC1239744; Sun, 6 Mar 2016 18:44:15 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.lifanov.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.4.1 Received: from android-bedfe57c17b4b0b3 (107-134-20-191.lightspeed.rlghnc.sbcglobal.net [107.134.20.191]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lifanov.com (Postfix) with ESMTPSA id 5DC94239403; Sun, 6 Mar 2016 18:44:14 -0500 (EST) User-Agent: K-9 Mail for Android In-Reply-To: <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: svn commit: r296428 - head/sys/boot/common From: Nikolai Lifanov Date: Sun, 06 Mar 2016 18:44:11 -0500 To: Dimitry Andric CC: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org, Oliver Pinter Message-ID: X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 23:44:22 -0000 On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: >On 06 Mar 2016, at 20:57, Nikolai Lifanov >wrote: >> >> On 2016-03-06 11:17, Dimitry Andric wrote: >>> On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >>>> On 3/6/16, Dimitry Andric wrote: >>>>> Author: dim >>>>> Date: Sun Mar 6 15:57:43 2016 >>>>> New Revision: 296428 >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>>>> Log: >>>>> Since kernel modules can now contain sections of type >SHT_AMD64_UNWIND, >>>>> the boot loader should not skip over these anymore while loading >images. >>>>> Otherwise the kernel can still panic when it doesn't find the >.eh_frame >>>>> section belonging to the .rela.eh_frame section. >>>>> Unfortunately this will require installing boot loaders from >sys/boot >>>>> before attempting to boot with a new kernel. >>>> Could you please add a note about this to UPDATING file? >>> I am a bit torn on this, because normally we always tell people to >>> install the kernel first, reboot, then run make installworld (which >also >>> installs the boot loaders). >>> However, in this case, people might depend on their boot loader >loading >>> modules which are required to make the system boot at all. So if >they >>> happened to forget updating their boot loader first, a panic might >be >>> the result. >>> I wonder what a failsafe and acceptable upgrade scenario is, in this >>> case. Normally the procedure is something like: >>> make buildworld >>> make buildkernel (with KERNCONF=whatever, if needed) >>> make installkernel (again with KERNCONF, if needed) >>> reboot (to single user, but cheating is possible usually) >>> mergemaster -p >>> make installworld >>> This could maybe be modified to: >>> make buildworld >>> make buildkernel (with KERNCONF=whatever, if needed) >>> make installkernel (again with KERNCONF, if needed) >>> make -C sys/boot install >>> reboot (to single user, but cheating is possible usually) >>> mergemaster -p >>> make installworld >>> E.g. insert the step which installs the boot loaders just after (or >>> before) the step which installs the kernel. >>> Is something like this acceptable as a one-time workaround, or maybe >it >>> is better in general, in case we ever add other new features to the >boot >>> loaders? >>> -Dimitry >> >> In my opinion, boot *blocks* (boot1) should be updated seldomly and >not on every install. >> All (?) instances of not updating these resulting in a failed boot >have an UPDATING >> entry or a similar warning (like the one during "zpool upgrade"). > >Well, each time you run make installworld, almost all the files in >/boot >(except for configuration) get reinstalled. For e.g. mbr, boot1 and >such, this has no consequences at all, until you install them into some >partition using gpart, but changes to loader, loader.efi or zfsloader >*will* affect the next startup. > >Per a suggestion from Kostik, maybe it would be nice to have a separate >"make installboot" target, which installs just the components in /boot. >This could then be used before or after "make installkernel". > >-Dimitry The bootcode gets installed to boot, but deployed with gpart, cp, sliced in half and dd, etc. And that's to one or more partitions. I don't think that a separate install target that just stages boot1 to /boot is valuable. - Nikolai Lifanov From owner-svn-src-head@freebsd.org Mon Mar 7 00:38:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EA8DAC1CA2 for ; Mon, 7 Mar 2016 00:38:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x233.google.com (mail-io0-x233.google.com [IPv6:2607:f8b0:4001:c06::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C8A3E860 for ; Mon, 7 Mar 2016 00:38:53 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x233.google.com with SMTP id n190so115555299iof.0 for ; Sun, 06 Mar 2016 16:38:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=NXQOs8vL6zG7D4RisOAPdmtJON1AedIHxbVCqDRXGBc=; b=rKsYddddX7tkr8kGdFnv5FJkNKlRCnXzhl2j0efuavu4Z+j6eWZjRpuHCWQbAk3U7Z 0uh6r9pAB0j018Bji8m+E1HVAMUVCp/uAXxWqWys7DoyJo32G4y1Bmyen5KIQAcs7l/a H/ELyDk+XPa/9vQjbEVj+L6ioD4SwN1bykv8XeXhwcKbD4UzxqC862qmYimSLzHvPPgJ W05VAggIRy6g73amOF/8zfC//Vi3r5/J/QKgy7sF7Q9TAigz4HfxhRZo4F1hQN1a5T8e I4+m7QlDsNkXS26O/TI+uypVK04utD9GGecc9AC77/3O5SV/DQ2kl/m7LzEe7FPD+j8e wQLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=NXQOs8vL6zG7D4RisOAPdmtJON1AedIHxbVCqDRXGBc=; b=JNqtYqLEAViYDIGqsrSFUvsOXfbLHZ/s+t4tJYbR7BgxsTy2HJe3ErEBFWUGJ2ovvc 4Ijkcf2r2XdGo39pSGv62TW2QWKqbAm2c0huvl5gZIvCb9DFZm+37LWmo3013hZW3jAS DcEK0MWKuWO9dwYtjtyROX8qHnUgD94qKN8L0mFdC7LyNv3reub1ZrPBpyqpHHPuC/hf GYhBA6uhzlOqA9ciVUo7VxRkUvD+4CslUDEmsZA//ei/m8oXS/xUGJfU8eeodccIZQ9p rqQVKyN7cWt94DaK73ecyPGmZricXugawkC3FDMwn9wOIoQT7JjHW1r7b42UP83nwNhe bMwQ== X-Gm-Message-State: AD7BkJL9PiN4Ymj1W5JciADHVl4TMdbOwmrWwu7A5ywO3RXyZ6L4K6HKJ4ZT/uiLkK3fXm44wnlIuyhfTIZUfw== MIME-Version: 1.0 X-Received: by 10.107.14.209 with SMTP id 200mr18007774ioo.73.1457311133134; Sun, 06 Mar 2016 16:38:53 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Sun, 6 Mar 2016 16:38:53 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> Date: Sun, 6 Mar 2016 17:38:53 -0700 X-Google-Sender-Auth: SZTxryjxMKnWCAvG-LxYRiKW0BE Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Nikolai Lifanov Cc: Dimitry Andric , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers , owner-svn-src-head@freebsd.org, Oliver Pinter Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 00:38:54 -0000 On Sun, Mar 6, 2016 at 4:44 PM, Nikolai Lifanov wrote: > On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: > >On 06 Mar 2016, at 20:57, Nikolai Lifanov > >wrote: > >> > >> On 2016-03-06 11:17, Dimitry Andric wrote: > >>> On 06 Mar 2016, at 17:00, Oliver Pinter > > wrote: > >>>> On 3/6/16, Dimitry Andric wrote: > >>>>> Author: dim > >>>>> Date: Sun Mar 6 15:57:43 2016 > >>>>> New Revision: 296428 > >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 > >>>>> Log: > >>>>> Since kernel modules can now contain sections of type > >SHT_AMD64_UNWIND, > >>>>> the boot loader should not skip over these anymore while loading > >images. > >>>>> Otherwise the kernel can still panic when it doesn't find the > >.eh_frame > >>>>> section belonging to the .rela.eh_frame section. > >>>>> Unfortunately this will require installing boot loaders from > >sys/boot > >>>>> before attempting to boot with a new kernel. > >>>> Could you please add a note about this to UPDATING file? > >>> I am a bit torn on this, because normally we always tell people to > >>> install the kernel first, reboot, then run make installworld (which > >also > >>> installs the boot loaders). > >>> However, in this case, people might depend on their boot loader > >loading > >>> modules which are required to make the system boot at all. So if > >they > >>> happened to forget updating their boot loader first, a panic might > >be > >>> the result. > >>> I wonder what a failsafe and acceptable upgrade scenario is, in this > >>> case. Normally the procedure is something like: > >>> make buildworld > >>> make buildkernel (with KERNCONF=whatever, if needed) > >>> make installkernel (again with KERNCONF, if needed) > >>> reboot (to single user, but cheating is possible usually) > >>> mergemaster -p > >>> make installworld > >>> This could maybe be modified to: > >>> make buildworld > >>> make buildkernel (with KERNCONF=whatever, if needed) > >>> make installkernel (again with KERNCONF, if needed) > >>> make -C sys/boot install > >>> reboot (to single user, but cheating is possible usually) > >>> mergemaster -p > >>> make installworld > >>> E.g. insert the step which installs the boot loaders just after (or > >>> before) the step which installs the kernel. > >>> Is something like this acceptable as a one-time workaround, or maybe > >it > >>> is better in general, in case we ever add other new features to the > >boot > >>> loaders? > >>> -Dimitry > >> > >> In my opinion, boot *blocks* (boot1) should be updated seldomly and > >not on every install. > >> All (?) instances of not updating these resulting in a failed boot > >have an UPDATING > >> entry or a similar warning (like the one during "zpool upgrade"). > > > >Well, each time you run make installworld, almost all the files in > >/boot > >(except for configuration) get reinstalled. For e.g. mbr, boot1 and > >such, this has no consequences at all, until you install them into some > >partition using gpart, but changes to loader, loader.efi or zfsloader > >*will* affect the next startup. > > > >Per a suggestion from Kostik, maybe it would be nice to have a separate > >"make installboot" target, which installs just the components in /boot. > >This could then be used before or after "make installkernel". > > > >-Dimitry > > The bootcode gets installed to boot, but deployed with gpart, cp, sliced > in half and dd, etc. And that's to one or more partitions. > I don't think that a separate install target that just stages boot1 to > /boot is valuable. > I think it is. First, the boot code you talk about doesn't matter *AT*ALL* for this change. It needn't be deployed to be safe. We've had a few rare cases where you do need new boot code as well, but they seem to happen about once a decade or so. Personally, I always install both a kernel and userspace at the same time when upgrading, though sometimes just the kernel. Usually it just doesn't matter. In this case, I'll know I need new boot blocks. I'm kinda of the opinion that the boot loader should be part of installkernel, but I can see how others may disagree and that's likely too much POLA to do now (it should have been done in the 4.0 time frame when we went to a tertiary boot loader). With the recent expansion of limits, however, it's become critical that you have a new kernel on boot so that limits used by the rc system are set correctly (the new code has no fallback, but fails for limits it doesn't know about, which is super lame, and should be fixed, but until it is we're stuck with needing a new kernel. This also means, btw, that a 10.x kernel has no chance of booting an 11.x userland, which is somewhat contrary to traditional practice in the project). Warner From owner-svn-src-head@freebsd.org Mon Mar 7 00:56:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1E8D8A931C9; Mon, 7 Mar 2016 00:56:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E4580E68; Mon, 7 Mar 2016 00:56:21 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-io0-x229.google.com with SMTP id n190so115822056iof.0; Sun, 06 Mar 2016 16:56:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=Jhn/jbM0sPTc33EMk+a9Zk51lTvXska81qc0H5mSPDY=; b=eIyBpsmnQAWispn/1LtzyRm6a7gH9jupzI9RezfdskM4umt1adVlhZCyzZHVMlEUaW 6gzSu/XjlgMhBcRKdiB9sZLGywNVlQj9a+3jYjSDR9SCJO59UsPofCErXm0VviAWBCq1 gwygbq3WHWjrFMF8iY1dOEflJyaYY8Xztc7EXviLSpqswve7uApEv4zZVc3/7sDmERir t52+IbgVInchEZECFTxDHu29ceYccQVDHCAIPtDVLSaBNjWamBsUTuoe/fVCuWk+zQ9B E+MGBsMusiqc+/rtbTQpZ5cmj45Z8LWX6UvTdeP1e5syvelSGYzcuyupLrjHOZM2yA+8 vYQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=Jhn/jbM0sPTc33EMk+a9Zk51lTvXska81qc0H5mSPDY=; b=HwDYbpU5EHxc4mD+t2gGfxVtjU7fJU10YiLah0blNmtuC30RhN3CqNtm4Tgvlu6TQH 3arPZHesvOIi6GqO83jNDsx2GXaMsa82P4VdEL9d2aPuxqV1vJqJLfVdsXzcVEMc2Bxc v4tVxu32KvnSxvPkctEK/SPIIvWDQztBZV2N1uVNURMirMH7VDzweUE8422Pfty3EA1x mhD4Y4ZXe+ZLKEfGKYtAY/QYVzXLMEvOZLDn58L/ERTGr6hb6CKez6P7H276nses68Ho vLFCNHLZ706hTF9WoKIbhBZvs24q5a2Ld4CVz5Jn0/V8xJmD/crpynZqc1jmTegqDDj2 unrA== X-Gm-Message-State: AD7BkJLmIyuqNbZdUuy5+vAAmEwfLOx5k8/kHEW+HW6gAv+9WG6RVbVQntG6ffKF7q0K3BLCo+Bn9n8ErMWQPA== MIME-Version: 1.0 X-Received: by 10.107.162.144 with SMTP id l138mr17578219ioe.123.1457312181148; Sun, 06 Mar 2016 16:56:21 -0800 (PST) Received: by 10.36.14.19 with HTTP; Sun, 6 Mar 2016 16:56:21 -0800 (PST) In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> Date: Sun, 6 Mar 2016 16:56:21 -0800 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Adrian Chadd To: Warner Losh Cc: Nikolai Lifanov , Dimitry Andric , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers , owner-svn-src-head@freebsd.org, Oliver Pinter Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 00:56:22 -0000 Oh wow, i didn't know at all that limits broke booting in this way. Sorry :( This is the first time I've heard about it. -a On 6 March 2016 at 16:38, Warner Losh wrote: > > > On Sun, Mar 6, 2016 at 4:44 PM, Nikolai Lifanov > wrote: >> >> On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: >> >On 06 Mar 2016, at 20:57, Nikolai Lifanov >> >wrote: >> >> >> >> On 2016-03-06 11:17, Dimitry Andric wrote: >> >>> On 06 Mar 2016, at 17:00, Oliver Pinter >> > wrote: >> >>>> On 3/6/16, Dimitry Andric wrote: >> >>>>> Author: dim >> >>>>> Date: Sun Mar 6 15:57:43 2016 >> >>>>> New Revision: 296428 >> >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >> >>>>> Log: >> >>>>> Since kernel modules can now contain sections of type >> >SHT_AMD64_UNWIND, >> >>>>> the boot loader should not skip over these anymore while loading >> >images. >> >>>>> Otherwise the kernel can still panic when it doesn't find the >> >.eh_frame >> >>>>> section belonging to the .rela.eh_frame section. >> >>>>> Unfortunately this will require installing boot loaders from >> >sys/boot >> >>>>> before attempting to boot with a new kernel. >> >>>> Could you please add a note about this to UPDATING file? >> >>> I am a bit torn on this, because normally we always tell people to >> >>> install the kernel first, reboot, then run make installworld (which >> >also >> >>> installs the boot loaders). >> >>> However, in this case, people might depend on their boot loader >> >loading >> >>> modules which are required to make the system boot at all. So if >> >they >> >>> happened to forget updating their boot loader first, a panic might >> >be >> >>> the result. >> >>> I wonder what a failsafe and acceptable upgrade scenario is, in this >> >>> case. Normally the procedure is something like: >> >>> make buildworld >> >>> make buildkernel (with KERNCONF=whatever, if needed) >> >>> make installkernel (again with KERNCONF, if needed) >> >>> reboot (to single user, but cheating is possible usually) >> >>> mergemaster -p >> >>> make installworld >> >>> This could maybe be modified to: >> >>> make buildworld >> >>> make buildkernel (with KERNCONF=whatever, if needed) >> >>> make installkernel (again with KERNCONF, if needed) >> >>> make -C sys/boot install >> >>> reboot (to single user, but cheating is possible usually) >> >>> mergemaster -p >> >>> make installworld >> >>> E.g. insert the step which installs the boot loaders just after (or >> >>> before) the step which installs the kernel. >> >>> Is something like this acceptable as a one-time workaround, or maybe >> >it >> >>> is better in general, in case we ever add other new features to the >> >boot >> >>> loaders? >> >>> -Dimitry >> >> >> >> In my opinion, boot *blocks* (boot1) should be updated seldomly and >> >not on every install. >> >> All (?) instances of not updating these resulting in a failed boot >> >have an UPDATING >> >> entry or a similar warning (like the one during "zpool upgrade"). >> > >> >Well, each time you run make installworld, almost all the files in >> >/boot >> >(except for configuration) get reinstalled. For e.g. mbr, boot1 and >> >such, this has no consequences at all, until you install them into some >> >partition using gpart, but changes to loader, loader.efi or zfsloader >> >*will* affect the next startup. >> > >> >Per a suggestion from Kostik, maybe it would be nice to have a separate >> >"make installboot" target, which installs just the components in /boot. >> >This could then be used before or after "make installkernel". >> > >> >-Dimitry >> >> The bootcode gets installed to boot, but deployed with gpart, cp, sliced >> in half and dd, etc. And that's to one or more partitions. >> I don't think that a separate install target that just stages boot1 to >> /boot is valuable. > > > I think it is. First, the boot code you talk about doesn't matter *AT*ALL* > for this > change. It needn't be deployed to be safe. We've had a few rare cases where > you > do need new boot code as well, but they seem to happen about once a decade > or so. > > Personally, I always install both a kernel and userspace at the same time > when > upgrading, though sometimes just the kernel. Usually it just doesn't matter. > In > this case, I'll know I need new boot blocks. I'm kinda of the opinion that > the boot > loader should be part of installkernel, but I can see how others may > disagree and > that's likely too much POLA to do now (it should have been done in the 4.0 > time > frame when we went to a tertiary boot loader). > > With the recent expansion of limits, however, it's become critical that you > have > a new kernel on boot so that limits used by the rc system are set correctly > (the > new code has no fallback, but fails for limits it doesn't know about, which > is > super lame, and should be fixed, but until it is we're stuck with needing a > new kernel. This also means, btw, that a 10.x kernel has no chance of > booting > an 11.x userland, which is somewhat contrary to traditional practice in the > project). > > Warner From owner-svn-src-head@freebsd.org Mon Mar 7 01:11:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C6C1A93570; Mon, 7 Mar 2016 01:11:25 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 09E015E6; Mon, 7 Mar 2016 01:11:24 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id u271BGRV068456 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Sun, 6 Mar 2016 17:11:18 -0800 (PST) (envelope-from julian@freebsd.org) Subject: Re: svn commit: r296428 - head/sys/boot/common To: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603061557.u26FvhMi033982@repo.freebsd.org> From: Julian Elischer Message-ID: <56DCD52F.4010709@freebsd.org> Date: Sun, 6 Mar 2016 17:11:11 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603061557.u26FvhMi033982@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 01:11:25 -0000 On 6/03/2016 7:57 AM, Dimitry Andric wrote: > Author: dim > Date: Sun Mar 6 15:57:43 2016 > New Revision: 296428 > URL: https://svnweb.freebsd.org/changeset/base/296428 > > Log: > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > the boot loader should not skip over these anymore while loading images. > Otherwise the kernel can still panic when it doesn't find the .eh_frame > section belonging to the .rela.eh_frame section. > > Unfortunately this will require installing boot loaders from sys/boot > before attempting to boot with a new kernel. what happens to someone who doesn't replace their bootblocks? Or is this just the loader? The general way we have handled this sort of thing in the past is that we do something that produces a nagging message for a decent time before it becomes mandatory. I don't like the idea of people being caught unaware by this.. Can you please give a more detailed description of what happens? > > Reviewed by: kib > MFC after: 2 weeks > X-MFC-With: r296419 > > Modified: > head/sys/boot/common/load_elf_obj.c > > Modified: head/sys/boot/common/load_elf_obj.c > ============================================================================== > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > switch (shdr[i].sh_type) { > case SHT_PROGBITS: > case SHT_NOBITS: > +#if defined(__i386__) || defined(__amd64__) > + case SHT_AMD64_UNWIND: > +#endif > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > shdr[i].sh_addr = (Elf_Addr)lastaddr; > lastaddr += shdr[i].sh_size; > > From owner-svn-src-head@freebsd.org Mon Mar 7 01:44:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96561A954B5; Mon, 7 Mar 2016 01:44:12 +0000 (UTC) (envelope-from ler@lerctr.org) Received: from thebighonker.lerctr.org (thebighonker.lerctr.org [IPv6:2001:470:1f0f:3ad:223:7dff:fe9e:6e8a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "thebighonker.lerctr.org", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 77D5693A; Mon, 7 Mar 2016 01:44:12 +0000 (UTC) (envelope-from ler@lerctr.org) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lerctr.org; s=lerami; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date; bh=oi9moqdip1ouYnoLRooSkYsU01G58wCV9qVyP5J5V/8=; b=m L0IdOcN/QHeC783zb4ZP6o6nN3h9XZkXfTzDqEWQ1FcjJmyVNejjCTcTujZEM4+SbqbG/A/qgRN/t WD3hmWx6d7U9r6VWoBbtZJA1cYPg/KYI5UPAQrYUJuopkCRbjYznYam4dOV0rKyYbPykIigt2JzZ4 lbaxAqxqYdfMlchE=; Received: from cpe-70-113-41-107.austin.res.rr.com ([70.113.41.107]:20816 helo=pita.lerctr.org) by thebighonker.lerctr.org with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86_2 (FreeBSD)) (envelope-from ) id 1ackDT-0000bY-Q3; Sun, 06 Mar 2016 19:44:11 -0600 Date: Sun, 6 Mar 2016 19:44:09 -0600 From: Larry Rosenman To: Julian Elischer Cc: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307014409.GB1299@pita.lerctr.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56DCD52F.4010709@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Score: -1.0 (-) X-LERCTR-Spam-Score: -1.0 (-) X-Spam-Report: SpamScore (-1.0/5.0) ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 X-LERCTR-Spam-Report: SpamScore (-1.0/5.0) ALL_TRUSTED=-1, SHORTCIRCUIT=-0.0001 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 01:44:12 -0000 On Sun, Mar 06, 2016 at 05:11:11PM -0800, Julian Elischer wrote: > On 6/03/2016 7:57 AM, Dimitry Andric wrote: > > Author: dim > > Date: Sun Mar 6 15:57:43 2016 > > New Revision: 296428 > > URL: https://svnweb.freebsd.org/changeset/base/296428 > > > > Log: > > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > > the boot loader should not skip over these anymore while loading images. > > Otherwise the kernel can still panic when it doesn't find the .eh_frame > > section belonging to the .rela.eh_frame section. > > > > Unfortunately this will require installing boot loaders from sys/boot > > before attempting to boot with a new kernel. > > what happens to someone who doesn't replace their bootblocks? > Or is this just the loader? > > The general way we have handled this sort of thing in the past is that > we do something > that produces a nagging message for a decent time before it becomes > mandatory. > > I don't like the idea of people being caught unaware by this.. > > Can you please give a more detailed description of what happens? In this case it's the loader. I just upgraded a second laptop and did NOT replace the boot block (boot1.efi), but DID populate /boot (and actually a full world), and it booted fine, > > > > > Reviewed by: kib > > MFC after: 2 weeks > > X-MFC-With: r296419 > > > > Modified: > > head/sys/boot/common/load_elf_obj.c > > > > Modified: head/sys/boot/common/load_elf_obj.c > > ============================================================================== > > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > > switch (shdr[i].sh_type) { > > case SHT_PROGBITS: > > case SHT_NOBITS: > > +#if defined(__i386__) || defined(__amd64__) > > + case SHT_AMD64_UNWIND: > > +#endif > > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > > shdr[i].sh_addr = (Elf_Addr)lastaddr; > > lastaddr += shdr[i].sh_size; > > > > > > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: ler@lerctr.org US Mail: 7011 W Parmer Ln, Apt 1115, Austin, TX 78729-6961 From owner-svn-src-head@freebsd.org Mon Mar 7 07:41:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 284BAAC1D67; Mon, 7 Mar 2016 07:41:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E3ED9C56; Mon, 7 Mar 2016 07:41:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::c9b:ab2d:8d31:128e] (unknown [IPv6:2001:7b8:3a7:0:c9b:ab2d:8d31:128e]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 602A83EC1C; Mon, 7 Mar 2016 08:41:17 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <56DCD52F.4010709@freebsd.org> Date: Mon, 7 Mar 2016 08:41:10 +0100 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> To: Julian Elischer X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:41:21 -0000 --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 07 Mar 2016, at 02:11, Julian Elischer wrote: >=20 > On 6/03/2016 7:57 AM, Dimitry Andric wrote: >> Author: dim >> Date: Sun Mar 6 15:57:43 2016 >> New Revision: 296428 >> URL: https://svnweb.freebsd.org/changeset/base/296428 >>=20 >> Log: >> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >> the boot loader should not skip over these anymore while loading = images. >> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >> section belonging to the .rela.eh_frame section. >> Unfortunately this will require installing boot loaders from = sys/boot >> before attempting to boot with a new kernel. >=20 > what happens to someone who doesn't replace their bootblocks? > Or is this just the loader? This just about the loaders, e.g. loader, loader.efi and zfsloader. > The general way we have handled this sort of thing in the past is that = we do something > that produces a nagging message for a decent time before it becomes = mandatory. >=20 > I don't like the idea of people being caught unaware by this.. >=20 > Can you please give a more detailed description of what happens? If you preload modules with .eh_frame sections in them (such as aesni.ko) from your loader.conf, your kernel will panic very early in the boot. If you don't preload any modules, or load only modules without .eh_frame sections (most of of them), there is no issue at all. -Dimitry --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdMJwACgkQsF6jCi4glqNmnwCghjU+Gnvlp0htxawIFeEwm4Pp eeAAoNfuD4Ak1gyuKmjJKA8QixQ/Mo7p =H4e8 -----END PGP SIGNATURE----- --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D-- From owner-svn-src-head@freebsd.org Mon Mar 7 10:56:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8C07AC160E; Mon, 7 Mar 2016 10:56:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A97819A2; Mon, 7 Mar 2016 10:56:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27AuLbf082010; Mon, 7 Mar 2016 10:56:21 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27AuLjd082009; Mon, 7 Mar 2016 10:56:21 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603071056.u27AuLjd082009@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 7 Mar 2016 10:56:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296449 - head/sbin/mdmfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:56:22 -0000 Author: mav Date: Mon Mar 7 10:56:21 2016 New Revision: 296449 URL: https://svnweb.freebsd.org/changeset/base/296449 Log: Update meaning of -n argument. Submitted by: Dmitry Luhtionov MFC after: 1 week Modified: head/sbin/mdmfs/mdmfs.8 Modified: head/sbin/mdmfs/mdmfs.8 ============================================================================== --- head/sbin/mdmfs/mdmfs.8 Mon Mar 7 10:07:01 2016 (r296448) +++ head/sbin/mdmfs/mdmfs.8 Mon Mar 7 10:56:21 2016 (r296449) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 4, 2011 +.Dd March 7, 2016 .Dt MDMFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ driver .Sh SYNOPSIS .Nm -.Op Fl DLlMNPStUX +.Op Fl DLlMNnPStUX .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group @@ -47,7 +47,6 @@ driver .Op Fl f Ar frag-size .Op Fl i Ar bytes .Op Fl m Ar percent-free -.Op Fl n Ar rotational-positions .Op Fl O Ar optimization .Op Fl o Ar mount-options .Op Fl p Ar permissions @@ -167,8 +166,10 @@ The percentage of space reserved for the Do not actually run the helper programs. This is most useful in conjunction with .Fl X . -.It Fl n Ar rotational-positions -The default number of rotational positions to distinguish. +.It Fl n +Do not create a +.Pa .snap +directory on the new file system. .It Fl O Ar optimization Select the optimization preference; valid choices are From owner-svn-src-head@freebsd.org Mon Mar 7 14:35:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B0A9AC0BA4; Mon, 7 Mar 2016 14:35:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1D499A63; Mon, 7 Mar 2016 14:35:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27EZWnO047995; Mon, 7 Mar 2016 14:35:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27EZWfH047994; Mon, 7 Mar 2016 14:35:32 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603071435.u27EZWfH047994@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 14:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296453 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 14:35:33 -0000 Author: hselasky Date: Mon Mar 7 14:35:31 2016 New Revision: 296453 URL: https://svnweb.freebsd.org/changeset/base/296453 Log: Run the LinuxKPI PCI shutdown handler free of the Giant mutex. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_pci.c Mon Mar 7 13:43:23 2016 (r296452) +++ head/sys/compat/linuxkpi/common/src/linux_pci.c Mon Mar 7 14:35:31 2016 (r296453) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Mellanox Technologies, Ltd. + * Copyright (c) 2015-2016 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,8 +209,11 @@ linux_pci_shutdown(device_t dev) struct pci_dev *pdev; pdev = device_get_softc(dev); - if (pdev->pdrv->shutdown != NULL) + if (pdev->pdrv->shutdown != NULL) { + DROP_GIANT(); pdev->pdrv->shutdown(pdev); + PICKUP_GIANT(); + } return (0); } From owner-svn-src-head@freebsd.org Mon Mar 7 14:59:51 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A951AC14E0; Mon, 7 Mar 2016 14:59:51 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F04496A4; Mon, 7 Mar 2016 14:59:50 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Exo9O054152; Mon, 7 Mar 2016 14:59:50 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27ExnMc054151; Mon, 7 Mar 2016 14:59:49 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201603071459.u27ExnMc054151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 7 Mar 2016 14:59:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296454 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 14:59:51 -0000 Author: jtl Date: Mon Mar 7 14:59:49 2016 New Revision: 296454 URL: https://svnweb.freebsd.org/changeset/base/296454 Log: Some cleanup in tcp_respond() in preparation for another change: - Reorder variables by size - Move initializer closer to where it is used - Remove unneeded variable Differential Revision: https://reviews.freebsd.org/D4808 Reviewed by: hiren MFC after: 2 weeks Sponsored by: Juniper Networks Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Mon Mar 7 14:35:31 2016 (r296453) +++ head/sys/netinet/tcp_subr.c Mon Mar 7 14:59:49 2016 (r296454) @@ -864,16 +864,14 @@ void tcp_respond(struct tcpcb *tp, void *ipgen, struct tcphdr *th, struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) { - int tlen; - int win = 0; + struct inpcb *inp; struct ip *ip; struct tcphdr *nth; #ifdef INET6 struct ip6_hdr *ip6; int isipv6; #endif /* INET6 */ - int ipflags = 0; - struct inpcb *inp; + int tlen, win; KASSERT(tp != NULL || m != NULL, ("tcp_respond: tp and m both NULL")); @@ -890,6 +888,7 @@ tcp_respond(struct tcpcb *tp, void *ipge } else inp = NULL; + win = 0; if (tp != NULL) { if (!(flags & TH_RST)) { win = sbspace(&inp->inp_socket->so_rcv); @@ -1034,13 +1033,13 @@ tcp_respond(struct tcpcb *tp, void *ipge TCP_PROBE5(send, NULL, tp, mtod(m, const char *), tp, nth); #ifdef INET6 if (isipv6) - (void) ip6_output(m, NULL, NULL, ipflags, NULL, NULL, inp); + (void) ip6_output(m, NULL, NULL, 0, NULL, NULL, inp); #endif /* INET6 */ #if defined(INET) && defined(INET6) else #endif #ifdef INET - (void) ip_output(m, NULL, NULL, ipflags, NULL, inp); + (void) ip_output(m, NULL, NULL, 0, NULL, inp); #endif } From owner-svn-src-head@freebsd.org Mon Mar 7 15:00:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CA4BAC1556; Mon, 7 Mar 2016 15:00:36 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C243A885; Mon, 7 Mar 2016 15:00:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27F0YpR054253; Mon, 7 Mar 2016 15:00:34 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27F0Y3Q054252; Mon, 7 Mar 2016 15:00:34 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201603071500.u27F0Y3Q054252@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 7 Mar 2016 15:00:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296455 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:00:36 -0000 Author: jtl Date: Mon Mar 7 15:00:34 2016 New Revision: 296455 URL: https://svnweb.freebsd.org/changeset/base/296455 Log: As reported on the transport@ and current@ mailing lists, the FreeBSD TCP stack is not compliant with RFC 7323, which requires that TCP stacks send a timestamp option on all packets (except, optionally, RSTs) after the session is established. This patch adds that support. It also adds a TCP signature option to the packet, if appropriate. PR: 206047 Differential Revision: https://reviews.freebsd.org/D4808 Reviewed by: hiren MFC after: 2 weeks Sponsored by: Juniper Networks Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Mon Mar 7 14:59:49 2016 (r296454) +++ head/sys/netinet/tcp_subr.c Mon Mar 7 15:00:34 2016 (r296455) @@ -864,14 +864,18 @@ void tcp_respond(struct tcpcb *tp, void *ipgen, struct tcphdr *th, struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) { + struct tcpopt to; struct inpcb *inp; struct ip *ip; + struct mbuf *optm; struct tcphdr *nth; + u_char *optp; #ifdef INET6 struct ip6_hdr *ip6; int isipv6; #endif /* INET6 */ - int tlen, win; + int optlen, tlen, win; + bool incl_opts; KASSERT(tp != NULL || m != NULL, ("tcp_respond: tp and m both NULL")); @@ -888,6 +892,7 @@ tcp_respond(struct tcpcb *tp, void *ipge } else inp = NULL; + incl_opts = false; win = 0; if (tp != NULL) { if (!(flags & TH_RST)) { @@ -895,12 +900,13 @@ tcp_respond(struct tcpcb *tp, void *ipge if (win > (long)TCP_MAXWIN << tp->rcv_scale) win = (long)TCP_MAXWIN << tp->rcv_scale; } + if ((tp->t_flags & TF_NOOPT) == 0) + incl_opts = true; } if (m == NULL) { m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; - tlen = 0; m->m_data += max_linkhdr; #ifdef INET6 if (isipv6) { @@ -926,7 +932,6 @@ tcp_respond(struct tcpcb *tp, void *ipge m->m_next = NULL; m->m_data = (caddr_t)ipgen; /* m_len is set later */ - tlen = 0; #define xchg(a,b,type) { type t; t=a; a=b; b=t; } #ifdef INET6 if (isipv6) { @@ -950,12 +955,64 @@ tcp_respond(struct tcpcb *tp, void *ipge xchg(nth->th_dport, nth->th_sport, uint16_t); #undef xchg } + tlen = 0; +#ifdef INET6 + if (isipv6) + tlen = sizeof (struct ip6_hdr) + sizeof (struct tcphdr); +#endif +#if defined(INET) && defined(INET6) + else +#endif +#ifdef INET + tlen = sizeof (struct tcpiphdr); +#endif +#ifdef INVARIANTS + m->m_len = 0; + KASSERT(M_TRAILINGSPACE(m) >= tlen, + ("Not enough trailing space for message (m=%p, need=%d, have=%ld)", + m, tlen, (long)M_TRAILINGSPACE(m))); +#endif + m->m_len = tlen; + to.to_flags = 0; + if (incl_opts) { + /* Make sure we have room. */ + if (M_TRAILINGSPACE(m) < TCP_MAXOLEN) { + m->m_next = m_get(M_NOWAIT, MT_DATA); + if (m->m_next) { + optp = mtod(m->m_next, u_char *); + optm = m->m_next; + } else + incl_opts = false; + } else { + optp = (u_char *) (nth + 1); + optm = m; + } + } + if (incl_opts) { + /* Timestamps. */ + if (tp->t_flags & TF_RCVD_TSTMP) { + to.to_tsval = tcp_ts_getticks() + tp->ts_offset; + to.to_tsecr = tp->ts_recent; + to.to_flags |= TOF_TS; + } +#ifdef TCP_SIGNATURE + /* TCP-MD5 (RFC2385). */ + if (tp->t_flags & TF_SIGNATURE) + to.to_flags |= TOF_SIGNATURE; +#endif + + /* Add the options. */ + tlen += optlen = tcp_addoptions(&to, optp); + + /* Update m_len in the correct mbuf. */ + optm->m_len += optlen; + } else + optlen = 0; #ifdef INET6 if (isipv6) { ip6->ip6_flow = 0; ip6->ip6_vfc = IPV6_VERSION; ip6->ip6_nxt = IPPROTO_TCP; - tlen += sizeof (struct ip6_hdr) + sizeof (struct tcphdr); ip6->ip6_plen = htons(tlen - sizeof(*ip6)); } #endif @@ -964,14 +1021,12 @@ tcp_respond(struct tcpcb *tp, void *ipge #endif #ifdef INET { - tlen += sizeof (struct tcpiphdr); ip->ip_len = htons(tlen); ip->ip_ttl = V_ip_defttl; if (V_path_mtu_discovery) ip->ip_off |= htons(IP_DF); } #endif - m->m_len = tlen; m->m_pkthdr.len = tlen; m->m_pkthdr.rcvif = NULL; #ifdef MAC @@ -993,7 +1048,7 @@ tcp_respond(struct tcpcb *tp, void *ipge nth->th_seq = htonl(seq); nth->th_ack = htonl(ack); nth->th_x2 = 0; - nth->th_off = sizeof (struct tcphdr) >> 2; + nth->th_off = (sizeof (struct tcphdr) + optlen) >> 2; nth->th_flags = flags; if (tp != NULL) nth->th_win = htons((u_short) (win >> tp->rcv_scale)); @@ -1001,6 +1056,13 @@ tcp_respond(struct tcpcb *tp, void *ipge nth->th_win = htons((u_short)win); nth->th_urp = 0; +#ifdef TCP_SIGNATURE + if (to.to_flags & TOF_SIGNATURE) { + tcp_signature_compute(m, 0, 0, optlen, to.to_signature, + IPSEC_DIR_OUTBOUND); + } +#endif + m->m_pkthdr.csum_data = offsetof(struct tcphdr, th_sum); #ifdef INET6 if (isipv6) { From owner-svn-src-head@freebsd.org Mon Mar 7 15:39:56 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10CB7AC261A for ; Mon, 7 Mar 2016 15:39:56 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD4E4F17 for ; Mon, 7 Mar 2016 15:39:55 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 126b9f51-e47b-11e5-8de6-958346fd02ba X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.34.117.227 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.34.117.227]) by outbound2.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Mon, 7 Mar 2016 15:41:34 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.14.9) with ESMTP id u27Fdlgq001184; Mon, 7 Mar 2016 08:39:47 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1457365187.13785.174.camel@freebsd.org> Subject: Re: svn commit: r296428 - head/sys/boot/common From: Ian Lepore To: Dimitry Andric , Julian Elischer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Mon, 07 Mar 2016 08:39:47 -0700 In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:39:56 -0000 On Mon, 2016-03-07 at 08:41 +0100, Dimitry Andric wrote: > On 07 Mar 2016, at 02:11, Julian Elischer wrote: > > > > On 6/03/2016 7:57 AM, Dimitry Andric wrote: > > > Author: dim > > > Date: Sun Mar 6 15:57:43 2016 > > > New Revision: 296428 > > > URL: https://svnweb.freebsd.org/changeset/base/296428 > > > > > > Log: > > > Since kernel modules can now contain sections of type > > > SHT_AMD64_UNWIND, > > > the boot loader should not skip over these anymore while > > > loading images. > > > Otherwise the kernel can still panic when it doesn't find the > > > .eh_frame > > > section belonging to the .rela.eh_frame section. > > > Unfortunately this will require installing boot loaders from > > > sys/boot > > > before attempting to boot with a new kernel. > > > > what happens to someone who doesn't replace their bootblocks? > > Or is this just the loader? > > This just about the loaders, e.g. loader, loader.efi and zfsloader. > > > > The general way we have handled this sort of thing in the past is > > that we do something > > that produces a nagging message for a decent time before it becomes > > mandatory. > > > > I don't like the idea of people being caught unaware by this.. > > > > Can you please give a more detailed description of what happens? > > If you preload modules with .eh_frame sections in them (such as > aesni.ko) from your loader.conf, your kernel will panic very early in > the boot. > > If you don't preload any modules, or load only modules without > .eh_frame > sections (most of of them), there is no issue at all. > > -Dimitry > Is there no way to prevent the panic other than making the unwind data be present? Why can't the kernel be fixed to cope with the missing data in some gentler way during a transition period? Perhaps valid-but -fake data could be generated if necessary? Being unable to get a stack traceback through a loaded module would be a small price to pay for trouble-free updgrades. -- Ian From owner-svn-src-head@freebsd.org Mon Mar 7 15:52:23 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EFDFAAC2F75; Mon, 7 Mar 2016 15:52:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 702B6F67; Mon, 7 Mar 2016 15:52:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27FqHWS074879 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 17:52:18 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27FqHWS074879 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27FqH7p074878; Mon, 7 Mar 2016 17:52:17 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 17:52:17 +0200 From: Konstantin Belousov To: Ian Lepore Cc: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1457365187.13785.174.camel@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:52:24 -0000 On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > Is there no way to prevent the panic other than making the unwind data > be present? Why can't the kernel be fixed to cope with the missing > data in some gentler way during a transition period? Perhaps valid-but > -fake data could be generated if necessary? Being unable to get a > stack traceback through a loaded module would be a small price to pay > for trouble-free updgrades. It is practically impossible to recover from partially-loaded object file' module. The loader workaround currently only affects HEAD and since the MFC was done, 10.3 should be safe. We always required lastest stable for the jump to next major branch. What could be done is demoting the panics (there are several, besides the one which was triggered) to a message and refusing to load the affected module. OTOH, if the reaction would be a message and not panic, it definitely go ignored for quite some time. From owner-svn-src-head@freebsd.org Mon Mar 7 16:28:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7507AAC31D0 for ; Mon, 7 Mar 2016 16:28:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x236.google.com (mail-ig0-x236.google.com [IPv6:2607:f8b0:4001:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3E4BD63B for ; Mon, 7 Mar 2016 16:28:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x236.google.com with SMTP id hb3so44535838igb.0 for ; Mon, 07 Mar 2016 08:28:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=G4LRhL+z5Nuc5BqU8mHuNGZjN8KPVOvS66eNNxEZaTE=; b=X6gAkEdrz0aWvkFl53ldj8jcQX0kuy++QkWcVF3znqTmVBhzRmZ9zDRkyNgCqUxY5b bKJnaXoTra2iWTJdAFMZR/dGifX42EV0bjn9KiM0RuVufigwIX5WC11+cfP0HST4hhWd KZTXDWF1d5PVfObJ1HGR7dD7923eHX8fxaZR47Oa6K7H5ARdkYsSeyNIV3mFU41+w6ZP /wWQQ+2REBwkPs5IOx32+qxuFGMQjTCP8ynYxYKjcbsbEIMQZH2uDkO9LeIM50DMrpOn G6IdwPebdzyCvvFyBwY56WHAKljQzx7nhLaZNRjEz6ZUmXxYLIYbVkc9phkvXwxkJVrz 445A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=G4LRhL+z5Nuc5BqU8mHuNGZjN8KPVOvS66eNNxEZaTE=; b=BO+OlSh8LWgrpBvKeyN3OyvNfPHztnni/y+xm7m5f9iYWI/LVAU5frDWj1eoXQSSq6 jbabLdo8OtlkdEYLQ+LeqeLwQ9tlQjg0e3xBBlTKEELn5rM3GdcEdGXXgYhXOPYOn3dy RtSjH52ZnFZOxC/gJ5t88GWKgFiBwgKG/tz9Jnpl6oO3se0eH6kteuNxDpI5nfsuayY+ Zc2WqBAxeLotbGUWkyrXU1rHLZe//aFl0TGsYeIIsfnaTCFU7RzDsyRZFLp0+Yx82WIK SsezSMSJpsPPPRJcV9zgmOImmprMrBwdCc9rl+RkXYcfBbChjUaiQTaCtAVz2VjLvTov +3fw== X-Gm-Message-State: AD7BkJL7JYrl8v/kdQnlcq5wR/3JB9JJJxC5w0/LGeTmucqUd+5+7dETbVOi2ohryYs8conkhXZApKar5dX6NA== MIME-Version: 1.0 X-Received: by 10.50.30.134 with SMTP id s6mr12086838igh.36.1457368093564; Mon, 07 Mar 2016 08:28:13 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 08:28:13 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 09:28:13 -0700 X-Google-Sender-Auth: a0r7BiG7DTZJzPL7r1JILjYwrso Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:28:14 -0000 On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > Is there no way to prevent the panic other than making the unwind data > > be present? Why can't the kernel be fixed to cope with the missing > > data in some gentler way during a transition period? Perhaps valid-but > > -fake data could be generated if necessary? Being unable to get a > > stack traceback through a loaded module would be a small price to pay > > for trouble-free updgrades. > > It is practically impossible to recover from partially-loaded object file' > module. The loader workaround currently only affects HEAD and since the > MFC was done, 10.3 should be safe. We always required lastest stable > for the jump to next major branch. > > What could be done is demoting the panics (there are several, besides > the one which was triggered) to a message and refusing to load the > affected module. OTOH, if the reaction would be a message and not panic, > it definitely go ignored for quite some time. > The new loader could also pass in some version or cookie in the metadata that says it is the new one. The kernel could examine this and issue a warning, on amd64 / i386, that module linking may be incomplete and you'll need to upgrade your /boot/loader if you encounter a crash. Could the kernel detect that a .eh_frame module was loaded and ignore it in "safe mode"? Perhaps combined with the new boot-loader cookie, this would be an automatic way to not mysteriously crash. Alternatively, is there a switch to clang 3.8 that says 'Don't generate the new relocation, use the old one instead" which would also be safe and allow a less-bumpy transition? Finally, would the partially loaded module stop at the first bad relocation, or would it do them all and just skip the bad ones? Is the data from this relocation used all the time, or just when we're doing a stack unwind for an exception or a backtrace? Warner From owner-svn-src-head@freebsd.org Mon Mar 7 16:32:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2BF83AC3425 for ; Mon, 7 Mar 2016 16:32:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x22f.google.com (mail-ig0-x22f.google.com [IPv6:2607:f8b0:4001:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E4574A85 for ; Mon, 7 Mar 2016 16:32:36 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x22f.google.com with SMTP id hb3so44632550igb.0 for ; Mon, 07 Mar 2016 08:32:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=xiEmsom9udTZ6EJvV5Uwygwumr57qtvt7egcT3Wsiwo=; b=A5FVBVpdfdMlz20zI+ujQVMXXkqdFEUM0H9Jzk6JqpVIOy+7S49L1/itB/XjgEw+qO k3H9dh5OpdOZCFSN5RNL/tI1x3igqMQPwVyb7heIJ6lpFgmU8mvoZk9+zSY4cC+k+nhv d682Cs/QKXxnTVEKONMumZzll3YqlxwVbiYA6aXNaXFesE2vPPi04TiMpMm7mafKDvhv JSkVQf53Ttdu3CjTylx+rEsK9Nl6ka54QeE/CdpQXSRaEIsh0hVWOpkDddybaCmI2meq q/ZXb4vC/FKYBX5jMzXmRkeSG5LuXRG2pYR8g/8GB5QqggHDHUTM9k/vCMDPuU/enIzU HeNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=xiEmsom9udTZ6EJvV5Uwygwumr57qtvt7egcT3Wsiwo=; b=JDL+KuPWUfpKryeVr0PB0tjUC70qoj6SQQgXXsJlW0dZMWaD3JB7a3xtb/QRlk/8bN bODsAhPW52bq4uNHb1clB6f17Q288BMGZpsUVDwDoT7r4lzlfCKi1QJiQVVrD4jPOhF3 64qHkE0rseWFeDwsyulCV7nVseGW2PxTUR4Ic/COTEmGGedk5wmEkVPH6BpnuSZoBwC0 Q/6wuLOTigoe/93VtJReYWPgUAPEGChJGAVMsPshsBAw1kpNEoHH6gfAXLW1MkU65t1k B5lSgKZFVShhVDWPjNsJpHOih4OvmCBMY9dz6JrtMDi/+o3Qdk6xIaHmPWFoDbK+9V2j byMA== X-Gm-Message-State: AD7BkJLZoR5u84Ayt+rHmN3YNcyAWkLlkiI0R9EJZHK0TbIWSpAQ7uAj9P5X5Meo/0ojLBiG4R4ASWAzerEFEw== MIME-Version: 1.0 X-Received: by 10.50.112.101 with SMTP id ip5mr12368617igb.52.1457368356325; Mon, 07 Mar 2016 08:32:36 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 08:32:36 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 09:32:36 -0700 X-Google-Sender-Auth: a9A0QJtOUZyL4xOgb8e-4Kh1Fl0 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:32:37 -0000 On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > Is there no way to prevent the panic other than making the unwind data > > be present? Why can't the kernel be fixed to cope with the missing > > data in some gentler way during a transition period? Perhaps valid-but > > -fake data could be generated if necessary? Being unable to get a > > stack traceback through a loaded module would be a small price to pay > > for trouble-free updgrades. > > It is practically impossible to recover from partially-loaded object file' > module. The loader workaround currently only affects HEAD and since the > MFC was done, 10.3 should be safe. We always required lastest stable > for the jump to next major branch. > Require is a strong word here. That's the only guarantee the project makes. However, our boot loader has been stable enough that even very old /boot/loaders can load -current until this change. It goes a bit against POLA given what has traditionally worked. If the effort isn't large, we should do something and only fall back to being this strict if there's really no other way possible forward. > What could be done is demoting the panics (there are several, besides > the one which was triggered) to a message and refusing to load the > affected module. OTOH, if the reaction would be a message and not panic, > it definitely go ignored for quite some time. > But a message would tell the user what's up and give them a working kernel with which to fix the problem. It would also allow the traditional upgrade path, burned into many people's fingers, to just work unless they needed one of the rare .eh_frame modules to affect that upgrade. Warner From owner-svn-src-head@freebsd.org Mon Mar 7 16:52:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E4B2AC3B54; Mon, 7 Mar 2016 16:52:07 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0CF0E637; Mon, 7 Mar 2016 16:52:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27GpulC026095 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 18:51:56 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27GpulC026095 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27GpunT026094; Mon, 7 Mar 2016 18:51:56 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 18:51:56 +0200 From: Konstantin Belousov To: Warner Losh Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307165156.GK67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:52:07 -0000 On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > wrote: > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > Is there no way to prevent the panic other than making the unwind data > > > be present? Why can't the kernel be fixed to cope with the missing > > > data in some gentler way during a transition period? Perhaps valid-but > > > -fake data could be generated if necessary? Being unable to get a > > > stack traceback through a loaded module would be a small price to pay > > > for trouble-free updgrades. > > > > It is practically impossible to recover from partially-loaded object file' > > module. The loader workaround currently only affects HEAD and since the > > MFC was done, 10.3 should be safe. We always required lastest stable > > for the jump to next major branch. > > > > What could be done is demoting the panics (there are several, besides > > the one which was triggered) to a message and refusing to load the > > affected module. OTOH, if the reaction would be a message and not panic, > > it definitely go ignored for quite some time. > > > > The new loader could also pass in some version or cookie in the metadata > that says it is the new one. The kernel could examine this and issue a > warning, > on amd64 / i386, that module linking may be incomplete and you'll need to > upgrade your /boot/loader if you encounter a crash. This is absolute useless kernel bloat. Kernel should provide an execution environment for user programs, and not lecture users about proper system configuration. > > Could the kernel detect that a .eh_frame module was loaded and ignore it > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > would be an automatic way to not mysteriously crash. Why should kernel ignore loaded .eh_frame ? I do not see any use for other part of the suggestion at all. To clarify, kernel paniced because some (required but currently not utilized) part of the binary module was not loaded. > > Alternatively, is there a switch to clang 3.8 that says 'Don't generate the > new > relocation, use the old one instead" which would also be safe and allow a > less-bumpy transition? > > Finally, would the partially loaded module stop at the first bad relocation, > or would it do them all and just skip the bad ones? Is the data from this > relocation > used all the time, or just when we're doing a stack unwind for an exception > or a backtrace? Practically, we could ignore that relocations and still load the module, but this is only because we know what the scope of the relocations is. For some arbitrary situation with the same detected missed place for relocations, loader cannot know is it safe or not. The problem is fixed and does not deserve nuking of all computers in the world, which was an equivalent of some other suggestions how to handle that. Most of the suggestions come to extreme which is not deserved. What could be useful, as I noted already, is to demote the panics from kernel linker to warnings. I intended to work on this. From owner-svn-src-head@freebsd.org Mon Mar 7 17:05:00 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1483FAC21A6 for ; Mon, 7 Mar 2016 17:05:00 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x234.google.com (mail-ig0-x234.google.com [IPv6:2607:f8b0:4001:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CF0A4D6E for ; Mon, 7 Mar 2016 17:04:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x234.google.com with SMTP id ig19so22769404igb.1 for ; Mon, 07 Mar 2016 09:04:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=nM6mRB2024YlZxO20espva5x0wBc8remuNLWrrq5I08=; b=cGvXt64jAcKmyRVCXIsU1ivja0rq+5n19hsdTkhzDzIpin/Yh/bgWW/1tTAItNVSDl SPfJxpPmW1MF2WledJlOIx9Fx5OP7//aiRiSys7bEsxcIeqzNfqc/3prPHfLFuNGc40B +aCnMeYCf29fm389ISee9Cpgc9+YjemOBZSe5Wwkk38lEWv/YWinUGj9MUixVYdT9gPZ 3KNeFqQN4HqXW1fU0D5X4/75+6SHcchADlF+Vaz64Kmj1sJnWwMbHhsiBJxAiUGxRJ04 2rCyQJzvC/ccqELbsUpLrE25Eii4G6X/RypzSvJ0OnVt60sYxGTq6xWOdu+Dy4zjzxSn qqzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=nM6mRB2024YlZxO20espva5x0wBc8remuNLWrrq5I08=; b=he2OML/7Ug+5SE2fSWVUqIdF/WKgi/CQujCx1JXB0/DqE5oZ8Y6wBAoPxu9fs9zw9R 2iNYwW7S1WmU7on1+4ROk0bxw5L2StEt3W5Mlmf+M6gr/HCi9+pIbObO6idCbqK7iPMB IixC7HTfQFOAGzTl8ix4aFPE/zPjkjDD+R9B8JGMS+H0Nc8zCJ7eqwJWS5GjqrkCnEBm g1SeBpVjr3iM79pQVpMPM/gkX/JTOAN97rkU53zmcr/bP1X1/km++n/BN/1RlghLpAka dR2E7H+2oZlX/UANZ6PIRUQ4WF8tyVlP7rkyTvmn+tIb2/B+qJF6qQ0XMkl0f3pRNu72 nE7Q== X-Gm-Message-State: AD7BkJL7+4J2N7m4AyhL7hVTsnHV+jbs9Jumlc8hFP2lgtYRhFPJbvsmbMG4ncOQSeePx3zuxUrIKJvrWYEOow== MIME-Version: 1.0 X-Received: by 10.50.112.101 with SMTP id ip5mr12545574igb.52.1457370299148; Mon, 07 Mar 2016 09:04:59 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 09:04:59 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307165156.GK67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <20160307165156.GK67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 10:04:59 -0700 X-Google-Sender-Auth: KgZqvpBJkKpnvQrYvn3FZZR1g6g Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:05:00 -0000 On Mon, Mar 7, 2016 at 9:51 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > > > wrote: > > > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > > Is there no way to prevent the panic other than making the unwind > data > > > > be present? Why can't the kernel be fixed to cope with the missing > > > > data in some gentler way during a transition period? Perhaps > valid-but > > > > -fake data could be generated if necessary? Being unable to get a > > > > stack traceback through a loaded module would be a small price to pay > > > > for trouble-free updgrades. > > > > > > It is practically impossible to recover from partially-loaded object > file' > > > module. The loader workaround currently only affects HEAD and since > the > > > MFC was done, 10.3 should be safe. We always required lastest stable > > > for the jump to next major branch. > > > > > > What could be done is demoting the panics (there are several, besides > > > the one which was triggered) to a message and refusing to load the > > > affected module. OTOH, if the reaction would be a message and not > panic, > > > it definitely go ignored for quite some time. > > > > > > > The new loader could also pass in some version or cookie in the metadata > > that says it is the new one. The kernel could examine this and issue a > > warning, > > on amd64 / i386, that module linking may be incomplete and you'll need to > > upgrade your /boot/loader if you encounter a crash. > This is absolute useless kernel bloat. Kernel should provide an execution > environment for user programs, and not lecture users about proper system > configuration. On the other hand, the kernel and the boot loader have a protocol they both implement. When one side implements it wrong, the other side should detect it if it is easy to do so. > > Could the kernel detect that a .eh_frame module was loaded and ignore it > > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > > would be an automatic way to not mysteriously crash. > Why should kernel ignore loaded .eh_frame ? I do not see any use for > other part of the suggestion at all. To clarify, kernel paniced because > some (required but currently not utilized) part of the binary module was > not loaded. Not ignore eh_frame, just modules that have eh_frame and potentially bad relocations. Or, you could pre-scan the relocations and only fail when the module actually has them. But if you make the linker pancis into warnings instead, then that would likely also be OK. > Alternatively, is there a switch to clang 3.8 that says 'Don't generate > the > > new > > relocation, use the old one instead" which would also be safe and allow a > > less-bumpy transition? > > > > Finally, would the partially loaded module stop at the first bad > relocation, > > or would it do them all and just skip the bad ones? Is the data from this > > relocation > > used all the time, or just when we're doing a stack unwind for an > exception > > or a backtrace? > Practically, we could ignore that relocations and still load the module, > but this is only because we know what the scope of the relocations is. > For some arbitrary situation with the same detected missed place for > relocations, loader cannot know is it safe or not. > True. However, this is a well-known case. > The problem is fixed and does not deserve nuking of all computers in > the world, which was an equivalent of some other suggestions how to > handle that. Most of the suggestions come to extreme which is not > deserved. > > What could be useful, as I noted already, is to demote the panics from > kernel linker to warnings. I intended to work on this. That would fit the bill for what I'm interested in this stuff for. Normally, we load the new kernel with new boot loader in my company's upgrade process. There are times, however, when we'll wind up loading the new kernel with the old boot loader (but more commonly vice-versa). Having some indication of the error would be quite useful in this scenario so we know we need to do something else. Warner From owner-svn-src-head@freebsd.org Mon Mar 7 17:34:18 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7528CAC2BDB; Mon, 7 Mar 2016 17:34:18 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D53D2E56; Mon, 7 Mar 2016 17:34:17 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27HYAhu035619 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 19:34:10 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27HYAhu035619 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27HYAO3035618; Mon, 7 Mar 2016 19:34:10 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 19:34:10 +0200 From: Konstantin Belousov To: Warner Losh Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307173410.GL67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <20160307165156.GK67250@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:34:18 -0000 On Mon, Mar 07, 2016 at 10:04:59AM -0700, Warner Losh wrote: > On Mon, Mar 7, 2016 at 9:51 AM, Konstantin Belousov > wrote: > > > On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > > > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > > > > > wrote: > > > > > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > > > Is there no way to prevent the panic other than making the unwind > > data > > > > > be present? Why can't the kernel be fixed to cope with the missing > > > > > data in some gentler way during a transition period? Perhaps > > valid-but > > > > > -fake data could be generated if necessary? Being unable to get a > > > > > stack traceback through a loaded module would be a small price to pay > > > > > for trouble-free updgrades. > > > > > > > > It is practically impossible to recover from partially-loaded object > > file' > > > > module. The loader workaround currently only affects HEAD and since > > the > > > > MFC was done, 10.3 should be safe. We always required lastest stable > > > > for the jump to next major branch. > > > > > > > > What could be done is demoting the panics (there are several, besides > > > > the one which was triggered) to a message and refusing to load the > > > > affected module. OTOH, if the reaction would be a message and not > > panic, > > > > it definitely go ignored for quite some time. > > > > > > > > > > The new loader could also pass in some version or cookie in the metadata > > > that says it is the new one. The kernel could examine this and issue a > > > warning, > > > on amd64 / i386, that module linking may be incomplete and you'll need to > > > upgrade your /boot/loader if you encounter a crash. > > This is absolute useless kernel bloat. Kernel should provide an execution > > environment for user programs, and not lecture users about proper system > > configuration. > > > On the other hand, the kernel and the boot loader have a protocol they > both implement. When one side implements it wrong, the other side should > detect it if it is easy to do so. > > > > > Could the kernel detect that a .eh_frame module was loaded and ignore it > > > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > > > would be an automatic way to not mysteriously crash. > > Why should kernel ignore loaded .eh_frame ? I do not see any use for > > other part of the suggestion at all. To clarify, kernel paniced because > > some (required but currently not utilized) part of the binary module was > > not loaded. > > > Not ignore eh_frame, just modules that have eh_frame and potentially bad > relocations. Or, you could pre-scan the relocations and only fail when the > module actually has them. But if you make the linker pancis into warnings > instead, then that would likely also be OK. > > > Alternatively, is there a switch to clang 3.8 that says 'Don't generate > > the > > > new > > > relocation, use the old one instead" which would also be safe and allow a > > > less-bumpy transition? > > > > > > Finally, would the partially loaded module stop at the first bad > > relocation, > > > or would it do them all and just skip the bad ones? Is the data from this > > > relocation > > > used all the time, or just when we're doing a stack unwind for an > > exception > > > or a backtrace? > > Practically, we could ignore that relocations and still load the module, > > but this is only because we know what the scope of the relocations is. > > For some arbitrary situation with the same detected missed place for > > relocations, loader cannot know is it safe or not. > > > > True. However, this is a well-known case. There is no way to distinguish well-known case against some other case. > > > > The problem is fixed and does not deserve nuking of all computers in > > the world, which was an equivalent of some other suggestions how to > > handle that. Most of the suggestions come to extreme which is not > > deserved. > > > > What could be useful, as I noted already, is to demote the panics from > > kernel linker to warnings. I intended to work on this. > > > That would fit the bill for what I'm interested in this stuff for. Normally, > we load the new kernel with new boot loader in my company's > upgrade process. There are times, however, when we'll wind up > loading the new kernel with the old boot loader (but more commonly > vice-versa). Having some indication of the error would be quite useful > in this scenario so we know we need to do something else. With the patch attached, and old pxeloader, I get Preloaded elf obj module "/boot/kernel/aesni.ko" at 0xffffffff80e20478. kldload: aesni.ko: lost base for reltab during boot, and then the only consequence is aesni.ko not loaded. The system booted multiuser. The error handling is not ideal, some stuff could leak with the patch. But the same is true for existing error return pathes as well, so I do not consider this a stopper. diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index dfbcdfe..457278d 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -140,7 +140,7 @@ static int link_elf_each_function_name(linker_file_t, static int link_elf_each_function_nameval(linker_file_t, linker_function_nameval_callback_t, void *); -static void link_elf_reloc_local(linker_file_t); +static int link_elf_reloc_local(linker_file_t); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); @@ -405,15 +405,26 @@ link_elf_link_preload(linker_class_t cls, const char *filename, break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); + if (pb != ef->nprogtab) { + printf("%s: lost progbits\n", filename); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + printf("%s: lost reltab\n", filename); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + printf("%s: lost relatab\n", filename); + error = ENOEXEC; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; *result = lf; return (0); @@ -634,8 +645,11 @@ link_elf_load_file(linker_class_t cls, const char *filename, ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); - if (symtabindex == -1) - panic("lost symbol table index"); + if (symtabindex == -1) { + link_elf_error(filename, "lost symbol table index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -650,8 +664,11 @@ link_elf_load_file(linker_class_t cls, const char *filename, goto out; } - if (symstrindex == -1) - panic("lost symbol string index"); + if (symstrindex == -1) { + link_elf_error(filename, "lost symbol string index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); @@ -884,19 +901,34 @@ link_elf_load_file(linker_class_t cls, const char *filename, break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); - if (mapbase != (vm_offset_t)ef->address + mapsize) - panic("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", - (u_long)mapbase, ef->address, (u_long)mapsize, + if (pb != ef->nprogtab) { + link_elf_error(filename, "lost progbits"); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + link_elf_error(filename, "lost reltab"); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + link_elf_error(filename, "lost relatab"); + error = ENOEXEC; + goto out; + } + if (mapbase != (vm_offset_t)ef->address + mapsize) { + printf( + "%s: mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + filename, (u_long)mapbase, ef->address, (u_long)mapsize, (u_long)(vm_offset_t)ef->address + mapsize); + error = ENOMEM; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; /* Pull in dependencies */ VOP_UNLOCK(nd.ni_vp, 0); @@ -1034,12 +1066,16 @@ relocate_file(elf_file_t ef) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab!"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1053,7 +1089,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rel->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1061,12 +1097,17 @@ relocate_file(elf_file_t ef) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, + "lost base for relatab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1080,7 +1121,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rela->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1092,7 +1133,7 @@ relocate_file(elf_file_t ef) */ elf_obj_cleanup_globals_cache(ef); - return 0; + return (0); } static int @@ -1375,7 +1416,7 @@ link_elf_fix_link_set(elf_file_t ef) } } -static void +static int link_elf_reloc_local(linker_file_t lf) { elf_file_t ef = (elf_file_t)lf; @@ -1393,12 +1434,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1415,12 +1460,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1433,6 +1482,7 @@ link_elf_reloc_local(linker_file_t lf) elf_obj_lookup); } } + return (0); } static long From owner-svn-src-head@freebsd.org Mon Mar 7 17:42:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF3FAAC2EEE; Mon, 7 Mar 2016 17:42:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6E81A34D; Mon, 7 Mar 2016 17:42:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::db5:de5b:7cb6:ee3c] (unknown [IPv6:2001:7b8:3a7:0:db5:de5b:7cb6:ee3c]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id DB73B3E34D; Mon, 7 Mar 2016 18:41:56 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: Date: Mon, 7 Mar 2016 18:41:49 +0100 Cc: Konstantin Belousov , Ian Lepore , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> To: Warner Losh X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:42:05 -0000 --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 07 Mar 2016, at 17:28, Warner Losh wrote: ... > Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new > relocation, use the old one instead" which would also be safe and = allow a > less-bumpy transition? On amd64, we actually compile source files for the kernel with -fno-asynchronous-unwind-tables, which is the flag that ensures object files do not end up with a .eh_frame section, because the compiler will refrain from inserting CFI directives into the assembler. However, this only affects C source files, and we have a number of hand-written assembler sources in the tree, with CFI directives in them. These will always result in .eh_frame sections, unless there is another assembler-specific flag of suppressing that. -Dimitry --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdvWQACgkQsF6jCi4glqPyhACg4rfv1EjG41J0A5YAJBJmqUcC fy4AniNkkS4bi3YjixoLZZRCLGvpWTL1 =EsXH -----END PGP SIGNATURE----- --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B-- From owner-svn-src-head@freebsd.org Mon Mar 7 18:23:23 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3B31AC3EEB; Mon, 7 Mar 2016 18:23:23 +0000 (UTC) (envelope-from jlooney@juniper.net) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0114.outbound.protection.outlook.com [157.56.111.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 53A43264; Mon, 7 Mar 2016 18:23:22 +0000 (UTC) (envelope-from jlooney@juniper.net) Received: from BN3PR0501MB1345.namprd05.prod.outlook.com (10.160.183.22) by BN3PR0501MB1348.namprd05.prod.outlook.com (10.160.183.25) with Microsoft SMTP Server (TLS) id 15.1.427.16; Mon, 7 Mar 2016 18:23:15 +0000 Received: from BN3PR0501MB1345.namprd05.prod.outlook.com ([10.160.183.22]) by BN3PR0501MB1345.namprd05.prod.outlook.com ([10.160.183.22]) with mapi id 15.01.0427.019; Mon, 7 Mar 2016 18:23:15 +0000 From: Jonathan Looney To: Warner Losh , Bryan Drewery CC: Ed Maste , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296387 - head Thread-Topic: svn commit: r296387 - head Thread-Index: AQHRdi9nn5WtOiIQykqCZGsKtNGYE59JfX+AgAAScgCABGytgA== Date: Mon, 7 Mar 2016 18:23:14 +0000 Message-ID: References: <201603041603.u24G3F3V033038@repo.freebsd.org> <56D9BB1D.7040300@FreeBSD.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.6.1.160122 authentication-results: bsdimp.com; dkim=none (message not signed) header.d=none;bsdimp.com; dmarc=none action=none header.from=juniper.net; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [66.129.241.11] x-ms-office365-filtering-correlation-id: f407e903-177e-4c7c-402d-08d346b58c8e x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1348; 5:n/znSmCV9gvfR6AVwV4uwPhbKXXNLHhfDQ4ZqBWYnWXQbwC1E7D06yRGHrQQU07+bHpbJsvikya6O1er0KOo+vNyv/8SVotRAnZXYCObhY9vtdudFLcvIg/71X2t/4OobfKUCl2A3hhnFfXJHLOv4Q==; 24:diaXQW30o6jo3DmpkH2Jc955osB05uqBcCpx/vIRnsauqy2nMLZ3eJsU/tblRpUEMnEX3mSMBO+ggR0wyFrhmxLVES3aW9Lu3qjkaV8XVrw= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0501MB1348; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BN3PR0501MB1348; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1348; x-forefront-prvs: 087474FBFA x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(24454002)(77096005)(5001770100001)(189998001)(5002640100001)(92566002)(4001350100001)(3280700002)(2906002)(3660700001)(10400500002)(99286002)(11100500001)(86362001)(106116001)(586003)(36756003)(5008740100001)(3846002)(66066001)(1220700001)(19580395003)(40100003)(1096002)(19580405001)(5004730100002)(122556002)(50986999)(2950100001)(54356999)(76176999)(2900100001)(83506001)(81166005)(87936001)(102836003)(4326007)(6116002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1348; H:BN3PR0501MB1345.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <2DB38DD033E8B84792339D500AB56527@namprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2016 18:23:14.8967 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1348 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:23:24 -0000 On Fri, Mar 4, 2016 at 12:49 AM, Warner Losh wrote: > It's trivial so worth having. We should discuss what our "oldest > supported upgrade" release should be as currently it is 8.1. >=20 > We put it to 8.1 based on Juniper wanted it for their operations. > Normally we'd set this closer to 9.0 or something. If Juniper > no longer needs it, we should move up to 9.0 since that's typically > what we've done in the past at this point in the release cycle. I don't think Juniper cares about this anymore. Even if we do, I'm not sure why 8.1 would be the release we would choose (at least, at this point). Jonathan From owner-svn-src-head@freebsd.org Mon Mar 7 18:32:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B4C6AC31C3; Mon, 7 Mar 2016 18:32:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6D5DD930; Mon, 7 Mar 2016 18:32:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27IWCfb023677; Mon, 7 Mar 2016 18:32:12 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27IWC3A023676; Mon, 7 Mar 2016 18:32:12 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603071832.u27IWC3A023676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 7 Mar 2016 18:32:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296466 - head/tools/tools/nanobsd/embedded X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:32:13 -0000 Author: imp Date: Mon Mar 7 18:32:12 2016 New Revision: 296466 URL: https://svnweb.freebsd.org/changeset/base/296466 Log: Don't install debug symbols onto embedded images... Modified: head/tools/tools/nanobsd/embedded/common Modified: head/tools/tools/nanobsd/embedded/common ============================================================================== --- head/tools/tools/nanobsd/embedded/common Mon Mar 7 16:22:11 2016 (r296465) +++ head/tools/tools/nanobsd/embedded/common Mon Mar 7 18:32:12 2016 (r296466) @@ -167,6 +167,8 @@ WITHOUT_SHAREDOCS=true WITHOUT_SYSCONS=true WITHOUT_LIB32=true WITHOUT_TESTS=true +WITHOUT_DEBUG_FILES=t +WITHOUT_KERNEL_SYMBOLS=t " CONF_INSTALL="$CONF_BUILD INSTALL_NODEBUG=t @@ -320,6 +322,7 @@ create_diskimage_mbr ( ) ( -o ${out} ;; esac + rm -f ${out}.xz xz -9 --keep ${out} ) > ${NANO_LOG}/_.di 2>&1 ) From owner-svn-src-head@freebsd.org Mon Mar 7 18:44:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4891EAC3697; Mon, 7 Mar 2016 18:44:08 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0BDB5F85; Mon, 7 Mar 2016 18:44:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Ii7Dp026876; Mon, 7 Mar 2016 18:44:07 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27Ii7Ip026875; Mon, 7 Mar 2016 18:44:07 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603071844.u27Ii7Ip026875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 7 Mar 2016 18:44:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296467 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:44:08 -0000 Author: kib Date: Mon Mar 7 18:44:06 2016 New Revision: 296467 URL: https://svnweb.freebsd.org/changeset/base/296467 Log: Convert all panics from the link_elf_obj kernel linker for object files format into printfs and errors to caller. Some leaks of resources are there, but the same leaks are present in other error pathes. With the change, the kernel at least boots even when module with unexpected or corrupted ELF structure is preloaded. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/link_elf_obj.c Modified: head/sys/kern/link_elf_obj.c ============================================================================== --- head/sys/kern/link_elf_obj.c Mon Mar 7 18:32:12 2016 (r296466) +++ head/sys/kern/link_elf_obj.c Mon Mar 7 18:44:06 2016 (r296467) @@ -140,7 +140,7 @@ static int link_elf_each_function_name(l static int link_elf_each_function_nameval(linker_file_t, linker_function_nameval_callback_t, void *); -static void link_elf_reloc_local(linker_file_t); +static int link_elf_reloc_local(linker_file_t); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); @@ -405,15 +405,26 @@ link_elf_link_preload(linker_class_t cls break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); + if (pb != ef->nprogtab) { + printf("%s: lost progbits\n", filename); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + printf("%s: lost reltab\n", filename); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + printf("%s: lost relatab\n", filename); + error = ENOEXEC; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; *result = lf; return (0); @@ -634,8 +645,11 @@ link_elf_load_file(linker_class_t cls, c ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); - if (symtabindex == -1) - panic("lost symbol table index"); + if (symtabindex == -1) { + link_elf_error(filename, "lost symbol table index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -650,8 +664,11 @@ link_elf_load_file(linker_class_t cls, c goto out; } - if (symstrindex == -1) - panic("lost symbol string index"); + if (symstrindex == -1) { + link_elf_error(filename, "lost symbol string index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); @@ -884,19 +901,35 @@ link_elf_load_file(linker_class_t cls, c break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); - if (mapbase != (vm_offset_t)ef->address + mapsize) - panic("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + if (pb != ef->nprogtab) { + link_elf_error(filename, "lost progbits"); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + link_elf_error(filename, "lost reltab"); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + link_elf_error(filename, "lost relatab"); + error = ENOEXEC; + goto out; + } + if (mapbase != (vm_offset_t)ef->address + mapsize) { + printf( + "%s: mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + filename != NULL ? filename : "", (u_long)mapbase, ef->address, (u_long)mapsize, (u_long)(vm_offset_t)ef->address + mapsize); + error = ENOMEM; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; /* Pull in dependencies */ VOP_UNLOCK(nd.ni_vp, 0); @@ -1034,12 +1067,16 @@ relocate_file(elf_file_t ef) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab!"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1053,7 +1090,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rel->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1061,12 +1098,17 @@ relocate_file(elf_file_t ef) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, + "lost base for relatab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1080,7 +1122,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rela->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1092,7 +1134,7 @@ relocate_file(elf_file_t ef) */ elf_obj_cleanup_globals_cache(ef); - return 0; + return (0); } static int @@ -1375,7 +1417,7 @@ link_elf_fix_link_set(elf_file_t ef) } } -static void +static int link_elf_reloc_local(linker_file_t lf) { elf_file_t ef = (elf_file_t)lf; @@ -1393,12 +1435,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1415,12 +1461,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1433,6 +1483,7 @@ link_elf_reloc_local(linker_file_t lf) elf_obj_lookup); } } + return (0); } static long From owner-svn-src-head@freebsd.org Mon Mar 7 18:50:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BFE5DAC3853 for ; Mon, 7 Mar 2016 18:50:57 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-io0-x236.google.com (mail-io0-x236.google.com [IPv6:2607:f8b0:4001:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 842B212E3 for ; Mon, 7 Mar 2016 18:50:57 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: by mail-io0-x236.google.com with SMTP id g203so141743305iof.2 for ; Mon, 07 Mar 2016 10:50:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=41770NQdZdEoClaO42o0RJMAFcRKvN4IsUfuFMnRjjw=; b=teEH1+nmHopXeP7Sh4FHdwuQDynwYB2EDu1FDFPrePVKcYch5b9UB29HAaGiC3iYcJ DFgGXwzKCd8ZJCtIMaxi9hQv8dQ9yq8LEXdTQ68Dbr+fQz+D7ol6XfqGs16iZ32fKNJp iSl4kniwUgGzOKOQztUldiweYuqjip8m06h4+iBLjMlDyOXf1Adq5vCqspY5LsDCl+S8 2ONokSsIachDuda6JnJ2hvsHxN2frzXMsq1VQZbM2Sd/uWOekkh4ClK9WZ/g7A7dbjk4 0VgRkuYrsQsbiA29wukuAZ6LnFlySvyBnzasJsTDA3XQR8aY9NU/4EYeHw2dJDfHFHaI xtpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=41770NQdZdEoClaO42o0RJMAFcRKvN4IsUfuFMnRjjw=; b=IIrQi5Kl90UkOPIX4aEF+0GwNMUlMW58u5fig2eFZjCmkP5D1CM8vLovTZufCiNSjK TYQ7Z6GNDbKvDjV2gsoin5outmlCMQIyt4La1KekmU85AzDNXJo9W9gvaX4LliYWq9wS uM90MeADfTtANYZVqxOJqnlueXXE4Zfk8UKH9R4RXUQ4cdzQCe6oexxcZtY+rG3mrW9d IDJYjqi7AEsEthi0LsJrLHY6UAZsJlvnmop+yz+0voeqBju13C7qIdrLJ2SvfizEs0xE kAUAi2aZdYCkmrvrDLdUwU2/oTU95v6dARTJZae49ds9pwspDGcTZqXmtDFr2ZIvJaSF ZYkQ== X-Gm-Message-State: AD7BkJJ63XKsGEIJEZaaNx5HpU+tSdME1DtqaA8t5GhvxC9+DpuyMDnuMMs9l2nHpcSUCw== X-Received: by 10.107.154.79 with SMTP id c76mr22236088ioe.53.1457376656990; Mon, 07 Mar 2016 10:50:56 -0800 (PST) Received: from [172.29.117.33] (63-156-62-129.dia.static.qwest.net. [63.156.62.129]) by smtp.gmail.com with ESMTPSA id w184sm6965243iod.4.2016.03.07.10.50.55 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 07 Mar 2016 10:50:56 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.2 From: Warner Losh In-Reply-To: Date: Mon, 7 Mar 2016 11:50:53 -0700 Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> To: Dimitry Andric X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:50:57 -0000 --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 7, 2016, at 10:41 AM, Dimitry Andric wrote: >=20 > On 07 Mar 2016, at 17:28, Warner Losh wrote: > ... >> Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new >> relocation, use the old one instead" which would also be safe and = allow a >> less-bumpy transition? >=20 > On amd64, we actually compile source files for the kernel with > -fno-asynchronous-unwind-tables, which is the flag that ensures object > files do not end up with a .eh_frame section, because the compiler = will > refrain from inserting CFI directives into the assembler. Excellent. > However, this only affects C source files, and we have a number of > hand-written assembler sources in the tree, with CFI directives in = them. > These will always result in .eh_frame sections, unless there is = another > assembler-specific flag of suppressing that. what are the odds of fixing this? Since the vast majority of assembler = code is going to be in the base kernel. The AESNI stuff is the only exception that I can think of=E2=80=A6 Are the CFI directives so that DTRACE works, or is there some other = reason? Warner --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJW3c2NAAoJEGwc0Sh9sBEAUqwP/1SksK5IiSg25Ui0EpcLfOXs C2j33VzFUxTCnPMERgPW+gs5dHHE8MnMWl2LgDGmPeVtTn9R27wjqliOK1z6laOk DkCvveuvQrodaO43ZcBgqWnkyq4feRAMCq0KDVPG+LDFI++7i8Lhfi+WbmGL+q09 l0AnYMLy7nbQD7zqbIg235MyWxf4fuByrw+jWcGje+LrB/P1TgrwtRkOAuGQX7eh ihxYarEd7XF0+H9r5Byk5aXR33XyKIbJQCIAk7Vismom3YkPhHvPSuDGNpkrBf5L T0KhBNdPF/9x5sQUBOIZ4lMxKEnGoUQPgKvAolJxuDZdMUlHfUYQ+QS9uoAQVD8t ySwd8GO/ngqPk0GmzzDwhGiR9hH3ugbhChkxin70jcCf7mZia0ARvFTlgeTbrl1I MLiKJMm5yUTkhGa5CSXWB9/cH1cBTHHNWksjInZ+KXFjgNBTulzWrA+klSaNMjkH gi2Or/hyMrXX0os8zwJI8SAMuQzfPuBHbRnjhHhcKhrpar/QSa9MIR1201/bF7yN 5Nv4dlCTS+6eXsMBH13PnDtF1CESUiMUBZsJX9gNgqQvHqEwqTig3DhyBHR4yytB rJukKlw/1fczz7wxKDKrS416NxdD1iJ0klGpLYlykNxQb3M41menBps7WGYDMTsM p2SBhZEy8AS2ohgC9D5g =kUVS -----END PGP SIGNATURE----- --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464-- From owner-svn-src-head@freebsd.org Mon Mar 7 18:59:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A7A44AC3AFA; Mon, 7 Mar 2016 18:59:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6808E177C; Mon, 7 Mar 2016 18:59:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::db5:de5b:7cb6:ee3c] (unknown [IPv6:2001:7b8:3a7:0:db5:de5b:7cb6:ee3c]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 9F29B3E443; Mon, 7 Mar 2016 19:59:09 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Date: Mon, 7 Mar 2016 19:59:05 +0100 Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> To: Warner Losh X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:59:12 -0000 --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 07 Mar 2016, at 19:50, Warner Losh wrote: >=20 >> On Mar 7, 2016, at 10:41 AM, Dimitry Andric wrote: >>=20 >> On 07 Mar 2016, at 17:28, Warner Losh wrote: >> ... >>> Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new >>> relocation, use the old one instead" which would also be safe and = allow a >>> less-bumpy transition? >>=20 >> On amd64, we actually compile source files for the kernel with >> -fno-asynchronous-unwind-tables, which is the flag that ensures = object >> files do not end up with a .eh_frame section, because the compiler = will >> refrain from inserting CFI directives into the assembler. >=20 > Excellent. >=20 >> However, this only affects C source files, and we have a number of >> hand-written assembler sources in the tree, with CFI directives in = them. >> These will always result in .eh_frame sections, unless there is = another >> assembler-specific flag of suppressing that. >=20 > what are the odds of fixing this? Since the vast majority of assembler = code > is going to be in the base kernel. The AESNI stuff is the only = exception > that I can think of=E2=80=A6 >=20 > Are the CFI directives so that DTRACE works, or is there some other = reason? You could comment out the directives, but these are really the standard way to do unwinding on amd64, without having to follow stack frames 'manually'. It would even be better to drop the -fno-asynchronous-unwind-tables option, and actually start making use of the unwind information in e.g. the kernel debugger, or even for producing crash backtraces. -Dimitry --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdz30ACgkQsF6jCi4glqOcpwCfcewuixxByOa82gFJ2Lwb6w0Y OtwAn2hcKVVUg+6sTshEXAu+FGLkhaIV =9u4l -----END PGP SIGNATURE----- --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055-- From owner-svn-src-head@freebsd.org Mon Mar 7 19:02:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45EFAAC3C38 for ; Mon, 7 Mar 2016 19:02:05 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 04CCA1B21 for ; Mon, 7 Mar 2016 19:02:04 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) by alto.onthenet.com.au (Postfix) with ESMTPS id EF61620B4BB4 for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id DA3FA2804DC for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 7lXCgAwoKBuH for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) Received: from Peters-MacBook-Pro.local (unknown [96.82.80.65]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id 792012804D6; Tue, 8 Mar 2016 05:02:01 +1000 (AEST) Subject: Re: svn commit: r296428 - head/sys/boot/common To: Warner Losh , Dimitry Andric References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: Peter Grehan Message-ID: <56DDD027.60705@freebsd.org> Date: Mon, 7 Mar 2016 11:01:59 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=GfK35VjL c=1 sm=1 tr=0 a=A6CF0fG5TOl4vs6YHvqXgw==:117 a=mwgbnDbW7alINpy3vhoKyg==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=IkcTkHD0fZMA:10 a=7OsogOcEt9IA:10 a=Y-Najdc4IStkzCq8XKgA:9 a=QEXdDO2ut3YA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 19:02:05 -0000 > Are the CFI directives so that DTRACE works, or is there some other reason? It allows gdb to backtrace across exception frames. later, Peter. From owner-svn-src-head@freebsd.org Mon Mar 7 19:14:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3835BAC21E6; Mon, 7 Mar 2016 19:14:28 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 09F592E7; Mon, 7 Mar 2016 19:14:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27JERTB035785; Mon, 7 Mar 2016 19:14:27 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27JERwg035784; Mon, 7 Mar 2016 19:14:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603071914.u27JERwg035784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 7 Mar 2016 19:14:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296468 - head/sbin/tunefs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 19:14:28 -0000 Author: emaste Date: Mon Mar 7 19:14:26 2016 New Revision: 296468 URL: https://svnweb.freebsd.org/changeset/base/296468 Log: tunefs: clear the entire previous label when setting a new one strlcpy(3) null terminates but does not zero-fill the buffer, so would leave beind any portion of the previous volume label longer than the new one. Note that tunefs only allows -L args up to a length of MAXVOLLEN-1, so the stored label will be null-terminated (whether or not required by UFS). Reviewed by: imp Sponsored by: The FreeBSD Foundation Modified: head/sbin/tunefs/tunefs.c Modified: head/sbin/tunefs/tunefs.c ============================================================================== --- head/sbin/tunefs/tunefs.c Mon Mar 7 18:44:06 2016 (r296467) +++ head/sbin/tunefs/tunefs.c Mon Mar 7 19:14:26 2016 (r296468) @@ -316,7 +316,7 @@ main(int argc, char *argv[]) } if (Lflag) { name = "volume label"; - strlcpy(sblock.fs_volname, Lvalue, MAXVOLLEN); + strncpy(sblock.fs_volname, Lvalue, MAXVOLLEN); } if (aflag) { name = "POSIX.1e ACLs"; From owner-svn-src-head@freebsd.org Mon Mar 7 21:10:20 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1E76AC2B83; Mon, 7 Mar 2016 21:10:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C38C0264; Mon, 7 Mar 2016 21:10:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LAJnS073943; Mon, 7 Mar 2016 21:10:19 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LAJYd073942; Mon, 7 Mar 2016 21:10:19 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072110.u27LAJYd073942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:10:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296470 - head/sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:10:21 -0000 Author: bdrewery Date: Mon Mar 7 21:10:19 2016 New Revision: 296470 URL: https://svnweb.freebsd.org/changeset/base/296470 Log: Only call bwillwrite() for logging to vnodes, as other fo_write() calls do. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/filemon/filemon_wrapper.c Modified: head/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- head/sys/dev/filemon/filemon_wrapper.c Mon Mar 7 19:59:08 2016 (r296469) +++ head/sys/dev/filemon/filemon_wrapper.c Mon Mar 7 21:10:19 2016 (r296470) @@ -59,7 +59,8 @@ filemon_output(struct filemon *filemon, auio.uio_td = curthread; auio.uio_offset = (off_t) -1; - bwillwrite(); + if (filemon->fp->f_type == DTYPE_VNODE) + bwillwrite(); fo_write(filemon->fp, &auio, curthread->td_ucred, 0, curthread); } From owner-svn-src-head@freebsd.org Mon Mar 7 21:11:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06F3CAC2D50; Mon, 7 Mar 2016 21:11:37 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB60580A; Mon, 7 Mar 2016 21:11:36 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LBZwD074776; Mon, 7 Mar 2016 21:11:35 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LBZMC074773; Mon, 7 Mar 2016 21:11:35 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603072111.u27LBZMC074773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Mon, 7 Mar 2016 21:11:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296471 - in head: sys/dev/cxgbe sys/dev/cxgbe/common tools/tools/cxgbetool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:11:37 -0000 Author: np Date: Mon Mar 7 21:11:35 2016 New Revision: 296471 URL: https://svnweb.freebsd.org/changeset/base/296471 Log: cxgbe(4): Updated register dumps. - Get the list of registers to read during a regdump from the shared code instead of the OS specific code. This follows a similar move internally. The shared code includes the list for T6. - Update cxgbetool to be able to decode T5 VF, T6, and T6 VF register dumps (and catch up with some updates to T4 and T5 register decode). Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Added: head/tools/tools/cxgbetool/reg_defs_t6.c (contents, props changed) Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c head/tools/tools/cxgbetool/cxgbetool.c head/tools/tools/cxgbetool/reg_defs_t4.c head/tools/tools/cxgbetool/reg_defs_t4vf.c head/tools/tools/cxgbetool/reg_defs_t5.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Mon Mar 7 21:10:19 2016 (r296470) +++ head/sys/dev/cxgbe/common/common.h Mon Mar 7 21:11:35 2016 (r296471) @@ -42,6 +42,11 @@ enum { MACADDR_LEN = 12, /* MAC Address length */ }; +enum { + T4_REGMAP_SIZE = (160 * 1024), + T5_REGMAP_SIZE = (332 * 1024), +}; + enum { MEM_EDC0, MEM_EDC1, MEM_MC, MEM_MC0 = MEM_MC, MEM_MC1 }; enum { @@ -510,6 +515,9 @@ int t4_edc_read(struct adapter *adap, in int t4_mem_read(struct adapter *adap, int mtype, u32 addr, u32 size, __be32 *data); +unsigned int t4_get_regs_len(struct adapter *adapter); +void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size); + const char *t4_get_port_type_description(enum fw_port_type port_type); void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p); void t4_get_port_stats_offset(struct adapter *adap, int idx, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Mon Mar 7 21:10:19 2016 (r296470) +++ head/sys/dev/cxgbe/common/t4_hw.c Mon Mar 7 21:11:35 2016 (r296471) @@ -525,6 +525,1904 @@ int t4_mem_read(struct adapter *adap, in return 0; } +/** + * t4_get_regs_len - return the size of the chips register set + * @adapter: the adapter + * + * Returns the size of the chip's BAR0 register space. + */ +unsigned int t4_get_regs_len(struct adapter *adapter) +{ + unsigned int chip_version = chip_id(adapter); + + switch (chip_version) { + case CHELSIO_T4: + return T4_REGMAP_SIZE; + + case CHELSIO_T5: + case CHELSIO_T6: + return T5_REGMAP_SIZE; + } + + CH_ERR(adapter, + "Unsupported chip version %d\n", chip_version); + return 0; +} + +/** + * t4_get_regs - read chip registers into provided buffer + * @adap: the adapter + * @buf: register buffer + * @buf_size: size (in bytes) of register buffer + * + * If the provided register buffer isn't large enough for the chip's + * full register range, the register dump will be truncated to the + * register buffer's size. + */ +void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size) +{ + static const unsigned int t4_reg_ranges[] = { + 0x1008, 0x1108, + 0x1180, 0x1184, + 0x1190, 0x1194, + 0x11a0, 0x11a4, + 0x11b0, 0x11b4, + 0x11fc, 0x123c, + 0x1300, 0x173c, + 0x1800, 0x18fc, + 0x3000, 0x30d8, + 0x30e0, 0x30e4, + 0x30ec, 0x5910, + 0x5920, 0x5924, + 0x5960, 0x5960, + 0x5968, 0x5968, + 0x5970, 0x5970, + 0x5978, 0x5978, + 0x5980, 0x5980, + 0x5988, 0x5988, + 0x5990, 0x5990, + 0x5998, 0x5998, + 0x59a0, 0x59d4, + 0x5a00, 0x5ae0, + 0x5ae8, 0x5ae8, + 0x5af0, 0x5af0, + 0x5af8, 0x5af8, + 0x6000, 0x6098, + 0x6100, 0x6150, + 0x6200, 0x6208, + 0x6240, 0x6248, + 0x6280, 0x62b0, + 0x62c0, 0x6338, + 0x6370, 0x638c, + 0x6400, 0x643c, + 0x6500, 0x6524, + 0x6a00, 0x6a04, + 0x6a14, 0x6a38, + 0x6a60, 0x6a70, + 0x6a78, 0x6a78, + 0x6b00, 0x6b0c, + 0x6b1c, 0x6b84, + 0x6bf0, 0x6bf8, + 0x6c00, 0x6c0c, + 0x6c1c, 0x6c84, + 0x6cf0, 0x6cf8, + 0x6d00, 0x6d0c, + 0x6d1c, 0x6d84, + 0x6df0, 0x6df8, + 0x6e00, 0x6e0c, + 0x6e1c, 0x6e84, + 0x6ef0, 0x6ef8, + 0x6f00, 0x6f0c, + 0x6f1c, 0x6f84, + 0x6ff0, 0x6ff8, + 0x7000, 0x700c, + 0x701c, 0x7084, + 0x70f0, 0x70f8, + 0x7100, 0x710c, + 0x711c, 0x7184, + 0x71f0, 0x71f8, + 0x7200, 0x720c, + 0x721c, 0x7284, + 0x72f0, 0x72f8, + 0x7300, 0x730c, + 0x731c, 0x7384, + 0x73f0, 0x73f8, + 0x7400, 0x7450, + 0x7500, 0x7530, + 0x7600, 0x760c, + 0x7614, 0x761c, + 0x7680, 0x76cc, + 0x7700, 0x7798, + 0x77c0, 0x77fc, + 0x7900, 0x79fc, + 0x7b00, 0x7b58, + 0x7b60, 0x7b84, + 0x7b8c, 0x7c38, + 0x7d00, 0x7d38, + 0x7d40, 0x7d80, + 0x7d8c, 0x7ddc, + 0x7de4, 0x7e04, + 0x7e10, 0x7e1c, + 0x7e24, 0x7e38, + 0x7e40, 0x7e44, + 0x7e4c, 0x7e78, + 0x7e80, 0x7ea4, + 0x7eac, 0x7edc, + 0x7ee8, 0x7efc, + 0x8dc0, 0x8e04, + 0x8e10, 0x8e1c, + 0x8e30, 0x8e78, + 0x8ea0, 0x8eb8, + 0x8ec0, 0x8f6c, + 0x8fc0, 0x9008, + 0x9010, 0x9058, + 0x9060, 0x9060, + 0x9068, 0x9074, + 0x90fc, 0x90fc, + 0x9400, 0x9408, + 0x9410, 0x9458, + 0x9600, 0x9600, + 0x9608, 0x9638, + 0x9640, 0x96bc, + 0x9800, 0x9808, + 0x9820, 0x983c, + 0x9850, 0x9864, + 0x9c00, 0x9c6c, + 0x9c80, 0x9cec, + 0x9d00, 0x9d6c, + 0x9d80, 0x9dec, + 0x9e00, 0x9e6c, + 0x9e80, 0x9eec, + 0x9f00, 0x9f6c, + 0x9f80, 0x9fec, + 0xd004, 0xd004, + 0xd010, 0xd03c, + 0xdfc0, 0xdfe0, + 0xe000, 0xea7c, + 0xf000, 0x11190, + 0x19040, 0x1906c, + 0x19078, 0x19080, + 0x1908c, 0x190e4, + 0x190f0, 0x190f8, + 0x19100, 0x19110, + 0x19120, 0x19124, + 0x19150, 0x19194, + 0x1919c, 0x191b0, + 0x191d0, 0x191e8, + 0x19238, 0x1924c, + 0x193f8, 0x1943c, + 0x1944c, 0x19474, + 0x19490, 0x194e0, + 0x194f0, 0x194f8, + 0x19800, 0x19c08, + 0x19c10, 0x19c90, + 0x19ca0, 0x19ce4, + 0x19cf0, 0x19d40, + 0x19d50, 0x19d94, + 0x19da0, 0x19de8, + 0x19df0, 0x19e40, + 0x19e50, 0x19e90, + 0x19ea0, 0x19f4c, + 0x1a000, 0x1a004, + 0x1a010, 0x1a06c, + 0x1a0b0, 0x1a0e4, + 0x1a0ec, 0x1a0f4, + 0x1a100, 0x1a108, + 0x1a114, 0x1a120, + 0x1a128, 0x1a130, + 0x1a138, 0x1a138, + 0x1a190, 0x1a1c4, + 0x1a1fc, 0x1a1fc, + 0x1e040, 0x1e04c, + 0x1e284, 0x1e28c, + 0x1e2c0, 0x1e2c0, + 0x1e2e0, 0x1e2e0, + 0x1e300, 0x1e384, + 0x1e3c0, 0x1e3c8, + 0x1e440, 0x1e44c, + 0x1e684, 0x1e68c, + 0x1e6c0, 0x1e6c0, + 0x1e6e0, 0x1e6e0, + 0x1e700, 0x1e784, + 0x1e7c0, 0x1e7c8, + 0x1e840, 0x1e84c, + 0x1ea84, 0x1ea8c, + 0x1eac0, 0x1eac0, + 0x1eae0, 0x1eae0, + 0x1eb00, 0x1eb84, + 0x1ebc0, 0x1ebc8, + 0x1ec40, 0x1ec4c, + 0x1ee84, 0x1ee8c, + 0x1eec0, 0x1eec0, + 0x1eee0, 0x1eee0, + 0x1ef00, 0x1ef84, + 0x1efc0, 0x1efc8, + 0x1f040, 0x1f04c, + 0x1f284, 0x1f28c, + 0x1f2c0, 0x1f2c0, + 0x1f2e0, 0x1f2e0, + 0x1f300, 0x1f384, + 0x1f3c0, 0x1f3c8, + 0x1f440, 0x1f44c, + 0x1f684, 0x1f68c, + 0x1f6c0, 0x1f6c0, + 0x1f6e0, 0x1f6e0, + 0x1f700, 0x1f784, + 0x1f7c0, 0x1f7c8, + 0x1f840, 0x1f84c, + 0x1fa84, 0x1fa8c, + 0x1fac0, 0x1fac0, + 0x1fae0, 0x1fae0, + 0x1fb00, 0x1fb84, + 0x1fbc0, 0x1fbc8, + 0x1fc40, 0x1fc4c, + 0x1fe84, 0x1fe8c, + 0x1fec0, 0x1fec0, + 0x1fee0, 0x1fee0, + 0x1ff00, 0x1ff84, + 0x1ffc0, 0x1ffc8, + 0x20000, 0x2002c, + 0x20100, 0x2013c, + 0x20190, 0x201a0, + 0x201a8, 0x201b8, + 0x201c4, 0x201c8, + 0x20200, 0x20318, + 0x20400, 0x204b4, + 0x204c0, 0x20528, + 0x20540, 0x20614, + 0x21000, 0x21040, + 0x2104c, 0x21060, + 0x210c0, 0x210ec, + 0x21200, 0x21268, + 0x21270, 0x21284, + 0x212fc, 0x21388, + 0x21400, 0x21404, + 0x21500, 0x21500, + 0x21510, 0x21518, + 0x2152c, 0x21530, + 0x2153c, 0x2153c, + 0x21550, 0x21554, + 0x21600, 0x21600, + 0x21608, 0x2161c, + 0x21624, 0x21628, + 0x21630, 0x21634, + 0x2163c, 0x2163c, + 0x21700, 0x2171c, + 0x21780, 0x2178c, + 0x21800, 0x21818, + 0x21820, 0x21828, + 0x21830, 0x21848, + 0x21850, 0x21854, + 0x21860, 0x21868, + 0x21870, 0x21870, + 0x21878, 0x21898, + 0x218a0, 0x218a8, + 0x218b0, 0x218c8, + 0x218d0, 0x218d4, + 0x218e0, 0x218e8, + 0x218f0, 0x218f0, + 0x218f8, 0x21a18, + 0x21a20, 0x21a28, + 0x21a30, 0x21a48, + 0x21a50, 0x21a54, + 0x21a60, 0x21a68, + 0x21a70, 0x21a70, + 0x21a78, 0x21a98, + 0x21aa0, 0x21aa8, + 0x21ab0, 0x21ac8, + 0x21ad0, 0x21ad4, + 0x21ae0, 0x21ae8, + 0x21af0, 0x21af0, + 0x21af8, 0x21c18, + 0x21c20, 0x21c20, + 0x21c28, 0x21c30, + 0x21c38, 0x21c38, + 0x21c80, 0x21c98, + 0x21ca0, 0x21ca8, + 0x21cb0, 0x21cc8, + 0x21cd0, 0x21cd4, + 0x21ce0, 0x21ce8, + 0x21cf0, 0x21cf0, + 0x21cf8, 0x21d7c, + 0x21e00, 0x21e04, + 0x22000, 0x2202c, + 0x22100, 0x2213c, + 0x22190, 0x221a0, + 0x221a8, 0x221b8, + 0x221c4, 0x221c8, + 0x22200, 0x22318, + 0x22400, 0x224b4, + 0x224c0, 0x22528, + 0x22540, 0x22614, + 0x23000, 0x23040, + 0x2304c, 0x23060, + 0x230c0, 0x230ec, + 0x23200, 0x23268, + 0x23270, 0x23284, + 0x232fc, 0x23388, + 0x23400, 0x23404, + 0x23500, 0x23500, + 0x23510, 0x23518, + 0x2352c, 0x23530, + 0x2353c, 0x2353c, + 0x23550, 0x23554, + 0x23600, 0x23600, + 0x23608, 0x2361c, + 0x23624, 0x23628, + 0x23630, 0x23634, + 0x2363c, 0x2363c, + 0x23700, 0x2371c, + 0x23780, 0x2378c, + 0x23800, 0x23818, + 0x23820, 0x23828, + 0x23830, 0x23848, + 0x23850, 0x23854, + 0x23860, 0x23868, + 0x23870, 0x23870, + 0x23878, 0x23898, + 0x238a0, 0x238a8, + 0x238b0, 0x238c8, + 0x238d0, 0x238d4, + 0x238e0, 0x238e8, + 0x238f0, 0x238f0, + 0x238f8, 0x23a18, + 0x23a20, 0x23a28, + 0x23a30, 0x23a48, + 0x23a50, 0x23a54, + 0x23a60, 0x23a68, + 0x23a70, 0x23a70, + 0x23a78, 0x23a98, + 0x23aa0, 0x23aa8, + 0x23ab0, 0x23ac8, + 0x23ad0, 0x23ad4, + 0x23ae0, 0x23ae8, + 0x23af0, 0x23af0, + 0x23af8, 0x23c18, + 0x23c20, 0x23c20, + 0x23c28, 0x23c30, + 0x23c38, 0x23c38, + 0x23c80, 0x23c98, + 0x23ca0, 0x23ca8, + 0x23cb0, 0x23cc8, + 0x23cd0, 0x23cd4, + 0x23ce0, 0x23ce8, + 0x23cf0, 0x23cf0, + 0x23cf8, 0x23d7c, + 0x23e00, 0x23e04, + 0x24000, 0x2402c, + 0x24100, 0x2413c, + 0x24190, 0x241a0, + 0x241a8, 0x241b8, + 0x241c4, 0x241c8, + 0x24200, 0x24318, + 0x24400, 0x244b4, + 0x244c0, 0x24528, + 0x24540, 0x24614, + 0x25000, 0x25040, + 0x2504c, 0x25060, + 0x250c0, 0x250ec, + 0x25200, 0x25268, + 0x25270, 0x25284, + 0x252fc, 0x25388, + 0x25400, 0x25404, + 0x25500, 0x25500, + 0x25510, 0x25518, + 0x2552c, 0x25530, + 0x2553c, 0x2553c, + 0x25550, 0x25554, + 0x25600, 0x25600, + 0x25608, 0x2561c, + 0x25624, 0x25628, + 0x25630, 0x25634, + 0x2563c, 0x2563c, + 0x25700, 0x2571c, + 0x25780, 0x2578c, + 0x25800, 0x25818, + 0x25820, 0x25828, + 0x25830, 0x25848, + 0x25850, 0x25854, + 0x25860, 0x25868, + 0x25870, 0x25870, + 0x25878, 0x25898, + 0x258a0, 0x258a8, + 0x258b0, 0x258c8, + 0x258d0, 0x258d4, + 0x258e0, 0x258e8, + 0x258f0, 0x258f0, + 0x258f8, 0x25a18, + 0x25a20, 0x25a28, + 0x25a30, 0x25a48, + 0x25a50, 0x25a54, + 0x25a60, 0x25a68, + 0x25a70, 0x25a70, + 0x25a78, 0x25a98, + 0x25aa0, 0x25aa8, + 0x25ab0, 0x25ac8, + 0x25ad0, 0x25ad4, + 0x25ae0, 0x25ae8, + 0x25af0, 0x25af0, + 0x25af8, 0x25c18, + 0x25c20, 0x25c20, + 0x25c28, 0x25c30, + 0x25c38, 0x25c38, + 0x25c80, 0x25c98, + 0x25ca0, 0x25ca8, + 0x25cb0, 0x25cc8, + 0x25cd0, 0x25cd4, + 0x25ce0, 0x25ce8, + 0x25cf0, 0x25cf0, + 0x25cf8, 0x25d7c, + 0x25e00, 0x25e04, + 0x26000, 0x2602c, + 0x26100, 0x2613c, + 0x26190, 0x261a0, + 0x261a8, 0x261b8, + 0x261c4, 0x261c8, + 0x26200, 0x26318, + 0x26400, 0x264b4, + 0x264c0, 0x26528, + 0x26540, 0x26614, + 0x27000, 0x27040, + 0x2704c, 0x27060, + 0x270c0, 0x270ec, + 0x27200, 0x27268, + 0x27270, 0x27284, + 0x272fc, 0x27388, + 0x27400, 0x27404, + 0x27500, 0x27500, + 0x27510, 0x27518, + 0x2752c, 0x27530, + 0x2753c, 0x2753c, + 0x27550, 0x27554, + 0x27600, 0x27600, + 0x27608, 0x2761c, + 0x27624, 0x27628, + 0x27630, 0x27634, + 0x2763c, 0x2763c, + 0x27700, 0x2771c, + 0x27780, 0x2778c, + 0x27800, 0x27818, + 0x27820, 0x27828, + 0x27830, 0x27848, + 0x27850, 0x27854, + 0x27860, 0x27868, + 0x27870, 0x27870, + 0x27878, 0x27898, + 0x278a0, 0x278a8, + 0x278b0, 0x278c8, + 0x278d0, 0x278d4, + 0x278e0, 0x278e8, + 0x278f0, 0x278f0, + 0x278f8, 0x27a18, + 0x27a20, 0x27a28, + 0x27a30, 0x27a48, + 0x27a50, 0x27a54, + 0x27a60, 0x27a68, + 0x27a70, 0x27a70, + 0x27a78, 0x27a98, + 0x27aa0, 0x27aa8, + 0x27ab0, 0x27ac8, + 0x27ad0, 0x27ad4, + 0x27ae0, 0x27ae8, + 0x27af0, 0x27af0, + 0x27af8, 0x27c18, + 0x27c20, 0x27c20, + 0x27c28, 0x27c30, + 0x27c38, 0x27c38, + 0x27c80, 0x27c98, + 0x27ca0, 0x27ca8, + 0x27cb0, 0x27cc8, + 0x27cd0, 0x27cd4, + 0x27ce0, 0x27ce8, + 0x27cf0, 0x27cf0, + 0x27cf8, 0x27d7c, + 0x27e00, 0x27e04, + }; + + static const unsigned int t5_reg_ranges[] = { + 0x1008, 0x10c0, + 0x10cc, 0x10f8, + 0x1100, 0x1100, + 0x110c, 0x1148, + 0x1180, 0x1184, + 0x1190, 0x1194, + 0x11a0, 0x11a4, + 0x11b0, 0x11b4, + 0x11fc, 0x123c, + 0x1280, 0x173c, + 0x1800, 0x18fc, + 0x3000, 0x3028, + 0x3060, 0x30b0, + 0x30b8, 0x30d8, + 0x30e0, 0x30fc, + 0x3140, 0x357c, + 0x35a8, 0x35cc, + 0x35ec, 0x35ec, + 0x3600, 0x5624, + 0x56cc, 0x56ec, + 0x56f4, 0x5720, + 0x5728, 0x575c, + 0x580c, 0x5814, + 0x5890, 0x589c, + 0x58a4, 0x58ac, + 0x58b8, 0x58bc, + 0x5940, 0x59c8, + 0x59d0, 0x59dc, + 0x59fc, 0x5a18, + 0x5a60, 0x5a70, + 0x5a80, 0x5a9c, + 0x5b94, 0x5bfc, + 0x6000, 0x6020, + 0x6028, 0x6040, + 0x6058, 0x609c, + 0x60a8, 0x614c, + 0x7700, 0x7798, + 0x77c0, 0x78fc, + 0x7b00, 0x7b58, + 0x7b60, 0x7b84, + 0x7b8c, 0x7c54, + 0x7d00, 0x7d38, + 0x7d40, 0x7d80, + 0x7d8c, 0x7ddc, + 0x7de4, 0x7e04, + 0x7e10, 0x7e1c, + 0x7e24, 0x7e38, + 0x7e40, 0x7e44, + 0x7e4c, 0x7e78, + 0x7e80, 0x7edc, + 0x7ee8, 0x7efc, + 0x8dc0, 0x8de0, + 0x8df8, 0x8e04, + 0x8e10, 0x8e84, + 0x8ea0, 0x8f84, + 0x8fc0, 0x9058, + 0x9060, 0x9060, + 0x9068, 0x90f8, + 0x9400, 0x9408, + 0x9410, 0x9470, + 0x9600, 0x9600, + 0x9608, 0x9638, + 0x9640, 0x96f4, + 0x9800, 0x9808, + 0x9820, 0x983c, + 0x9850, 0x9864, + 0x9c00, 0x9c6c, + 0x9c80, 0x9cec, + 0x9d00, 0x9d6c, + 0x9d80, 0x9dec, + 0x9e00, 0x9e6c, + 0x9e80, 0x9eec, + 0x9f00, 0x9f6c, + 0x9f80, 0xa020, + 0xd004, 0xd004, + 0xd010, 0xd03c, + 0xdfc0, 0xdfe0, + 0xe000, 0x1106c, + 0x11074, 0x11088, + 0x1109c, 0x1117c, + 0x11190, 0x11204, + 0x19040, 0x1906c, + 0x19078, 0x19080, + 0x1908c, 0x190e8, + 0x190f0, 0x190f8, + 0x19100, 0x19110, + 0x19120, 0x19124, + 0x19150, 0x19194, + 0x1919c, 0x191b0, + 0x191d0, 0x191e8, + 0x19238, 0x19290, + 0x193f8, 0x19428, + 0x19430, 0x19444, + 0x1944c, 0x1946c, + 0x19474, 0x19474, + 0x19490, 0x194cc, + 0x194f0, 0x194f8, + 0x19c00, 0x19c08, + 0x19c10, 0x19c60, + 0x19c94, 0x19ce4, + 0x19cf0, 0x19d40, + 0x19d50, 0x19d94, + 0x19da0, 0x19de8, + 0x19df0, 0x19e10, + 0x19e50, 0x19e90, + 0x19ea0, 0x19f24, + 0x19f34, 0x19f34, + 0x19f40, 0x19f50, + 0x19f90, 0x19fb4, + 0x19fc4, 0x19fe4, + 0x1a000, 0x1a004, + 0x1a010, 0x1a06c, + 0x1a0b0, 0x1a0e4, + 0x1a0ec, 0x1a0f8, + 0x1a100, 0x1a108, + 0x1a114, 0x1a120, + 0x1a128, 0x1a130, + 0x1a138, 0x1a138, + 0x1a190, 0x1a1c4, + 0x1a1fc, 0x1a1fc, + 0x1e008, 0x1e00c, + 0x1e040, 0x1e044, + 0x1e04c, 0x1e04c, + 0x1e284, 0x1e290, + 0x1e2c0, 0x1e2c0, + 0x1e2e0, 0x1e2e0, + 0x1e300, 0x1e384, + 0x1e3c0, 0x1e3c8, + 0x1e408, 0x1e40c, + 0x1e440, 0x1e444, + 0x1e44c, 0x1e44c, + 0x1e684, 0x1e690, + 0x1e6c0, 0x1e6c0, + 0x1e6e0, 0x1e6e0, + 0x1e700, 0x1e784, + 0x1e7c0, 0x1e7c8, + 0x1e808, 0x1e80c, + 0x1e840, 0x1e844, + 0x1e84c, 0x1e84c, + 0x1ea84, 0x1ea90, + 0x1eac0, 0x1eac0, + 0x1eae0, 0x1eae0, + 0x1eb00, 0x1eb84, + 0x1ebc0, 0x1ebc8, + 0x1ec08, 0x1ec0c, + 0x1ec40, 0x1ec44, + 0x1ec4c, 0x1ec4c, + 0x1ee84, 0x1ee90, + 0x1eec0, 0x1eec0, + 0x1eee0, 0x1eee0, + 0x1ef00, 0x1ef84, + 0x1efc0, 0x1efc8, + 0x1f008, 0x1f00c, + 0x1f040, 0x1f044, + 0x1f04c, 0x1f04c, + 0x1f284, 0x1f290, + 0x1f2c0, 0x1f2c0, + 0x1f2e0, 0x1f2e0, + 0x1f300, 0x1f384, + 0x1f3c0, 0x1f3c8, + 0x1f408, 0x1f40c, + 0x1f440, 0x1f444, + 0x1f44c, 0x1f44c, + 0x1f684, 0x1f690, + 0x1f6c0, 0x1f6c0, + 0x1f6e0, 0x1f6e0, + 0x1f700, 0x1f784, + 0x1f7c0, 0x1f7c8, + 0x1f808, 0x1f80c, + 0x1f840, 0x1f844, + 0x1f84c, 0x1f84c, + 0x1fa84, 0x1fa90, + 0x1fac0, 0x1fac0, + 0x1fae0, 0x1fae0, + 0x1fb00, 0x1fb84, + 0x1fbc0, 0x1fbc8, + 0x1fc08, 0x1fc0c, + 0x1fc40, 0x1fc44, + 0x1fc4c, 0x1fc4c, + 0x1fe84, 0x1fe90, + 0x1fec0, 0x1fec0, + 0x1fee0, 0x1fee0, + 0x1ff00, 0x1ff84, + 0x1ffc0, 0x1ffc8, + 0x30000, 0x30030, + 0x30038, 0x30038, + 0x30040, 0x30040, + 0x30100, 0x30144, + 0x30190, 0x301a0, + 0x301a8, 0x301b8, + 0x301c4, 0x301c8, + 0x301d0, 0x301d0, + 0x30200, 0x30318, + 0x30400, 0x304b4, + 0x304c0, 0x3052c, + 0x30540, 0x3061c, + 0x30800, 0x30828, + 0x30834, 0x30834, + 0x308c0, 0x30908, + 0x30910, 0x309ac, + 0x30a00, 0x30a14, + 0x30a1c, 0x30a2c, + 0x30a44, 0x30a50, + 0x30a74, 0x30a74, + 0x30a7c, 0x30afc, + 0x30b08, 0x30c24, + 0x30d00, 0x30d00, + 0x30d08, 0x30d14, + 0x30d1c, 0x30d20, + 0x30d3c, 0x30d3c, + 0x30d48, 0x30d50, + 0x31200, 0x3120c, + 0x31220, 0x31220, + 0x31240, 0x31240, + 0x31600, 0x3160c, + 0x31a00, 0x31a1c, + 0x31e00, 0x31e20, + 0x31e38, 0x31e3c, + 0x31e80, 0x31e80, + 0x31e88, 0x31ea8, + 0x31eb0, 0x31eb4, + 0x31ec8, 0x31ed4, + 0x31fb8, 0x32004, + 0x32200, 0x32200, + 0x32208, 0x32240, + 0x32248, 0x32280, + 0x32288, 0x322c0, + 0x322c8, 0x322fc, + 0x32600, 0x32630, + 0x32a00, 0x32abc, + 0x32b00, 0x32b10, + 0x32b20, 0x32b30, + 0x32b40, 0x32b50, + 0x32b60, 0x32b70, + 0x33000, 0x33028, + 0x33030, 0x33048, + 0x33060, 0x33068, + 0x33070, 0x3309c, + 0x330f0, 0x33128, + 0x33130, 0x33148, + 0x33160, 0x33168, + 0x33170, 0x3319c, + 0x331f0, 0x33238, + 0x33240, 0x33240, + 0x33248, 0x33250, + 0x3325c, 0x33264, + 0x33270, 0x332b8, + 0x332c0, 0x332e4, + 0x332f8, 0x33338, + 0x33340, 0x33340, + 0x33348, 0x33350, + 0x3335c, 0x33364, + 0x33370, 0x333b8, + 0x333c0, 0x333e4, + 0x333f8, 0x33428, + 0x33430, 0x33448, + 0x33460, 0x33468, + 0x33470, 0x3349c, + 0x334f0, 0x33528, + 0x33530, 0x33548, + 0x33560, 0x33568, + 0x33570, 0x3359c, + 0x335f0, 0x33638, + 0x33640, 0x33640, + 0x33648, 0x33650, + 0x3365c, 0x33664, + 0x33670, 0x336b8, + 0x336c0, 0x336e4, + 0x336f8, 0x33738, + 0x33740, 0x33740, + 0x33748, 0x33750, + 0x3375c, 0x33764, + 0x33770, 0x337b8, + 0x337c0, 0x337e4, + 0x337f8, 0x337fc, + 0x33814, 0x33814, + 0x3382c, 0x3382c, + 0x33880, 0x3388c, + 0x338e8, 0x338ec, + 0x33900, 0x33928, + 0x33930, 0x33948, + 0x33960, 0x33968, + 0x33970, 0x3399c, + 0x339f0, 0x33a38, + 0x33a40, 0x33a40, + 0x33a48, 0x33a50, + 0x33a5c, 0x33a64, + 0x33a70, 0x33ab8, + 0x33ac0, 0x33ae4, + 0x33af8, 0x33b10, + 0x33b28, 0x33b28, + 0x33b3c, 0x33b50, + 0x33bf0, 0x33c10, + 0x33c28, 0x33c28, + 0x33c3c, 0x33c50, + 0x33cf0, 0x33cfc, + 0x34000, 0x34030, + 0x34038, 0x34038, + 0x34040, 0x34040, + 0x34100, 0x34144, + 0x34190, 0x341a0, + 0x341a8, 0x341b8, + 0x341c4, 0x341c8, + 0x341d0, 0x341d0, + 0x34200, 0x34318, + 0x34400, 0x344b4, + 0x344c0, 0x3452c, + 0x34540, 0x3461c, + 0x34800, 0x34828, + 0x34834, 0x34834, + 0x348c0, 0x34908, + 0x34910, 0x349ac, + 0x34a00, 0x34a14, + 0x34a1c, 0x34a2c, + 0x34a44, 0x34a50, + 0x34a74, 0x34a74, + 0x34a7c, 0x34afc, + 0x34b08, 0x34c24, + 0x34d00, 0x34d00, + 0x34d08, 0x34d14, + 0x34d1c, 0x34d20, + 0x34d3c, 0x34d3c, + 0x34d48, 0x34d50, + 0x35200, 0x3520c, + 0x35220, 0x35220, + 0x35240, 0x35240, + 0x35600, 0x3560c, + 0x35a00, 0x35a1c, + 0x35e00, 0x35e20, + 0x35e38, 0x35e3c, + 0x35e80, 0x35e80, + 0x35e88, 0x35ea8, + 0x35eb0, 0x35eb4, + 0x35ec8, 0x35ed4, + 0x35fb8, 0x36004, + 0x36200, 0x36200, + 0x36208, 0x36240, + 0x36248, 0x36280, + 0x36288, 0x362c0, + 0x362c8, 0x362fc, + 0x36600, 0x36630, + 0x36a00, 0x36abc, + 0x36b00, 0x36b10, + 0x36b20, 0x36b30, + 0x36b40, 0x36b50, + 0x36b60, 0x36b70, + 0x37000, 0x37028, + 0x37030, 0x37048, + 0x37060, 0x37068, + 0x37070, 0x3709c, + 0x370f0, 0x37128, + 0x37130, 0x37148, + 0x37160, 0x37168, + 0x37170, 0x3719c, + 0x371f0, 0x37238, + 0x37240, 0x37240, + 0x37248, 0x37250, + 0x3725c, 0x37264, + 0x37270, 0x372b8, + 0x372c0, 0x372e4, + 0x372f8, 0x37338, + 0x37340, 0x37340, + 0x37348, 0x37350, + 0x3735c, 0x37364, + 0x37370, 0x373b8, + 0x373c0, 0x373e4, + 0x373f8, 0x37428, + 0x37430, 0x37448, + 0x37460, 0x37468, + 0x37470, 0x3749c, + 0x374f0, 0x37528, + 0x37530, 0x37548, + 0x37560, 0x37568, + 0x37570, 0x3759c, + 0x375f0, 0x37638, + 0x37640, 0x37640, + 0x37648, 0x37650, + 0x3765c, 0x37664, + 0x37670, 0x376b8, + 0x376c0, 0x376e4, + 0x376f8, 0x37738, + 0x37740, 0x37740, + 0x37748, 0x37750, + 0x3775c, 0x37764, + 0x37770, 0x377b8, + 0x377c0, 0x377e4, + 0x377f8, 0x377fc, + 0x37814, 0x37814, + 0x3782c, 0x3782c, + 0x37880, 0x3788c, + 0x378e8, 0x378ec, + 0x37900, 0x37928, + 0x37930, 0x37948, + 0x37960, 0x37968, + 0x37970, 0x3799c, + 0x379f0, 0x37a38, + 0x37a40, 0x37a40, + 0x37a48, 0x37a50, + 0x37a5c, 0x37a64, + 0x37a70, 0x37ab8, + 0x37ac0, 0x37ae4, + 0x37af8, 0x37b10, + 0x37b28, 0x37b28, + 0x37b3c, 0x37b50, + 0x37bf0, 0x37c10, + 0x37c28, 0x37c28, + 0x37c3c, 0x37c50, + 0x37cf0, 0x37cfc, + 0x38000, 0x38030, + 0x38038, 0x38038, + 0x38040, 0x38040, + 0x38100, 0x38144, + 0x38190, 0x381a0, + 0x381a8, 0x381b8, + 0x381c4, 0x381c8, + 0x381d0, 0x381d0, + 0x38200, 0x38318, + 0x38400, 0x384b4, + 0x384c0, 0x3852c, + 0x38540, 0x3861c, + 0x38800, 0x38828, + 0x38834, 0x38834, + 0x388c0, 0x38908, + 0x38910, 0x389ac, + 0x38a00, 0x38a14, + 0x38a1c, 0x38a2c, + 0x38a44, 0x38a50, + 0x38a74, 0x38a74, + 0x38a7c, 0x38afc, + 0x38b08, 0x38c24, + 0x38d00, 0x38d00, + 0x38d08, 0x38d14, + 0x38d1c, 0x38d20, + 0x38d3c, 0x38d3c, + 0x38d48, 0x38d50, + 0x39200, 0x3920c, + 0x39220, 0x39220, + 0x39240, 0x39240, + 0x39600, 0x3960c, + 0x39a00, 0x39a1c, + 0x39e00, 0x39e20, + 0x39e38, 0x39e3c, + 0x39e80, 0x39e80, + 0x39e88, 0x39ea8, + 0x39eb0, 0x39eb4, + 0x39ec8, 0x39ed4, + 0x39fb8, 0x3a004, + 0x3a200, 0x3a200, + 0x3a208, 0x3a240, + 0x3a248, 0x3a280, + 0x3a288, 0x3a2c0, + 0x3a2c8, 0x3a2fc, + 0x3a600, 0x3a630, + 0x3aa00, 0x3aabc, + 0x3ab00, 0x3ab10, + 0x3ab20, 0x3ab30, + 0x3ab40, 0x3ab50, + 0x3ab60, 0x3ab70, + 0x3b000, 0x3b028, + 0x3b030, 0x3b048, + 0x3b060, 0x3b068, + 0x3b070, 0x3b09c, + 0x3b0f0, 0x3b128, + 0x3b130, 0x3b148, + 0x3b160, 0x3b168, + 0x3b170, 0x3b19c, + 0x3b1f0, 0x3b238, + 0x3b240, 0x3b240, + 0x3b248, 0x3b250, + 0x3b25c, 0x3b264, + 0x3b270, 0x3b2b8, + 0x3b2c0, 0x3b2e4, + 0x3b2f8, 0x3b338, + 0x3b340, 0x3b340, + 0x3b348, 0x3b350, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Mar 7 21:39:31 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59F58AC38BD; Mon, 7 Mar 2016 21:39:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12F88881; Mon, 7 Mar 2016 21:39:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LdUr8083264; Mon, 7 Mar 2016 21:39:30 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LdTfd083262; Mon, 7 Mar 2016 21:39:29 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072139.u27LdTfd083262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:39:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296472 - in head: share/man/man4 sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:39:31 -0000 Author: bdrewery Date: Mon Mar 7 21:39:29 2016 New Revision: 296472 URL: https://svnweb.freebsd.org/changeset/base/296472 Log: Require kldunload -f to unload. Code may still be executing from the wrappers at unload time and thus is not generally safe to unload. Converting the wrappers to use EVENTHANDLER(9) will allow this to safely drain on active threads in hooks. More work on EVENTHANDLER(9) is needed first. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/man/man4/filemon.4 head/sys/dev/filemon/filemon.c Modified: head/share/man/man4/filemon.4 ============================================================================== --- head/share/man/man4/filemon.4 Mon Mar 7 21:11:35 2016 (r296471) +++ head/share/man/man4/filemon.4 Mon Mar 7 21:39:29 2016 (r296472) @@ -194,3 +194,6 @@ Only children of the set process are log Processes can escape being traced by double forking. This is not seen as a problem as the intended use is build monitoring, which does not make sense to have daemons for. +.Pp +Unloading the module may panic the system, thus requires using +.Ic kldunload -f . Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Mon Mar 7 21:11:35 2016 (r296471) +++ head/sys/dev/filemon/filemon.c Mon Mar 7 21:39:29 2016 (r296472) @@ -68,8 +68,6 @@ extern struct sysentvec elf64_freebsd_sy static d_close_t filemon_close; static d_ioctl_t filemon_ioctl; static d_open_t filemon_open; -static int filemon_unload(void); -static void filemon_load(void *); static struct cdevsw filemon_cdevsw = { .d_version = D_VERSION, @@ -301,6 +299,13 @@ filemon_modevent(module_t mod __unused, error = filemon_unload(); break; + case MOD_QUIESCE: + /* + * The wrapper implementation is unsafe for reliable unload. + * Require forcing an unload. + */ + error = EBUSY; + case MOD_SHUTDOWN: break; From owner-svn-src-head@freebsd.org Mon Mar 7 21:45:26 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 20CA2AC3DDC; Mon, 7 Mar 2016 21:45:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E65B2DD6; Mon, 7 Mar 2016 21:45:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LjOXk086107; Mon, 7 Mar 2016 21:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LjOCf086106; Mon, 7 Mar 2016 21:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072145.u27LjOCf086106@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296473 - head/sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:45:26 -0000 Author: bdrewery Date: Mon Mar 7 21:45:24 2016 New Revision: 296473 URL: https://svnweb.freebsd.org/changeset/base/296473 Log: Add missing break for r296472. This was lost in git rebasing, though it has no functional change. X-MFC-With: r296472 MFC after: 1 week Modified: head/sys/dev/filemon/filemon.c Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Mon Mar 7 21:39:29 2016 (r296472) +++ head/sys/dev/filemon/filemon.c Mon Mar 7 21:45:24 2016 (r296473) @@ -305,6 +305,7 @@ filemon_modevent(module_t mod __unused, * Require forcing an unload. */ error = EBUSY; + break; case MOD_SHUTDOWN: break; From owner-svn-src-head@freebsd.org Tue Mar 8 00:09:35 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE57EAC2CAE; Tue, 8 Mar 2016 00:09:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A04363F1; Tue, 8 Mar 2016 00:09:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2809YOb029823; Tue, 8 Mar 2016 00:09:34 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2809YBr029821; Tue, 8 Mar 2016 00:09:34 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603080009.u2809YBr029821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 8 Mar 2016 00:09:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296474 - in head/lib/libc: amd64/sys i386/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:09:35 -0000 Author: emaste Date: Tue Mar 8 00:09:34 2016 New Revision: 296474 URL: https://svnweb.freebsd.org/changeset/base/296474 Log: libc/{i386,amd64}: Do not export .cerror when building WITHOUT_SYMVER Further to r240152 (i386) and r240178 (amd64), hide the .cerror symbol so that it is not exported if symbol versioning is not in use. Without this change WITHOUT_SYMVER libc contains .text relocations for .cerror, as described in LLVM PR 26813 (http://llvm.org/pr26813). This is a no-op for the regular build as the symbol version script already controls .cerror visibility. PR: 207712 Submitted by: Rafael Espíndola Reviewed by: jilles, kib Differential Revision: https://reviews.freebsd.org/D5571 Modified: head/lib/libc/amd64/sys/cerror.S head/lib/libc/i386/sys/cerror.S Modified: head/lib/libc/amd64/sys/cerror.S ============================================================================== --- head/lib/libc/amd64/sys/cerror.S Mon Mar 7 21:45:24 2016 (r296473) +++ head/lib/libc/amd64/sys/cerror.S Tue Mar 8 00:09:34 2016 (r296474) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "SYS.h" .globl HIDENAME(cerror) + .hidden HIDENAME(cerror) /* * The __error() function is thread aware. For non-threaded Modified: head/lib/libc/i386/sys/cerror.S ============================================================================== --- head/lib/libc/i386/sys/cerror.S Mon Mar 7 21:45:24 2016 (r296473) +++ head/lib/libc/i386/sys/cerror.S Tue Mar 8 00:09:34 2016 (r296474) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "SYS.h" .globl HIDENAME(cerror) + .hidden HIDENAME(cerror) /* * The __error() function is thread aware. For non-threaded From owner-svn-src-head@freebsd.org Tue Mar 8 00:14:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC2B8AC2F4A; Tue, 8 Mar 2016 00:14:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7B1AA7C; Tue, 8 Mar 2016 00:14:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280EEvd032659; Tue, 8 Mar 2016 00:14:14 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280EExB032658; Tue, 8 Mar 2016 00:14:14 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080014.u280EExB032658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:14:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296475 - head/sys/cddl/contrib/opensolaris/uts/common/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:14:16 -0000 Author: markj Date: Tue Mar 8 00:14:14 2016 New Revision: 296475 URL: https://svnweb.freebsd.org/changeset/base/296475 Log: MFV r296306: 6604 harden DIF bounds checking Reviewed by: Alex Wilson Reviewed by: Patrick Mooney Reviewed by: Dan McDonald Approved by: Robert Mustacchi Author: Bryan Cantrill illumos/illumos-gate@1c0cef67dba05c477dba779bc99224693e809a14 MFC after: 2 weeks Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Tue Mar 8 00:09:34 2016 (r296474) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Tue Mar 8 00:14:14 2016 (r296475) @@ -23,7 +23,7 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2015, Joyent, Inc. All rights reserved. + * Copyright (c) 2016, Joyent, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. */ @@ -678,10 +678,12 @@ dtrace_error(uint32_t *counter) * Use the DTRACE_LOADFUNC macro to define functions for each of loading a * uint8_t, a uint16_t, a uint32_t and a uint64_t. */ +/* BEGIN CSTYLED */ DTRACE_LOADFUNC(8) DTRACE_LOADFUNC(16) DTRACE_LOADFUNC(32) DTRACE_LOADFUNC(64) +/* END CSTYLED */ static int dtrace_inscratch(uintptr_t dest, size_t size, dtrace_mstate_t *mstate) @@ -765,6 +767,7 @@ dtrace_canstore(uint64_t addr, size_t sz uintptr_t base = (uintptr_t)dstate->dtds_base + (dstate->dtds_hashsize * sizeof (dtrace_dynhash_t)); uintptr_t chunkoffs; + dtrace_dynvar_t *dvar; /* * Before we assume that we can store here, we need to make @@ -781,6 +784,8 @@ dtrace_canstore(uint64_t addr, size_t sz * * (3) Not span a chunk boundary * + * (4) Not be in the tuple space of a dynamic variable + * */ if (addr < base) return (0); @@ -793,6 +798,15 @@ dtrace_canstore(uint64_t addr, size_t sz if (chunkoffs + sz > dstate->dtds_chunksize) return (0); + dvar = (dtrace_dynvar_t *)((uintptr_t)addr - chunkoffs); + + if (dvar->dtdv_hashval == DTRACE_DYNHASH_FREE) + return (0); + + if (chunkoffs < sizeof (dtrace_dynvar_t) + + ((dvar->dtdv_tuple.dtt_nkeys - 1) * sizeof (dtrace_key_t))) + return (0); + return (1); } @@ -5632,6 +5646,12 @@ next: ipaddr_t ip4; uint8_t *ptr8, val; + if (!dtrace_canload(tupregs[argi].dttk_value, + sizeof (ipaddr_t), mstate, vstate)) { + regs[rd] = 0; + break; + } + /* * Safely load the IPv4 address. */ @@ -5685,6 +5705,12 @@ next: * just the IPv4 string is returned for inet_ntoa6. */ + if (!dtrace_canload(tupregs[argi].dttk_value, + sizeof (struct in6_addr), mstate, vstate)) { + regs[rd] = 0; + break; + } + /* * Safely load the IPv6 address. */ @@ -6248,6 +6274,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; + VERIFY(id < vstate->dtvs_nglobals); svar = vstate->dtvs_globals[id]; ASSERT(svar != NULL); v = &svar->dtsv_var; @@ -6339,7 +6366,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; - ASSERT(id < vstate->dtvs_nlocals); + VERIFY(id < vstate->dtvs_nlocals); ASSERT(vstate->dtvs_locals != NULL); svar = vstate->dtvs_locals[id]; @@ -6417,6 +6444,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, id = DIF_INSTR_VAR(instr); ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; + VERIFY(id < vstate->dtvs_ntlocals); key = &tupregs[DIF_DTR_NREGS]; key[0].dttk_value = (uint64_t)id; @@ -6530,8 +6558,10 @@ dtrace_dif_emulate(dtrace_difo_t *difo, if (DIF_INSTR_OP(instr) == DIF_OP_LDTAA) { DTRACE_TLS_THRKEY(key[nkeys].dttk_value); key[nkeys++].dttk_size = 0; + VERIFY(id < vstate->dtvs_ntlocals); v = &vstate->dtvs_tlocals[id]; } else { + VERIFY(id < vstate->dtvs_nglobals); v = &vstate->dtvs_globals[id]->dtsv_var; } @@ -6570,8 +6600,10 @@ dtrace_dif_emulate(dtrace_difo_t *difo, if (DIF_INSTR_OP(instr) == DIF_OP_STTAA) { DTRACE_TLS_THRKEY(key[nkeys].dttk_value); key[nkeys++].dttk_size = 0; + VERIFY(id < vstate->dtvs_ntlocals); v = &vstate->dtvs_tlocals[id]; } else { + VERIFY(id < vstate->dtvs_nglobals); v = &vstate->dtvs_globals[id]->dtsv_var; } @@ -9584,6 +9616,7 @@ dtrace_difo_validate(dtrace_difo_t *dp, int (*efunc)(uint_t pc, const char *, ...) = dtrace_difo_err; int kcheckload; uint_t pc; + int maxglobal = -1, maxlocal = -1, maxtlocal = -1; kcheckload = cr == NULL || (vstate->dtvs_state->dts_cred.dcr_visible & DTRACE_CRV_KERNEL) == 0; @@ -9913,6 +9946,9 @@ dtrace_difo_validate(dtrace_difo_t *dp, switch (v->dtdv_scope) { case DIFV_SCOPE_GLOBAL: + if (maxglobal == -1 || ndx > maxglobal) + maxglobal = ndx; + if (ndx < vstate->dtvs_nglobals) { dtrace_statvar_t *svar; @@ -9923,11 +9959,17 @@ dtrace_difo_validate(dtrace_difo_t *dp, break; case DIFV_SCOPE_THREAD: + if (maxtlocal == -1 || ndx > maxtlocal) + maxtlocal = ndx; + if (ndx < vstate->dtvs_ntlocals) existing = &vstate->dtvs_tlocals[ndx]; break; case DIFV_SCOPE_LOCAL: + if (maxlocal == -1 || ndx > maxlocal) + maxlocal = ndx; + if (ndx < vstate->dtvs_nlocals) { dtrace_statvar_t *svar; @@ -9976,6 +10018,37 @@ dtrace_difo_validate(dtrace_difo_t *dp, } } + for (pc = 0; pc < dp->dtdo_len && err == 0; pc++) { + dif_instr_t instr = dp->dtdo_buf[pc]; + + uint_t v = DIF_INSTR_VAR(instr); + uint_t op = DIF_INSTR_OP(instr); + + switch (op) { + case DIF_OP_LDGS: + case DIF_OP_LDGAA: + case DIF_OP_STGS: + case DIF_OP_STGAA: + if (v > DIF_VAR_OTHER_UBASE + maxglobal) + err += efunc(pc, "invalid variable %u\n", v); + break; + case DIF_OP_LDTS: + case DIF_OP_LDTAA: + case DIF_OP_STTS: + case DIF_OP_STTAA: + if (v > DIF_VAR_OTHER_UBASE + maxtlocal) + err += efunc(pc, "invalid variable %u\n", v); + break; + case DIF_OP_LDLS: + case DIF_OP_STLS: + if (v > DIF_VAR_OTHER_UBASE + maxlocal) + err += efunc(pc, "invalid variable %u\n", v); + break; + default: + break; + } + } + return (err); } From owner-svn-src-head@freebsd.org Tue Mar 8 00:16:35 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2899AC303E; Tue, 8 Mar 2016 00:16:35 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 84490C31; Tue, 8 Mar 2016 00:16:35 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280GYZq032780; Tue, 8 Mar 2016 00:16:34 GMT (envelope-from rrs@FreeBSD.org) Received: (from rrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280GYUr032779; Tue, 8 Mar 2016 00:16:34 GMT (envelope-from rrs@FreeBSD.org) Message-Id: <201603080016.u280GYUr032779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rrs set sender to rrs@FreeBSD.org using -f From: Randall Stewart Date: Tue, 8 Mar 2016 00:16:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296476 - head/sys/netinet/tcp_stacks X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:16:35 -0000 Author: rrs Date: Tue Mar 8 00:16:34 2016 New Revision: 296476 URL: https://svnweb.freebsd.org/changeset/base/296476 Log: Fix a sneaky bug where we were missing an extern to get the rxt threshold.. and thus created our own defaulted to 0 :-( Sponsored by: Netflix Inc Modified: head/sys/netinet/tcp_stacks/fastpath.c Modified: head/sys/netinet/tcp_stacks/fastpath.c ============================================================================== --- head/sys/netinet/tcp_stacks/fastpath.c Tue Mar 8 00:14:14 2016 (r296475) +++ head/sys/netinet/tcp_stacks/fastpath.c Tue Mar 8 00:16:34 2016 (r296476) @@ -124,7 +124,7 @@ __FBSDID("$FreeBSD$"); #include -const int tcprexmtthresh; +extern const int tcprexmtthresh; VNET_DECLARE(int, tcp_autorcvbuf_inc); #define V_tcp_autorcvbuf_inc VNET(tcp_autorcvbuf_inc) From owner-svn-src-head@freebsd.org Tue Mar 8 00:18:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1646FAC3157; Tue, 8 Mar 2016 00:18:48 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C24DBDE4; Tue, 8 Mar 2016 00:18:47 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280IkXj032885; Tue, 8 Mar 2016 00:18:46 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280IkkL032884; Tue, 8 Mar 2016 00:18:46 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080018.u280IkkL032884@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:18:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296477 - head/sys/cddl/contrib/opensolaris/uts/sparc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:18:48 -0000 Author: markj Date: Tue Mar 8 00:18:46 2016 New Revision: 296477 URL: https://svnweb.freebsd.org/changeset/base/296477 Log: Remove the fasttrap implementation for sparc. Other machine-dependent code required for DTrace on sparc is not present in the tree, so there's no point to keeping the fasttrap code. Deleted: head/sys/cddl/contrib/opensolaris/uts/sparc/ From owner-svn-src-head@freebsd.org Tue Mar 8 00:23:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 60BBFAC339C; Tue, 8 Mar 2016 00:23:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CA2B1306; Tue, 8 Mar 2016 00:23:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280Nvti035832; Tue, 8 Mar 2016 00:23:57 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280NuSj035823; Tue, 8 Mar 2016 00:23:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080023.u280NuSj035823@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 00:23:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296478 - in head/sys/dev/cxgbe: . common iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:23:58 -0000 Author: np Date: Tue Mar 8 00:23:56 2016 New Revision: 296478 URL: https://svnweb.freebsd.org/changeset/base/296478 Log: cxgbe(4): Add a struct sge_params to store per-adapter SGE parameters. Move the code that reads all the parameters to t4_init_sge_params in the shared code. Use these per-adapter values instead of globals. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/iw_cxgbe/device.c head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h head/sys/dev/cxgbe/iw_cxgbe/qp.c head/sys/dev/cxgbe/t4_main.c head/sys/dev/cxgbe/t4_netmap.c head/sys/dev/cxgbe/t4_sge.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:23:56 2016 (r296478) @@ -671,13 +671,6 @@ struct sge_nm_txq { #endif struct sge { - int timer_val[SGE_NTIMERS]; - int counter_val[SGE_NCOUNTERS]; - int fl_starve_threshold; - int fl_starve_threshold2; - int eq_s_qpp; - int iq_s_qpp; - int nrxq; /* total # of Ethernet rx queues */ int ntxq; /* total # of Ethernet tx tx queues */ #ifdef TCP_OFFLOAD @@ -710,8 +703,6 @@ struct sge { struct sge_iq **iqmap; /* iq->cntxt_id to iq mapping */ struct sge_eq **eqmap; /* eq->cntxt_id to eq mapping */ - int pad_boundary; - int pack_boundary; int8_t safe_hwidx1; /* may not have room for metadata */ int8_t safe_hwidx2; /* with room for metadata and maybe more */ struct sw_zone_info sw_zone_info[SW_ZONE_SIZES]; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:23:56 2016 (r296478) @@ -219,6 +219,20 @@ struct tp_rdma_stats { u32 rqe_dfr_mod; }; +struct sge_params { + int timer_val[SGE_NTIMERS]; + int counter_val[SGE_NCOUNTERS]; + int fl_starve_threshold; + int fl_starve_threshold2; + int page_shift; + int eq_s_qpp; + int iq_s_qpp; + int spg_len; + int pad_boundary; + int pack_boundary; + int fl_pktshift; +}; + struct tp_params { unsigned int ntxchan; /* # of Tx channels */ unsigned int tre; /* log2 of core clocks per TP tick */ @@ -272,6 +286,7 @@ struct chip_params { }; struct adapter_params { + struct sge_params sge; struct tp_params tp; struct vpd_params vpd; struct pci_params pci; @@ -406,6 +421,14 @@ static inline unsigned int us_to_core_ti return (us * adap->params.vpd.cclk) / 1000; } +static inline unsigned int core_ticks_to_us(const struct adapter *adapter, + unsigned int ticks) +{ + /* add Core Clock / 2 to round ticks to nearest uS */ + return ((ticks * 1000 + adapter->params.vpd.cclk/2) / + adapter->params.vpd.cclk); +} + static inline unsigned int dack_ticks_to_usec(const struct adapter *adap, unsigned int ticks) { @@ -465,6 +488,7 @@ int t4_get_tp_version(struct adapter *ad int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter); +int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:23:56 2016 (r296478) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2012 Chelsio Communications, Inc. + * Copyright (c) 2012, 2016 Chelsio Communications, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -7633,6 +7633,74 @@ int __devinit t4_prep_adapter(struct ada } /** + * t4_init_sge_params - initialize adap->params.sge + * @adapter: the adapter + * + * Initialize various fields of the adapter's SGE Parameters structure. + */ +int t4_init_sge_params(struct adapter *adapter) +{ + u32 r; + struct sge_params *sp = &adapter->params.sge; + + r = t4_read_reg(adapter, A_SGE_INGRESS_RX_THRESHOLD); + sp->counter_val[0] = G_THRESHOLD_0(r); + sp->counter_val[1] = G_THRESHOLD_1(r); + sp->counter_val[2] = G_THRESHOLD_2(r); + sp->counter_val[3] = G_THRESHOLD_3(r); + + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_0_AND_1); + sp->timer_val[0] = core_ticks_to_us(adapter, G_TIMERVALUE0(r)); + sp->timer_val[1] = core_ticks_to_us(adapter, G_TIMERVALUE1(r)); + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_2_AND_3); + sp->timer_val[2] = core_ticks_to_us(adapter, G_TIMERVALUE2(r)); + sp->timer_val[3] = core_ticks_to_us(adapter, G_TIMERVALUE3(r)); + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_4_AND_5); + sp->timer_val[4] = core_ticks_to_us(adapter, G_TIMERVALUE4(r)); + sp->timer_val[5] = core_ticks_to_us(adapter, G_TIMERVALUE5(r)); + + r = t4_read_reg(adapter, A_SGE_CONM_CTRL); + sp->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1; + if (is_t4(adapter)) + sp->fl_starve_threshold2 = sp->fl_starve_threshold; + else + sp->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(r) * 2 + 1; + + /* egress queues: log2 of # of doorbells per BAR2 page */ + r = t4_read_reg(adapter, A_SGE_EGRESS_QUEUES_PER_PAGE_PF); + r >>= S_QUEUESPERPAGEPF0 + + (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * adapter->pf; + sp->eq_s_qpp = r & M_QUEUESPERPAGEPF0; + + /* ingress queues: log2 of # of doorbells per BAR2 page */ + r = t4_read_reg(adapter, A_SGE_INGRESS_QUEUES_PER_PAGE_PF); + r >>= S_QUEUESPERPAGEPF0 + + (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * adapter->pf; + sp->iq_s_qpp = r & M_QUEUESPERPAGEPF0; + + r = t4_read_reg(adapter, A_SGE_HOST_PAGE_SIZE); + r >>= S_HOSTPAGESIZEPF0 + + (S_HOSTPAGESIZEPF1 - S_HOSTPAGESIZEPF0) * adapter->pf; + sp->page_shift = (r & M_HOSTPAGESIZEPF0) + 10; + + r = t4_read_reg(adapter, A_SGE_CONTROL); + sp->spg_len = r & F_EGRSTATUSPAGESIZE ? 128 : 64; + sp->fl_pktshift = G_PKTSHIFT(r); + sp->pad_boundary = 1 << (G_INGPADBOUNDARY(r) + 5); + if (is_t4(adapter)) + sp->pack_boundary = sp->pad_boundary; + else { + r = t4_read_reg(adapter, A_SGE_CONTROL2); + if (G_INGPACKBOUNDARY(r) == 0) + sp->pack_boundary = 16; + else + sp->pack_boundary = 1 << (G_INGPACKBOUNDARY(r) + 5); + } + + return 0; +} + +/** * t4_init_tp_params - initialize adap->params.tp * @adap: the adapter * Modified: head/sys/dev/cxgbe/iw_cxgbe/device.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/device.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/device.c Tue Mar 8 00:23:56 2016 (r296478) @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); #ifdef TCP_OFFLOAD #include "iw_cxgbe.h" -int spg_creds = 2; /* Default status page size is 2 credits = 128B */ - void c4iw_release_dev_ucontext(struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx) @@ -89,27 +87,24 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev) { struct adapter *sc = rdev->adap; + struct sge_params *sp = &sc->params.sge; int rc; c4iw_init_dev_ucontext(rdev, &rdev->uctx); - /* Save the status page size set by if_cxgbe */ - spg_creds = (t4_read_reg(sc, A_SGE_CONTROL) & F_EGRSTATUSPAGESIZE) ? - 2 : 1; - /* XXX: we can probably make this work */ - if (sc->sge.eq_s_qpp > PAGE_SHIFT || sc->sge.iq_s_qpp > PAGE_SHIFT) { + if (sp->eq_s_qpp > PAGE_SHIFT || sp->iq_s_qpp > PAGE_SHIFT) { device_printf(sc->dev, "doorbell density too high (eq %d, iq %d, pg %d).\n", - sc->sge.eq_s_qpp, sc->sge.eq_s_qpp, PAGE_SHIFT); + sp->eq_s_qpp, sp->eq_s_qpp, PAGE_SHIFT); rc = -EINVAL; goto err1; } - rdev->qpshift = PAGE_SHIFT - sc->sge.eq_s_qpp; - rdev->qpmask = (1 << sc->sge.eq_s_qpp) - 1; - rdev->cqshift = PAGE_SHIFT - sc->sge.iq_s_qpp; - rdev->cqmask = (1 << sc->sge.iq_s_qpp) - 1; + rdev->qpshift = PAGE_SHIFT - sp->eq_s_qpp; + rdev->qpmask = (1 << sp->eq_s_qpp) - 1; + rdev->cqshift = PAGE_SHIFT - sp->iq_s_qpp; + rdev->cqmask = (1 << sp->iq_s_qpp) - 1; if (c4iw_num_stags(rdev) == 0) { rc = -EINVAL; Modified: head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h Tue Mar 8 00:23:56 2016 (r296478) @@ -1040,5 +1040,4 @@ void your_reg_device(struct c4iw_dev *de #define SGE_CTRLQ_NUM 0 -extern int spg_creds;/* Status Page size in credit units(1 unit = 64) */ #endif Modified: head/sys/dev/cxgbe/iw_cxgbe/qp.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/qp.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/qp.c Tue Mar 8 00:23:56 2016 (r296478) @@ -215,7 +215,8 @@ static int create_qp(struct c4iw_rdev *r res->u.sqrq.op = FW_RI_RES_OP_WRITE; /* eqsize is the number of 64B entries plus the status page size. */ - eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + spg_creds; + eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + + (sc->params.sge.spg_len / EQ_ESIZE); res->u.sqrq.fetchszm_to_iqid = cpu_to_be32( V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */ @@ -237,7 +238,8 @@ static int create_qp(struct c4iw_rdev *r res->u.sqrq.op = FW_RI_RES_OP_WRITE; /* eqsize is the number of 64B entries plus the status page size. */ - eqsize = wq->rq.size * T4_RQ_NUM_SLOTS + spg_creds ; + eqsize = wq->rq.size * T4_RQ_NUM_SLOTS + + (sc->params.sge.spg_len / EQ_ESIZE); res->u.sqrq.fetchszm_to_iqid = cpu_to_be32( V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */ V_FW_RI_RES_WR_CPRIO(0) | /* don't keep in chip cache */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:23:56 2016 (r296478) @@ -4495,13 +4495,13 @@ t4_sysctls(struct adapter *sc) sc->params.vpd.cclk, "core clock frequency (in KHz)"); SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", - CTLTYPE_STRING | CTLFLAG_RD, sc->sge.timer_val, - sizeof(sc->sge.timer_val), sysctl_int_array, "A", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, + sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", "interrupt holdoff timer values (us)"); SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", - CTLTYPE_STRING | CTLFLAG_RD, sc->sge.counter_val, - sizeof(sc->sge.counter_val), sysctl_int_array, "A", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, + sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", "interrupt holdoff packet counter values"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Mar 8 00:23:56 2016 (r296478) @@ -56,8 +56,6 @@ __FBSDID("$FreeBSD$"); #include "common/t4_regs_values.h" extern int fl_pad; /* XXXNM */ -extern int spg_len; /* XXXNM */ -extern int fl_pktshift; /* XXXNM */ SYSCTL_NODE(_hw, OID_AUTO, cxgbe, CTLFLAG_RD, 0, "cxgbe netmap parameters"); @@ -285,6 +283,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str int rc, cntxt_id, i; __be32 v; struct adapter *sc = vi->pi->adapter; + struct sge_params *sp = &sc->params.sge; struct netmap_adapter *na = NA(vi->ifp); struct fw_iq_cmd c; @@ -293,7 +292,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str MPASS(nm_rxq->fl_desc != NULL); bzero(nm_rxq->iq_desc, vi->qsize_rxq * IQ_ESIZE); - bzero(nm_rxq->fl_desc, na->num_rx_desc * EQ_ESIZE + spg_len); + bzero(nm_rxq->fl_desc, na->num_rx_desc * EQ_ESIZE + sp->spg_len); bzero(&c, sizeof(c)); c.op_to_vfn = htobe32(V_FW_CMD_OP(FW_IQ_CMD) | F_FW_CMD_REQUEST | @@ -334,7 +333,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str c.fl0dcaen_to_fl0cidxfthresh = htobe16(V_FW_IQ_CMD_FL0FBMIN(X_FETCHBURSTMIN_128B) | V_FW_IQ_CMD_FL0FBMAX(X_FETCHBURSTMAX_512B)); - c.fl0size = htobe16(na->num_rx_desc / 8 + spg_len / EQ_ESIZE); + c.fl0size = htobe16(na->num_rx_desc / 8 + sp->spg_len / EQ_ESIZE); c.fl0addr = htobe64(nm_rxq->fl_ba); rc = -t4_wr_mbox(sc, sc->mbox, &c, sizeof(c), &c); @@ -345,7 +344,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str } nm_rxq->iq_cidx = 0; - MPASS(nm_rxq->iq_sidx == vi->qsize_rxq - spg_len / IQ_ESIZE); + MPASS(nm_rxq->iq_sidx == vi->qsize_rxq - sp->spg_len / IQ_ESIZE); nm_rxq->iq_gen = F_RSPD_GEN; nm_rxq->iq_cntxt_id = be16toh(c.iqid); nm_rxq->iq_abs_id = be16toh(c.physiqid); @@ -430,7 +429,7 @@ alloc_nm_txq_hwq(struct vi_info *vi, str MPASS(na != NULL); MPASS(nm_txq->desc != NULL); - len = na->num_tx_desc * EQ_ESIZE + spg_len; + len = na->num_tx_desc * EQ_ESIZE + sc->params.sge.spg_len; bzero(nm_txq->desc, len); bzero(&c, sizeof(c)); @@ -472,7 +471,7 @@ alloc_nm_txq_hwq(struct vi_info *vi, str if (isset(&nm_txq->doorbells, DOORBELL_UDB) || isset(&nm_txq->doorbells, DOORBELL_UDBWC) || isset(&nm_txq->doorbells, DOORBELL_WCWR)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -1112,7 +1111,7 @@ ncxgbe_attach(device_t dev) na.na_flags = NAF_BDG_MAYSLEEP; /* Netmap doesn't know about the space reserved for the status page. */ - na.num_tx_desc = vi->qsize_txq - spg_len / EQ_ESIZE; + na.num_tx_desc = vi->qsize_txq - sc->params.sge.spg_len / EQ_ESIZE; /* * The freelist's cidx/pidx drives netmap's rx cidx/pidx. So @@ -1220,7 +1219,8 @@ t4_nm_intr(void *arg) (const void *)&d->cpl[0]); break; case CPL_RX_PKT: - ring->slot[fl_cidx].len = G_RSPD_LEN(lq) - fl_pktshift; + ring->slot[fl_cidx].len = G_RSPD_LEN(lq) - + sc->params.sge.fl_pktshift; ring->slot[fl_cidx].flags = kring->nkr_slot_flags; fl_cidx += (lq & F_RSPD_NEWBUF) ? 1 : 0; fl_credits += (lq & F_RSPD_NEWBUF) ? 1 : 0; Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_sge.c Tue Mar 8 00:23:56 2016 (r296478) @@ -166,8 +166,8 @@ static struct mbuf *get_fl_payload(struc static int t4_eth_rx(struct sge_iq *, const struct rss_header *, struct mbuf *); static inline void init_iq(struct sge_iq *, struct adapter *, int, int, int); static inline void init_fl(struct adapter *, struct sge_fl *, int, int, char *); -static inline void init_eq(struct sge_eq *, int, int, uint8_t, uint16_t, - char *); +static inline void init_eq(struct adapter *, struct sge_eq *, int, int, uint8_t, + uint16_t, char *); static int alloc_ring(struct adapter *, size_t, bus_dma_tag_t *, bus_dmamap_t *, bus_addr_t *, void **); static int free_ring(struct adapter *, bus_dma_tag_t, bus_dmamap_t, bus_addr_t, @@ -495,7 +495,7 @@ t4_tweak_chip_settings(struct adapter *s static inline int hwsz_ok(struct adapter *sc, int hwsz) { - int mask = fl_pad ? sc->sge.pad_boundary - 1 : 16 - 1; + int mask = fl_pad ? sc->params.sge.pad_boundary - 1 : 16 - 1; return (hwsz >= 64 && (hwsz & mask) == 0); } @@ -507,6 +507,7 @@ int t4_read_chip_settings(struct adapter *sc) { struct sge *s = &sc->sge; + struct sge_params *sp = &sc->params.sge; int i, j, n, rc = 0; uint32_t m, v, r; uint16_t indsz = min(RX_COPY_THRESHOLD - 1, M_INDICATESIZE); @@ -521,36 +522,21 @@ t4_read_chip_settings(struct adapter *sc struct sw_zone_info *swz, *safe_swz; struct hw_buf_info *hwb; - m = V_PKTSHIFT(M_PKTSHIFT) | F_RXPKTCPLMODE | F_EGRSTATUSPAGESIZE; - v = V_PKTSHIFT(fl_pktshift) | F_RXPKTCPLMODE | - V_EGRSTATUSPAGESIZE(spg_len == 128); + t4_init_sge_params(sc); + + m = F_RXPKTCPLMODE; + v = F_RXPKTCPLMODE; r = t4_read_reg(sc, A_SGE_CONTROL); if ((r & m) != v) { device_printf(sc->dev, "invalid SGE_CONTROL(0x%x)\n", r); rc = EINVAL; } - s->pad_boundary = 1 << (G_INGPADBOUNDARY(r) + 5); - - if (is_t4(sc)) - s->pack_boundary = s->pad_boundary; - else { - r = t4_read_reg(sc, A_SGE_CONTROL2); - if (G_INGPACKBOUNDARY(r) == 0) - s->pack_boundary = 16; - else - s->pack_boundary = 1 << (G_INGPACKBOUNDARY(r) + 5); - } - v = V_HOSTPAGESIZEPF0(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF1(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF2(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF3(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF4(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF5(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF6(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF7(PAGE_SHIFT - 10); - r = t4_read_reg(sc, A_SGE_HOST_PAGE_SIZE); - if (r != v) { + /* + * If this changes then every single use of PAGE_SHIFT in the driver + * needs to be carefully reviewed for PAGE_SHIFT vs sp->page_shift. + */ + if (sp->page_shift != PAGE_SHIFT) { device_printf(sc->dev, "invalid SGE_HOST_PAGE_SIZE(0x%x)\n", r); rc = EINVAL; } @@ -589,7 +575,7 @@ t4_read_chip_settings(struct adapter *sc if (swz->size < PAGE_SIZE) { MPASS(powerof2(swz->size)); - if (fl_pad && (swz->size % sc->sge.pad_boundary != 0)) + if (fl_pad && (swz->size % sp->pad_boundary != 0)) continue; } @@ -602,7 +588,7 @@ t4_read_chip_settings(struct adapter *sc continue; #ifdef INVARIANTS if (fl_pad) - MPASS(hwb->size % sc->sge.pad_boundary == 0); + MPASS(hwb->size % sp->pad_boundary == 0); #endif hwb->zidx = i; if (head == -1) @@ -653,7 +639,7 @@ t4_read_chip_settings(struct adapter *sc hwb = &s->hw_buf_info[i]; #ifdef INVARIANTS if (fl_pad) - MPASS(hwb->size % sc->sge.pad_boundary == 0); + MPASS(hwb->size % sp->pad_boundary == 0); #endif spare = safe_swz->size - hwb->size; if (spare >= CL_METADATA_SIZE) { @@ -663,22 +649,6 @@ t4_read_chip_settings(struct adapter *sc } } - r = t4_read_reg(sc, A_SGE_INGRESS_RX_THRESHOLD); - s->counter_val[0] = G_THRESHOLD_0(r); - s->counter_val[1] = G_THRESHOLD_1(r); - s->counter_val[2] = G_THRESHOLD_2(r); - s->counter_val[3] = G_THRESHOLD_3(r); - - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_0_AND_1); - s->timer_val[0] = G_TIMERVALUE0(r) / core_ticks_per_usec(sc); - s->timer_val[1] = G_TIMERVALUE1(r) / core_ticks_per_usec(sc); - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_2_AND_3); - s->timer_val[2] = G_TIMERVALUE2(r) / core_ticks_per_usec(sc); - s->timer_val[3] = G_TIMERVALUE3(r) / core_ticks_per_usec(sc); - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_4_AND_5); - s->timer_val[4] = G_TIMERVALUE4(r) / core_ticks_per_usec(sc); - s->timer_val[5] = G_TIMERVALUE5(r) / core_ticks_per_usec(sc); - v = V_HPZ0(0) | V_HPZ1(2) | V_HPZ2(4) | V_HPZ3(6); r = t4_read_reg(sc, A_ULP_RX_TDDP_PSZ); if (r != v) { @@ -702,25 +672,6 @@ t4_read_chip_settings(struct adapter *sc rc = EINVAL; } - r = t4_read_reg(sc, A_SGE_CONM_CTRL); - s->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1; - if (is_t4(sc)) - s->fl_starve_threshold2 = s->fl_starve_threshold; - else - s->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(r) * 2 + 1; - - /* egress queues: log2 of # of doorbells per BAR2 page */ - r = t4_read_reg(sc, A_SGE_EGRESS_QUEUES_PER_PAGE_PF); - r >>= S_QUEUESPERPAGEPF0 + - (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * sc->pf; - s->eq_s_qpp = r & M_QUEUESPERPAGEPF0; - - /* ingress queues: log2 of # of doorbells per BAR2 page */ - r = t4_read_reg(sc, A_SGE_INGRESS_QUEUES_PER_PAGE_PF); - r >>= S_QUEUESPERPAGEPF0 + - (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * sc->pf; - s->iq_s_qpp = r & M_QUEUESPERPAGEPF0; - t4_init_tp_params(sc); t4_read_mtu_tbl(sc, sc->params.mtus, NULL); @@ -750,25 +701,26 @@ void t4_sge_sysctls(struct adapter *sc, struct sysctl_ctx_list *ctx, struct sysctl_oid_list *children) { + struct sge_params *sp = &sc->params.sge; SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "buffer_sizes", CTLTYPE_STRING | CTLFLAG_RD, &sc->sge, 0, sysctl_bufsizes, "A", "freelist buffer sizes"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pktshift", CTLFLAG_RD, - NULL, fl_pktshift, "payload DMA offset in rx buffer (bytes)"); + NULL, sp->fl_pktshift, "payload DMA offset in rx buffer (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pad", CTLFLAG_RD, - NULL, sc->sge.pad_boundary, "payload pad boundary (bytes)"); + NULL, sp->pad_boundary, "payload pad boundary (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "spg_len", CTLFLAG_RD, - NULL, spg_len, "status page size (bytes)"); + NULL, sp->spg_len, "status page size (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "cong_drop", CTLFLAG_RD, NULL, cong_drop, "congestion drop setting"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pack", CTLFLAG_RD, - NULL, sc->sge.pack_boundary, "payload pack boundary (bytes)"); + NULL, sp->pack_boundary, "payload pack boundary (bytes)"); } int @@ -907,8 +859,8 @@ mtu_to_max_payload(struct adapter *sc, i } else { #endif /* large enough even when hw VLAN extraction is disabled */ - payload = fl_pktshift + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + - mtu; + payload = sc->params.sge.fl_pktshift + ETHER_HDR_LEN + + ETHER_VLAN_ENCAP_LEN + mtu; #ifdef TCP_OFFLOAD } #endif @@ -1069,7 +1021,7 @@ t4_setup_vi_queues(struct vi_info *vi) iqid = vi_intr_iq(vi, j)->cntxt_id; snprintf(name, sizeof(name), "%s txq%d", device_get_nameunit(vi->dev), i); - init_eq(&txq->eq, EQ_ETH, vi->qsize_txq, pi->tx_chan, iqid, + init_eq(sc, &txq->eq, EQ_ETH, vi->qsize_txq, pi->tx_chan, iqid, name); rc = alloc_txq(vi, txq, i, oid); @@ -1086,7 +1038,7 @@ t4_setup_vi_queues(struct vi_info *vi) iqid = vi_intr_iq(vi, j)->cntxt_id; snprintf(name, sizeof(name), "%s ofld_txq%d", device_get_nameunit(vi->dev), i); - init_eq(&ofld_txq->eq, EQ_OFLD, vi->qsize_txq, pi->tx_chan, + init_eq(sc, &ofld_txq->eq, EQ_OFLD, vi->qsize_txq, pi->tx_chan, iqid, name); snprintf(name, sizeof(name), "%d", i); @@ -1110,7 +1062,8 @@ t4_setup_vi_queues(struct vi_info *vi) ctrlq = &sc->sge.ctrlq[pi->port_id]; iqid = vi_intr_iq(vi, 0)->cntxt_id; snprintf(name, sizeof(name), "%s ctrlq", device_get_nameunit(vi->dev)); - init_eq(&ctrlq->eq, EQ_CTRL, CTRL_EQ_QSIZE, pi->tx_chan, iqid, name); + init_eq(sc, &ctrlq->eq, EQ_CTRL, CTRL_EQ_QSIZE, pi->tx_chan, iqid, + name); rc = alloc_wrq(sc, vi, ctrlq, oid); done: @@ -1690,6 +1643,7 @@ t4_eth_rx(struct sge_iq *iq, const struc { struct sge_rxq *rxq = iq_to_rxq(iq); struct ifnet *ifp = rxq->ifp; + struct adapter *sc = iq->adapter; const struct cpl_rx_pkt *cpl = (const void *)(rss + 1); #if defined(INET) || defined(INET6) struct lro_ctrl *lro = &rxq->lro; @@ -1704,9 +1658,9 @@ t4_eth_rx(struct sge_iq *iq, const struc KASSERT(m0 != NULL, ("%s: no payload with opcode %02x", __func__, rss->opcode)); - m0->m_pkthdr.len -= fl_pktshift; - m0->m_len -= fl_pktshift; - m0->m_data += fl_pktshift; + m0->m_pkthdr.len -= sc->params.sge.fl_pktshift; + m0->m_len -= sc->params.sge.fl_pktshift; + m0->m_data += sc->params.sge.fl_pktshift; m0->m_pkthdr.rcvif = ifp; M_HASHTYPE_SET(m0, sw_hashtype[rss->hash_type][rss->ipv6]); @@ -2445,7 +2399,7 @@ init_iq(struct sge_iq *iq, struct adapte iq->intr_pktc_idx = pktc_idx; } iq->qsize = roundup2(qsize, 16); /* See FW_IQ_CMD/iqsize */ - iq->sidx = iq->qsize - spg_len / IQ_ESIZE; + iq->sidx = iq->qsize - sc->params.sge.spg_len / IQ_ESIZE; } static inline void @@ -2453,7 +2407,7 @@ init_fl(struct adapter *sc, struct sge_f { fl->qsize = qsize; - fl->sidx = qsize - spg_len / EQ_ESIZE; + fl->sidx = qsize - sc->params.sge.spg_len / EQ_ESIZE; strlcpy(fl->lockname, name, sizeof(fl->lockname)); if (sc->flags & BUF_PACKING_OK && ((!is_t4(sc) && buffer_packing) || /* T5+: enabled unless 0 */ @@ -2464,15 +2418,15 @@ init_fl(struct adapter *sc, struct sge_f } static inline void -init_eq(struct sge_eq *eq, int eqtype, int qsize, uint8_t tx_chan, - uint16_t iqid, char *name) +init_eq(struct adapter *sc, struct sge_eq *eq, int eqtype, int qsize, + uint8_t tx_chan, uint16_t iqid, char *name) { KASSERT(eqtype <= EQ_TYPEMASK, ("%s: bad qtype %d", __func__, eqtype)); eq->flags = eqtype & EQ_TYPEMASK; eq->tx_chan = tx_chan; eq->iqid = iqid; - eq->sidx = qsize - spg_len / EQ_ESIZE; + eq->sidx = qsize - sc->params.sge.spg_len / EQ_ESIZE; strlcpy(eq->lockname, name, sizeof(eq->lockname)); } @@ -2543,6 +2497,7 @@ alloc_iq_fl(struct vi_info *vi, struct s struct fw_iq_cmd c; struct port_info *pi = vi->pi; struct adapter *sc = iq->adapter; + struct sge_params *sp = &sc->params.sge; __be32 v = 0; len = iq->qsize * IQ_ESIZE; @@ -2602,14 +2557,14 @@ alloc_iq_fl(struct vi_info *vi, struct s } if (fl->flags & FL_BUF_PACKING) { - fl->lowat = roundup2(sc->sge.fl_starve_threshold2, 8); - fl->buf_boundary = sc->sge.pack_boundary; + fl->lowat = roundup2(sp->fl_starve_threshold2, 8); + fl->buf_boundary = sp->pack_boundary; } else { - fl->lowat = roundup2(sc->sge.fl_starve_threshold, 8); + fl->lowat = roundup2(sp->fl_starve_threshold, 8); fl->buf_boundary = 16; } - if (fl_pad && fl->buf_boundary < sc->sge.pad_boundary) - fl->buf_boundary = sc->sge.pad_boundary; + if (fl_pad && fl->buf_boundary < sp->pad_boundary) + fl->buf_boundary = sp->pad_boundary; c.iqns_to_fl0congen |= htobe32(V_FW_IQ_CMD_FL0HOSTFCMODE(X_HOSTFCMODE_NONE) | @@ -2667,7 +2622,7 @@ alloc_iq_fl(struct vi_info *vi, struct s qid = fl->cntxt_id; if (isset(&sc->doorbells, DOORBELL_UDB)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -2856,7 +2811,7 @@ alloc_mgmtq(struct adapter *sc) NULL, "management queue"); snprintf(name, sizeof(name), "%s mgmtq", device_get_nameunit(sc->dev)); - init_eq(&mgmtq->eq, EQ_CTRL, CTRL_EQ_QSIZE, sc->port[0]->tx_chan, + init_eq(sc, &mgmtq->eq, EQ_CTRL, CTRL_EQ_QSIZE, sc->port[0]->tx_chan, sc->sge.fwq.cntxt_id, name); rc = alloc_wrq(sc, NULL, mgmtq, oid); if (rc != 0) { @@ -3041,7 +2996,7 @@ alloc_nm_rxq(struct vi_info *vi, struct if (rc != 0) return (rc); - len = na->num_rx_desc * EQ_ESIZE + spg_len; + len = na->num_rx_desc * EQ_ESIZE + sc->params.sge.spg_len; rc = alloc_ring(sc, len, &nm_rxq->fl_desc_tag, &nm_rxq->fl_desc_map, &nm_rxq->fl_ba, (void **)&nm_rxq->fl_desc); if (rc != 0) @@ -3050,7 +3005,7 @@ alloc_nm_rxq(struct vi_info *vi, struct nm_rxq->vi = vi; nm_rxq->nid = idx; nm_rxq->iq_cidx = 0; - nm_rxq->iq_sidx = vi->qsize_rxq - spg_len / IQ_ESIZE; + nm_rxq->iq_sidx = vi->qsize_rxq - sc->params.sge.spg_len / IQ_ESIZE; nm_rxq->iq_gen = F_RSPD_GEN; nm_rxq->fl_pidx = nm_rxq->fl_cidx = 0; nm_rxq->fl_sidx = na->num_rx_desc; @@ -3116,7 +3071,7 @@ alloc_nm_txq(struct vi_info *vi, struct char name[16]; struct sysctl_oid_list *children = SYSCTL_CHILDREN(oid); - len = na->num_tx_desc * EQ_ESIZE + spg_len; + len = na->num_tx_desc * EQ_ESIZE + sc->params.sge.spg_len; rc = alloc_ring(sc, len, &nm_txq->desc_tag, &nm_txq->desc_map, &nm_txq->ba, (void **)&nm_txq->desc); if (rc) @@ -3164,7 +3119,7 @@ ctrl_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_ctrl_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3208,7 +3163,7 @@ eth_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_eth_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3252,7 +3207,7 @@ ofld_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_ofld_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3298,7 +3253,7 @@ alloc_eq(struct adapter *sc, struct vi_i mtx_init(&eq->eq_lock, eq->lockname, NULL, MTX_DEF); - qsize = eq->sidx + spg_len / EQ_ESIZE; + qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; len = qsize * EQ_ESIZE; rc = alloc_ring(sc, len, &eq->desc_tag, &eq->desc_map, &eq->ba, (void **)&eq->desc); @@ -3337,7 +3292,7 @@ alloc_eq(struct adapter *sc, struct vi_i if (isset(&eq->doorbells, DOORBELL_UDB) || isset(&eq->doorbells, DOORBELL_UDBWC) || isset(&eq->doorbells, DOORBELL_WCWR)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -4523,10 +4478,10 @@ done: * Do not inline mbufs if doing so would violate the pad/pack * boundary alignment requirement. */ - if (fl_pad && (MSIZE % sc->sge.pad_boundary) != 0) + if (fl_pad && (MSIZE % sc->params.sge.pad_boundary) != 0) continue; if (fl->flags & FL_BUF_PACKING && - (MSIZE % sc->sge.pack_boundary) != 0) + (MSIZE % sc->params.sge.pack_boundary) != 0) continue; if (spare < CL_METADATA_SIZE + MSIZE) @@ -4612,7 +4567,7 @@ find_safe_refill_source(struct adapter * fl->cll_alt.hwidx = hwidx; fl->cll_alt.zidx = hwb->zidx; if (allow_mbufs_in_cluster && - (fl_pad == 0 || (MSIZE % sc->sge.pad_boundary) == 0)) + (fl_pad == 0 || (MSIZE % sc->params.sge.pad_boundary) == 0)) fl->cll_alt.region1 = ((spare - CL_METADATA_SIZE) / MSIZE) * MSIZE; else fl->cll_alt.region1 = 0; From owner-svn-src-head@freebsd.org Tue Mar 8 00:43:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6748AC3DDB; Tue, 8 Mar 2016 00:43:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64F90D8; Tue, 8 Mar 2016 00:43:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280h4w7042055; Tue, 8 Mar 2016 00:43:04 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280h46P042051; Tue, 8 Mar 2016 00:43:04 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080043.u280h46P042051@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:43:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296479 - in head/sys/cddl/contrib/opensolaris/uts: common/dtrace common/sys intel/dtrace powerpc/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:43:05 -0000 Author: markj Date: Tue Mar 8 00:43:03 2016 New Revision: 296479 URL: https://svnweb.freebsd.org/changeset/base/296479 Log: Fix fasttrap tracepoint locking. Upstream, tracepoints are protected by per-CPU mutexes. An unlinked tracepoint may be freed once all the tracepoint mutexes have been acquired and released - this is done in fasttrap_mod_barrier(). This mechanism was not properly ported: in some places, the proc lock is used in place of a tracepoint lock, and in others the locking is omitted entirely. This change implements tracepoint locking with an rmlock, where the read lock is used in fasttrap probe context. As a side effect, this fixes a recursion on the proc lock when the raise action is used from a userland probe. MFC after: 1 month Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Mar 8 00:43:03 2016 (r296479) @@ -63,13 +63,16 @@ #ifndef illumos #include #include +#include #include #include #include + #include #include #include #include + #include #endif @@ -224,7 +227,7 @@ static void fasttrap_thread_dtor(void *, #define FASTTRAP_PROCS_INDEX(pid) ((pid) & fasttrap_procs.fth_mask) #ifndef illumos -static kmutex_t fasttrap_cpuc_pid_lock[MAXCPU]; +struct rmlock fasttrap_tp_lock; static eventhandler_tag fasttrap_thread_dtor_tag; #endif @@ -439,10 +442,15 @@ fasttrap_mod_barrier(uint64_t gen) fasttrap_mod_gen++; +#ifdef illumos CPU_FOREACH(i) { mutex_enter(&fasttrap_cpuc_pid_lock[i]); mutex_exit(&fasttrap_cpuc_pid_lock[i]); } +#else + rm_wlock(&fasttrap_tp_lock); + rm_wunlock(&fasttrap_tp_lock); +#endif } /* @@ -2574,10 +2582,7 @@ fasttrap_load(void) mutex_init(&fasttrap_procs.fth_table[i].ftb_mtx, "processes bucket mtx", MUTEX_DEFAULT, NULL); - CPU_FOREACH(i) { - mutex_init(&fasttrap_cpuc_pid_lock[i], "fasttrap barrier", - MUTEX_DEFAULT, NULL); - } + rm_init(&fasttrap_tp_lock, "fasttrap tracepoint"); /* * This event handler must run before kdtrace_thread_dtor() since it @@ -2710,9 +2715,7 @@ fasttrap_unload(void) #ifndef illumos destroy_dev(fasttrap_cdev); mutex_destroy(&fasttrap_count_mtx); - CPU_FOREACH(i) { - mutex_destroy(&fasttrap_cpuc_pid_lock[i]); - } + rm_destroy(&fasttrap_tp_lock); #endif return (0); Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h Tue Mar 8 00:43:03 2016 (r296479) @@ -206,6 +206,10 @@ extern fasttrap_scrspace_t *fasttrap_scr extern dtrace_id_t fasttrap_probe_id; extern fasttrap_hash_t fasttrap_tpoints; +#ifndef illumos +extern struct rmlock fasttrap_tp_lock; +#endif + #define FASTTRAP_TPOINTS_INDEX(pid, pc) \ (((pc) / sizeof (fasttrap_instr_t) + (pid)) & fasttrap_tpoints.fth_mask) Modified: head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Tue Mar 8 00:43:03 2016 (r296479) @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -737,11 +738,13 @@ fasttrap_return_common(struct reg *rp, u fasttrap_id_t *id; #ifdef illumos kmutex_t *pid_mtx; -#endif -#ifdef illumos pid_mtx = &cpu_core[CPU->cpu_id].cpuc_pid_lock; mutex_enter(pid_mtx); +#else + struct rm_priotracker tracker; + + rm_rlock(&fasttrap_tp_lock, &tracker); #endif bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -759,6 +762,8 @@ fasttrap_return_common(struct reg *rp, u if (tp == NULL) { #ifdef illumos mutex_exit(pid_mtx); +#else + rm_runlock(&fasttrap_tp_lock, &tracker); #endif return; } @@ -782,6 +787,8 @@ fasttrap_return_common(struct reg *rp, u #ifdef illumos mutex_exit(pid_mtx); +#else + rm_runlock(&fasttrap_tp_lock, &tracker); #endif } @@ -990,6 +997,7 @@ fasttrap_pid_probe(struct reg *rp) { proc_t *p = curproc; #ifndef illumos + struct rm_priotracker tracker; proc_t *pp; #endif uintptr_t pc = rp->r_rip - 1; @@ -1049,8 +1057,7 @@ fasttrap_pid_probe(struct reg *rp) sx_sunlock(&proctree_lock); pp = NULL; - PROC_LOCK(p); - _PHOLD(p); + rm_rlock(&fasttrap_tp_lock, &tracker); #endif bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -1073,8 +1080,7 @@ fasttrap_pid_probe(struct reg *rp) #ifdef illumos mutex_exit(pid_mtx); #else - _PRELE(p); - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); #endif return (-1); } @@ -1200,7 +1206,7 @@ fasttrap_pid_probe(struct reg *rp) #ifdef illumos mutex_exit(pid_mtx); #else - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); #endif tp = &tp_local; @@ -1813,7 +1819,6 @@ done: #ifndef illumos PROC_LOCK(p); proc_write_regs(curthread, rp); - _PRELE(p); PROC_UNLOCK(p); #endif Modified: head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Tue Mar 8 00:43:03 2016 (r296479) @@ -33,6 +33,7 @@ #include #include #include +#include #include #define OP(x) ((x) >> 26) @@ -288,10 +289,12 @@ static void fasttrap_return_common(struct reg *rp, uintptr_t pc, pid_t pid, uintptr_t new_pc) { + struct rm_priotracker tracker; fasttrap_tracepoint_t *tp; fasttrap_bucket_t *bucket; fasttrap_id_t *id; + rm_rlock(&fasttrap_tp_lock, &tracker); bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; for (tp = bucket->ftb_data; tp != NULL; tp = tp->ftt_next) { @@ -306,6 +309,7 @@ fasttrap_return_common(struct reg *rp, u * is not essential to the correct execution of the process. */ if (tp == NULL) { + rm_runlock(&fasttrap_tp_lock, &tracker); return; } @@ -323,6 +327,7 @@ fasttrap_return_common(struct reg *rp, u pc - id->fti_probe->ftp_faddr, rp->fixreg[3], rp->fixreg[4], 0, 0); } + rm_runlock(&fasttrap_tp_lock, &tracker); } @@ -351,6 +356,7 @@ fasttrap_branch_taken(int bo, int bi, st int fasttrap_pid_probe(struct reg *rp) { + struct rm_priotracker tracker; proc_t *p = curproc; uintptr_t pc = rp->pc; uintptr_t new_pc = 0; @@ -381,8 +387,7 @@ fasttrap_pid_probe(struct reg *rp) curthread->t_dtrace_scrpc = 0; curthread->t_dtrace_astpc = 0; - - PROC_LOCK(p); + rm_rlock(&fasttrap_tp_lock, &tracker); pid = p->p_pid; bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -401,7 +406,7 @@ fasttrap_pid_probe(struct reg *rp) * fasttrap_ioctl), or somehow we have mislaid this tracepoint. */ if (tp == NULL) { - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); return (-1); } @@ -455,7 +460,7 @@ fasttrap_pid_probe(struct reg *rp) * tracepoint again later if we need to light up any return probes. */ tp_local = *tp; - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); tp = &tp_local; /* From owner-svn-src-head@freebsd.org Tue Mar 8 00:46:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22566AC3F06; Tue, 8 Mar 2016 00:46:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E9149305; Tue, 8 Mar 2016 00:46:04 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280k3lL042213; Tue, 8 Mar 2016 00:46:03 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280k3GR042212; Tue, 8 Mar 2016 00:46:03 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080046.u280k3GR042212@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:46:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296480 - head/sys/cddl/dev/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:46:05 -0000 Author: markj Date: Tue Mar 8 00:46:03 2016 New Revision: 296480 URL: https://svnweb.freebsd.org/changeset/base/296480 Log: Fix a couple of silly mistakes in r291962. - Handle the case where no DOF helper is provided. This occurs with the currently-unused DTRACEHIOC_ADD ioctl. - Fix some checks that prevented the loading DOF in the (non-default) lazyload mode. Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c ============================================================================== --- head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:43:03 2016 (r296479) +++ head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:46:03 2016 (r296480) @@ -47,14 +47,14 @@ dtrace_ioctl_helper(struct cdev *dev, u_ /* FALLTHROUGH */ case DTRACEHIOC_ADD: p = curproc; - if (p->p_pid == dhp->dofhp_pid) { + if (dhp == NULL || p->p_pid == dhp->dofhp_pid) { dof = dtrace_dof_copyin((uintptr_t)addr, &rval); } else { p = pfind(dhp->dofhp_pid); if (p == NULL) return (EINVAL); if (!P_SHOULDSTOP(p) || - (p->p_flag & P_TRACED|P_WEXIT) == 0 || + (p->p_flag & (P_TRACED | P_WEXIT)) != P_TRACED || p->p_pptr != curproc) { PROC_UNLOCK(p); return (EINVAL); From owner-svn-src-head@freebsd.org Tue Mar 8 02:04:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 200E5AC3AE9; Tue, 8 Mar 2016 02:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1C257D8; Tue, 8 Mar 2016 02:04:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28245n8067747; Tue, 8 Mar 2016 02:04:05 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28245eF067741; Tue, 8 Mar 2016 02:04:05 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080204.u28245eF067741@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 02:04:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296481 - in head: sys/dev/cxgbe sys/dev/cxgbe/common tools/tools/cxgbetool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 02:04:07 -0000 Author: np Date: Tue Mar 8 02:04:05 2016 New Revision: 296481 URL: https://svnweb.freebsd.org/changeset/base/296481 Log: cxgbe(4): Overhaul the shared code that deals with the chip's TP block, which is responsible for filtering and RSS. Add the ability to use filters that match on PF/VF (aka "VNIC id") while here. This is mutually exclusive with filtering on outer VLAN tag with Q-in-Q. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_ioctl.h head/sys/dev/cxgbe/t4_main.c head/tools/tools/cxgbetool/cxgbetool.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 02:04:05 2016 (r296481) @@ -1026,6 +1026,17 @@ tx_resume_threshold(struct sge_eq *eq) return (eq->sidx / 4); } +static inline int +t4_use_ldst(struct adapter *sc) +{ + +#ifdef notyet + return (sc->flags & FW_OK || !sc->use_bd); +#else + return (0); +#endif +} + /* t4_main.c */ int t4_os_find_pci_capability(struct adapter *, int); int t4_os_pci_save_state(struct adapter *); Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:04:05 2016 (r296481) @@ -234,17 +234,25 @@ struct sge_params { }; struct tp_params { - unsigned int ntxchan; /* # of Tx channels */ unsigned int tre; /* log2 of core clocks per TP tick */ unsigned int dack_re; /* DACK timer resolution */ unsigned int la_mask; /* what events are recorded by TP LA */ unsigned short tx_modq[MAX_NCHAN]; /* channel to modulation queue map */ + uint32_t vlan_pri_map; uint32_t ingress_config; - int8_t vlan_shift; - int8_t vnic_shift; + uint32_t rx_pkt_encap; + + int8_t fcoe_shift; int8_t port_shift; + int8_t vnic_shift; + int8_t vlan_shift; + int8_t tos_shift; int8_t protocol_shift; + int8_t ethertype_shift; + int8_t macmatch_shift; + int8_t matchtype_shift; + int8_t frag_shift; }; struct vpd_params { @@ -492,7 +500,6 @@ int t4_init_sge_params(struct adapter *a int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); -int t4_reinit_adapter(struct adapter *adap); void t4_fatal_err(struct adapter *adapter); int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp, int filter_index, int enable); @@ -505,8 +512,10 @@ int t4_config_glbl_rss(struct adapter *a int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid, unsigned int flags, unsigned int defq); int t4_read_rss(struct adapter *adapter, u16 *entries); +void t4_fw_tp_pio_rw(struct adapter *adap, u32 *vals, unsigned int nregs, + unsigned int start_index, unsigned int rw); void t4_read_rss_key(struct adapter *adapter, u32 *key); -void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx); +void t4_write_rss_key(struct adapter *adap, u32 *key, int idx); void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, u32 *valp); void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, u32 val); void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:04:05 2016 (r296481) @@ -4867,6 +4867,42 @@ int t4_read_rss(struct adapter *adapter, } /** + * t4_fw_tp_pio_rw - Access TP PIO through LDST + * @adap: the adapter + * @vals: where the indirect register values are stored/written + * @nregs: how many indirect registers to read/write + * @start_idx: index of first indirect register to read/write + * @rw: Read (1) or Write (0) + * + * Access TP PIO registers through LDST + */ +void t4_fw_tp_pio_rw(struct adapter *adap, u32 *vals, unsigned int nregs, + unsigned int start_index, unsigned int rw) +{ + int ret, i; + int cmd = FW_LDST_ADDRSPC_TP_PIO; + struct fw_ldst_cmd c; + + for (i = 0 ; i < nregs; i++) { + memset(&c, 0, sizeof(c)); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + (rw ? F_FW_CMD_READ : + F_FW_CMD_WRITE) | + V_FW_LDST_CMD_ADDRSPACE(cmd)); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + + c.u.addrval.addr = cpu_to_be32(start_index + i); + c.u.addrval.val = rw ? 0 : cpu_to_be32(vals[i]); + ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c); + if (ret == 0) { + if (rw) + vals[i] = be32_to_cpu(c.u.addrval.val); + } + } +} + +/** * t4_read_rss_key - read the global RSS key * @adap: the adapter * @key: 10-entry array holding the 320-bit RSS key @@ -4875,8 +4911,11 @@ int t4_read_rss(struct adapter *adapter, */ void t4_read_rss_key(struct adapter *adap, u32 *key) { - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, - A_TP_RSS_SECRET_KEY0); + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, key, 10, A_TP_RSS_SECRET_KEY0, 1); + else + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, + A_TP_RSS_SECRET_KEY0); } /** @@ -4889,13 +4928,35 @@ void t4_read_rss_key(struct adapter *ada * 0..15 the corresponding entry in the RSS key table is written, * otherwise the global RSS key is written. */ -void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx) +void t4_write_rss_key(struct adapter *adap, u32 *key, int idx) { - t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, - A_TP_RSS_SECRET_KEY0); - if (idx >= 0 && idx < 16) - t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, - V_KEYWRADDR(idx) | F_KEYWREN); + u8 rss_key_addr_cnt = 16; + u32 vrt = t4_read_reg(adap, A_TP_RSS_CONFIG_VRT); + + /* + * T6 and later: for KeyMode 3 (per-vf and per-vf scramble), + * allows access to key addresses 16-63 by using KeyWrAddrX + * as index[5:4](upper 2) into key table + */ + if ((chip_id(adap) > CHELSIO_T5) && + (vrt & F_KEYEXTEND) && (G_KEYMODE(vrt) == 3)) + rss_key_addr_cnt = 32; + + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, key, 10, A_TP_RSS_SECRET_KEY0, 0); + else + t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, + A_TP_RSS_SECRET_KEY0); + + if (idx >= 0 && idx < rss_key_addr_cnt) { + if (rss_key_addr_cnt > 16) + t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, + V_KEYWRADDRX(idx >> 4) | + V_T6_VFWRADDR(idx) | F_KEYWREN); + else + t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, + V_KEYWRADDR(idx) | F_KEYWREN); + } } /** @@ -4907,10 +4968,15 @@ void t4_write_rss_key(struct adapter *ad * Reads the PF RSS Configuration Table at the specified index and returns * the value found there. */ -void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, u32 *valp) +void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, + u32 *valp) { - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - valp, 1, A_TP_RSS_PF0_CONFIG + index); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, valp, 1, + A_TP_RSS_PF0_CONFIG + index, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + valp, 1, A_TP_RSS_PF0_CONFIG + index); } /** @@ -4922,10 +4988,15 @@ void t4_read_rss_pf_config(struct adapte * Writes the PF RSS Configuration Table at the specified index with the * specified value. */ -void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, u32 val) +void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, + u32 val) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &val, 1, A_TP_RSS_PF0_CONFIG + index); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &val, 1, + A_TP_RSS_PF0_CONFIG + index, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &val, 1, A_TP_RSS_PF0_CONFIG + index); } /** @@ -4941,28 +5012,40 @@ void t4_write_rss_pf_config(struct adapt void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index, u32 *vfl, u32 *vfh) { - u32 vrt; + u32 vrt, mask, data; + if (chip_id(adapter) <= CHELSIO_T5) { + mask = V_VFWRADDR(M_VFWRADDR); + data = V_VFWRADDR(index); + } else { + mask = V_T6_VFWRADDR(M_T6_VFWRADDR); + data = V_T6_VFWRADDR(index); + } /* * Request that the index'th VF Table values be read into VFL/VFH. */ vrt = t4_read_reg(adapter, A_TP_RSS_CONFIG_VRT); - vrt &= ~(F_VFRDRG | V_VFWRADDR(M_VFWRADDR) | F_VFWREN | F_KEYWREN); - vrt |= V_VFWRADDR(index) | F_VFRDEN; + vrt &= ~(F_VFRDRG | F_VFWREN | F_KEYWREN | mask); + vrt |= data | F_VFRDEN; t4_write_reg(adapter, A_TP_RSS_CONFIG_VRT, vrt); /* * Grab the VFL/VFH values ... */ - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - vfl, 1, A_TP_RSS_VFL_CONFIG); - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - vfh, 1, A_TP_RSS_VFH_CONFIG); + if (t4_use_ldst(adapter)) { + t4_fw_tp_pio_rw(adapter, vfl, 1, A_TP_RSS_VFL_CONFIG, 1); + t4_fw_tp_pio_rw(adapter, vfh, 1, A_TP_RSS_VFH_CONFIG, 1); + } else { + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + vfl, 1, A_TP_RSS_VFL_CONFIG); + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + vfh, 1, A_TP_RSS_VFH_CONFIG); + } } /** * t4_write_rss_vf_config - write VF RSS Configuration Table - * + * * @adapter: the adapter * @index: the entry in the VF RSS table to write * @vfl: the VFL to store @@ -4974,22 +5057,35 @@ void t4_read_rss_vf_config(struct adapte void t4_write_rss_vf_config(struct adapter *adapter, unsigned int index, u32 vfl, u32 vfh) { - u32 vrt; + u32 vrt, mask, data; + + if (chip_id(adapter) <= CHELSIO_T5) { + mask = V_VFWRADDR(M_VFWRADDR); + data = V_VFWRADDR(index); + } else { + mask = V_T6_VFWRADDR(M_T6_VFWRADDR); + data = V_T6_VFWRADDR(index); + } /* * Load up VFL/VFH with the values to be written ... */ - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &vfl, 1, A_TP_RSS_VFL_CONFIG); - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &vfh, 1, A_TP_RSS_VFH_CONFIG); + if (t4_use_ldst(adapter)) { + t4_fw_tp_pio_rw(adapter, &vfl, 1, A_TP_RSS_VFL_CONFIG, 0); + t4_fw_tp_pio_rw(adapter, &vfh, 1, A_TP_RSS_VFH_CONFIG, 0); + } else { + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &vfl, 1, A_TP_RSS_VFL_CONFIG); + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &vfh, 1, A_TP_RSS_VFH_CONFIG); + } /* * Write the VFL/VFH into the VF Table at index'th location. */ vrt = t4_read_reg(adapter, A_TP_RSS_CONFIG_VRT); - vrt &= ~(F_VFRDRG | F_VFRDEN | V_VFWRADDR(M_VFWRADDR) | F_KEYWREN); - vrt |= V_VFWRADDR(index) | F_VFWREN; + vrt &= ~(F_VFRDRG | F_VFWREN | F_KEYWREN | mask); + vrt |= data | F_VFRDEN; t4_write_reg(adapter, A_TP_RSS_CONFIG_VRT, vrt); } @@ -5003,8 +5099,11 @@ u32 t4_read_rss_pf_map(struct adapter *a { u32 pfmap; - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmap, 1, A_TP_RSS_PF_MAP); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmap, 1, A_TP_RSS_PF_MAP, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmap, 1, A_TP_RSS_PF_MAP); return pfmap; } @@ -5017,8 +5116,11 @@ u32 t4_read_rss_pf_map(struct adapter *a */ void t4_write_rss_pf_map(struct adapter *adapter, u32 pfmap) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmap, 1, A_TP_RSS_PF_MAP); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmap, 1, A_TP_RSS_PF_MAP, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmap, 1, A_TP_RSS_PF_MAP); } /** @@ -5031,8 +5133,11 @@ u32 t4_read_rss_pf_mask(struct adapter * { u32 pfmask; - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmask, 1, A_TP_RSS_PF_MSK); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmask, 1, A_TP_RSS_PF_MSK, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmask, 1, A_TP_RSS_PF_MSK); return pfmask; } @@ -5045,61 +5150,11 @@ u32 t4_read_rss_pf_mask(struct adapter * */ void t4_write_rss_pf_mask(struct adapter *adapter, u32 pfmask) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmask, 1, A_TP_RSS_PF_MSK); -} - -static void refresh_vlan_pri_map(struct adapter *adap) -{ - - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &adap->params.tp.vlan_pri_map, 1, - A_TP_VLAN_PRI_MAP); - - /* - * Now that we have TP_VLAN_PRI_MAP cached, we can calculate the field - * shift positions of several elements of the Compressed Filter Tuple - * for this adapter which we need frequently ... - */ - adap->params.tp.vlan_shift = t4_filter_field_shift(adap, F_VLAN); - adap->params.tp.vnic_shift = t4_filter_field_shift(adap, F_VNIC_ID); - adap->params.tp.port_shift = t4_filter_field_shift(adap, F_PORT); - adap->params.tp.protocol_shift = t4_filter_field_shift(adap, F_PROTOCOL); - - /* - * If TP_INGRESS_CONFIG.VNID == 0, then TP_VLAN_PRI_MAP.VNIC_ID - * represents the presense of an Outer VLAN instead of a VNIC ID. - */ - if ((adap->params.tp.ingress_config & F_VNIC) == 0) - adap->params.tp.vnic_shift = -1; -} - -/** - * t4_set_filter_mode - configure the optional components of filter tuples - * @adap: the adapter - * @mode_map: a bitmap selcting which optional filter components to enable - * - * Sets the filter mode by selecting the optional components to enable - * in filter tuples. Returns 0 on success and a negative error if the - * requested mode needs more bits than are available for optional - * components. - */ -int t4_set_filter_mode(struct adapter *adap, unsigned int mode_map) -{ - static u8 width[] = { 1, 3, 17, 17, 8, 8, 16, 9, 3, 1 }; - - int i, nbits = 0; - - for (i = S_FCOE; i <= S_FRAGMENTATION; i++) - if (mode_map & (1 << i)) - nbits += width[i]; - if (nbits > FILTER_OPT_LEN) - return -EINVAL; - t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, &mode_map, 1, - A_TP_VLAN_PRI_MAP); - refresh_vlan_pri_map(adap); - - return 0; + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmask, 1, A_TP_RSS_PF_MSK, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmask, 1, A_TP_RSS_PF_MSK); } /** @@ -7700,41 +7755,91 @@ int t4_init_sge_params(struct adapter *a return 0; } +/* + * Read and cache the adapter's compressed filter mode and ingress config. + */ +static void read_filter_mode_and_ingress_config(struct adapter *adap) +{ + struct tp_params *tpp = &adap->params.tp; + + if (t4_use_ldst(adap)) { + t4_fw_tp_pio_rw(adap, &tpp->vlan_pri_map, 1, + A_TP_VLAN_PRI_MAP, 1); + t4_fw_tp_pio_rw(adap, &tpp->ingress_config, 1, + A_TP_INGRESS_CONFIG, 1); + } else { + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &tpp->vlan_pri_map, 1, A_TP_VLAN_PRI_MAP); + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &tpp->ingress_config, 1, A_TP_INGRESS_CONFIG); + } + + /* + * Now that we have TP_VLAN_PRI_MAP cached, we can calculate the field + * shift positions of several elements of the Compressed Filter Tuple + * for this adapter which we need frequently ... + */ + tpp->fcoe_shift = t4_filter_field_shift(adap, F_FCOE); + tpp->port_shift = t4_filter_field_shift(adap, F_PORT); + tpp->vnic_shift = t4_filter_field_shift(adap, F_VNIC_ID); + tpp->vlan_shift = t4_filter_field_shift(adap, F_VLAN); + tpp->tos_shift = t4_filter_field_shift(adap, F_TOS); + tpp->protocol_shift = t4_filter_field_shift(adap, F_PROTOCOL); + tpp->ethertype_shift = t4_filter_field_shift(adap, F_ETHERTYPE); + tpp->macmatch_shift = t4_filter_field_shift(adap, F_MACMATCH); + tpp->matchtype_shift = t4_filter_field_shift(adap, F_MPSHITTYPE); + tpp->frag_shift = t4_filter_field_shift(adap, F_FRAGMENTATION); + + /* + * If TP_INGRESS_CONFIG.VNID == 0, then TP_VLAN_PRI_MAP.VNIC_ID + * represents the presense of an Outer VLAN instead of a VNIC ID. + */ + if ((tpp->ingress_config & F_VNIC) == 0) + tpp->vnic_shift = -1; +} + /** - * t4_init_tp_params - initialize adap->params.tp - * @adap: the adapter + * t4_init_tp_params - initialize adap->params.tp + * @adap: the adapter * - * Initialize various fields of the adapter's TP Parameters structure. + * Initialize various fields of the adapter's TP Parameters structure. */ -int __devinit t4_init_tp_params(struct adapter *adap) +int t4_init_tp_params(struct adapter *adap) { int chan; u32 v; + struct tp_params *tpp = &adap->params.tp; v = t4_read_reg(adap, A_TP_TIMER_RESOLUTION); - adap->params.tp.tre = G_TIMERRESOLUTION(v); - adap->params.tp.dack_re = G_DELAYEDACKRESOLUTION(v); + tpp->tre = G_TIMERRESOLUTION(v); + tpp->dack_re = G_DELAYEDACKRESOLUTION(v); /* MODQ_REQ_MAP defaults to setting queues 0-3 to chan 0-3 */ for (chan = 0; chan < MAX_NCHAN; chan++) - adap->params.tp.tx_modq[chan] = chan; + tpp->tx_modq[chan] = chan; - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &adap->params.tp.ingress_config, 1, - A_TP_INGRESS_CONFIG); - refresh_vlan_pri_map(adap); + read_filter_mode_and_ingress_config(adap); + + /* + * For T6, cache the adapter's compressed error vector + * and passing outer header info for encapsulated packets. + */ + if (chip_id(adap) > CHELSIO_T5) { + v = t4_read_reg(adap, A_TP_OUT_CONFIG); + tpp->rx_pkt_encap = (v & F_CRXPKTENC) ? 1 : 0; + } return 0; } /** - * t4_filter_field_shift - calculate filter field shift - * @adap: the adapter - * @filter_sel: the desired field (from TP_VLAN_PRI_MAP bits) - * - * Return the shift position of a filter field within the Compressed - * Filter Tuple. The filter field is specified via its selection bit - * within TP_VLAN_PRI_MAL (filter mode). E.g. F_VLAN. + * t4_filter_field_shift - calculate filter field shift + * @adap: the adapter + * @filter_sel: the desired field (from TP_VLAN_PRI_MAP bits) + * + * Return the shift position of a filter field within the Compressed + * Filter Tuple. The filter field is specified via its selection bit + * within TP_VLAN_PRI_MAL (filter mode). E.g. F_VLAN. */ int t4_filter_field_shift(const struct adapter *adap, int filter_sel) { @@ -7746,18 +7851,38 @@ int t4_filter_field_shift(const struct a return -1; for (sel = 1, field_shift = 0; sel < filter_sel; sel <<= 1) { - switch (filter_mode & sel) { - case F_FCOE: field_shift += W_FT_FCOE; break; - case F_PORT: field_shift += W_FT_PORT; break; - case F_VNIC_ID: field_shift += W_FT_VNIC_ID; break; - case F_VLAN: field_shift += W_FT_VLAN; break; - case F_TOS: field_shift += W_FT_TOS; break; - case F_PROTOCOL: field_shift += W_FT_PROTOCOL; break; - case F_ETHERTYPE: field_shift += W_FT_ETHERTYPE; break; - case F_MACMATCH: field_shift += W_FT_MACMATCH; break; - case F_MPSHITTYPE: field_shift += W_FT_MPSHITTYPE; break; - case F_FRAGMENTATION: field_shift += W_FT_FRAGMENTATION; break; - } + switch (filter_mode & sel) { + case F_FCOE: + field_shift += W_FT_FCOE; + break; + case F_PORT: + field_shift += W_FT_PORT; + break; + case F_VNIC_ID: + field_shift += W_FT_VNIC_ID; + break; + case F_VLAN: + field_shift += W_FT_VLAN; + break; + case F_TOS: + field_shift += W_FT_TOS; + break; + case F_PROTOCOL: + field_shift += W_FT_PROTOCOL; + break; + case F_ETHERTYPE: + field_shift += W_FT_ETHERTYPE; + break; + case F_MACMATCH: + field_shift += W_FT_MACMATCH; + break; + case F_MPSHITTYPE: + field_shift += W_FT_MPSHITTYPE; + break; + case F_FRAGMENTATION: + field_shift += W_FT_FRAGMENTATION; + break; + } } return field_shift; } @@ -7822,6 +7947,37 @@ int __devinit t4_port_init(struct port_i return 0; } +/** + * t4_set_filter_mode - configure the optional components of filter tuples + * @adap: the adapter + * @mode_map: a bitmap selcting which optional filter components to enable + * + * Sets the filter mode by selecting the optional components to enable + * in filter tuples. Returns 0 on success and a negative error if the + * requested mode needs more bits than are available for optional + * components. + */ +int t4_set_filter_mode(struct adapter *adap, unsigned int mode_map) +{ + static u8 width[] = { 1, 3, 17, 17, 8, 8, 16, 9, 3, 1 }; + + int i, nbits = 0; + + for (i = S_FCOE; i <= S_FRAGMENTATION; i++) + if (mode_map & (1 << i)) + nbits += width[i]; + if (nbits > FILTER_OPT_LEN) + return -EINVAL; + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, &mode_map, 1, A_TP_VLAN_PRI_MAP, 0); + else + t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, &mode_map, + 1, A_TP_VLAN_PRI_MAP); + read_filter_mode_and_ingress_config(adap); + + return 0; +} + int t4_sched_config(struct adapter *adapter, int type, int minmaxen, int sleep_ok) { Modified: head/sys/dev/cxgbe/t4_ioctl.h ============================================================================== --- head/sys/dev/cxgbe/t4_ioctl.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/t4_ioctl.h Tue Mar 8 02:04:05 2016 (r296481) @@ -105,6 +105,12 @@ struct t4_i2c_data { #define T4_FILTER_MPS_HIT_TYPE 0x4000 /* MPS match type */ #define T4_FILTER_IP_FRAGMENT 0x8000 /* IP fragment */ +#define T4_FILTER_IC_VNIC 0x80000000 /* TP Ingress Config's F_VNIC + bit. It indicates whether + T4_FILTER_VNIC bit means VNIC + id (PF/VF) or outer VLAN. + 0 = oVLAN, 1 = VNIC */ + /* Filter action */ enum { FILTER_PASS = 0, /* default */ @@ -154,7 +160,7 @@ struct t4_filter_tuple { * is used to select the global mode and all filters are limited to the * set of fields allowed by the global mode. */ - uint16_t vnic; /* VNIC id or outer VLAN tag */ + uint16_t vnic; /* VNIC id (PF/VF) or outer VLAN tag */ uint16_t vlan; /* VLAN tag */ uint16_t ethtype; /* Ethernet type */ uint8_t tos; /* TOS/Traffic Type */ @@ -165,7 +171,8 @@ struct t4_filter_tuple { uint32_t frag:1; /* fragmentation extension header */ uint32_t macidx:9; /* exact match MAC index */ uint32_t vlan_vld:1; /* VLAN valid */ - uint32_t vnic_vld:1; /* VNIC id/outer VLAN tag valid */ + uint32_t ovlan_vld:1; /* outer VLAN tag valid, value in "vnic" */ + uint32_t pfvf_vld:1; /* VNIC id (PF/VF) valid, value in "vnic" */ }; struct t4_filter_specification { Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:04:05 2016 (r296481) @@ -476,9 +476,11 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif -static uint32_t fconf_to_mode(uint32_t); +static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); -static uint32_t fspec_to_fconf(struct t4_filter_specification *); +static uint32_t mode_to_iconf(uint32_t); +static int check_fspec_against_fconf_iconf(struct adapter *, + struct t4_filter_specification *); static int get_filter_mode(struct adapter *, uint32_t *); static int set_filter_mode(struct adapter *, uint32_t); static inline uint64_t get_filter_hits(struct adapter *, uint32_t); @@ -3917,7 +3919,7 @@ vi_full_init(struct vi_info *vi) for (i = 0; i < nitems(rss_key); i++) { rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]); } - t4_write_rss_key(sc, (void *)&rss_key[0], -1); + t4_write_rss_key(sc, &rss_key[0], -1); #endif rss = malloc(vi->rss_size * sizeof (*rss), M_CXGBE, M_ZERO | M_WAITOK); for (i = 0; i < vi->rss_size;) { @@ -7210,7 +7212,7 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) #endif static uint32_t -fconf_to_mode(uint32_t fconf) +fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) { uint32_t mode; @@ -7238,8 +7240,11 @@ fconf_to_mode(uint32_t fconf) if (fconf & F_VLAN) mode |= T4_FILTER_VLAN; - if (fconf & F_VNIC_ID) + if (fconf & F_VNIC_ID) { mode |= T4_FILTER_VNIC; + if (iconf & F_VNIC) + mode |= T4_FILTER_IC_VNIC; + } if (fconf & F_PORT) mode |= T4_FILTER_PORT; @@ -7289,8 +7294,18 @@ mode_to_fconf(uint32_t mode) } static uint32_t -fspec_to_fconf(struct t4_filter_specification *fs) +mode_to_iconf(uint32_t mode) +{ + + if (mode & T4_FILTER_IC_VNIC) + return (F_VNIC); + return (0); +} + +static int check_fspec_against_fconf_iconf(struct adapter *sc, + struct t4_filter_specification *fs) { + struct tp_params *tpp = &sc->params.tp; uint32_t fconf = 0; if (fs->val.frag || fs->mask.frag) @@ -7314,8 +7329,17 @@ fspec_to_fconf(struct t4_filter_specific if (fs->val.vlan_vld || fs->mask.vlan_vld) fconf |= F_VLAN; - if (fs->val.vnic_vld || fs->mask.vnic_vld) + if (fs->val.ovlan_vld || fs->mask.ovlan_vld) { fconf |= F_VNIC_ID; + if (tpp->ingress_config & F_VNIC) + return (EINVAL); + } + + if (fs->val.pfvf_vld || fs->mask.pfvf_vld) { + fconf |= F_VNIC_ID; + if ((tpp->ingress_config & F_VNIC) == 0) + return (EINVAL); + } if (fs->val.iport || fs->mask.iport) fconf |= F_PORT; @@ -7323,41 +7347,45 @@ fspec_to_fconf(struct t4_filter_specific if (fs->val.fcoe || fs->mask.fcoe) fconf |= F_FCOE; - return (fconf); + if ((tpp->vlan_pri_map | fconf) != tpp->vlan_pri_map) + return (E2BIG); + + return (0); } static int get_filter_mode(struct adapter *sc, uint32_t *mode) { - int rc; - uint32_t fconf; + struct tp_params *tpp = &sc->params.tp; - rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK, - "t4getfm"); - if (rc) - return (rc); - - t4_read_indirect(sc, A_TP_PIO_ADDR, A_TP_PIO_DATA, &fconf, 1, - A_TP_VLAN_PRI_MAP); - - if (sc->params.tp.vlan_pri_map != fconf) { - log(LOG_WARNING, "%s: cached filter mode out of sync %x %x.\n", - device_get_nameunit(sc->dev), sc->params.tp.vlan_pri_map, - fconf); - } - - *mode = fconf_to_mode(fconf); + /* + * We trust the cached values of the relevant TP registers. This means + * things work reliably only if writes to those registers are always via + * t4_set_filter_mode. + */ + *mode = fconf_iconf_to_mode(tpp->vlan_pri_map, tpp->ingress_config); - end_synchronized_op(sc, LOCK_HELD); return (0); } static int set_filter_mode(struct adapter *sc, uint32_t mode) { - uint32_t fconf; + struct tp_params *tpp = &sc->params.tp; + uint32_t fconf, iconf; int rc; + iconf = mode_to_iconf(mode); + if ((iconf ^ tpp->ingress_config) & F_VNIC) { + /* + * For now we just complain if A_TP_INGRESS_CONFIG is not + * already set to the correct value for the requested filter + * mode. It's not clear if it's safe to write to this register + * on the fly. (And we trust the cached value of the register). + */ + return (EBUSY); + } + fconf = mode_to_fconf(mode); rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK, @@ -7390,6 +7418,7 @@ get_filter_hits(struct adapter *sc, uint uint64_t hits; memwin_info(sc, 0, &mw_base, NULL); + off = position_memwin(sc, 0, tcb_base + (fid + sc->tids.ftid_base) * TCB_SIZE); if (is_t4(sc)) { @@ -7471,12 +7500,10 @@ set_filter(struct adapter *sc, struct t4 goto done; } - /* Validate against the global filter mode */ - if ((sc->params.tp.vlan_pri_map | fspec_to_fconf(&t->fs)) != - sc->params.tp.vlan_pri_map) { - rc = E2BIG; + /* Validate against the global filter mode and ingress config */ + rc = check_fspec_against_fconf_iconf(sc, &t->fs); + if (rc != 0) goto done; - } if (t->fs.action == FILTER_SWITCH && t->fs.eport >= nports) { rc = EINVAL; @@ -7639,7 +7666,7 @@ set_filter_wr(struct adapter *sc, int fi { struct filter_entry *f = &sc->tids.ftid_tab[fidx]; struct fw_filter_wr *fwr; - unsigned int ftid; + unsigned int ftid, vnic_vld, vnic_vld_mask; struct wrq_cookie cookie; ASSERT_SYNCHRONIZED_OP(sc); @@ -7657,6 +7684,18 @@ set_filter_wr(struct adapter *sc, int fi } } + /* Already validated against fconf, iconf */ + MPASS((f->fs.val.pfvf_vld & f->fs.val.ovlan_vld) == 0); + MPASS((f->fs.mask.pfvf_vld & f->fs.mask.ovlan_vld) == 0); + if (f->fs.val.pfvf_vld || f->fs.val.ovlan_vld) + vnic_vld = 1; + else + vnic_vld = 0; + if (f->fs.mask.pfvf_vld || f->fs.mask.ovlan_vld) + vnic_vld_mask = 1; + else + vnic_vld_mask = 0; + ftid = sc->tids.ftid_base + fidx; fwr = start_wrq_wr(&sc->sge.mgmtq, howmany(sizeof(*fwr), 16), &cookie); @@ -7694,9 +7733,9 @@ set_filter_wr(struct adapter *sc, int fi (V_FW_FILTER_WR_FRAG(f->fs.val.frag) | V_FW_FILTER_WR_FRAGM(f->fs.mask.frag) | V_FW_FILTER_WR_IVLAN_VLD(f->fs.val.vlan_vld) | - V_FW_FILTER_WR_OVLAN_VLD(f->fs.val.vnic_vld) | + V_FW_FILTER_WR_OVLAN_VLD(vnic_vld) | V_FW_FILTER_WR_IVLAN_VLDM(f->fs.mask.vlan_vld) | - V_FW_FILTER_WR_OVLAN_VLDM(f->fs.mask.vnic_vld)); + V_FW_FILTER_WR_OVLAN_VLDM(vnic_vld_mask)); fwr->smac_sel = 0; fwr->rx_chan_rx_rpl_iq = htobe16(V_FW_FILTER_WR_RX_CHAN(0) | V_FW_FILTER_WR_RX_RPL_IQ(sc->sge.fwq.abs_id)); Modified: head/tools/tools/cxgbetool/cxgbetool.c ============================================================================== --- head/tools/tools/cxgbetool/cxgbetool.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/tools/tools/cxgbetool/cxgbetool.c Tue Mar 8 02:04:05 2016 (r296481) @@ -532,7 +532,10 @@ do_show_info_header(uint32_t mode) break; case T4_FILTER_VNIC: - printf(" vld:VNIC"); + if (mode & T4_FILTER_IC_VNIC) + printf(" VFvld:PF:VF"); + else + printf(" vld:oVLAN"); break; case T4_FILTER_VLAN: @@ -789,11 +792,19 @@ do_show_one_filter_info(struct t4_filter break; case T4_FILTER_VNIC: - printf(" %1d:%1x:%02x/%1d:%1x:%02x", - t->fs.val.vnic_vld, (t->fs.val.vnic >> 7) & 0x7, - t->fs.val.vnic & 0x7f, t->fs.mask.vnic_vld, - (t->fs.mask.vnic >> 7) & 0x7, - t->fs.mask.vnic & 0x7f); + if (mode & T4_FILTER_IC_VNIC) { + printf(" %1d:%1x:%02x/%1d:%1x:%02x", + t->fs.val.pfvf_vld, + (t->fs.val.vnic >> 13) & 0x7, + t->fs.val.vnic & 0x1fff, + t->fs.mask.pfvf_vld, + (t->fs.mask.vnic >> 13) & 0x7, + t->fs.mask.vnic & 0x1fff); + } else { + printf(" %1d:%04x/%1d:%04x", + t->fs.val.ovlan_vld, t->fs.val.vnic, + t->fs.mask.ovlan_vld, t->fs.mask.vnic); + } break; case T4_FILTER_VLAN: @@ -971,8 +982,12 @@ get_filter_mode(void) if (mode & T4_FILTER_VLAN) printf("vlan "); - if (mode & T4_FILTER_VNIC) - printf("vnic/ovlan "); + if (mode & T4_FILTER_VNIC) { + if (mode & T4_FILTER_IC_VNIC) + printf("vnic_id "); + else + printf("ovlan "); + } if (mode & T4_FILTER_PORT) printf("iport "); @@ -989,6 +1004,7 @@ static int set_filter_mode(int argc, const char *argv[]) { uint32_t mode = 0; + int vnic = 0, ovlan = 0; for (; argc; argc--, argv++) { if (!strcmp(argv[0], "frag")) @@ -1012,9 +1028,16 @@ set_filter_mode(int argc, const char *ar if (!strcmp(argv[0], "vlan")) mode |= T4_FILTER_VLAN; - if (!strcmp(argv[0], "ovlan") || - !strcmp(argv[0], "vnic")) + if (!strcmp(argv[0], "ovlan")) { + mode |= T4_FILTER_VNIC; + ovlan++; + } + + if (!strcmp(argv[0], "vnic_id")) { mode |= T4_FILTER_VNIC; + mode |= T4_FILTER_IC_VNIC; + vnic++; + } if (!strcmp(argv[0], "iport")) mode |= T4_FILTER_PORT; @@ -1023,6 +1046,11 @@ set_filter_mode(int argc, const char *ar mode |= T4_FILTER_FCoE; } + if (vnic > 0 && ovlan > 0) { + warnx("\"vnic_id\" and \"ovlan\" are mutually exclusive."); + return (EINVAL); + } + return doit(CHELSIO_T4_SET_FILTER_MODE, &mode); } @@ -1081,18 +1109,27 @@ set_filter(uint32_t idx, int argc, const } else if (!parse_val_mask("ovlan", args, &val, &mask)) { t.fs.val.vnic = val; t.fs.mask.vnic = mask; - t.fs.val.vnic_vld = 1; - t.fs.mask.vnic_vld = 1; - } else if (!parse_val_mask("vnic", args, &val, &mask)) { - t.fs.val.vnic = val; - t.fs.mask.vnic = mask; - t.fs.val.vnic_vld = 1; - t.fs.mask.vnic_vld = 1; + t.fs.val.ovlan_vld = 1; + t.fs.mask.ovlan_vld = 1; } else if (!parse_val_mask("ivlan", args, &val, &mask)) { t.fs.val.vlan = val; t.fs.mask.vlan = mask; t.fs.val.vlan_vld = 1; t.fs.mask.vlan_vld = 1; + } else if (!parse_val_mask("pf", args, &val, &mask)) { + t.fs.val.vnic &= 0x1fff; + t.fs.val.vnic |= (val & 0x7) << 13; + t.fs.mask.vnic &= 0x1fff; + t.fs.mask.vnic |= (mask & 0x7) << 13; + t.fs.val.pfvf_vld = 1; + t.fs.mask.pfvf_vld = 1; + } else if (!parse_val_mask("vf", args, &val, &mask)) { + t.fs.val.vnic &= 0xe000; + t.fs.val.vnic |= val & 0x1fff; + t.fs.mask.vnic &= 0xe000; + t.fs.mask.vnic |= mask & 0x1fff; + t.fs.val.pfvf_vld = 1; + t.fs.mask.pfvf_vld = 1; } else if (!parse_val_mask("tos", args, &val, &mask)) { t.fs.val.tos = val; t.fs.mask.tos = mask; @@ -1228,6 +1265,10 @@ set_filter(uint32_t idx, int argc, const " action \"drop\" or \"switch\""); return (EINVAL); } + if (t.fs.val.ovlan_vld && t.fs.val.pfvf_vld) { + warnx("ovlan and vnic_id (pf/vf) are mutually exclusive"); + return (EINVAL); + } t.fs.type = (af == AF_INET6 ? 1 : 0); /* default IPv4 */ return doit(CHELSIO_T4_SET_FILTER, &t); From owner-svn-src-head@freebsd.org Tue Mar 8 02:44:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DEA73AC2AAC; Tue, 8 Mar 2016 02:44:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A991DD14; Tue, 8 Mar 2016 02:44:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u282iWO3079804; Tue, 8 Mar 2016 02:44:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u282iWEW079801; Tue, 8 Mar 2016 02:44:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080244.u282iWEW079801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 02:44:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296485 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 02:44:34 -0000 Author: np Date: Tue Mar 8 02:44:32 2016 New Revision: 296485 URL: https://svnweb.freebsd.org/changeset/base/296485 Log: cxgbe(4): Update the interrupt handlers for hardware errors. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:44:32 2016 (r296485) @@ -32,6 +32,9 @@ #include "t4_hw.h" +#define GLBL_INTR_MASK (F_CIM | F_MPS | F_PL | F_PCIE | F_MC0 | F_EDC0 | \ + F_EDC1 | F_LE | F_TP | F_MA | F_PM_TX | F_PM_RX | F_ULP_RX | \ + F_CPL_SWITCH | F_SGE | F_ULP_TX) enum { MAX_NPORTS = 4, /* max # of ports */ @@ -501,6 +504,8 @@ int t4_init_tp_params(struct adapter *ad int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); void t4_fatal_err(struct adapter *adapter); +void t4_db_full(struct adapter *adapter); +void t4_db_dropped(struct adapter *adapter); int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp, int filter_index, int enable); void t4_get_trace_filter(struct adapter *adapter, struct trace_params *tp, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:44:32 2016 (r296485) @@ -344,6 +344,43 @@ int t4_wr_mbox_meat(struct adapter *adap return -ETIMEDOUT; } +static int t4_edc_err_read(struct adapter *adap, int idx) +{ + u32 edc_ecc_err_addr_reg; + u32 edc_bist_status_rdata_reg; + + if (is_t4(adap)) { + CH_WARN(adap, "%s: T4 NOT supported.\n", __func__); + return 0; + } + if (idx != 0 && idx != 1) { + CH_WARN(adap, "%s: idx %d NOT supported.\n", __func__, idx); + return 0; + } + + edc_ecc_err_addr_reg = EDC_T5_REG(A_EDC_H_ECC_ERR_ADDR, idx); + edc_bist_status_rdata_reg = EDC_T5_REG(A_EDC_H_BIST_STATUS_RDATA, idx); + + CH_WARN(adap, + "edc%d err addr 0x%x: 0x%x.\n", + idx, edc_ecc_err_addr_reg, + t4_read_reg(adap, edc_ecc_err_addr_reg)); + CH_WARN(adap, + "bist: 0x%x, status %llx %llx %llx %llx %llx %llx %llx %llx %llx.\n", + edc_bist_status_rdata_reg, + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 8), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 16), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 24), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 32), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 40), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 48), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 56), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 64)); + + return 0; +} + /** * t4_mc_read - read from MC through backdoor accesses * @adap: the adapter @@ -3867,11 +3904,14 @@ int t4_restart_aneg(struct adapter *adap return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } +typedef void (*int_handler_t)(struct adapter *adap); + struct intr_info { - unsigned int mask; /* bits to check in interrupt status */ - const char *msg; /* message to print or NULL */ - short stat_idx; /* stat counter to increment or -1 */ - unsigned short fatal; /* whether the condition reported is fatal */ + unsigned int mask; /* bits to check in interrupt status */ + const char *msg; /* message to print or NULL */ + short stat_idx; /* stat counter to increment or -1 */ + unsigned short fatal; /* whether the condition reported is fatal */ + int_handler_t int_handler; /* platform-specific int handler */ }; /** @@ -3882,7 +3922,7 @@ struct intr_info { * * A table driven interrupt handler that applies a set of masks to an * interrupt status word and performs the corresponding actions if the - * interrupts described by the mask have occured. The actions include + * interrupts described by the mask have occurred. The actions include * optionally emitting a warning or alert message. The table is terminated * by an entry specifying mask 0. Returns the number of fatal interrupt * conditions. @@ -3899,15 +3939,17 @@ static int t4_handle_intr_status(struct continue; if (acts->fatal) { fatal++; - CH_ALERT(adapter, "%s (0x%x)\n", - acts->msg, status & acts->mask); + CH_ALERT(adapter, "%s (0x%x)\n", acts->msg, + status & acts->mask); } else if (acts->msg) - CH_WARN_RATELIMIT(adapter, "%s (0x%x)\n", - acts->msg, status & acts->mask); + CH_WARN_RATELIMIT(adapter, "%s (0x%x)\n", acts->msg, + status & acts->mask); + if (acts->int_handler) + acts->int_handler(adapter); mask |= acts->mask; } status &= mask; - if (status) /* clear processed interrupts */ + if (status) /* clear processed interrupts */ t4_write_reg(adapter, reg, status); return fatal; } @@ -3917,7 +3959,7 @@ static int t4_handle_intr_status(struct */ static void pcie_intr_handler(struct adapter *adapter) { - static struct intr_info sysbus_intr_info[] = { + static const struct intr_info sysbus_intr_info[] = { { F_RNPP, "RXNP array parity error", -1, 1 }, { F_RPCP, "RXPC array parity error", -1, 1 }, { F_RCIP, "RXCIF array parity error", -1, 1 }, @@ -3925,7 +3967,7 @@ static void pcie_intr_handler(struct ada { F_RFTP, "RXFT array parity error", -1, 1 }, { 0 } }; - static struct intr_info pcie_port_intr_info[] = { + static const struct intr_info pcie_port_intr_info[] = { { F_TPCP, "TXPC array parity error", -1, 1 }, { F_TNPP, "TXNP array parity error", -1, 1 }, { F_TFTP, "TXFT array parity error", -1, 1 }, @@ -3937,7 +3979,7 @@ static void pcie_intr_handler(struct ada { F_TDUE, "Tx uncorrectable data error", -1, 1 }, { 0 } }; - static struct intr_info pcie_intr_info[] = { + static const struct intr_info pcie_intr_info[] = { { F_MSIADDRLPERR, "MSI AddrL parity error", -1, 1 }, { F_MSIADDRHPERR, "MSI AddrH parity error", -1, 1 }, { F_MSIDATAPERR, "MSI data parity error", -1, 1 }, @@ -3972,7 +4014,7 @@ static void pcie_intr_handler(struct ada { 0 } }; - static struct intr_info t5_pcie_intr_info[] = { + static const struct intr_info t5_pcie_intr_info[] = { { F_MSTGRPPERR, "Master Response Read Queue parity error", -1, 1 }, { F_MSTTIMEOUTPERR, "Master Timeout FIFO parity error", -1, 1 }, @@ -4017,13 +4059,13 @@ static void pcie_intr_handler(struct ada if (is_t4(adapter)) fat = t4_handle_intr_status(adapter, - A_PCIE_CORE_UTL_SYSTEM_BUS_AGENT_STATUS, - sysbus_intr_info) + - t4_handle_intr_status(adapter, - A_PCIE_CORE_UTL_PCI_EXPRESS_PORT_STATUS, - pcie_port_intr_info) + - t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, - pcie_intr_info); + A_PCIE_CORE_UTL_SYSTEM_BUS_AGENT_STATUS, + sysbus_intr_info) + + t4_handle_intr_status(adapter, + A_PCIE_CORE_UTL_PCI_EXPRESS_PORT_STATUS, + pcie_port_intr_info) + + t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, + pcie_intr_info); else fat = t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, t5_pcie_intr_info); @@ -4036,7 +4078,7 @@ static void pcie_intr_handler(struct ada */ static void tp_intr_handler(struct adapter *adapter) { - static struct intr_info tp_intr_info[] = { + static const struct intr_info tp_intr_info[] = { { 0x3fffffff, "TP parity error", -1, 1 }, { F_FLMTXFLSTEMPTY, "TP out of Tx pages", -1, 1 }, { 0 } @@ -4054,13 +4096,13 @@ static void sge_intr_handler(struct adap u64 v; u32 err; - static struct intr_info sge_intr_info[] = { + static const struct intr_info sge_intr_info[] = { { F_ERR_CPL_EXCEED_IQE_SIZE, "SGE received CPL exceeding IQE size", -1, 1 }, { F_ERR_INVALID_CIDX_INC, "SGE GTS CIDX increment too large", -1, 0 }, { F_ERR_CPL_OPCODE_0, "SGE received 0-length CPL", -1, 0 }, - { F_ERR_DROPPED_DB, "SGE doorbell dropped", -1, 0 }, + { F_DBFIFO_LP_INT, NULL, -1, 0, t4_db_full }, { F_ERR_DATA_CPL_ON_HIGH_QID1 | F_ERR_DATA_CPL_ON_HIGH_QID0, "SGE IQID > 1023 received CPL for FL", -1, 0 }, { F_ERR_BAD_DB_PIDX3, "SGE DBP 3 pidx increment too large", -1, @@ -4073,23 +4115,47 @@ static void sge_intr_handler(struct adap 0 }, { F_ERR_ING_CTXT_PRIO, "SGE too many priority ingress contexts", -1, 0 }, - { F_ERR_EGR_CTXT_PRIO, - "SGE too many priority egress contexts", -1, 0 }, { F_INGRESS_SIZE_ERR, "SGE illegal ingress QID", -1, 0 }, { F_EGRESS_SIZE_ERR, "SGE illegal egress QID", -1, 0 }, { 0 } }; + static const struct intr_info t4t5_sge_intr_info[] = { + { F_ERR_DROPPED_DB, NULL, -1, 0, t4_db_dropped }, + { F_DBFIFO_HP_INT, NULL, -1, 0, t4_db_full }, + { F_ERR_EGR_CTXT_PRIO, + "SGE too many priority egress contexts", -1, 0 }, + { 0 } + }; + + /* + * For now, treat below interrupts as fatal so that we disable SGE and + * get better debug */ + static const struct intr_info t6_sge_intr_info[] = { + { F_ERR_PCIE_ERROR0 | F_ERR_PCIE_ERROR1, + "SGE PCIe error for a DBP thread", -1, 1 }, + { F_FATAL_WRE_LEN, + "SGE Actual WRE packet is less than advertized length", + -1, 1 }, + { 0 } + }; + v = (u64)t4_read_reg(adapter, A_SGE_INT_CAUSE1) | - ((u64)t4_read_reg(adapter, A_SGE_INT_CAUSE2) << 32); + ((u64)t4_read_reg(adapter, A_SGE_INT_CAUSE2) << 32); if (v) { CH_ALERT(adapter, "SGE parity error (%#llx)\n", - (unsigned long long)v); + (unsigned long long)v); t4_write_reg(adapter, A_SGE_INT_CAUSE1, v); t4_write_reg(adapter, A_SGE_INT_CAUSE2, v >> 32); } v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, sge_intr_info); + if (chip_id(adapter) <= CHELSIO_T5) + v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, + t4t5_sge_intr_info); + else + v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, + t6_sge_intr_info); err = t4_read_reg(adapter, A_SGE_ERROR_STATS); if (err & F_ERROR_QID_VALID) { @@ -4114,7 +4180,7 @@ static void sge_intr_handler(struct adap */ static void cim_intr_handler(struct adapter *adapter) { - static struct intr_info cim_intr_info[] = { + static const struct intr_info cim_intr_info[] = { { F_PREFDROPINT, "CIM control register prefetch drop", -1, 1 }, { CIM_OBQ_INTR, "CIM OBQ parity error", -1, 1 }, { CIM_IBQ_INTR, "CIM IBQ parity error", -1, 1 }, @@ -4124,7 +4190,7 @@ static void cim_intr_handler(struct adap { F_TIEQOUTPARERRINT, "CIM TIEQ incoming parity error", -1, 1 }, { 0 } }; - static struct intr_info cim_upintr_info[] = { + static const struct intr_info cim_upintr_info[] = { { F_RSVDSPACEINT, "CIM reserved space access", -1, 1 }, { F_ILLTRANSINT, "CIM illegal transaction", -1, 1 }, { F_ILLWRINT, "CIM illegal write", -1, 1 }, @@ -4173,7 +4239,7 @@ static void cim_intr_handler(struct adap */ static void ulprx_intr_handler(struct adapter *adapter) { - static struct intr_info ulprx_intr_info[] = { + static const struct intr_info ulprx_intr_info[] = { { F_CAUSE_CTX_1, "ULPRX channel 1 context error", -1, 1 }, { F_CAUSE_CTX_0, "ULPRX channel 0 context error", -1, 1 }, { 0x7fffff, "ULPRX parity error", -1, 1 }, @@ -4189,7 +4255,7 @@ static void ulprx_intr_handler(struct ad */ static void ulptx_intr_handler(struct adapter *adapter) { - static struct intr_info ulptx_intr_info[] = { + static const struct intr_info ulptx_intr_info[] = { { F_PBL_BOUND_ERR_CH3, "ULPTX channel 3 PBL out of bounds", -1, 0 }, { F_PBL_BOUND_ERR_CH2, "ULPTX channel 2 PBL out of bounds", -1, @@ -4211,7 +4277,7 @@ static void ulptx_intr_handler(struct ad */ static void pmtx_intr_handler(struct adapter *adapter) { - static struct intr_info pmtx_intr_info[] = { + static const struct intr_info pmtx_intr_info[] = { { F_PCMD_LEN_OVFL0, "PMTX channel 0 pcmd too large", -1, 1 }, { F_PCMD_LEN_OVFL1, "PMTX channel 1 pcmd too large", -1, 1 }, { F_PCMD_LEN_OVFL2, "PMTX channel 2 pcmd too large", -1, 1 }, @@ -4234,7 +4300,7 @@ static void pmtx_intr_handler(struct ada */ static void pmrx_intr_handler(struct adapter *adapter) { - static struct intr_info pmrx_intr_info[] = { + static const struct intr_info pmrx_intr_info[] = { { F_ZERO_E_CMD_ERROR, "PMRX 0-length pcmd", -1, 1 }, { 0x3ffff0, "PMRX framing error", -1, 1 }, { F_OCSPI_PAR_ERROR, "PMRX ocspi parity error", -1, 1 }, @@ -4254,7 +4320,7 @@ static void pmrx_intr_handler(struct ada */ static void cplsw_intr_handler(struct adapter *adapter) { - static struct intr_info cplsw_intr_info[] = { + static const struct intr_info cplsw_intr_info[] = { { F_CIM_OP_MAP_PERR, "CPLSW CIM op_map parity error", -1, 1 }, { F_CIM_OVFL_ERROR, "CPLSW CIM overflow", -1, 1 }, { F_TP_FRAMING_ERROR, "CPLSW TP framing error", -1, 1 }, @@ -4273,7 +4339,8 @@ static void cplsw_intr_handler(struct ad */ static void le_intr_handler(struct adapter *adap) { - static struct intr_info le_intr_info[] = { + unsigned int chip_ver = chip_id(adap); + static const struct intr_info le_intr_info[] = { { F_LIPMISS, "LE LIP miss", -1, 0 }, { F_LIP0, "LE 0 LIP error", -1, 0 }, { F_PARITYERR, "LE parity error", -1, 1 }, @@ -4282,7 +4349,18 @@ static void le_intr_handler(struct adapt { 0 } }; - if (t4_handle_intr_status(adap, A_LE_DB_INT_CAUSE, le_intr_info)) + static const struct intr_info t6_le_intr_info[] = { + { F_T6_LIPMISS, "LE LIP miss", -1, 0 }, + { F_T6_LIP0, "LE 0 LIP error", -1, 0 }, + { F_TCAMINTPERR, "LE parity error", -1, 1 }, + { F_T6_UNKNOWNCMD, "LE unknown command", -1, 1 }, + { F_SSRAMINTPERR, "LE request queue parity error", -1, 1 }, + { 0 } + }; + + if (t4_handle_intr_status(adap, A_LE_DB_INT_CAUSE, + (chip_ver <= CHELSIO_T5) ? + le_intr_info : t6_le_intr_info)) t4_fatal_err(adap); } @@ -4291,11 +4369,11 @@ static void le_intr_handler(struct adapt */ static void mps_intr_handler(struct adapter *adapter) { - static struct intr_info mps_rx_intr_info[] = { + static const struct intr_info mps_rx_intr_info[] = { { 0xffffff, "MPS Rx parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_tx_intr_info[] = { + static const struct intr_info mps_tx_intr_info[] = { { V_TPFIFO(M_TPFIFO), "MPS Tx TP FIFO parity error", -1, 1 }, { F_NCSIFIFO, "MPS Tx NC-SI FIFO parity error", -1, 1 }, { V_TXDATAFIFO(M_TXDATAFIFO), "MPS Tx data FIFO parity error", @@ -4307,26 +4385,26 @@ static void mps_intr_handler(struct adap { F_FRMERR, "MPS Tx framing error", -1, 1 }, { 0 } }; - static struct intr_info mps_trc_intr_info[] = { + static const struct intr_info mps_trc_intr_info[] = { { V_FILTMEM(M_FILTMEM), "MPS TRC filter parity error", -1, 1 }, { V_PKTFIFO(M_PKTFIFO), "MPS TRC packet FIFO parity error", -1, 1 }, { F_MISCPERR, "MPS TRC misc parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_sram_intr_info[] = { + static const struct intr_info mps_stat_sram_intr_info[] = { { 0x1fffff, "MPS statistics SRAM parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_tx_intr_info[] = { + static const struct intr_info mps_stat_tx_intr_info[] = { { 0xfffff, "MPS statistics Tx FIFO parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_rx_intr_info[] = { + static const struct intr_info mps_stat_rx_intr_info[] = { { 0xffffff, "MPS statistics Rx FIFO parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_cls_intr_info[] = { + static const struct intr_info mps_cls_intr_info[] = { { F_MATCHSRAM, "MPS match SRAM parity error", -1, 1 }, { F_MATCHTCAM, "MPS match TCAM parity error", -1, 1 }, { F_HASHSRAM, "MPS hash SRAM parity error", -1, 1 }, @@ -4351,26 +4429,27 @@ static void mps_intr_handler(struct adap mps_cls_intr_info); t4_write_reg(adapter, A_MPS_INT_CAUSE, 0); - t4_read_reg(adapter, A_MPS_INT_CAUSE); /* flush */ + t4_read_reg(adapter, A_MPS_INT_CAUSE); /* flush */ if (fat) t4_fatal_err(adapter); } -#define MEM_INT_MASK (F_PERR_INT_CAUSE | F_ECC_CE_INT_CAUSE | F_ECC_UE_INT_CAUSE) +#define MEM_INT_MASK (F_PERR_INT_CAUSE | F_ECC_CE_INT_CAUSE | \ + F_ECC_UE_INT_CAUSE) /* * EDC/MC interrupt handler. */ static void mem_intr_handler(struct adapter *adapter, int idx) { - static const char name[3][5] = { "EDC0", "EDC1", "MC" }; + static const char name[4][7] = { "EDC0", "EDC1", "MC/MC0", "MC1" }; unsigned int addr, cnt_addr, v; if (idx <= MEM_EDC1) { addr = EDC_REG(A_EDC_INT_CAUSE, idx); cnt_addr = EDC_REG(A_EDC_ECC_STATUS, idx); - } else { + } else if (idx == MEM_MC) { if (is_t4(adapter)) { addr = A_MC_INT_CAUSE; cnt_addr = A_MC_ECC_STATUS; @@ -4378,22 +4457,28 @@ static void mem_intr_handler(struct adap addr = A_MC_P_INT_CAUSE; cnt_addr = A_MC_P_ECC_STATUS; } + } else { + addr = MC_REG(A_MC_P_INT_CAUSE, 1); + cnt_addr = MC_REG(A_MC_P_ECC_STATUS, 1); } v = t4_read_reg(adapter, addr) & MEM_INT_MASK; if (v & F_PERR_INT_CAUSE) - CH_ALERT(adapter, "%s FIFO parity error\n", name[idx]); + CH_ALERT(adapter, "%s FIFO parity error\n", + name[idx]); if (v & F_ECC_CE_INT_CAUSE) { u32 cnt = G_ECC_CECNT(t4_read_reg(adapter, cnt_addr)); + t4_edc_err_read(adapter, idx); + t4_write_reg(adapter, cnt_addr, V_ECC_CECNT(M_ECC_CECNT)); CH_WARN_RATELIMIT(adapter, "%u %s correctable ECC data error%s\n", cnt, name[idx], cnt > 1 ? "s" : ""); } if (v & F_ECC_UE_INT_CAUSE) - CH_ALERT(adapter, "%s uncorrectable ECC data error\n", - name[idx]); + CH_ALERT(adapter, + "%s uncorrectable ECC data error\n", name[idx]); t4_write_reg(adapter, addr, v); if (v & (F_PERR_INT_CAUSE | F_ECC_UE_INT_CAUSE)) @@ -4408,19 +4493,21 @@ static void ma_intr_handler(struct adapt u32 v, status = t4_read_reg(adapter, A_MA_INT_CAUSE); if (status & F_MEM_PERR_INT_CAUSE) { - CH_ALERT(adapter, "MA parity error, parity status %#x\n", - t4_read_reg(adapter, A_MA_PARITY_ERROR_STATUS1)); + CH_ALERT(adapter, + "MA parity error, parity status %#x\n", + t4_read_reg(adapter, A_MA_PARITY_ERROR_STATUS1)); if (is_t5(adapter)) CH_ALERT(adapter, - "MA parity error, parity status %#x\n", - t4_read_reg(adapter, - A_MA_PARITY_ERROR_STATUS2)); + "MA parity error, parity status %#x\n", + t4_read_reg(adapter, + A_MA_PARITY_ERROR_STATUS2)); } if (status & F_MEM_WRAP_INT_CAUSE) { v = t4_read_reg(adapter, A_MA_INT_WRAP_STATUS); - CH_ALERT(adapter, "MA address wrap-around error by client %u to" - " address %#x\n", G_MEM_WRAP_CLIENT_NUM(v), - G_MEM_WRAP_ADDRESS(v) << 4); + CH_ALERT(adapter, "MA address wrap-around error by " + "client %u to address %#x\n", + G_MEM_WRAP_CLIENT_NUM(v), + G_MEM_WRAP_ADDRESS(v) << 4); } t4_write_reg(adapter, A_MA_INT_CAUSE, status); t4_fatal_err(adapter); @@ -4431,7 +4518,7 @@ static void ma_intr_handler(struct adapt */ static void smb_intr_handler(struct adapter *adap) { - static struct intr_info smb_intr_info[] = { + static const struct intr_info smb_intr_info[] = { { F_MSTTXFIFOPARINT, "SMB master Tx FIFO parity error", -1, 1 }, { F_MSTRXFIFOPARINT, "SMB master Rx FIFO parity error", -1, 1 }, { F_SLVFIFOPARINT, "SMB slave FIFO parity error", -1, 1 }, @@ -4447,7 +4534,7 @@ static void smb_intr_handler(struct adap */ static void ncsi_intr_handler(struct adapter *adap) { - static struct intr_info ncsi_intr_info[] = { + static const struct intr_info ncsi_intr_info[] = { { F_CIM_DM_PRTY_ERR, "NC-SI CIM parity error", -1, 1 }, { F_MPS_DM_PRTY_ERR, "NC-SI MPS parity error", -1, 1 }, { F_TXFIFO_PRTY_ERR, "NC-SI Tx FIFO parity error", -1, 1 }, @@ -4472,14 +4559,17 @@ static void xgmac_intr_handler(struct ad int_cause_reg = T5_PORT_REG(port, A_MAC_PORT_INT_CAUSE); v = t4_read_reg(adap, int_cause_reg); + v &= (F_TXFIFO_PRTY_ERR | F_RXFIFO_PRTY_ERR); if (!v) return; if (v & F_TXFIFO_PRTY_ERR) - CH_ALERT(adap, "XGMAC %d Tx FIFO parity error\n", port); + CH_ALERT(adap, "XGMAC %d Tx FIFO parity error\n", + port); if (v & F_RXFIFO_PRTY_ERR) - CH_ALERT(adap, "XGMAC %d Rx FIFO parity error\n", port); + CH_ALERT(adap, "XGMAC %d Rx FIFO parity error\n", + port); t4_write_reg(adap, int_cause_reg, v); t4_fatal_err(adap); } @@ -4489,27 +4579,24 @@ static void xgmac_intr_handler(struct ad */ static void pl_intr_handler(struct adapter *adap) { - static struct intr_info pl_intr_info[] = { + static const struct intr_info pl_intr_info[] = { { F_FATALPERR, "Fatal parity error", -1, 1 }, { F_PERRVFID, "PL VFID_MAP parity error", -1, 1 }, { 0 } }; - static struct intr_info t5_pl_intr_info[] = { - { F_PL_BUSPERR, "PL bus parity error", -1, 1 }, + static const struct intr_info t5_pl_intr_info[] = { { F_FATALPERR, "Fatal parity error", -1, 1 }, { 0 } }; if (t4_handle_intr_status(adap, A_PL_PL_INT_CAUSE, - is_t4(adap) ? pl_intr_info : t5_pl_intr_info)) + is_t4(adap) ? + pl_intr_info : t5_pl_intr_info)) t4_fatal_err(adap); } #define PF_INTR_MASK (F_PFSW | F_PFCIM) -#define GLBL_INTR_MASK (F_CIM | F_MPS | F_PL | F_PCIE | F_MC | F_EDC0 | \ - F_EDC1 | F_LE | F_TP | F_MA | F_PM_TX | F_PM_RX | F_ULP_RX | \ - F_CPL_SWITCH | F_SGE | F_ULP_TX) /** * t4_slow_intr_handler - control path interrupt handler @@ -4535,18 +4622,20 @@ int t4_slow_intr_handler(struct adapter pl_intr_handler(adapter); if (cause & F_SMB) smb_intr_handler(adapter); - if (cause & F_XGMAC0) + if (cause & F_MAC0) xgmac_intr_handler(adapter, 0); - if (cause & F_XGMAC1) + if (cause & F_MAC1) xgmac_intr_handler(adapter, 1); - if (cause & F_XGMAC_KR0) + if (cause & F_MAC2) xgmac_intr_handler(adapter, 2); - if (cause & F_XGMAC_KR1) + if (cause & F_MAC3) xgmac_intr_handler(adapter, 3); if (cause & F_PCIE) pcie_intr_handler(adapter); - if (cause & F_MC) + if (cause & F_MC0) mem_intr_handler(adapter, MEM_MC); + if (is_t5(adapter) && (cause & F_MC1)) + mem_intr_handler(adapter, MEM_MC1); if (cause & F_EDC0) mem_intr_handler(adapter, MEM_EDC0); if (cause & F_EDC1) @@ -4572,7 +4661,7 @@ int t4_slow_intr_handler(struct adapter /* Clear the interrupts just processed for which we are the master. */ t4_write_reg(adapter, A_PL_INT_CAUSE, cause & GLBL_INTR_MASK); - (void) t4_read_reg(adapter, A_PL_INT_CAUSE); /* flush */ + (void)t4_read_reg(adapter, A_PL_INT_CAUSE); /* flush */ return 1; } @@ -4591,16 +4680,23 @@ int t4_slow_intr_handler(struct adapter */ void t4_intr_enable(struct adapter *adapter) { - u32 pf = G_SOURCEPF(t4_read_reg(adapter, A_PL_WHOAMI)); + u32 val = 0; + u32 whoami = t4_read_reg(adapter, A_PL_WHOAMI); + u32 pf = (chip_id(adapter) <= CHELSIO_T5 + ? G_SOURCEPF(whoami) + : G_T6_SOURCEPF(whoami)); + if (chip_id(adapter) <= CHELSIO_T5) + val = F_ERR_DROPPED_DB | F_ERR_EGR_CTXT_PRIO | F_DBFIFO_HP_INT; + else + val = F_ERR_PCIE_ERROR0 | F_ERR_PCIE_ERROR1 | F_FATAL_WRE_LEN; t4_write_reg(adapter, A_SGE_INT_ENABLE3, F_ERR_CPL_EXCEED_IQE_SIZE | F_ERR_INVALID_CIDX_INC | F_ERR_CPL_OPCODE_0 | - F_ERR_DROPPED_DB | F_ERR_DATA_CPL_ON_HIGH_QID1 | + F_ERR_DATA_CPL_ON_HIGH_QID1 | F_INGRESS_SIZE_ERR | F_ERR_DATA_CPL_ON_HIGH_QID0 | F_ERR_BAD_DB_PIDX3 | F_ERR_BAD_DB_PIDX2 | F_ERR_BAD_DB_PIDX1 | F_ERR_BAD_DB_PIDX0 | F_ERR_ING_CTXT_PRIO | - F_ERR_EGR_CTXT_PRIO | F_INGRESS_SIZE_ERR | - F_EGRESS_SIZE_ERR); + F_DBFIFO_LP_INT | F_EGRESS_SIZE_ERR | val); t4_write_reg(adapter, MYPF_REG(A_PL_PF_INT_ENABLE), PF_INTR_MASK); t4_set_reg_field(adapter, A_PL_INT_MAP0, 0, 1 << pf); } @@ -4615,7 +4711,10 @@ void t4_intr_enable(struct adapter *adap */ void t4_intr_disable(struct adapter *adapter) { - u32 pf = G_SOURCEPF(t4_read_reg(adapter, A_PL_WHOAMI)); + u32 whoami = t4_read_reg(adapter, A_PL_WHOAMI); + u32 pf = (chip_id(adapter) <= CHELSIO_T5 + ? G_SOURCEPF(whoami) + : G_T6_SOURCEPF(whoami)); t4_write_reg(adapter, MYPF_REG(A_PL_PF_INT_ENABLE), 0); t4_set_reg_field(adapter, A_PL_INT_MAP0, 1 << pf, 0); Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:44:32 2016 (r296485) @@ -8491,6 +8491,20 @@ t4_ioctl(struct cdev *dev, unsigned long return (rc); } +void +t4_db_full(struct adapter *sc) +{ + + CXGBE_UNIMPLEMENTED(__func__); +} + +void +t4_db_dropped(struct adapter *sc) +{ + + CXGBE_UNIMPLEMENTED(__func__); +} + #ifdef TCP_OFFLOAD void t4_iscsi_init(struct adapter *sc, u_int tag_mask, const u_int *pgsz_order) From owner-svn-src-head@freebsd.org Tue Mar 8 06:27:49 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2E431AC3402; Tue, 8 Mar 2016 06:27:49 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 07E11F76; Tue, 8 Mar 2016 06:27:48 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u286Rm3v046279; Tue, 8 Mar 2016 06:27:48 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u286Rlvl046277; Tue, 8 Mar 2016 06:27:47 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080627.u286Rlvl046277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 06:27:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296488 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 06:27:49 -0000 Author: np Date: Tue Mar 8 06:27:47 2016 New Revision: 296488 URL: https://svnweb.freebsd.org/changeset/base/296488 Log: cxgbe(4): Updates to mailbox routines in the shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 03:02:08 2016 (r296487) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 06:27:47 2016 (r296488) @@ -448,9 +448,19 @@ static inline unsigned int dack_ticks_to void t4_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask, u32 val); +int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd, + int size, void *rpl, bool sleep_ok, int timeout); int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, void *rpl, bool sleep_ok); +static inline int t4_wr_mbox_timeout(struct adapter *adap, int mbox, + const void *cmd, int size, void *rpl, + int timeout) +{ + return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, true, + timeout); +} + static inline int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd, int size, void *rpl) { Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 03:02:08 2016 (r296487) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 06:27:47 2016 (r296488) @@ -211,7 +211,7 @@ static void t4_report_fw_error(struct ad pcie_fw = t4_read_reg(adap, A_PCIE_FW); if (pcie_fw & F_PCIE_FW_ERR) CH_ERR(adap, "Firmware reports adapter error: %s\n", - reason[G_PCIE_FW_EVAL(pcie_fw)]); + reason[G_PCIE_FW_EVAL(pcie_fw)]); } /* @@ -227,25 +227,27 @@ static void get_mbox_rpl(struct adapter /* * Handle a FW assertion reported in a mailbox. */ -static void fw_asrt(struct adapter *adap, u32 mbox_addr) +static void fw_asrt(struct adapter *adap, struct fw_debug_cmd *asrt) { - struct fw_debug_cmd asrt; - - get_mbox_rpl(adap, (__be64 *)&asrt, sizeof(asrt) / 8, mbox_addr); - CH_ALERT(adap, "FW assertion at %.16s:%u, val0 %#x, val1 %#x\n", - asrt.u.assert.filename_0_7, ntohl(asrt.u.assert.line), - ntohl(asrt.u.assert.x), ntohl(asrt.u.assert.y)); + CH_ALERT(adap, + "FW assertion at %.16s:%u, val0 %#x, val1 %#x\n", + asrt->u.assert.filename_0_7, + be32_to_cpu(asrt->u.assert.line), + be32_to_cpu(asrt->u.assert.x), + be32_to_cpu(asrt->u.assert.y)); } #define X_CIM_PF_NOACCESS 0xeeeeeeee /** - * t4_wr_mbox_meat - send a command to FW through the given mailbox + * t4_wr_mbox_meat_timeout - send a command to FW through the given mailbox * @adap: the adapter * @mbox: index of the mailbox to use * @cmd: the command to write * @size: command length in bytes * @rpl: where to optionally store the reply * @sleep_ok: if true we may sleep while awaiting command completion + * @timeout: time to wait for command to finish before timing out + * (negative implies @sleep_ok=false) * * Sends the given command to FW through the selected mailbox and waits * for the FW to execute the command. If @rpl is not %NULL it is used to @@ -254,14 +256,17 @@ static void fw_asrt(struct adapter *adap * INITIALIZE can take a considerable amount of time to execute. * @sleep_ok determines whether we may sleep while awaiting the response. * If sleeping is allowed we use progressive backoff otherwise we spin. + * Note that passing in a negative @timeout is an alternate mechanism + * for specifying @sleep_ok=false. This is useful when a higher level + * interface allows for specification of @timeout but not @sleep_ok ... * * The return value is 0 on success or a negative errno on failure. A * failure can happen either because we are not able to execute the * command or FW executes it but signals an error. In the latter case * the return value is the error code indicated by FW (negated). */ -int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, - void *rpl, bool sleep_ok) +int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd, + int size, void *rpl, bool sleep_ok, int timeout) { /* * We delay in small increments at first in an effort to maintain @@ -271,43 +276,97 @@ int t4_wr_mbox_meat(struct adapter *adap static const int delay[] = { 1, 1, 3, 5, 10, 10, 20, 50, 100 }; - u32 v; u64 res; - int i, ms, delay_idx; + int i, ms, delay_idx, ret; const __be64 *p = cmd; u32 data_reg = PF_REG(mbox, A_CIM_PF_MAILBOX_DATA); u32 ctl_reg = PF_REG(mbox, A_CIM_PF_MAILBOX_CTRL); + u32 ctl; + __be64 cmd_rpl[MBOX_LEN/8]; + u32 pcie_fw; if ((size & 15) || size > MBOX_LEN) return -EINVAL; - v = G_MBOWNER(t4_read_reg(adap, ctl_reg)); - for (i = 0; v == X_MBOWNER_NONE && i < 3; i++) - v = G_MBOWNER(t4_read_reg(adap, ctl_reg)); + /* + * If we have a negative timeout, that implies that we can't sleep. + */ + if (timeout < 0) { + sleep_ok = false; + timeout = -timeout; + } - if (v != X_MBOWNER_PL) - return v ? -EBUSY : -ETIMEDOUT; + /* + * Attempt to gain access to the mailbox. + */ + for (i = 0; i < 4; i++) { + ctl = t4_read_reg(adap, ctl_reg); + v = G_MBOWNER(ctl); + if (v != X_MBOWNER_NONE) + break; + } + + /* + * If we were unable to gain access, dequeue ourselves from the + * mailbox atomic access list and report the error to our caller. + */ + if (v != X_MBOWNER_PL) { + t4_report_fw_error(adap); + ret = (v == X_MBOWNER_FW) ? -EBUSY : -ETIMEDOUT; + return ret; + } + + /* + * If we gain ownership of the mailbox and there's a "valid" message + * in it, this is likely an asynchronous error message from the + * firmware. So we'll report that and then proceed on with attempting + * to issue our own command ... which may well fail if the error + * presaged the firmware crashing ... + */ + if (ctl & F_MBMSGVALID) { + CH_ERR(adap, "found VALID command in mbox %u: " + "%llx %llx %llx %llx %llx %llx %llx %llx\n", mbox, + (unsigned long long)t4_read_reg64(adap, data_reg), + (unsigned long long)t4_read_reg64(adap, data_reg + 8), + (unsigned long long)t4_read_reg64(adap, data_reg + 16), + (unsigned long long)t4_read_reg64(adap, data_reg + 24), + (unsigned long long)t4_read_reg64(adap, data_reg + 32), + (unsigned long long)t4_read_reg64(adap, data_reg + 40), + (unsigned long long)t4_read_reg64(adap, data_reg + 48), + (unsigned long long)t4_read_reg64(adap, data_reg + 56)); + } + /* + * Copy in the new mailbox command and send it on its way ... + */ for (i = 0; i < size; i += 8, p++) t4_write_reg64(adap, data_reg + i, be64_to_cpu(*p)); CH_DUMP_MBOX(adap, mbox, data_reg); t4_write_reg(adap, ctl_reg, F_MBMSGVALID | V_MBOWNER(X_MBOWNER_FW)); - t4_read_reg(adap, ctl_reg); /* flush write */ + t4_read_reg(adap, ctl_reg); /* flush write */ delay_idx = 0; ms = delay[0]; - for (i = 0; i < FW_CMD_MAX_TIMEOUT; i += ms) { + /* + * Loop waiting for the reply; bail out if we time out or the firmware + * reports an error. + */ + for (i = 0; + !((pcie_fw = t4_read_reg(adap, A_PCIE_FW)) & F_PCIE_FW_ERR) && + i < timeout; + i += ms) { if (sleep_ok) { ms = delay[delay_idx]; /* last element may repeat */ if (delay_idx < ARRAY_SIZE(delay) - 1) delay_idx++; msleep(ms); - } else + } else { mdelay(ms); + } v = t4_read_reg(adap, ctl_reg); if (v == X_CIM_PF_NOACCESS) @@ -319,15 +378,20 @@ int t4_wr_mbox_meat(struct adapter *adap continue; } + /* + * Retrieve the command reply and release the mailbox. + */ + get_mbox_rpl(adap, cmd_rpl, size/8, data_reg); + t4_write_reg(adap, ctl_reg, V_MBOWNER(X_MBOWNER_NONE)); + CH_DUMP_MBOX(adap, mbox, data_reg); - res = t4_read_reg64(adap, data_reg); + res = be64_to_cpu(cmd_rpl[0]); if (G_FW_CMD_OP(res >> 32) == FW_DEBUG_CMD) { - fw_asrt(adap, data_reg); + fw_asrt(adap, (struct fw_debug_cmd *)cmd_rpl); res = V_FW_CMD_RETVAL(EIO); } else if (rpl) - get_mbox_rpl(adap, rpl, size / 8, data_reg); - t4_write_reg(adap, ctl_reg, V_MBOWNER(X_MBOWNER_NONE)); + memcpy(rpl, cmd_rpl, size); return -G_FW_CMD_RETVAL((int)res); } } @@ -337,11 +401,21 @@ int t4_wr_mbox_meat(struct adapter *adap * the error and also check to see if the firmware reported any * errors ... */ + ret = (pcie_fw & F_PCIE_FW_ERR) ? -ENXIO : -ETIMEDOUT; CH_ERR(adap, "command %#x in mailbox %d timed out\n", *(const u8 *)cmd, mbox); - if (t4_read_reg(adap, A_PCIE_FW) & F_PCIE_FW_ERR) - t4_report_fw_error(adap); - return -ETIMEDOUT; + + t4_report_fw_error(adap); + t4_fatal_err(adap); + return ret; +} + +int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, + void *rpl, bool sleep_ok) +{ + return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, + sleep_ok, FW_CMD_MAX_TIMEOUT); + } static int t4_edc_err_read(struct adapter *adap, int idx) From owner-svn-src-head@freebsd.org Tue Mar 8 07:48:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52609AC31B3; Tue, 8 Mar 2016 07:48:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C28C3A4; Tue, 8 Mar 2016 07:48:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u287mu8I070822; Tue, 8 Mar 2016 07:48:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u287muuq070817; Tue, 8 Mar 2016 07:48:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080748.u287muuq070817@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 07:48:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296489 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 07:48:57 -0000 Author: np Date: Tue Mar 8 07:48:55 2016 New Revision: 296489 URL: https://svnweb.freebsd.org/changeset/base/296489 Log: cxgbe(4): Updates to the shared routines that deal with the serial EEPROM, flash, and VPD. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/osdep.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 07:48:55 2016 (r296489) @@ -734,6 +734,8 @@ struct adapter { unsigned int pf; unsigned int mbox; + unsigned int vpd_busy; + unsigned int vpd_flag; /* Interrupt information */ int intr_type; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 07:48:55 2016 (r296489) @@ -499,20 +499,24 @@ int t4_eeprom_ptov(unsigned int phys_add int t4_seeprom_wp(struct adapter *adapter, int enable); int t4_read_flash(struct adapter *adapter, unsigned int addr, unsigned int nwords, u32 *data, int byte_oriented); +int t4_write_flash(struct adapter *adapter, unsigned int addr, + unsigned int n, const u8 *data, int byte_oriented); int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size); +int t4_load_bootcfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_load_boot(struct adapter *adap, u8 *boot_data, unsigned int boot_addr, unsigned int size); +int t4_flash_erase_sectors(struct adapter *adapter, int start, int end); int t4_flash_cfg_addr(struct adapter *adapter); int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); -int t4_prep_adapter(struct adapter *adapter); +int t4_prep_adapter(struct adapter *adapter, u8 *buf); int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); -int t4_port_init(struct port_info *p, int mbox, int pf, int vf); +int t4_port_init(struct adapter *adap, int mbox, int pf, int vf, int port_id); void t4_fatal_err(struct adapter *adapter); void t4_db_full(struct adapter *adapter); void t4_db_dropped(struct adapter *adapter); @@ -557,6 +561,7 @@ int t4_cim_read_la(struct adapter *adap, void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp, unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr); void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp); +int t4_get_flash_params(struct adapter *adapter); int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 07:48:55 2016 (r296489) @@ -2536,7 +2536,7 @@ void t4_get_regs(struct adapter *adap, u /* * Partial EEPROM Vital Product Data structure. Includes only the ID and - * VPD-R header. + * VPD-R sections. */ struct t4_vpd_hdr { u8 id_tag; @@ -2549,14 +2549,65 @@ struct t4_vpd_hdr { /* * EEPROM reads take a few tens of us while writes can take a bit over 5 ms. */ -#define EEPROM_MAX_RD_POLL 40 -#define EEPROM_MAX_WR_POLL 6 -#define EEPROM_STAT_ADDR 0x7bfc -#define VPD_BASE 0x400 -#define VPD_BASE_OLD 0 -#define VPD_LEN 1024 +#define EEPROM_DELAY 10 /* 10us per poll spin */ +#define EEPROM_MAX_POLL 5000 /* x 5000 == 50ms */ + +#define EEPROM_STAT_ADDR 0x7bfc +#define VPD_BASE 0x400 +#define VPD_BASE_OLD 0 +#define VPD_LEN 1024 #define VPD_INFO_FLD_HDR_SIZE 3 -#define CHELSIO_VPD_UNIQUE_ID 0x82 +#define CHELSIO_VPD_UNIQUE_ID 0x82 + +/* + * Small utility function to wait till any outstanding VPD Access is complete. + * We have a per-adapter state variable "VPD Busy" to indicate when we have a + * VPD Access in flight. This allows us to handle the problem of having a + * previous VPD Access time out and prevent an attempt to inject a new VPD + * Request before any in-flight VPD reguest has completed. + */ +static int t4_seeprom_wait(struct adapter *adapter) +{ + unsigned int base = adapter->params.pci.vpd_cap_addr; + int max_poll; + + /* + * If no VPD Access is in flight, we can just return success right + * away. + */ + if (!adapter->vpd_busy) + return 0; + + /* + * Poll the VPD Capability Address/Flag register waiting for it + * to indicate that the operation is complete. + */ + max_poll = EEPROM_MAX_POLL; + do { + u16 val; + + udelay(EEPROM_DELAY); + t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); + + /* + * If the operation is complete, mark the VPD as no longer + * busy and return success. + */ + if ((val & PCI_VPD_ADDR_F) == adapter->vpd_flag) { + adapter->vpd_busy = 0; + return 0; + } + } while (--max_poll); + + /* + * Failure! Note that we leave the VPD Busy status set in order to + * avoid pushing a new VPD Access request into the VPD Capability till + * the current operation eventually succeeds. It's a bug to issue a + * new request when an existing request is in flight and will result + * in corrupt hardware state. + */ + return -ETIMEDOUT; +} /** * t4_seeprom_read - read a serial EEPROM location @@ -2570,23 +2621,44 @@ struct t4_vpd_hdr { */ int t4_seeprom_read(struct adapter *adapter, u32 addr, u32 *data) { - u16 val; - int attempts = EEPROM_MAX_RD_POLL; unsigned int base = adapter->params.pci.vpd_cap_addr; + int ret; + /* + * VPD Accesses must alway be 4-byte aligned! + */ if (addr >= EEPROMVSIZE || (addr & 3)) return -EINVAL; - t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr); - do { - udelay(10); - t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); - } while (!(val & PCI_VPD_ADDR_F) && --attempts); + /* + * Wait for any previous operation which may still be in flight to + * complete. + */ + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD still busy from previous operation\n"); + return ret; + } - if (!(val & PCI_VPD_ADDR_F)) { - CH_ERR(adapter, "reading EEPROM address 0x%x failed\n", addr); - return -EIO; + /* + * Issue our new VPD Read request, mark the VPD as being busy and wait + * for our request to complete. If it doesn't complete, note the + * error and return it to our caller. Note that we do not reset the + * VPD Busy status! + */ + t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr); + adapter->vpd_busy = 1; + adapter->vpd_flag = PCI_VPD_ADDR_F; + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD read of address %#x failed\n", addr); + return ret; } + + /* + * Grab the returned data, swizzle it into our endianess and + * return success. + */ t4_os_pci_read_cfg4(adapter, base + PCI_VPD_DATA, data); *data = le32_to_cpu(*data); return 0; @@ -2604,26 +2676,59 @@ int t4_seeprom_read(struct adapter *adap */ int t4_seeprom_write(struct adapter *adapter, u32 addr, u32 data) { - u16 val; - int attempts = EEPROM_MAX_WR_POLL; unsigned int base = adapter->params.pci.vpd_cap_addr; + int ret; + u32 stats_reg; + int max_poll; + /* + * VPD Accesses must alway be 4-byte aligned! + */ if (addr >= EEPROMVSIZE || (addr & 3)) return -EINVAL; + /* + * Wait for any previous operation which may still be in flight to + * complete. + */ + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD still busy from previous operation\n"); + return ret; + } + + /* + * Issue our new VPD Read request, mark the VPD as being busy and wait + * for our request to complete. If it doesn't complete, note the + * error and return it to our caller. Note that we do not reset the + * VPD Busy status! + */ t4_os_pci_write_cfg4(adapter, base + PCI_VPD_DATA, cpu_to_le32(data)); t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr | PCI_VPD_ADDR_F); + adapter->vpd_busy = 1; + adapter->vpd_flag = 0; + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD write of address %#x failed\n", addr); + return ret; + } + + /* + * Reset PCI_VPD_DATA register after a transaction and wait for our + * request to complete. If it doesn't complete, return error. + */ + t4_os_pci_write_cfg4(adapter, base + PCI_VPD_DATA, 0); + max_poll = EEPROM_MAX_POLL; do { - msleep(1); - t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); - } while ((val & PCI_VPD_ADDR_F) && --attempts); + udelay(EEPROM_DELAY); + t4_seeprom_read(adapter, EEPROM_STAT_ADDR, &stats_reg); + } while ((stats_reg & 0x1) && --max_poll); + if (!max_poll) + return -ETIMEDOUT; - if (val & PCI_VPD_ADDR_F) { - CH_ERR(adapter, "write to EEPROM address 0x%x failed\n", addr); - return -EIO; - } + /* Return success! */ return 0; } @@ -2672,33 +2777,33 @@ int t4_seeprom_wp(struct adapter *adapte * get_vpd_keyword_val - Locates an information field keyword in the VPD * @v: Pointer to buffered vpd data structure * @kw: The keyword to search for - * + * * Returns the value of the information field keyword or * -ENOENT otherwise. */ static int get_vpd_keyword_val(const struct t4_vpd_hdr *v, const char *kw) { - int i; - unsigned int offset , len; - const u8 *buf = &v->id_tag; - const u8 *vpdr_len = &v->vpdr_tag; - offset = sizeof(struct t4_vpd_hdr); - len = (u16)vpdr_len[1] + ((u16)vpdr_len[2] << 8); - - if (len + sizeof(struct t4_vpd_hdr) > VPD_LEN) { - return -ENOENT; - } - - for (i = offset; i + VPD_INFO_FLD_HDR_SIZE <= offset + len;) { - if(memcmp(buf + i , kw , 2) == 0){ - i += VPD_INFO_FLD_HDR_SIZE; - return i; - } + int i; + unsigned int offset , len; + const u8 *buf = (const u8 *)v; + const u8 *vpdr_len = &v->vpdr_len[0]; + offset = sizeof(struct t4_vpd_hdr); + len = (u16)vpdr_len[0] + ((u16)vpdr_len[1] << 8); + + if (len + sizeof(struct t4_vpd_hdr) > VPD_LEN) { + return -ENOENT; + } + + for (i = offset; i + VPD_INFO_FLD_HDR_SIZE <= offset + len;) { + if(memcmp(buf + i , kw , 2) == 0){ + i += VPD_INFO_FLD_HDR_SIZE; + return i; + } - i += VPD_INFO_FLD_HDR_SIZE + buf[i+2]; - } + i += VPD_INFO_FLD_HDR_SIZE + buf[i+2]; + } - return -ENOENT; + return -ENOENT; } @@ -2706,14 +2811,16 @@ static int get_vpd_keyword_val(const str * get_vpd_params - read VPD parameters from VPD EEPROM * @adapter: adapter to read * @p: where to store the parameters + * @vpd: caller provided temporary space to read the VPD into * * Reads card parameters stored in VPD EEPROM. */ -static int get_vpd_params(struct adapter *adapter, struct vpd_params *p) +static int get_vpd_params(struct adapter *adapter, struct vpd_params *p, + u8 *vpd) { int i, ret, addr; int ec, sn, pn, na; - u8 vpd[VPD_LEN], csum; + u8 csum; const struct t4_vpd_hdr *v; /* @@ -2721,31 +2828,43 @@ static int get_vpd_params(struct adapter * it at 0. */ ret = t4_seeprom_read(adapter, VPD_BASE, (u32 *)(vpd)); + if (ret) + return (ret); + + /* + * The VPD shall have a unique identifier specified by the PCI SIG. + * For chelsio adapters, the identifier is 0x82. The first byte of a VPD + * shall be CHELSIO_VPD_UNIQUE_ID (0x82). The VPD programming software + * is expected to automatically put this entry at the + * beginning of the VPD. + */ addr = *vpd == CHELSIO_VPD_UNIQUE_ID ? VPD_BASE : VPD_BASE_OLD; - for (i = 0; i < sizeof(vpd); i += 4) { + for (i = 0; i < VPD_LEN; i += 4) { ret = t4_seeprom_read(adapter, addr + i, (u32 *)(vpd + i)); if (ret) return ret; } v = (const struct t4_vpd_hdr *)vpd; - + #define FIND_VPD_KW(var,name) do { \ var = get_vpd_keyword_val(v , name); \ if (var < 0) { \ CH_ERR(adapter, "missing VPD keyword " name "\n"); \ return -EINVAL; \ } \ -} while (0) +} while (0) FIND_VPD_KW(i, "RV"); for (csum = 0; i >= 0; i--) csum += vpd[i]; if (csum) { - CH_ERR(adapter, "corrupted VPD EEPROM, actual csum %u\n", csum); + CH_ERR(adapter, + "corrupted VPD EEPROM, actual csum %u\n", csum); return -EINVAL; } + FIND_VPD_KW(ec, "EC"); FIND_VPD_KW(sn, "SN"); FIND_VPD_KW(pn, "PN"); @@ -2771,16 +2890,16 @@ static int get_vpd_params(struct adapter /* serial flash and firmware constants and flash config file constants */ enum { - SF_ATTEMPTS = 10, /* max retries for SF operations */ + SF_ATTEMPTS = 10, /* max retries for SF operations */ /* flash command opcodes */ - SF_PROG_PAGE = 2, /* program page */ - SF_WR_DISABLE = 4, /* disable writes */ - SF_RD_STATUS = 5, /* read status register */ - SF_WR_ENABLE = 6, /* enable writes */ - SF_RD_DATA_FAST = 0xb, /* read flash */ - SF_RD_ID = 0x9f, /* read ID */ - SF_ERASE_SECTOR = 0xd8, /* erase sector */ + SF_PROG_PAGE = 2, /* program page */ + SF_WR_DISABLE = 4, /* disable writes */ + SF_RD_STATUS = 5, /* read status register */ + SF_WR_ENABLE = 6, /* enable writes */ + SF_RD_DATA_FAST = 0xb, /* read flash */ + SF_RD_ID = 0x9f, /* read ID */ + SF_ERASE_SECTOR = 0xd8, /* erase sector */ }; /** @@ -2874,7 +2993,7 @@ static int flash_wait_op(struct adapter * Read the specified number of 32-bit words from the serial flash. * If @byte_oriented is set the read data is stored as a byte array * (i.e., big-endian), otherwise as 32-bit words in the platform's - * natural endianess. + * natural endianness. */ int t4_read_flash(struct adapter *adapter, unsigned int addr, unsigned int nwords, u32 *data, int byte_oriented) @@ -2897,7 +3016,7 @@ int t4_read_flash(struct adapter *adapte if (ret) return ret; if (byte_oriented) - *data = htonl(*data); + *data = (__force __u32)(cpu_to_be32(*data)); } return 0; } @@ -2912,10 +3031,10 @@ int t4_read_flash(struct adapter *adapte * * Writes up to a page of data (256 bytes) to the serial flash starting * at the given address. All the data must be written to the same page. - * If @byte_oriented is set the write data is stored as byte stream + * If @byte_oriented is set the write data is stored as byte stream * (i.e. matches what on disk), otherwise in big-endian. */ -static int t4_write_flash(struct adapter *adapter, unsigned int addr, +int t4_write_flash(struct adapter *adapter, unsigned int addr, unsigned int n, const u8 *data, int byte_oriented) { int ret; @@ -2937,7 +3056,7 @@ static int t4_write_flash(struct adapter val = (val << 8) + *data++; if (!byte_oriented) - val = htonl(val); + val = cpu_to_be32(val); ret = sf1_write(adapter, c, c != left, 1, val); if (ret) @@ -2956,8 +3075,9 @@ static int t4_write_flash(struct adapter return ret; if (memcmp(data - n, (u8 *)buf + offset, n)) { - CH_ERR(adapter, "failed to correctly write the flash page " - "at %#x\n", addr); + CH_ERR(adapter, + "failed to correctly write the flash page at %#x\n", + addr); return -EIO; } return 0; @@ -3057,17 +3177,21 @@ int t4_check_fw_version(struct adapter * * * Erases the sectors in the given inclusive range. */ -static int t4_flash_erase_sectors(struct adapter *adapter, int start, int end) +int t4_flash_erase_sectors(struct adapter *adapter, int start, int end) { int ret = 0; + if (end >= adapter->params.sf_nsec) + return -EINVAL; + while (start <= end) { if ((ret = sf1_write(adapter, 1, 0, 1, SF_WR_ENABLE)) != 0 || (ret = sf1_write(adapter, 4, 0, 1, SF_ERASE_SECTOR | (start << 8))) != 0 || (ret = flash_wait_op(adapter, 14, 500)) != 0) { - CH_ERR(adapter, "erase of flash sector %d failed, " - "error %d\n", start, ret); + CH_ERR(adapter, + "erase of flash sector %d failed, error %d\n", + start, ret); break; } start++; @@ -3096,66 +3220,6 @@ int t4_flash_cfg_addr(struct adapter *ad return FLASH_CFG_START; } -/** - * t4_load_cfg - download config file - * @adap: the adapter - * @cfg_data: the cfg text file to write - * @size: text file size - * - * Write the supplied config text file to the card's serial flash. - */ -int t4_load_cfg(struct adapter *adap, const u8 *cfg_data, unsigned int size) -{ - int ret, i, n, cfg_addr; - unsigned int addr; - unsigned int flash_cfg_start_sec; - unsigned int sf_sec_size = adap->params.sf_size / adap->params.sf_nsec; - - cfg_addr = t4_flash_cfg_addr(adap); - if (cfg_addr < 0) - return cfg_addr; - - addr = cfg_addr; - flash_cfg_start_sec = addr / SF_SEC_SIZE; - - if (size > FLASH_CFG_MAX_SIZE) { - CH_ERR(adap, "cfg file too large, max is %u bytes\n", - FLASH_CFG_MAX_SIZE); - return -EFBIG; - } - - i = DIV_ROUND_UP(FLASH_CFG_MAX_SIZE, /* # of sectors spanned */ - sf_sec_size); - ret = t4_flash_erase_sectors(adap, flash_cfg_start_sec, - flash_cfg_start_sec + i - 1); - /* - * If size == 0 then we're simply erasing the FLASH sectors associated - * with the on-adapter Firmware Configuration File. - */ - if (ret || size == 0) - goto out; - - /* this will write to the flash up to SF_PAGE_SIZE at a time */ - for (i = 0; i< size; i+= SF_PAGE_SIZE) { - if ( (size - i) < SF_PAGE_SIZE) - n = size - i; - else - n = SF_PAGE_SIZE; - ret = t4_write_flash(adap, addr, n, cfg_data, 1); - if (ret) - goto out; - - addr += SF_PAGE_SIZE; - cfg_data += SF_PAGE_SIZE; - } - -out: - if (ret) - CH_ERR(adap, "config file %s failed %d\n", - (size == 0 ? "clear" : "download"), ret); - return ret; -} - /** * t4_load_fw - download firmware @@ -3254,341 +3318,64 @@ out: return ret; } -/* BIOS boot headers */ -typedef struct pci_expansion_rom_header { - u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ - u8 reserved[22]; /* Reserved per processor Architecture data */ - u8 pcir_offset[2]; /* Offset to PCI Data Structure */ -} pci_exp_rom_header_t; /* PCI_EXPANSION_ROM_HEADER */ - -/* Legacy PCI Expansion ROM Header */ -typedef struct legacy_pci_expansion_rom_header { - u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ - u8 size512; /* Current Image Size in units of 512 bytes */ - u8 initentry_point[4]; - u8 cksum; /* Checksum computed on the entire Image */ - u8 reserved[16]; /* Reserved */ - u8 pcir_offset[2]; /* Offset to PCI Data Struture */ -} legacy_pci_exp_rom_header_t; /* LEGACY_PCI_EXPANSION_ROM_HEADER */ - -/* EFI PCI Expansion ROM Header */ -typedef struct efi_pci_expansion_rom_header { - u8 signature[2]; // ROM signature. The value 0xaa55 - u8 initialization_size[2]; /* Units 512. Includes this header */ - u8 efi_signature[4]; /* Signature from EFI image header. 0x0EF1 */ - u8 efi_subsystem[2]; /* Subsystem value for EFI image header */ - u8 efi_machine_type[2]; /* Machine type from EFI image header */ - u8 compression_type[2]; /* Compression type. */ - /* - * Compression type definition - * 0x0: uncompressed - * 0x1: Compressed - * 0x2-0xFFFF: Reserved - */ - u8 reserved[8]; /* Reserved */ - u8 efi_image_header_offset[2]; /* Offset to EFI Image */ - u8 pcir_offset[2]; /* Offset to PCI Data Structure */ -} efi_pci_exp_rom_header_t; /* EFI PCI Expansion ROM Header */ - -/* PCI Data Structure Format */ -typedef struct pcir_data_structure { /* PCI Data Structure */ - u8 signature[4]; /* Signature. The string "PCIR" */ - u8 vendor_id[2]; /* Vendor Identification */ - u8 device_id[2]; /* Device Identification */ - u8 vital_product[2]; /* Pointer to Vital Product Data */ - u8 length[2]; /* PCIR Data Structure Length */ - u8 revision; /* PCIR Data Structure Revision */ - u8 class_code[3]; /* Class Code */ - u8 image_length[2]; /* Image Length. Multiple of 512B */ - u8 code_revision[2]; /* Revision Level of Code/Data */ - u8 code_type; /* Code Type. */ - /* - * PCI Expansion ROM Code Types - * 0x00: Intel IA-32, PC-AT compatible. Legacy - * 0x01: Open Firmware standard for PCI. FCODE - * 0x02: Hewlett-Packard PA RISC. HP reserved - * 0x03: EFI Image. EFI - * 0x04-0xFF: Reserved. - */ - u8 indicator; /* Indicator. Identifies the last image in the ROM */ - u8 reserved[2]; /* Reserved */ -} pcir_data_t; /* PCI__DATA_STRUCTURE */ +/** + * t4_read_cimq_cfg - read CIM queue configuration + * @adap: the adapter + * @base: holds the queue base addresses in bytes + * @size: holds the queue sizes in bytes + * @thres: holds the queue full thresholds in bytes + * + * Returns the current configuration of the CIM queues, starting with + * the IBQs, then the OBQs. + */ +void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) +{ + unsigned int i, v; -/* BOOT constants */ -enum { - BOOT_FLASH_BOOT_ADDR = 0x0,/* start address of boot image in flash */ - BOOT_SIGNATURE = 0xaa55, /* signature of BIOS boot ROM */ - BOOT_SIZE_INC = 512, /* image size measured in 512B chunks */ - BOOT_MIN_SIZE = sizeof(pci_exp_rom_header_t), /* basic header */ - BOOT_MAX_SIZE = 1024*BOOT_SIZE_INC, /* 1 byte * length increment */ - VENDOR_ID = 0x1425, /* Vendor ID */ - PCIR_SIGNATURE = 0x52494350 /* PCIR signature */ -}; + for (i = 0; i < CIM_NUM_IBQ; i++) { + t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | + V_QUENUMSELECT(i)); + v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); + *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ + *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ + *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ + } + for (i = 0; i < adap->chip_params->cim_num_obq; i++) { + t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | + V_QUENUMSELECT(i)); + v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); + *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ + *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ + } +} -/* - * modify_device_id - Modifies the device ID of the Boot BIOS image - * @adatper: the device ID to write. - * @boot_data: the boot image to modify. +/** + * t4_read_cim_ibq - read the contents of a CIM inbound queue + * @adap: the adapter + * @qid: the queue index + * @data: where to store the queue contents + * @n: capacity of @data in 32-bit words * - * Write the supplied device ID to the boot BIOS image. + * Reads the contents of the selected CIM queue starting at address 0 up + * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on + * error and the number of 32-bit words actually read on success. */ -static void modify_device_id(int device_id, u8 *boot_data) +int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) { - legacy_pci_exp_rom_header_t *header; - pcir_data_t *pcir_header; - u32 cur_header = 0; + int i, err; + unsigned int addr; + const unsigned int nwords = CIM_IBQ_SIZE * 4; - /* - * Loop through all chained images and change the device ID's - */ - while (1) { - header = (legacy_pci_exp_rom_header_t *) &boot_data[cur_header]; - pcir_header = (pcir_data_t *) &boot_data[cur_header + - le16_to_cpu(*(u16*)header->pcir_offset)]; + if (qid > 5 || (n & 3)) + return -EINVAL; + + addr = qid * nwords; + if (n > nwords) + n = nwords; - /* - * Only modify the Device ID if code type is Legacy or HP. - * 0x00: Okay to modify - * 0x01: FCODE. Do not be modify - * 0x03: Okay to modify - * 0x04-0xFF: Do not modify - */ - if (pcir_header->code_type == 0x00) { - u8 csum = 0; - int i; - - /* - * Modify Device ID to match current adatper - */ - *(u16*) pcir_header->device_id = device_id; - - /* - * Set checksum temporarily to 0. - * We will recalculate it later. - */ - header->cksum = 0x0; - - /* - * Calculate and update checksum - */ - for (i = 0; i < (header->size512 * 512); i++) - csum += (u8)boot_data[cur_header + i]; - - /* - * Invert summed value to create the checksum - * Writing new checksum value directly to the boot data - */ - boot_data[cur_header + 7] = -csum; - - } else if (pcir_header->code_type == 0x03) { - - /* - * Modify Device ID to match current adatper - */ - *(u16*) pcir_header->device_id = device_id; - - } - - - /* - * Check indicator element to identify if this is the last - * image in the ROM. - */ - if (pcir_header->indicator & 0x80) - break; - - /* - * Move header pointer up to the next image in the ROM. - */ - cur_header += header->size512 * 512; - } -} - -/* - * t4_load_boot - download boot flash - * @adapter: the adapter - * @boot_data: the boot image to write - * @boot_addr: offset in flash to write boot_data - * @size: image size - * - * Write the supplied boot image to the card's serial flash. - * The boot image has the following sections: a 28-byte header and the - * boot image. - */ -int t4_load_boot(struct adapter *adap, u8 *boot_data, - unsigned int boot_addr, unsigned int size) -{ - pci_exp_rom_header_t *header; - int pcir_offset ; - pcir_data_t *pcir_header; - int ret, addr; - uint16_t device_id; - unsigned int i; - unsigned int boot_sector = boot_addr * 1024; - unsigned int sf_sec_size = adap->params.sf_size / adap->params.sf_nsec; - - /* - * Make sure the boot image does not encroach on the firmware region - */ - if ((boot_sector + size) >> 16 > FLASH_FW_START_SEC) { - CH_ERR(adap, "boot image encroaching on firmware region\n"); - return -EFBIG; - } - - /* - * Number of sectors spanned - */ - i = DIV_ROUND_UP(size ? size : FLASH_BOOTCFG_MAX_SIZE, - sf_sec_size); - ret = t4_flash_erase_sectors(adap, boot_sector >> 16, - (boot_sector >> 16) + i - 1); - - /* - * If size == 0 then we're simply erasing the FLASH sectors associated - * with the on-adapter option ROM file - */ - if (ret || (size == 0)) - goto out; - - /* Get boot header */ - header = (pci_exp_rom_header_t *)boot_data; - pcir_offset = le16_to_cpu(*(u16 *)header->pcir_offset); - /* PCIR Data Structure */ - pcir_header = (pcir_data_t *) &boot_data[pcir_offset]; - - /* - * Perform some primitive sanity testing to avoid accidentally - * writing garbage over the boot sectors. We ought to check for - * more but it's not worth it for now ... - */ - if (size < BOOT_MIN_SIZE || size > BOOT_MAX_SIZE) { - CH_ERR(adap, "boot image too small/large\n"); - return -EFBIG; - } - - /* - * Check BOOT ROM header signature - */ - if (le16_to_cpu(*(u16*)header->signature) != BOOT_SIGNATURE ) { - CH_ERR(adap, "Boot image missing signature\n"); - return -EINVAL; - } - - /* - * Check PCI header signature - */ - if (le32_to_cpu(*(u32*)pcir_header->signature) != PCIR_SIGNATURE) { - CH_ERR(adap, "PCI header missing signature\n"); - return -EINVAL; - } - - /* - * Check Vendor ID matches Chelsio ID - */ - if (le16_to_cpu(*(u16*)pcir_header->vendor_id) != VENDOR_ID) { - CH_ERR(adap, "Vendor ID missing signature\n"); - return -EINVAL; - } - - /* - * Retrieve adapter's device ID - */ - t4_os_pci_read_cfg2(adap, PCI_DEVICE_ID, &device_id); - /* Want to deal with PF 0 so I strip off PF 4 indicator */ - device_id = (device_id & 0xff) | 0x4000; - - /* - * Check PCIE Device ID - */ - if (le16_to_cpu(*(u16*)pcir_header->device_id) != device_id) { - /* - * Change the device ID in the Boot BIOS image to match - * the Device ID of the current adapter. - */ - modify_device_id(device_id, boot_data); - } - - /* - * Skip over the first SF_PAGE_SIZE worth of data and write it after - * we finish copying the rest of the boot image. This will ensure - * that the BIOS boot header will only be written if the boot image - * was written in full. - */ - addr = boot_sector; - for (size -= SF_PAGE_SIZE; size; size -= SF_PAGE_SIZE) { - addr += SF_PAGE_SIZE; - boot_data += SF_PAGE_SIZE; - ret = t4_write_flash(adap, addr, SF_PAGE_SIZE, boot_data, 0); - if (ret) - goto out; - } - - ret = t4_write_flash(adap, boot_sector, SF_PAGE_SIZE, boot_data, 0); - -out: - if (ret) - CH_ERR(adap, "boot image download failed, error %d\n", ret); - return ret; -} - -/** - * t4_read_cimq_cfg - read CIM queue configuration - * @adap: the adapter - * @base: holds the queue base addresses in bytes - * @size: holds the queue sizes in bytes - * @thres: holds the queue full thresholds in bytes - * - * Returns the current configuration of the CIM queues, starting with - * the IBQs, then the OBQs. - */ -void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) -{ - unsigned int i, v; - - for (i = 0; i < CIM_NUM_IBQ; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ - } - for (i = 0; i < adap->chip_params->cim_num_obq; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - } -} - -/** - * t4_read_cim_ibq - read the contents of a CIM inbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr; - const unsigned int nwords = CIM_IBQ_SIZE * 4; - - if (qid > 5 || (n & 3)) - return -EINVAL; - - addr = qid * nwords; - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | - F_IBQDBGEN); + for (i = 0; i < n; i++, addr++) { + t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | + F_IBQDBGEN); /* * It might take 3-10ms before the IBQ debug read access is * allowed. Wait for 1 Sec with a delay of 1 usec. @@ -6029,7 +5816,7 @@ void t4_pmrx_get_stats(struct adapter *a } /** - * get_mps_bg_map - return the buffer groups associated with a port + * t4_get_mps_bg_map - return the buffer groups associated with a port * @adap: the adapter * @idx: the port index * @@ -6037,7 +5824,7 @@ void t4_pmrx_get_stats(struct adapter *a * with the given port. Bit i is set if buffer group i is used by the * port. */ -static unsigned int get_mps_bg_map(struct adapter *adap, int idx) +static unsigned int t4_get_mps_bg_map(struct adapter *adap, int idx) { u32 n = G_NUMPORTS(t4_read_reg(adap, A_MPS_CMN_CTL)); @@ -6110,7 +5897,7 @@ void t4_get_port_stats_offset(struct ada */ void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p) { - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); #define GET_STAT(name) \ t4_read_reg64(adap, \ @@ -6193,7 +5980,7 @@ void t4_get_port_stats(struct adapter *a void t4_clr_port_stats(struct adapter *adap, int idx) { unsigned int i; - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); u32 port_base_addr; if (is_t4(adap)) @@ -6226,7 +6013,7 @@ void t4_clr_port_stats(struct adapter *a */ void t4_get_lb_stats(struct adapter *adap, int idx, struct lb_port_stats *p) { - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); #define GET_STAT(name) \ t4_read_reg64(adap, \ @@ -7702,21 +7489,43 @@ static void __devinit init_link_config(s } } -static int __devinit get_flash_params(struct adapter *adapter) +struct flash_desc { + u32 vendor_and_model_id; + u32 size_mb; +}; + +int t4_get_flash_params(struct adapter *adapter) { + /* + * Table for non-Numonix supported flash parts. Numonix parts are left + * to the preexisting well-tested code. All flash parts have 64KB + * sectors. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 8 08:13:39 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84E5AAC3E71; Tue, 8 Mar 2016 08:13:39 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6053C2CE; Tue, 8 Mar 2016 08:13:39 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288Dc2q079659; Tue, 8 Mar 2016 08:13:38 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288Dca5079656; Tue, 8 Mar 2016 08:13:38 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080813.u288Dca5079656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:13:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296490 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:13:39 -0000 Author: np Date: Tue Mar 8 08:13:37 2016 New Revision: 296490 URL: https://svnweb.freebsd.org/changeset/base/296490 Log: cxgbe(4): Remove __devinit and SPEED_ as part of catch up with internal shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/osdep.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:13:37 2016 (r296490) @@ -5359,7 +5359,7 @@ void t4_tp_wr_bits_indirect(struct adapt * * Initialize the congestion control parameters. */ -static void __devinit init_cong_ctrl(unsigned short *a, unsigned short *b) +static void init_cong_ctrl(unsigned short *a, unsigned short *b) { a[0] = a[1] = a[2] = a[3] = a[4] = a[5] = a[6] = a[7] = a[8] = 1; a[9] = 2; @@ -7400,13 +7400,13 @@ int t4_handle_fw_rpl(struct adapter *ada if (stat & F_FW_PORT_CMD_TXPAUSE) fc |= PAUSE_TX; if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100M)) - speed = SPEED_100; + speed = 100; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_1G)) - speed = SPEED_1000; + speed = 1000; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G)) - speed = SPEED_10000; + speed = 10000; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G)) - speed = SPEED_40000; + speed = 40000; for_each_port(adap, i) { pi = adap2pinfo(adap, i); @@ -7450,7 +7450,7 @@ int t4_handle_fw_rpl(struct adapter *ada * Determines a card's PCI mode and associated parameters, such as speed * and width. */ -static void __devinit get_pci_mode(struct adapter *adapter, +static void get_pci_mode(struct adapter *adapter, struct pci_params *p) { u16 val; @@ -7472,8 +7472,7 @@ static void __devinit get_pci_mode(struc * Initializes the SW state maintained for each link, including the link's * capabilities and default speed/flow-control/autonegotiation settings. */ -static void __devinit init_link_config(struct link_config *lc, - unsigned int caps) +static void init_link_config(struct link_config *lc, unsigned int caps) { lc->supported = caps; lc->requested_speed = 0; @@ -7546,7 +7545,7 @@ int t4_get_flash_params(struct adapter * return 0; } -static void __devinit set_pcie_completion_timeout(struct adapter *adapter, +static void set_pcie_completion_timeout(struct adapter *adapter, u8 range) { u16 val; Modified: head/sys/dev/cxgbe/osdep.h ============================================================================== --- head/sys/dev/cxgbe/osdep.h Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/osdep.h Tue Mar 8 08:13:37 2016 (r296490) @@ -85,16 +85,15 @@ typedef boolean_t bool; #define mdelay(x) DELAY((x) * 1000) #define udelay(x) DELAY(x) -#define __devinit #define simple_strtoul strtoul #define DIV_ROUND_UP(x, y) howmany(x, y) #define ARRAY_SIZE(x) nitems(x) #define container_of(p, s, f) ((s *)(((uint8_t *)(p)) - offsetof(s, f))) -#define swab16(x) bswap16(x) -#define swab32(x) bswap32(x) -#define swab64(x) bswap64(x) +#define swab16(x) bswap16(x) +#define swab32(x) bswap32(x) +#define swab64(x) bswap64(x) #define le16_to_cpu(x) le16toh(x) #define le32_to_cpu(x) le32toh(x) #define le64_to_cpu(x) le64toh(x) @@ -108,11 +107,6 @@ typedef boolean_t bool; #define cpu_to_be32(x) htobe32(x) #define cpu_to_be64(x) htobe64(x) -#define SPEED_10 10 -#define SPEED_100 100 -#define SPEED_1000 1000 -#define SPEED_10000 10000 -#define SPEED_40000 40000 #define DUPLEX_HALF 0 #define DUPLEX_FULL 1 #define AUTONEG_DISABLE 0 Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:13:37 2016 (r296490) @@ -1783,13 +1783,13 @@ cxgbe_media_status(struct ifnet *ifp, st return; ifmr->ifm_active = IFM_ETHER | IFM_FDX; - if (speed == SPEED_10000) + if (speed == 10000) ifmr->ifm_active |= IFM_10G_T; - else if (speed == SPEED_1000) + else if (speed == 1000) ifmr->ifm_active |= IFM_1000_T; - else if (speed == SPEED_100) + else if (speed == 100) ifmr->ifm_active |= IFM_100_TX; - else if (speed == SPEED_10) + else if (speed == 10) ifmr->ifm_active |= IFM_10_T; else KASSERT(0, ("%s: link up but speed unknown (%u)", __func__, From owner-svn-src-head@freebsd.org Tue Mar 8 08:39:55 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37ABFAC197B; Tue, 8 Mar 2016 08:39:55 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED82D265; Tue, 8 Mar 2016 08:39:54 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288dr1o086196; Tue, 8 Mar 2016 08:39:53 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288drge086194; Tue, 8 Mar 2016 08:39:53 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080839.u288drge086194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:39:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296491 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:39:55 -0000 Author: np Date: Tue Mar 8 08:39:53 2016 New Revision: 296491 URL: https://svnweb.freebsd.org/changeset/base/296491 Log: cxgbe(4): Updates to shared routines that get/set various parameters via the firmware. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:13:37 2016 (r296490) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:39:53 2016 (r296491) @@ -625,6 +625,13 @@ int t4_fw_initialize(struct adapter *ada int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int nparams, const u32 *params, u32 *val); +int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val, int rw); +int t4_set_params_timeout(struct adapter *adap, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int nparams, const u32 *params, + const u32 *val, int timeout); int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int nparams, const u32 *params, const u32 *val); @@ -653,6 +660,8 @@ int t4_change_mac(struct adapter *adap, int idx, const u8 *addr, bool persist, bool add_smt); int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid, bool ucast, u64 vec, bool sleep_ok); +int t4_enable_vi_params(struct adapter *adap, unsigned int mbox, + unsigned int viid, bool rx_en, bool tx_en, bool dcb_en); int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid, bool rx_en, bool tx_en); int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:13:37 2016 (r296490) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:39:53 2016 (r296491) @@ -6775,7 +6775,7 @@ int t4_fw_initialize(struct adapter *ada } /** - * t4_query_params - query FW or device parameters + * t4_query_params_rw - query FW or device parameters * @adap: the adapter * @mbox: mailbox to use for the FW command * @pf: the PF @@ -6783,13 +6783,14 @@ int t4_fw_initialize(struct adapter *ada * @nparams: the number of parameters * @params: the parameter names * @val: the parameter values + * @rw: Write and read flag * * Reads the value of FW or device parameters. Up to 7 parameters can be * queried at once. */ -int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, - unsigned int vf, unsigned int nparams, const u32 *params, - u32 *val) +int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val, int rw) { int i, ret; struct fw_params_cmd c; @@ -6799,21 +6800,73 @@ int t4_query_params(struct adapter *adap return -EINVAL; memset(&c, 0, sizeof(c)); - c.op_to_vfn = htonl(V_FW_CMD_OP(FW_PARAMS_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_READ | V_FW_PARAMS_CMD_PFN(pf) | - V_FW_PARAMS_CMD_VFN(vf)); - c.retval_len16 = htonl(FW_LEN16(c)); - - for (i = 0; i < nparams; i++, p += 2, params++) - *p = htonl(*params); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + + for (i = 0; i < nparams; i++) { + *p++ = cpu_to_be32(*params++); + if (rw) + *p = cpu_to_be32(*(val + i)); + p++; + } ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); if (ret == 0) for (i = 0, p = &c.param[0].val; i < nparams; i++, p += 2) - *val++ = ntohl(*p); + *val++ = be32_to_cpu(*p); return ret; } +int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val) +{ + return t4_query_params_rw(adap, mbox, pf, vf, nparams, params, val, 0); +} + +/** + * t4_set_params_timeout - sets FW or device parameters + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF + * @vf: the VF + * @nparams: the number of parameters + * @params: the parameter names + * @val: the parameter values + * @timeout: the timeout time + * + * Sets the value of FW or device parameters. Up to 7 parameters can be + * specified at once. + */ +int t4_set_params_timeout(struct adapter *adap, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int nparams, const u32 *params, + const u32 *val, int timeout) +{ + struct fw_params_cmd c; + __be32 *p = &c.param[0].mnem; + + if (nparams > 7) + return -EINVAL; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + + while (nparams--) { + *p++ = cpu_to_be32(*params++); + *p++ = cpu_to_be32(*val++); + } + + return t4_wr_mbox_timeout(adap, mbox, &c, sizeof(c), NULL, timeout); +} + /** * t4_set_params - sets FW or device parameters * @adap: the adapter @@ -6831,26 +6884,8 @@ int t4_set_params(struct adapter *adap, unsigned int vf, unsigned int nparams, const u32 *params, const u32 *val) { - struct fw_params_cmd c; - __be32 *p = &c.param[0].mnem; - - if (nparams > 7) - return -EINVAL; - - memset(&c, 0, sizeof(c)); - c.op_to_vfn = htonl(V_FW_CMD_OP(FW_PARAMS_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_PARAMS_CMD_PFN(pf) | - V_FW_PARAMS_CMD_VFN(vf)); - c.retval_len16 = htonl(FW_LEN16(c)); - - while (nparams--) { - *p++ = htonl(*params); - params++; - *p++ = htonl(*val); - val++; - } - - return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); + return t4_set_params_timeout(adap, mbox, pf, vf, nparams, params, val, + FW_CMD_MAX_TIMEOUT); } /** @@ -7225,6 +7260,34 @@ int t4_set_addr_hash(struct adapter *ada } /** + * t4_enable_vi_params - enable/disable a virtual interface + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @viid: the VI id + * @rx_en: 1=enable Rx, 0=disable Rx + * @tx_en: 1=enable Tx, 0=disable Tx + * @dcb_en: 1=enable delivery of Data Center Bridging messages. + * + * Enables/disables a virtual interface. Note that setting DCB Enable + * only makes sense when enabling a Virtual Interface ... + */ +int t4_enable_vi_params(struct adapter *adap, unsigned int mbox, + unsigned int viid, bool rx_en, bool tx_en, bool dcb_en) +{ + struct fw_vi_enable_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_VI_ENABLE_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_VI_ENABLE_CMD_VIID(viid)); + c.ien_to_len16 = cpu_to_be32(V_FW_VI_ENABLE_CMD_IEN(rx_en) | + V_FW_VI_ENABLE_CMD_EEN(tx_en) | + V_FW_VI_ENABLE_CMD_DCB_INFO(dcb_en) | + FW_LEN16(c)); + return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL); +} + +/** * t4_enable_vi - enable/disable a virtual interface * @adap: the adapter * @mbox: mailbox to use for the FW command @@ -7232,19 +7295,13 @@ int t4_set_addr_hash(struct adapter *ada * @rx_en: 1=enable Rx, 0=disable Rx * @tx_en: 1=enable Tx, 0=disable Tx * - * Enables/disables a virtual interface. + * Enables/disables a virtual interface. Note that setting DCB Enable + * only makes sense when enabling a Virtual Interface ... */ int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid, bool rx_en, bool tx_en) { - struct fw_vi_enable_cmd c; - - memset(&c, 0, sizeof(c)); - c.op_to_viid = htonl(V_FW_CMD_OP(FW_VI_ENABLE_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_VI_ENABLE_CMD_VIID(viid)); - c.ien_to_len16 = htonl(V_FW_VI_ENABLE_CMD_IEN(rx_en) | - V_FW_VI_ENABLE_CMD_EEN(tx_en) | FW_LEN16(c)); - return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); + return t4_enable_vi_params(adap, mbox, viid, rx_en, tx_en, 0); } /** From owner-svn-src-head@freebsd.org Tue Mar 8 08:57:55 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 376E1AC23F7; Tue, 8 Mar 2016 08:57:55 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 09F7ACD; Tue, 8 Mar 2016 08:57:54 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288vsX8092375; Tue, 8 Mar 2016 08:57:54 GMT (envelope-from sgalabov@FreeBSD.org) Received: (from sgalabov@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288vsRj092374; Tue, 8 Mar 2016 08:57:54 GMT (envelope-from sgalabov@FreeBSD.org) Message-Id: <201603080857.u288vsRj092374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sgalabov set sender to sgalabov@FreeBSD.org using -f From: Stanislav Galabov Date: Tue, 8 Mar 2016 08:57:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296492 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:57:55 -0000 Author: sgalabov Date: Tue Mar 8 08:57:53 2016 New Revision: 296492 URL: https://svnweb.freebsd.org/changeset/base/296492 Log: Add MIPS_INTRNG to sys/conf/options.mips This was somehow missed in the commit of https://reviews.freebsd.org/D5182 although it was in the original diff submitted for review. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5568 Modified: head/sys/conf/options.mips Modified: head/sys/conf/options.mips ============================================================================== --- head/sys/conf/options.mips Tue Mar 8 08:39:53 2016 (r296491) +++ head/sys/conf/options.mips Tue Mar 8 08:57:53 2016 (r296492) @@ -140,3 +140,8 @@ RT305X_USE_UART opt_rt305x.h # Options that affect the pmap. # PV_STATS opt_pmap.h + +# +# Options to use INTRNG code +# +MIPS_INTRNG opt_global.h From owner-svn-src-head@freebsd.org Tue Mar 8 08:59:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 268AFAC24F3; Tue, 8 Mar 2016 08:59:36 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCB99302; Tue, 8 Mar 2016 08:59:35 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288xYNL092477; Tue, 8 Mar 2016 08:59:34 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288xYNL092474; Tue, 8 Mar 2016 08:59:34 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080859.u288xYNL092474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:59:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296493 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:59:36 -0000 Author: np Date: Tue Mar 8 08:59:34 2016 New Revision: 296493 URL: https://svnweb.freebsd.org/changeset/base/296493 Log: cxgbe(4): Use t4_link_down_rc_str in shared code to decode the reason the link is down, instead of doing it in OS specific code. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:59:34 2016 (r296493) @@ -692,6 +692,7 @@ int t4_sge_ctxt_rd(struct adapter *adap, int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned int cid, enum ctxt_type ctype, u32 *data); int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox); +const char *t4_link_down_rc_str(unsigned char link_down_rc); int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl); int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val); int t4_sched_config(struct adapter *adapter, int type, int minmaxen, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:59:34 2016 (r296493) @@ -7430,6 +7430,31 @@ int t4_ofld_eq_free(struct adapter *adap } /** + * t4_link_down_rc_str - return a string for a Link Down Reason Code + * @link_down_rc: Link Down Reason Code + * + * Returns a string representation of the Link Down Reason Code. + */ +const char *t4_link_down_rc_str(unsigned char link_down_rc) +{ + static const char *reason[] = { + "Link Down", + "Remote Fault", + "Auto-negotiation Failure", + "Reserved3", + "Insufficient Airflow", + "Unable To Determine Reason", + "No RX Signal Detected", + "Reserved7", + }; + + if (link_down_rc >= ARRAY_SIZE(reason)) + return "Bad Reason Code"; + + return reason[link_down_rc]; +} + +/** * t4_handle_fw_rpl - process a FW reply message * @adap: the adapter * @rpl: start of the FW message Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:59:34 2016 (r296493) @@ -6020,10 +6020,6 @@ sysctl_linkdnrc(SYSCTL_HANDLER_ARGS) int rc = 0; struct port_info *pi = arg1; struct sbuf *sb; - static const char *linkdnreasons[] = { - "non-specific", "remote fault", "autoneg failed", "reserved3", - "PHY overheated", "unknown", "rx los", "reserved7" - }; rc = sysctl_wire_old_buffer(req, 0); if (rc != 0) @@ -6034,10 +6030,8 @@ sysctl_linkdnrc(SYSCTL_HANDLER_ARGS) if (pi->linkdnrc < 0) sbuf_printf(sb, "n/a"); - else if (pi->linkdnrc < nitems(linkdnreasons)) - sbuf_printf(sb, "%s", linkdnreasons[pi->linkdnrc]); else - sbuf_printf(sb, "%d", pi->linkdnrc); + sbuf_printf(sb, "%s", t4_link_down_rc_str(pi->linkdnrc)); rc = sbuf_finish(sb); sbuf_delete(sb); From owner-svn-src-head@freebsd.org Tue Mar 8 09:34:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A16FAC36BA; Tue, 8 Mar 2016 09:34:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF56D8A8; Tue, 8 Mar 2016 09:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u289YuGc004541; Tue, 8 Mar 2016 09:34:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u289YunV004539; Tue, 8 Mar 2016 09:34:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080934.u289YunV004539@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 09:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296494 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 09:34:58 -0000 Author: np Date: Tue Mar 8 09:34:56 2016 New Revision: 296494 URL: https://svnweb.freebsd.org/changeset/base/296494 Log: cxgbe(4): Many new functions in the shared code, unused at this time. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:59:34 2016 (r296493) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 09:34:56 2016 (r296494) @@ -338,6 +338,18 @@ struct adapter_params { #define CHELSIO_T5 0x5 #define CHELSIO_T6 0x6 +/* + * State needed to monitor the forward progress of SGE Ingress DMA activities + * and possible hangs. + */ +struct sge_idma_monitor_state { + unsigned int idma_1s_thresh; /* 1s threshold in Core Clock ticks */ + unsigned int idma_stalled[2]; /* synthesized stalled timers in HZ */ + unsigned int idma_state[2]; /* IDMA Hang detect state */ + unsigned int idma_qid[2]; /* IDMA Hung Ingress Queue ID */ + unsigned int idma_warn[2]; /* time to warning in HZ */ +}; + struct trace_params { u32 data[TRACE_LEN / 4]; u32 mask[TRACE_LEN / 4]; @@ -502,6 +514,8 @@ int t4_read_flash(struct adapter *adapte int t4_write_flash(struct adapter *adapter, unsigned int addr, unsigned int n, const u8 *data, int byte_oriented); int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size); +int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op); +int t5_fw_init_extern_mem(struct adapter *adap); int t4_load_bootcfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_load_boot(struct adapter *adap, u8 *boot_data, unsigned int boot_addr, unsigned int size); @@ -510,9 +524,12 @@ int t4_flash_cfg_addr(struct adapter *ad int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); +int t4_get_exprom_version(struct adapter *adapter, u32 *vers); int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter, u8 *buf); +int t4_shutdown_adapter(struct adapter *adapter); +int t4_init_devlog_params(struct adapter *adapter, int fw_attach); int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); @@ -562,11 +579,18 @@ void t4_cim_read_pif_la(struct adapter * unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr); void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp); int t4_get_flash_params(struct adapter *adapter); + +u32 t4_read_pcie_cfg4(struct adapter *adap, int reg, int drv_fw_attach); int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_mem_read(struct adapter *adap, int mtype, u32 addr, u32 size, __be32 *data); +void t4_idma_monitor_init(struct adapter *adapter, + struct sge_idma_monitor_state *idma); +void t4_idma_monitor(struct adapter *adapter, + struct sge_idma_monitor_state *idma, + int hz, int ticks); unsigned int t4_get_regs_len(struct adapter *adapter); void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size); @@ -678,6 +702,9 @@ int t4_i2c_wr(struct adapter *adap, unsi int port, unsigned int devid, unsigned int offset, unsigned int len, u8 *buf); +int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int iqtype, unsigned int iqid, + unsigned int fl0id, unsigned int fl1id); int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int iqtype, unsigned int iqid, unsigned int fl0id, unsigned int fl1id); @@ -701,4 +728,10 @@ int t4_sched_params(struct adapter *adap int rateunit, int ratemode, int channel, int cl, int minrate, int maxrate, int weight, int pktsize, int sleep_ok); +int t4_config_watchdog(struct adapter *adapter, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int timeout, unsigned int action); +int t4_get_devlog_level(struct adapter *adapter, unsigned int *level); +int t4_set_devlog_level(struct adapter *adapter, unsigned int level); +void t4_sge_decode_idma_state(struct adapter *adapter, int state); #endif /* __CHELSIO_COMMON_H */ Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:59:34 2016 (r296493) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:34:56 2016 (r296494) @@ -636,6 +636,56 @@ int t4_mem_read(struct adapter *adap, in return 0; } +/* + * Return the specified PCI-E Configuration Space register from our Physical + * Function. We try first via a Firmware LDST Command (if fw_attach != 0) + * since we prefer to let the firmware own all of these registers, but if that + * fails we go for it directly ourselves. + */ +u32 t4_read_pcie_cfg4(struct adapter *adap, int reg, int drv_fw_attach) +{ + + /* + * If fw_attach != 0, construct and send the Firmware LDST Command to + * retrieve the specified PCI-E Configuration Space register. + */ + if (drv_fw_attach != 0) { + struct fw_ldst_cmd ldst_cmd; + int ret; + + memset(&ldst_cmd, 0, sizeof(ldst_cmd)); + ldst_cmd.op_to_addrspace = + cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_READ | + V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FUNC_PCIE)); + ldst_cmd.cycles_to_len16 = cpu_to_be32(FW_LEN16(ldst_cmd)); + ldst_cmd.u.pcie.select_naccess = V_FW_LDST_CMD_NACCESS(1); + ldst_cmd.u.pcie.ctrl_to_fn = + (F_FW_LDST_CMD_LC | V_FW_LDST_CMD_FN(adap->pf)); + ldst_cmd.u.pcie.r = reg; + + /* + * If the LDST Command succeeds, return the result, otherwise + * fall through to reading it directly ourselves ... + */ + ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd, sizeof(ldst_cmd), + &ldst_cmd); + if (ret == 0) + return be32_to_cpu(ldst_cmd.u.pcie.data[0]); + + CH_WARN(adap, "Firmware failed to return " + "Configuration Space register %d, err = %d\n", + reg, -ret); + } + + /* + * Read the desired Configuration Space register via the PCI-E + * Backdoor mechanism. + */ + return t4_hw_pci_read_cfg4(adap, reg); +} + /** * t4_get_regs_len - return the size of the chips register set * @adapter: the adapter @@ -3116,6 +3166,43 @@ int t4_get_tp_version(struct adapter *ad } /** + * t4_get_exprom_version - return the Expansion ROM version (if any) + * @adapter: the adapter + * @vers: where to place the version + * + * Reads the Expansion ROM header from FLASH and returns the version + * number (if present) through the @vers return value pointer. We return + * this in the Firmware Version Format since it's convenient. Return + * 0 on success, -ENOENT if no Expansion ROM is present. + */ +int t4_get_exprom_version(struct adapter *adap, u32 *vers) +{ + struct exprom_header { + unsigned char hdr_arr[16]; /* must start with 0x55aa */ + unsigned char hdr_ver[4]; /* Expansion ROM version */ + } *hdr; + u32 exprom_header_buf[DIV_ROUND_UP(sizeof(struct exprom_header), + sizeof(u32))]; + int ret; + + ret = t4_read_flash(adap, FLASH_EXP_ROM_START, + ARRAY_SIZE(exprom_header_buf), exprom_header_buf, + 0); + if (ret) + return ret; + + hdr = (struct exprom_header *)exprom_header_buf; + if (hdr->hdr_arr[0] != 0x55 || hdr->hdr_arr[1] != 0xaa) + return -ENOENT; + + *vers = (V_FW_HDR_FW_VER_MAJOR(hdr->hdr_ver[0]) | + V_FW_HDR_FW_VER_MINOR(hdr->hdr_ver[1]) | + V_FW_HDR_FW_VER_MICRO(hdr->hdr_ver[2]) | + V_FW_HDR_FW_VER_BUILD(hdr->hdr_ver[3])); + return 0; +} + +/** * t4_check_fw_version - check if the FW is compatible with this driver * @adapter: the adapter * @@ -3319,6 +3406,30 @@ out: } /** + * t4_fwcache - firmware cache operation + * @adap: the adapter + * @op : the operation (flush or flush and invalidate) + */ +int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op) +{ + struct fw_params_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = + cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(adap->pf) | + V_FW_PARAMS_CMD_VFN(0)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + c.param[0].mnem = + cpu_to_be32(V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_FWCACHE)); + c.param[0].val = (__force __be32)op; + + return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL); +} + +/** * t4_read_cimq_cfg - read CIM queue configuration * @adap: the adapter * @base: holds the queue base addresses in bytes @@ -6251,6 +6362,163 @@ int t4_mdio_wr(struct adapter *adap, uns } /** + * + * t4_sge_decode_idma_state - decode the idma state + * @adap: the adapter + * @state: the state idma is stuck in + */ +void t4_sge_decode_idma_state(struct adapter *adapter, int state) +{ + static const char * const t4_decode[] = { + "IDMA_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "Not used", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATA_FL_PREP", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + "IDMA_FL_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATAFL_DONE", + "IDMA_FL_REQ_HEADERFL_DONE", + }; + static const char * const t5_decode[] = { + "IDMA_IDLE", + "IDMA_ALMOST_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "IDMA_SGEFLRFLUSH_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_DROP_SEND_INC", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + }; + static const char * const t6_decode[] = { + "IDMA_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "IDMA_SGEFLRFLUSH_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_DROP_SEND_INC", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + }; + static const u32 sge_regs[] = { + A_SGE_DEBUG_DATA_LOW_INDEX_2, + A_SGE_DEBUG_DATA_LOW_INDEX_3, + A_SGE_DEBUG_DATA_HIGH_INDEX_10, + }; + const char * const *sge_idma_decode; + int sge_idma_decode_nstates; + int i; + unsigned int chip_version = chip_id(adapter); + + /* Select the right set of decode strings to dump depending on the + * adapter chip type. + */ + switch (chip_version) { + case CHELSIO_T4: + sge_idma_decode = (const char * const *)t4_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t4_decode); + break; + + case CHELSIO_T5: + sge_idma_decode = (const char * const *)t5_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t5_decode); + break; + + case CHELSIO_T6: + sge_idma_decode = (const char * const *)t6_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t6_decode); + break; + + default: + CH_ERR(adapter, "Unsupported chip version %d\n", chip_version); + return; + } + + if (state < sge_idma_decode_nstates) + CH_WARN(adapter, "idma state %s\n", sge_idma_decode[state]); + else + CH_WARN(adapter, "idma state %d unknown\n", state); + + for (i = 0; i < ARRAY_SIZE(sge_regs); i++) + CH_WARN(adapter, "SGE register %#x value %#x\n", + sge_regs[i], t4_read_reg(adapter, sge_regs[i])); +} + +/** * t4_i2c_rd - read I2C data from adapter * @adap: the adapter * @port: Port number if per-port device; <0 if not @@ -7327,6 +7595,39 @@ int t4_identify_port(struct adapter *ada } /** + * t4_iq_stop - stop an ingress queue and its FLs + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF owning the queues + * @vf: the VF owning the queues + * @iqtype: the ingress queue type (FW_IQ_TYPE_FL_INT_CAP, etc.) + * @iqid: ingress queue id + * @fl0id: FL0 queue id or 0xffff if no attached FL0 + * @fl1id: FL1 queue id or 0xffff if no attached FL1 + * + * Stops an ingress queue and its associated FLs, if any. This causes + * any current or future data/messages destined for these queues to be + * tossed. + */ +int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int iqtype, unsigned int iqid, + unsigned int fl0id, unsigned int fl1id) +{ + struct fw_iq_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_IQ_CMD) | F_FW_CMD_REQUEST | + F_FW_CMD_EXEC | V_FW_IQ_CMD_PFN(pf) | + V_FW_IQ_CMD_VFN(vf)); + c.alloc_to_len16 = cpu_to_be32(F_FW_IQ_CMD_IQSTOP | FW_LEN16(c)); + c.type_to_iqandstindex = cpu_to_be32(V_FW_IQ_CMD_TYPE(iqtype)); + c.iqid = cpu_to_be16(iqid); + c.fl0id = cpu_to_be16(fl0id); + c.fl1id = cpu_to_be16(fl1id); + return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); +} + +/** * t4_iq_free - free an ingress queue and its FLs * @adap: the adapter * @mbox: mailbox to use for the FW command @@ -7761,6 +8062,106 @@ int t4_prep_adapter(struct adapter *adap } /** + * t4_shutdown_adapter - shut down adapter, host & wire + * @adapter: the adapter + * + * Perform an emergency shutdown of the adapter and stop it from + * continuing any further communication on the ports or DMA to the + * host. This is typically used when the adapter and/or firmware + * have crashed and we want to prevent any further accidental + * communication with the rest of the world. This will also force + * the port Link Status to go down -- if register writes work -- + * which should help our peers figure out that we're down. + */ +int t4_shutdown_adapter(struct adapter *adapter) +{ + int port; + + t4_intr_disable(adapter); + t4_write_reg(adapter, A_DBG_GPIO_EN, 0); + for_each_port(adapter, port) { + u32 a_port_cfg = PORT_REG(port, + is_t4(adapter) + ? A_XGMAC_PORT_CFG + : A_MAC_PORT_CFG); + + t4_write_reg(adapter, a_port_cfg, + t4_read_reg(adapter, a_port_cfg) + & ~V_SIGNAL_DET(1)); + } + t4_set_reg_field(adapter, A_SGE_CONTROL, F_GLOBALENABLE, 0); + + return 0; +} + +/** + * t4_init_devlog_params - initialize adapter->params.devlog + * @adap: the adapter + * @fw_attach: whether we can talk to the firmware + * + * Initialize various fields of the adapter's Firmware Device Log + * Parameters structure. + */ +int t4_init_devlog_params(struct adapter *adap, int fw_attach) +{ + struct devlog_params *dparams = &adap->params.devlog; + u32 pf_dparams; + unsigned int devlog_meminfo; + struct fw_devlog_cmd devlog_cmd; + int ret; + + /* If we're dealing with newer firmware, the Device Log Paramerters + * are stored in a designated register which allows us to access the + * Device Log even if we can't talk to the firmware. + */ + pf_dparams = + t4_read_reg(adap, PCIE_FW_REG(A_PCIE_FW_PF, PCIE_FW_PF_DEVLOG)); + if (pf_dparams) { + unsigned int nentries, nentries128; + + dparams->memtype = G_PCIE_FW_PF_DEVLOG_MEMTYPE(pf_dparams); + dparams->start = G_PCIE_FW_PF_DEVLOG_ADDR16(pf_dparams) << 4; + + nentries128 = G_PCIE_FW_PF_DEVLOG_NENTRIES128(pf_dparams); + nentries = (nentries128 + 1) * 128; + dparams->size = nentries * sizeof(struct fw_devlog_e); + + return 0; + } + + /* + * For any failing returns ... + */ + memset(dparams, 0, sizeof *dparams); + + /* + * If we can't talk to the firmware, there's really nothing we can do + * at this point. + */ + if (!fw_attach) + return -ENXIO; + + /* Otherwise, ask the firmware for it's Device Log Parameters. + */ + memset(&devlog_cmd, 0, sizeof devlog_cmd); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ); + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + ret = t4_wr_mbox(adap, adap->mbox, &devlog_cmd, sizeof(devlog_cmd), + &devlog_cmd); + if (ret) + return ret; + + devlog_meminfo = + be32_to_cpu(devlog_cmd.memtype_devlog_memaddr16_devlog); + dparams->memtype = G_FW_DEVLOG_CMD_MEMTYPE_DEVLOG(devlog_meminfo); + dparams->start = G_FW_DEVLOG_CMD_MEMADDR16_DEVLOG(devlog_meminfo) << 4; + dparams->size = be32_to_cpu(devlog_cmd.memsize_devlog); + + return 0; +} + +/** * t4_init_sge_params - initialize adap->params.sge * @adapter: the adapter * @@ -8020,6 +8421,156 @@ int t4_port_init(struct adapter *adap, i return 0; } +/* + * SGE Hung Ingress DMA Warning Threshold time and Warning Repeat Rate (in + * seconds). If we find one of the SGE Ingress DMA State Machines in the same + * state for more than the Warning Threshold then we'll issue a warning about + * a potential hang. We'll repeat the warning as the SGE Ingress DMA Channel + * appears to be hung every Warning Repeat second till the situation clears. + * If the situation clears, we'll note that as well. + */ +#define SGE_IDMA_WARN_THRESH 1 +#define SGE_IDMA_WARN_REPEAT 300 + +/** + * t4_idma_monitor_init - initialize SGE Ingress DMA Monitor + * @adapter: the adapter + * @idma: the adapter IDMA Monitor state + * + * Initialize the state of an SGE Ingress DMA Monitor. + */ +void t4_idma_monitor_init(struct adapter *adapter, + struct sge_idma_monitor_state *idma) +{ + /* Initialize the state variables for detecting an SGE Ingress DMA + * hang. The SGE has internal counters which count up on each clock + * tick whenever the SGE finds its Ingress DMA State Engines in the + * same state they were on the previous clock tick. The clock used is + * the Core Clock so we have a limit on the maximum "time" they can + * record; typically a very small number of seconds. For instance, + * with a 600MHz Core Clock, we can only count up to a bit more than + * 7s. So we'll synthesize a larger counter in order to not run the + * risk of having the "timers" overflow and give us the flexibility to + * maintain a Hung SGE State Machine of our own which operates across + * a longer time frame. + */ + idma->idma_1s_thresh = core_ticks_per_usec(adapter) * 1000000; /* 1s */ + idma->idma_stalled[0] = idma->idma_stalled[1] = 0; +} + +/** + * t4_idma_monitor - monitor SGE Ingress DMA state + * @adapter: the adapter + * @idma: the adapter IDMA Monitor state + * @hz: number of ticks/second + * @ticks: number of ticks since the last IDMA Monitor call + */ +void t4_idma_monitor(struct adapter *adapter, + struct sge_idma_monitor_state *idma, + int hz, int ticks) +{ + int i, idma_same_state_cnt[2]; + + /* Read the SGE Debug Ingress DMA Same State Count registers. These + * are counters inside the SGE which count up on each clock when the + * SGE finds its Ingress DMA State Engines in the same states they + * were in the previous clock. The counters will peg out at + * 0xffffffff without wrapping around so once they pass the 1s + * threshold they'll stay above that till the IDMA state changes. + */ + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 13); + idma_same_state_cnt[0] = t4_read_reg(adapter, A_SGE_DEBUG_DATA_HIGH); + idma_same_state_cnt[1] = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + + for (i = 0; i < 2; i++) { + u32 debug0, debug11; + + /* If the Ingress DMA Same State Counter ("timer") is less + * than 1s, then we can reset our synthesized Stall Timer and + * continue. If we have previously emitted warnings about a + * potential stalled Ingress Queue, issue a note indicating + * that the Ingress Queue has resumed forward progress. + */ + if (idma_same_state_cnt[i] < idma->idma_1s_thresh) { + if (idma->idma_stalled[i] >= SGE_IDMA_WARN_THRESH*hz) + CH_WARN(adapter, "SGE idma%d, queue %u, " + "resumed after %d seconds\n", + i, idma->idma_qid[i], + idma->idma_stalled[i]/hz); + idma->idma_stalled[i] = 0; + continue; + } + + /* Synthesize an SGE Ingress DMA Same State Timer in the Hz + * domain. The first time we get here it'll be because we + * passed the 1s Threshold; each additional time it'll be + * because the RX Timer Callback is being fired on its regular + * schedule. + * + * If the stall is below our Potential Hung Ingress Queue + * Warning Threshold, continue. + */ + if (idma->idma_stalled[i] == 0) { + idma->idma_stalled[i] = hz; + idma->idma_warn[i] = 0; + } else { + idma->idma_stalled[i] += ticks; + idma->idma_warn[i] -= ticks; + } + + if (idma->idma_stalled[i] < SGE_IDMA_WARN_THRESH*hz) + continue; + + /* We'll issue a warning every SGE_IDMA_WARN_REPEAT seconds. + */ + if (idma->idma_warn[i] > 0) + continue; + idma->idma_warn[i] = SGE_IDMA_WARN_REPEAT*hz; + + /* Read and save the SGE IDMA State and Queue ID information. + * We do this every time in case it changes across time ... + * can't be too careful ... + */ + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 0); + debug0 = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + idma->idma_state[i] = (debug0 >> (i * 9)) & 0x3f; + + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 11); + debug11 = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + idma->idma_qid[i] = (debug11 >> (i * 16)) & 0xffff; + + CH_WARN(adapter, "SGE idma%u, queue %u, potentially stuck in " + " state %u for %d seconds (debug0=%#x, debug11=%#x)\n", + i, idma->idma_qid[i], idma->idma_state[i], + idma->idma_stalled[i]/hz, + debug0, debug11); + t4_sge_decode_idma_state(adapter, idma->idma_state[i]); + } +} + +/** + * t5_fw_init_extern_mem - initialize the external memory + * @adap: the adapter + * + * Initializes the external memory on T5. + */ +int t5_fw_init_extern_mem(struct adapter *adap) +{ + u32 params[1], val[1]; + int ret; + + if (!is_t5(adap)) + return 0; + + val[0] = 0xff; /* Initialize all MCs */ + params[0] = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_MCINIT)); + ret = t4_set_params_timeout(adap, adap->mbox, adap->pf, 0, 1, params, val, + FW_CMD_MAX_TIMEOUT); + + return ret; +} + /* BIOS boot headers */ typedef struct pci_expansion_rom_header { u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ @@ -8454,3 +9005,78 @@ int t4_sched_params(struct adapter *adap return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd), NULL, sleep_ok); } + +/* + * t4_config_watchdog - configure (enable/disable) a watchdog timer + * @adapter: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF owning the queue + * @vf: the VF owning the queue + * @timeout: watchdog timeout in ms + * @action: watchdog timer / action + * + * There are separate watchdog timers for each possible watchdog + * action. Configure one of the watchdog timers by setting a non-zero + * timeout. Disable a watchdog timer by using a timeout of zero. + */ +int t4_config_watchdog(struct adapter *adapter, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int timeout, unsigned int action) +{ + struct fw_watchdog_cmd wdog; + unsigned int ticks; + + /* + * The watchdog command expects a timeout in units of 10ms so we need + * to convert it here (via rounding) and force a minimum of one 10ms + * "tick" if the timeout is non-zero but the convertion results in 0 + * ticks. + */ + ticks = (timeout + 5)/10; + if (timeout && !ticks) + ticks = 1; + + memset(&wdog, 0, sizeof wdog); + wdog.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_WATCHDOG_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + wdog.retval_len16 = cpu_to_be32(FW_LEN16(wdog)); + wdog.timeout = cpu_to_be32(ticks); + wdog.action = cpu_to_be32(action); + + return t4_wr_mbox(adapter, mbox, &wdog, sizeof wdog, NULL); +} + +int t4_get_devlog_level(struct adapter *adapter, unsigned int *level) +{ + struct fw_devlog_cmd devlog_cmd; + int ret; + + memset(&devlog_cmd, 0, sizeof(devlog_cmd)); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ); + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + ret = t4_wr_mbox(adapter, adapter->mbox, &devlog_cmd, + sizeof(devlog_cmd), &devlog_cmd); + if (ret) + return ret; + + *level = devlog_cmd.level; + return 0; +} + +int t4_set_devlog_level(struct adapter *adapter, unsigned int level) +{ + struct fw_devlog_cmd devlog_cmd; + + memset(&devlog_cmd, 0, sizeof(devlog_cmd)); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE); + devlog_cmd.level = level; + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + return t4_wr_mbox(adapter, adapter->mbox, &devlog_cmd, + sizeof(devlog_cmd), &devlog_cmd); +} From owner-svn-src-head@freebsd.org Tue Mar 8 09:40:46 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E2D7AC3923; Tue, 8 Mar 2016 09:40:46 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3FEEAB2B; Tue, 8 Mar 2016 09:40:46 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u289ejP2004774; Tue, 8 Mar 2016 09:40:45 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u289ejB8004773; Tue, 8 Mar 2016 09:40:45 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080940.u289ejB8004773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 09:40:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296495 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 09:40:46 -0000 Author: np Date: Tue Mar 8 09:40:45 2016 New Revision: 296495 URL: https://svnweb.freebsd.org/changeset/base/296495 Log: cxgbe(4): Fix t4_tp_get_rdma_stats. Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:34:56 2016 (r296494) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:40:45 2016 (r296495) @@ -5340,7 +5340,7 @@ void t4_tp_get_cpl_stats(struct adapter */ void t4_tp_get_rdma_stats(struct adapter *adap, struct tp_rdma_stats *st) { - t4_read_indirect(adap, A_TP_MIB_INDEX, A_TP_MIB_DATA, &st->rqe_dfr_mod, + t4_read_indirect(adap, A_TP_MIB_INDEX, A_TP_MIB_DATA, &st->rqe_dfr_pkt, 2, A_TP_MIB_RQE_DFR_PKT); } From owner-svn-src-head@freebsd.org Tue Mar 8 10:07:42 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B728AC789E; Tue, 8 Mar 2016 10:07:42 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22E51673; Tue, 8 Mar 2016 10:07:42 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28A7fvR013482; Tue, 8 Mar 2016 10:07:41 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28A7fMM013480; Tue, 8 Mar 2016 10:07:41 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603081007.u28A7fMM013480@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 10:07:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296496 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 10:07:42 -0000 Author: np Date: Tue Mar 8 10:07:40 2016 New Revision: 296496 URL: https://svnweb.freebsd.org/changeset/base/296496 Log: cxgbe(4): Minor updates to the shared routines that deal with firmware images. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 09:40:45 2016 (r296495) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 10:07:40 2016 (r296496) @@ -525,7 +525,6 @@ int t4_load_cfg(struct adapter *adapter, int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); int t4_get_exprom_version(struct adapter *adapter, u32 *vers); -int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter, u8 *buf); int t4_shutdown_adapter(struct adapter *adapter); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:40:45 2016 (r296495) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 10:07:40 2016 (r296496) @@ -3146,8 +3146,8 @@ unlock: */ int t4_get_fw_version(struct adapter *adapter, u32 *vers) { - return t4_read_flash(adapter, - FLASH_FW_START + offsetof(struct fw_hdr, fw_ver), 1, + return t4_read_flash(adapter, FLASH_FW_START + + offsetof(struct fw_hdr, fw_ver), 1, vers, 0); } @@ -3160,8 +3160,8 @@ int t4_get_fw_version(struct adapter *ad */ int t4_get_tp_version(struct adapter *adapter, u32 *vers) { - return t4_read_flash(adapter, FLASH_FW_START + offsetof(struct fw_hdr, - tp_microcode_ver), + return t4_read_flash(adapter, FLASH_FW_START + + offsetof(struct fw_hdr, tp_microcode_ver), 1, vers, 0); } @@ -3203,60 +3203,6 @@ int t4_get_exprom_version(struct adapter } /** - * t4_check_fw_version - check if the FW is compatible with this driver - * @adapter: the adapter - * - * Checks if an adapter's FW is compatible with the driver. Returns 0 - * if there's exact match, a negative error if the version could not be - * read or there's a major version mismatch, and a positive value if the - * expected major version is found but there's a minor version mismatch. - */ -int t4_check_fw_version(struct adapter *adapter) -{ - int ret, major, minor, micro; - int exp_major, exp_minor, exp_micro; - - ret = t4_get_fw_version(adapter, &adapter->params.fw_vers); - if (!ret) - ret = t4_get_tp_version(adapter, &adapter->params.tp_vers); - if (ret) - return ret; - - major = G_FW_HDR_FW_VER_MAJOR(adapter->params.fw_vers); - minor = G_FW_HDR_FW_VER_MINOR(adapter->params.fw_vers); - micro = G_FW_HDR_FW_VER_MICRO(adapter->params.fw_vers); - - switch (chip_id(adapter)) { - case CHELSIO_T4: - exp_major = T4FW_VERSION_MAJOR; - exp_minor = T4FW_VERSION_MINOR; - exp_micro = T4FW_VERSION_MICRO; - break; - case CHELSIO_T5: - exp_major = T5FW_VERSION_MAJOR; - exp_minor = T5FW_VERSION_MINOR; - exp_micro = T5FW_VERSION_MICRO; - break; - default: - CH_ERR(adapter, "Unsupported chip type, %x\n", - chip_id(adapter)); - return -EINVAL; - } - - if (major != exp_major) { /* major mismatch - fail */ - CH_ERR(adapter, "card FW has major version %u, driver wants " - "%u\n", major, exp_major); - return -EINVAL; - } - - if (minor == exp_minor && micro == exp_micro) - return 0; /* perfect match */ - - /* Minor/micro version mismatch. Report it but often it's OK. */ - return 1; -} - -/** * t4_flash_erase_sectors - erase a range of flash sectors * @adapter: the adapter * @start: the first sector to erase @@ -3307,6 +3253,29 @@ int t4_flash_cfg_addr(struct adapter *ad return FLASH_CFG_START; } +/* + * Return TRUE if the specified firmware matches the adapter. I.e. T4 + * firmware for T4 adapters, T5 firmware for T5 adapters, etc. We go ahead + * and emit an error message for mismatched firmware to save our caller the + * effort ... + */ +static int t4_fw_matches_chip(struct adapter *adap, + const struct fw_hdr *hdr) +{ + /* + * The expression below will return FALSE for any unsupported adapter + * which will keep us "honest" in the future ... + */ + if ((is_t4(adap) && hdr->chip == FW_HDR_CHIP_T4) || + (is_t5(adap) && hdr->chip == FW_HDR_CHIP_T5) || + (is_t6(adap) && hdr->chip == FW_HDR_CHIP_T6)) + return 1; + + CH_ERR(adap, + "FW image (%d) is not suitable for this adapter (%d)\n", + hdr->chip, chip_id(adap)); + return 0; +} /** * t4_load_fw - download firmware @@ -3338,40 +3307,39 @@ int t4_load_fw(struct adapter *adap, con fw_start = FLASH_FW_START; fw_size = FLASH_FW_MAX_SIZE; } + if (!size) { CH_ERR(adap, "FW image has no data\n"); return -EINVAL; } if (size & 511) { - CH_ERR(adap, "FW image size not multiple of 512 bytes\n"); + CH_ERR(adap, + "FW image size not multiple of 512 bytes\n"); return -EINVAL; } - if (ntohs(hdr->len512) * 512 != size) { - CH_ERR(adap, "FW image size differs from size in FW header\n"); + if ((unsigned int) be16_to_cpu(hdr->len512) * 512 != size) { + CH_ERR(adap, + "FW image size differs from size in FW header\n"); return -EINVAL; } if (size > fw_size) { - CH_ERR(adap, "FW image too large, max is %u bytes\n", fw_size); + CH_ERR(adap, "FW image too large, max is %u bytes\n", + fw_size); return -EFBIG; } - if ((is_t4(adap) && hdr->chip != FW_HDR_CHIP_T4) || - (is_t5(adap) && hdr->chip != FW_HDR_CHIP_T5)) { - CH_ERR(adap, - "FW image (%d) is not suitable for this adapter (%d)\n", - hdr->chip, chip_id(adap)); + if (!t4_fw_matches_chip(adap, hdr)) return -EINVAL; - } for (csum = 0, i = 0; i < size / sizeof(csum); i++) - csum += ntohl(p[i]); + csum += be32_to_cpu(p[i]); if (csum != 0xffffffff) { - CH_ERR(adap, "corrupted firmware image, checksum %#x\n", - csum); + CH_ERR(adap, + "corrupted firmware image, checksum %#x\n", csum); return -EINVAL; } - i = DIV_ROUND_UP(size, sf_sec_size); /* # of sectors spanned */ + i = DIV_ROUND_UP(size, sf_sec_size); /* # of sectors spanned */ ret = t4_flash_erase_sectors(adap, fw_start_sec, fw_start_sec + i - 1); if (ret) goto out; @@ -3382,7 +3350,7 @@ int t4_load_fw(struct adapter *adap, con * first page with a bad version. */ memcpy(first_page, fw_data, SF_PAGE_SIZE); - ((struct fw_hdr *)first_page)->fw_ver = htonl(0xffffffff); + ((struct fw_hdr *)first_page)->fw_ver = cpu_to_be32(0xffffffff); ret = t4_write_flash(adap, fw_start, SF_PAGE_SIZE, first_page, 1); if (ret) goto out; @@ -3401,7 +3369,8 @@ int t4_load_fw(struct adapter *adap, con sizeof(hdr->fw_ver), (const u8 *)&hdr->fw_ver, 1); out: if (ret) - CH_ERR(adap, "firmware download failed, error %d\n", ret); + CH_ERR(adap, "firmware download failed, error %d\n", + ret); return ret; } @@ -6712,11 +6681,11 @@ int t4_fw_hello(struct adapter *adap, un retry: memset(&c, 0, sizeof(c)); INIT_CMD(c, HELLO, WRITE); - c.err_to_clearinit = htonl( + c.err_to_clearinit = cpu_to_be32( V_FW_HELLO_CMD_MASTERDIS(master == MASTER_CANT) | V_FW_HELLO_CMD_MASTERFORCE(master == MASTER_MUST) | - V_FW_HELLO_CMD_MBMASTER(master == MASTER_MUST ? mbox : - M_FW_HELLO_CMD_MBMASTER) | + V_FW_HELLO_CMD_MBMASTER(master == MASTER_MUST ? + mbox : M_FW_HELLO_CMD_MBMASTER) | V_FW_HELLO_CMD_MBASYNCNOT(evt_mbox) | V_FW_HELLO_CMD_STAGE(FW_HELLO_CMD_STAGE_OS) | F_FW_HELLO_CMD_CLEARINIT); @@ -6737,7 +6706,7 @@ retry: return ret; } - v = ntohl(c.err_to_clearinit); + v = be32_to_cpu(c.err_to_clearinit); master_mbox = G_FW_HELLO_CMD_MBMASTER(v); if (state) { if (v & F_FW_HELLO_CMD_ERR) @@ -6849,7 +6818,7 @@ int t4_fw_reset(struct adapter *adap, un memset(&c, 0, sizeof(c)); INIT_CMD(c, RESET, WRITE); - c.val = htonl(reset); + c.val = cpu_to_be32(reset); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6882,8 +6851,8 @@ int t4_fw_halt(struct adapter *adap, uns memset(&c, 0, sizeof(c)); INIT_CMD(c, RESET, WRITE); - c.val = htonl(F_PIORST | F_PIORSTMODE); - c.halt_pkd = htonl(F_FW_RESET_CMD_HALT); + c.val = cpu_to_be32(F_PIORST | F_PIORSTMODE); + c.halt_pkd = cpu_to_be32(F_FW_RESET_CMD_HALT); ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6902,7 +6871,8 @@ int t4_fw_halt(struct adapter *adap, uns */ if (ret == 0 || force) { t4_set_reg_field(adap, A_CIM_BOOT_CFG, F_UPCRST, F_UPCRST); - t4_set_reg_field(adap, A_PCIE_FW, F_PCIE_FW_HALT, F_PCIE_FW_HALT); + t4_set_reg_field(adap, A_PCIE_FW, F_PCIE_FW_HALT, + F_PCIE_FW_HALT); } /* @@ -7000,9 +6970,13 @@ int t4_fw_upgrade(struct adapter *adap, const u8 *fw_data, unsigned int size, int force) { const struct fw_hdr *fw_hdr = (const struct fw_hdr *)fw_data; - unsigned int bootstrap = ntohl(fw_hdr->magic) == FW_HDR_MAGIC_BOOTSTRAP; + unsigned int bootstrap = + be32_to_cpu(fw_hdr->magic) == FW_HDR_MAGIC_BOOTSTRAP; int reset, ret; + if (!t4_fw_matches_chip(adap, fw_hdr)) + return -EINVAL; + if (!bootstrap) { ret = t4_fw_halt(adap, mbox, force); if (ret < 0 && !force) @@ -7021,7 +6995,7 @@ int t4_fw_upgrade(struct adapter *adap, * the newly loaded firmware will handle this right by checking * its header flags to see if it advertises the capability. */ - reset = ((ntohl(fw_hdr->flags) & FW_HDR_FLAGS_RESET_HALT) == 0); + reset = ((be32_to_cpu(fw_hdr->flags) & FW_HDR_FLAGS_RESET_HALT) == 0); return t4_fw_restart(adap, mbox, reset); } From owner-svn-src-head@freebsd.org Tue Mar 8 10:10:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22156AC7B16; Tue, 8 Mar 2016 10:10:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 1409D8D7; Tue, 8 Mar 2016 10:10:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by freefall.freebsd.org (Postfix) with ESMTP id 6E05F188C; Tue, 8 Mar 2016 10:10:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Tue, 8 Mar 2016 10:10:34 +0000 From: Glen Barber To: Randall Stewart Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296476 - head/sys/netinet/tcp_stacks Message-ID: <20160308101034.GO1531@FreeBSD.org> References: <201603080016.u280GYUr032779@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="DMLl6fZPX8o7hGmc" Content-Disposition: inline In-Reply-To: <201603080016.u280GYUr032779@repo.freebsd.org> X-Operating-System: FreeBSD 11.0-CURRENT amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 10:10:37 -0000 --DMLl6fZPX8o7hGmc Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 08, 2016 at 12:16:34AM +0000, Randall Stewart wrote: > Author: rrs > Date: Tue Mar 8 00:16:34 2016 > New Revision: 296476 > URL: https://svnweb.freebsd.org/changeset/base/296476 >=20 > Log: > Fix a sneaky bug where we were missing an extern > to get the rxt threshold.. and thus created our own defaulted to 0 :-( > =20 This appears to break gcc build. cc1: warnings being treated as errors /usr/src/sys/modules/tcp/fastpath/../../../netinet/tcp_stacks/fastpath.c:1= 27: warning: redundant redeclaration of 'tcprexmtthresh' [-Wredundant-decls] /usr/src/sys/netinet/cc/cc.h:60: warning: previous declaration of 'tcprexm= tthresh' was here --- fastpath.o --- *** [fastpath.o] Error code 1 Glen --DMLl6fZPX8o7hGmc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJW3qUVAAoJEAMUWKVHj+KTKNsP/3CdhO1U3atnyIcGoGfduRCB luxj8XMf2Dk3lxLlwbcjylN54JzUAy7++DmbbU93fNaViTDMyLFkqbFq8Jv6Xw/l V34GMoJarcCKqyi2nrq7k7hPB68NTdt/zaqx69KSldrmbXqj3q/UD0ZVVxEekhm6 HDHM0OArEyarRlDVVxIl1ekyn5sUrj2KuFhNN1qZqxzJpcvhZ9GDsblgZhomLtaN d9HtVRnyqTUnom7DxhjWc3NqAgvWcE5Wb7gNykyCImbgYov90CbrVaSbKImo01Ay XI0T1kQLjEx1K1JmTnZIRF2td8Pt/Sf9gteUe9HWh4q6XN6dCzoJzRtp8SgysDJH sv0LzfQNj757FA3nd6obIFTxiXx5zrgAP/lF/qg287jMXVQrw3VJIca+O/g9t43C SupaNEz7v/UxWtlQRRR21sWqiCVVehQ+0wPQ/8mUdcYkYHUburlH52GCkxdPCXNT TY+N8qZkWH85+KgGDVzEl31qLcVD+Uf5CHp0BavwrgiGS8d3N+cffvB+WCdueRKT Xx8o7aqi71XLhR0AU+VGIoaG8OkCrcjjDqLEd327F+hpMHw1YyYsFmZDAE7CMgIK 6eZXhm945Byp8fN/7+nTZqPlkWFT8ra2D1AYrMer3z1fItQwwoGc8qy4Eymdy4rd k+r09oqZPBpNIJUfsjPo =NZRm -----END PGP SIGNATURE----- --DMLl6fZPX8o7hGmc-- From owner-svn-src-head@freebsd.org Tue Mar 8 11:04:09 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9116DAC34EA; Tue, 8 Mar 2016 11:04:09 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 627A4AC8; Tue, 8 Mar 2016 11:04:09 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28B48fl031765; Tue, 8 Mar 2016 11:04:08 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28B48tW031764; Tue, 8 Mar 2016 11:04:08 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603081104.u28B48tW031764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 8 Mar 2016 11:04:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296497 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 11:04:09 -0000 Author: trasz Date: Tue Mar 8 11:04:08 2016 New Revision: 296497 URL: https://svnweb.freebsd.org/changeset/base/296497 Log: Mention resolvconf(8) in resolv.conf(5). MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/share/man/man5/resolver.5 Modified: head/share/man/man5/resolver.5 ============================================================================== --- head/share/man/man5/resolver.5 Tue Mar 8 10:07:40 2016 (r296496) +++ head/share/man/man5/resolver.5 Tue Mar 8 11:04:08 2016 (r296497) @@ -218,7 +218,8 @@ resides in .Sh SEE ALSO .Xr gethostbyname 3 , .Xr resolver 3 , -.Xr hostname 7 +.Xr hostname 7 , +.Xr resolvconf 8 .Rs .%T "Name Server Operations Guide for BIND" .Re From owner-svn-src-head@freebsd.org Tue Mar 8 15:08:24 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 12100AC75A9; Tue, 8 Mar 2016 15:08:24 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D7AFB4E; Tue, 8 Mar 2016 15:08:23 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28F8Mqc005784; Tue, 8 Mar 2016 15:08:22 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28F8Mtq005783; Tue, 8 Mar 2016 15:08:22 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081508.u28F8Mtq005783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:08:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296501 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:08:24 -0000 Author: dchagin Date: Tue Mar 8 15:08:22 2016 New Revision: 296501 URL: https://svnweb.freebsd.org/changeset/base/296501 Log: Link the newly created process to the corresponding parent as if CLONE_PARENT is set, then the parent of the new process will be the same as that of the calling process. MFC after: 1 week Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c ============================================================================== --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru if (args->flags & LINUX_CLONE_SETTLS) linux_set_cloned_tls(td2, args->tls); + /* + * If CLONE_PARENT is set, then the parent of the new process will be + * the same as that of the calling process. + */ + if (args->flags & LINUX_CLONE_PARENT) { + sx_xlock(&proctree_lock); + PROC_LOCK(p2); + proc_reparent(p2, td->td_proc->p_pptr); + PROC_UNLOCK(p2); + sx_xunlock(&proctree_lock); + } + #ifdef DEBUG if (ldebug(clone)) printf(LMSG("clone: successful rfork to %d, " From owner-svn-src-head@freebsd.org Tue Mar 8 15:12:51 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58251AC78B7; Tue, 8 Mar 2016 15:12:51 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 257CD7F9; Tue, 8 Mar 2016 15:12:51 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FCoY9008770; Tue, 8 Mar 2016 15:12:50 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FCo8e008769; Tue, 8 Mar 2016 15:12:50 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081512.u28FCo8e008769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:12:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296502 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:12:51 -0000 Author: dchagin Date: Tue Mar 8 15:12:49 2016 New Revision: 296502 URL: https://svnweb.freebsd.org/changeset/base/296502 Log: According to POSIX and Linux implementation the alarm() system call is always successfull. So, ignore any errors and return 0 as a Linux do. XXX. Unlike POSIX, Linux in case when the invalid seconds value specified always return 0, so in that case Linux does not return proper remining time. MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 15:08:22 2016 (r296501) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 15:12:49 2016 (r296502) @@ -191,7 +191,6 @@ linux_alarm(struct thread *td, struct li { struct itimerval it, old_it; u_int secs; - int error; #ifdef DEBUG if (ldebug(alarm)) @@ -207,9 +206,7 @@ linux_alarm(struct thread *td, struct li it.it_value.tv_usec = 0; it.it_interval.tv_sec = 0; it.it_interval.tv_usec = 0; - error = kern_setitimer(td, ITIMER_REAL, &it, &old_it); - if (error) - return (error); + kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) old_it.it_value.tv_sec++; From owner-svn-src-head@freebsd.org Tue Mar 8 15:15:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15823AC7A9C; Tue, 8 Mar 2016 15:15:36 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DB296BBA; Tue, 8 Mar 2016 15:15:35 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FFYuu008910; Tue, 8 Mar 2016 15:15:34 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FFYhu008909; Tue, 8 Mar 2016 15:15:34 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081515.u28FFYhu008909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:15:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296503 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:15:36 -0000 Author: dchagin Date: Tue Mar 8 15:15:34 2016 New Revision: 296503 URL: https://svnweb.freebsd.org/changeset/base/296503 Log: Linux accept() system call return EOPNOTSUPP errno instead of EINVAL for UDP sockets. MFC after: 1 week Modified: head/sys/compat/linux/linux_socket.c Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:12:49 2016 (r296502) +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) @@ -781,7 +781,10 @@ linux_accept_common(struct thread *td, i socklen_t * __restrict anamelen; int flags; } */ bsd_args; - int error; + cap_rights_t rights; + struct socket *so; + struct file *fp; + int error, error1; bsd_args.s = s; /* XXX: */ @@ -796,6 +799,14 @@ linux_accept_common(struct thread *td, i if (error) { if (error == EFAULT && namelen != sizeof(struct sockaddr_in)) return (EINVAL); + if (error == EINVAL) { + error1 = getsock_cap(td, s, &rights, &fp, NULL); + if (error1 != 0) + return (error1); + so = (struct socket *)fp->f_data; + if (so->so_type == SOCK_DGRAM) + return (EOPNOTSUPP); + } return (error); } if (addr) From owner-svn-src-head@freebsd.org Tue Mar 8 15:52:39 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E96F8AC3E91; Tue, 8 Mar 2016 15:52:38 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 91B158B9; Tue, 8 Mar 2016 15:52:38 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm0-x234.google.com with SMTP id l68so33530945wml.1; Tue, 08 Mar 2016 07:52:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=TqWCDsREgrqHUDCZdqjWpgTJ4sfhlngQjzn4O3/ylk8=; b=dmbAWF+NrcVr0dEWjFIWdE2hzAAH7Dbeo01KXxnd08+VMbbG8ylH+6ac9zdhNMQzSj JxifvNCBHP740+HlBT3uhdGBUzwTWpde5R/xH25pg5aYWA4HKSM9+CyUr0ZOpHpE/jTa xAB1U66gDhZQ62BRQ7Pa0NINMd5QeL+PaLMvKBh7A7Tryl3CWzuW5AtpFccusfUbVleW rJz8Mt+RcYTwCJxmgpGh/FVFt205SmB74dC5QfCAhc6H2fFAfubpnWdNE6oixRbHP5pV kleWZBWjTRo0VxG/nmAEaBR9T56T8oIvY0VFm4UX9kqdIUcpXM9gf/OESr82Ra6IwUfW LTqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=TqWCDsREgrqHUDCZdqjWpgTJ4sfhlngQjzn4O3/ylk8=; b=Cw/fecBlNn9cFRBsHUrpIVA3j8XmQty3Yal3B+RDia20QOKxkCoBlkSTC3CEkpqUTI l+BHQX6gb1rfzwkk5GktKKlQfBIOH4PpTPRsGscAJhCeGktrYa199xvEKSu5r13C033r CfeCo3ziaUT6WQWPOyB2NDiR+OJu5xHZ2527uObLFqLhcQ6IVwBtsjH9VijxEgmVbNg0 lyz1p/DJwqEpolVmor3OvGqwRM9FeUHPfWjMQJnv8DVgx/cXviiM2+my5xLqe+dKkXGq p1RlO4VYBFddPC2oEptqkGjUcrVjeHPpvJuDvjoL2eJ2EUZ19hPbe6fl/id2iyUCs4rh V0ig== X-Gm-Message-State: AD7BkJLfPjQ3JBb/vhQmFHp4OdaFlqxReYeoWvoNnIbUclL5LkqJkNpqxqiLlv8oMupRqg== X-Received: by 10.28.5.203 with SMTP id 194mr21340282wmf.101.1457452356819; Tue, 08 Mar 2016 07:52:36 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by smtp.gmail.com with ESMTPSA id js8sm3560324wjc.37.2016.03.08.07.52.35 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 08 Mar 2016 07:52:35 -0800 (PST) Date: Tue, 8 Mar 2016 16:52:33 +0100 From: Mateusz Guzik To: Dmitry Chagin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296501 - head/sys/compat/linux Message-ID: <20160308155233.GA7447@dft-labs.eu> References: <201603081508.u28F8Mtq005783@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201603081508.u28F8Mtq005783@repo.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:52:39 -0000 On Tue, Mar 08, 2016 at 03:08:22PM +0000, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:08:22 2016 > New Revision: 296501 > URL: https://svnweb.freebsd.org/changeset/base/296501 > > Log: > Link the newly created process to the corresponding parent as > if CLONE_PARENT is set, then the parent of the new process will > be the same as that of the calling process. > > MFC after: 1 week > > Modified: > head/sys/compat/linux/linux_fork.c > > Modified: head/sys/compat/linux/linux_fork.c > ============================================================================== > --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) > +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) > @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru > if (args->flags & LINUX_CLONE_SETTLS) > linux_set_cloned_tls(td2, args->tls); > > + /* > + * If CLONE_PARENT is set, then the parent of the new process will be > + * the same as that of the calling process. > + */ > + if (args->flags & LINUX_CLONE_PARENT) { > + sx_xlock(&proctree_lock); > + PROC_LOCK(p2); > + proc_reparent(p2, td->td_proc->p_pptr); > + PROC_UNLOCK(p2); > + sx_xunlock(&proctree_lock); > + } > + > #ifdef DEBUG > if (ldebug(clone)) > printf(LMSG("clone: successful rfork to %d, " > What is the reason to support this flag? It is questionable at best since it gives surprise children to unsuspecting processes. The patch looks wrong. By the time this is executed the child could have been attached to with ptrace, which reparents it. If the flag really needs to be supported (why?), it should make sure the parent is a linux process and also should fix the race with ptrace. Maybe a "fork completed" or something of the sort flag could be introduced, or PRS_NEW state modified later. -- Mateusz Guzik From owner-svn-src-head@freebsd.org Tue Mar 8 15:55:31 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55086AC7021; Tue, 8 Mar 2016 15:55:31 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E3852C1F; Tue, 8 Mar 2016 15:55:30 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm0-x22b.google.com with SMTP id l68so155931423wml.0; Tue, 08 Mar 2016 07:55:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=vB7ZwOd5NG9hcaJwDk0S4ObswOeAuMgQ6cxGqEeunLA=; b=kvgasKHBezs7FATAS4Q0cFh2+XpPFL0ESiNFt4A4vFKbtBLX6iWrVqAJXcjCxmZF3Q cunCdF0uamQmVHp0u3qpCqVC/N8olbtN2Al0k+Oqo7uaByLu1MkMjK7OHH/9Y/W2IVTu YAoCG1GClOVAKD5ZFZtzix/Zlc39bM8sayg3Moe9VMpPZCGk2oLjAiyw+7cuBpTzxO62 KBENEXuQY9gjp5dXZOFnwrhl4dWuD3H9DVyzp+kLFAW3DX5GL4OHFVmCq2yoKwAuBoyw kTK8iIiZUvqhZhJbMORMgf7b2xOzpB26QUsUGAr82FePZnoIgf5LPOgsNGZYu+yLnf8O EtiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=vB7ZwOd5NG9hcaJwDk0S4ObswOeAuMgQ6cxGqEeunLA=; b=L+QRKVWBQYDIfQPZ0V4/NlfR1v3IQINxZuZ44AwaKvUiS5wp7NTsrxL/z196NinJkw mPCvaJxQgSowXGtl9NzOWPcfIS9pSHXJGzZATkWiFsfwgaJdAJalPG7BvJDx44pa7/EP pRI0p/InVatteTNdogvRY8sAjINWkjzyI197UTWCnKBhtwH7FGkdeEkZ87kY3x2VaHDt mOQP/8s1xMfVCdohuaRAOiF/yq4WuTvm9zQ9NzezpFYFhn/rR81aGbiEXZwsGaB9z85H 7LEvyl8GMKsepuH7pzwwSnrqvUQhHJDn+hX2lGDYnpUg3XCENxmaOcK59hZA3TzJ+/Tn ul2w== X-Gm-Message-State: AD7BkJLzj9HmdPBI/XwHEKu7+/M3o5CLmUB513j1XJyJSfU1xE+LB1MTHm1LVs/exxt0nw== X-Received: by 10.28.24.130 with SMTP id 124mr20895327wmy.50.1457452528914; Tue, 08 Mar 2016 07:55:28 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by smtp.gmail.com with ESMTPSA id p191sm28678345wmb.0.2016.03.08.07.55.28 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 08 Mar 2016 07:55:28 -0800 (PST) Date: Tue, 8 Mar 2016 16:55:26 +0100 From: Mateusz Guzik To: Dmitry Chagin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296503 - head/sys/compat/linux Message-ID: <20160308155526.GB7447@dft-labs.eu> References: <201603081515.u28FFYhu008909@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201603081515.u28FFYhu008909@repo.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:55:31 -0000 On Tue, Mar 08, 2016 at 03:15:34PM +0000, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:15:34 2016 > New Revision: 296503 > URL: https://svnweb.freebsd.org/changeset/base/296503 > > Log: > Linux accept() system call return EOPNOTSUPP errno instead of EINVAL > for UDP sockets. > > MFC after: 1 week > > Modified: > head/sys/compat/linux/linux_socket.c > > Modified: head/sys/compat/linux/linux_socket.c > ============================================================================== > --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:12:49 2016 (r296502) > +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) > @@ -781,7 +781,10 @@ linux_accept_common(struct thread *td, i > socklen_t * __restrict anamelen; > int flags; > } */ bsd_args; > - int error; > + cap_rights_t rights; > + struct socket *so; > + struct file *fp; > + int error, error1; > > bsd_args.s = s; > /* XXX: */ > @@ -796,6 +799,14 @@ linux_accept_common(struct thread *td, i > if (error) { > if (error == EFAULT && namelen != sizeof(struct sockaddr_in)) > return (EINVAL); > + if (error == EINVAL) { > + error1 = getsock_cap(td, s, &rights, &fp, NULL); > + if (error1 != 0) > + return (error1); > + so = (struct socket *)fp->f_data; > + if (so->so_type == SOCK_DGRAM) > + return (EOPNOTSUPP); > + } > return (error); > } > if (addr) What drops the reference obtained from getsock_cap? Also the race due to double fd lookup, while fine enough for this purpose, should be documented as accepted. -- Mateusz Guzik From owner-svn-src-head@freebsd.org Tue Mar 8 15:55:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A180AAC70E4; Tue, 8 Mar 2016 15:55:44 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 74774F14; Tue, 8 Mar 2016 15:55:44 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FthFV022103; Tue, 8 Mar 2016 15:55:43 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FthsQ022102; Tue, 8 Mar 2016 15:55:43 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081555.u28FthsQ022102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:55:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296504 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:55:44 -0000 Author: dchagin Date: Tue Mar 8 15:55:43 2016 New Revision: 296504 URL: https://svnweb.freebsd.org/changeset/base/296504 Log: Does not leak fp. While here remove bogus cast of fp->f_data. MFC after: 1 week Modified: head/sys/compat/linux/linux_socket.c Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:55:43 2016 (r296504) @@ -803,9 +803,12 @@ linux_accept_common(struct thread *td, i error1 = getsock_cap(td, s, &rights, &fp, NULL); if (error1 != 0) return (error1); - so = (struct socket *)fp->f_data; - if (so->so_type == SOCK_DGRAM) + so = fp->f_data; + if (so->so_type == SOCK_DGRAM) { + fdrop(fp, td); return (EOPNOTSUPP); + } + fdrop(fp, td); } return (error); } From owner-svn-src-head@freebsd.org Tue Mar 8 16:09:55 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B2F3AC782F; Tue, 8 Mar 2016 16:09:55 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ig0-x234.google.com (mail-ig0-x234.google.com [IPv6:2607:f8b0:4001:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBE68C6; Tue, 8 Mar 2016 16:09:54 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-ig0-x234.google.com with SMTP id ir4so78670044igb.1; Tue, 08 Mar 2016 08:09:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=KgGkCYTzOCLizTp4LUzVSap2ssjB5GsxCj95VhCrovk=; b=Ln7pHekY1DXDeJhcrUwyDFmXTkgjVZSeA18cALnC3vmk+9z+wNKTOBTbOxp952fA5z 3FbXZjIgVKhhXxP5Nl7pBJQMWga5b2cCL62BzimYGXsFWQTgaDdpZuAccm97XOd2OkSV +rp9kWvoOAkhGgrv1Vx3mKkQaYilVpGyU2S/jljK8i6XEbLTwUmVx2MUdQTFN7UvkHzH 5TDHbYawf9vW2SqWbtLqqn2o2zPMzeknMF1OhYfLEMUd0V3ZZUUymBfccUcH7QttO8rd 1KsIPU6+aqaqTnlMEZm6qFAbBVqdrb8qUPJFglDDoC6pPPZqH2z0MfCyiZn1sLzVl4RE YdcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=KgGkCYTzOCLizTp4LUzVSap2ssjB5GsxCj95VhCrovk=; b=ludoJL7UvYhNwr/xd2syZH8gtYTTZYtbUTFFdU/Hf78yVe4QqCqnutcnSCIH9PD1Xk E4kLai8eOf02eCTblfPDekZGNKheSwCooWcouoIoOK3dbR3Q9UYf5Meya/dF0aEkWcSZ 0X6YgNI/GZCncOIY0CFbampgr07B7I7Ovnc7JTgORrmK3AKY3Fo5L4toUvlH+A83yiur r8cXw+1bTC2dmrW4rucBGsVTWA9mWxnbf3yJGrfNu+loQXfw/FKEfYAf/20n8Ha5kGxJ RXX6jsli4/uH1K2ywUg0o7isGmpTplBgokSPwi5ZMC/eQJQNlHi6cKj0p02UkQ5Yia3O qE6Q== X-Gm-Message-State: AD7BkJKDeXYSvZo/dbG5tylBhEml+B0cY9eUY0gAieIBzPONp8mF49Wh7HOiA9Zl52+sYusvu6tPWgf4juTl6w== X-Received: by 10.50.2.35 with SMTP id 3mr18368363igr.33.1457453394255; Tue, 08 Mar 2016 08:09:54 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Tue, 8 Mar 2016 08:09:34 -0800 (PST) In-Reply-To: <201603081512.u28FCo8e008769@repo.freebsd.org> References: <201603081512.u28FCo8e008769@repo.freebsd.org> From: Ed Maste Date: Tue, 8 Mar 2016 11:09:34 -0500 X-Google-Sender-Auth: HUOixNmv93fqIstWgdFQo2hL9Uo Message-ID: Subject: Re: svn commit: r296502 - head/sys/compat/linux To: Dmitry Chagin Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:09:55 -0000 On 8 March 2016 at 10:12, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:12:49 2016 > New Revision: 296502 > URL: https://svnweb.freebsd.org/changeset/base/296502 > > Log: > According to POSIX and Linux implementation the alarm() system call > is always successful. > So, ignore any errors and return 0 as a Linux do. I wonder if this comment ought to be in the source itself too? From owner-svn-src-head@freebsd.org Tue Mar 8 16:12:56 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F373AC7BCA; Tue, 8 Mar 2016 16:12:56 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4E016A7D; Tue, 8 Mar 2016 16:12:56 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GCtHC029858; Tue, 8 Mar 2016 16:12:55 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GCtGq029857; Tue, 8 Mar 2016 16:12:55 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081612.u28GCtGq029857@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 16:12:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296506 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:12:56 -0000 Author: bdrewery Date: Tue Mar 8 16:12:55 2016 New Revision: 296506 URL: https://svnweb.freebsd.org/changeset/base/296506 Log: Follow-up r296324: Fix STATICOBJS dependency guesses conditions. Reported by: antoine Pointyhat to: bdrewery Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk ============================================================================== --- head/share/mk/bsd.lib.mk Tue Mar 8 16:11:59 2016 (r296505) +++ head/share/mk/bsd.lib.mk Tue Mar 8 16:12:55 2016 (r296506) @@ -432,12 +432,13 @@ OBJS_DEPEND_GUESS.${_S:R}.So= ${_S} .include -.if defined(LIB) && !empty(LIB) .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) +.if defined(LIB) && !empty(LIB) ${OBJS} ${STATICOBJS} ${POBJS}: ${OBJS_DEPEND_GUESS} .for _S in ${SRCS:N*.[hly]} ${_S:R}.po: ${OBJS_DEPEND_GUESS.${_S:R}.po} .endfor +.endif .if defined(SHLIB_NAME) || \ defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) ${SOBJS}: ${OBJS_DEPEND_GUESS} @@ -446,7 +447,6 @@ ${_S:R}.So: ${OBJS_DEPEND_GUESS.${_S:R}. .endfor .endif .endif -.endif .include .include From owner-svn-src-head@freebsd.org Tue Mar 8 16:39:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6669DAC87CB; Tue, 8 Mar 2016 16:39:50 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EFD6817; Tue, 8 Mar 2016 16:39:49 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from chd.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28Gdi53018230 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Mar 2016 16:39:46 GMT (envelope-from dchagin@chd.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be chd.heemeyer.club Received: from chd.heemeyer.club (localhost [127.0.0.1]) by chd.heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28Gdhe4090355 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 8 Mar 2016 19:39:44 +0300 (MSK) (envelope-from dchagin@chd.heemeyer.club) Received: (from dchagin@localhost) by chd.heemeyer.club (8.15.2/8.15.2/Submit) id u28GdhdG090354; Tue, 8 Mar 2016 19:39:43 +0300 (MSK) (envelope-from dchagin) Date: Tue, 8 Mar 2016 19:39:43 +0300 From: Chagin Dmitry To: Ed Maste Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296502 - head/sys/compat/linux Message-ID: <20160308163943.GA90347@chd.heemeyer.club> References: <201603081512.u28FCo8e008769@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:39:50 -0000 On Tue, Mar 08, 2016 at 11:09:34AM -0500, Ed Maste wrote: > On 8 March 2016 at 10:12, Dmitry Chagin wrote: > > Author: dchagin > > Date: Tue Mar 8 15:12:49 2016 > > New Revision: 296502 > > URL: https://svnweb.freebsd.org/changeset/base/296502 > > > > Log: > > According to POSIX and Linux implementation the alarm() system call > > is always successful. > > So, ignore any errors and return 0 as a Linux do. > > I wonder if this comment ought to be in the source itself too? no problem, btw, could you please look at D5567? In my POV it should be merged to the stable/10 and releng/10.3 From owner-svn-src-head@freebsd.org Tue Mar 8 16:47:24 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88F64AC8B0B; Tue, 8 Mar 2016 16:47:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 430A58F; Tue, 8 Mar 2016 16:47:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GlNVI039393; Tue, 8 Mar 2016 16:47:23 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GlNie039392; Tue, 8 Mar 2016 16:47:23 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603081647.u28GlNie039392@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Tue, 8 Mar 2016 16:47:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296509 - head/sys/modules/aio X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:47:24 -0000 Author: ngie Date: Tue Mar 8 16:47:23 2016 New Revision: 296509 URL: https://svnweb.freebsd.org/changeset/base/296509 Log: Delete empty sys/modules/aio/ directory This was missed in r296277 X-MFC with: r296277 Sponsored by: EMC / Isilon Storage Division Deleted: head/sys/modules/aio/ From owner-svn-src-head@freebsd.org Tue Mar 8 17:27:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86FFBAC7C02; Tue, 8 Mar 2016 17:27:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B1C0E33; Tue, 8 Mar 2016 17:27:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HRF5J051508; Tue, 8 Mar 2016 17:27:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HREH3051496; Tue, 8 Mar 2016 17:27:14 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081727.u28HREH3051496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:27:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296510 - in head: cddl/contrib/opensolaris/cmd/zinject sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:27:16 -0000 Author: mav Date: Tue Mar 8 17:27:13 2016 New Revision: 296510 URL: https://svnweb.freebsd.org/changeset/base/296510 Log: MFV r296505: 6531 Provide mechanism to artificially limit disk performance Reviewed by: Paul Dagnelie Reviewed by: Matthew Ahrens Reviewed by: George Wilson Approved by: Dan McDonald Author: Prakash Surya illumos/illumos-gate@97e81309571898df9fdd94aab1216dfcf23e060b Added: head/sys/cddl/compat/opensolaris/sys/callo.h (contents, props changed) Modified: head/cddl/contrib/opensolaris/cmd/zinject/zinject.c head/sys/cddl/compat/opensolaris/sys/systm.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zinject/zinject.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/cddl/contrib/opensolaris/cmd/zinject/zinject.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -229,21 +229,57 @@ usage(void) "\t\tall records if 'all' is specificed.\n" "\n" "\tzinject -p pool\n" + "\n" "\t\tInject a panic fault at the specified function. Only \n" "\t\tfunctions which call spa_vdev_config_exit(), or \n" "\t\tspa_vdev_exit() will trigger a panic.\n" "\n" "\tzinject -d device [-e errno] [-L ] [-F]\n" "\t [-T pool\n" + "\n" "\t\tInject a fault into a particular device or the device's\n" "\t\tlabel. Label injection can either be 'nvlist', 'uber',\n " "\t\t'pad1', or 'pad2'.\n" "\t\t'errno' can be 'nxio' (the default), 'io', or 'dtl'.\n" "\n" "\tzinject -d device -A pool\n" + "\n" "\t\tPerform a specific action on a particular device\n" "\n" + "\tzinject -d device -D latency:lanes pool\n" + "\n" + "\t\tAdd an artificial delay to IO requests on a particular\n" + "\t\tdevice, such that the requests take a minimum of 'latency'\n" + "\t\tmilliseconds to complete. Each delay has an associated\n" + "\t\tnumber of 'lanes' which defines the number of concurrent\n" + "\t\tIO requests that can be processed.\n" + "\n" + "\t\tFor example, with a single lane delay of 10 ms (-D 10:1),\n" + "\t\tthe device will only be able to service a single IO request\n" + "\t\tat a time with each request taking 10 ms to complete. So,\n" + "\t\tif only a single request is submitted every 10 ms, the\n" + "\t\taverage latency will be 10 ms; but if more than one request\n" + "\t\tis submitted every 10 ms, the average latency will be more\n" + "\t\tthan 10 ms.\n" + "\n" + "\t\tSimilarly, if a delay of 10 ms is specified to have two\n" + "\t\tlanes (-D 10:2), then the device will be able to service\n" + "\t\ttwo requests at a time, each with a minimum latency of\n" + "\t\t10 ms. So, if two requests are submitted every 10 ms, then\n" + "\t\tthe average latency will be 10 ms; but if more than two\n" + "\t\trequests are submitted every 10 ms, the average latency\n" + "\t\twill be more than 10 ms.\n" + "\n" + "\t\tAlso note, these delays are additive. So two invocations\n" + "\t\tof '-D 10:1', is roughly equivalent to a single invocation\n" + "\t\tof '-D 10:2'. This also means, one can specify multiple\n" + "\t\tlanes with differing target latencies. For example, an\n" + "\t\tinvocation of '-D 10:1' followed by '-D 25:2' will\n" + "\t\tcreate 3 lanes on the device; one lane with a latency\n" + "\t\tof 10 ms and two lanes with a 25 ms latency.\n" + "\n" "\tzinject -I [-s | -g ] pool\n" + "\n" "\t\tCause the pool to stop writing blocks yet not\n" "\t\treport errors for a duration. Simulates buggy hardware\n" "\t\tthat fails to honor cache flush requests.\n" @@ -357,6 +393,9 @@ print_device_handler(int id, const char if (record->zi_guid == 0 || record->zi_func[0] != '\0') return (0); + if (record->zi_cmd == ZINJECT_DELAY_IO) + return (0); + if (*count == 0) { (void) printf("%3s %-15s %s\n", "ID", "POOL", "GUID"); (void) printf("--- --------------- ----------------\n"); @@ -371,6 +410,35 @@ print_device_handler(int id, const char } static int +print_delay_handler(int id, const char *pool, zinject_record_t *record, + void *data) +{ + int *count = data; + + if (record->zi_guid == 0 || record->zi_func[0] != '\0') + return (0); + + if (record->zi_cmd != ZINJECT_DELAY_IO) + return (0); + + if (*count == 0) { + (void) printf("%3s %-15s %-15s %-15s %s\n", + "ID", "POOL", "DELAY (ms)", "LANES", "GUID"); + (void) printf("--- --------------- --------------- " + "--------------- ----------------\n"); + } + + *count += 1; + + (void) printf("%3d %-15s %-15llu %-15llu %llx\n", id, pool, + (u_longlong_t)NSEC2MSEC(record->zi_timer), + (u_longlong_t)record->zi_nlanes, + (u_longlong_t)record->zi_guid); + + return (0); +} + +static int print_panic_handler(int id, const char *pool, zinject_record_t *record, void *data) { @@ -407,6 +475,13 @@ print_all_handlers(void) count = 0; } + (void) iter_handlers(print_delay_handler, &count); + if (count > 0) { + total += count; + (void) printf("\n"); + count = 0; + } + (void) iter_handlers(print_data_handler, &count); if (count > 0) { total += count; @@ -549,6 +624,35 @@ perform_action(const char *pool, zinject return (1); } +static int +parse_delay(char *str, uint64_t *delay, uint64_t *nlanes) +{ + unsigned long scan_delay; + unsigned long scan_nlanes; + + if (sscanf(str, "%lu:%lu", &scan_delay, &scan_nlanes) != 2) + return (1); + + /* + * We explicitly disallow a delay of zero here, because we key + * off this value being non-zero in translate_device(), to + * determine if the fault is a ZINJECT_DELAY_IO fault or not. + */ + if (scan_delay == 0) + return (1); + + /* + * The units for the CLI delay parameter is milliseconds, but + * the data passed to the kernel is interpreted as nanoseconds. + * Thus we scale the milliseconds to nanoseconds here, and this + * nanosecond value is used to pass the delay to the kernel. + */ + *delay = MSEC2NSEC(scan_delay); + *nlanes = scan_nlanes; + + return (0); +} + int main(int argc, char **argv) { @@ -632,8 +736,9 @@ main(int argc, char **argv) device = optarg; break; case 'D': - record.zi_timer = strtoull(optarg, &end, 10); - if (errno != 0 || *end != '\0') { + ret = parse_delay(optarg, &record.zi_timer, + &record.zi_nlanes); + if (ret != 0) { (void) fprintf(stderr, "invalid i/o delay " "value: '%s'\n", optarg); usage(); Added: head/sys/cddl/compat/opensolaris/sys/callo.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/cddl/compat/opensolaris/sys/callo.h Tue Mar 8 17:27:13 2016 (r296510) @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2016 Alexander Motin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _OPENSOLARIS_SYS_CALLO_H_ +#define _OPENSOLARIS_SYS_CALLO_H_ + +#include_next + +#define CALLOUT_REALTIME 0 /* realtime callout type */ +#define CALLOUT_NORMAL 1 /* normal callout type */ + +#endif /* !_OPENSOLARIS_SYS_CALLO_H_ */ Modified: head/sys/cddl/compat/opensolaris/sys/systm.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/systm.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/compat/opensolaris/sys/systm.h Tue Mar 8 17:27:13 2016 (r296510) @@ -42,6 +42,9 @@ #define delay(x) pause("soldelay", (x)) +#define timeout_generic(type, fn, arg, t, r, f) \ + timeout(fn, arg, t / (NANOSEC/hz) + 1) + #endif /* _KERNEL */ #endif /* _OPENSOLARIS_SYS_SYSTM_H_ */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Tue Mar 8 17:27:13 2016 (r296510) @@ -94,10 +94,8 @@ extern "C" { #include #ifdef illumos #include -#include -#else /* FreeBSD */ -#include #endif +#include #include #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:27:13 2016 (r296510) @@ -308,6 +308,7 @@ typedef struct zinject_record { uint32_t zi_iotype; int32_t zi_duration; uint64_t zi_timer; + uint64_t zi_nlanes; uint32_t zi_cmd; uint32_t zi_pad; } zinject_record_t; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Mar 8 17:27:13 2016 (r296510) @@ -455,6 +455,7 @@ struct zio { uint64_t io_offset; hrtime_t io_timestamp; + hrtime_t io_target_timestamp; avl_node_t io_queue_node; avl_node_t io_offset_node; @@ -548,6 +549,8 @@ extern int zio_wait(zio_t *zio); extern void zio_nowait(zio_t *zio); extern void zio_execute(zio_t *zio); extern void zio_interrupt(zio_t *zio); +extern void zio_delay_init(zio_t *zio); +extern void zio_delay_interrupt(zio_t *zio); extern zio_t *zio_walk_parents(zio_t *cio); extern zio_t *zio_walk_children(zio_t *pio); @@ -609,7 +612,7 @@ extern int zio_handle_fault_injection(zi extern int zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error); extern int zio_handle_label_injection(zio_t *zio, int error); extern void zio_handle_ignored_writes(zio_t *zio); -extern uint64_t zio_handle_io_delay(zio_t *zio); +extern hrtime_t zio_handle_io_delay(zio_t *zio); /* * Checksum ereport functions Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013 Joyent, Inc. All rights reserved. */ @@ -691,7 +691,7 @@ vdev_disk_io_intr(buf_t *bp) kmem_free(vb, sizeof (vdev_buf_t)); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -797,6 +797,7 @@ vdev_disk_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. */ #include @@ -188,6 +188,7 @@ vdev_file_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ? UIO_READ : UIO_WRITE, vp, zio->io_data, zio->io_size, @@ -196,7 +197,7 @@ vdev_file_io_start(zio_t *zio) if (resid != 0 && zio->io_error == 0) zio->io_error = ENOSPC; - zio_interrupt(zio); + zio_delay_interrupt(zio); #ifdef illumos VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp, Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Mar 8 17:27:13 2016 (r296510) @@ -885,7 +885,7 @@ vdev_geom_io_intr(struct bio *bp) break; } g_destroy_bio(bp); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -948,6 +948,7 @@ sendreq: switch (zio->io_type) { case ZIO_TYPE_READ: case ZIO_TYPE_WRITE: + zio->io_target_timestamp = zio_handle_io_delay(zio); bp->bio_cmd = zio->io_type == ZIO_TYPE_READ ? BIO_READ : BIO_WRITE; bp->bio_data = zio->io_data; bp->bio_offset = zio->io_offset; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:27:13 2016 (r296510) @@ -871,9 +871,6 @@ vdev_queue_io_done(zio_t *zio) vdev_queue_t *vq = &zio->io_vd->vdev_queue; zio_t *nio; - if (zio_injection_enabled) - delay(SEC_TO_TICK(zio_handle_io_delay(zio))); - mutex_enter(&vq->vq_lock); vdev_queue_pending_remove(vq, zio); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:27:13 2016 (r296510) @@ -1442,6 +1442,58 @@ zio_interrupt(zio_t *zio) zio_taskq_dispatch(zio, ZIO_TASKQ_INTERRUPT, B_FALSE); } +void +zio_delay_interrupt(zio_t *zio) +{ + /* + * The timeout_generic() function isn't defined in userspace, so + * rather than trying to implement the function, the zio delay + * functionality has been disabled for userspace builds. + */ + +#ifdef _KERNEL + /* + * If io_target_timestamp is zero, then no delay has been registered + * for this IO, thus jump to the end of this function and "skip" the + * delay; issuing it directly to the zio layer. + */ + if (zio->io_target_timestamp != 0) { + hrtime_t now = gethrtime(); + + if (now >= zio->io_target_timestamp) { + /* + * This IO has already taken longer than the target + * delay to complete, so we don't want to delay it + * any longer; we "miss" the delay and issue it + * directly to the zio layer. This is likely due to + * the target latency being set to a value less than + * the underlying hardware can satisfy (e.g. delay + * set to 1ms, but the disks take 10ms to complete an + * IO request). + */ + + DTRACE_PROBE2(zio__delay__miss, zio_t *, zio, + hrtime_t, now); + + zio_interrupt(zio); + } else { + hrtime_t diff = zio->io_target_timestamp - now; + + DTRACE_PROBE3(zio__delay__hit, zio_t *, zio, + hrtime_t, now, hrtime_t, diff); + + (void) timeout_generic(CALLOUT_NORMAL, + (void (*)(void *))zio_interrupt, zio, diff, 1, 0); + } + + return; + } +#endif + + DTRACE_PROBE1(zio__delay__skip, zio_t *, zio); + zio_interrupt(zio); +} + /* * Execute the I/O pipeline until one of the following occurs: * Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -49,15 +49,53 @@ uint32_t zio_injection_enabled; +/* + * Data describing each zinject handler registered on the system, and + * contains the list node linking the handler in the global zinject + * handler list. + */ typedef struct inject_handler { int zi_id; spa_t *zi_spa; zinject_record_t zi_record; + uint64_t *zi_lanes; + int zi_next_lane; list_node_t zi_link; } inject_handler_t; +/* + * List of all zinject handlers registered on the system, protected by + * the inject_lock defined below. + */ static list_t inject_handlers; + +/* + * This protects insertion into, and traversal of, the inject handler + * list defined above; as well as the inject_delay_count. Any time a + * handler is inserted or removed from the list, this lock should be + * taken as a RW_WRITER; and any time traversal is done over the list + * (without modification to it) this lock should be taken as a RW_READER. + */ static krwlock_t inject_lock; + +/* + * This holds the number of zinject delay handlers that have been + * registered on the system. It is protected by the inject_lock defined + * above. Thus modifications to this count must be a RW_WRITER of the + * inject_lock, and reads of this count must be (at least) a RW_READER + * of the lock. + */ +static int inject_delay_count = 0; + +/* + * This lock is used only in zio_handle_io_delay(), refer to the comment + * in that function for more details. + */ +static kmutex_t inject_delay_mtx; + +/* + * Used to assign unique identifying numbers to each new zinject handler. + */ static int inject_next_id = 1; /* @@ -360,32 +398,164 @@ spa_handle_ignored_writes(spa_t *spa) rw_exit(&inject_lock); } -uint64_t +hrtime_t zio_handle_io_delay(zio_t *zio) { vdev_t *vd = zio->io_vd; - inject_handler_t *handler; - uint64_t seconds = 0; - - if (zio_injection_enabled == 0) - return (0); + inject_handler_t *min_handler = NULL; + hrtime_t min_target = 0; rw_enter(&inject_lock, RW_READER); - for (handler = list_head(&inject_handlers); handler != NULL; - handler = list_next(&inject_handlers, handler)) { + /* + * inject_delay_count is a subset of zio_injection_enabled that + * is only incremented for delay handlers. These checks are + * mainly added to remind the reader why we're not explicitly + * checking zio_injection_enabled like the other functions. + */ + IMPLY(inject_delay_count > 0, zio_injection_enabled > 0); + IMPLY(zio_injection_enabled == 0, inject_delay_count == 0); + + /* + * If there aren't any inject delay handlers registered, then we + * can short circuit and simply return 0 here. A value of zero + * informs zio_delay_interrupt() that this request should not be + * delayed. This short circuit keeps us from acquiring the + * inject_delay_mutex unnecessarily. + */ + if (inject_delay_count == 0) { + rw_exit(&inject_lock); + return (0); + } + + /* + * Each inject handler has a number of "lanes" associated with + * it. Each lane is able to handle requests independently of one + * another, and at a latency defined by the inject handler + * record's zi_timer field. Thus if a handler in configured with + * a single lane with a 10ms latency, it will delay requests + * such that only a single request is completed every 10ms. So, + * if more than one request is attempted per each 10ms interval, + * the average latency of the requests will be greater than + * 10ms; but if only a single request is submitted each 10ms + * interval the average latency will be 10ms. + * + * We need to acquire this mutex to prevent multiple concurrent + * threads being assigned to the same lane of a given inject + * handler. The mutex allows us to perform the following two + * operations atomically: + * + * 1. determine the minimum handler and minimum target + * value of all the possible handlers + * 2. update that minimum handler's lane array + * + * Without atomicity, two (or more) threads could pick the same + * lane in step (1), and then conflict with each other in step + * (2). This could allow a single lane handler to process + * multiple requests simultaneously, which shouldn't be possible. + */ + mutex_enter(&inject_delay_mtx); + for (inject_handler_t *handler = list_head(&inject_handlers); + handler != NULL; handler = list_next(&inject_handlers, handler)) { if (handler->zi_record.zi_cmd != ZINJECT_DELAY_IO) continue; - if (vd->vdev_guid == handler->zi_record.zi_guid) { - seconds = handler->zi_record.zi_timer; - break; + if (vd->vdev_guid != handler->zi_record.zi_guid) + continue; + + /* + * Defensive; should never happen as the array allocation + * occurs prior to inserting this handler on the list. + */ + ASSERT3P(handler->zi_lanes, !=, NULL); + + /* + * This should never happen, the zinject command should + * prevent a user from setting an IO delay with zero lanes. + */ + ASSERT3U(handler->zi_record.zi_nlanes, !=, 0); + + ASSERT3U(handler->zi_record.zi_nlanes, >, + handler->zi_next_lane); + + /* + * We want to issue this IO to the lane that will become + * idle the soonest, so we compare the soonest this + * specific handler can complete the IO with all other + * handlers, to find the lowest value of all possible + * lanes. We then use this lane to submit the request. + * + * Since each handler has a constant value for its + * delay, we can just use the "next" lane for that + * handler; as it will always be the lane with the + * lowest value for that particular handler (i.e. the + * lane that will become idle the soonest). This saves a + * scan of each handler's lanes array. + * + * There's two cases to consider when determining when + * this specific IO request should complete. If this + * lane is idle, we want to "submit" the request now so + * it will complete after zi_timer milliseconds. Thus, + * we set the target to now + zi_timer. + * + * If the lane is busy, we want this request to complete + * zi_timer milliseconds after the lane becomes idle. + * Since the 'zi_lanes' array holds the time at which + * each lane will become idle, we use that value to + * determine when this request should complete. + */ + hrtime_t idle = handler->zi_record.zi_timer + gethrtime(); + hrtime_t busy = handler->zi_record.zi_timer + + handler->zi_lanes[handler->zi_next_lane]; + hrtime_t target = MAX(idle, busy); + + if (min_handler == NULL) { + min_handler = handler; + min_target = target; + continue; } + ASSERT3P(min_handler, !=, NULL); + ASSERT3U(min_target, !=, 0); + + /* + * We don't yet increment the "next lane" variable since + * we still might find a lower value lane in another + * handler during any remaining iterations. Once we're + * sure we've selected the absolute minimum, we'll claim + * the lane and increment the handler's "next lane" + * field below. + */ + + if (target < min_target) { + min_handler = handler; + min_target = target; + } } + + /* + * 'min_handler' will be NULL if no IO delays are registered for + * this vdev, otherwise it will point to the handler containing + * the lane that will become idle the soonest. + */ + if (min_handler != NULL) { + ASSERT3U(min_target, !=, 0); + min_handler->zi_lanes[min_handler->zi_next_lane] = min_target; + + /* + * If we've used all possible lanes for this handler, + * loop back and start using the first lane again; + * otherwise, just increment the lane index. + */ + min_handler->zi_next_lane = (min_handler->zi_next_lane + 1) % + min_handler->zi_record.zi_nlanes; + } + + mutex_exit(&inject_delay_mtx); rw_exit(&inject_lock); - return (seconds); + + return (min_target); } /* @@ -409,6 +579,24 @@ zio_inject_fault(char *name, int flags, if ((error = spa_reset(name)) != 0) return (error); + if (record->zi_cmd == ZINJECT_DELAY_IO) { + /* + * A value of zero for the number of lanes or for the + * delay time doesn't make sense. + */ + if (record->zi_timer == 0 || record->zi_nlanes == 0) + return (SET_ERROR(EINVAL)); + + /* + * The number of lanes is directly mapped to the size of + * an array used by the handler. Thus, to ensure the + * user doesn't trigger an allocation that's "too large" + * we cap the number of lanes here. + */ + if (record->zi_nlanes >= UINT16_MAX) + return (SET_ERROR(EINVAL)); + } + if (!(flags & ZINJECT_NULL)) { /* * spa_inject_ref() will add an injection reference, which will @@ -420,11 +608,34 @@ zio_inject_fault(char *name, int flags, handler = kmem_alloc(sizeof (inject_handler_t), KM_SLEEP); + handler->zi_spa = spa; + handler->zi_record = *record; + + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + handler->zi_lanes = kmem_zalloc( + sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes, KM_SLEEP); + handler->zi_next_lane = 0; + } else { + handler->zi_lanes = NULL; + handler->zi_next_lane = 0; + } + rw_enter(&inject_lock, RW_WRITER); + /* + * We can't move this increment into the conditional + * above because we need to hold the RW_WRITER lock of + * inject_lock, and we don't want to hold that while + * allocating the handler's zi_lanes array. + */ + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >=, 0); + inject_delay_count++; + ASSERT3S(inject_delay_count, >, 0); + } + *id = handler->zi_id = inject_next_id++; - handler->zi_spa = spa; - handler->zi_record = *record; list_insert_tail(&inject_handlers, handler); atomic_inc_32(&zio_injection_enabled); @@ -502,9 +713,23 @@ zio_clear_fault(int id) return (SET_ERROR(ENOENT)); } + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >, 0); + inject_delay_count--; + ASSERT3S(inject_delay_count, >=, 0); + } + list_remove(&inject_handlers, handler); rw_exit(&inject_lock); + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3P(handler->zi_lanes, !=, NULL); + kmem_free(handler->zi_lanes, sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes); + } else { + ASSERT3P(handler->zi_lanes, ==, NULL); + } + spa_inject_delref(handler->zi_spa); kmem_free(handler, sizeof (inject_handler_t)); atomic_dec_32(&zio_injection_enabled); @@ -516,6 +741,7 @@ void zio_inject_init(void) { rw_init(&inject_lock, NULL, RW_DEFAULT, NULL); + mutex_init(&inject_delay_mtx, NULL, MUTEX_DEFAULT, NULL); list_create(&inject_handlers, sizeof (inject_handler_t), offsetof(inject_handler_t, zi_link)); } @@ -524,5 +750,6 @@ void zio_inject_fini(void) { list_destroy(&inject_handlers); + mutex_destroy(&inject_delay_mtx); rw_destroy(&inject_lock); } From owner-svn-src-head@freebsd.org Tue Mar 8 17:32:26 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3ABF5AC7FE6; Tue, 8 Mar 2016 17:32:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DFBBD1626; Tue, 8 Mar 2016 17:32:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HWOQk054827; Tue, 8 Mar 2016 17:32:24 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HWOdv054826; Tue, 8 Mar 2016 17:32:24 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081732.u28HWOdv054826@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:32:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296512 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:32:26 -0000 Author: mav Date: Tue Mar 8 17:32:24 2016 New Revision: 296512 URL: https://svnweb.freebsd.org/changeset/base/296512 Log: MFV r296511: 6537 Panic on zpool scrub with DEBUG kernel Reviewed by: Steve Gonczi Reviewed by: Dan McDonald Reviewed by: Igor Kozhukhov Reviewed by: Matthew Ahrens Approved by: Matthew Ahrens Author: Gary Mills illumos/illumos-gate@8c04a1fa3f7d569d48fe9b5342d0bd4c533179b9 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:29:57 2016 (r296511) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:32:24 2016 (r296512) @@ -21,6 +21,7 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright 2016 Gary Mills */ #include @@ -1545,7 +1546,8 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * } if (err != 0) return; - if (!scn->scn_async_destroying && zfs_free_leak_on_eio && + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying && + zfs_free_leak_on_eio && (dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes != 0)) { @@ -1571,7 +1573,7 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * -dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes, -dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes, tx); } - if (!scn->scn_async_destroying) { + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying) { /* finished; verify that space accounting went to zero */ ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes); ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes); From owner-svn-src-head@freebsd.org Tue Mar 8 17:34:59 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACABCAC8120; Tue, 8 Mar 2016 17:34:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 856651A95; Tue, 8 Mar 2016 17:34:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HYw9l055028; Tue, 8 Mar 2016 17:34:58 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HYwk4055027; Tue, 8 Mar 2016 17:34:58 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081734.u28HYwk4055027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:34:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296514 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:34:59 -0000 Author: mav Date: Tue Mar 8 17:34:58 2016 New Revision: 296514 URL: https://svnweb.freebsd.org/changeset/base/296514 Log: MFV r296513: 6450 scrub/resilver unnecessarily traverses snapshots created after the scrub started Reviewed by: George Wilson Reviewed by: Prakash Surya Reviewed by: Richard Elling Approved by: Richard Lowe Author: Matthew Ahrens illumos/illumos-gate@38d61036746e2273cc18f6698392e1e29f87d1bf Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:34:07 2016 (r296513) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:34:58 2016 (r296514) @@ -847,7 +847,16 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, if (scn->scn_phys.scn_bookmark.zb_objset == ds->ds_object) { if (ds->ds_is_snapshot) { - /* Note, scn_cur_{min,max}_txg stays the same. */ + /* + * Note: + * - scn_cur_{min,max}_txg stays the same. + * - Setting the flag is not really necessary if + * scn_cur_max_txg == scn_max_txg, because there + * is nothing after this snapshot that we care + * about. However, we set it anyway and then + * ignore it when we retraverse it in + * dsl_scan_visitds(). + */ scn->scn_phys.scn_bookmark.zb_objset = dsl_dataset_phys(ds)->ds_next_snap_obj; zfs_dbgmsg("destroying ds %llu; currently traversing; " @@ -887,9 +896,6 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, zfs_dbgmsg("destroying ds %llu; in queue; removing", (u_longlong_t)ds->ds_object); } - } else { - zfs_dbgmsg("destroying ds %llu; ignoring", - (u_longlong_t)ds->ds_object); } /* @@ -1042,6 +1048,46 @@ dsl_scan_visitds(dsl_scan_t *scn, uint64 VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, dsobj, FTAG, &ds)); + if (scn->scn_phys.scn_cur_min_txg >= + scn->scn_phys.scn_max_txg) { + /* + * This can happen if this snapshot was created after the + * scan started, and we already completed a previous snapshot + * that was created after the scan started. This snapshot + * only references blocks with: + * + * birth < our ds_creation_txg + * cur_min_txg is no less than ds_creation_txg. + * We have already visited these blocks. + * or + * birth > scn_max_txg + * The scan requested not to visit these blocks. + * + * Subsequent snapshots (and clones) can reference our + * blocks, or blocks with even higher birth times. + * Therefore we do not need to visit them either, + * so we do not add them to the work queue. + * + * Note that checking for cur_min_txg >= cur_max_txg + * is not sufficient, because in that case we may need to + * visit subsequent snapshots. This happens when min_txg > 0, + * which raises cur_min_txg. In this case we will visit + * this dataset but skip all of its blocks, because the + * rootbp's birth time is < cur_min_txg. Then we will + * add the next snapshots/clones to the work queue. + */ + char *dsname = kmem_alloc(MAXNAMELEN, KM_SLEEP); + dsl_dataset_name(ds, dsname); + zfs_dbgmsg("scanning dataset %llu (%s) is unnecessary because " + "cur_min_txg (%llu) >= max_txg (%llu)", + dsobj, dsname, + scn->scn_phys.scn_cur_min_txg, + scn->scn_phys.scn_max_txg); + kmem_free(dsname, MAXNAMELEN); + + goto out; + } + if (dmu_objset_from_ds(ds, &os)) goto out; From owner-svn-src-head@freebsd.org Tue Mar 8 17:43:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CBEDCAC8542; Tue, 8 Mar 2016 17:43:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B3203B4; Tue, 8 Mar 2016 17:43:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HhLFS058004; Tue, 8 Mar 2016 17:43:21 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HhLAb058002; Tue, 8 Mar 2016 17:43:21 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081743.u28HhLAb058002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:43:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296516 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:43:23 -0000 Author: mav Date: Tue Mar 8 17:43:21 2016 New Revision: 296516 URL: https://svnweb.freebsd.org/changeset/base/296516 Log: MFV r296515: 6536 zfs send: want a way to disable setting of DRR_FLAG_FREERECORDS Reviewed by: Anil Vijarnia Reviewed by: Kim Shrier Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Andrew Stormont illumos/illumos-gate@880094b6062aebeec8eda6a8651757611c83b13e Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:36:36 2016 (r296515) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:43:21 2016 (r296516) @@ -25,6 +25,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright (c) 2012, Martin Matuska . All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. + * Copyright 2016 RackTop Systems. */ #include @@ -64,6 +65,12 @@ int zfs_send_corrupt_data = B_FALSE; int zfs_send_queue_length = 16 * 1024 * 1024; int zfs_recv_queue_length = 16 * 1024 * 1024; +/* Set this tunable to FALSE to disable setting of DRR_FLAG_FREERECORDS */ +int zfs_send_set_freerecords_bit = B_TRUE; + +#ifdef _KERNEL +TUNABLE_INT("vfs.zfs.send_set_freerecords_bit", &zfs_send_set_freerecords_bit); +#endif static char *dmu_recv_tag = "dmu_recv_tag"; const char *recv_clone_name = "%recv"; @@ -771,7 +778,8 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, drr->drr_u.drr_begin.drr_toguid = dsl_dataset_phys(to_ds)->ds_guid; if (dsl_dataset_phys(to_ds)->ds_flags & DS_FLAG_CI_DATASET) drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_CI_DATA; - drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; + if (zfs_send_set_freerecords_bit) + drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; if (ancestor_zb != NULL) { drr->drr_u.drr_begin.drr_fromguid = Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:36:36 2016 (r296515) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:43:21 2016 (r296516) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright 2016 RackTop Systems. */ #ifndef _SYS_ZFS_IOCTL_H @@ -124,6 +125,10 @@ typedef enum dmu_send_resume_token_versi #define DMU_BACKUP_MAGIC 0x2F5bacbacULL +/* + * Send stream flags. Bits 24-31 are reserved for vendor-specific + * implementations and should not be used. + */ #define DRR_FLAG_CLONE (1<<0) #define DRR_FLAG_CI_DATA (1<<1) /* From owner-svn-src-head@freebsd.org Tue Mar 8 17:45:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BBE7DAC8660; Tue, 8 Mar 2016 17:45:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86A347F2; Tue, 8 Mar 2016 17:45:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HjuEQ058152; Tue, 8 Mar 2016 17:45:56 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HjuXN058151; Tue, 8 Mar 2016 17:45:56 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603081745.u28HjuXN058151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 8 Mar 2016 17:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296517 - head/sys/boot/efi/boot1 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:45:57 -0000 Author: emaste Date: Tue Mar 8 17:45:56 2016 New Revision: 296517 URL: https://svnweb.freebsd.org/changeset/base/296517 Log: boot1.efi: use += to append to LDFLAGS This is for consistency with loader.efi's Makefile and simplifies some out-of-tree experimentation. Modified: head/sys/boot/efi/boot1/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Tue Mar 8 17:43:21 2016 (r296516) +++ head/sys/boot/efi/boot1/Makefile Tue Mar 8 17:45:56 2016 (r296517) @@ -53,7 +53,7 @@ FILES= boot1.efi boot1.efifat FILESMODE_boot1.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} -LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared +LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared .if ${MACHINE_CPUARCH} == "aarch64" CFLAGS+= -msoft-float -mgeneral-regs-only From owner-svn-src-head@freebsd.org Tue Mar 8 17:51:15 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A907EAC8848; Tue, 8 Mar 2016 17:51:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70236EAA; Tue, 8 Mar 2016 17:51:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HpE3w059365; Tue, 8 Mar 2016 17:51:14 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hp9oL059313; Tue, 8 Mar 2016 17:51:09 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081751.u28Hp9oL059313@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:51:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296519 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zstreamdump cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:51:15 -0000 Author: mav Date: Tue Mar 8 17:51:09 2016 New Revision: 296519 URL: https://svnweb.freebsd.org/changeset/base/296519 Log: MFV r296518: 5027 zfs large block support (add copyright) Author: Matthew Ahrens illumos/illumos-gate@c3d26abc9ee97b4f60233556aadeb57e0bd30bb9 Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c head/cddl/contrib/opensolaris/cmd/ztest/ztest.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ /* * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 17:51:09 2016 (r296519) @@ -28,6 +28,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _LIBZFS_H Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:51:09 2016 (r296519) @@ -27,6 +27,7 @@ * All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifdef _KERNEL Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _ZFEATURE_COMMON_H Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2015, STRATO AG, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2012, Martin Matuska . All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2013 by Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Portions Copyright 2011 iXsystems, Inc * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2013 Martin Matuska . All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright 2013 Martin Matuska . All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:51:09 2016 (r296519) @@ -28,6 +28,7 @@ * Copyright 2014 HybridCluster. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _DMU_SEND_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_DSL_DATASET_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_SPA_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZAP_IMPL_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZFS_IOCTL_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_FS_ZFS_ZNODE_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright 2013 Martin Matuska . All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:51:09 2016 (r296519) @@ -31,6 +31,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011 Pawel Jakub Dawidek . * All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2011 Martin Matuska */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2012, Martin Matuska . All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ From owner-svn-src-head@freebsd.org Tue Mar 8 17:53:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1DBD4AC89EA; Tue, 8 Mar 2016 17:53:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB4D2127B; Tue, 8 Mar 2016 17:53:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HrgbV061513; Tue, 8 Mar 2016 17:53:42 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hrgon061512; Tue, 8 Mar 2016 17:53:42 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081753.u28Hrgon061512@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:53:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296521 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:53:44 -0000 Author: mav Date: Tue Mar 8 17:53:42 2016 New Revision: 296521 URL: https://svnweb.freebsd.org/changeset/base/296521 Log: MFV r296520: 6562 Refquota on receive doesn't account for overage Reviewed by: Matthew Ahrens Reviewed by: Yuri Pankov Reviewed by: Toomas Soome Approved by: Gordon Ross Author: Dan McDonald illumos/illumos-gate@5f7a8e6d750cb070a3347f045201c6206caee6aa Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:52:43 2016 (r296520) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:53:42 2016 (r296521) @@ -26,6 +26,7 @@ * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016, OmniTI Computer Consulting, Inc. All rights reserved. */ #include @@ -85,6 +86,8 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, max_recor extern inline dsl_dataset_phys_t *dsl_dataset_phys(dsl_dataset_t *ds); +extern int spa_asize_inflation; + /* * Figure out how much of this delta should be propogated to the dsl_dir * layer. If there's a refreservation, that space has already been @@ -2897,6 +2900,11 @@ int dsl_dataset_clone_swap_check_impl(dsl_dataset_t *clone, dsl_dataset_t *origin_head, boolean_t force, void *owner, dmu_tx_t *tx) { + /* + * "slack" factor for received datasets with refquota set on them. + * See the bottom of this function for details on its use. + */ + uint64_t refquota_slack = DMU_MAX_ACCESS * spa_asize_inflation; int64_t unused_refres_delta; /* they should both be heads */ @@ -2939,10 +2947,22 @@ dsl_dataset_clone_swap_check_impl(dsl_da dsl_dir_space_available(origin_head->ds_dir, NULL, 0, TRUE)) return (SET_ERROR(ENOSPC)); - /* clone can't be over the head's refquota */ + /* + * The clone can't be too much over the head's refquota. + * + * To ensure that the entire refquota can be used, we allow one + * transaction to exceed the the refquota. Therefore, this check + * needs to also allow for the space referenced to be more than the + * refquota. The maximum amount of space that one transaction can use + * on disk is DMU_MAX_ACCESS * spa_asize_inflation. Allowing this + * overage ensures that we are able to receive a filesystem that + * exceeds the refquota on the source system. + * + * So that overage is the refquota_slack we use below. + */ if (origin_head->ds_quota != 0 && dsl_dataset_phys(clone)->ds_referenced_bytes > - origin_head->ds_quota) + origin_head->ds_quota + refquota_slack) return (SET_ERROR(EDQUOT)); return (0); @@ -2956,8 +2976,13 @@ dsl_dataset_clone_swap_sync_impl(dsl_dat int64_t unused_refres_delta; ASSERT(clone->ds_reserved == 0); + /* + * NOTE: On DEBUG kernels there could be a race between this and + * the check function if spa_asize_inflation is adjusted... + */ ASSERT(origin_head->ds_quota == 0 || - dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota); + dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota + + DMU_MAX_ACCESS * spa_asize_inflation); ASSERT3P(clone->ds_prev, ==, origin_head->ds_prev); /* From owner-svn-src-head@freebsd.org Tue Mar 8 17:58:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 311A0AC8B10; Tue, 8 Mar 2016 17:58:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCFB615F3; Tue, 8 Mar 2016 17:58:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Hw2MQ061773; Tue, 8 Mar 2016 17:58:02 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hw2ro061771; Tue, 8 Mar 2016 17:58:02 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081758.u28Hw2ro061771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296523 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:58:04 -0000 Author: mav Date: Tue Mar 8 17:58:02 2016 New Revision: 296523 URL: https://svnweb.freebsd.org/changeset/base/296523 Log: MFV r296522: 6541 Pool feature-flag check defeated if "verify" is included in the dedup property value Reviewed by: Matthew Ahrens Reviewed by: Richard Laager Approved by: Robert Mustacchi Author: ilovezfs illumos/illumos-gate@971640e6aa954c91b0706543741aa4570299f4d7 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:56:40 2016 (r296522) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:58:02 2016 (r296523) @@ -3973,7 +3973,7 @@ zfs_check_settable(const char *dsname, n return (SET_ERROR(EINVAL)); /* check prop value is enabled in features */ - feature = zio_checksum_to_feature(intval); + feature = zio_checksum_to_feature(intval & ZIO_CHECKSUM_MASK); if (feature == SPA_FEATURE_NONE) break; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:56:40 2016 (r296522) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:58:02 2016 (r296523) @@ -138,10 +138,16 @@ zio_checksum_info_t zio_checksum_table[Z #endif }; +/* + * The flag corresponding to the "verify" in dedup=[checksum,]verify + * must be cleared first, so callers should use ZIO_CHECKSUM_MASK. + */ spa_feature_t zio_checksum_to_feature(enum zio_checksum cksum) { #ifdef illumos + VERIFY((cksum & ~ZIO_CHECKSUM_MASK) == 0); + switch (cksum) { case ZIO_CHECKSUM_SHA512: return (SPA_FEATURE_SHA512); From owner-svn-src-head@freebsd.org Tue Mar 8 18:05:03 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B413AC8E18; Tue, 8 Mar 2016 18:05:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A07B1DAA; Tue, 8 Mar 2016 18:05:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I52Vd064840; Tue, 8 Mar 2016 18:05:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I52R8064839; Tue, 8 Mar 2016 18:05:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I52R8064839@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296524 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:03 -0000 Author: bdrewery Date: Tue Mar 8 18:05:02 2016 New Revision: 296524 URL: https://svnweb.freebsd.org/changeset/base/296524 Log: Filemon: Attach from the child to avoid racing with the parent attach. This is the same as how the bmake filemon usage works. This also fixes failed attach not properly flushing the TTY. MFC after: 1 week Relnotes: yes Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 17:58:02 2016 (r296523) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:02 2016 (r296524) @@ -224,13 +224,19 @@ main(int argc, char *argv[]) warn("fork"); done(1); } - if (child == 0) + if (child == 0) { + if (fflg) { + int pid; + + pid = getpid(); + if (ioctl(fm_fd, FILEMON_SET_PID, &pid) < 0) + err(1, "Cannot set filemon PID"); + } + doshell(argv); + } close(slave); - if (fflg && ioctl(fm_fd, FILEMON_SET_PID, &child) < 0) - err(1, "Cannot set filemon PID"); - start = tvec = time(0); readstdin = 1; for (;;) { From owner-svn-src-head@freebsd.org Tue Mar 8 18:05:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7291EAC8E56; Tue, 8 Mar 2016 18:05:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 44E4A1F03; Tue, 8 Mar 2016 18:05:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I5KJ4064894; Tue, 8 Mar 2016 18:05:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I5KZ1064893; Tue, 8 Mar 2016 18:05:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I5KZ1064893@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296525 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:21 -0000 Author: bdrewery Date: Tue Mar 8 18:05:20 2016 New Revision: 296525 URL: https://svnweb.freebsd.org/changeset/base/296525 Log: Just exit in the child if execve(2) fails. No functional change. This is mostly addressing a false-positive from the clang static analyzer due to it thinking that done() was being called with freed memory, however the kill(0, SIGTERM) made the done() never reached. It doesn't make sense to the show the footer from the child anyhow, nor does it make sense to kill the process group here since the execve(2) failed in the child. This code was leftover from many years of refactoring. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 18:05:02 2016 (r296524) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:20 2016 (r296525) @@ -80,7 +80,6 @@ static struct termios tt; static void done(int) __dead2; static void doshell(char **); -static void fail(void); static void finish(void); static void record(FILE *, char *, size_t, int); static void consume(FILE *, off_t, char *, int); @@ -347,14 +346,7 @@ doshell(char **av) execl(shell, shell, "-i", (char *)NULL); warn("%s", shell); } - fail(); -} - -static void -fail(void) -{ - (void)kill(0, SIGTERM); - done(1); + exit(1); } static void From owner-svn-src-head@freebsd.org Tue Mar 8 18:05:24 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85B34AC8E7B; Tue, 8 Mar 2016 18:05:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 542941F26; Tue, 8 Mar 2016 18:05:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I5NTu064939; Tue, 8 Mar 2016 18:05:23 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I5Nqm064938; Tue, 8 Mar 2016 18:05:23 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I5Nqm064938@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296526 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:24 -0000 Author: bdrewery Date: Tue Mar 8 18:05:23 2016 New Revision: 296526 URL: https://svnweb.freebsd.org/changeset/base/296526 Log: Record command exit status in the typescript file when running simple commands. Also capitalize 'command:'. Relnotes: yes MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 18:05:20 2016 (r296525) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:23 2016 (r296526) @@ -74,7 +74,7 @@ static int child; static const char *fname; static char *fmfname; static int fflg, qflg, ttyflg; -static int usesleep, rawout; +static int usesleep, rawout, showexit; static struct termios tt; @@ -107,6 +107,7 @@ main(int argc, char *argv[]) flushtime = 30; fm_fd = -1; /* Shut up stupid "may be used uninitialized" GCC warning. (not needed w/clang) */ + showexit = 0; while ((ch = getopt(argc, argv, "adFfkpqrt:")) != -1) switch(ch) { @@ -198,7 +199,8 @@ main(int argc, char *argv[]) (void)fprintf(fscript, "Script started on %s", ctime(&tvec)); if (argv[0]) { - fprintf(fscript, "command: "); + showexit = 1; + fprintf(fscript, "Command: "); for (k = 0 ; argv[k] ; ++k) fprintf(fscript, "%s%s", k ? " " : "", argv[k]); @@ -360,9 +362,13 @@ done(int eno) if (rawout) record(fscript, NULL, 0, 'e'); if (!qflg) { - if (!rawout) + if (!rawout) { + if (showexit) + (void)fprintf(fscript, "\nCommand exit status:" + " %d", eno); (void)fprintf(fscript,"\nScript done on %s", ctime(&tvec)); + } (void)printf("\nScript done, output file is %s\n", fname); if (fflg) { (void)printf("Filemon done, output file is %s\n", From owner-svn-src-head@freebsd.org Tue Mar 8 18:11:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9B56AC358D; Tue, 8 Mar 2016 18:11:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C52BAF41; Tue, 8 Mar 2016 18:11:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IBdZt067900; Tue, 8 Mar 2016 18:11:39 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IBcZC067888; Tue, 8 Mar 2016 18:11:38 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081811.u28IBcZC067888@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:11:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296528 - in head: cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/common/nvpair sys/cddl/con... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:11:41 -0000 Author: mav Date: Tue Mar 8 18:11:38 2016 New Revision: 296528 URL: https://svnweb.freebsd.org/changeset/base/296528 Log: MFV r296527: 6659 nvlist_free(NULL) is a no-op Reviewed by: Toomas Soome Reviewed by: Marcel Telka Approved by: Robert Mustacchi Author: Josef 'Jeff' Sipek illumos/illumos-gate@aab83bb83be7342f6cfccaed8d5fe0b2f404855d Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:11:38 2016 (r296528) @@ -5408,8 +5408,7 @@ zfs_do_allow_unallow_impl(int argc, char cleanup0: nvlist_free(perm_nvl); - if (update_perm_nvl != NULL) - nvlist_free(update_perm_nvl); + nvlist_free(update_perm_nvl); cleanup1: fs_perm_set_fini(&fs_perm_set); cleanup2: Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:11:38 2016 (r296528) @@ -3413,8 +3413,7 @@ zpool_do_split(int argc, char **argv) if (add_prop_list( zpool_prop_to_name(ZPOOL_PROP_ALTROOT), optarg, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } break; @@ -3427,8 +3426,7 @@ zpool_do_split(int argc, char **argv) propval++; if (add_prop_list(optarg, propval, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } } else { Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1449,8 +1449,7 @@ split_mirror_vdev(zpool_handle_t *zhp, c } if (zpool_vdev_split(zhp, newname, &newroot, props, flags) != 0) { - if (newroot != NULL) - nvlist_free(newroot); + nvlist_free(newroot); return (NULL); } Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:11:38 2016 (r296528) @@ -318,8 +318,7 @@ zpool_refresh_stats(zpool_handle_t *zhp, verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_POOL_TXG, &newtxg) == 0); - if (zhp->zpool_old_config != NULL) - nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_old_config); if (oldtxg != newtxg) { nvlist_free(zhp->zpool_config); Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:11:38 2016 (r296528) @@ -2064,8 +2064,7 @@ get_numeric_property(zfs_handle_t *zhp, zcmd_free_nvlists(&zc); return (-1); } - if (zplprops) - nvlist_free(zplprops); + nvlist_free(zplprops); zcmd_free_nvlists(&zc); break; @@ -4340,8 +4339,7 @@ zfs_smb_acl_mgmt(libzfs_handle_t *hdl, c return (-1); } error = ioctl(hdl->libzfs_fd, ZFS_IOC_SMB_ACL, &zc); - if (nvlist) - nvlist_free(nvlist); + nvlist_free(nvlist); return (error); } Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1331,8 +1331,7 @@ error: venext = ve->ve_next; for (ce = ve->ve_configs; ce != NULL; ce = cenext) { cenext = ce->ce_next; - if (ce->ce_config) - nvlist_free(ce->ce_config); + nvlist_free(ce->ce_config); free(ce); } free(ve); Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1054,12 +1054,9 @@ zpool_open(libzfs_handle_t *hdl, const c void zpool_close(zpool_handle_t *zhp) { - if (zhp->zpool_config) - nvlist_free(zhp->zpool_config); - if (zhp->zpool_old_config) - nvlist_free(zhp->zpool_old_config); - if (zhp->zpool_props) - nvlist_free(zhp->zpool_props); + nvlist_free(zhp->zpool_config); + nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_props); free(zhp); } @@ -1577,8 +1574,7 @@ zpool_import(libzfs_handle_t *hdl, nvlis ret = zpool_import_props(hdl, config, newname, props, ZFS_IMPORT_NORMAL); - if (props) - nvlist_free(props); + nvlist_free(props); return (ret); } @@ -2901,8 +2897,7 @@ zpool_vdev_split(zpool_handle_t *zhp, ch &children) != 0) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "Source pool is missing vdev tree")); - if (zc_props) - nvlist_free(zc_props); + nvlist_free(zc_props); return (-1); } @@ -3050,10 +3045,8 @@ out: free(varray); } zcmd_free_nvlists(&zc); - if (zc_props) - nvlist_free(zc_props); - if (newconfig) - nvlist_free(newconfig); + nvlist_free(zc_props); + nvlist_free(newconfig); if (freelist) { nvlist_free(*newroot); *newroot = NULL; Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:11:38 2016 (r296528) @@ -2794,8 +2794,7 @@ zfs_receive_package(libzfs_handle_t *hdl out: fsavl_destroy(stream_avl); - if (stream_nv) - nvlist_free(stream_nv); + nvlist_free(stream_nv); if (softerr) error = -2; if (anyerr) Modified: head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c Tue Mar 8 18:11:38 2016 (r296528) @@ -544,8 +544,7 @@ nvpair_free(nvpair_t *nvp) int i; for (i = 0; i < NVP_NELEM(nvp); i++) - if (nvlp[i] != NULL) - nvlist_free(nvlp[i]); + nvlist_free(nvlp[i]); break; } default: Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 18:11:38 2016 (r296528) @@ -6344,8 +6344,7 @@ spa_sync_config_object(spa_t *spa, dmu_t spa_config_exit(spa, SCL_STATE, FTAG); - if (spa->spa_config_syncing) - nvlist_free(spa->spa_config_syncing); + nvlist_free(spa->spa_config_syncing); spa->spa_config_syncing = config; spa_sync_nvlist(spa, spa->spa_config_object, config, tx); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:11:38 2016 (r296528) @@ -367,8 +367,7 @@ void spa_config_set(spa_t *spa, nvlist_t *config) { mutex_enter(&spa->spa_props_lock); - if (spa->spa_config != NULL) - nvlist_free(spa->spa_config); + nvlist_free(spa->spa_config); spa->spa_config = config; mutex_exit(&spa->spa_props_lock); } Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1602,8 +1602,7 @@ zfs_ioc_pool_import(zfs_cmd_t *zc) nvlist_free(config); - if (props) - nvlist_free(props); + nvlist_free(props); return (error); } From owner-svn-src-head@freebsd.org Tue Mar 8 18:28:27 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EDC11AC71EF; Tue, 8 Mar 2016 18:28:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A016379; Tue, 8 Mar 2016 18:28:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28ISPpD071815; Tue, 8 Mar 2016 18:28:25 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28ISPDf071813; Tue, 8 Mar 2016 18:28:25 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081828.u28ISPDf071813@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296530 - in head/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:28:27 -0000 Author: mav Date: Tue Mar 8 18:28:24 2016 New Revision: 296530 URL: https://svnweb.freebsd.org/changeset/base/296530 Log: MFV r296529: 6672 arc_reclaim_thread() should use gethrtime() instead of ddi_get_lbolt() 6673 want a macro to convert seconds to nanoseconds and vice-versa Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Reviewed by: Josef 'Jeff' Sipek Reviewed by: Robert Mustacchi Approved by: Dan McDonald Author: Eli Rosenthal illumos/illumos-gate@a8f6344fa0921599e1f4511e41b5f9a25c38c0f9 Modified: head/sys/cddl/compat/opensolaris/sys/time.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/compat/opensolaris/sys/time.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/time.h Tue Mar 8 18:16:50 2016 (r296529) +++ head/sys/cddl/compat/opensolaris/sys/time.h Tue Mar 8 18:28:24 2016 (r296530) @@ -40,6 +40,9 @@ #define MSEC2NSEC(m) ((hrtime_t)(m) * (NANOSEC / MILLISEC)) #define NSEC2MSEC(n) ((n) / (NANOSEC / MILLISEC)) +#define NSEC2SEC(n) ((n) / (NANOSEC / SEC)) +#define SEC2NSEC(m) ((hrtime_t)(m) * (NANOSEC / SEC)) + typedef longlong_t hrtime_t; #if defined(__i386__) || defined(__powerpc__) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Mar 8 18:16:50 2016 (r296529) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Mar 8 18:28:24 2016 (r296530) @@ -3606,7 +3606,7 @@ arc_kmem_reap_now(void) static void arc_reclaim_thread(void *dummy __unused) { - clock_t growtime = 0; + hrtime_t growtime = 0; callb_cpr_t cpr; CALLB_CPR_INIT(&cpr, &arc_reclaim_lock, callb_generic_cpr, FTAG); @@ -3627,7 +3627,7 @@ arc_reclaim_thread(void *dummy __unused) * Wait at least zfs_grow_retry (default 60) seconds * before considering growing. */ - growtime = ddi_get_lbolt() + (arc_grow_retry * hz); + growtime = gethrtime() + SEC2NSEC(arc_grow_retry); arc_kmem_reap_now(); @@ -3647,7 +3647,7 @@ arc_reclaim_thread(void *dummy __unused) } } else if (free_memory < arc_c >> arc_no_grow_shift) { arc_no_grow = B_TRUE; - } else if (ddi_get_lbolt() >= growtime) { + } else if (gethrtime() >= growtime) { arc_no_grow = B_FALSE; } @@ -3681,8 +3681,8 @@ arc_reclaim_thread(void *dummy __unused) * even if we aren't being signalled) */ CALLB_CPR_SAFE_BEGIN(&cpr); - (void) cv_timedwait(&arc_reclaim_thread_cv, - &arc_reclaim_lock, hz); + (void) cv_timedwait_hires(&arc_reclaim_thread_cv, + &arc_reclaim_lock, SEC2NSEC(1), MSEC2NSEC(1), 0); CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock); } } From owner-svn-src-head@freebsd.org Tue Mar 8 18:32:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54C89AC7409; Tue, 8 Mar 2016 18:32:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27C4BBB9; Tue, 8 Mar 2016 18:32:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IWWQm074700; Tue, 8 Mar 2016 18:32:32 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IWWiA074699; Tue, 8 Mar 2016 18:32:32 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081832.u28IWWiA074699@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:32:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296533 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:32:33 -0000 Author: mav Date: Tue Mar 8 18:32:31 2016 New Revision: 296533 URL: https://svnweb.freebsd.org/changeset/base/296533 Log: MFV r296532: 6637 replacing "dontclose" with "should_close" Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Approved by: Robert Mustacchi Author: David Schwartz illumos/illumos-gate@d189620258b3c9b0e2f7e2104840be2eee7c68e5 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Tue Mar 8 18:31:49 2016 (r296532) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Tue Mar 8 18:32:31 2016 (r296533) @@ -93,7 +93,7 @@ static int zfs_callback(zfs_handle_t *zhp, void *data) { callback_data_t *cb = data; - boolean_t dontclose = B_FALSE; + boolean_t should_close = B_TRUE; boolean_t include_snaps = zfs_include_snapshots(zhp, cb); boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK); @@ -121,7 +121,7 @@ zfs_callback(zfs_handle_t *zhp, void *da } } uu_avl_insert(cb->cb_avl, node, idx); - dontclose = B_TRUE; + should_close = B_FALSE; } else { free(node); } @@ -147,7 +147,7 @@ zfs_callback(zfs_handle_t *zhp, void *da cb->cb_depth--; } - if (!dontclose) + if (should_close) zfs_close(zhp); return (0); From owner-svn-src-head@freebsd.org Tue Mar 8 18:35:55 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4726AC75DD; Tue, 8 Mar 2016 18:35:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A9B7BFF4; Tue, 8 Mar 2016 18:35:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IZr2K074928; Tue, 8 Mar 2016 18:35:53 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IZrH9074927; Tue, 8 Mar 2016 18:35:53 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081835.u28IZrH9074927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:35:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296535 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:35:55 -0000 Author: mav Date: Tue Mar 8 18:35:53 2016 New Revision: 296535 URL: https://svnweb.freebsd.org/changeset/base/296535 Log: MFV r296534: 6550 cmd/zfs: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Dan McDonald Author: Igor Kozhukhov illumos/illumos-gate@c16bcc4577f389573eff411c7b7e040294078c3b Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:35:07 2016 (r296534) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:35:53 2016 (r296535) @@ -30,6 +30,7 @@ * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Igor Kozhukhov . */ #include @@ -752,7 +753,7 @@ zfs_do_create(int argc, char **argv) { zfs_type_t type = ZFS_TYPE_FILESYSTEM; zfs_handle_t *zhp = NULL; - uint64_t volsize; + uint64_t volsize = 0; int c; boolean_t noreserve = B_FALSE; boolean_t bflag = B_FALSE; @@ -847,14 +848,14 @@ zfs_do_create(int argc, char **argv) if (type == ZFS_TYPE_VOLUME && !noreserve) { zpool_handle_t *zpool_handle; - nvlist_t *real_props; + nvlist_t *real_props = NULL; uint64_t spa_version; char *p; zfs_prop_t resv_prop; char *strval; char msg[1024]; - if (p = strchr(argv[0], '/')) + if ((p = strchr(argv[0], '/')) != NULL) *p = '\0'; zpool_handle = zpool_open(g_zfs, argv[0]); if (p != NULL) @@ -2361,6 +2362,9 @@ us_compare(const void *larg, const void if (rv64 != lv64) rc = (rv64 < lv64) ? 1 : -1; break; + + default: + break; } if (rc != 0) { @@ -2416,7 +2420,7 @@ userspace_cb(void *arg, const char *doma nvlist_t *props; us_node_t *n; zfs_sort_column_t *sortcol = cb->cb_sortcol; - unsigned type; + unsigned type = 0; const char *typestr; size_t namelen; size_t typelen; @@ -3974,7 +3978,7 @@ zfs_do_send(int argc, char **argv) static int zfs_do_receive(int argc, char **argv) { - int c, err; + int c, err = 0; recvflags_t flags = { 0 }; boolean_t abort_resumable = B_FALSE; @@ -4234,7 +4238,7 @@ deleg_perm_type(zfs_deleg_note_t note) } } -static int inline +static int who_type2weight(zfs_deleg_who_type_t who_type) { int res; @@ -4454,7 +4458,7 @@ fs_perm_fini(fs_perm_t *fsperm) uu_avl_destroy(fsperm->fsp_uge_avl); } -static void inline +static void set_deleg_perm_node(uu_avl_t *avl, deleg_perm_node_t *node, zfs_deleg_who_type_t who_type, const char *name, char locality) { @@ -4522,7 +4526,7 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ nvlist_t *nvl2 = NULL; const char *name = nvpair_name(nvp); uu_avl_t *avl = NULL; - uu_avl_pool_t *avl_pool; + uu_avl_pool_t *avl_pool = NULL; zfs_deleg_who_type_t perm_type = name[0]; char perm_locality = name[1]; const char *perm_name = name + 3; @@ -4551,6 +4555,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ avl_pool = fspset->fsps_who_perm_avl_pool; avl = fsperm->fsp_uge_avl; break; + + default: + assert(!"unhandled zfs_deleg_who_type_t"); } if (is_set) { @@ -4586,6 +4593,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ if (g) nice_name = g->gr_name; break; + + default: + break; } if (nice_name != NULL) @@ -4854,11 +4864,12 @@ parse_allow_args(int argc, char **argv, allow_usage(un, B_FALSE, gettext("-u, -g, and -e are mutually exclusive\n")); - if (opts->prt_usage) + if (opts->prt_usage) { if (argc == 0 && all_sum == 0) allow_usage(un, B_TRUE, NULL); else usage(B_FALSE); + } if (opts->set) { if (csuge_sum > 1) @@ -4907,8 +4918,8 @@ store_allow_perm(zfs_deleg_who_type_t ty int i; char ld[2] = { '\0', '\0' }; char who_buf[ZFS_MAXNAMELEN+32]; - char base_type; - char set_type; + char base_type = '\0'; + char set_type = '\0'; nvlist_t *base_nvl = NULL; nvlist_t *set_nvl = NULL; nvlist_t *nvl; @@ -4957,6 +4968,10 @@ store_allow_perm(zfs_deleg_who_type_t ty ld[0] = ZFS_DELEG_LOCAL; if (descend) ld[1] = ZFS_DELEG_DESCENDENT; + break; + + default: + assert(set_type != '\0' && base_type != '\0'); } if (perms != NULL) { @@ -5061,7 +5076,7 @@ construct_fsacl_list(boolean_t un, struc while (curr < end) { const char *who; - zfs_deleg_who_type_t who_type; + zfs_deleg_who_type_t who_type = ZFS_DELEG_WHO_UNKNOWN; char *endch; char *delim = strchr(curr, ','); char errbuf[256]; @@ -5111,12 +5126,13 @@ construct_fsacl_list(boolean_t un, struc p = getpwuid(rid); } - if (p == NULL) + if (p == NULL) { if (*endch != '\0') { g = getgrnam(curr); } else { g = getgrgid(rid); } + } if (p != NULL) { who_type = ZFS_DELEG_USER; @@ -5189,7 +5205,7 @@ print_set_creat_perms(uu_avl_t *who_avl) } } -static void inline +static void print_uge_deleg_perms(uu_avl_t *who_avl, boolean_t local, boolean_t descend, const char *title) { @@ -5240,6 +5256,10 @@ print_uge_deleg_perms(uu_avl_t *who_avl, case ZFS_DELEG_EVERYONE: who = gettext("everyone"); who_name = NULL; + break; + + default: + assert(who != NULL); } prt_who = B_FALSE; @@ -5956,7 +5976,7 @@ share_mount_one(zfs_handle_t *zhp, int o shared_nfs = zfs_is_shared_nfs(zhp, NULL); shared_smb = zfs_is_shared_smb(zhp, NULL); - if (shared_nfs && shared_smb || + if ((shared_nfs && shared_smb) || (shared_nfs && strcmp(shareopts, "on") == 0 && strcmp(smbshareopts, "off") == 0) || (shared_smb && strcmp(smbshareopts, "on") == 0 && @@ -6430,7 +6450,7 @@ unshare_unmount(int op, int argc, char * */ struct mnttab entry; uu_avl_pool_t *pool; - uu_avl_t *tree; + uu_avl_t *tree = NULL; unshare_unmount_node_t *node; uu_avl_index_t idx; uu_avl_walk_t *walk; @@ -6924,7 +6944,7 @@ zfs_do_diff(int argc, char **argv) if (copy == NULL) usage(B_FALSE); - if (atp = strchr(copy, '@')) + if ((atp = strchr(copy, '@')) != NULL) *atp = '\0'; if ((zhp = zfs_open(g_zfs, copy, ZFS_TYPE_FILESYSTEM)) == NULL) From owner-svn-src-head@freebsd.org Tue Mar 8 18:39:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45065AC76F8; Tue, 8 Mar 2016 18:39:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 207C63DE; Tue, 8 Mar 2016 18:39:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IdeOh075149; Tue, 8 Mar 2016 18:39:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IddfR075145; Tue, 8 Mar 2016 18:39:39 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081839.u28IddfR075145@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:39:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296537 - head/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:39:41 -0000 Author: mav Date: Tue Mar 8 18:39:39 2016 New Revision: 296537 URL: https://svnweb.freebsd.org/changeset/base/296537 Log: MFV r296536: 6551 cmd/zpool: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Robert Mustacchi illumos/illumos-gate@b327cd3f3b4dab4f29e7140159b1e01ed2ceef2a Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c Tue Mar 8 18:39:39 2016 (r296537) @@ -22,8 +22,9 @@ * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright 2016 Igor Kozhukhov . + */ #include #include @@ -132,7 +133,8 @@ pool_list_get(int argc, char **argv, zpr for (i = 0; i < argc; i++) { zpool_handle_t *zhp; - if (zhp = zpool_open_canfail(g_zfs, argv[i])) { + if ((zhp = zpool_open_canfail(g_zfs, argv[i])) != + NULL) { if (add_pool(zhp, zlp) != 0) *err = B_TRUE; } else { Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:39:39 2016 (r296537) @@ -26,6 +26,7 @@ * Copyright (c) 2012 by Frederik Wessels. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 by Prasad Joshi (sTec). All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ #include @@ -3171,33 +3172,6 @@ zpool_do_list(int argc, char **argv) return (ret); } -static nvlist_t * -zpool_get_vdev_by_name(nvlist_t *nv, char *name) -{ - nvlist_t **child; - uint_t c, children; - nvlist_t *match; - char *path; - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, - &child, &children) != 0) { - verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); - if (strncmp(name, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) - name += sizeof(_PATH_DEV) - 1; - if (strncmp(path, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) - path += sizeof(_PATH_DEV) - 1; - if (strcmp(name, path) == 0) - return (nv); - return (NULL); - } - - for (c = 0; c < children; c++) - if ((match = zpool_get_vdev_by_name(child[c], name)) != NULL) - return (match); - - return (NULL); -} - static int zpool_do_attach_or_replace(int argc, char **argv, int replacing) { @@ -3926,7 +3900,7 @@ print_scan_status(pool_scan_stat_t *ps) */ if (ps->pss_state == DSS_FINISHED) { uint64_t minutes_taken = (end - start) / 60; - char *fmt; + char *fmt = NULL; if (ps->pss_func == POOL_SCAN_SCRUB) { fmt = gettext("scrub repaired %s in %lluh%um with " @@ -5560,7 +5534,7 @@ find_command_idx(char *command, int *idx int main(int argc, char **argv) { - int ret; + int ret = 0; int i; char *cmdname; Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:39:39 2016 (r296537) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ /* @@ -588,7 +589,9 @@ get_replication(nvlist_t *nvroot, boolea uint_t c, children; nvlist_t *nv; char *type; - replication_level_t lastrep, rep, *ret; + replication_level_t lastrep = {0}; + replication_level_t rep; + replication_level_t *ret; boolean_t dontreport; ret = safe_malloc(sizeof (replication_level_t)); @@ -1080,7 +1083,7 @@ is_device_in_use(nvlist_t *config, nvlis nvlist_t **child; uint_t c, children; char *type, *path; - int ret; + int ret = 0; char buf[MAXPATHLEN]; uint64_t wholedisk; boolean_t anyinuse = B_FALSE; From owner-svn-src-head@freebsd.org Tue Mar 8 18:48:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C599AC7A81; Tue, 8 Mar 2016 18:48:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2DE04C4B; Tue, 8 Mar 2016 18:48:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28ImKaB078141; Tue, 8 Mar 2016 18:48:20 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28ImK9G078140; Tue, 8 Mar 2016 18:48:20 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081848.u28ImK9G078140@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:48:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296539 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:48:21 -0000 Author: mav Date: Tue Mar 8 18:48:20 2016 New Revision: 296539 URL: https://svnweb.freebsd.org/changeset/base/296539 Log: MFV r296538: 6544 incorrect comment in libzfs.h about offline status Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Gerhard Roethlin illumos/illumos-gate@cb605c4d8ab24b5a900b8b4ca85db65c22d05fad Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 18:47:24 2016 (r296538) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 18:48:20 2016 (r296539) @@ -327,7 +327,7 @@ typedef enum { ZPOOL_STATUS_VERSION_OLDER, /* older legacy on-disk version */ ZPOOL_STATUS_FEAT_DISABLED, /* supported features are disabled */ ZPOOL_STATUS_RESILVERING, /* device being resilvered */ - ZPOOL_STATUS_OFFLINE_DEV, /* device online */ + ZPOOL_STATUS_OFFLINE_DEV, /* device offline */ ZPOOL_STATUS_REMOVED_DEV, /* removed device */ ZPOOL_STATUS_NON_NATIVE_ASHIFT, /* (e.g. 512e dev with ashift of 9) */ From owner-svn-src-head@freebsd.org Tue Mar 8 18:53:01 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDC55AC7F90; Tue, 8 Mar 2016 18:53:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F3F7EC3; Tue, 8 Mar 2016 18:53:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Ir0PZ082420; Tue, 8 Mar 2016 18:53:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Ir0UO082419; Tue, 8 Mar 2016 18:53:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081853.u28Ir0UO082419@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:53:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296541 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:53:01 -0000 Author: mav Date: Tue Mar 8 18:53:00 2016 New Revision: 296541 URL: https://svnweb.freebsd.org/changeset/base/296541 Log: MFV r296540: 4448 zfs diff misprints unicode characters Reviewed by: Igor Kozhukhov Reviewed by: Toomas Soome Approved by: Matthew Ahrens Author: Joshua M. Clulow illumos/illumos-gate@b211eb9181f99c20acbf4c528f94cb44b4ca8c31 Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:51:12 2016 (r296540) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:53:00 2016 (r296541) @@ -22,6 +22,7 @@ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Joyent, Inc. */ /* @@ -136,12 +137,13 @@ get_stats_for_obj(differ_info_t *di, con static void stream_bytes(FILE *fp, const char *string) { - while (*string) { - if (*string > ' ' && *string != '\\' && *string < '\177') - (void) fprintf(fp, "%c", *string++); - else { - (void) fprintf(fp, "\\%03hho", - (unsigned char)*string++); + char c; + + while ((c = *string++) != '\0') { + if (c > ' ' && c != '\\' && c < '\177') { + (void) fprintf(fp, "%c", c); + } else { + (void) fprintf(fp, "\\%03o", (uint8_t)c); } } } From owner-svn-src-head@freebsd.org Tue Mar 8 19:08:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09210AC856B; Tue, 8 Mar 2016 19:08:57 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAC30183E; Tue, 8 Mar 2016 19:08:56 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28J8tMa085558; Tue, 8 Mar 2016 19:08:55 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28J8tH8085557; Tue, 8 Mar 2016 19:08:55 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081908.u28J8tH8085557@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:08:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296542 - head/etc/rc.d X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:08:57 -0000 Author: dchagin Date: Tue Mar 8 19:08:55 2016 New Revision: 296542 URL: https://svnweb.freebsd.org/changeset/base/296542 Log: Load linux64 module for amd64 if Linux abi enabled. Reviewed by: emaste@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5567 Modified: head/etc/rc.d/abi Modified: head/etc/rc.d/abi ============================================================================== --- head/etc/rc.d/abi Tue Mar 8 18:53:00 2016 (r296541) +++ head/etc/rc.d/abi Tue Mar 8 19:08:55 2016 (r296542) @@ -27,6 +27,11 @@ linux_start() echo -n ' linux' load_kld -e 'linux(aout|elf)' linux + case `sysctl -n hw.machine_arch` in + amd64) + load_kld -e 'linux64elf' linux64 + ;; + esac if [ -x /compat/linux/sbin/ldconfigDisabled ]; then _tmpdir=`mktemp -d -t linux-ldconfig` /compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache From owner-svn-src-head@freebsd.org Tue Mar 8 19:20:59 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3635CAC8971; Tue, 8 Mar 2016 19:20:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 033EBAD; Tue, 8 Mar 2016 19:20:58 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28JKvGG088852; Tue, 8 Mar 2016 19:20:57 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28JKvbM088851; Tue, 8 Mar 2016 19:20:57 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081920.u28JKvbM088851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:20:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296543 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:20:59 -0000 Author: dchagin Date: Tue Mar 8 19:20:57 2016 New Revision: 296543 URL: https://svnweb.freebsd.org/changeset/base/296543 Log: Put a commit message from r296502 about Linux alarm() system call behaviour to the source. Suggested by: emaste@ MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:08:55 2016 (r296542) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:20:57 2016 (r296543) @@ -206,6 +206,11 @@ linux_alarm(struct thread *td, struct li it.it_value.tv_usec = 0; it.it_interval.tv_sec = 0; it.it_interval.tv_usec = 0; + /* + * According to POSIX and Linux implementation + * the alarm() system call is always successfull. + * Ignore errors and return 0 as a Linux do. + */ kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) From owner-svn-src-head@freebsd.org Tue Mar 8 19:34:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83282AC8E08; Tue, 8 Mar 2016 19:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47DAB922; Tue, 8 Mar 2016 19:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28JYuhq094892; Tue, 8 Mar 2016 19:34:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28JYuQr094891; Tue, 8 Mar 2016 19:34:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603081934.u28JYuQr094891@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 19:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296544 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:34:57 -0000 Author: np Date: Tue Mar 8 19:34:56 2016 New Revision: 296544 URL: https://svnweb.freebsd.org/changeset/base/296544 Log: cxgbe(4): Reshuffle and rototill t4_hw.c, solely to reduce diffs with the internal shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 19:20:57 2016 (r296543) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 19:34:56 2016 (r296544) @@ -117,8 +117,8 @@ void t4_set_reg_field(struct adapter *ad * register pair. */ void t4_read_indirect(struct adapter *adap, unsigned int addr_reg, - unsigned int data_reg, u32 *vals, unsigned int nregs, - unsigned int start_idx) + unsigned int data_reg, u32 *vals, + unsigned int nregs, unsigned int start_idx) { while (nregs--) { t4_write_reg(adap, addr_reg, start_idx); @@ -3398,268 +3398,6 @@ int t4_fwcache(struct adapter *adap, enu return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL); } -/** - * t4_read_cimq_cfg - read CIM queue configuration - * @adap: the adapter - * @base: holds the queue base addresses in bytes - * @size: holds the queue sizes in bytes - * @thres: holds the queue full thresholds in bytes - * - * Returns the current configuration of the CIM queues, starting with - * the IBQs, then the OBQs. - */ -void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) -{ - unsigned int i, v; - - for (i = 0; i < CIM_NUM_IBQ; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ - } - for (i = 0; i < adap->chip_params->cim_num_obq; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - } -} - -/** - * t4_read_cim_ibq - read the contents of a CIM inbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr; - const unsigned int nwords = CIM_IBQ_SIZE * 4; - - if (qid > 5 || (n & 3)) - return -EINVAL; - - addr = qid * nwords; - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | - F_IBQDBGEN); - /* - * It might take 3-10ms before the IBQ debug read access is - * allowed. Wait for 1 Sec with a delay of 1 usec. - */ - err = t4_wait_op_done(adap, A_CIM_IBQ_DBG_CFG, F_IBQDBGBUSY, 0, - 1000000, 1); - if (err) - return err; - *data++ = t4_read_reg(adap, A_CIM_IBQ_DBG_DATA); - } - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, 0); - return i; -} - -/** - * t4_read_cim_obq - read the contents of a CIM outbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr, v, nwords; - - if (qid >= adap->chip_params->cim_num_obq || (n & 3)) - return -EINVAL; - - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(qid)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - - addr = G_CIMQBASE(v) * 64; /* muliple of 256 -> muliple of 4 */ - nwords = G_CIMQSIZE(v) * 64; /* same */ - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_OBQ_DBG_CFG, V_OBQDBGADDR(addr) | - F_OBQDBGEN); - err = t4_wait_op_done(adap, A_CIM_OBQ_DBG_CFG, F_OBQDBGBUSY, 0, - 2, 1); - if (err) - return err; - *data++ = t4_read_reg(adap, A_CIM_OBQ_DBG_DATA); - } - t4_write_reg(adap, A_CIM_OBQ_DBG_CFG, 0); - return i; -} - -enum { - CIM_QCTL_BASE = 0, - CIM_CTL_BASE = 0x2000, - CIM_PBT_ADDR_BASE = 0x2800, - CIM_PBT_LRF_BASE = 0x3000, - CIM_PBT_DATA_BASE = 0x3800 -}; - -/** - * t4_cim_read - read a block from CIM internal address space - * @adap: the adapter - * @addr: the start address within the CIM address space - * @n: number of words to read - * @valp: where to store the result - * - * Reads a block of 4-byte words from the CIM intenal address space. - */ -int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n, - unsigned int *valp) -{ - int ret = 0; - - if (t4_read_reg(adap, A_CIM_HOST_ACC_CTRL) & F_HOSTBUSY) - return -EBUSY; - - for ( ; !ret && n--; addr += 4) { - t4_write_reg(adap, A_CIM_HOST_ACC_CTRL, addr); - ret = t4_wait_op_done(adap, A_CIM_HOST_ACC_CTRL, F_HOSTBUSY, - 0, 5, 2); - if (!ret) - *valp++ = t4_read_reg(adap, A_CIM_HOST_ACC_DATA); - } - return ret; -} - -/** - * t4_cim_write - write a block into CIM internal address space - * @adap: the adapter - * @addr: the start address within the CIM address space - * @n: number of words to write - * @valp: set of values to write - * - * Writes a block of 4-byte words into the CIM intenal address space. - */ -int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n, - const unsigned int *valp) -{ - int ret = 0; - - if (t4_read_reg(adap, A_CIM_HOST_ACC_CTRL) & F_HOSTBUSY) - return -EBUSY; - - for ( ; !ret && n--; addr += 4) { - t4_write_reg(adap, A_CIM_HOST_ACC_DATA, *valp++); - t4_write_reg(adap, A_CIM_HOST_ACC_CTRL, addr | F_HOSTWRITE); - ret = t4_wait_op_done(adap, A_CIM_HOST_ACC_CTRL, F_HOSTBUSY, - 0, 5, 2); - } - return ret; -} - -static int t4_cim_write1(struct adapter *adap, unsigned int addr, unsigned int val) -{ - return t4_cim_write(adap, addr, 1, &val); -} - -/** - * t4_cim_ctl_read - read a block from CIM control region - * @adap: the adapter - * @addr: the start address within the CIM control region - * @n: number of words to read - * @valp: where to store the result - * - * Reads a block of 4-byte words from the CIM control region. - */ -int t4_cim_ctl_read(struct adapter *adap, unsigned int addr, unsigned int n, - unsigned int *valp) -{ - return t4_cim_read(adap, addr + CIM_CTL_BASE, n, valp); -} - -/** - * t4_cim_read_la - read CIM LA capture buffer - * @adap: the adapter - * @la_buf: where to store the LA data - * @wrptr: the HW write pointer within the capture buffer - * - * Reads the contents of the CIM LA buffer with the most recent entry at - * the end of the returned data and with the entry at @wrptr first. - * We try to leave the LA in the running state we find it in. - */ -int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr) -{ - int i, ret; - unsigned int cfg, val, idx; - - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &cfg); - if (ret) - return ret; - - if (cfg & F_UPDBGLAEN) { /* LA is running, freeze it */ - ret = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, 0); - if (ret) - return ret; - } - - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &val); - if (ret) - goto restart; - - idx = G_UPDBGLAWRPTR(val); - if (wrptr) - *wrptr = idx; - - for (i = 0; i < adap->params.cim_la_size; i++) { - ret = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, - V_UPDBGLARDPTR(idx) | F_UPDBGLARDEN); - if (ret) - break; - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &val); - if (ret) - break; - if (val & F_UPDBGLARDEN) { - ret = -ETIMEDOUT; - break; - } - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_DATA, 1, &la_buf[i]); - if (ret) - break; - /* address can't exceed 0xfff (UpDbgLaRdPtr is of 12-bits) */ - idx = (idx + 1) & M_UPDBGLARDPTR; - /* - * Bits 0-3 of UpDbgLaRdPtr can be between 0000 to 1001 to - * identify the 32-bit portion of the full 312-bit data - */ - if (is_t6(adap)) - while ((idx & 0xf) > 9) - idx = (idx + 1) % M_UPDBGLARDPTR; - } -restart: - if (cfg & F_UPDBGLAEN) { - int r = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, - cfg & ~F_UPDBGLARDEN); - if (!ret) - ret = r; - } - return ret; -} - void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp, unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr) @@ -3715,53 +3453,6 @@ void t4_cim_read_ma_la(struct adapter *a t4_write_reg(adap, A_CIM_DEBUGCFG, cfg); } -/** - * t4_tp_read_la - read TP LA capture buffer - * @adap: the adapter - * @la_buf: where to store the LA data - * @wrptr: the HW write pointer within the capture buffer - * - * Reads the contents of the TP LA buffer with the most recent entry at - * the end of the returned data and with the entry at @wrptr first. - * We leave the LA in the running state we find it in. - */ -void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr) -{ - bool last_incomplete; - unsigned int i, cfg, val, idx; - - cfg = t4_read_reg(adap, A_TP_DBG_LA_CONFIG) & 0xffff; - if (cfg & F_DBGLAENABLE) /* freeze LA */ - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, - adap->params.tp.la_mask | (cfg ^ F_DBGLAENABLE)); - - val = t4_read_reg(adap, A_TP_DBG_LA_CONFIG); - idx = G_DBGLAWPTR(val); - last_incomplete = G_DBGLAMODE(val) >= 2 && (val & F_DBGLAWHLF) == 0; - if (last_incomplete) - idx = (idx + 1) & M_DBGLARPTR; - if (wrptr) - *wrptr = idx; - - val &= 0xffff; - val &= ~V_DBGLARPTR(M_DBGLARPTR); - val |= adap->params.tp.la_mask; - - for (i = 0; i < TPLA_SIZE; i++) { - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, V_DBGLARPTR(idx) | val); - la_buf[i] = t4_read_reg64(adap, A_TP_DBG_LA_DATAL); - idx = (idx + 1) & M_DBGLARPTR; - } - - /* Wipe out last entry if it isn't valid */ - if (last_incomplete) - la_buf[TPLA_SIZE - 1] = ~0ULL; - - if (cfg & F_DBGLAENABLE) /* restore running state */ - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, - cfg | adap->params.tp.la_mask); -} - void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf) { unsigned int i, j; @@ -3807,19 +3498,22 @@ int t4_link_l1cfg(struct adapter *adap, fc |= FW_PORT_CAP_FC_TX; memset(&c, 0, sizeof(c)); - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_PORT_CMD_PORTID(port)); - c.action_to_len16 = htonl(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | - FW_LEN16(c)); + c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_PORT_CMD_PORTID(port)); + c.action_to_len16 = + cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | + FW_LEN16(c)); if (!(lc->supported & FW_PORT_CAP_ANEG)) { - c.u.l1cfg.rcap = htonl((lc->supported & ADVERT_MASK) | fc); + c.u.l1cfg.rcap = cpu_to_be32((lc->supported & ADVERT_MASK) | + fc); lc->fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX); } else if (lc->autoneg == AUTONEG_DISABLE) { - c.u.l1cfg.rcap = htonl(lc->requested_speed | fc | mdi); + c.u.l1cfg.rcap = cpu_to_be32(lc->requested_speed | fc | mdi); lc->fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX); } else - c.u.l1cfg.rcap = htonl(lc->advertising | fc | mdi); + c.u.l1cfg.rcap = cpu_to_be32(lc->advertising | fc | mdi); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -3837,11 +3531,13 @@ int t4_restart_aneg(struct adapter *adap struct fw_port_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_PORT_CMD_PORTID(port)); - c.action_to_len16 = htonl(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | - FW_LEN16(c)); - c.u.l1cfg.rcap = htonl(FW_PORT_CAP_ANEG); + c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_PORT_CMD_PORTID(port)); + c.action_to_len16 = + cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | + FW_LEN16(c)); + c.u.l1cfg.rcap = cpu_to_be32(FW_PORT_CAP_ANEG); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -4750,11 +4446,10 @@ int t4_config_rss_range(struct adapter * struct fw_rss_ind_tbl_cmd cmd; memset(&cmd, 0, sizeof(cmd)); - cmd.op_to_viid = htonl(V_FW_CMD_OP(FW_RSS_IND_TBL_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE | - V_FW_RSS_IND_TBL_CMD_VIID(viid)); - cmd.retval_len16 = htonl(FW_LEN16(cmd)); - + cmd.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_RSS_IND_TBL_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_RSS_IND_TBL_CMD_VIID(viid)); + cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd)); /* * Each firmware RSS command can accommodate up to 32 RSS Ingress @@ -4771,8 +4466,8 @@ int t4_config_rss_range(struct adapter * * Set up the firmware RSS command header to send the next * "nq" Ingress Queue IDs to the firmware. */ - cmd.niqid = htons(nq); - cmd.startidx = htons(start); + cmd.niqid = cpu_to_be16(nq); + cmd.startidx = cpu_to_be16(start); /* * "nq" more done for the start of the next loop. @@ -4818,7 +4513,6 @@ int t4_config_rss_range(struct adapter * if (ret) return ret; } - return 0; } @@ -4837,15 +4531,16 @@ int t4_config_glbl_rss(struct adapter *a struct fw_rss_glb_config_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_write = htonl(V_FW_CMD_OP(FW_RSS_GLB_CONFIG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE); - c.retval_len16 = htonl(FW_LEN16(c)); + c.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_RSS_GLB_CONFIG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); if (mode == FW_RSS_GLB_CONFIG_CMD_MODE_MANUAL) { - c.u.manual.mode_pkd = htonl(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); + c.u.manual.mode_pkd = + cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); } else if (mode == FW_RSS_GLB_CONFIG_CMD_MODE_BASICVIRTUAL) { c.u.basicvirtual.mode_pkd = - htonl(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); - c.u.basicvirtual.synmapen_to_hashtoeplitz = htonl(flags); + cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); + c.u.basicvirtual.synmapen_to_hashtoeplitz = cpu_to_be32(flags); } else return -EINVAL; return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL); @@ -4867,11 +4562,11 @@ int t4_config_vi_rss(struct adapter *ada struct fw_rss_vi_config_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_viid = htonl(V_FW_CMD_OP(FW_RSS_VI_CONFIG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE | - V_FW_RSS_VI_CONFIG_CMD_VIID(viid)); - c.retval_len16 = htonl(FW_LEN16(c)); - c.u.basicvirtual.defaultq_to_udpen = htonl(flags | + c.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_RSS_VI_CONFIG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_RSS_VI_CONFIG_CMD_VIID(viid)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.basicvirtual.defaultq_to_udpen = cpu_to_be32(flags | V_FW_RSS_VI_CONFIG_CMD_DEFAULTQ(defq)); return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL); } @@ -5398,24 +5093,6 @@ void t4_read_cong_tbl(struct adapter *ad } /** - * t4_read_pace_tbl - read the pace table - * @adap: the adapter - * @pace_vals: holds the returned values - * - * Returns the values of TP's pace table in microseconds. - */ -void t4_read_pace_tbl(struct adapter *adap, unsigned int pace_vals[NTX_SCHED]) -{ - unsigned int i, v; - - for (i = 0; i < NTX_SCHED; i++) { - t4_write_reg(adap, A_TP_PACE_TABLE, 0xffff0000 + i); - v = t4_read_reg(adap, A_TP_PACE_TABLE); - pace_vals[i] = dack_ticks_to_usec(adap, v); - } -} - -/** * t4_tp_wr_bits_indirect - set/clear bits in an indirect TP register * @adap: the adapter * @addr: the indirect TP register address @@ -5540,7 +5217,7 @@ int t4_set_pace_tbl(struct adapter *adap if (n > NTX_SCHED) return -ERANGE; - + /* convert values from us to dack ticks, rounding to closest value */ for (i = 0; i < n; i++, pace_vals++) { vals[i] = (1000 * *pace_vals + tick_ns / 2) / tick_ns; @@ -5627,46 +5304,6 @@ int t4_set_sched_ipg(struct adapter *ada return 0; } -/** - * t4_get_tx_sched - get the configuration of a Tx HW traffic scheduler - * @adap: the adapter - * @sched: the scheduler index - * @kbps: the byte rate in Kbps - * @ipg: the interpacket delay in tenths of nanoseconds - * - * Return the current configuration of a HW Tx scheduler. - */ -void t4_get_tx_sched(struct adapter *adap, unsigned int sched, unsigned int *kbps, - unsigned int *ipg) -{ - unsigned int v, addr, bpt, cpt; - - if (kbps) { - addr = A_TP_TX_MOD_Q1_Q0_RATE_LIMIT - sched / 2; - t4_write_reg(adap, A_TP_TM_PIO_ADDR, addr); - v = t4_read_reg(adap, A_TP_TM_PIO_DATA); - if (sched & 1) - v >>= 16; - bpt = (v >> 8) & 0xff; - cpt = v & 0xff; - if (!cpt) - *kbps = 0; /* scheduler disabled */ - else { - v = (adap->params.vpd.cclk * 1000) / cpt; /* ticks/s */ - *kbps = (v * bpt) / 125; - } - } - if (ipg) { - addr = A_TP_TX_MOD_Q1_Q0_TIMER_SEPARATOR - sched / 2; - t4_write_reg(adap, A_TP_TM_PIO_ADDR, addr); - v = t4_read_reg(adap, A_TP_TM_PIO_DATA); - if (sched & 1) - v >>= 16; - v &= 0xffff; - *ipg = (10000 * v) / core_ticks_per_usec(adap); - } -} - /* * Calculates a rate in bytes/s given the number of 256-byte units per 4K core * clocks. The formula is @@ -5746,10 +5383,10 @@ int t4_set_trace_filter(struct adapter * * TODO - After T4 data book is updated, specify the exact * section below. * - * See T4 data book - MPS section for a complete description - * of the below if..else handling of A_MPS_TRC_CFG register + * See T4 data book - MPS section for a complete description + * of the below if..else handling of A_MPS_TRC_CFG register * value. - */ + */ cfg = t4_read_reg(adap, A_MPS_TRC_CFG); if (cfg & F_TRCMULTIFILTER) { /* @@ -5758,10 +5395,10 @@ int t4_set_trace_filter(struct adapter * * minus 2 flits for CPL_TRACE_PKT header. */ if (tp->snap_len > ((10 * 1024 / 4) - (2 * 8))) - return -EINVAL; + return -EINVAL; } else { /* - * If multiple tracers are disabled, to avoid deadlocks + * If multiple tracers are disabled, to avoid deadlocks * maximum packet capture size of 9600 bytes is recommended. * Also in this mode, only trace0 can be enabled and running. */ @@ -5884,9 +5521,9 @@ void t4_pmrx_get_stats(struct adapter *a for (i = 0; i < adap->chip_params->pm_stats_cnt; i++) { t4_write_reg(adap, A_PM_RX_STAT_CONFIG, i + 1); cnt[i] = t4_read_reg(adap, A_PM_RX_STAT_COUNT); - if (is_t4(adap)) + if (is_t4(adap)) { cycles[i] = t4_read_reg64(adap, A_PM_RX_STAT_LSB); - else { + } else { t4_read_indirect(adap, A_PM_RX_DBG_CTRL, A_PM_RX_DBG_DATA, data, 2, A_PM_RX_DBG_STAT_MSB); @@ -5916,12 +5553,12 @@ static unsigned int t4_get_mps_bg_map(st } /** - * t4_get_port_type_description - return Port Type string description - * @port_type: firmware Port Type enumeration + * t4_get_port_type_description - return Port Type string description + * @port_type: firmware Port Type enumeration */ const char *t4_get_port_type_description(enum fw_port_type port_type) { - static const char *port_type_description[] = { + static const char *const port_type_description[] = { "Fiber_XFI", "Fiber_XAUI", "BT_SGMII", @@ -5935,7 +5572,7 @@ const char *t4_get_port_type_description "BP_AP", "BP4_AP", "QSFP_10G", - "", + "QSA", "QSFP", "BP40_BA", }; @@ -5947,7 +5584,7 @@ const char *t4_get_port_type_description /** * t4_get_port_stats_offset - collect port stats relative to a previous - * snapshot + * snapshot * @adap: The adapter * @idx: The port * @stats: Current stats to fill @@ -5985,57 +5622,57 @@ void t4_get_port_stats(struct adapter *a T5_PORT_REG(idx, A_MPS_PORT_STAT_##name##_L))) #define GET_STAT_COM(name) t4_read_reg64(adap, A_MPS_STAT_##name##_L) - p->tx_pause = GET_STAT(TX_PORT_PAUSE); - p->tx_octets = GET_STAT(TX_PORT_BYTES); - p->tx_frames = GET_STAT(TX_PORT_FRAMES); - p->tx_bcast_frames = GET_STAT(TX_PORT_BCAST); - p->tx_mcast_frames = GET_STAT(TX_PORT_MCAST); - p->tx_ucast_frames = GET_STAT(TX_PORT_UCAST); - p->tx_error_frames = GET_STAT(TX_PORT_ERROR); - p->tx_frames_64 = GET_STAT(TX_PORT_64B); - p->tx_frames_65_127 = GET_STAT(TX_PORT_65B_127B); - p->tx_frames_128_255 = GET_STAT(TX_PORT_128B_255B); - p->tx_frames_256_511 = GET_STAT(TX_PORT_256B_511B); - p->tx_frames_512_1023 = GET_STAT(TX_PORT_512B_1023B); - p->tx_frames_1024_1518 = GET_STAT(TX_PORT_1024B_1518B); - p->tx_frames_1519_max = GET_STAT(TX_PORT_1519B_MAX); - p->tx_drop = GET_STAT(TX_PORT_DROP); - p->tx_ppp0 = GET_STAT(TX_PORT_PPP0); - p->tx_ppp1 = GET_STAT(TX_PORT_PPP1); - p->tx_ppp2 = GET_STAT(TX_PORT_PPP2); - p->tx_ppp3 = GET_STAT(TX_PORT_PPP3); - p->tx_ppp4 = GET_STAT(TX_PORT_PPP4); - p->tx_ppp5 = GET_STAT(TX_PORT_PPP5); - p->tx_ppp6 = GET_STAT(TX_PORT_PPP6); - p->tx_ppp7 = GET_STAT(TX_PORT_PPP7); - - p->rx_pause = GET_STAT(RX_PORT_PAUSE); - p->rx_octets = GET_STAT(RX_PORT_BYTES); - p->rx_frames = GET_STAT(RX_PORT_FRAMES); - p->rx_bcast_frames = GET_STAT(RX_PORT_BCAST); - p->rx_mcast_frames = GET_STAT(RX_PORT_MCAST); - p->rx_ucast_frames = GET_STAT(RX_PORT_UCAST); - p->rx_too_long = GET_STAT(RX_PORT_MTU_ERROR); - p->rx_jabber = GET_STAT(RX_PORT_MTU_CRC_ERROR); - p->rx_fcs_err = GET_STAT(RX_PORT_CRC_ERROR); - p->rx_len_err = GET_STAT(RX_PORT_LEN_ERROR); - p->rx_symbol_err = GET_STAT(RX_PORT_SYM_ERROR); - p->rx_runt = GET_STAT(RX_PORT_LESS_64B); - p->rx_frames_64 = GET_STAT(RX_PORT_64B); - p->rx_frames_65_127 = GET_STAT(RX_PORT_65B_127B); - p->rx_frames_128_255 = GET_STAT(RX_PORT_128B_255B); - p->rx_frames_256_511 = GET_STAT(RX_PORT_256B_511B); - p->rx_frames_512_1023 = GET_STAT(RX_PORT_512B_1023B); - p->rx_frames_1024_1518 = GET_STAT(RX_PORT_1024B_1518B); - p->rx_frames_1519_max = GET_STAT(RX_PORT_1519B_MAX); - p->rx_ppp0 = GET_STAT(RX_PORT_PPP0); - p->rx_ppp1 = GET_STAT(RX_PORT_PPP1); - p->rx_ppp2 = GET_STAT(RX_PORT_PPP2); - p->rx_ppp3 = GET_STAT(RX_PORT_PPP3); - p->rx_ppp4 = GET_STAT(RX_PORT_PPP4); - p->rx_ppp5 = GET_STAT(RX_PORT_PPP5); - p->rx_ppp6 = GET_STAT(RX_PORT_PPP6); - p->rx_ppp7 = GET_STAT(RX_PORT_PPP7); + p->tx_pause = GET_STAT(TX_PORT_PAUSE); + p->tx_octets = GET_STAT(TX_PORT_BYTES); + p->tx_frames = GET_STAT(TX_PORT_FRAMES); + p->tx_bcast_frames = GET_STAT(TX_PORT_BCAST); + p->tx_mcast_frames = GET_STAT(TX_PORT_MCAST); + p->tx_ucast_frames = GET_STAT(TX_PORT_UCAST); + p->tx_error_frames = GET_STAT(TX_PORT_ERROR); + p->tx_frames_64 = GET_STAT(TX_PORT_64B); + p->tx_frames_65_127 = GET_STAT(TX_PORT_65B_127B); + p->tx_frames_128_255 = GET_STAT(TX_PORT_128B_255B); + p->tx_frames_256_511 = GET_STAT(TX_PORT_256B_511B); + p->tx_frames_512_1023 = GET_STAT(TX_PORT_512B_1023B); + p->tx_frames_1024_1518 = GET_STAT(TX_PORT_1024B_1518B); + p->tx_frames_1519_max = GET_STAT(TX_PORT_1519B_MAX); + p->tx_drop = GET_STAT(TX_PORT_DROP); + p->tx_ppp0 = GET_STAT(TX_PORT_PPP0); + p->tx_ppp1 = GET_STAT(TX_PORT_PPP1); + p->tx_ppp2 = GET_STAT(TX_PORT_PPP2); + p->tx_ppp3 = GET_STAT(TX_PORT_PPP3); + p->tx_ppp4 = GET_STAT(TX_PORT_PPP4); + p->tx_ppp5 = GET_STAT(TX_PORT_PPP5); + p->tx_ppp6 = GET_STAT(TX_PORT_PPP6); + p->tx_ppp7 = GET_STAT(TX_PORT_PPP7); + + p->rx_pause = GET_STAT(RX_PORT_PAUSE); + p->rx_octets = GET_STAT(RX_PORT_BYTES); + p->rx_frames = GET_STAT(RX_PORT_FRAMES); + p->rx_bcast_frames = GET_STAT(RX_PORT_BCAST); + p->rx_mcast_frames = GET_STAT(RX_PORT_MCAST); + p->rx_ucast_frames = GET_STAT(RX_PORT_UCAST); + p->rx_too_long = GET_STAT(RX_PORT_MTU_ERROR); + p->rx_jabber = GET_STAT(RX_PORT_MTU_CRC_ERROR); + p->rx_fcs_err = GET_STAT(RX_PORT_CRC_ERROR); + p->rx_len_err = GET_STAT(RX_PORT_LEN_ERROR); + p->rx_symbol_err = GET_STAT(RX_PORT_SYM_ERROR); + p->rx_runt = GET_STAT(RX_PORT_LESS_64B); + p->rx_frames_64 = GET_STAT(RX_PORT_64B); + p->rx_frames_65_127 = GET_STAT(RX_PORT_65B_127B); + p->rx_frames_128_255 = GET_STAT(RX_PORT_128B_255B); + p->rx_frames_256_511 = GET_STAT(RX_PORT_256B_511B); + p->rx_frames_512_1023 = GET_STAT(RX_PORT_512B_1023B); + p->rx_frames_1024_1518 = GET_STAT(RX_PORT_1024B_1518B); + p->rx_frames_1519_max = GET_STAT(RX_PORT_1519B_MAX); + p->rx_ppp0 = GET_STAT(RX_PORT_PPP0); + p->rx_ppp1 = GET_STAT(RX_PORT_PPP1); + p->rx_ppp2 = GET_STAT(RX_PORT_PPP2); + p->rx_ppp3 = GET_STAT(RX_PORT_PPP3); + p->rx_ppp4 = GET_STAT(RX_PORT_PPP4); + p->rx_ppp5 = GET_STAT(RX_PORT_PPP5); + p->rx_ppp6 = GET_STAT(RX_PORT_PPP6); + p->rx_ppp7 = GET_STAT(RX_PORT_PPP7); p->rx_ovflow0 = (bgmap & 1) ? GET_STAT_COM(RX_BG_0_MAC_DROP_FRAME) : 0; p->rx_ovflow1 = (bgmap & 2) ? GET_STAT_COM(RX_BG_1_MAC_DROP_FRAME) : 0; @@ -6051,39 +5688,6 @@ void t4_get_port_stats(struct adapter *a } /** - * t4_clr_port_stats - clear port statistics - * @adap: the adapter - * @idx: the port index - * - * Clear HW statistics for the given port. - */ -void t4_clr_port_stats(struct adapter *adap, int idx) -{ - unsigned int i; - u32 bgmap = t4_get_mps_bg_map(adap, idx); - u32 port_base_addr; - - if (is_t4(adap)) - port_base_addr = PORT_BASE(idx); - else - port_base_addr = T5_PORT_BASE(idx); - - for (i = A_MPS_PORT_STAT_TX_PORT_BYTES_L; - i <= A_MPS_PORT_STAT_TX_PORT_PPP7_H; i += 8) - t4_write_reg(adap, port_base_addr + i, 0); - for (i = A_MPS_PORT_STAT_RX_PORT_BYTES_L; - i <= A_MPS_PORT_STAT_RX_PORT_LESS_64B_H; i += 8) - t4_write_reg(adap, port_base_addr + i, 0); - for (i = 0; i < 4; i++) - if (bgmap & (1 << i)) { - t4_write_reg(adap, - A_MPS_STAT_RX_BG_0_MAC_DROP_FRAME_L + i * 8, 0); - t4_write_reg(adap, - A_MPS_STAT_RX_BG_0_MAC_TRUNC_FRAME_L + i * 8, 0); - } -} - -/** * t4_get_lb_stats - collect loopback port statistics * @adap: the adapter * @idx: the loopback port index @@ -6102,21 +5706,21 @@ void t4_get_lb_stats(struct adapter *ada T5_PORT_REG(idx, A_MPS_PORT_STAT_LB_PORT_##name##_L))) #define GET_STAT_COM(name) t4_read_reg64(adap, A_MPS_STAT_##name##_L) - p->octets = GET_STAT(BYTES); - p->frames = GET_STAT(FRAMES); - p->bcast_frames = GET_STAT(BCAST); - p->mcast_frames = GET_STAT(MCAST); - p->ucast_frames = GET_STAT(UCAST); - p->error_frames = GET_STAT(ERROR); - - p->frames_64 = GET_STAT(64B); - p->frames_65_127 = GET_STAT(65B_127B); - p->frames_128_255 = GET_STAT(128B_255B); - p->frames_256_511 = GET_STAT(256B_511B); - p->frames_512_1023 = GET_STAT(512B_1023B); - p->frames_1024_1518 = GET_STAT(1024B_1518B); - p->frames_1519_max = GET_STAT(1519B_MAX); - p->drop = GET_STAT(DROP_FRAMES); + p->octets = GET_STAT(BYTES); + p->frames = GET_STAT(FRAMES); + p->bcast_frames = GET_STAT(BCAST); + p->mcast_frames = GET_STAT(MCAST); + p->ucast_frames = GET_STAT(UCAST); + p->error_frames = GET_STAT(ERROR); + + p->frames_64 = GET_STAT(64B); + p->frames_65_127 = GET_STAT(65B_127B); + p->frames_128_255 = GET_STAT(128B_255B); + p->frames_256_511 = GET_STAT(256B_511B); + p->frames_512_1023 = GET_STAT(512B_1023B); + p->frames_1024_1518 = GET_STAT(1024B_1518B); + p->frames_1519_max = GET_STAT(1519B_MAX); + p->drop = GET_STAT(DROP_FRAMES); p->ovflow0 = (bgmap & 1) ? GET_STAT_COM(RX_BG_0_LB_DROP_FRAME) : 0; p->ovflow1 = (bgmap & 2) ? GET_STAT_COM(RX_BG_1_LB_DROP_FRAME) : 0; @@ -6230,43 +5834,49 @@ int t4_wol_pat_enable(struct adapter *ad return 0; } -/** - * t4_mk_filtdelwr - create a delete filter WR - * @ftid: the filter ID - * @wr: the filter work request to populate - * @qid: ingress queue to receive the delete notification +/* t4_mk_filtdelwr - create a delete filter WR + * @ftid: the filter ID + * @wr: the filter work request to populate + * @qid: ingress queue to receive the delete notification * - * Creates a filter work request to delete the supplied filter. If @qid is - * negative the delete notification is suppressed. + * Creates a filter work request to delete the supplied filter. If @qid is + * negative the delete notification is suppressed. */ void t4_mk_filtdelwr(unsigned int ftid, struct fw_filter_wr *wr, int qid) { memset(wr, 0, sizeof(*wr)); - wr->op_pkd = htonl(V_FW_WR_OP(FW_FILTER_WR)); - wr->len16_pkd = htonl(V_FW_WR_LEN16(sizeof(*wr) / 16)); - wr->tid_to_iq = htonl(V_FW_FILTER_WR_TID(ftid) | - V_FW_FILTER_WR_NOREPLY(qid < 0)); - wr->del_filter_to_l2tix = htonl(F_FW_FILTER_WR_DEL_FILTER); + wr->op_pkd = cpu_to_be32(V_FW_WR_OP(FW_FILTER_WR)); + wr->len16_pkd = cpu_to_be32(V_FW_WR_LEN16(sizeof(*wr) / 16)); + wr->tid_to_iq = cpu_to_be32(V_FW_FILTER_WR_TID(ftid) | + V_FW_FILTER_WR_NOREPLY(qid < 0)); + wr->del_filter_to_l2tix = cpu_to_be32(F_FW_FILTER_WR_DEL_FILTER); if (qid >= 0) - wr->rx_chan_rx_rpl_iq = htons(V_FW_FILTER_WR_RX_RPL_IQ(qid)); + wr->rx_chan_rx_rpl_iq = + cpu_to_be16(V_FW_FILTER_WR_RX_RPL_IQ(qid)); } #define INIT_CMD(var, cmd, rd_wr) do { \ - (var).op_to_write = htonl(V_FW_CMD_OP(FW_##cmd##_CMD) | \ - F_FW_CMD_REQUEST | F_FW_CMD_##rd_wr); \ - (var).retval_len16 = htonl(FW_LEN16(var)); \ + (var).op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_##cmd##_CMD) | \ + F_FW_CMD_REQUEST | \ + F_FW_CMD_##rd_wr); \ + (var).retval_len16 = cpu_to_be32(FW_LEN16(var)); \ } while (0) -int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val) +int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, + u32 addr, u32 val) { + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FIRMWARE)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.addrval.addr = htonl(addr); - c.u.addrval.val = htonl(val); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FIRMWARE); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.addrval.addr = cpu_to_be32(addr); + c.u.addrval.val = cpu_to_be32(val); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6286,19 +5896,22 @@ int t4_mdio_rd(struct adapter *adap, uns unsigned int mmd, unsigned int reg, unsigned int *valp) { int ret; + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_READ | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.mdio.paddr_mmd = htons(V_FW_LDST_CMD_PADDR(phy_addr) | - V_FW_LDST_CMD_MMD(mmd)); - c.u.mdio.raddr = htons(reg); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.mdio.paddr_mmd = cpu_to_be16(V_FW_LDST_CMD_PADDR(phy_addr) | + V_FW_LDST_CMD_MMD(mmd)); + c.u.mdio.raddr = cpu_to_be16(reg); ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); if (ret == 0) - *valp = ntohs(c.u.mdio.rval); + *valp = be16_to_cpu(c.u.mdio.rval); return ret; } @@ -6316,16 +5929,19 @@ int t4_mdio_rd(struct adapter *adap, uns int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr, unsigned int mmd, unsigned int reg, unsigned int val) { + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.mdio.paddr_mmd = htons(V_FW_LDST_CMD_PADDR(phy_addr) | - V_FW_LDST_CMD_MMD(mmd)); - c.u.mdio.raddr = htons(reg); - c.u.mdio.rval = htons(val); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.mdio.paddr_mmd = cpu_to_be16(V_FW_LDST_CMD_PADDR(phy_addr) | + V_FW_LDST_CMD_MMD(mmd)); + c.u.mdio.raddr = cpu_to_be16(reg); + c.u.mdio.rval = cpu_to_be16(val); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6488,197 +6104,52 @@ void t4_sge_decode_idma_state(struct ada } /** - * t4_i2c_rd - read I2C data from adapter - * @adap: the adapter - * @port: Port number if per-port device; <0 if not - * @devid: per-port device ID or absolute device ID - * @offset: byte offset into device I2C space - * @len: byte length of I2C space data - * @buf: buffer in which to return I2C data - * - * Reads the I2C data from the indicated device and location. - */ -int t4_i2c_rd(struct adapter *adap, unsigned int mbox, - int port, unsigned int devid, - unsigned int offset, unsigned int len, - u8 *buf) -{ - struct fw_ldst_cmd ldst; - int ret; - - if (port >= 4 || - devid >= 256 || - offset >= 256 || - len > sizeof ldst.u.i2c.data) - return -EINVAL; - - memset(&ldst, 0, sizeof ldst); - ldst.op_to_addrspace = - cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | - F_FW_CMD_REQUEST | - F_FW_CMD_READ | - V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_I2C)); - ldst.cycles_to_len16 = cpu_to_be32(FW_LEN16(ldst)); - ldst.u.i2c.pid = (port < 0 ? 0xff : port); - ldst.u.i2c.did = devid; - ldst.u.i2c.boffset = offset; - ldst.u.i2c.blen = len; - ret = t4_wr_mbox(adap, mbox, &ldst, sizeof ldst, &ldst); - if (!ret) - memcpy(buf, ldst.u.i2c.data, len); - return ret; -} - -/** - * t4_i2c_wr - write I2C data to adapter - * @adap: the adapter - * @port: Port number if per-port device; <0 if not - * @devid: per-port device ID or absolute device ID - * @offset: byte offset into device I2C space - * @len: byte length of I2C space data - * @buf: buffer containing new I2C data - * - * Write the I2C data to the indicated device and location. - */ -int t4_i2c_wr(struct adapter *adap, unsigned int mbox, - int port, unsigned int devid, - unsigned int offset, unsigned int len, - u8 *buf) -{ - struct fw_ldst_cmd ldst; - - if (port >= 4 || - devid >= 256 || - offset >= 256 || - len > sizeof ldst.u.i2c.data) - return -EINVAL; - - memset(&ldst, 0, sizeof ldst); - ldst.op_to_addrspace = *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 8 19:36:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 743B4AC8EA5; Tue, 8 Mar 2016 19:36:04 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 34FB9B8F; Tue, 8 Mar 2016 19:36:03 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from chd.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28JZxoq018635 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Mar 2016 19:36:00 GMT (envelope-from dchagin@chd.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be chd.heemeyer.club Received: from chd.heemeyer.club (localhost [127.0.0.1]) by chd.heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28JZwap070913 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 8 Mar 2016 22:35:58 +0300 (MSK) (envelope-from dchagin@chd.heemeyer.club) Received: (from dchagin@localhost) by chd.heemeyer.club (8.15.2/8.15.2/Submit) id u28JZwtb070912; Tue, 8 Mar 2016 22:35:58 +0300 (MSK) (envelope-from dchagin) Date: Tue, 8 Mar 2016 22:35:58 +0300 From: Chagin Dmitry To: Mateusz Guzik Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296501 - head/sys/compat/linux Message-ID: <20160308193558.GA70881@chd.heemeyer.club> References: <201603081508.u28F8Mtq005783@repo.freebsd.org> <20160308155233.GA7447@dft-labs.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160308155233.GA7447@dft-labs.eu> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:36:04 -0000 On Tue, Mar 08, 2016 at 04:52:33PM +0100, Mateusz Guzik wrote: > On Tue, Mar 08, 2016 at 03:08:22PM +0000, Dmitry Chagin wrote: > > Author: dchagin > > Date: Tue Mar 8 15:08:22 2016 > > New Revision: 296501 > > URL: https://svnweb.freebsd.org/changeset/base/296501 > > > > Log: > > Link the newly created process to the corresponding parent as > > if CLONE_PARENT is set, then the parent of the new process will > > be the same as that of the calling process. > > > > MFC after: 1 week > > > > Modified: > > head/sys/compat/linux/linux_fork.c > > > > Modified: head/sys/compat/linux/linux_fork.c > > ============================================================================== > > --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) > > +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) > > @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru > > if (args->flags & LINUX_CLONE_SETTLS) > > linux_set_cloned_tls(td2, args->tls); > > > > + /* > > + * If CLONE_PARENT is set, then the parent of the new process will be > > + * the same as that of the calling process. > > + */ > > + if (args->flags & LINUX_CLONE_PARENT) { > > + sx_xlock(&proctree_lock); > > + PROC_LOCK(p2); > > + proc_reparent(p2, td->td_proc->p_pptr); > > + PROC_UNLOCK(p2); > > + sx_xunlock(&proctree_lock); > > + } > > + > > #ifdef DEBUG > > if (ldebug(clone)) > > printf(LMSG("clone: successful rfork to %d, " > > > > What is the reason to support this flag? It is questionable at best > since it gives surprise children to unsuspecting processes. > mostly due to the same reason that a Linux do. if this flag is set then calling process does not expect signal when the child terminates. > The patch looks wrong. By the time this is executed the child could have > been attached to with ptrace, which reparents it. > > If the flag really needs to be supported (why?), it should make sure the > parent is a linux process and also should fix the race with ptrace. > Maybe a "fork completed" or something of the sort flag could be > introduced, or PRS_NEW state modified later. > hmm, I'll think about it, thanks From owner-svn-src-head@freebsd.org Tue Mar 8 19:40:03 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DFC1AC8FCA; Tue, 8 Mar 2016 19:40:03 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B9D4E23; Tue, 8 Mar 2016 19:40:03 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Je2uW095301; Tue, 8 Mar 2016 19:40:02 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Je2vu095300; Tue, 8 Mar 2016 19:40:02 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081940.u28Je2vu095300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:40:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296546 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:40:03 -0000 Author: dchagin Date: Tue Mar 8 19:40:01 2016 New Revision: 296546 URL: https://svnweb.freebsd.org/changeset/base/296546 Log: Better english. Submitted by: Kevin P. Neal MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:35:30 2016 (r296545) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:40:01 2016 (r296546) @@ -209,7 +209,7 @@ linux_alarm(struct thread *td, struct li /* * According to POSIX and Linux implementation * the alarm() system call is always successfull. - * Ignore errors and return 0 as a Linux do. + * Ignore errors and return 0 as a Linux does. */ kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { From owner-svn-src-head@freebsd.org Tue Mar 8 20:33:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9A4B1AC86AE; Tue, 8 Mar 2016 20:33:04 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B6665DF; Tue, 8 Mar 2016 20:33:04 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28KX3iS014150; Tue, 8 Mar 2016 20:33:03 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28KX2OL014139; Tue, 8 Mar 2016 20:33:02 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603082033.u28KX2OL014139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Tue, 8 Mar 2016 20:33:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 20:33:04 -0000 Author: dumbbell Date: Tue Mar 8 20:33:02 2016 New Revision: 296548 URL: https://svnweb.freebsd.org/changeset/base/296548 Log: drm/i915: Update to match Linux 3.8.13 This update brings initial support for Haswell GPUs. Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5554 Added: head/sys/dev/drm2/drm_mem_util.h (contents, props changed) head/sys/dev/drm2/i915/dvo.h (contents, props changed) head/sys/dev/drm2/i915/dvo_ch7017.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ch7xxx.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ivch.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ns2501.c (contents, props changed) head/sys/dev/drm2/i915/dvo_sil164.c (contents, props changed) head/sys/dev/drm2/i915/dvo_tfp410.c (contents, props changed) head/sys/dev/drm2/i915/intel_acpi.c (contents, props changed) head/sys/dev/drm2/i915/intel_dvo.c (contents, props changed) Modified: head/sys/dev/agp/agp_i810.c head/sys/dev/agp/agp_i810.h head/sys/dev/drm2/drmP.h head/sys/dev/drm2/drm_atomic.h head/sys/dev/drm2/drm_dp_iic_helper.c head/sys/dev/drm2/drm_drv.c head/sys/dev/drm2/drm_linux_list.h head/sys/dev/drm2/drm_os_freebsd.c head/sys/dev/drm2/drm_os_freebsd.h head/sys/dev/drm2/drm_pciids.h head/sys/dev/drm2/i915/i915_debug.c head/sys/dev/drm2/i915/i915_dma.c head/sys/dev/drm2/i915/i915_drm.h head/sys/dev/drm2/i915/i915_drv.c head/sys/dev/drm2/i915/i915_drv.h head/sys/dev/drm2/i915/i915_gem.c head/sys/dev/drm2/i915/i915_gem_context.c head/sys/dev/drm2/i915/i915_gem_evict.c head/sys/dev/drm2/i915/i915_gem_execbuffer.c head/sys/dev/drm2/i915/i915_gem_gtt.c head/sys/dev/drm2/i915/i915_gem_stolen.c head/sys/dev/drm2/i915/i915_gem_tiling.c head/sys/dev/drm2/i915/i915_irq.c head/sys/dev/drm2/i915/i915_reg.h head/sys/dev/drm2/i915/i915_suspend.c head/sys/dev/drm2/i915/intel_bios.c head/sys/dev/drm2/i915/intel_bios.h head/sys/dev/drm2/i915/intel_crt.c head/sys/dev/drm2/i915/intel_ddi.c head/sys/dev/drm2/i915/intel_display.c head/sys/dev/drm2/i915/intel_dp.c head/sys/dev/drm2/i915/intel_drv.h head/sys/dev/drm2/i915/intel_fb.c head/sys/dev/drm2/i915/intel_hdmi.c head/sys/dev/drm2/i915/intel_iic.c head/sys/dev/drm2/i915/intel_lvds.c head/sys/dev/drm2/i915/intel_modes.c head/sys/dev/drm2/i915/intel_opregion.c head/sys/dev/drm2/i915/intel_overlay.c head/sys/dev/drm2/i915/intel_panel.c head/sys/dev/drm2/i915/intel_pm.c head/sys/dev/drm2/i915/intel_ringbuffer.c head/sys/dev/drm2/i915/intel_ringbuffer.h head/sys/dev/drm2/i915/intel_sdvo.c head/sys/dev/drm2/i915/intel_sprite.c head/sys/dev/drm2/i915/intel_tv.c head/sys/modules/drm2/i915kms/Makefile Modified: head/sys/dev/agp/agp_i810.c ============================================================================== --- head/sys/dev/agp/agp_i810.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/agp/agp_i810.c Tue Mar 8 20:33:02 2016 (r296548) @@ -250,6 +250,10 @@ struct agp_i810_driver { void (*chipset_flush)(device_t); }; +static struct { + struct intel_gtt base; +} intel_private; + static const struct agp_i810_driver agp_i810_i810_driver = { .chiptype = CHIP_I810, .gen = 1, @@ -526,6 +530,29 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i810_chipset_flush, }; +static const struct agp_i810_driver agp_i810_valleyview_driver = { + .chiptype = CHIP_SB, + .gen = 7, + .busdma_addr_mask_sz = 40, + .res_spec = agp_g4x_res_spec, + .check_active = agp_sb_check_active, + .set_desc = agp_i810_set_desc, + .dump_regs = agp_sb_dump_regs, + .get_stolen_size = agp_sb_get_stolen_size, + .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, + .get_gtt_total_entries = agp_sb_get_gtt_total_entries, + .install_gatt = agp_g4x_install_gatt, + .deinstall_gatt = agp_i830_deinstall_gatt, + .write_gtt = agp_sb_write_gtt, + .install_gtt_pte = agp_sb_install_gtt_pte, + .read_gtt_pte = agp_g4x_read_gtt_pte, + .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, + .set_aperture = agp_i915_set_aperture, + .chipset_flush_setup = agp_i810_chipset_flush_setup, + .chipset_flush_teardown = agp_i810_chipset_flush_teardown, + .chipset_flush = agp_i810_chipset_flush, +}; + /* For adding new devices, devid is the id of the graphics controller * (pci:0:2:0, for example). The placeholder (usually at pci:0:2:1) for the * second head should never be added. The bridge_offset is the offset to @@ -763,40 +790,200 @@ static const struct agp_i810_match { }, { .devid = 0x04028086, - .name = "Haswell desktop GT1", + .name = "Haswell GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x04068086, + .name = "Haswell GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x040A8086, + .name = "Haswell GT1 server", .driver = &agp_i810_hsw_driver }, { .devid = 0x04128086, - .name = "Haswell desktop GT2", + .name = "Haswell GT2 desktop", .driver = &agp_i810_hsw_driver }, { - .devid = 0x040a8086, - .name = "Haswell server GT1", + .devid = 0x04168086, + .name = "Haswell GT2 mobile", .driver = &agp_i810_hsw_driver }, { - .devid = 0x041a8086, - .name = "Haswell server GT2", + .devid = 0x041A8086, + .name = "Haswell GT2 server", .driver = &agp_i810_hsw_driver }, { - .devid = 0x04068086, - .name = "Haswell mobile GT1", + .devid = 0x04228086, + .name = "Haswell GT2 desktop", .driver = &agp_i810_hsw_driver }, { - .devid = 0x04168086, - .name = "Haswell mobile GT2", + .devid = 0x04268086, + .name = "Haswell GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x042A8086, + .name = "Haswell GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A028086, + .name = "Haswell ULT GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A068086, + .name = "Haswell ULT GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A0A8086, + .name = "Haswell ULT GT1 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A128086, + .name = "Haswell ULT GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A168086, + .name = "Haswell ULT GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A1A8086, + .name = "Haswell ULT GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A228086, + .name = "Haswell ULT GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A268086, + .name = "Haswell ULT GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A2A8086, + .name = "Haswell ULT GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C028086, + .name = "Haswell SDV GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C068086, + .name = "Haswell SDV GT1 mobile", .driver = &agp_i810_hsw_driver }, { - .devid = 0x0c168086, - .name = "Haswell SDV", + .devid = 0x0C0A8086, + .name = "Haswell SDV GT1 server", .driver = &agp_i810_hsw_driver }, { + .devid = 0x0C128086, + .name = "Haswell SDV GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C168086, + .name = "Haswell SDV GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C1A8086, + .name = "Haswell SDV GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C228086, + .name = "Haswell SDV GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C268086, + .name = "Haswell SDV GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C2A8086, + .name = "Haswell SDV GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D028086, + .name = "Haswell CRW GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D068086, + .name = "Haswell CRW GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D0A8086, + .name = "Haswell CRW GT1 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D128086, + .name = "Haswell CRW GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D168086, + .name = "Haswell CRW GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D1A8086, + .name = "Haswell CRW GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D228086, + .name = "Haswell CRW GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D268086, + .name = "Haswell CRW GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D2A8086, + .name = "Haswell CRW GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x01558086, + .name = "Valleyview (desktop)", + .driver = &agp_i810_valleyview_driver + }, + { + .devid = 0x01578086, + .name = "Valleyview (mobile)", + .driver = &agp_i810_valleyview_driver + }, + { + .devid = 0x0F308086, + .name = "Valleyview (mobile)", + .driver = &agp_i810_valleyview_driver + }, + { .devid = 0, } }; @@ -2285,6 +2472,10 @@ agp_intel_gtt_get(device_t dev) res.gtt_mappable_entries = sc->gtt_mappable_entries; res.do_idle_maps = 0; res.scratch_page_dma = VM_PAGE_TO_PHYS(bogus_page); + if (sc->agp.as_aperture != NULL) + res.gma_bus_addr = rman_get_start(sc->agp.as_aperture); + else + res.gma_bus_addr = 0; return (res); } @@ -2588,11 +2779,12 @@ intel_gtt_insert_pages(u_int first_entry pages, flags); } -struct intel_gtt +struct intel_gtt * intel_gtt_get(void) { - return (agp_intel_gtt_get(intel_agp)); + intel_private.base = agp_intel_gtt_get(intel_agp); + return (&intel_private.base); } int Modified: head/sys/dev/agp/agp_i810.h ============================================================================== --- head/sys/dev/agp/agp_i810.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/agp/agp_i810.h Tue Mar 8 20:33:02 2016 (r296548) @@ -33,6 +33,7 @@ #define AGP_AGP_I810_H #include +#include #include #include @@ -51,24 +52,23 @@ struct intel_gtt { /* Size of memory reserved for graphics by the BIOS */ - u_int stolen_size; + unsigned int stolen_size; /* Total number of gtt entries. */ - u_int gtt_total_entries; - /* - * Part of the gtt that is mappable by the cpu, for those - * chips where this is not the full gtt. - */ - u_int gtt_mappable_entries; - - /* - * Always false. - */ - u_int do_idle_maps; - - /* - * Share the scratch page dma with ppgtts. - */ + unsigned int gtt_total_entries; + /* Part of the gtt that is mappable by the cpu, for those chips where + * this is not the full gtt. */ + unsigned int gtt_mappable_entries; + /* Whether i915 needs to use the dmar apis or not. */ + unsigned int needs_dmar : 1; + /* Whether we idle the gpu before mapping/unmapping */ + unsigned int do_idle_maps : 1; + /* Share the scratch page dma with ppgtts. */ vm_paddr_t scratch_page_dma; + vm_page_t scratch_page; + /* for ppgtt PDE access */ + uint32_t *gtt; + /* needed for ioremap in drm/i915 */ + bus_addr_t gma_bus_addr; }; struct intel_gtt agp_intel_gtt_get(device_t dev); @@ -83,7 +83,7 @@ void agp_intel_gtt_insert_sg_entries(dev void agp_intel_gtt_insert_pages(device_t dev, u_int first_entry, u_int num_entries, vm_page_t *pages, u_int flags); -struct intel_gtt intel_gtt_get(void); +struct intel_gtt *intel_gtt_get(void); int intel_gtt_chipset_flush(void); void intel_gtt_unmap_memory(struct sglist *sg_list); void intel_gtt_clear_range(u_int first_entry, u_int num_entries); Modified: head/sys/dev/drm2/drmP.h ============================================================================== --- head/sys/dev/drm2/drmP.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drmP.h Tue Mar 8 20:33:02 2016 (r296548) @@ -238,7 +238,6 @@ struct drm_device; __func__ , ##__VA_ARGS__); \ } while (0) - /*@}*/ /***********************************************************************/ @@ -700,6 +699,8 @@ struct drm_driver { void (*postclose) (struct drm_device *, struct drm_file *); void (*lastclose) (struct drm_device *); int (*unload) (struct drm_device *); + int (*suspend) (struct drm_device *, pm_message_t state); + int (*resume) (struct drm_device *); int (*dma_ioctl) (struct drm_device *dev, void *data, struct drm_file *file_priv); int (*dma_quiescent) (struct drm_device *); int (*context_dtor) (struct drm_device *dev, int context); @@ -1118,7 +1119,7 @@ struct drm_device { char busid_str[128]; int modesetting; - drm_pci_id_list_t *id_entry; /* PCI ID, name, and chipset private */ + const drm_pci_id_list_t *id_entry; /* PCI ID, name, and chipset private */ }; #define DRM_SWITCH_POWER_ON 0 @@ -1581,6 +1582,8 @@ static __inline__ void drm_core_dropmap( { } +#include + extern int drm_fill_in_dev(struct drm_device *dev, struct drm_driver *driver); extern void drm_cancel_fill_in_dev(struct drm_device *dev); @@ -1758,9 +1761,11 @@ struct dmi_system_id { bool dmi_check_system(const struct dmi_system_id *); /* Device setup support (drm_drv.c) */ -int drm_probe_helper(device_t kdev, drm_pci_id_list_t *idlist); -int drm_attach_helper(device_t kdev, drm_pci_id_list_t *idlist, +int drm_probe_helper(device_t kdev, const drm_pci_id_list_t *idlist); +int drm_attach_helper(device_t kdev, const drm_pci_id_list_t *idlist, struct drm_driver *driver); +int drm_generic_suspend(device_t kdev); +int drm_generic_resume(device_t kdev); int drm_generic_detach(device_t kdev); void drm_event_wakeup(struct drm_pending_event *e); Modified: head/sys/dev/drm2/drm_atomic.h ============================================================================== --- head/sys/dev/drm2/drm_atomic.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_atomic.h Tue Mar 8 20:33:02 2016 (r296548) @@ -39,8 +39,8 @@ typedef uint64_t atomic64_t; #define NB_BITS_PER_LONG (sizeof(long) * NBBY) #define BITS_TO_LONGS(x) howmany(x, NB_BITS_PER_LONG) -#define atomic_read(p) (*(volatile u_int *)(p)) -#define atomic_set(p, v) do { *(u_int *)(p) = (v); } while (0) +#define atomic_read(p) atomic_load_acq_int(p) +#define atomic_set(p, v) atomic_store_rel_int(p, v) #define atomic64_read(p) atomic_load_acq_64(p) #define atomic64_set(p, v) atomic_store_rel_64(p, v) @@ -78,6 +78,9 @@ typedef uint64_t atomic64_t; #define cmpxchg(ptr, old, new) \ (atomic_cmpset_int((volatile u_int *)(ptr),(old),(new)) ? (old) : (0)) +#define atomic_inc_not_zero(p) atomic_inc(p) +#define atomic_clear_mask(b, p) atomic_clear_int((p), (b)) + static __inline u_long find_first_zero_bit(const u_long *p, u_long max) { Modified: head/sys/dev/drm2/drm_dp_iic_helper.c ============================================================================== --- head/sys/dev/drm2/drm_dp_iic_helper.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_dp_iic_helper.c Tue Mar 8 20:33:02 2016 (r296548) @@ -149,7 +149,7 @@ iic_dp_aux_xfer(device_t idev, struct ii buf = msgs[m].buf; reading = (msgs[m].flags & IIC_M_RD) != 0; ret = iic_dp_aux_address(idev, msgs[m].slave >> 1, reading); - if (ret != 0) + if (ret < 0) break; if (reading) { for (b = 0; b < len; b++) { @@ -160,7 +160,7 @@ iic_dp_aux_xfer(device_t idev, struct ii } else { for (b = 0; b < len; b++) { ret = iic_dp_aux_put_byte(idev, buf[b]); - if (ret != 0) + if (ret < 0) break; } } Modified: head/sys/dev/drm2/drm_drv.c ============================================================================== --- head/sys/dev/drm2/drm_drv.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_drv.c Tue Mar 8 20:33:02 2016 (r296548) @@ -470,6 +470,14 @@ int drm_ioctl(struct cdev *kdev, u_long err_i1: atomic_dec(&dev->ioctl_count); + if (retcode == -ERESTARTSYS) { + /* + * FIXME: Find where in i915 ERESTARTSYS should be + * converted to EINTR. + */ + DRM_DEBUG("ret = %d -> %d\n", retcode, -EINTR); + retcode = -EINTR; + } if (retcode) DRM_DEBUG("ret = %d\n", retcode); if (retcode != 0 && Modified: head/sys/dev/drm2/drm_linux_list.h ============================================================================== --- head/sys/dev/drm2/drm_linux_list.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_linux_list.h Tue Mar 8 20:33:02 2016 (r296548) @@ -40,7 +40,6 @@ struct list_head { }; #define list_entry(ptr, type, member) container_of(ptr,type,member) -#define hlist_entry(ptr, type, member) container_of(ptr,type,member) static __inline__ void INIT_LIST_HEAD(struct list_head *head) { @@ -179,4 +178,123 @@ list_splice(const struct list_head *list void drm_list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, struct list_head *a, struct list_head *b)); +/* hlist, copied from sys/dev/ofed/linux/list.h */ + +struct hlist_head { + struct hlist_node *first; +}; + +struct hlist_node { + struct hlist_node *next, **pprev; +}; + +#define HLIST_HEAD_INIT { } +#define HLIST_HEAD(name) struct hlist_head name = HLIST_HEAD_INIT +#define INIT_HLIST_HEAD(head) (head)->first = NULL +#define INIT_HLIST_NODE(node) \ +do { \ + (node)->next = NULL; \ + (node)->pprev = NULL; \ +} while (0) + +static inline int +hlist_unhashed(const struct hlist_node *h) +{ + + return !h->pprev; +} + +static inline int +hlist_empty(const struct hlist_head *h) +{ + + return !h->first; +} + +static inline void +hlist_del(struct hlist_node *n) +{ + + if (n->next) + n->next->pprev = n->pprev; + *n->pprev = n->next; +} + +static inline void +hlist_del_init(struct hlist_node *n) +{ + + if (hlist_unhashed(n)) + return; + hlist_del(n); + INIT_HLIST_NODE(n); +} + +static inline void +hlist_add_head(struct hlist_node *n, struct hlist_head *h) +{ + + n->next = h->first; + if (h->first) + h->first->pprev = &n->next; + h->first = n; + n->pprev = &h->first; +} + +static inline void +hlist_add_before(struct hlist_node *n, struct hlist_node *next) +{ + + n->pprev = next->pprev; + n->next = next; + next->pprev = &n->next; + *(n->pprev) = n; +} + +static inline void +hlist_add_after(struct hlist_node *n, struct hlist_node *next) +{ + + next->next = n->next; + n->next = next; + next->pprev = &n->next; + if (next->next) + next->next->pprev = &next->next; +} + +static inline void +hlist_move_list(struct hlist_head *old, struct hlist_head *new) +{ + + new->first = old->first; + if (new->first) + new->first->pprev = &new->first; + old->first = NULL; +} + +#define hlist_entry(ptr, type, field) container_of(ptr, type, field) + +#define hlist_for_each(p, head) \ + for (p = (head)->first; p; p = p->next) + +#define hlist_for_each_safe(p, n, head) \ + for (p = (head)->first; p && ({ n = p->next; 1; }); p = n) + +#define hlist_for_each_entry(tp, p, head, field) \ + for (p = (head)->first; \ + p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_continue(tp, p, field) \ + for (p = (p)->next; \ + p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_from(tp, p, field) \ + for (; p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_safe(tpos, pos, n, head, member) \ + for (pos = (head)->first; \ + (pos) != 0 && ({ n = (pos)->next; \ + tpos = hlist_entry((pos), typeof(*(tpos)), member); 1;}); \ + pos = (n)) + #endif /* _DRM_LINUX_LIST_H_ */ Added: head/sys/dev/drm2/drm_mem_util.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/drm2/drm_mem_util.h Tue Mar 8 20:33:02 2016 (r296548) @@ -0,0 +1,59 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Jesse Barnes + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#ifndef _DRM_MEM_UTIL_H_ +#define _DRM_MEM_UTIL_H_ + +#include +#include + +static __inline__ void *drm_calloc_large(size_t nmemb, size_t size) +{ + if (size != 0 && nmemb > SIZE_MAX / size) + return NULL; + + return malloc(nmemb * size, DRM_MEM_DRIVER, M_NOWAIT | M_ZERO); +} + +/* Modeled after cairo's malloc_ab, it's like calloc but without the zeroing. */ +static __inline__ void *drm_malloc_ab(size_t nmemb, size_t size) +{ + if (size != 0 && nmemb > SIZE_MAX / size) + return NULL; + + return malloc(nmemb * size, DRM_MEM_DRIVER, M_NOWAIT); +} + +static __inline void drm_free_large(void *ptr) +{ + free(ptr, DRM_MEM_DRIVER); +} + +#endif Modified: head/sys/dev/drm2/drm_os_freebsd.c ============================================================================== --- head/sys/dev/drm2/drm_os_freebsd.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_os_freebsd.c Tue Mar 8 20:33:02 2016 (r296548) @@ -67,8 +67,27 @@ ns_to_timeval(const int64_t nsec) return (tv); } -static drm_pci_id_list_t * -drm_find_description(int vendor, int device, drm_pci_id_list_t *idlist) +/* Copied from OFED. */ +unsigned long drm_linux_timer_hz_mask; + +static void +drm_linux_timer_init(void *arg) +{ + + /* + * Compute an internal HZ value which can divide 2**32 to + * avoid timer rounding problems when the tick value wraps + * around 2**32: + */ + drm_linux_timer_hz_mask = 1; + while (drm_linux_timer_hz_mask < (unsigned long)hz) + drm_linux_timer_hz_mask *= 2; + drm_linux_timer_hz_mask--; +} +SYSINIT(drm_linux_timer, SI_SUB_DRIVERS, SI_ORDER_FIRST, drm_linux_timer_init, NULL); + +static const drm_pci_id_list_t * +drm_find_description(int vendor, int device, const drm_pci_id_list_t *idlist) { int i = 0; @@ -87,9 +106,9 @@ drm_find_description(int vendor, int dev * method. */ int -drm_probe_helper(device_t kdev, drm_pci_id_list_t *idlist) +drm_probe_helper(device_t kdev, const drm_pci_id_list_t *idlist) { - drm_pci_id_list_t *id_entry; + const drm_pci_id_list_t *id_entry; int vendor, device; vendor = pci_get_vendor(kdev); @@ -118,7 +137,7 @@ drm_probe_helper(device_t kdev, drm_pci_ * method. */ int -drm_attach_helper(device_t kdev, drm_pci_id_list_t *idlist, +drm_attach_helper(device_t kdev, const drm_pci_id_list_t *idlist, struct drm_driver *driver) { struct drm_device *dev; @@ -137,6 +156,55 @@ drm_attach_helper(device_t kdev, drm_pci } int +drm_generic_suspend(device_t kdev) +{ + struct drm_device *dev; + int error; + + DRM_DEBUG_KMS("Starting suspend\n"); + + dev = device_get_softc(kdev); + if (dev->driver->suspend) { + pm_message_t state; + + state.event = PM_EVENT_SUSPEND; + error = -dev->driver->suspend(dev, state); + if (error) + goto out; + } + + error = bus_generic_suspend(kdev); + +out: + DRM_DEBUG_KMS("Finished suspend: %d\n", error); + + return error; +} + +int +drm_generic_resume(device_t kdev) +{ + struct drm_device *dev; + int error; + + DRM_DEBUG_KMS("Starting resume\n"); + + dev = device_get_softc(kdev); + if (dev->driver->resume) { + error = -dev->driver->resume(dev); + if (error) + goto out; + } + + error = bus_generic_resume(kdev); + +out: + DRM_DEBUG_KMS("Finished resume: %d\n", error); + + return error; +} + +int drm_generic_detach(device_t kdev) { struct drm_device *dev; @@ -331,6 +399,42 @@ drm_clflush_virt_range(char *addr, unsig #endif } +void +hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize, + char *linebuf, size_t linebuflen, bool ascii __unused) +{ + int i, j, c; + + i = j = 0; + + while (i < len && j <= linebuflen) { + c = ((const char *)buf)[i]; + + if (i != 0) { + if (i % rowsize == 0) { + /* Newline required. */ + sprintf(linebuf + j, "\n"); + ++j; + } else if (i % groupsize == 0) { + /* Space required. */ + sprintf(linebuf + j, " "); + ++j; + } + } + + if (j > linebuflen - 1) + break; + + sprintf(linebuf + j, "%02X", c); + j += 2; + + ++i; + } + + if (j <= linebuflen) + sprintf(linebuf + j, "\n"); +} + #if DRM_LINUX #include Modified: head/sys/dev/drm2/drm_os_freebsd.h ============================================================================== --- head/sys/dev/drm2/drm_os_freebsd.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_os_freebsd.h Tue Mar 8 20:33:02 2016 (r296548) @@ -10,6 +10,7 @@ __FBSDID("$FreeBSD$"); #define _DRM_OS_FREEBSD_H_ #include +#include #if _BYTE_ORDER == _BIG_ENDIAN #define __BIG_ENDIAN 4321 @@ -24,10 +25,22 @@ __FBSDID("$FreeBSD$"); #endif #ifndef __user -#define __user +#define __user #endif #ifndef __iomem -#define __iomem +#define __iomem +#endif +#ifndef __always_unused +#define __always_unused +#endif +#ifndef __must_check +#define __must_check +#endif +#ifndef __force +#define __force +#endif +#ifndef uninitialized_var +#define uninitialized_var(x) x #endif #define cpu_to_le16(x) htole16(x) @@ -69,9 +82,23 @@ typedef void irqreturn_t; #define __exit #define __read_mostly -#define WARN_ON(cond) KASSERT(!(cond), ("WARN ON: " #cond)) +#define BUILD_BUG_ON(x) CTASSERT(!(x)) +#define BUILD_BUG_ON_NOT_POWER_OF_2(x) + +#ifndef WARN +#define WARN(condition, format, ...) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) \ + DRM_ERROR(format, ##__VA_ARGS__); \ + unlikely(__ret_warn_on); \ +}) +#endif +#define WARN_ONCE(condition, format, ...) \ + WARN(condition, format, ##__VA_ARGS__) +#define WARN_ON(cond) WARN(cond, "WARN ON: " #cond) #define WARN_ON_SMP(cond) WARN_ON(cond) -#define BUG_ON(cond) KASSERT(!(cond), ("BUG ON: " #cond)) +#define BUG() panic("BUG") +#define BUG_ON(cond) KASSERT(!(cond), ("BUG ON: " #cond " -> 0x%jx", (uintmax_t)(cond))) #define unlikely(x) __builtin_expect(!!(x), 0) #define likely(x) __builtin_expect(!!(x), 1) #define container_of(ptr, type, member) ({ \ @@ -93,6 +120,15 @@ typedef void irqreturn_t; #define DRM_UDELAY(udelay) DELAY(udelay) #define drm_msleep(x, msg) pause((msg), ((int64_t)(x)) * hz / 1000) #define DRM_MSLEEP(msecs) drm_msleep((msecs), "drm_msleep") +#define get_seconds() time_second + +#define ioread8(addr) *(volatile uint8_t *)((char *)addr) +#define ioread16(addr) *(volatile uint16_t *)((char *)addr) +#define ioread32(addr) *(volatile uint32_t *)((char *)addr) + +#define iowrite8(data, addr) *(volatile uint8_t *)((char *)addr) = data; +#define iowrite16(data, addr) *(volatile uint16_t *)((char *)addr) = data; +#define iowrite32(data, addr) *(volatile uint32_t *)((char *)addr) = data; #define DRM_READ8(map, offset) \ *(volatile u_int8_t *)(((vm_offset_t)(map)->handle) + \ @@ -127,12 +163,18 @@ typedef void irqreturn_t; #define DRM_WRITEMEMORYBARRIER() wmb() #define DRM_MEMORYBARRIER() mb() #define smp_rmb() rmb() +#define smp_wmb() wmb() #define smp_mb__before_atomic_inc() mb() #define smp_mb__after_atomic_inc() mb() +#define barrier() __compiler_membar() #define do_div(a, b) ((a) /= (b)) #define div64_u64(a, b) ((a) / (b)) #define lower_32_bits(n) ((u32)(n)) +#define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) + +#define __set_bit(n, s) set_bit((n), (s)) +#define __clear_bit(n, s) clear_bit((n), (s)) #define min_t(type, x, y) ({ \ type __min1 = (x); \ @@ -148,6 +190,10 @@ typedef void irqreturn_t; #define memcpy_fromio(a, b, c) memcpy((a), (b), (c)) #define memcpy_toio(a, b, c) memcpy((a), (b), (c)) +#define VERIFY_READ VM_PROT_READ +#define VERIFY_WRITE VM_PROT_WRITE +#define access_ok(prot, p, l) useracc((p), (l), (prot)) + /* XXXKIB what is the right code for the FreeBSD ? */ /* kib@ used ENXIO here -- dumbbell@ */ #define EREMOTEIO EIO @@ -170,8 +216,10 @@ typedef void irqreturn_t; #define PCI_VENDOR_ID_SONY 0x104d #define PCI_VENDOR_ID_VIA 0x1106 -#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) -#define hweight32(i) bitcount32(i) +#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) +#define DIV_ROUND_CLOSEST(n,d) (((n) + (d) / 2) / (d)) +#define div_u64(n, d) ((n) / (d)) +#define hweight32(i) bitcount32(i) static inline unsigned long roundup_pow_of_two(unsigned long x) @@ -195,6 +243,8 @@ ror32(uint32_t word, unsigned int shift) } #define IS_ALIGNED(x, y) (((x) & ((y) - 1)) == 0) +#define round_down(x, y) rounddown2((x), (y)) +#define round_up(x, y) roundup2((x), (y)) #define get_unaligned(ptr) \ ({ __typeof__(*(ptr)) __tmp; \ memcpy(&__tmp, (ptr), sizeof(*(ptr))); __tmp; }) @@ -251,7 +301,9 @@ abs64(int64_t x) int64_t timeval_to_ns(const struct timeval *tv); struct timeval ns_to_timeval(const int64_t nsec); -#define PAGE_ALIGN(addr) round_page(addr) +#define PAGE_ALIGN(addr) round_page(addr) +#define page_to_phys(x) VM_PAGE_TO_PHYS(x) +#define offset_in_page(x) ((x) & PAGE_MASK) #define drm_get_device_from_kdev(_kdev) (((struct drm_minor *)(_kdev)->si_drv1)->dev) @@ -295,20 +347,193 @@ __get_user(size_t size, const void *ptr, } #define get_user(x, ptr) __get_user(sizeof(*ptr), (ptr), &(x)) +static inline int +__copy_to_user_inatomic(void __user *to, const void *from, unsigned n) +{ + + return (copyout_nofault(from, to, n) != 0 ? n : 0); +} +#define __copy_to_user_inatomic_nocache(to, from, n) \ + __copy_to_user_inatomic((to), (from), (n)) + +static inline unsigned long +__copy_from_user_inatomic(void *to, const void __user *from, + unsigned long n) +{ + + /* + * XXXKIB. Equivalent Linux function is implemented using + * MOVNTI for aligned moves. For unaligned head and tail, + * normal move is performed. As such, it is not incorrect, if + * only somewhat slower, to use normal copyin. All uses + * except shmem_pwrite_fast() have the destination mapped WC. + */ + return ((copyin_nofault(__DECONST(void *, from), to, n) != 0 ? n : 0)); +} +#define __copy_from_user_inatomic_nocache(to, from, n) \ + __copy_from_user_inatomic((to), (from), (n)) + +static inline int +fault_in_multipages_readable(const char __user *uaddr, int size) +{ + char c; + int ret = 0; + const char __user *end = uaddr + size - 1; + + if (unlikely(size == 0)) + return ret; + + while (uaddr <= end) { + ret = -copyin(uaddr, &c, 1); + if (ret != 0) + return -EFAULT; + uaddr += PAGE_SIZE; + } + + /* Check whether the range spilled into the next page. */ + if (((unsigned long)uaddr & ~PAGE_MASK) == + ((unsigned long)end & ~PAGE_MASK)) { + ret = -copyin(end, &c, 1); + } + + return ret; +} + +static inline int +fault_in_multipages_writeable(char __user *uaddr, int size) +{ + int ret = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 8 21:26:27 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 81893AC7CC6; Tue, 8 Mar 2016 21:26:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 357D9AFC; Tue, 8 Mar 2016 21:26:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28LQQPK030028; Tue, 8 Mar 2016 21:26:26 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28LQQnf030026; Tue, 8 Mar 2016 21:26:26 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603082126.u28LQQnf030026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 21:26:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296549 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 21:26:27 -0000 Author: bdrewery Date: Tue Mar 8 21:26:25 2016 New Revision: 296549 URL: https://svnweb.freebsd.org/changeset/base/296549 Log: Don't ever create object directories here with MK_AUTO_OBJ. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile head/Makefile.inc1 Modified: head/Makefile ============================================================================== --- head/Makefile Tue Mar 8 20:33:02 2016 (r296548) +++ head/Makefile Tue Mar 8 21:26:25 2016 (r296549) @@ -146,7 +146,7 @@ TGTS+= ${BITGTS} PATH= /sbin:/bin:/usr/sbin:/usr/bin MAKEOBJDIRPREFIX?= /usr/obj -_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \ +_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} MK_AUTO_OBJ=no ${MAKE} \ ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \ -f /dev/null -V MAKEOBJDIRPREFIX dummy .if !empty(_MAKEOBJDIRPREFIX) Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Tue Mar 8 20:33:02 2016 (r296548) +++ head/Makefile.inc1 Tue Mar 8 21:26:25 2016 (r296549) @@ -179,9 +179,9 @@ OSRELDATE= 0 .endif # Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. -.if !defined(VERSION) && !make(showconfig) -REVISION!= ${MAKE} -C ${SRCDIR}/release -V REVISION -BRANCH!= ${MAKE} -C ${SRCDIR}/release -V BRANCH +.if !defined(VERSION) +REVISION!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V REVISION +BRANCH!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V BRANCH SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ ${SRCDIR}/sys/sys/param.h VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} @@ -229,14 +229,11 @@ _TARGET_CPUTYPE=${TARGET_CPUTYPE} .else _TARGET_CPUTYPE=dummy .endif -# Skip for showconfig as it is just wasted time and may invoke auto.obj.mk. -.if !make(showconfig) -_CPUTYPE!= MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ +_CPUTYPE!= MK_AUTO_OBJ=no MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ -f /dev/null -m ${.CURDIR}/share/mk -V CPUTYPE .if ${_CPUTYPE} != ${_TARGET_CPUTYPE} .error CPUTYPE global should be set with ?=. .endif -.endif .if make(buildworld) BUILD_ARCH!= uname -p .if ${MACHINE_ARCH} != ${BUILD_ARCH} From owner-svn-src-head@freebsd.org Tue Mar 8 21:26:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 254D1AC7D2A; Tue, 8 Mar 2016 21:26:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D0C65C67; Tue, 8 Mar 2016 21:26:53 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28LQqWU030166; Tue, 8 Mar 2016 21:26:52 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28LQiEc030079; Tue, 8 Mar 2016 21:26:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603082126.u28LQiEc030079@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 21:26:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296550 - in head: lib/clang/libclangcodegen lib/clang/libclangdriver lib/clang/libclangfrontend lib/clang/libclangfrontendtool lib/clang/liblldbExpression lib/clang/liblldbInitializati... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 21:26:54 -0000 Author: bdrewery Date: Tue Mar 8 21:26:44 2016 New Revision: 296550 URL: https://svnweb.freebsd.org/changeset/base/296550 Log: DIRDEPS_BUILD: Update clang dependencies after r296417. Sponsored by: EMC / Isilon Storage Division Added: head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangcodegen/Makefile.depend head/lib/clang/liblldbPluginExpressionParserGo/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangfrontendtool/Makefile.depend head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangdriver/Makefile.depend head/lib/clang/liblldbPluginScriptInterpreterNone/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/libllvmsymbolize/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/libclang_rt/asan_dynamic/Makefile.depend - copied, changed from r296549, head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend Modified: head/lib/clang/libclangcodegen/Makefile.depend head/lib/clang/libclangdriver/Makefile.depend head/lib/clang/libclangfrontend/Makefile.depend head/lib/clang/libclangfrontendtool/Makefile.depend head/lib/clang/liblldbExpression/Makefile.depend head/lib/clang/liblldbInitialization/Makefile.depend head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend head/lib/clang/libllvmaarch64asmparser/Makefile.depend head/lib/clang/libllvmaarch64asmprinter/Makefile.depend head/lib/clang/libllvmaarch64codegen/Makefile.depend head/lib/clang/libllvmaarch64desc/Makefile.depend head/lib/clang/libllvmaarch64disassembler/Makefile.depend head/lib/clang/libllvmaarch64info/Makefile.depend head/lib/clang/libllvmaarch64utils/Makefile.depend head/lib/clang/libllvmanalysis/Makefile.depend head/lib/clang/libllvmarmasmparser/Makefile.depend head/lib/clang/libllvmarmasmprinter/Makefile.depend head/lib/clang/libllvmarmcodegen/Makefile.depend head/lib/clang/libllvmarmdesc/Makefile.depend head/lib/clang/libllvmarmdisassembler/Makefile.depend head/lib/clang/libllvmarminfo/Makefile.depend head/lib/clang/libllvmasmparser/Makefile.depend head/lib/clang/libllvmasmprinter/Makefile.depend head/lib/clang/libllvmbitreader/Makefile.depend head/lib/clang/libllvmbitwriter/Makefile.depend head/lib/clang/libllvmcodegen/Makefile.depend head/lib/clang/libllvmcore/Makefile.depend head/lib/clang/libllvmexecutionengine/Makefile.depend head/lib/clang/libllvminstcombine/Makefile.depend head/lib/clang/libllvminstrumentation/Makefile.depend head/lib/clang/libllvminterpreter/Makefile.depend head/lib/clang/libllvmipo/Makefile.depend head/lib/clang/libllvmirreader/Makefile.depend head/lib/clang/libllvmlibdriver/Makefile.depend head/lib/clang/libllvmlinker/Makefile.depend head/lib/clang/libllvmlto/Makefile.depend head/lib/clang/libllvmmcjit/Makefile.depend head/lib/clang/libllvmmipsasmparser/Makefile.depend head/lib/clang/libllvmmipsasmprinter/Makefile.depend head/lib/clang/libllvmmipscodegen/Makefile.depend head/lib/clang/libllvmmipsdesc/Makefile.depend head/lib/clang/libllvmmipsdisassembler/Makefile.depend head/lib/clang/libllvmmipsinfo/Makefile.depend head/lib/clang/libllvmmirparser/Makefile.depend head/lib/clang/libllvmobjcarcopts/Makefile.depend head/lib/clang/libllvmobject/Makefile.depend head/lib/clang/libllvmorcjit/Makefile.depend head/lib/clang/libllvmpasses/Makefile.depend head/lib/clang/libllvmpowerpcasmparser/Makefile.depend head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend head/lib/clang/libllvmpowerpccodegen/Makefile.depend head/lib/clang/libllvmpowerpcdesc/Makefile.depend head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend head/lib/clang/libllvmpowerpcinfo/Makefile.depend head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/libllvmscalaropts/Makefile.depend head/lib/clang/libllvmselectiondag/Makefile.depend head/lib/clang/libllvmsparcasmparser/Makefile.depend head/lib/clang/libllvmsparcasmprinter/Makefile.depend head/lib/clang/libllvmsparccodegen/Makefile.depend head/lib/clang/libllvmsparcdesc/Makefile.depend head/lib/clang/libllvmsparcdisassembler/Makefile.depend head/lib/clang/libllvmsparcinfo/Makefile.depend head/lib/clang/libllvmtarget/Makefile.depend head/lib/clang/libllvmtransformutils/Makefile.depend head/lib/clang/libllvmvectorize/Makefile.depend head/lib/clang/libllvmx86asmparser/Makefile.depend head/lib/clang/libllvmx86asmprinter/Makefile.depend head/lib/clang/libllvmx86codegen/Makefile.depend head/lib/clang/libllvmx86desc/Makefile.depend head/lib/clang/libllvmx86disassembler/Makefile.depend head/lib/clang/libllvmx86info/Makefile.depend head/targets/pseudo/clang/Makefile.depend head/targets/pseudo/hosttools/Makefile.depend head/usr.bin/clang/bugpoint/Makefile.depend head/usr.bin/clang/clang/Makefile.depend head/usr.bin/clang/llc/Makefile.depend head/usr.bin/clang/lldb/Makefile.depend head/usr.bin/clang/lli/Makefile.depend head/usr.bin/clang/llvm-ar/Makefile.depend head/usr.bin/clang/llvm-as/Makefile.depend head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend head/usr.bin/clang/llvm-cov/Makefile.depend head/usr.bin/clang/llvm-cxxdump/Makefile.depend head/usr.bin/clang/llvm-diff/Makefile.depend head/usr.bin/clang/llvm-dis/Makefile.depend head/usr.bin/clang/llvm-extract/Makefile.depend head/usr.bin/clang/llvm-link/Makefile.depend head/usr.bin/clang/llvm-lto/Makefile.depend head/usr.bin/clang/llvm-mc/Makefile.depend head/usr.bin/clang/llvm-nm/Makefile.depend head/usr.bin/clang/llvm-objdump/Makefile.depend head/usr.bin/clang/llvm-profdata/Makefile.depend head/usr.bin/clang/llvm-rtdyld/Makefile.depend head/usr.bin/clang/llvm-symbolizer/Makefile.depend head/usr.bin/clang/opt/Makefile.depend Modified: head/lib/clang/libclangcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangdriver/Makefile.depend ============================================================================== --- head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangfrontend/Makefile.depend ============================================================================== --- head/lib/clang/libclangfrontend/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangfrontend/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangfrontendtool/Makefile.depend ============================================================================== --- head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/liblldbExpression/Makefile.depend ============================================================================== --- head/lib/clang/liblldbExpression/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbExpression/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/liblldbInitialization/Makefile.depend ============================================================================== --- head/lib/clang/liblldbInitialization/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbInitialization/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/clang-tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend (from r296549, head/lib/clang/libclangcodegen/Makefile.depend) ============================================================================== --- head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginExpressionParserGo/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Copied and modified: head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend (from r296549, head/lib/clang/libclangfrontendtool/Makefile.depend) ============================================================================== --- head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,6 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend (from r296549, head/lib/clang/libclangdriver/Makefile.depend) ============================================================================== --- head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,6 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginScriptInterpreterNone/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Modified: head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend ============================================================================== --- head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64asmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64asmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64asmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64asmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64asmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64asmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,21 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64InstPrinter.o: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.o: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.o: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.o: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.o: AArch64GenSubtargetInfo.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.po: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.po: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.po: AArch64GenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmaarch64codegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64codegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64codegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64desc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64desc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64desc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64disassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64disassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64disassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64info/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64info/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64info/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64utils/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64utils/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64utils/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmanalysis/Makefile.depend ============================================================================== --- head/lib/clang/libllvmanalysis/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmanalysis/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMInstPrinter.o: ARMGenAsmWriter.inc.h -ARMInstPrinter.o: ARMGenInstrInfo.inc.h -ARMInstPrinter.o: ARMGenRegisterInfo.inc.h -ARMInstPrinter.o: ARMGenSubtargetInfo.inc.h -ARMInstPrinter.po: ARMGenAsmWriter.inc.h -ARMInstPrinter.po: ARMGenInstrInfo.inc.h -ARMInstPrinter.po: ARMGenRegisterInfo.inc.h -ARMInstPrinter.po: ARMGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmarmcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarminfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarminfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarminfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmbitreader/Makefile.depend ============================================================================== --- head/lib/clang/libllvmbitreader/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmbitreader/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmbitwriter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmbitwriter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmbitwriter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmcore/Makefile.depend ============================================================================== --- head/lib/clang/libllvmcore/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmcore/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmexecutionengine/Makefile.depend ============================================================================== --- head/lib/clang/libllvmexecutionengine/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmexecutionengine/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminstcombine/Makefile.depend ============================================================================== --- head/lib/clang/libllvminstcombine/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminstcombine/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminstrumentation/Makefile.depend ============================================================================== --- head/lib/clang/libllvminstrumentation/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminstrumentation/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminterpreter/Makefile.depend ============================================================================== --- head/lib/clang/libllvminterpreter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminterpreter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmipo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmipo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmipo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmirreader/Makefile.depend ============================================================================== --- head/lib/clang/libllvmirreader/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmirreader/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlibdriver/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlibdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlibdriver/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlinker/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlinker/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlinker/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlto/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlto/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlto/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmcjit/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmcjit/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmcjit/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsInstPrinter.o: MipsGenAsmWriter.inc.h -MipsInstPrinter.o: MipsGenInstrInfo.inc.h -MipsInstPrinter.o: MipsGenRegisterInfo.inc.h -MipsInstPrinter.o: MipsGenSubtargetInfo.inc.h -MipsInstPrinter.po: MipsGenAsmWriter.inc.h -MipsInstPrinter.po: MipsGenInstrInfo.inc.h -MipsInstPrinter.po: MipsGenRegisterInfo.inc.h -MipsInstPrinter.po: MipsGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmmipscodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipscodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipscodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmirparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmirparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmirparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmobjcarcopts/Makefile.depend ============================================================================== --- head/lib/clang/libllvmobjcarcopts/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmobjcarcopts/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmobject/Makefile.depend ============================================================================== --- head/lib/clang/libllvmobject/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmobject/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmorcjit/Makefile.depend ============================================================================== --- head/lib/clang/libllvmorcjit/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmorcjit/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpasses/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpasses/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpasses/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCInstPrinter.o: PPCGenAsmWriter.inc.h -PPCInstPrinter.o: PPCGenInstrInfo.inc.h -PPCInstPrinter.o: PPCGenRegisterInfo.inc.h -PPCInstPrinter.o: PPCGenSubtargetInfo.inc.h -PPCInstPrinter.po: PPCGenAsmWriter.inc.h -PPCInstPrinter.po: PPCGenInstrInfo.inc.h -PPCInstPrinter.po: PPCGenRegisterInfo.inc.h -PPCInstPrinter.po: PPCGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmpowerpccodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpccodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpccodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmprofiledata/Makefile.depend ============================================================================== --- head/lib/clang/libllvmprofiledata/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmprofiledata/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmscalaropts/Makefile.depend ============================================================================== --- head/lib/clang/libllvmscalaropts/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmscalaropts/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmselectiondag/Makefile.depend ============================================================================== --- head/lib/clang/libllvmselectiondag/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmselectiondag/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcInstPrinter.o: SparcGenAsmWriter.inc.h -SparcInstPrinter.o: SparcGenInstrInfo.inc.h -SparcInstPrinter.o: SparcGenRegisterInfo.inc.h -SparcInstPrinter.o: SparcGenSubtargetInfo.inc.h -SparcInstPrinter.po: SparcGenAsmWriter.inc.h -SparcInstPrinter.po: SparcGenInstrInfo.inc.h -SparcInstPrinter.po: SparcGenRegisterInfo.inc.h -SparcInstPrinter.po: SparcGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmsparccodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparccodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparccodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/clang/libllvmsymbolize/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Modified: head/lib/clang/libllvmtarget/Makefile.depend ============================================================================== --- head/lib/clang/libllvmtarget/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmtarget/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmtransformutils/Makefile.depend ============================================================================== --- head/lib/clang/libllvmtransformutils/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmtransformutils/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmvectorize/Makefile.depend ============================================================================== --- head/lib/clang/libllvmvectorize/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmvectorize/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86asmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86asmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86asmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86asmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86asmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86asmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,33 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86ATTInstPrinter.o: X86GenAsmWriter.inc.h -X86ATTInstPrinter.o: X86GenInstrInfo.inc.h -X86ATTInstPrinter.o: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.o: X86GenSubtargetInfo.inc.h -X86ATTInstPrinter.po: X86GenAsmWriter.inc.h -X86ATTInstPrinter.po: X86GenInstrInfo.inc.h -X86ATTInstPrinter.po: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.po: X86GenSubtargetInfo.inc.h -X86InstComments.o: X86GenInstrInfo.inc.h -X86InstComments.o: X86GenRegisterInfo.inc.h -X86InstComments.o: X86GenSubtargetInfo.inc.h -X86InstComments.po: X86GenInstrInfo.inc.h -X86InstComments.po: X86GenRegisterInfo.inc.h -X86InstComments.po: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.o: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.o: X86GenInstrInfo.inc.h -X86IntelInstPrinter.o: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.o: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.po: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.po: X86GenInstrInfo.inc.h -X86IntelInstPrinter.po: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.po: X86GenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmx86codegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86codegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86codegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86desc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86desc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86desc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86disassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86disassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86disassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86info/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86info/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86info/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/libclang_rt/asan_dynamic/Makefile.depend (from r296549, head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend) ============================================================================== --- head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/libclang_rt/asan_dynamic/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -5,15 +5,13 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ + include/arpa \ include/xlocale \ lib/${CSU_DIR} \ - lib/clang/libllvmbitreader \ - lib/clang/libllvmcore \ - lib/clang/libllvmsupport \ lib/libc \ lib/libc++ \ lib/libcompiler_rt \ - lib/libthr \ + lib/libcxxrt \ lib/msun \ lib/ncurses/ncursesw \ Modified: head/targets/pseudo/clang/Makefile.depend ============================================================================== --- head/targets/pseudo/clang/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/targets/pseudo/clang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -11,7 +11,7 @@ DIRDEPS = \ share/doc/llvm/clang \ usr.bin/clang/clang \ usr.bin/clang/clang-tblgen \ - usr.bin/clang/tblgen \ + usr.bin/clang/llvm-tblgen \ .if ${MK_LLDB} == "yes" DIRDEPS+= \ @@ -41,7 +41,6 @@ DIRDEPS+= \ usr.bin/clang/llvm-profdata \ usr.bin/clang/llvm-rtdyld \ usr.bin/clang/llvm-symbolizer \ - usr.bin/clang/macho-dump \ usr.bin/clang/opt \ .endif Modified: head/targets/pseudo/hosttools/Makefile.depend ============================================================================== --- head/targets/pseudo/hosttools/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/targets/pseudo/hosttools/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -13,7 +13,7 @@ DIRDEPS = \ share/doc/llvm/clang.host \ usr.bin/clang/clang-tblgen.host \ usr.bin/clang/clang.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ usr.bin/lex/lib.host \ usr.bin/localedef.host \ usr.bin/mkcsmapper_static.host \ Modified: head/usr.bin/clang/bugpoint/Makefile.depend ============================================================================== --- head/usr.bin/clang/bugpoint/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/usr.bin/clang/bugpoint/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -15,7 +15,6 @@ DIRDEPS = \ lib/clang/libllvmcore \ lib/clang/libllvminstcombine \ lib/clang/libllvminstrumentation \ - lib/clang/libllvmipa \ lib/clang/libllvmipo \ lib/clang/libllvmirreader \ lib/clang/libllvmlinker \ @@ -33,9 +32,10 @@ DIRDEPS = \ lib/libc++ \ lib/libcompiler_rt \ lib/libthr \ + lib/libz \ lib/msun \ lib/ncurses/ncursesw \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/usr.bin/clang/clang/Makefile.depend ============================================================================== --- head/usr.bin/clang/clang/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/usr.bin/clang/clang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -26,18 +26,17 @@ DIRDEPS = \ lib/clang/libclangstaticanalyzercore \ lib/clang/libclangstaticanalyzerfrontend \ lib/clang/libllvmaarch64asmparser \ + lib/clang/libllvmaarch64asmprinter \ lib/clang/libllvmaarch64codegen \ lib/clang/libllvmaarch64desc \ lib/clang/libllvmaarch64info \ - lib/clang/libllvmaarch64instprinter \ lib/clang/libllvmaarch64utils \ lib/clang/libllvmanalysis \ lib/clang/libllvmarmasmparser \ + lib/clang/libllvmarmasmprinter \ lib/clang/libllvmarmcodegen \ lib/clang/libllvmarmdesc \ - lib/clang/libllvmarmdisassembler \ lib/clang/libllvmarminfo \ - lib/clang/libllvmarminstprinter \ lib/clang/libllvmasmparser \ lib/clang/libllvmasmprinter \ lib/clang/libllvmbitreader \ @@ -46,7 +45,6 @@ DIRDEPS = \ lib/clang/libllvmcore \ lib/clang/libllvminstcombine \ lib/clang/libllvminstrumentation \ - lib/clang/libllvmipa \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 8 22:23:32 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49CE3AC8079; Tue, 8 Mar 2016 22:23:32 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 08CA58B6; Tue, 8 Mar 2016 22:23:31 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28MNVqR048195; Tue, 8 Mar 2016 22:23:31 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28MNUeR048193; Tue, 8 Mar 2016 22:23:30 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603082223.u28MNUeR048193@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 22:23:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296552 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 22:23:32 -0000 Author: np Date: Tue Mar 8 22:23:30 2016 New Revision: 296552 URL: https://svnweb.freebsd.org/changeset/base/296552 Log: cxgbe(4): Rename regwin_lock to reg_lock. It is used to protect access to indirect registers only. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 22:12:03 2016 (r296551) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 22:23:30 2016 (r296552) @@ -804,7 +804,7 @@ struct adapter { TAILQ_HEAD(, sge_fl) sfl; struct callout sfl_callout; - struct mtx regwin_lock; /* for indirect reads and memory windows */ + struct mtx reg_lock; /* for indirect register access */ an_handler_t an_handler __aligned(CACHE_LINE_SIZE); fw_msg_handler_t fw_msg_handler[7]; /* NUM_FW6_TYPES */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 22:12:03 2016 (r296551) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 22:23:30 2016 (r296552) @@ -688,7 +688,7 @@ t4_attach(device_t dev) TAILQ_INIT(&sc->sfl); callout_init_mtx(&sc->sfl_callout, &sc->sfl_lock, 0); - mtx_init(&sc->regwin_lock, "register and memory window", 0, MTX_DEF); + mtx_init(&sc->reg_lock, "indirect register access", 0, MTX_DEF); rc = map_bars_0_and_4(sc); if (rc != 0) @@ -1161,8 +1161,8 @@ t4_detach(device_t dev) mtx_destroy(&sc->sfl_lock); if (mtx_initialized(&sc->ifp_lock)) mtx_destroy(&sc->ifp_lock); - if (mtx_initialized(&sc->regwin_lock)) - mtx_destroy(&sc->regwin_lock); + if (mtx_initialized(&sc->reg_lock)) + mtx_destroy(&sc->reg_lock); bzero(sc, sizeof(*sc)); @@ -4197,7 +4197,7 @@ read_vf_stat(struct adapter *sc, unsigne { u32 stats[2]; - mtx_assert(&sc->regwin_lock, MA_OWNED); + mtx_assert(&sc->reg_lock, MA_OWNED); t4_write_reg(sc, A_PL_INDIR_CMD, V_PL_AUTOINC(1) | V_PL_VFID(G_FW_VIID_VIN(viid)) | V_PL_ADDR(VF_MPS_REG(reg))); stats[0] = t4_read_reg(sc, A_PL_INDIR_DATA); @@ -4260,10 +4260,10 @@ vi_refresh_stats(struct adapter *sc, str if (timevalcmp(&tv, &vi->last_refreshed, <)) return; - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_get_vi_stats(sc, vi->viid, &vi->stats); getmicrotime(&vi->last_refreshed); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); } static void @@ -4283,10 +4283,10 @@ cxgbe_refresh_stats(struct adapter *sc, t4_get_port_stats(sc, pi->tx_chan, &pi->stats); for (i = 0; i < sc->chip_params->nchan; i++) { if (pi->rx_chan_map & (1 << i)) { - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_read_indirect(sc, A_TP_MIB_INDEX, A_TP_MIB_DATA, &v, 1, A_TP_MIB_TNL_CNG_DROP_0 + i); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); tnl_cong_drops += v; } } @@ -5693,9 +5693,9 @@ sysctl_cpl_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_cpl_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); if (sc->chip_params->nchan > 2) { sbuf_printf(sb, " channel 0 channel 1" @@ -6673,9 +6673,9 @@ sysctl_rdma_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_rdma_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); sbuf_printf(sb, "NoRQEModDefferals: %u\n", stats.rqe_dfr_mod); sbuf_printf(sb, "NoRQEPktDefferals: %u", stats.rqe_dfr_pkt); @@ -6702,9 +6702,9 @@ sysctl_tcp_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_tcp_stats(sc, &v4, &v6); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); sbuf_printf(sb, " IP IPv6\n"); @@ -6804,9 +6804,9 @@ sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_err_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); if (sc->chip_params->nchan > 2) { sbuf_printf(sb, " channel 0 channel 1" @@ -8408,12 +8408,12 @@ t4_ioctl(struct cdev *dev, unsigned long /* MAC stats */ t4_clr_port_stats(sc, pi->tx_chan); pi->tx_parse_error = 0; - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); for_each_vi(pi, v, vi) { if (vi->flags & VI_INIT_DONE) t4_clr_vi_stats(sc, vi->viid); } - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); /* * Since this command accepts a port, clear stats for From owner-svn-src-head@freebsd.org Wed Mar 9 03:22:10 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 30003AC82C0; Wed, 9 Mar 2016 03:22:10 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D8BFA831; Wed, 9 Mar 2016 03:22:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293M8sZ039847; Wed, 9 Mar 2016 03:22:08 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293M8vG039846; Wed, 9 Mar 2016 03:22:08 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293M8vG039846@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296553 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:10 -0000 Author: bdrewery Date: Wed Mar 9 03:22:08 2016 New Revision: 296553 URL: https://svnweb.freebsd.org/changeset/base/296553 Log: PROGS: Track child meta files. This will allow Makefile.depend to properly capture all dependencies. It is not 100% optimal but works. Other options would be to use *.meta here which would include too much or to keep a Makefile.depend per PROG and include it from the main Makefile.depend which would not be straight forward. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk Modified: head/share/mk/bsd.progs.mk ============================================================================== --- head/share/mk/bsd.progs.mk Tue Mar 8 22:23:30 2016 (r296552) +++ head/share/mk/bsd.progs.mk Wed Mar 9 03:22:08 2016 (r296553) @@ -20,13 +20,6 @@ # we really only use PROGS below... PROGS += ${PROGS_CXX} -# In meta mode, we can capture dependenices for _one_ of the progs. -# if makefile doesn't nominate one, we use the first. -.ifndef UPDATE_DEPENDFILE_PROG -UPDATE_DEPENDFILE_PROG = ${PROGS:[1]} -.export UPDATE_DEPENDFILE_PROG -.endif - .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \ @@ -45,11 +38,20 @@ $v ?= .endif .endfor -# for meta mode, there can be only one! -.if ${PROG} == ${UPDATE_DEPENDFILE_PROG} -UPDATE_DEPENDFILE ?= yes +.if ${MK_DIRDEPS_BUILD} == "yes" +# Leave updating the Makefile.depend to the parent. +UPDATE_DEPENDFILE = NO + +# Record our meta files for the parent to use. +CLEANFILES+= ${PROG}.meta_files +${PROG}.meta_files: .NOMETA $${.MAKE.META.CREATED} ${_this} + @echo "Updating ${.TARGET}: ${.OODATE:T:[1..8]}" + @echo ${.MAKE.META.FILES} > ${.TARGET} + +.if !defined(_SKIP_BUILD) +.END: ${PROG}.meta_files .endif -UPDATE_DEPENDFILE ?= NO +.endif # ${MK_DIRDEPS_BUILD} == "yes" # prog.mk will do the rest .else # !defined(PROG) @@ -57,8 +59,7 @@ UPDATE_DEPENDFILE ?= NO all: ${PROGS} .endif -# We cannot capture dependencies for meta mode here -UPDATE_DEPENDFILE = NO +META_XTRAS+= ${cat ${PROGS:S/$/*.meta_files/} 2>/dev/null || true:L:sh} .if ${MK_STAGING} != "no" .if !empty(PROGS) From owner-svn-src-head@freebsd.org Wed Mar 9 03:22:19 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 07891AC82EB; Wed, 9 Mar 2016 03:22:19 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C9AFE992; Wed, 9 Mar 2016 03:22:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MHuh040527; Wed, 9 Mar 2016 03:22:17 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MHVK040526; Wed, 9 Mar 2016 03:22:17 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MHVK040526@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296554 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:19 -0000 Author: bdrewery Date: Wed Mar 9 03:22:17 2016 New Revision: 296554 URL: https://svnweb.freebsd.org/changeset/base/296554 Log: Remove things set already by bsd.progs.mk. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.test.mk Modified: head/share/mk/bsd.test.mk ============================================================================== --- head/share/mk/bsd.test.mk Wed Mar 9 03:22:08 2016 (r296553) +++ head/share/mk/bsd.test.mk Wed Mar 9 03:22:17 2016 (r296554) @@ -76,10 +76,6 @@ SUBDIR_PARALLEL= t MAN= .endif -# tell progs.mk we might want to install things -PROG_VARS+= BINDIR -PROGS_TARGETS+= install - .if !defined(NOT_FOR_TEST_SUITE) .include .endif From owner-svn-src-head@freebsd.org Wed Mar 9 03:22:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13A55AC8313; Wed, 9 Mar 2016 03:22:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D918C999; Wed, 9 Mar 2016 03:22:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MKMv040573; Wed, 9 Mar 2016 03:22:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MKNQ040571; Wed, 9 Mar 2016 03:22:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MKNQ040571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296555 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:22 -0000 Author: bdrewery Date: Wed Mar 9 03:22:20 2016 New Revision: 296555 URL: https://svnweb.freebsd.org/changeset/base/296555 Log: DIRDEPS_BUILD+PROGS: Fix staging not respecting (BINDIR|PROGNAME)[._]${PROG}. Observed in tests/sys/kern. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.progs.mk ============================================================================== --- head/share/mk/bsd.progs.mk Wed Mar 9 03:22:17 2016 (r296554) +++ head/share/mk/bsd.progs.mk Wed Mar 9 03:22:20 2016 (r296555) @@ -61,11 +61,15 @@ all: ${PROGS} META_XTRAS+= ${cat ${PROGS:S/$/*.meta_files/} 2>/dev/null || true:L:sh} -.if ${MK_STAGING} != "no" -.if !empty(PROGS) -stage_files.prog: ${PROGS} -.endif -.endif # ${MK_STAGING} != "no" +.if ${MK_STAGING} != "no" && !empty(PROGS) +# Stage from parent while respecting PROGNAME and BINDIR overrides. +.for _prog in ${PROGS} +STAGE_DIR.prog.${_prog}= ${STAGE_OBJTOP}${BINDIR.${_prog}:UBINDIR_${_prog}:U${BINDIR}} +STAGE_AS_SETS+= prog.${_prog} +STAGE_AS_prog.${_prog}= ${PROGNAME.${_prog}:UPROGNAME_${_prog}:U${_prog}} +stage_as.prog.${_prog}: ${_prog} +.endfor +.endif # ${MK_STAGING} != "no" && !empty(PROGS) .endif .endif # PROGS || PROGS_CXX Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Wed Mar 9 03:22:17 2016 (r296554) +++ head/share/mk/bsd.sys.mk Wed Mar 9 03:22:20 2016 (r296555) @@ -208,7 +208,7 @@ staging: beforeinstall .if ${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG) STAGE_DIR.prog= ${STAGE_OBJTOP}${BINDIR} -.if !empty(PROG) || !empty(PROGS) +.if !empty(PROG) .if defined(PROGNAME) STAGE_AS_SETS+= prog STAGE_AS_${PROG}= ${PROGNAME} From owner-svn-src-head@freebsd.org Wed Mar 9 03:22:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A65EAC833F; Wed, 9 Mar 2016 03:22:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F18AAAA; Wed, 9 Mar 2016 03:22:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MNBn040619; Wed, 9 Mar 2016 03:22:23 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MN6L040618; Wed, 9 Mar 2016 03:22:23 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MN6L040618@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296556 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:25 -0000 Author: bdrewery Date: Wed Mar 9 03:22:23 2016 New Revision: 296556 URL: https://svnweb.freebsd.org/changeset/base/296556 Log: Follow-up r295827: Don't enable meta stats when recursing PROGS. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Wed Mar 9 03:22:20 2016 (r296555) +++ head/share/mk/local.meta.sys.mk Wed Mar 9 03:22:23 2016 (r296556) @@ -205,7 +205,9 @@ CSU_DIR := ${CSU_DIR.${MACHINE_ARCH}} .if !empty(TIME_STAMP) TRACER= ${TIME_STAMP} ${:U} .endif +.if !defined(_RECURSING_PROGS) WITH_META_STATS= t +.endif # toolchains can be a pain - especially bootstrappping them .if ${MACHINE} == "host" From owner-svn-src-head@freebsd.org Wed Mar 9 08:16:38 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82C949DB904; Wed, 9 Mar 2016 08:16:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id 2A9A5254; Wed, 9 Mar 2016 08:16:37 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c110-21-41-193.carlnfd1.nsw.optusnet.com.au (c110-21-41-193.carlnfd1.nsw.optusnet.com.au [110.21.41.193]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 4D7F81046098; Wed, 9 Mar 2016 19:16:28 +1100 (AEDT) Date: Wed, 9 Mar 2016 19:16:27 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Dmitry Chagin cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296543 - head/sys/compat/linux In-Reply-To: <201603081920.u28JKvbM088851@repo.freebsd.org> Message-ID: <20160309160342.P1249@besplex.bde.org> References: <201603081920.u28JKvbM088851@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=c+ZWOkJl c=1 sm=1 tr=0 a=73JWPhLeruqQCjN69UNZtQ==:117 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=kj9zAlcOel0A:10 a=erG0tMseV-g_RqXmBP4A:9 a=fzgNKv7FlKPP0rJi:21 a=nJ7-xClz8oyQwDSj:21 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 08:16:38 -0000 On Tue, 8 Mar 2016, Dmitry Chagin wrote: > Log: > Put a commit message from r296502 about Linux alarm() system call > behaviour to the source. > ... > Modified: head/sys/compat/linux/linux_misc.c > ============================================================================== > --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:08:55 2016 (r296542) > +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:20:57 2016 (r296543) > @@ -206,6 +206,11 @@ linux_alarm(struct thread *td, struct li > it.it_value.tv_usec = 0; > it.it_interval.tv_sec = 0; > it.it_interval.tv_usec = 0; > + /* > + * According to POSIX and Linux implementation > + * the alarm() system call is always successfull. > + * Ignore errors and return 0 as a Linux do. > + */ Why does this need a comment referring to external sources? FreeBSD's own man page also says that there is no error return for alarm(3). However, the man page and the implementation are quite broken. The implementation in libc does have an error return, but this is undocumented. The documentation says that that the maximum number of seconds is 100000000 (100 million), but doesn't say what happens when this limit is exceeded. The implementation of this is broken too. What actually happens for the libc version is: - secs <= 100 million works in all kernel versions - in old kernel versions, secs > 100 million fails to set the alarm; it sets errno to EINVAL and returns (u_int)-1 to misindicate the error - in FreeBSD-~[6-9], secs > 100 million works with 64-bit time_t. With 32-bit time_t, secs > INT_MAX fails; secs between INT_MAX and about 1000 million (= the time from now until overflow) causes undefined behaviour due to overflow, but this might simulate working; secs between about 1000 million and 100 million work. - in FreeBSD-~[10-current], secs > INT32_MAX / 2 fail and other cases have a chance of working. In the failing cases, the error is misindicated as in old versions except for the different threshold. > kern_setitimer(td, ITIMER_REAL, &it, &old_it); Removing the error check broke this completely. > if (timevalisset(&old_it.it_value)) { > if (old_it.it_value.tv_usec != 0) old_it is stack garbage when kern_setitimer() fails. The value in this stack garbage is now returned and errno is not set. When the error was checked, the consistent garbage value (u_int)-1 was returned, and errno was not set. This function worked almost correctly in FreeBSD-5, by duplicating most of the internals of setitimer() including its limit of 100 million which was not broken then. This limit was to avoid overflow with 32-bit time_t unless the current time is after year 2035. It was broken in 2005. It remained just broken with 32-bit time_t until FreeBSD-9. Starting in FreeBSD-10, sbintime_t is used. This reduces the brokenness with 32-bit time_t but increases it with 64-bit time_t. sbintime_t has the same signed 32-bit limit for seconds as 32-bit time_t. New ittimer code using sbintime_t is more careful about overflow, but it cannot support alarm() or large times in setitimer() even with 64-bit time_t. It actually enforces a limit of INT32_MAX / 2 (~ 1000 million) and doesn't documement this, where old code enforces a limit of 100 million and does document this. Man pages still document the old limit, but no implmentations of alarm() except the old one for linux are aware of this. Complete description of bugs in this function: X int X linux_alarm(struct thread *td, struct linux_alarm_args *args) X { X struct itimerval it, old_it; X u_int secs; X X #ifdef DEBUG X if (ldebug(alarm)) X printf(ARGS(alarm, "%u"), args->secs); X #endif X X secs = args->secs; X Style bug: extra blank line to separate related code. Strict KNF doesn't even allow blank lines to separate unrelated code. The one after the DEBUG ifdef is an example. But bugs in indent(1) give extra blank lines for ifdefs. X if (secs > INT_MAX) X secs = INT_MAX; A bounds check is needed, but this one is very wrong. We are going to assign secs to tv_sec, and need to ensure that this doesn't overflow. tv_sec used to have type long, so the correct limit for this was LONG_MAX. POSIX broke this type, and FreeBSD was broken to conform in 2005. Then the correct limit became TIME_T_MAX, but this is unavailable under that spelling. INT_MAX accidentally works as well as possible for its intended purpose it time_t is 32 bits and int is also 32 bits, but if time_t is 64-bits then it unnecessarily breaks alarm() in versions before sbintime_t. However, the limit of INT_MAX doesn't work for the purpose of breaking alarm() as little as possible. It just ensured that kern_setitimer() and thus this function always fails if kern_settimer() enforced its documented limit of 100 million. I think the change to use this limit was made after setitimer()'s limit was broken. Then this limit worked for a while with 64-bit time_t, but with 32-bit time_t, using it always gave overflow by adding INT_MAX to the current time. Now with sbintime_t and its limit of INT32_MAX / 2, using INT_MAX here ensures that kern_settimer() and thus this function always fails... The best limit to use here is 100 million, or perhaps INT32_MAX / 2 to match kern_setitimer()s new limit, after checking that this works (sbintime_t must be careful not to add INT32_MAX / 2 to either the current time or more than 1 other value near INT_MAX32 / 2). X Style bug: extra blank line. X it.it_value.tv_sec = (long) secs; Style bugs: bogus cast, and space before cast. The cast was not incorrect before POSIX broke the type of tv_sec, but it should never have been necessary (for avoiding compiler warnings) since compilers should see that the limited value fits in tv_sec. X it.it_value.tv_usec = 0; X it.it_interval.tv_sec = 0; X it.it_interval.tv_usec = 0; Style bug in previous 2 lines: the corresponding libc code uses timevalclear(). (Normally I prefer explicit code, but this function uses a macro later.) X /* X * According to POSIX and Linux implementation X * the alarm() system call is always successfull. X * Ignore errors and return 0 as a Linux does. X */ Style bugs: dubious commit, and formatting of this comment for ~60 column terminals. There are many delicate points in the error (mis)handling, but the comment only describes an uninteresting one. Comments should probably be formatted narrow terminals, but that is an unusual style. Other comment in this file use random right margins but many go out to nearly column 89. X kern_setitimer(td, ITIMER_REAL, &it, &old_it); Bug: lost error handling. After fixing the above limit of INT_MAX, the error here should never occur, and you could assert that, but the error always occurs now if secs > INT32_MAX / 2. secs <= INT32_MAX / 2 is so sure to work with the current sbintime_t code that this is not worth asserting. (Perhaps it will fail due to overflow, but kern_setitimer() will succeed.) secs <= 100000000 is even more sure to work (until 2035). X if (timevalisset(&old_it.it_value)) { Bug: beginning of accesses to the uninitialized variable old_it in the error case. Style bugs: unnecessary test, and inconsistent use of macros. libc doesn't do this test. All it does is extra work in the test to avoid doing anything more in the usual case where the old timeout has expired. X if (old_it.it_value.tv_usec != 0) X old_it.it_value.tv_sec++; X td->td_retval[0] = old_it.it_value.tv_sec; Bug: return of garbage in the error case. X } X return (0); X } Bruce From owner-svn-src-head@freebsd.org Wed Mar 9 09:12:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BD6AAC9667; Wed, 9 Mar 2016 09:12:41 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 472318A0; Wed, 9 Mar 2016 09:12:41 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u299Ce8I045786; Wed, 9 Mar 2016 09:12:40 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u299Ceer045784; Wed, 9 Mar 2016 09:12:40 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603090912.u299Ceer045784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 09:12:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296557 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:12:41 -0000 Author: ae Date: Wed Mar 9 09:12:40 2016 New Revision: 296557 URL: https://svnweb.freebsd.org/changeset/base/296557 Log: Add support for IPPROTO_IPV6 socket layer for getsockopt/setsockopt calls. Also add mapping for several options from RFC 3493 and 3542. Reviewed by: dchagin Tested by: Joe Love MFC after: 2 weeks Modified: head/sys/compat/linux/linux_socket.c head/sys/compat/linux/linux_socket.h Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Wed Mar 9 03:22:23 2016 (r296556) +++ head/sys/compat/linux/linux_socket.c Wed Mar 9 09:12:40 2016 (r296557) @@ -289,6 +289,63 @@ linux_to_bsd_ip_sockopt(int opt) } static int +linux_to_bsd_ip6_sockopt(int opt) +{ + + switch (opt) { + case LINUX_IPV6_NEXTHOP: + return (IPV6_NEXTHOP); + case LINUX_IPV6_UNICAST_HOPS: + return (IPV6_UNICAST_HOPS); + case LINUX_IPV6_MULTICAST_IF: + return (IPV6_MULTICAST_IF); + case LINUX_IPV6_MULTICAST_HOPS: + return (IPV6_MULTICAST_HOPS); + case LINUX_IPV6_MULTICAST_LOOP: + return (IPV6_MULTICAST_LOOP); + case LINUX_IPV6_ADD_MEMBERSHIP: + return (IPV6_JOIN_GROUP); + case LINUX_IPV6_DROP_MEMBERSHIP: + return (IPV6_LEAVE_GROUP); + case LINUX_IPV6_V6ONLY: + return (IPV6_V6ONLY); + case LINUX_IPV6_DONTFRAG: + return (IPV6_DONTFRAG); +#if 0 + case LINUX_IPV6_CHECKSUM: + return (IPV6_CHECKSUM); + case LINUX_IPV6_RECVPKTINFO: + return (IPV6_RECVPKTINFO); + case LINUX_IPV6_PKTINFO: + return (IPV6_PKTINFO); + case LINUX_IPV6_RECVHOPLIMIT: + return (IPV6_RECVHOPLIMIT); + case LINUX_IPV6_HOPLIMIT: + return (IPV6_HOPLIMIT); + case LINUX_IPV6_RECVHOPOPTS: + return (IPV6_RECVHOPOPTS); + case LINUX_IPV6_HOPOPTS: + return (IPV6_HOPOPTS); + case LINUX_IPV6_RTHDRDSTOPTS: + return (IPV6_RTHDRDSTOPTS); + case LINUX_IPV6_RECVRTHDR: + return (IPV6_RECVRTHDR); + case LINUX_IPV6_RTHDR: + return (IPV6_RTHDR); + case LINUX_IPV6_RECVDSTOPTS: + return (IPV6_RECVDSTOPTS); + case LINUX_IPV6_DSTOPTS: + return (IPV6_DSTOPTS); + case LINUX_IPV6_RECVPATHMTU: + return (IPV6_RECVPATHMTU); + case LINUX_IPV6_PATHMTU: + return (IPV6_PATHMTU); +#endif + } + return (-1); +} + +static int linux_to_bsd_so_sockopt(int opt) { @@ -1529,6 +1586,9 @@ linux_setsockopt(struct thread *td, stru case IPPROTO_IP: name = linux_to_bsd_ip_sockopt(args->optname); break; + case IPPROTO_IPV6: + name = linux_to_bsd_ip6_sockopt(args->optname); + break; case IPPROTO_TCP: name = linux_to_bsd_tcp_sockopt(args->optname); break; @@ -1615,6 +1675,9 @@ linux_getsockopt(struct thread *td, stru case IPPROTO_IP: name = linux_to_bsd_ip_sockopt(args->optname); break; + case IPPROTO_IPV6: + name = linux_to_bsd_ip6_sockopt(args->optname); + break; case IPPROTO_TCP: name = linux_to_bsd_tcp_sockopt(args->optname); break; Modified: head/sys/compat/linux/linux_socket.h ============================================================================== --- head/sys/compat/linux/linux_socket.h Wed Mar 9 03:22:23 2016 (r296556) +++ head/sys/compat/linux/linux_socket.h Wed Mar 9 09:12:40 2016 (r296557) @@ -302,6 +302,31 @@ int linux_getsockopt(struct thread *td, #define LINUX_IP_ADD_MEMBERSHIP 35 #define LINUX_IP_DROP_MEMBERSHIP 36 +#define LINUX_IPV6_CHECKSUM 7 +#define LINUX_IPV6_NEXTHOP 9 +#define LINUX_IPV6_UNICAST_HOPS 16 +#define LINUX_IPV6_MULTICAST_IF 17 +#define LINUX_IPV6_MULTICAST_HOPS 18 +#define LINUX_IPV6_MULTICAST_LOOP 19 +#define LINUX_IPV6_ADD_MEMBERSHIP 20 +#define LINUX_IPV6_DROP_MEMBERSHIP 21 +#define LINUX_IPV6_V6ONLY 26 + +#define LINUX_IPV6_RECVPKTINFO 49 +#define LINUX_IPV6_PKTINFO 50 +#define LINUX_IPV6_RECVHOPLIMIT 51 +#define LINUX_IPV6_HOPLIMIT 52 +#define LINUX_IPV6_RECVHOPOPTS 53 +#define LINUX_IPV6_HOPOPTS 54 +#define LINUX_IPV6_RTHDRDSTOPTS 55 +#define LINUX_IPV6_RECVRTHDR 56 +#define LINUX_IPV6_RTHDR 57 +#define LINUX_IPV6_RECVDSTOPTS 58 +#define LINUX_IPV6_DSTOPTS 59 +#define LINUX_IPV6_RECVPATHMTU 60 +#define LINUX_IPV6_PATHMTU 61 +#define LINUX_IPV6_DONTFRAG 62 + #define LINUX_TCP_NODELAY 1 #define LINUX_TCP_MAXSEG 2 #define LINUX_TCP_KEEPIDLE 4 From owner-svn-src-head@freebsd.org Wed Mar 9 09:48:34 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4EB95AC868D; Wed, 9 Mar 2016 09:48:34 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22c.google.com (mail-qg0-x22c.google.com [IPv6:2607:f8b0:400d:c04::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 09CA4AAD; Wed, 9 Mar 2016 09:48:34 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22c.google.com with SMTP id y89so36502478qge.2; Wed, 09 Mar 2016 01:48:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5BIJupQL5341gW7RQiU1/FJ/BHz5PjwTy3lCPX3UxjE=; b=FmMIK0iC0iOVzKPOKIbUEBWjUe4UTdQ8LbxCnwfc/sBsaCvMcJqUNuRAZ99Nq0Byps uA+yM6Ya3z4uP/RofJo55inQxVfVcDY4iTrD8/853cpfTC0wAMtXt1h1iA8AoK0w+QlG N0C5YqWQDicbD2wkdefLdMe//CKHPFBynL5Sqm7McEyQHf56cqZm6rAEZKI988u0qlRo MTgE1Nms5nYYvbHqnLaHJ/LoJngPmIK7H7LU5JopEG8di3Is7iW/WhCpRsc3p4XSeNP7 guLcAl4I0JjMg4JVaw/HpQaQ9t/HOTB2Co1FIxOFwuKLadPM+CfwWPCPr8ZSyIHHISsH HVSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:mime-version:subject:from:in-reply-to :date:cc:content-transfer-encoding:message-id:references:to; bh=5BIJupQL5341gW7RQiU1/FJ/BHz5PjwTy3lCPX3UxjE=; b=M+XzpAY0ezq2uequ6LOZOHyPr0nRVc4F7TLSd4//WSVM0Y5bmevHBQ/iTbZid8Tr9/ r49wg9EYwe+p6O43ciWDXkLvdyCyhwz0m2G/TL7ctmUCpouYuI3SR5h9ZKYpyiwAjLft jHRU+X6I2w8DKoMAuFzWDVjfZsbS/yYTf1W6e/Qk5w64Dz9AVAHtmY0LQ1S8kcxelTkH q2hZdtPSiEsfVL+uJtlBYVJCinVd5ujbbUcisUedKRzozHmm3DlkeqBYMXh3wSHRbuWJ Uuxiiv5rF2y4wYSWMnHJjHroH9/jtzZpDwaeBXLYyi9Q8SkSppgVcFzaEIzMuI0vZVS0 w0UA== X-Gm-Message-State: AD7BkJKwOyHOx1WXPy70FOc5mUpEd8e6krVW9qh9IXUt0xnI+MKWL0+SXYrQzeW9ixje2g== X-Received: by 10.140.92.180 with SMTP id b49mr32685469qge.81.1457516913226; Wed, 09 Mar 2016 01:48:33 -0800 (PST) Received: from mbp.home (179-125-130-6.desktop.com.br. [179.125.130.6]) by smtp.gmail.com with ESMTPSA id v65sm3271028qhc.6.2016.03.09.01.48.31 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 01:48:32 -0800 (PST) Sender: Renato Botelho Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Renato Botelho In-Reply-To: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 06:48:31 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:48:34 -0000 > On Mar 8, 2016, at 17:33, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > Author: dumbbell > Date: Tue Mar 8 20:33:02 2016 > New Revision: 296548 > URL: https://svnweb.freebsd.org/changeset/base/296548 >=20 > Log: > drm/i915: Update to match Linux 3.8.13 >=20 > This update brings initial support for Haswell GPUs. >=20 > Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD > Relnotes: yes > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D5554 I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). I got some warnings like info: [drm] MTRR allocation failed. Graphics performance may suffer. and in the end it just stops with these last 3 messages: info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. And never pass this point. By default I=E2=80=99m using GENERIC-NODEBUG, I=E2=80=99ll boot with old = kernel and rebuild it using GENERIC to make sure I can collect more = data. -- Renato Botelho From owner-svn-src-head@freebsd.org Wed Mar 9 11:07:42 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F674AC8B25; Wed, 9 Mar 2016 11:07:42 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C185C7C; Wed, 9 Mar 2016 11:07:42 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1adbxs-000Lot-AY; Wed, 09 Mar 2016 12:07:40 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 12:07:30 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:07:42 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 10:48, Renato Botelho wrote: >> Author: dumbbell >> Date: Tue Mar 8 20:33:02 2016 >> New Revision: 296548 >> URL: https://svnweb.freebsd.org/changeset/base/296548 >> >> Log: >> drm/i915: Update to match Linux 3.8.13 >=20 > I cannot boot anymore after moving to this revision. My laptop is a Thi= nkPad T430 (IvyBridge). Hi! Could you please test the following things? 1. Try to boot without loading i915kms from /boot/loader.conf, then kldload it manually and see what happens. 2. Try to boot a kernel built with the parent commit --=20 Jean-S=C3=A9bastien P=C3=A9dron --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4AP8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTM+vUQANM5szNMvM4w6Ym9YCeoO1g1 lecr9ZtHpqDjM1GP9TBnLEaMfCWwtf1YIQ7aK63iS38qdIMD28fhGoznYrYH0Lj2 QpIA5lRbuombeUQVdg5WwM2mz78BLG6IAKBkAdG2JFUCkpxSZZz0xcBr66zaG10K DEAjzaQUdFzsRKBt/Zleo/NsCsEqdaA0WFVcYshf6QsQOkS/n48v0J+ZF1yT8HNg HLNg7Bh4X70/aZBJbkfnwkcmBfU6Q/IOnURFY6pxxt77vfcZLQ+GxCKVfN14aLte ZsKnN7/au1c3DXPEio8YLyLXIuvB7O9qxx1IDpxlG12Pd4ImFB7KVsWHQ3k5T/29 UI1LhXIJhOQQVpTMjRQYzN2sZmA/zqXupfZWJ5F9mnk7GZBB4MrJGpyfJqFN+VN1 W0AvdKFZG9U1vB7+x1ZiCY5nVBvlufnq0giUapGqjgVdAH2YTXjBdevlHzQeTD3k xfgXZl73RthfTct9bNc24XJ/g5QsQiqHOdtDxhUgKYPMlxGPtKChH9BaoKcVgKhh i9nJJ3ZfOFTv3RgfEknzr5hOqJkZeFSc/pnoO64oRHw2yMYhmzX1Bnbdm70YrNxl BlQG8ftEp0ieB8wAkbeGanmSaQg8EnDkiVcM9JpUNILotYFCWhZuc1o8yZwti3kz 4ahuit0LVxPtcnol2B8D =ESMy -----END PGP SIGNATURE----- --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1-- From owner-svn-src-head@freebsd.org Wed Mar 9 11:16:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08F6BAC9145; Wed, 9 Mar 2016 11:16:17 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD8D7667; Wed, 9 Mar 2016 11:16:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29BGFeU082139; Wed, 9 Mar 2016 11:16:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29BGFJh082136; Wed, 9 Mar 2016 11:16:15 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603091116.u29BGFJh082136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 9 Mar 2016 11:16:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296563 - in head/sys/cddl/contrib/opensolaris: common/zfs uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:16:17 -0000 Author: mav Date: Wed Mar 9 11:16:15 2016 New Revision: 296563 URL: https://svnweb.freebsd.org/changeset/base/296563 Log: Add new IOCTL compat shims for ABI breakage caused by r296510: MFV r296505: 6531 Provide mechanism to artificially limit disk performance Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Wed Mar 9 11:16:15 2016 (r296563) @@ -54,8 +54,69 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zfs_cmd_deadman_t *zcdm_c; zfs_cmd_zcmd_t *zcmd_c; zfs_cmd_edbp_t *edbp_c; + zfs_cmd_resume_t *resume_c; switch (cflag) { + case ZFS_CMD_COMPAT_RESUME: + resume_c = (void *)addr; + /* zc */ + strlcpy(zc->zc_name, resume_c->zc_name, MAXPATHLEN); + strlcpy(zc->zc_value, resume_c->zc_value, MAXPATHLEN * 2); + strlcpy(zc->zc_string, resume_c->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zc->field = resume_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); + FIELD_COPY(zc_begin_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + resume_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_resumable); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY + break; + case ZFS_CMD_COMPAT_EDBP: edbp_c = (void *)addr; /* zc */ @@ -63,40 +124,57 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_value, edbp_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, edbp_c->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zc->field = edbp_c->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zc->field = edbp_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zc->zc_begin_record.drr_u.drr_begin = edbp_c->zc_begin_record; - ZCMD_COPY(zc_inject_record); - ZCMD_COPY(zc_defer_destroy); - ZCMD_COPY(zc_flags); - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + edbp_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); zc->zc_resumable = B_FALSE; - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_ZCMD: @@ -106,43 +184,60 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_value, zcmd_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, zcmd_c->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zc->field = zcmd_c->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zc->field = zcmd_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zc->zc_begin_record.drr_u.drr_begin = zcmd_c->zc_begin_record; - ZCMD_COPY(zc_inject_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + zcmd_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* boolean_t -> uint32_t */ zc->zc_defer_destroy = (uint32_t)(zcmd_c->zc_defer_destroy); zc->zc_flags = 0; - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); zc->zc_resumable = B_FALSE; - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; @@ -152,6 +247,8 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_name, zcdm_c->zc_name, MAXPATHLEN); strlcpy(zc->zc_value, zcdm_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, zcdm_c->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zc->field = zcdm_c->field zc->zc_guid = zcdm_c->zc_guid; zc->zc_nvlist_conf = zcdm_c->zc_nvlist_conf; zc->zc_nvlist_conf_size = zcdm_c->zc_nvlist_conf_size; @@ -181,12 +278,28 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zc->zc_fromobj = zcdm_c->zc_fromobj; zc->zc_createtxg = zcdm_c->zc_createtxg; zc->zc_stat = zcdm_c->zc_stat; - - /* zc_inject_record doesn't change in libzfs_core */ - zcdm_c->zc_inject_record = zc->zc_inject_record; + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + resume_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* we always assume zc_nvlist_dst_filled is true */ zc->zc_nvlist_dst_filled = B_TRUE; +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_V28: @@ -255,6 +368,7 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zc28_c->zc_inject_record.zi_duration; zc->zc_inject_record.zi_timer = zc28_c->zc_inject_record.zi_timer; + zc->zc_inject_record.zi_nlanes = 1; zc->zc_inject_record.zi_cmd = ZINJECT_UNINITIALIZED; zc->zc_inject_record.zi_pad = 0; break; @@ -319,47 +433,121 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ zfs_cmd_deadman_t *zcdm_c; zfs_cmd_zcmd_t *zcmd_c; zfs_cmd_edbp_t *edbp_c; + zfs_cmd_resume_t *resume_c; switch (cflag) { + case ZFS_CMD_COMPAT_RESUME: + resume_c = (void *)addr; + strlcpy(resume_c->zc_name, zc->zc_name, MAXPATHLEN); + strlcpy(resume_c->zc_value, zc->zc_value, MAXPATHLEN * 2); + strlcpy(resume_c->zc_string, zc->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) resume_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); + FIELD_COPY(zc_begin_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY + break; + case ZFS_CMD_COMPAT_EDBP: edbp_c = (void *)addr; strlcpy(edbp_c->zc_name, zc->zc_name, MAXPATHLEN); strlcpy(edbp_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(edbp_c->zc_string, zc->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) edbp_c->field = zc->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) edbp_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); edbp_c->zc_begin_record = zc->zc_begin_record.drr_u.drr_begin; - ZCMD_COPY(zc_inject_record); - ZCMD_COPY(zc_defer_destroy); - ZCMD_COPY(zc_flags); - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_ZCMD: @@ -369,42 +557,58 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ strlcpy(zcmd_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(zcmd_c->zc_string, zc->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zcmd_c->field = zc->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zcmd_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zcmd_c->zc_begin_record = zc->zc_begin_record.drr_u.drr_begin; - ZCMD_COPY(zc_inject_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* boolean_t -> uint32_t */ zcmd_c->zc_defer_destroy = (uint32_t)(zc->zc_defer_destroy); zcmd_c->zc_temphold = 0; - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; @@ -414,6 +618,8 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ strlcpy(zcdm_c->zc_name, zc->zc_name, MAXPATHLEN); strlcpy(zcdm_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(zcdm_c->zc_string, zc->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zcdm_c->field = zc->field zcdm_c->zc_guid = zc->zc_guid; zcdm_c->zc_nvlist_conf = zc->zc_nvlist_conf; zcdm_c->zc_nvlist_conf_size = zc->zc_nvlist_conf_size; @@ -442,9 +648,24 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ zcdm_c->zc_fromobj = zc->zc_fromobj; zcdm_c->zc_createtxg = zc->zc_createtxg; zcdm_c->zc_stat = zc->zc_stat; - - /* zc_inject_record doesn't change in libzfs_core */ - zc->zc_inject_record = zcdm_c->zc_inject_record; + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); +#undef FIELD_COPY #ifndef _KERNEL if (request == ZFS_IOC_RECV) strlcpy(zcdm_c->zc_top_ds, @@ -766,6 +987,12 @@ zcmd_ioctl_compat(int fd, int request, z zp.zfs_cmd_size = sizeof(zfs_cmd_t); zp.zfs_ioctl_version = ZFS_IOCVER_CURRENT; return (ioctl(fd, ncmd, &zp)); + case ZFS_CMD_COMPAT_RESUME: + ncmd = _IOWR('Z', request, struct zfs_iocparm); + zp.zfs_cmd = (uint64_t)zc; + zp.zfs_cmd_size = sizeof(zfs_cmd_resume_t); + zp.zfs_ioctl_version = ZFS_IOCVER_RESUME; + return (ioctl(fd, ncmd, &zp)); case ZFS_CMD_COMPAT_EDBP: ncmd = _IOWR('Z', request, struct zfs_iocparm); zp.zfs_cmd = (uint64_t)zc; @@ -876,7 +1103,8 @@ zfs_ioctl_compat_innvl(zfs_cmd_t *zc, nv int err; if (cflag == ZFS_CMD_COMPAT_NONE || cflag == ZFS_CMD_COMPAT_LZC || - cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP) + cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP || + cflag == ZFS_CMD_COMPAT_RESUME) goto out; switch (vec) { @@ -1028,7 +1256,8 @@ zfs_ioctl_compat_outnvl(zfs_cmd_t *zc, n nvlist_t *tmpnvl; if (cflag == ZFS_CMD_COMPAT_NONE || cflag == ZFS_CMD_COMPAT_LZC || - cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP) + cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP || + cflag == ZFS_CMD_COMPAT_RESUME) return (outnvl); switch (vec) { Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Wed Mar 9 11:16:15 2016 (r296563) @@ -53,7 +53,8 @@ extern "C" { #define ZFS_IOCVER_ZCMD 3 #define ZFS_IOCVER_EDBP 4 #define ZFS_IOCVER_RESUME 5 -#define ZFS_IOCVER_CURRENT ZFS_IOCVER_RESUME +#define ZFS_IOCVER_INLANES 6 +#define ZFS_IOCVER_CURRENT ZFS_IOCVER_INLANES /* compatibility conversion flag */ #define ZFS_CMD_COMPAT_NONE 0 @@ -63,6 +64,7 @@ extern "C" { #define ZFS_CMD_COMPAT_LZC 4 #define ZFS_CMD_COMPAT_ZCMD 5 #define ZFS_CMD_COMPAT_EDBP 6 +#define ZFS_CMD_COMPAT_RESUME 7 #define ZFS_IOC_COMPAT_PASS 254 #define ZFS_IOC_COMPAT_FAIL 255 @@ -167,6 +169,25 @@ typedef struct zfs_cmd_v28 { zfs_stat_t zc_stat; } zfs_cmd_v28_t; +typedef struct zinject_record_deadman { + uint64_t zi_objset; + uint64_t zi_object; + uint64_t zi_start; + uint64_t zi_end; + uint64_t zi_guid; + uint32_t zi_level; + uint32_t zi_error; + uint64_t zi_type; + uint32_t zi_freq; + uint32_t zi_failfast; + char zi_func[MAXNAMELEN]; + uint32_t zi_iotype; + int32_t zi_duration; + uint64_t zi_timer; + uint32_t zi_cmd; + uint32_t zi_pad; +} zinject_record_deadman_t; + typedef struct zfs_cmd_deadman { char zc_name[MAXPATHLEN]; char zc_value[MAXPATHLEN * 2]; @@ -192,7 +213,7 @@ typedef struct zfs_cmd_deadman { dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; /* zc_inject_record doesn't change in libzfs_core */ - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; boolean_t zc_defer_destroy; boolean_t zc_temphold; uint64_t zc_action_handle; @@ -235,7 +256,7 @@ typedef struct zfs_cmd_zcmd { uint64_t zc_jailid; dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; boolean_t zc_defer_destroy; boolean_t zc_temphold; uint64_t zc_action_handle; @@ -278,7 +299,7 @@ typedef struct zfs_cmd_edbp { uint64_t zc_jailid; dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; uint32_t zc_defer_destroy; uint32_t zc_flags; uint64_t zc_action_handle; @@ -291,6 +312,49 @@ typedef struct zfs_cmd_edbp { zfs_stat_t zc_stat; } zfs_cmd_edbp_t; +typedef struct zfs_cmd_resume { + char zc_name[MAXPATHLEN]; /* name of pool or dataset */ + uint64_t zc_nvlist_src; /* really (char *) */ + uint64_t zc_nvlist_src_size; + uint64_t zc_nvlist_dst; /* really (char *) */ + uint64_t zc_nvlist_dst_size; + boolean_t zc_nvlist_dst_filled; /* put an nvlist in dst? */ + int zc_pad2; + + /* + * The following members are for legacy ioctls which haven't been + * converted to the new method. + */ + uint64_t zc_history; /* really (char *) */ + char zc_value[MAXPATHLEN * 2]; + char zc_string[MAXNAMELEN]; + uint64_t zc_guid; + uint64_t zc_nvlist_conf; /* really (char *) */ + uint64_t zc_nvlist_conf_size; + uint64_t zc_cookie; + uint64_t zc_objset_type; + uint64_t zc_perm_action; + uint64_t zc_history_len; + uint64_t zc_history_offset; + uint64_t zc_obj; + uint64_t zc_iflags; /* internal to zfs(7fs) */ + zfs_share_t zc_share; + uint64_t zc_jailid; + dmu_objset_stats_t zc_objset_stats; + dmu_replay_record_t zc_begin_record; + zinject_record_deadman_t zc_inject_record; + uint32_t zc_defer_destroy; + uint32_t zc_flags; + uint64_t zc_action_handle; + int zc_cleanup_fd; + uint8_t zc_simple; + boolean_t zc_resumable; + uint64_t zc_sendobj; + uint64_t zc_fromobj; + uint64_t zc_createtxg; + zfs_stat_t zc_stat; +} zfs_cmd_resume_t; + #ifdef _KERNEL unsigned static long zfs_ioctl_v15_to_v28[] = { 0, /* 0 ZFS_IOC_POOL_CREATE */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 9 11:16:15 2016 (r296563) @@ -6221,6 +6221,14 @@ zfsdev_ioctl(struct cdev *dev, u_long zc goto out; } break; + case ZFS_IOCVER_RESUME: + if (zc_iocparm->zfs_cmd_size != sizeof(zfs_cmd_resume_t)) { + error = SET_ERROR(EFAULT); + goto out; + } + compat = B_TRUE; + cflag = ZFS_CMD_COMPAT_RESUME; + break; case ZFS_IOCVER_EDBP: if (zc_iocparm->zfs_cmd_size != sizeof(zfs_cmd_edbp_t)) { error = SET_ERROR(EFAULT); From owner-svn-src-head@freebsd.org Wed Mar 9 11:29:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C3F81AC9695; Wed, 9 Mar 2016 11:29:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22b.google.com (mail-qg0-x22b.google.com [IPv6:2607:f8b0:400d:c04::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7B8E8DB5; Wed, 9 Mar 2016 11:29:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22b.google.com with SMTP id u110so38138845qge.3; Wed, 09 Mar 2016 03:29:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=5+cw3UEkKkU/0fNHB0oyXp2l+oz/Pv8aWe8tk5gjfg8=; b=BwNhxWSuGT+m66QCFTyUYjKNwDCoSCV/lAgH7oUdRtu3nslfAjawtZUaCjUTBmxGlJ C7nhQrejvrdGQF1HgtmH6yjgOZ9KOBm4LFjnEIXAC+V5/uSLMUVxpFYAHI9Lyjc72hI+ ebUU1BCjWlr5c3hb4UXhUGhyry3/jxxwrOiNXI6BHcegmPHYOLl+ncOizvD+mDO1kboa jk9bYkg0b1uHAZ+HDDH1KvaK8H8goB0BMQPSzzMlBISkukCrbaX2BM+pHmO8cN/83Hlw JVvIfktTPdRQzaeXS8KKhuFL2wgByW2Y2R4h3kak4xexdXEAoSQosNx6dqKu8nHbodPf I71A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=5+cw3UEkKkU/0fNHB0oyXp2l+oz/Pv8aWe8tk5gjfg8=; b=VwtAzYB026JxwNueFajSxMMjE1kFbbQRJphYHQO6xmAemhwlXu4gQgwRkCt0uQKMUE q4u+lp7OrRf2lsl2bkBvfdapuYWuEnP3krKaWUEGWKbxmkltQ8vyCXK40FrqS11XHXIK 6NPxBc+8aD4jQ9t/Bbo5pHiI8JMnkfzoXHP0Rf6TgxIiTZJkofTEjNZJMEesPxbsjAsF w1vLsUVNFZVKxvVkakr0hy9whWgC7uPZX1i8J285L2uDFrQfYoZaFfmEAdPMUky3b3RV Hg4ojBdtwXMQv90WNL6O4Gfl7L0gLsILBTHOqyRIyv+59lP5tIpALyet7aogV/c8smqm RsQA== X-Gm-Message-State: AD7BkJJWbKLts0cx6PpqwT64xQ28s71X7URC4heHdGOYww8gUbMwoE8Cnz2mzSyi592lEQ== X-Received: by 10.140.42.106 with SMTP id b97mr42668092qga.6.1457522944585; Wed, 09 Mar 2016 03:29:04 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id p104sm3417694qgp.20.2016.03.09.03.29.02 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 03:29:03 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 08:29:01 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:29:05 -0000 --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 10:48, Renato Botelho wrote: >>> Author: dumbbell >>> Date: Tue Mar 8 20:33:02 2016 >>> New Revision: 296548 >>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>=20 >>> Log: >>> drm/i915: Update to match Linux 3.8.13 >>=20 >> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >=20 > Hi! >=20 > Could you please test the following things? >=20 > 1. Try to boot without loading i915kms from /boot/loader.conf, then > kldload it manually and see what happens. > 2. Try to boot a kernel built with the parent commit Looks like something broke the system completely, I=E2=80=99m getting = core dumps on ZFS and cannot mount all my partitions. Maybe this could = be the cause of the problems with i915 too. I=E2=80=99ll work on recovering my system to a good state and then I = will do a bisect to detect if this particular revision really broke it = and will let you know. Thanks -- Renato Botelho --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4Aj+AAoJEPHw56GfYleQlYMP/1nMz5+Xr8obKuccf9C6M5FO j+x0kXeQS9D4Mj/iNl7t7GnnBsgRJZxyKeNM14m6pxBLbYFGwt/aiZit5TL4gqxx SBLCxMXKC5UQ+7e+4ChWtFYHESia0oOn4Tej211W+Z5pS0uCEyE5Z3crNqXyLYbj sNLcAaqQyDHrzjsM2sXkvXIxpVLjR9gnNGXTjeUqj2Jt/8Gcyfe7Z0fkSJ2gmbyp NixUFCSZngGP3Nah1luqELSfWL1TVqmuo/9rGmAvyuZtTc2FKPyxjBjTT8xifmkw m7YGjWe/dvqH/I6ddZyUt4GlGqV0mn7FflsFm7djxnSh4jxgsgvHkl6UY/6OwjEJ VhCx3/v/IoalF44HpAc3qLNBpmDYyB9iG7SlfIKVwrvqiKncDlRm2/PSL2xsr9HR NIHCyNIiuJ4MnQvLT+cboBTpdX/YEaTpTkf/7liKvdImc5lZJDjAA0IeQKPUCqf2 ZeFyG2de8RSoQ+ps7n02VDatP6UOSL7xyk8H/p/JlWEr4HMhL33q75esel7rHSt1 OHCnT8l4aOGk+lefnP/iL3Pyz/psp6vZ6S7dxXPyB9QunvV2eQyJjZkt0FIeskrw kZZnsjPICFN2zcSKanKMOvvDo2x5slwkiGSgPje/vZLEnzkftD6Pl/Gf8nFr2tT/ Tbrke1KTc6hKiMdD+qFu =Hvo/ -----END PGP SIGNATURE----- --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7-- From owner-svn-src-head@freebsd.org Wed Mar 9 11:35:23 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2611AC9A6D; Wed, 9 Mar 2016 11:35:23 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD0F07EC; Wed, 9 Mar 2016 11:35:23 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1adcOf-000MHm-Vf; Wed, 09 Mar 2016 12:35:22 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E00A79.3040006@FreeBSD.org> Date: Wed, 9 Mar 2016 12:35:21 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:35:24 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 12:29, Renato Botelho wrote: > Looks like something broke the system completely, I=E2=80=99m getting c= ore=20 > dumps on ZFS and cannot mount all my partitions. Maybe this could be > > the cause of the problems with i915 too. The ZFS issue is fixed in r296563. See: https://lists.freebsd.org/pipermail/freebsd-current/2016-March/060037.htm= l --=20 Jean-S=C3=A9bastien P=C3=A9dron --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4Ap5XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMZF4QAJfByoVUloGizFYHGinLF6VS 5JRvAnongD28tLp8aKqhY9liJ+4bjrmrm7xApVzjpowsfI7dMUzP4kPdSo4+KT7C cyHJZ8ElzZHH3fuMTfrj8WegF7FVghyNN8hSwG9y5YbrFu5bl39tTNHAmK0MJB/M vSxABExoV1OP0me1s0ArvMFjlV9dXmaaTyoWUoN0gWlD1uRHk0k5SSQcPQNdC6xq BdWae8rT6n6aXv9RInk8OL1hESX0O3YoAjbNBxX2Tk3phI1hWTG/KxP5OA016fuh ToVHc/ovs3w3ZKwvRxvydpvTupOquw8SZZ4BWPNLegMD1fIjAZeYDoZKvg9o8t7l HhwafH9PINlUouJVd68rokbC/IKS8gmg5xlUaEshqsnOKI4/gztei91YnCAAS13G f6KpBfwJtBPJS1jlQaIiTDk5nOH5Q4K5GMwS+jZfgnqfdok81U16ap1fbHGyGCnG 0zlJh3OMRE2Vk+fo8IdtUQioXRNLtb6LifN938D4DOhsuVWGxmZX/4fa6J6eBtny OYtuaMPL4weVS+YEgbtVgHtAklEU+TNQSDMhrQBuz5qNIXaArzqXUqqp3X8C2Fh/ RNkpn82dNo8sBbUowVzhVNfeOMlB01PPlVW+g9FIPrtPDhVl6h/b03nw1VTVVrx8 G3cwxOyIjDrZafqq/UZk =gK6h -----END PGP SIGNATURE----- --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP-- From owner-svn-src-head@freebsd.org Wed Mar 9 11:45:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A59CAC9E11; Wed, 9 Mar 2016 11:45:50 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 36A75D8B; Wed, 9 Mar 2016 11:45:50 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29BjnVX091222; Wed, 9 Mar 2016 11:45:49 GMT (envelope-from sgalabov@FreeBSD.org) Received: (from sgalabov@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29BjnYE091219; Wed, 9 Mar 2016 11:45:49 GMT (envelope-from sgalabov@FreeBSD.org) Message-Id: <201603091145.u29BjnYE091219@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sgalabov set sender to sgalabov@FreeBSD.org using -f From: Stanislav Galabov Date: Wed, 9 Mar 2016 11:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296564 - in head/sys/boot/uboot: common lib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:45:50 -0000 Author: sgalabov Date: Wed Mar 9 11:45:48 2016 New Revision: 296564 URL: https://svnweb.freebsd.org/changeset/base/296564 Log: Improve U-Boot API detection Until now, ubldr has been trying to locate the U-Boot API using a hint address (U-Boot's current stack pointer), aligning it to 1MiB and going over a 3MiB (or 1MiB in case of MIPS) memory region searching for a valid API signature. This change introduces an alternative way of doing this, namely the following: - both U-Boot's bootelf and go commands actually pass argc and argv to the entry point (e.g., ubldr's start function, but they should also be passed over to main() transparently) - so, instead of trying to go and look for a valid API signature, we look at the parameters passed to main() - if there's an option '-a' with argument, which is a valid hexadecimal unsigned long number (x), we try to verify whether we have a valid API signature at address x. If so - we use it. If not - we fallback to the original way of locating the API signature. The U-Boot change, which causes the API structure address to be exported as an environment variable, was committed to mainline U-Boot as commit 22aa61f707574dd569296f521fcfc46a05f51c48 Reviewed by: andrew, adrian Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5492 Modified: head/sys/boot/uboot/common/main.c head/sys/boot/uboot/lib/glue.c head/sys/boot/uboot/lib/glue.h Modified: head/sys/boot/uboot/common/main.c ============================================================================== --- head/sys/boot/uboot/common/main.c Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/common/main.c Wed Mar 9 11:45:48 2016 (r296564) @@ -387,7 +387,7 @@ probe_disks(int devidx, int load_type, i } int -main(void) +main(int argc, char **argv) { struct api_signature *sig = NULL; int load_type, load_unit, load_slice, load_partition; @@ -395,12 +395,15 @@ main(void) const char *ldev; /* + * We first check if a command line argument was passed to us containing + * API's signature address. If it wasn't then we try to search for the + * API signature via the usual hinted address. * If we can't find the magic signature and related info, exit with a * unique error code that U-Boot reports as "## Application terminated, * rc = 0xnnbadab1". Hopefully 'badab1' looks enough like "bad api" to * provide a clue. It's better than 0xffffffff anyway. */ - if (!api_search_sig(&sig)) + if (!api_parse_cmdline_sig(argc, argv, &sig) && !api_search_sig(&sig)) return (0x01badab1); syscall_ptr = sig->syscall; Modified: head/sys/boot/uboot/lib/glue.c ============================================================================== --- head/sys/boot/uboot/lib/glue.c Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/lib/glue.c Wed Mar 9 11:45:48 2016 (r296564) @@ -68,6 +68,41 @@ valid_sig(struct api_signature *sig) } /* + * Checks to see if API signature's address was given to us as a command line + * argument by U-Boot. + * + * returns 1/0 depending on found/not found result + */ +int +api_parse_cmdline_sig(int argc, char **argv, struct api_signature **sig) +{ + unsigned long api_address; + int c; + + api_address = 0; + opterr = 0; + optreset = 1; + optind = 1; + + while ((c = getopt (argc, argv, "a:")) != -1) + switch (c) { + case 'a': + api_address = strtoul(optarg, NULL, 16); + break; + default: + break; + } + + if (api_address != 0) { + *sig = (struct api_signature *)api_address; + if (valid_sig(*sig)) + return (1); + } + + return (0); +} + +/* * Searches for the U-Boot API signature * * returns 1/0 depending on found/not found result Modified: head/sys/boot/uboot/lib/glue.h ============================================================================== --- head/sys/boot/uboot/lib/glue.h Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/lib/glue.h Wed Mar 9 11:45:48 2016 (r296564) @@ -58,6 +58,7 @@ int syscall(int, int *, ...); void *syscall_ptr; +int api_parse_cmdline_sig(int argc, char **argv, struct api_signature **sig); int api_search_sig(struct api_signature **sig); #define UB_MAX_MR 16 /* max mem regions number */ From owner-svn-src-head@freebsd.org Wed Mar 9 13:45:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9ED0AC9263; Wed, 9 Mar 2016 13:45:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A851BF1C; Wed, 9 Mar 2016 13:45:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Dj3sE027066; Wed, 9 Mar 2016 13:45:03 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Dj31g027065; Wed, 9 Mar 2016 13:45:03 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603091345.u29Dj31g027065@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Wed, 9 Mar 2016 13:45:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296565 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 13:45:05 -0000 Author: trasz Date: Wed Mar 9 13:45:03 2016 New Revision: 296565 URL: https://svnweb.freebsd.org/changeset/base/296565 Log: Fix spelling of MAXNAMLEN. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/lib/libc/sys/getdirentries.2 Modified: head/lib/libc/sys/getdirentries.2 ============================================================================== --- head/lib/libc/sys/getdirentries.2 Wed Mar 9 11:45:48 2016 (r296564) +++ head/lib/libc/sys/getdirentries.2 Wed Mar 9 13:45:03 2016 (r296565) @@ -75,7 +75,7 @@ uint32_t d_fileno; uint16_t d_reclen; uint8_t d_type; uint8_t d_namlen; -char d_name[MAXNAMELEN + 1]; /* see below */ +char d_name[MAXNAMLEN + 1]; /* see below */ .Ed .Pp The @@ -103,7 +103,7 @@ entry specifies the length of the file n Thus the actual size of .Fa d_name may vary from 1 to -.Dv MAXNAMELEN +.Dv MAXNAMLEN \&+ 1. .Pp Entries may be separated by extra space. From owner-svn-src-head@freebsd.org Wed Mar 9 14:47:06 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1566AC9DDF; Wed, 9 Mar 2016 14:47:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C13587D1; Wed, 9 Mar 2016 14:47:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29El5t0045115; Wed, 9 Mar 2016 14:47:05 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29El58h045114; Wed, 9 Mar 2016 14:47:05 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603091447.u29El58h045114@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 14:47:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296566 - head/sbin/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 14:47:07 -0000 Author: ae Date: Wed Mar 9 14:47:05 2016 New Revision: 296566 URL: https://svnweb.freebsd.org/changeset/base/296566 Log: Set buffer to empty string to prevent duplicated output in some cases. PR: 193888 Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Wed Mar 9 13:45:03 2016 (r296565) +++ head/sbin/ipfw/ipfw2.c Wed Mar 9 14:47:05 2016 (r296566) @@ -424,6 +424,7 @@ bp_flush(struct buf_pr *b) b->ptr = b->buf; b->avail = b->size; + b->buf[0] = '\0'; } /* From owner-svn-src-head@freebsd.org Wed Mar 9 15:34:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6D67AC92CB; Wed, 9 Mar 2016 15:34:04 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x235.google.com (mail-qg0-x235.google.com [IPv6:2607:f8b0:400d:c04::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6DF4F687; Wed, 9 Mar 2016 15:34:04 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x235.google.com with SMTP id u110so44350048qge.3; Wed, 09 Mar 2016 07:34:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=5kR6A08nL58vsg8k5w6Mnlr9XWNRtcjubesS1UljfJ8=; b=DgBUJRp56Q6ix7BGMdGtXwV3A05L8s3fuOEFogy+malRKeGZGjfcS8NJ3D2R+84Qoq TYu4327ZUbMwPcrzTMysblNGFFFu+mLXHZpdCT+aevn8rjysQwDpbmTN3phscysic0vl yzwmaJ8Jg2h+loVgHlSHpLVpDXNSloQBmiTX8gEtLJ16OY7NBnVT5i/XIqJW3rnyEZna CZmAkFm0K8GJ072IbGtKwP3FbCe9RFfRJRsFjsi6YkFb5RtP5hNbtdsK5sP4egxfl1r9 IQUNCEdO1z0uznAYKXpR4B82yLllXJBPfAJejtu1euQbH3Z5oRlNvl/efSGq3YrDCcVb Z0uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=5kR6A08nL58vsg8k5w6Mnlr9XWNRtcjubesS1UljfJ8=; b=IcABfFLTwpWtx8D6U00EBk1GnmbTfGUzzYZcyuRlJBB6YMKQEP+XX08nHK1rgjwaBf fzJ8qQbA1Hq71zVLlucF0JOoOpCLF16JkuqebjHTN4ngy/rBEcaM+TbOs4/PoGzLaf5j iexFiFFPnvkzdLuC4woq51P3k2b4XqBRjPn6byBX5/4lS80F12ZBr9CpDbOjMw7V5jXi rFzwVwIWspeIGvFB9m++Mb1qS2f+ow7AW3vXPabVPPNB1k+tfmKYky6JmPU7bZqh6ySv 0DVrjfrIClGdgUA1OQ/dm0ApuQPS9g+hRpHpmvNKdMKVh7HHpzcAmXyLGoX4u5h1moxN jEww== X-Gm-Message-State: AD7BkJL31hnXhf8yC5E7TrBL3NgFL7SBneHiWcn5n6gSeWC3kfaEyouKqBHH+jYXOVk+RQ== X-Received: by 10.140.99.69 with SMTP id p63mr43295607qge.97.1457537643609; Wed, 09 Mar 2016 07:34:03 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id d6sm3878882qkb.13.2016.03.09.07.34.01 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 07:34:02 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 12:33:58 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:34:04 -0000 --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 10:48, Renato Botelho wrote: >>> Author: dumbbell >>> Date: Tue Mar 8 20:33:02 2016 >>> New Revision: 296548 >>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>=20 >>> Log: >>> drm/i915: Update to match Linux 3.8.13 >>=20 >> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >=20 > Hi! >=20 > Could you please test the following things? >=20 > 1. Try to boot without loading i915kms from /boot/loader.conf, then > kldload it manually and see what happens. It works fine if I load it after boot. > 2. Try to boot a kernel built with the parent commit I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know -- Renato Botelho --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4EJmAAoJEPHw56GfYleQCSoP/1PAzW/ngVFiIUnU8DR4PNhq UJdpckOsPEGnuogytDQV3u4OP0AjsaAUJ/mdp+J1Fgd8FxBAT+xlpFOcrKRdmlYd ISgy5AEWpbAS+osNO4sS3/icRD5jLj4pF3/GBdM7Nmt9K/g64HuuFDSckkEIJr7x ODkHIfXcRtEaWQNRZHfDsTUYvsV3xCr459BpeA9aqalK7Aci3+muSj7IFYIB5vHF IeVF6/LZ4YmiYZINVJ3scHLPT1gqtqYDn3w3GGqpJtjqmadrRGcM7QfFym4qvlX/ KuK3X0y39/TQWUexrNn1NaceRZIYrNVK0c31SKxvgMe1GHxdr7zVC4sq1tJwHO0V jUSak6P2YHldYc8Ko/ixfUgKuGvjiKdGmPvWEO4l5utAvF56pAqnZpyA7VWgoSgy 5OXaxL02zk/Jhf06EuHe7bpVD8tl7QJYz1kueJbkImo2zx173H2Naa19eG6Lyf+3 +TG2jqgG58xxXhkNN/0YX/eNEvM6GZaESWVvfm2xt8oPqHRNa5Sh9PUcPy0wamxq EkRnVt1AoUrXPZQRR66JG/4QHBj4ip5Ya2ub6g8fK5lVUQdwHbzhz4r2RgL6TxM8 Gjjz7kRRJ4Ie9cYFl1McxGm2UqS6Y/qKnB4RRdLH35VekoyynnE/ylZrUZl67gMZ 8RpoFKTNAzUGAUFDwazK =rn0R -----END PGP SIGNATURE----- --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802-- From owner-svn-src-head@freebsd.org Wed Mar 9 15:55:06 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 02C66AC9C97; Wed, 9 Mar 2016 15:55:06 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mail.blih.net (mail.blih.net [212.83.177.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.blih.net", Issuer "mail.blih.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BCE919D4; Wed, 9 Mar 2016 15:55:04 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mail.blih.net (mail.blih.net [212.83.177.182]) by mail.blih.net (OpenSMTPD) with ESMTP id 05b464ee; Wed, 9 Mar 2016 16:48:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=bidouilliste.com; h=date :from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=mail; bh=mOvrKd3KnB7+HVsDeCO7exMG2HQ=; b=hmxAgjw4tJnc9oEpb35i6360UdgF iP7AOkCrGZq6GuZdMQetkUZ/UzSyJwAazEYDhn5CQpayj9LSmmxElbFjld2cBHEf T0vAJmklUd2FAHpOcODPxUtTXUIZshXjK2kAwXwlNKpoziGKsYre8yvhZyHjTjvM fWxAO418VvwICxE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=bidouilliste.com; h=date :from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; q=dns; s= mail; b=aQX8jNUBo9ZW9ECktzhg6ZLT91Hw++CuD6ExoJKPGfy5mIG1cv5m5VPr fnpxTEenl8JFmu+kbChI0xMF98Ff24/03mFjGLXczoq4cjl+LGcSeUBUWlsQikNS jjqpUdwZDnW+vweEYN1ovPRGqe6d1pAJ8O+c0xsJwG4mMJ2PB+I= Received: from atlantis.staff.bocal.org (163.5.250.242 [163.5.250.242]) by mail.blih.net (OpenSMTPD) with ESMTPSA id b9f711cc TLS version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO; Wed, 9 Mar 2016 16:48:21 +0100 (CET) Date: Wed, 9 Mar 2016 16:48:21 +0100 From: Emmanuel Vadot To: Renato Botelho Cc: =?ISO-8859-1?Q?Jean-S=E9bastien_P=E9dron?= , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Message-Id: <20160309164821.70d6ba0f5cb76fd243ecfcc8@bidouilliste.com> In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> X-Mailer: Sylpheed 3.5.0 (GTK+ 2.24.29; amd64-portbld-freebsd10.1) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:55:06 -0000 On Wed, 9 Mar 2016 06:48:31 -0300 Renato Botelho wrote: > > On Mar 8, 2016, at 17:33, Jean-S=E9bastien P=E9dron wrote: > >=20 > > Author: dumbbell > > Date: Tue Mar 8 20:33:02 2016 > > New Revision: 296548 > > URL: https://svnweb.freebsd.org/changeset/base/296548 > >=20 > > Log: > > drm/i915: Update to match Linux 3.8.13 > >=20 > > This update brings initial support for Haswell GPUs. > >=20 > > Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD > > Relnotes: yes > > Sponsored by: The FreeBSD Foundation > > Differential Revision: https://reviews.freebsd.org/D5554 >=20 > I cannot boot anymore after moving to this revision. My laptop is a Think= Pad T430 (IvyBridge). >=20 > I got some warnings like >=20 > info: [drm] MTRR allocation failed. Graphics performance may suffer. >=20 > and in the end it just stops with these last 3 messages: >=20 > info: [drm] MSI enabled 1 message(s) > info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). > info: [drm] Driver supports precise vblank timestamp query. >=20 > And never pass this point. >=20 > By default I?m using GENERIC-NODEBUG, I?ll boot with old kernel and rebui= ld it using GENERIC to make sure I can collect more data. > -- > Renato Botelho I think that I have the same problem (but with haswell) When I load manually i915kms I don't have any problem but there is still s= ome error message printed : info: [drm] Initialized drm 1.1.0 20060810 drmn0: on vgapci0 info: [drm] Memory usable by graphics device =3D 2048M info: [drm] MTRR allocation failed. Graphics performance may suffer. iicbus0: error: [drm:pid697:i915_write32] *ERROR* Unknown = unclaimed register before writing to c5100 on iicbb0 addr 0xff iic0: on iicbus0 iic1: on iicbus1 iicbus2: on iicbb1 addr 0x0 iic2: on iicbus2 iic3: on iicbus3 iicbus4: on iicbb2 addr 0x0 iic4: on iicbus4 iic5: on iicbus5 iicbus6: on iicbb3 addr 0x0 iic6: on iicbus6 iic7: on iicbus7 iicbus8: on iicbb4 addr 0x0 iic8: on iicbus8 iic9: on iicbus9 iicbus10: on iicbb5 addr 0x0 iic10: on iicbus10 iic11: on iicbus11 info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. error: [drm:pid697:lpt_init_pch_refclk] *ERROR* FDI mPHY reset assert timeo= ut error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction drmn0: taking over the fictitious range 0xc0000000-0xd0000000 When loaded via loader the kernel hangs after this line : error: [drm:pid697:lpt_init_pch_refclk] *ERROR* FDI mPHY reset assert timeo= ut --=20 Emmanuel Vadot From owner-svn-src-head@freebsd.org Wed Mar 9 15:58:47 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E92F8AC9DAC; Wed, 9 Mar 2016 15:58:47 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qk0-x233.google.com (mail-qk0-x233.google.com [IPv6:2607:f8b0:400d:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9D4CEB90; Wed, 9 Mar 2016 15:58:47 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qk0-x233.google.com with SMTP id s5so21873687qkd.0; Wed, 09 Mar 2016 07:58:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=BWBH1gt6GapjZ3SwCA90C5p/h16b6RF4YpFq6J+T/cM=; b=dwz4nJStPCBYS+wE07bVA2q3xPdLCvpQxqCiLNtJjU6UndN5KAKOBsVp26fHT6TsmM ayoKRhI597GBYvmcGYycmqVlShVmjRFa6nzNl7zqTT9m+REzxhmwHSkOTg9BF6+9IjhL MaxxIUTVt02ncB5SeOzBFkG9EFg8fTZgBKfw2ZkCRXXfdPly8lewgzxz1EVTOkTwldLN lZ9Jl19PzZRyUyxRr6CzwpdEdOL7lDOtsqzgGdC0ST1G8lggYREdJ32cNIne/YBFFKBj vPlWSCp5VSjMsp6zA7JY56gGfLRIaIKtGfbyDZOpOfhBa+C7nX5b4PJ0HjHb0OR0kZ6k BY3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=BWBH1gt6GapjZ3SwCA90C5p/h16b6RF4YpFq6J+T/cM=; b=JWMNpNXDtvS/giVBFwJ5mrCt+seUZl5JrRGyONYME6MGzFBXAb2qI9/vyRyw+GcTiZ YQqyjg6rWCyX9ZdLSSrDvbqdKyrsVD5RDxfbdrSxjyvN9ze2+7CicLdYBgBphIO/Foq8 HwJFFz9md6TUXlnjc5VA4UIllw8ikDvVi1vZ2VnvDHPWwF8TXv7sEtcHfdOdifqBcDSz 6KhMk/ZtTFR5iMOprqQJDPJFp5GfDBc0UA4+BjAEBNx+eRAVFix8ehDKvv3EPqi6HqOw ZU06Vu89pTchrUcEu9K3oYgvMrUNYat/tVuja/OTMOHJEXbClGnA4R0HplPGiaxJTL3P 8mXA== X-Gm-Message-State: AD7BkJJG99ywQGpWKBQ2YJ0aycCQ11PIWFF9wUNV0GY0pI4Zo6vE4ah9l0b1hFQvw80Hxw== X-Received: by 10.55.217.151 with SMTP id q23mr43517190qkl.88.1457539126778; Wed, 09 Mar 2016 07:58:46 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id v65sm3900220qhc.6.2016.03.09.07.58.44 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 07:58:45 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Date: Wed, 9 Mar 2016 12:58:41 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:58:48 -0000 --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 12:33, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>=20 >> On 09/03/2016 10:48, Renato Botelho wrote: >>>> Author: dumbbell >>>> Date: Tue Mar 8 20:33:02 2016 >>>> New Revision: 296548 >>>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>>=20 >>>> Log: >>>> drm/i915: Update to match Linux 3.8.13 >>>=20 >>> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >>=20 >> Hi! >>=20 >> Could you please test the following things? >>=20 >> 1. Try to boot without loading i915kms from /boot/loader.conf, then >> kldload it manually and see what happens. >=20 > It works fine if I load it after boot. >=20 >> 2. Try to boot a kernel built with the parent commit >=20 > I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know After revert it to r296547 and manually apply ZFS fix I can successfully = load i915kms during boot. Just let me know what I can do to help from now to collect all the data = you need. I=E2=80=99ll move it to recent -current and load i915kms after = boot. -- Renato Botelho --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4EgxAAoJEPHw56GfYleQhi0P/0cn011Pr8M6L5/FX1/Y/64k yzzLOeU11e6v0wCkjgkY12E1jkqF9LfPu3Qp2KxSu0JVxDwm9nB5hq2dT/5d3Drh k20jE5VS/Yvp7OVKsvGbx9xcMXXAW9ASVGkMFerqy49h7a14qsiaB8L9n9W6fEPz SBDgRJ/Fl4rKPNQRaUgc5fNQmnkex7XXKVBdmCR4+Z6J8Y6gbilkQE8S9QIft4T7 z2BnS6MWjeCC/Wbf/nFvv/hjm+/o5dRmZgBnmqJ9CSrmjmsq24sadFDMAGxNnjiQ KJXoE3R2GRz7OLGJvrD81dYHoFnDrMejTVbbk3LwnQhxVkbiXn9KuBJjV5u68xdE LLTLEKB82Witk7ANM8ixcPEfd9ScGQ+qk9KVkyLE03H1Evc9UrikBL4q72R9nd5X OMQgUyLL3+ZMpeUa3/Bw2+GBsNlw5M3IQy2/QJI+g5a0Q8LJhodI6ek/aicaxFqp ONza2/2GUQOHSLY+Knhl+6a04ACPPuNRoQNTMnTXxeplO6lZjd+Rc2jw8+7DDdxi YoigP6MY5ljqjF5z+qWH+8WdfyBXBJCl9F2C7GPJk1ysriBdd0Qq9DgTSJvL2Jla +52Mgh8xew5nW17u4O1Du7+E1PByscGYyZxbGMoflkaeOGEEamQHZ5XUemf3DkWb JmqPA23HikbCFykKMtI8 =Vq4R -----END PGP SIGNATURE----- --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6-- From owner-svn-src-head@freebsd.org Wed Mar 9 16:05:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5CA52AC925C; Wed, 9 Mar 2016 16:05:14 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E4B763E; Wed, 9 Mar 2016 16:05:14 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29G5DiH069273; Wed, 9 Mar 2016 16:05:13 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29G5DW6069272; Wed, 9 Mar 2016 16:05:13 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603091605.u29G5DW6069272@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 9 Mar 2016 16:05:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296567 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 16:05:14 -0000 Author: mav Date: Wed Mar 9 16:05:13 2016 New Revision: 296567 URL: https://svnweb.freebsd.org/changeset/base/296567 Log: Missed addition to r296563 to fix newer tools to work with older kernel. Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Wed Mar 9 14:47:05 2016 (r296566) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Wed Mar 9 16:05:13 2016 (r296567) @@ -74,6 +74,9 @@ zcmd_ioctl(int fd, int request, zfs_cmd_ if (zfs_ioctl_version >= ZFS_IOCVER_DEADMAN) { switch (zfs_ioctl_version) { + case ZFS_IOCVER_RESUME: + cflag = ZFS_CMD_COMPAT_RESUME; + break; case ZFS_IOCVER_EDBP: cflag = ZFS_CMD_COMPAT_EDBP; break; From owner-svn-src-head@freebsd.org Wed Mar 9 16:28:49 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 27BF5AC9D6F; Wed, 9 Mar 2016 16:28:49 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x232.google.com (mail-ig0-x232.google.com [IPv6:2607:f8b0:4001:c05::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E5FB5759; Wed, 9 Mar 2016 16:28:48 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-ig0-x232.google.com with SMTP id z8so48495714ige.0; Wed, 09 Mar 2016 08:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=k9sgUJlqRXalXMsyMf20w3ZHf1jSPxW4iZihrnpfMvk=; b=q4vhpZaW0/V7X+oUz1gtgB7McX5/JBzEprH9nZ9dUAHKnAR3mlL1VQkCG148rWcFc+ grbCvHRnHFClonU6DlBwNlCZtMLJG/1DzaM+t6RpeQDNQW4AgjAElfjA5SxD76wkoca7 kBa5Guyrzyd+s/gV2mjRMqPEktyRWWOpcYIwoG0puAniKAOq6o8szzc5FoKEo4F5OSi6 +ztyJZjHsVK40+OUVq7tK1iU3cnH/Wd9a7gePzChP+ROdaAbKBU/JKMVyUcbtGVlPeXw fB2ljfw65xhjNlZST8QqMryIAyJBWg15TW1JichZFFLwvycEPe8AmsRzRFn2ZVqdnuya sDYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=k9sgUJlqRXalXMsyMf20w3ZHf1jSPxW4iZihrnpfMvk=; b=FqnvUGK7xK28m1xTtRx1CVG01+m/iNP2pCRcJhmUxj9jLQOBei+kyunD97tw9tU1nt ddhX00ngZxXV7iOJs7YpZF9AZNGF7h/E7fqUyA+rOSEhbO0euEdDOHBoF0Gnrp/f9NNv pIBPei9tVuxIQHO2fi7kL1rFzdIz+HuxA16E/n82aiW6zQUlavKEcsWfPJEfaVsht1HC JvOhMvwb8TUfVy8NSw6Im4+oJ+/qJInPwLGb7JPzPDCRq1oiyhzxYOfVW775srNgIFEe q5qQNZOuDW1pUg50pRvGDHabOuCDOuzQJogDV8R9kSj37mw2i/nUyumeRaOgJKziDUlF yUxg== X-Gm-Message-State: AD7BkJKG+h4pZp6wU/FwUS643EkBD6ddNv551QGCWlRMnWtZphTujuM8hIIxXonyZ3vidL84/HIa/dbDATg6Ew== MIME-Version: 1.0 X-Received: by 10.50.43.134 with SMTP id w6mr24207945igl.22.1457540928267; Wed, 09 Mar 2016 08:28:48 -0800 (PST) Received: by 10.36.14.19 with HTTP; Wed, 9 Mar 2016 08:28:48 -0800 (PST) In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Date: Wed, 9 Mar 2016 08:28:48 -0800 Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Adrian Chadd To: Renato Botelho Cc: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 16:28:49 -0000 Hm, I thought some of the drm code required interrupts to be up for i2c transactions to complete? Maybe it's gotten worse in the later linux kernel versions? -adrian From owner-svn-src-head@freebsd.org Wed Mar 9 17:36:45 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DAA8AC9CA2; Wed, 9 Mar 2016 17:36:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2A122A26; Wed, 9 Mar 2016 17:36:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-ig0-x231.google.com with SMTP id vs8so78154037igb.1; Wed, 09 Mar 2016 09:36:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=9IVhy81Ti2XldvBDyoj97BW37dkiJQQx4iAkQvLRCa8=; b=sYQqu2ptKw0Amm+QC6/fLgYx6uAlQ8CjdE7xDbzNv4ODrzeqor7b7UFk8BX783ZMOK X+bpMeeYQ++Lg//USr21lgHxj7UR+z59kea4hiQn3BAbb48Zx2EtU1sdXaWrnOzuBwsm qCnslZE9v7rKvBJsuuLmFHP2RKYQKFLW0hOdBHggflxwjrFXau/Xa9blakdBwKrTn2zr 0uRVUH7rDHCH3LtQZNgLiBuhHyhL/s0yDgQ65lARM7gGPux1yol1cPWsloG89tlCeQeL SvVvnfey0nfU9Ie1NCdChuthKfAcoK8jy0/mU8GZ6ctHAEOZOkuKWzCC79nfGRiAsaXV i9vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=9IVhy81Ti2XldvBDyoj97BW37dkiJQQx4iAkQvLRCa8=; b=c8V93RDsy+bEfSIXkdijFZ3oH64PakVAiw4JAX7YIJQS70wNcCJc0+5QbuxdxVKARZ lPRWCFT3TtmeyzlT+8Ui1nhFyFaoVcUQCGcD+6Smad9sGsW2tn2YNXNfFTV3MmGp4E/w rfDF4AITVq8L8/qiNWeSuwZd3tsSiiGcxnDN9+25VYZbcfG9rX0XFuFTi1+cdacjvXmT mPyfhZLAuxODj5HB1VSlY7wLBIc30IaaoPjF59oET1fHbVAXNq9SbHTkgyeukuSmM/mK qha8tm2NXIloaywC3nz9+VpRUmoi7xRfA5nRAM4WCnGlCNfJTnyouoLkZKYUR8oKH+Lv e/bg== X-Gm-Message-State: AD7BkJJDZ9dB9fwRFrNNoOzrb3hCqu1rMxkijW29eA0mm+9Ltcdy8H69r1R+9JeUrVuIr2VuI1TmTlMkhnx8Sg== X-Received: by 10.50.132.102 with SMTP id ot6mr23385502igb.97.1457545004530; Wed, 09 Mar 2016 09:36:44 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Wed, 9 Mar 2016 09:36:25 -0800 (PST) In-Reply-To: <201603091605.u29G5DW6069272@repo.freebsd.org> References: <201603091605.u29G5DW6069272@repo.freebsd.org> From: Ed Maste Date: Wed, 9 Mar 2016 12:36:25 -0500 X-Google-Sender-Auth: rNRHbsa3uIyuCctgGzS-sUyqBY0 Message-ID: Subject: Re: svn commit: r296567 - head/cddl/contrib/opensolaris/lib/libzfs/common To: Alexander Motin Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 17:36:45 -0000 On 9 March 2016 at 11:05, Alexander Motin wrote: > Author: mav > Date: Wed Mar 9 16:05:13 2016 > New Revision: 296567 > URL: https://svnweb.freebsd.org/changeset/base/296567 > > Log: > Missed addition to r296563 to fix newer tools to work with older kernel. Thanks! From owner-svn-src-head@freebsd.org Wed Mar 9 18:38:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51B05AC89CE; Wed, 9 Mar 2016 18:38:05 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22FE09D0; Wed, 9 Mar 2016 18:38:05 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Ic4mS016774; Wed, 9 Mar 2016 18:38:04 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Ic4VR016773; Wed, 9 Mar 2016 18:38:04 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603091838.u29Ic4VR016773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Wed, 9 Mar 2016 18:38:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296569 - head/sys/mips/rt305x X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:38:05 -0000 Author: sobomax Date: Wed Mar 9 18:38:03 2016 New Revision: 296569 URL: https://svnweb.freebsd.org/changeset/base/296569 Log: Second argument of the mips_timer_init_params() is boolean, so pass in "1" for true consistently. Modified: head/sys/mips/rt305x/rt305x_machdep.c Modified: head/sys/mips/rt305x/rt305x_machdep.c ============================================================================== --- head/sys/mips/rt305x/rt305x_machdep.c Wed Mar 9 17:40:33 2016 (r296568) +++ head/sys/mips/rt305x/rt305x_machdep.c Wed Mar 9 18:38:03 2016 (r296569) @@ -203,5 +203,5 @@ platform_start(__register_t a0 __unused, mips_init(); - mips_timer_init_params(platform_counter_freq, 2); + mips_timer_init_params(platform_counter_freq, 1); } From owner-svn-src-head@freebsd.org Wed Mar 9 18:38:32 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79BF2AC8A34; Wed, 9 Mar 2016 18:38:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3C553B3A; Wed, 9 Mar 2016 18:38:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29IcVE7016835; Wed, 9 Mar 2016 18:38:31 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29IcVeB016832; Wed, 9 Mar 2016 18:38:31 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091838.u29IcVeB016832@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 18:38:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296570 - in head: sys/amd64/cloudabi64 sys/arm64/cloudabi64 usr.bin/kdump X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:38:32 -0000 Author: jhb Date: Wed Mar 9 18:38:30 2016 New Revision: 296570 URL: https://svnweb.freebsd.org/changeset/base/296570 Log: Fix reporting of the CloudABI ABI in kdump. - Advertise the word size for CloudABI ABIs via the SV_LP64 flag. All of the other ABIs include either SV_ILP32 or SV_LP64. - Fix kdump to not assume a 32-bit ABI if the ABI flags field is non-zero but SV_LP64 isn't set. Instead, only assume a 32-bit ABI if SV_ILP32 is set and fallback to the unknown value of "00" if neither SV_LP64 nor SV_ILP32 is set. Reviewed by: kib, ed Differential Revision: https://reviews.freebsd.org/D5560 Modified: head/sys/amd64/cloudabi64/cloudabi64_sysvec.c head/sys/arm64/cloudabi64/cloudabi64_sysvec.c head/usr.bin/kdump/kdump.c Modified: head/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570) @@ -143,7 +143,7 @@ static struct sysentvec cloudabi64_elf_s .sv_usrstack = USRSTACK, .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_strings = cloudabi64_copyout_strings, - .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM, + .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64, .sv_set_syscall_retval = cloudabi64_set_syscall_retval, .sv_fetch_syscall_args = cloudabi64_fetch_syscall_args, .sv_syscallnames = cloudabi64_syscallnames, Modified: head/sys/arm64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570) @@ -144,7 +144,7 @@ static struct sysentvec cloudabi64_elf_s .sv_usrstack = USRSTACK, .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_strings = cloudabi64_copyout_strings, - .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM, + .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64, .sv_set_syscall_retval = cloudabi64_set_syscall_retval, .sv_fetch_syscall_args = cloudabi64_fetch_syscall_args, .sv_syscallnames = cloudabi64_syscallnames, Modified: head/usr.bin/kdump/kdump.c ============================================================================== --- head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:30 2016 (r296570) @@ -529,12 +529,11 @@ abidump(struct ktr_header *kth) break; } - if (flags != 0) { - if (flags & SV_LP64) - arch = "64"; - else - arch = "32"; - } else + if (flags & SV_LP64) + arch = "64"; + else if (flags & SV_ILP32) + arch = "32"; + else arch = "00"; printf("%s%s ", abi, arch); From owner-svn-src-head@freebsd.org Wed Mar 9 18:45:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F01F2AC8D7A; Wed, 9 Mar 2016 18:45:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CCE33ED; Wed, 9 Mar 2016 18:45:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29IjfKJ019750; Wed, 9 Mar 2016 18:45:41 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Ijfnw019747; Wed, 9 Mar 2016 18:45:41 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091845.u29Ijfnw019747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 18:45:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296571 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:45:43 -0000 Author: jhb Date: Wed Mar 9 18:45:41 2016 New Revision: 296571 URL: https://svnweb.freebsd.org/changeset/base/296571 Log: Use ptrace(2) LWP events to track threads reliably in truss. - truss can now log the system call invoked by a thread during a voluntary process exit. No return value is logged, but the value passed to exit() is included in the trace output. Arguments passed to thread exit system calls such as thr_exit() are not logged as voluntary thread exits cannot be distinguished from involuntary thread exits during a system call. - New events are now reported for thread births and exits similar to the recently added events for new child processes when following forks. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5561 Modified: head/usr.bin/truss/setup.c head/usr.bin/truss/syscalls.c head/usr.bin/truss/truss.h Modified: head/usr.bin/truss/setup.c ============================================================================== --- head/usr.bin/truss/setup.c Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/setup.c Wed Mar 9 18:45:41 2016 (r296571) @@ -61,7 +61,9 @@ SET_DECLARE(procabi, struct procabi); static sig_atomic_t detaching; -static void new_proc(struct trussinfo *, pid_t); +static void enter_syscall(struct trussinfo *, struct threadinfo *, + struct ptrace_lwpinfo *); +static void new_proc(struct trussinfo *, pid_t, lwpid_t); /* * setup_and_wait() is called to start a process. All it really does @@ -87,7 +89,7 @@ setup_and_wait(struct trussinfo *info, c if (waitpid(pid, NULL, 0) < 0) err(1, "unexpect stop in waitpid"); - new_proc(info, pid); + new_proc(info, pid, 0); } /* @@ -109,7 +111,7 @@ start_tracing(struct trussinfo *info, pi if (waitpid(pid, NULL, 0) < 0) err(1, "Unexpect stop in waitpid"); - new_proc(info, pid); + new_proc(info, pid, 0); } /* @@ -170,14 +172,71 @@ find_abi(pid_t pid) return (NULL); } +static struct threadinfo * +new_thread(struct procinfo *p, lwpid_t lwpid) +{ + struct threadinfo *nt; + + /* + * If this happens it means there is a bug in truss. Unfortunately + * this will kill any processes truss is attached to. + */ + LIST_FOREACH(nt, &p->threadlist, entries) { + if (nt->tid == lwpid) + errx(1, "Duplicate thread for LWP %ld", (long)lwpid); + } + + nt = calloc(1, sizeof(struct threadinfo)); + if (nt == NULL) + err(1, "calloc() failed"); + nt->proc = p; + nt->tid = lwpid; + LIST_INSERT_HEAD(&p->threadlist, nt, entries); + return (nt); +} + +static void +free_thread(struct threadinfo *t) +{ + + LIST_REMOVE(t, entries); + free(t); +} + static void -new_proc(struct trussinfo *info, pid_t pid) +add_threads(struct trussinfo *info, struct procinfo *p) +{ + struct ptrace_lwpinfo pl; + struct threadinfo *t; + lwpid_t *lwps; + int i, nlwps; + + nlwps = ptrace(PT_GETNUMLWPS, p->pid, NULL, 0); + if (nlwps == -1) + err(1, "Unable to fetch number of LWPs"); + assert(nlwps > 0); + lwps = calloc(nlwps, sizeof(*lwps)); + nlwps = ptrace(PT_GETLWPLIST, p->pid, (caddr_t)lwps, nlwps); + if (nlwps == -1) + err(1, "Unable to fetch LWP list"); + for (i = 0; i < nlwps; i++) { + t = new_thread(p, lwps[i]); + if (ptrace(PT_LWPINFO, lwps[i], (caddr_t)&pl, sizeof(pl)) == -1) + err(1, "ptrace(PT_LWPINFO)"); + if (pl.pl_flags & PL_FLAG_SCE) + enter_syscall(info, t, &pl); + } + free(lwps); +} + +static void +new_proc(struct trussinfo *info, pid_t pid, lwpid_t lwpid) { struct procinfo *np; /* * If this happens it means there is a bug in truss. Unfortunately - * this will kill any processes are attached to. + * this will kill any processes truss is attached to. */ LIST_FOREACH(np, &info->proclist, entries) { if (np->pid == pid) @@ -187,11 +246,18 @@ new_proc(struct trussinfo *info, pid_t p if (info->flags & FOLLOWFORKS) if (ptrace(PT_FOLLOW_FORK, pid, NULL, 1) == -1) err(1, "Unable to follow forks for pid %ld", (long)pid); + if (ptrace(PT_LWP_EVENTS, pid, NULL, 1) == -1) + err(1, "Unable to enable LWP events for pid %ld", (long)pid); np = calloc(1, sizeof(struct procinfo)); np->pid = pid; np->abi = find_abi(pid); - SLIST_INIT(&np->threadlist); + LIST_INIT(&np->threadlist); LIST_INSERT_HEAD(&info->proclist, np, entries); + + if (lwpid != 0) + new_thread(np, lwpid); + else + add_threads(info, np); } static void @@ -199,7 +265,7 @@ free_proc(struct procinfo *p) { struct threadinfo *t, *t2; - SLIST_FOREACH_SAFE(t, &p->threadlist, entries, t2) { + LIST_FOREACH_SAFE(t, &p->threadlist, entries, t2) { free(t); } LIST_REMOVE(p, entries); @@ -232,7 +298,6 @@ find_proc(struct trussinfo *info, pid_t /* * Change curthread member based on (pid, lwpid). - * If it is a new thread, create a threadinfo structure. */ static void find_thread(struct trussinfo *info, pid_t pid, lwpid_t lwpid) @@ -243,55 +308,30 @@ find_thread(struct trussinfo *info, pid_ np = find_proc(info, pid); assert(np != NULL); - SLIST_FOREACH(nt, &np->threadlist, entries) { + LIST_FOREACH(nt, &np->threadlist, entries) { if (nt->tid == lwpid) { info->curthread = nt; return; } } - - nt = calloc(1, sizeof(struct threadinfo)); - if (nt == NULL) - err(1, "calloc() failed"); - nt->proc = np; - nt->tid = lwpid; - SLIST_INSERT_HEAD(&np->threadlist, nt, entries); - info->curthread = nt; + errx(1, "could not find thread"); } /* - * When a process exits, it no longer has any threads left. However, - * the main loop expects a valid curthread. In cases when a thread - * triggers the termination (e.g. calling exit or triggering a fault) - * we would ideally use that thread. However, if a process is killed - * by a signal sent from another process then there is no "correct" - * thread. We just punt and use the first thread. + * When a process exits, it should have exactly one thread left. + * All of the other threads should have reported thread exit events. */ static void find_exit_thread(struct trussinfo *info, pid_t pid) { - struct procinfo *np; - struct threadinfo *nt; + struct procinfo *p; - np = find_proc(info, pid); - assert(np != NULL); + p = find_proc(info, pid); + assert(p != NULL); - if (SLIST_EMPTY(&np->threadlist)) { - /* - * If an existing process exits right after we attach - * to it but before it posts any events, there won't - * be any threads. Create a dummy thread and set its - * "before" time to the global start time. - */ - nt = calloc(1, sizeof(struct threadinfo)); - if (nt == NULL) - err(1, "calloc() failed"); - nt->proc = np; - nt->tid = 0; - SLIST_INSERT_HEAD(&np->threadlist, nt, entries); - nt->before = info->start_time; - } - info->curthread = SLIST_FIRST(&np->threadlist); + info->curthread = LIST_FIRST(&p->threadlist); + assert(info->curthread != NULL); + assert(LIST_NEXT(info->curthread, entries) == NULL); } static void @@ -322,13 +362,12 @@ free_syscall(struct threadinfo *t) } static void -enter_syscall(struct trussinfo *info, struct ptrace_lwpinfo *pl) +enter_syscall(struct trussinfo *info, struct threadinfo *t, + struct ptrace_lwpinfo *pl) { - struct threadinfo *t; struct syscall *sc; u_int i, narg; - t = info->curthread; alloc_syscall(t, pl); narg = MIN(pl->pl_syscall_narg, nitems(t->cs.args)); if (narg != 0 && t->proc->abi->fetch_args(info, narg) != 0) { @@ -377,6 +416,28 @@ enter_syscall(struct trussinfo *info, st clock_gettime(CLOCK_REALTIME, &t->before); } +/* + * When a thread exits voluntarily (including when a thread calls + * exit() to trigger a process exit), the thread's internal state + * holds the arguments passed to the exit system call. When the + * thread's exit is reported, log that system call without a return + * value. + */ +static void +thread_exit_syscall(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + if (!t->in_syscall) + return; + + clock_gettime(CLOCK_REALTIME, &t->after); + + print_syscall_ret(info, 0, NULL); + free_syscall(t); +} + static void exit_syscall(struct trussinfo *info, struct ptrace_lwpinfo *pl) { @@ -430,6 +491,7 @@ exit_syscall(struct trussinfo *info, str * new ABI isn't supported, stop tracing this process. */ if (pl->pl_flags & PL_FLAG_EXEC) { + assert(LIST_NEXT(LIST_FIRST(&p->threadlist), entries) == NULL); p->abi = find_abi(p->pid); if (p->abi == NULL) { if (ptrace(PT_DETACH, p->pid, (caddr_t)1, 0) < 0) @@ -472,6 +534,29 @@ print_line_prefix(struct trussinfo *info } static void +report_thread_death(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + clock_gettime(CLOCK_REALTIME, &t->after); + print_line_prefix(info); + fprintf(info->outfile, "\n", (long)t->tid); +} + +static void +report_thread_birth(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + clock_gettime(CLOCK_REALTIME, &t->after); + t->before = t->after; + print_line_prefix(info); + fprintf(info->outfile, "\n", (long)t->tid); +} + +static void report_exit(struct trussinfo *info, siginfo_t *si) { struct threadinfo *t; @@ -544,8 +629,11 @@ eventloop(struct trussinfo *info) case CLD_KILLED: case CLD_DUMPED: find_exit_thread(info, si.si_pid); - if ((info->flags & COUNTONLY) == 0) + if ((info->flags & COUNTONLY) == 0) { + if (si.si_code == CLD_EXITED) + thread_exit_syscall(info); report_exit(info, &si); + } free_proc(info->curthread->proc); info->curthread = NULL; break; @@ -555,16 +643,27 @@ eventloop(struct trussinfo *info) err(1, "ptrace(PT_LWPINFO)"); if (pl.pl_flags & PL_FLAG_CHILD) { - new_proc(info, si.si_pid); + new_proc(info, si.si_pid, pl.pl_lwpid); assert(LIST_FIRST(&info->proclist)->abi != NULL); - } + } else if (pl.pl_flags & PL_FLAG_BORN) + new_thread(find_proc(info, si.si_pid), + pl.pl_lwpid); find_thread(info, si.si_pid, pl.pl_lwpid); if (si.si_status == SIGTRAP && - (pl.pl_flags & (PL_FLAG_SCE|PL_FLAG_SCX)) != 0) { - if (pl.pl_flags & PL_FLAG_SCE) - enter_syscall(info, &pl); + (pl.pl_flags & (PL_FLAG_BORN|PL_FLAG_EXITED| + PL_FLAG_SCE|PL_FLAG_SCX)) != 0) { + if (pl.pl_flags & PL_FLAG_BORN) { + if ((info->flags & COUNTONLY) == 0) + report_thread_birth(info); + } else if (pl.pl_flags & PL_FLAG_EXITED) { + if ((info->flags & COUNTONLY) == 0) + report_thread_death(info); + free_thread(info->curthread); + info->curthread = NULL; + } else if (pl.pl_flags & PL_FLAG_SCE) + enter_syscall(info, info->curthread, &pl); else if (pl.pl_flags & PL_FLAG_SCX) exit_syscall(info, &pl); pending_signal = 0; Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/syscalls.c Wed Mar 9 18:45:41 2016 (r296571) @@ -2054,6 +2054,16 @@ print_syscall_ret(struct trussinfo *trus print_syscall(trussinfo); fflush(trussinfo->outfile); + + if (retval == NULL) { + /* + * This system call resulted in the current thread's exit, + * so there is no return value or error to display. + */ + fprintf(trussinfo->outfile, "\n"); + return; + } + if (errorp) { error = sysdecode_abi_to_freebsd_errno(t->proc->abi->abi, retval[0]); Modified: head/usr.bin/truss/truss.h ============================================================================== --- head/usr.bin/truss/truss.h Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/truss.h Wed Mar 9 18:45:41 2016 (r296571) @@ -73,7 +73,7 @@ struct current_syscall { struct threadinfo { - SLIST_ENTRY(threadinfo) entries; + LIST_ENTRY(threadinfo) entries; struct procinfo *proc; lwpid_t tid; int in_syscall; @@ -87,7 +87,7 @@ struct procinfo { pid_t pid; struct procabi *abi; - SLIST_HEAD(, threadinfo) threadlist; + LIST_HEAD(, threadinfo) threadlist; }; struct trussinfo From owner-svn-src-head@freebsd.org Wed Mar 9 19:05:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F328DAC9593; Wed, 9 Mar 2016 19:05:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C45E5D0D; Wed, 9 Mar 2016 19:05:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29J5Cat025960; Wed, 9 Mar 2016 19:05:12 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29J5BtH025949; Wed, 9 Mar 2016 19:05:11 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091905.u29J5BtH025949@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 19:05:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296572 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:05:14 -0000 Author: jhb Date: Wed Mar 9 19:05:11 2016 New Revision: 296572 URL: https://svnweb.freebsd.org/changeset/base/296572 Log: Simplify AIO initialization now that it is standard. - Mark AIO system calls as STD and remove the helpers to dynamically register them. - Use COMPAT6 for the old system calls with the older sigevent instead of an 'o' prefix. - Simplify the POSIX configuration to note that AIO is always available. - Handle AIO in the default VOP_PATHCONF instead of special casing it in the pathconf() system call. fpathconf() is still hackish. - Remove freebsd32_aio_cancel() as it just called the native one directly. Reviewed by: kib Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5589 Modified: head/sys/compat/freebsd32/syscalls.master head/sys/kern/kern_descrip.c head/sys/kern/posix4_mib.c head/sys/kern/syscalls.master head/sys/kern/vfs_aio.c head/sys/kern/vfs_default.c head/sys/kern/vfs_syscalls.c head/sys/sys/signalvar.h head/sys/sys/unistd.h head/sys/sys/vnode.h Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/compat/freebsd32/syscalls.master Wed Mar 9 19:05:11 2016 (r296572) @@ -477,11 +477,11 @@ u_int nfds, int timeout); } 253 AUE_ISSETUGID NOPROTO { int issetugid(void); } 254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); } -255 AUE_NULL NOSTD { int freebsd32_aio_read( \ +255 AUE_NULL STD { int freebsd32_aio_read( \ struct aiocb32 *aiocbp); } -256 AUE_NULL NOSTD { int freebsd32_aio_write( \ +256 AUE_NULL STD { int freebsd32_aio_write( \ struct aiocb32 *aiocbp); } -257 AUE_NULL NOSTD { int freebsd32_lio_listio(int mode, \ +257 AUE_NULL STD { int freebsd32_lio_listio(int mode, \ struct aiocb32 * const *acb_list, \ int nent, struct sigevent32 *sig); } 258 AUE_NULL UNIMPL nosys @@ -562,20 +562,20 @@ 312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 313 AUE_NULL OBSOL signanosleep -314 AUE_NULL NOSTD { int freebsd32_aio_return( \ +314 AUE_NULL STD { int freebsd32_aio_return( \ struct aiocb32 *aiocbp); } -315 AUE_NULL NOSTD { int freebsd32_aio_suspend( \ +315 AUE_NULL STD { int freebsd32_aio_suspend( \ struct aiocb32 * const * aiocbp, int nent, \ const struct timespec32 *timeout); } -316 AUE_NULL NOSTD { int freebsd32_aio_cancel(int fd, \ +316 AUE_NULL NOPROTO { int aio_cancel(int fd, \ + struct aiocb *aiocbp); } +317 AUE_NULL STD { int freebsd32_aio_error( \ struct aiocb32 *aiocbp); } -317 AUE_NULL NOSTD { int freebsd32_aio_error( \ - struct aiocb32 *aiocbp); } -318 AUE_NULL NOSTD { int freebsd32_oaio_read( \ +318 AUE_NULL COMPAT6 { int freebsd32_aio_read( \ struct oaiocb32 *aiocbp); } -319 AUE_NULL NOSTD { int freebsd32_oaio_write( \ +319 AUE_NULL COMPAT6 { int freebsd32_aio_write( \ struct oaiocb32 *aiocbp); } -320 AUE_NULL NOSTD { int freebsd32_olio_listio(int mode, \ +320 AUE_NULL COMPAT6 { int freebsd32_lio_listio(int mode, \ struct oaiocb32 * const *acb_list, \ int nent, struct osigevent32 *sig); } 321 AUE_NULL NOPROTO { int yield(void); } @@ -653,7 +653,7 @@ 358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \ const char *path, int attrnamespace, \ const char *attrname); } -359 AUE_NULL NOSTD { int freebsd32_aio_waitcomplete( \ +359 AUE_NULL STD { int freebsd32_aio_waitcomplete( \ struct aiocb32 **aiocbp, \ struct timespec32 *timeout); } 360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ @@ -837,7 +837,7 @@ 462 AUE_NULL NOPROTO|NOSTD { int kmq_unlink(const char *path); } 463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); } 464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); } -465 AUE_NULL NOSTD { int freebsd32_aio_fsync(int op, \ +465 AUE_NULL STD { int freebsd32_aio_fsync(int op, \ struct aiocb32 *aiocbp); } 466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \ lwpid_t lwpid, struct rtprio *rtp); } @@ -1055,7 +1055,7 @@ __socklen_t * __restrict anamelen, \ int flags); } 542 AUE_PIPE NOPROTO { int pipe2(int *fildes, int flags); } -543 AUE_NULL NOSTD { int freebsd32_aio_mlock( \ +543 AUE_NULL STD { int freebsd32_aio_mlock( \ struct aiocb32 *aiocbp); } #ifdef PAD64_REQUIRED 544 AUE_NULL STD { int freebsd32_procctl(int idtype, int pad, \ Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/kern_descrip.c Wed Mar 9 19:05:11 2016 (r296572) @@ -1395,9 +1395,8 @@ sys_fpathconf(struct thread *td, struct if (error != 0) return (error); - /* If asynchronous I/O is available, it works for all descriptors. */ if (uap->name == _PC_ASYNC_IO) { - td->td_retval[0] = async_io_version; + td->td_retval[0] = _POSIX_ASYNCHRONOUS_IO; goto out; } vp = fp->f_vnode; Modified: head/sys/kern/posix4_mib.c ============================================================================== --- head/sys/kern/posix4_mib.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/posix4_mib.c Wed Mar 9 19:05:11 2016 (r296572) @@ -77,8 +77,7 @@ SYSCTL_NODE(_kern, OID_AUTO, p1003_1b, C #endif -SYSCTL_INT(_p1003_1b, CTL_P1003_1B_ASYNCHRONOUS_IO, \ - asynchronous_io, CTLFLAG_RD, &async_io_version, 0, ""); +P1B_SYSCTL(CTL_P1003_1B_ASYNCHRONOUS_IO, asynchronous_io); P1B_SYSCTL(CTL_P1003_1B_MAPPED_FILES, mapped_files); P1B_SYSCTL(CTL_P1003_1B_MEMLOCK, memlock); P1B_SYSCTL(CTL_P1003_1B_MEMLOCK_RANGE, memlock_range); @@ -170,12 +169,6 @@ p31b_set_standard(void *dummy) p31b_setcfg(CTL_P1003_1B_MAPPED_FILES, 200112L); p31b_setcfg(CTL_P1003_1B_SHARED_MEMORY_OBJECTS, 200112L); p31b_setcfg(CTL_P1003_1B_PAGESIZE, PAGE_SIZE); - if (!p31b_iscfg(CTL_P1003_1B_AIO_LISTIO_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_LISTIO_MAX, -1); - if (!p31b_iscfg(CTL_P1003_1B_AIO_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_MAX, -1); - if (!p31b_iscfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX, -1); } SYSINIT(p31b_set_standard, SI_SUB_P1003_1B, SI_ORDER_ANY, p31b_set_standard, Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/syscalls.master Wed Mar 9 19:05:11 2016 (r296572) @@ -475,9 +475,9 @@ u_int nfds, int timeout); } 253 AUE_ISSETUGID STD { int issetugid(void); } 254 AUE_LCHOWN STD { int lchown(char *path, int uid, int gid); } -255 AUE_NULL NOSTD { int aio_read(struct aiocb *aiocbp); } -256 AUE_NULL NOSTD { int aio_write(struct aiocb *aiocbp); } -257 AUE_NULL NOSTD { int lio_listio(int mode, \ +255 AUE_NULL STD { int aio_read(struct aiocb *aiocbp); } +256 AUE_NULL STD { int aio_write(struct aiocb *aiocbp); } +257 AUE_NULL STD { int lio_listio(int mode, \ struct aiocb * const *acb_list, \ int nent, struct sigevent *sig); } 258 AUE_NULL UNIMPL nosys @@ -554,16 +554,16 @@ 312 AUE_SETRESGID STD { int setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 313 AUE_NULL OBSOL signanosleep -314 AUE_NULL NOSTD { int aio_return(struct aiocb *aiocbp); } -315 AUE_NULL NOSTD { int aio_suspend( \ +314 AUE_NULL STD { int aio_return(struct aiocb *aiocbp); } +315 AUE_NULL STD { int aio_suspend( \ struct aiocb * const * aiocbp, int nent, \ const struct timespec *timeout); } -316 AUE_NULL NOSTD { int aio_cancel(int fd, \ +316 AUE_NULL STD { int aio_cancel(int fd, \ struct aiocb *aiocbp); } -317 AUE_NULL NOSTD { int aio_error(struct aiocb *aiocbp); } -318 AUE_NULL NOSTD { int oaio_read(struct oaiocb *aiocbp); } -319 AUE_NULL NOSTD { int oaio_write(struct oaiocb *aiocbp); } -320 AUE_NULL NOSTD { int olio_listio(int mode, \ +317 AUE_NULL STD { int aio_error(struct aiocb *aiocbp); } +318 AUE_NULL COMPAT6 { int aio_read(struct oaiocb *aiocbp); } +319 AUE_NULL COMPAT6 { int aio_write(struct oaiocb *aiocbp); } +320 AUE_NULL COMPAT6 { int lio_listio(int mode, \ struct oaiocb * const *acb_list, \ int nent, struct osigevent *sig); } 321 AUE_NULL STD { int yield(void); } @@ -643,7 +643,7 @@ 358 AUE_EXTATTR_DELETE_FILE STD { int extattr_delete_file(const char *path, \ int attrnamespace, \ const char *attrname); } -359 AUE_NULL NOSTD { int aio_waitcomplete( \ +359 AUE_NULL STD { int aio_waitcomplete( \ struct aiocb **aiocbp, \ struct timespec *timeout); } 360 AUE_GETRESUID STD { int getresuid(uid_t *ruid, uid_t *euid, \ @@ -830,7 +830,7 @@ 462 AUE_NULL NOSTD { int kmq_unlink(const char *path); } 463 AUE_NULL STD { int abort2(const char *why, int nargs, void **args); } 464 AUE_NULL STD { int thr_set_name(long id, const char *name); } -465 AUE_NULL NOSTD { int aio_fsync(int op, struct aiocb *aiocbp); } +465 AUE_NULL STD { int aio_fsync(int op, struct aiocb *aiocbp); } 466 AUE_RTPRIO STD { int rtprio_thread(int function, \ lwpid_t lwpid, struct rtprio *rtp); } 467 AUE_NULL UNIMPL nosys @@ -977,7 +977,7 @@ __socklen_t * __restrict anamelen, \ int flags); } 542 AUE_PIPE STD { int pipe2(int *fildes, int flags); } -543 AUE_NULL NOSTD { int aio_mlock(struct aiocb *aiocbp); } +543 AUE_NULL STD { int aio_mlock(struct aiocb *aiocbp); } 544 AUE_NULL STD { int procctl(idtype_t idtype, id_t id, \ int com, void *data); } 545 AUE_POLL STD { int ppoll(struct pollfd *fds, u_int nfds, \ Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_aio.c Wed Mar 9 19:05:11 2016 (r296572) @@ -161,6 +161,7 @@ static int max_buf_aio = MAX_BUF_AIO; SYSCTL_INT(_vfs_aio, OID_AUTO, max_buf_aio, CTLFLAG_RW, &max_buf_aio, 0, "Maximum buf aio requests per process (stored in the process)"); +#ifdef COMPAT_FREEBSD6 typedef struct oaiocb { int aio_fildes; /* File descriptor */ off_t aio_offset; /* File offset for I/O */ @@ -171,6 +172,7 @@ typedef struct oaiocb { int aio_reqprio; /* Request priority -- ignored */ struct __aiocb_private _aiocb_private; } oaiocb_t; +#endif /* * Below is a key of locks used to protect each member of struct kaiocb @@ -368,52 +370,7 @@ static moduledata_t aio_mod = { NULL }; -static struct syscall_helper_data aio_syscalls[] = { - SYSCALL_INIT_HELPER(aio_cancel), - SYSCALL_INIT_HELPER(aio_error), - SYSCALL_INIT_HELPER(aio_fsync), - SYSCALL_INIT_HELPER(aio_mlock), - SYSCALL_INIT_HELPER(aio_read), - SYSCALL_INIT_HELPER(aio_return), - SYSCALL_INIT_HELPER(aio_suspend), - SYSCALL_INIT_HELPER(aio_waitcomplete), - SYSCALL_INIT_HELPER(aio_write), - SYSCALL_INIT_HELPER(lio_listio), - SYSCALL_INIT_HELPER(oaio_read), - SYSCALL_INIT_HELPER(oaio_write), - SYSCALL_INIT_HELPER(olio_listio), - SYSCALL_INIT_LAST -}; - -#ifdef COMPAT_FREEBSD32 -#include -#include -#include -#include -#include -#include -#include - -static struct syscall_helper_data aio32_syscalls[] = { - SYSCALL32_INIT_HELPER(freebsd32_aio_return), - SYSCALL32_INIT_HELPER(freebsd32_aio_suspend), - SYSCALL32_INIT_HELPER(freebsd32_aio_cancel), - SYSCALL32_INIT_HELPER(freebsd32_aio_error), - SYSCALL32_INIT_HELPER(freebsd32_aio_fsync), - SYSCALL32_INIT_HELPER(freebsd32_aio_mlock), - SYSCALL32_INIT_HELPER(freebsd32_aio_read), - SYSCALL32_INIT_HELPER(freebsd32_aio_write), - SYSCALL32_INIT_HELPER(freebsd32_aio_waitcomplete), - SYSCALL32_INIT_HELPER(freebsd32_lio_listio), - SYSCALL32_INIT_HELPER(freebsd32_oaio_read), - SYSCALL32_INIT_HELPER(freebsd32_oaio_write), - SYSCALL32_INIT_HELPER(freebsd32_olio_listio), - SYSCALL_INIT_LAST -}; -#endif - -DECLARE_MODULE(aio, aio_mod, - SI_SUB_VFS, SI_ORDER_ANY); +DECLARE_MODULE(aio, aio_mod, SI_SUB_VFS, SI_ORDER_ANY); MODULE_VERSION(aio, 1); /* @@ -422,7 +379,6 @@ MODULE_VERSION(aio, 1); static int aio_onceonly(void) { - int error; exit_tag = EVENTHANDLER_REGISTER(process_exit, aio_proc_rundown, NULL, EVENTHANDLER_PRI_ANY); @@ -447,19 +403,11 @@ aio_onceonly(void) NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); aiod_lifetime = AIOD_LIFETIME_DEFAULT; jobrefid = 1; - async_io_version = _POSIX_VERSION; + p31b_setcfg(CTL_P1003_1B_ASYNCHRONOUS_IO, _POSIX_ASYNCHRONOUS_IO); p31b_setcfg(CTL_P1003_1B_AIO_LISTIO_MAX, AIO_LISTIO_MAX); p31b_setcfg(CTL_P1003_1B_AIO_MAX, MAX_AIO_QUEUE); p31b_setcfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX, 0); - error = syscall_helper_register(aio_syscalls, SY_THR_STATIC_KLD); - if (error) - return (error); -#ifdef COMPAT_FREEBSD32 - error = syscall32_helper_register(aio32_syscalls, SY_THR_STATIC_KLD); - if (error) - return (error); -#endif return (0); } @@ -1340,6 +1288,7 @@ unref: return (error); } +#ifdef COMPAT_FREEBSD6 static int convert_old_sigevent(struct osigevent *osig, struct sigevent *nsig) { @@ -1379,6 +1328,7 @@ aiocb_copyin_old_sigevent(struct aiocb * ojob = (struct oaiocb *)kjob; return (convert_old_sigevent(&ojob->aio_sigevent, &kjob->aio_sigevent)); } +#endif static int aiocb_copyin(struct aiocb *ujob, struct aiocb *kjob) @@ -1439,6 +1389,7 @@ static struct aiocb_ops aiocb_ops = { .store_aiocb = aiocb_store_aiocb, }; +#ifdef COMPAT_FREEBSD6 static struct aiocb_ops aiocb_ops_osigevent = { .copyin = aiocb_copyin_old_sigevent, .fetch_status = aiocb_fetch_status, @@ -1448,6 +1399,7 @@ static struct aiocb_ops aiocb_ops_osigev .store_kernelinfo = aiocb_store_kernelinfo, .store_aiocb = aiocb_store_aiocb, }; +#endif /* * Queue a new AIO request. Choosing either the threaded or direct physio VCHR @@ -2094,13 +2046,15 @@ sys_aio_error(struct thread *td, struct } /* syscall - asynchronous read from a file (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_oaio_read(struct thread *td, struct oaio_read_args *uap) +freebsd6_aio_read(struct thread *td, struct freebsd6_aio_read_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_READ, &aiocb_ops_osigevent)); } +#endif int sys_aio_read(struct thread *td, struct aio_read_args *uap) @@ -2110,13 +2064,15 @@ sys_aio_read(struct thread *td, struct a } /* syscall - asynchronous write to a file (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_oaio_write(struct thread *td, struct oaio_write_args *uap) +freebsd6_aio_write(struct thread *td, struct freebsd6_aio_write_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE, &aiocb_ops_osigevent)); } +#endif int sys_aio_write(struct thread *td, struct aio_write_args *uap) @@ -2268,8 +2224,9 @@ kern_lio_listio(struct thread *td, int m } /* syscall - list directed I/O (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_olio_listio(struct thread *td, struct olio_listio_args *uap) +freebsd6_lio_listio(struct thread *td, struct freebsd6_lio_listio_args *uap) { struct aiocb **acb_list; struct sigevent *sigp, sig; @@ -2303,6 +2260,7 @@ sys_olio_listio(struct thread *td, struc free(acb_list, M_LIO); return (error); } +#endif /* syscall - list directed I/O (REALTIME) */ int @@ -2582,6 +2540,13 @@ filt_lio(struct knote *kn, long hint) } #ifdef COMPAT_FREEBSD32 +#include +#include +#include +#include +#include +#include +#include struct __aiocb_private32 { int32_t status; @@ -2589,6 +2554,7 @@ struct __aiocb_private32 { uint32_t kernelinfo; }; +#ifdef COMPAT_FREEBSD6 typedef struct oaiocb32 { int aio_fildes; /* File descriptor */ uint64_t aio_offset __packed; /* File offset for I/O */ @@ -2599,6 +2565,7 @@ typedef struct oaiocb32 { int aio_reqprio; /* Request priority -- ignored */ struct __aiocb_private32 _aiocb_private; } oaiocb32_t; +#endif typedef struct aiocb32 { int32_t aio_fildes; /* File descriptor */ @@ -2613,6 +2580,7 @@ typedef struct aiocb32 { struct sigevent32 aio_sigevent; /* Signal to deliver */ } aiocb32_t; +#ifdef COMPAT_FREEBSD6 static int convert_old_sigevent32(struct osigevent32 *osig, struct sigevent *nsig) { @@ -2662,6 +2630,7 @@ aiocb32_copyin_old_sigevent(struct aiocb return (convert_old_sigevent32(&job32.aio_sigevent, &kjob->aio_sigevent)); } +#endif static int aiocb32_copyin(struct aiocb *ujob, struct aiocb *kjob) @@ -2746,6 +2715,7 @@ static struct aiocb_ops aiocb32_ops = { .store_aiocb = aiocb32_store_aiocb, }; +#ifdef COMPAT_FREEBSD6 static struct aiocb_ops aiocb32_ops_osigevent = { .copyin = aiocb32_copyin_old_sigevent, .fetch_status = aiocb32_fetch_status, @@ -2755,6 +2725,7 @@ static struct aiocb_ops aiocb32_ops_osig .store_kernelinfo = aiocb32_store_kernelinfo, .store_aiocb = aiocb32_store_aiocb, }; +#endif int freebsd32_aio_return(struct thread *td, struct freebsd32_aio_return_args *uap) @@ -2800,26 +2771,22 @@ freebsd32_aio_suspend(struct thread *td, } int -freebsd32_aio_cancel(struct thread *td, struct freebsd32_aio_cancel_args *uap) -{ - - return (sys_aio_cancel(td, (struct aio_cancel_args *)uap)); -} - -int freebsd32_aio_error(struct thread *td, struct freebsd32_aio_error_args *uap) { return (kern_aio_error(td, (struct aiocb *)uap->aiocbp, &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_oaio_read(struct thread *td, struct freebsd32_oaio_read_args *uap) +freebsd6_freebsd32_aio_read(struct thread *td, + struct freebsd6_freebsd32_aio_read_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_READ, &aiocb32_ops_osigevent)); } +#endif int freebsd32_aio_read(struct thread *td, struct freebsd32_aio_read_args *uap) @@ -2829,13 +2796,16 @@ freebsd32_aio_read(struct thread *td, st &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_oaio_write(struct thread *td, struct freebsd32_oaio_write_args *uap) +freebsd6_freebsd32_aio_write(struct thread *td, + struct freebsd6_freebsd32_aio_write_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE, &aiocb32_ops_osigevent)); } +#endif int freebsd32_aio_write(struct thread *td, struct freebsd32_aio_write_args *uap) @@ -2884,8 +2854,10 @@ freebsd32_aio_fsync(struct thread *td, s &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_olio_listio(struct thread *td, struct freebsd32_olio_listio_args *uap) +freebsd6_freebsd32_lio_listio(struct thread *td, + struct freebsd6_freebsd32_lio_listio_args *uap) { struct aiocb **acb_list; struct sigevent *sigp, sig; @@ -2928,6 +2900,7 @@ freebsd32_olio_listio(struct thread *td, free(acb_list, M_LIO); return (error); } +#endif int freebsd32_lio_listio(struct thread *td, struct freebsd32_lio_listio_args *uap) Modified: head/sys/kern/vfs_default.c ============================================================================== --- head/sys/kern/vfs_default.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_default.c Wed Mar 9 19:05:11 2016 (r296572) @@ -472,6 +472,9 @@ vop_stdpathconf(ap) { switch (ap->a_name) { + case _PC_ASYNC_IO: + *ap->a_retval = _POSIX_ASYNCHRONOUS_IO; + return (0); case _PC_NAME_MAX: *ap->a_retval = NAME_MAX; return (0); Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_syscalls.c Wed Mar 9 19:05:11 2016 (r296572) @@ -106,14 +106,6 @@ static int vn_access(struct vnode *vp, i struct thread *td); /* - * The module initialization routine for POSIX asynchronous I/O will - * set this to the version of AIO that it implements. (Zero means - * that it is not implemented.) This value is used here by pathconf() - * and in kern_descrip.c by fpathconf(). - */ -int async_io_version; - -/* * Sync each mounted filesystem. */ #ifndef _SYS_SYSPROTO_H_ @@ -2347,11 +2339,7 @@ kern_pathconf(struct thread *td, char *p return (error); NDFREE(&nd, NDF_ONLY_PNBUF); - /* If asynchronous I/O is available, it works for all files. */ - if (name == _PC_ASYNC_IO) - td->td_retval[0] = async_io_version; - else - error = VOP_PATHCONF(nd.ni_vp, name, td->td_retval); + error = VOP_PATHCONF(nd.ni_vp, name, td->td_retval); vput(nd.ni_vp); return (error); } Modified: head/sys/sys/signalvar.h ============================================================================== --- head/sys/sys/signalvar.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/signalvar.h Wed Mar 9 19:05:11 2016 (r296572) @@ -199,6 +199,7 @@ __sigseteq(sigset_t *set1, sigset_t *set return (1); } +#ifdef COMPAT_FREEBSD6 struct osigevent { int sigev_notify; /* Notification type */ union { @@ -207,6 +208,7 @@ struct osigevent { } __sigev_u; union sigval sigev_value; /* Signal value */ }; +#endif typedef struct ksiginfo { TAILQ_ENTRY(ksiginfo) ksi_link; Modified: head/sys/sys/unistd.h ============================================================================== --- head/sys/sys/unistd.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/unistd.h Wed Mar 9 19:05:11 2016 (r296572) @@ -50,7 +50,7 @@ * returns -1, the functions may be stubbed out. */ #define _POSIX_ADVISORY_INFO 200112L -#define _POSIX_ASYNCHRONOUS_IO 0 +#define _POSIX_ASYNCHRONOUS_IO 200112L #define _POSIX_CHOWN_RESTRICTED 1 #define _POSIX_CLOCK_SELECTION (-1) #define _POSIX_CPUTIME 200112L Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/vnode.h Wed Mar 9 19:05:11 2016 (r296572) @@ -422,7 +422,6 @@ extern int vttoif_tab[]; */ extern struct vnode *rootvnode; /* root (i.e. "/") vnode */ extern struct mount *rootdevmp; /* "/dev" mount */ -extern int async_io_version; /* 0 or POSIX version of AIO i'face */ extern int desiredvnodes; /* number of vnodes desired */ extern struct uma_zone *namei_zone; extern struct vattr va_null; /* predefined null vattr structure */ From owner-svn-src-head@freebsd.org Wed Mar 9 19:06:49 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72DE2AC965D; Wed, 9 Mar 2016 19:06:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12EFCEA3; Wed, 9 Mar 2016 19:06:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29J6mxU026063; Wed, 9 Mar 2016 19:06:48 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29J6l1q026052; Wed, 9 Mar 2016 19:06:47 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091906.u29J6l1q026052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 19:06:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296573 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:06:49 -0000 Author: jhb Date: Wed Mar 9 19:06:46 2016 New Revision: 296573 URL: https://svnweb.freebsd.org/changeset/base/296573 Log: Regen. Modified: head/sys/compat/freebsd32/freebsd32_proto.h head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/compat/freebsd32/freebsd32_syscalls.c head/sys/compat/freebsd32/freebsd32_sysent.c head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/init_sysent.c head/sys/kern/syscalls.c head/sys/kern/systrace_args.c head/sys/sys/syscall.h head/sys/sys/syscall.mk head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_proto.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_proto.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -285,25 +285,9 @@ struct freebsd32_aio_suspend_args { char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)]; }; -struct freebsd32_aio_cancel_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)]; -}; struct freebsd32_aio_error_args { char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)]; }; -struct freebsd32_oaio_read_args { - char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; -}; -struct freebsd32_oaio_write_args { - char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; -}; -struct freebsd32_olio_listio_args { - char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; - char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)]; - char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; - char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; -}; struct freebsd32_jail_args { char jail_l_[PADL_(struct jail32 *)]; struct jail32 * jail; char jail_r_[PADR_(struct jail32 *)]; }; @@ -755,11 +739,7 @@ int freebsd32_modstat(struct thread *, s int freebsd32_kldstat(struct thread *, struct freebsd32_kldstat_args *); int freebsd32_aio_return(struct thread *, struct freebsd32_aio_return_args *); int freebsd32_aio_suspend(struct thread *, struct freebsd32_aio_suspend_args *); -int freebsd32_aio_cancel(struct thread *, struct freebsd32_aio_cancel_args *); int freebsd32_aio_error(struct thread *, struct freebsd32_aio_error_args *); -int freebsd32_oaio_read(struct thread *, struct freebsd32_oaio_read_args *); -int freebsd32_oaio_write(struct thread *, struct freebsd32_oaio_write_args *); -int freebsd32_olio_listio(struct thread *, struct freebsd32_olio_listio_args *); int freebsd32_jail(struct thread *, struct freebsd32_jail_args *); int freebsd32_sigtimedwait(struct thread *, struct freebsd32_sigtimedwait_args *); int freebsd32_sigwaitinfo(struct thread *, struct freebsd32_sigwaitinfo_args *); @@ -1043,6 +1023,18 @@ struct freebsd6_freebsd32_ftruncate_args char length1_l_[PADL_(uint32_t)]; uint32_t length1; char length1_r_[PADR_(uint32_t)]; char length2_l_[PADL_(uint32_t)]; uint32_t length2; char length2_r_[PADR_(uint32_t)]; }; +struct freebsd6_freebsd32_aio_read_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd6_freebsd32_aio_write_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd6_freebsd32_lio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; +}; #ifdef PAD64_REQUIRED #else #endif @@ -1061,6 +1053,9 @@ int freebsd6_freebsd32_mmap(struct threa int freebsd6_freebsd32_lseek(struct thread *, struct freebsd6_freebsd32_lseek_args *); int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); +int freebsd6_freebsd32_aio_read(struct thread *, struct freebsd6_freebsd32_aio_read_args *); +int freebsd6_freebsd32_aio_write(struct thread *, struct freebsd6_freebsd32_aio_write_args *); +int freebsd6_freebsd32_lio_listio(struct thread *, struct freebsd6_freebsd32_lio_listio_args *); #endif /* COMPAT_FREEBSD6 */ @@ -1181,11 +1176,10 @@ int freebsd7_freebsd32_shmctl(struct thr #define FREEBSD32_SYS_AUE_freebsd32_kldstat AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_return AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_suspend AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_aio_cancel AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_error AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_oaio_read AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_oaio_write AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_olio_listio AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_aio_read AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_aio_write AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_lio_listio AUE_NULL #define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sendfile AUE_SENDFILE #define FREEBSD32_SYS_AUE_freebsd32_jail AUE_JAIL #define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigaction AUE_SIGACTION Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #define FREEBSD32_SYS_syscall 0 @@ -253,11 +253,11 @@ /* 313 is obsolete signanosleep */ #define FREEBSD32_SYS_freebsd32_aio_return 314 #define FREEBSD32_SYS_freebsd32_aio_suspend 315 -#define FREEBSD32_SYS_freebsd32_aio_cancel 316 +#define FREEBSD32_SYS_aio_cancel 316 #define FREEBSD32_SYS_freebsd32_aio_error 317 -#define FREEBSD32_SYS_freebsd32_oaio_read 318 -#define FREEBSD32_SYS_freebsd32_oaio_write 319 -#define FREEBSD32_SYS_freebsd32_olio_listio 320 +#define FREEBSD32_SYS_freebsd6_freebsd32_aio_read 318 +#define FREEBSD32_SYS_freebsd6_freebsd32_aio_write 319 +#define FREEBSD32_SYS_freebsd6_freebsd32_lio_listio 320 #define FREEBSD32_SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ Modified: head/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscalls.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_syscalls.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ const char *freebsd32_syscallnames[] = { @@ -326,11 +326,11 @@ const char *freebsd32_syscallnames[] = { "obs_signanosleep", /* 313 = obsolete signanosleep */ "freebsd32_aio_return", /* 314 = freebsd32_aio_return */ "freebsd32_aio_suspend", /* 315 = freebsd32_aio_suspend */ - "freebsd32_aio_cancel", /* 316 = freebsd32_aio_cancel */ + "aio_cancel", /* 316 = aio_cancel */ "freebsd32_aio_error", /* 317 = freebsd32_aio_error */ - "freebsd32_oaio_read", /* 318 = freebsd32_oaio_read */ - "freebsd32_oaio_write", /* 319 = freebsd32_oaio_write */ - "freebsd32_olio_listio", /* 320 = freebsd32_olio_listio */ + "compat6.freebsd32_aio_read", /* 318 = freebsd6 freebsd32_aio_read */ + "compat6.freebsd32_aio_write", /* 319 = freebsd6 freebsd32_aio_write */ + "compat6.freebsd32_lio_listio", /* 320 = freebsd6 freebsd32_lio_listio */ "yield", /* 321 = yield */ "obs_thr_sleep", /* 322 = obsolete thr_sleep */ "obs_thr_wakeup", /* 323 = obsolete thr_wakeup */ Modified: head/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_sysent.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_sysent.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #include "opt_compat.h" @@ -302,9 +302,9 @@ struct sysent freebsd32_sysent[] = { { AS(openbsd_poll_args), (sy_call_t *)sys_openbsd_poll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 252 = openbsd_poll */ { 0, (sy_call_t *)sys_issetugid, AUE_ISSETUGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 253 = issetugid */ { AS(lchown_args), (sy_call_t *)sys_lchown, AUE_LCHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = lchown */ - { AS(freebsd32_aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 255 = freebsd32_aio_read */ - { AS(freebsd32_aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 256 = freebsd32_aio_write */ - { AS(freebsd32_lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 257 = freebsd32_lio_listio */ + { AS(freebsd32_aio_read_args), (sy_call_t *)freebsd32_aio_read, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = freebsd32_aio_read */ + { AS(freebsd32_aio_write_args), (sy_call_t *)freebsd32_aio_write, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 256 = freebsd32_aio_write */ + { AS(freebsd32_lio_listio_args), (sy_call_t *)freebsd32_lio_listio, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 257 = freebsd32_lio_listio */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 258 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 259 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 260 = nosys */ @@ -361,13 +361,13 @@ struct sysent freebsd32_sysent[] = { { AS(setresuid_args), (sy_call_t *)sys_setresuid, AUE_SETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = setresuid */ { AS(setresgid_args), (sy_call_t *)sys_setresgid, AUE_SETRESGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = setresgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 313 = obsolete signanosleep */ - { AS(freebsd32_aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 314 = freebsd32_aio_return */ - { AS(freebsd32_aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 315 = freebsd32_aio_suspend */ - { AS(freebsd32_aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 316 = freebsd32_aio_cancel */ - { AS(freebsd32_aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 317 = freebsd32_aio_error */ - { AS(freebsd32_oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 318 = freebsd32_oaio_read */ - { AS(freebsd32_oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 319 = freebsd32_oaio_write */ - { AS(freebsd32_olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 320 = freebsd32_olio_listio */ + { AS(freebsd32_aio_return_args), (sy_call_t *)freebsd32_aio_return, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = freebsd32_aio_return */ + { AS(freebsd32_aio_suspend_args), (sy_call_t *)freebsd32_aio_suspend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = freebsd32_aio_suspend */ + { AS(aio_cancel_args), (sy_call_t *)sys_aio_cancel, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = aio_cancel */ + { AS(freebsd32_aio_error_args), (sy_call_t *)freebsd32_aio_error, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = freebsd32_aio_error */ + { compat6(AS(freebsd6_freebsd32_aio_read_args),freebsd32_aio_read), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 318 = freebsd6 freebsd32_aio_read */ + { compat6(AS(freebsd6_freebsd32_aio_write_args),freebsd32_aio_write), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = freebsd6 freebsd32_aio_write */ + { compat6(AS(freebsd6_freebsd32_lio_listio_args),freebsd32_lio_listio), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = freebsd6 freebsd32_lio_listio */ { 0, (sy_call_t *)sys_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = yield */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 322 = obsolete thr_sleep */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 323 = obsolete thr_wakeup */ @@ -406,7 +406,7 @@ struct sysent freebsd32_sysent[] = { { AS(extattr_set_file_args), (sy_call_t *)sys_extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 356 = extattr_set_file */ { AS(extattr_get_file_args), (sy_call_t *)sys_extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 357 = extattr_get_file */ { AS(extattr_delete_file_args), (sy_call_t *)sys_extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 358 = extattr_delete_file */ - { AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 359 = freebsd32_aio_waitcomplete */ + { AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)freebsd32_aio_waitcomplete, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 359 = freebsd32_aio_waitcomplete */ { AS(getresuid_args), (sy_call_t *)sys_getresuid, AUE_GETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 360 = getresuid */ { AS(getresgid_args), (sy_call_t *)sys_getresgid, AUE_GETRESGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 361 = getresgid */ { 0, (sy_call_t *)sys_kqueue, AUE_KQUEUE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 362 = kqueue */ @@ -512,7 +512,7 @@ struct sysent freebsd32_sysent[] = { { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)sys_abort2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 463 = abort2 */ { AS(thr_set_name_args), (sy_call_t *)sys_thr_set_name, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 464 = thr_set_name */ - { AS(freebsd32_aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 465 = freebsd32_aio_fsync */ + { AS(freebsd32_aio_fsync_args), (sy_call_t *)freebsd32_aio_fsync, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 465 = freebsd32_aio_fsync */ { AS(rtprio_thread_args), (sy_call_t *)sys_rtprio_thread, AUE_RTPRIO, NULL, 0, 0, 0, SY_THR_STATIC }, /* 466 = rtprio_thread */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 467 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 468 = nosys */ @@ -609,7 +609,7 @@ struct sysent freebsd32_sysent[] = { { AS(chflagsat_args), (sy_call_t *)sys_chflagsat, AUE_CHFLAGSAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 540 = chflagsat */ { AS(accept4_args), (sy_call_t *)sys_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 541 = accept4 */ { AS(pipe2_args), (sy_call_t *)sys_pipe2, AUE_PIPE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 542 = pipe2 */ - { AS(freebsd32_aio_mlock_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 543 = freebsd32_aio_mlock */ + { AS(freebsd32_aio_mlock_args), (sy_call_t *)freebsd32_aio_mlock, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 543 = freebsd32_aio_mlock */ #ifdef PAD64_REQUIRED { AS(freebsd32_procctl_args), (sy_call_t *)freebsd32_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = freebsd32_procctl */ #else Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Wed Mar 9 19:06:46 2016 (r296573) @@ -1556,11 +1556,11 @@ systrace_args(int sysnum, void *params, *n_args = 3; break; } - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: { - struct freebsd32_aio_cancel_args *p = params; + struct aio_cancel_args *p = params; iarg[0] = p->fd; /* int */ - uarg[1] = (intptr_t) p->aiocbp; /* struct aiocb32 * */ + uarg[1] = (intptr_t) p->aiocbp; /* struct aiocb * */ *n_args = 2; break; } @@ -1571,30 +1571,6 @@ systrace_args(int sysnum, void *params, *n_args = 1; break; } - /* freebsd32_oaio_read */ - case 318: { - struct freebsd32_oaio_read_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb32 * */ - *n_args = 1; - break; - } - /* freebsd32_oaio_write */ - case 319: { - struct freebsd32_oaio_write_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb32 * */ - *n_args = 1; - break; - } - /* freebsd32_olio_listio */ - case 320: { - struct freebsd32_olio_listio_args *p = params; - iarg[0] = p->mode; /* int */ - uarg[1] = (intptr_t) p->acb_list; /* struct oaiocb32 *const * */ - iarg[2] = p->nent; /* int */ - uarg[3] = (intptr_t) p->sig; /* struct osigevent32 * */ - *n_args = 4; - break; - } /* yield */ case 321: { *n_args = 0; @@ -5813,14 +5789,14 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: switch(ndx) { case 0: p = "int"; break; case 1: - p = "struct aiocb32 *"; + p = "struct aiocb *"; break; default: break; @@ -5836,45 +5812,6 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* freebsd32_oaio_read */ - case 318: - switch(ndx) { - case 0: - p = "struct oaiocb32 *"; - break; - default: - break; - }; - break; - /* freebsd32_oaio_write */ - case 319: - switch(ndx) { - case 0: - p = "struct oaiocb32 *"; - break; - default: - break; - }; - break; - /* freebsd32_olio_listio */ - case 320: - switch(ndx) { - case 0: - p = "int"; - break; - case 1: - p = "struct oaiocb32 *const *"; - break; - case 2: - p = "int"; - break; - case 3: - p = "struct osigevent32 *"; - break; - default: - break; - }; - break; /* yield */ case 321: break; @@ -9884,7 +9821,7 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: if (ndx == 0 || ndx == 1) p = "int"; @@ -9894,21 +9831,6 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* freebsd32_oaio_read */ - case 318: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* freebsd32_oaio_write */ - case 319: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* freebsd32_olio_listio */ - case 320: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* yield */ case 321: /* mlockall */ Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/init_sysent.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #include "opt_compat.h" @@ -295,9 +295,9 @@ struct sysent sysent[] = { { AS(openbsd_poll_args), (sy_call_t *)sys_openbsd_poll, AUE_POLL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 252 = openbsd_poll */ { 0, (sy_call_t *)sys_issetugid, AUE_ISSETUGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 253 = issetugid */ { AS(lchown_args), (sy_call_t *)sys_lchown, AUE_LCHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = lchown */ - { AS(aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 255 = aio_read */ - { AS(aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 256 = aio_write */ - { AS(lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 257 = lio_listio */ + { AS(aio_read_args), (sy_call_t *)sys_aio_read, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 255 = aio_read */ + { AS(aio_write_args), (sy_call_t *)sys_aio_write, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 256 = aio_write */ + { AS(lio_listio_args), (sy_call_t *)sys_lio_listio, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 257 = lio_listio */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 258 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 259 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 260 = nosys */ @@ -354,13 +354,13 @@ struct sysent sysent[] = { { AS(setresuid_args), (sy_call_t *)sys_setresuid, AUE_SETRESUID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 311 = setresuid */ { AS(setresgid_args), (sy_call_t *)sys_setresgid, AUE_SETRESGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 312 = setresgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 313 = obsolete signanosleep */ - { AS(aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 314 = aio_return */ - { AS(aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 315 = aio_suspend */ - { AS(aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 316 = aio_cancel */ - { AS(aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 317 = aio_error */ - { AS(oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 318 = oaio_read */ - { AS(oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 319 = oaio_write */ - { AS(olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 320 = olio_listio */ + { AS(aio_return_args), (sy_call_t *)sys_aio_return, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 314 = aio_return */ + { AS(aio_suspend_args), (sy_call_t *)sys_aio_suspend, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 315 = aio_suspend */ + { AS(aio_cancel_args), (sy_call_t *)sys_aio_cancel, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 316 = aio_cancel */ + { AS(aio_error_args), (sy_call_t *)sys_aio_error, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 317 = aio_error */ + { compat6(AS(freebsd6_aio_read_args),aio_read), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 318 = freebsd6 aio_read */ + { compat6(AS(freebsd6_aio_write_args),aio_write), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 319 = freebsd6 aio_write */ + { compat6(AS(freebsd6_lio_listio_args),lio_listio), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 320 = freebsd6 lio_listio */ { 0, (sy_call_t *)sys_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 321 = yield */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 322 = obsolete thr_sleep */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 323 = obsolete thr_wakeup */ @@ -399,7 +399,7 @@ struct sysent sysent[] = { { AS(extattr_set_file_args), (sy_call_t *)sys_extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 356 = extattr_set_file */ { AS(extattr_get_file_args), (sy_call_t *)sys_extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 357 = extattr_get_file */ { AS(extattr_delete_file_args), (sy_call_t *)sys_extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 358 = extattr_delete_file */ - { AS(aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 359 = aio_waitcomplete */ + { AS(aio_waitcomplete_args), (sy_call_t *)sys_aio_waitcomplete, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 359 = aio_waitcomplete */ { AS(getresuid_args), (sy_call_t *)sys_getresuid, AUE_GETRESUID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 360 = getresuid */ { AS(getresgid_args), (sy_call_t *)sys_getresgid, AUE_GETRESGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 361 = getresgid */ { 0, (sy_call_t *)sys_kqueue, AUE_KQUEUE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 362 = kqueue */ @@ -505,7 +505,7 @@ struct sysent sysent[] = { { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)sys_abort2, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 463 = abort2 */ { AS(thr_set_name_args), (sy_call_t *)sys_thr_set_name, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 464 = thr_set_name */ - { AS(aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 465 = aio_fsync */ + { AS(aio_fsync_args), (sy_call_t *)sys_aio_fsync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 465 = aio_fsync */ { AS(rtprio_thread_args), (sy_call_t *)sys_rtprio_thread, AUE_RTPRIO, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 466 = rtprio_thread */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 467 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 468 = nosys */ @@ -583,7 +583,7 @@ struct sysent sysent[] = { { AS(chflagsat_args), (sy_call_t *)sys_chflagsat, AUE_CHFLAGSAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 540 = chflagsat */ { AS(accept4_args), (sy_call_t *)sys_accept4, AUE_ACCEPT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 541 = accept4 */ { AS(pipe2_args), (sy_call_t *)sys_pipe2, AUE_PIPE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 542 = pipe2 */ - { AS(aio_mlock_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 543 = aio_mlock */ + { AS(aio_mlock_args), (sy_call_t *)sys_aio_mlock, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 543 = aio_mlock */ { AS(procctl_args), (sy_call_t *)sys_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = procctl */ { AS(ppoll_args), (sy_call_t *)sys_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = ppoll */ { AS(futimens_args), (sy_call_t *)sys_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = futimens */ Modified: head/sys/kern/syscalls.c ============================================================================== --- head/sys/kern/syscalls.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/syscalls.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ const char *syscallnames[] = { @@ -325,9 +325,9 @@ const char *syscallnames[] = { "aio_suspend", /* 315 = aio_suspend */ "aio_cancel", /* 316 = aio_cancel */ "aio_error", /* 317 = aio_error */ - "oaio_read", /* 318 = oaio_read */ - "oaio_write", /* 319 = oaio_write */ - "olio_listio", /* 320 = olio_listio */ + "compat6.aio_read", /* 318 = freebsd6 aio_read */ + "compat6.aio_write", /* 319 = freebsd6 aio_write */ + "compat6.lio_listio", /* 320 = freebsd6 lio_listio */ "yield", /* 321 = yield */ "obs_thr_sleep", /* 322 = obsolete thr_sleep */ "obs_thr_wakeup", /* 323 = obsolete thr_wakeup */ Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/systrace_args.c Wed Mar 9 19:06:46 2016 (r296573) @@ -1605,30 +1605,6 @@ systrace_args(int sysnum, void *params, *n_args = 1; break; } - /* oaio_read */ - case 318: { - struct oaio_read_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb * */ - *n_args = 1; - break; - } - /* oaio_write */ - case 319: { - struct oaio_write_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb * */ - *n_args = 1; - break; - } - /* olio_listio */ - case 320: { - struct olio_listio_args *p = params; - iarg[0] = p->mode; /* int */ - uarg[1] = (intptr_t) p->acb_list; /* struct oaiocb *const * */ - iarg[2] = p->nent; /* int */ - uarg[3] = (intptr_t) p->sig; /* struct osigevent * */ - *n_args = 4; - break; - } /* yield */ case 321: { *n_args = 0; @@ -5899,45 +5875,6 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* oaio_read */ - case 318: - switch(ndx) { - case 0: - p = "struct oaiocb *"; - break; - default: - break; - }; - break; - /* oaio_write */ - case 319: - switch(ndx) { - case 0: - p = "struct oaiocb *"; - break; - default: - break; - }; - break; - /* olio_listio */ - case 320: - switch(ndx) { - case 0: - p = "int"; - break; - case 1: - p = "struct oaiocb *const *"; - break; - case 2: - p = "int"; - break; - case 3: - p = "struct osigevent *"; - break; - default: - break; - }; - break; /* yield */ case 321: break; @@ -9876,21 +9813,6 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* oaio_read */ - case 318: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* oaio_write */ - case 319: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* olio_listio */ - case 320: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* yield */ case 321: /* mlockall */ Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/syscall.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #define SYS_syscall 0 @@ -260,9 +260,9 @@ #define SYS_aio_suspend 315 #define SYS_aio_cancel 316 #define SYS_aio_error 317 -#define SYS_oaio_read 318 -#define SYS_oaio_write 319 -#define SYS_olio_listio 320 +#define SYS_freebsd6_aio_read 318 +#define SYS_freebsd6_aio_write 319 +#define SYS_freebsd6_lio_listio 320 #define SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/syscall.mk Wed Mar 9 19:06:46 2016 (r296573) @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ -# created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian +# created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb MIASM = \ syscall.o \ exit.o \ @@ -211,9 +211,9 @@ MIASM = \ aio_suspend.o \ aio_cancel.o \ aio_error.o \ - oaio_read.o \ - oaio_write.o \ - olio_listio.o \ + freebsd6_aio_read.o \ + freebsd6_aio_write.o \ + freebsd6_lio_listio.o \ yield.o \ mlockall.o \ munlockall.o \ Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/sysproto.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #ifndef _SYS_SYSPROTO_H_ @@ -844,18 +844,6 @@ struct aio_cancel_args { struct aio_error_args { char aiocbp_l_[PADL_(struct aiocb *)]; struct aiocb * aiocbp; char aiocbp_r_[PADR_(struct aiocb *)]; }; -struct oaio_read_args { - char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; -}; -struct oaio_write_args { - char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; -}; -struct olio_listio_args { - char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; - char acb_list_l_[PADL_(struct oaiocb *const *)]; struct oaiocb *const * acb_list; char acb_list_r_[PADR_(struct oaiocb *const *)]; - char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; - char sig_l_[PADL_(struct osigevent *)]; struct osigevent * sig; char sig_r_[PADR_(struct osigevent *)]; -}; struct yield_args { register_t dummy; }; @@ -1989,9 +1977,6 @@ int sys_aio_return(struct thread *, stru int sys_aio_suspend(struct thread *, struct aio_suspend_args *); int sys_aio_cancel(struct thread *, struct aio_cancel_args *); int sys_aio_error(struct thread *, struct aio_error_args *); -int sys_oaio_read(struct thread *, struct oaio_read_args *); -int sys_oaio_write(struct thread *, struct oaio_write_args *); -int sys_olio_listio(struct thread *, struct olio_listio_args *); int sys_yield(struct thread *, struct yield_args *); int sys_mlockall(struct thread *, struct mlockall_args *); int sys_munlockall(struct thread *, struct munlockall_args *); @@ -2465,12 +2450,27 @@ struct freebsd6_ftruncate_args { char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; }; +struct freebsd6_aio_read_args { + char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; +}; +struct freebsd6_aio_write_args { + char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; +}; +struct freebsd6_lio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct oaiocb *const *)]; struct oaiocb *const * acb_list; char acb_list_r_[PADR_(struct oaiocb *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct osigevent *)]; struct osigevent * sig; char sig_r_[PADR_(struct osigevent *)]; +}; int freebsd6_pread(struct thread *, struct freebsd6_pread_args *); int freebsd6_pwrite(struct thread *, struct freebsd6_pwrite_args *); int freebsd6_mmap(struct thread *, struct freebsd6_mmap_args *); int freebsd6_lseek(struct thread *, struct freebsd6_lseek_args *); int freebsd6_truncate(struct thread *, struct freebsd6_truncate_args *); int freebsd6_ftruncate(struct thread *, struct freebsd6_ftruncate_args *); +int freebsd6_aio_read(struct thread *, struct freebsd6_aio_read_args *); +int freebsd6_aio_write(struct thread *, struct freebsd6_aio_write_args *); +int freebsd6_lio_listio(struct thread *, struct freebsd6_lio_listio_args *); #endif /* COMPAT_FREEBSD6 */ @@ -2741,9 +2741,9 @@ int freebsd7_shmctl(struct thread *, str #define SYS_AUE_aio_suspend AUE_NULL #define SYS_AUE_aio_cancel AUE_NULL #define SYS_AUE_aio_error AUE_NULL -#define SYS_AUE_oaio_read AUE_NULL -#define SYS_AUE_oaio_write AUE_NULL -#define SYS_AUE_olio_listio AUE_NULL +#define SYS_AUE_freebsd6_aio_read AUE_NULL +#define SYS_AUE_freebsd6_aio_write AUE_NULL +#define SYS_AUE_freebsd6_lio_listio AUE_NULL #define SYS_AUE_yield AUE_NULL #define SYS_AUE_mlockall AUE_MLOCKALL #define SYS_AUE_munlockall AUE_MUNLOCKALL From owner-svn-src-head@freebsd.org Wed Mar 9 19:36:26 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85B7AACA2F4; Wed, 9 Mar 2016 19:36:26 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5762F20C; Wed, 9 Mar 2016 19:36:26 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29JaPXi035205; Wed, 9 Mar 2016 19:36:25 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29JaPS8035203; Wed, 9 Mar 2016 19:36:25 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603091936.u29JaPS8035203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Wed, 9 Mar 2016 19:36:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296574 - in head/sys: dev/md modules/md X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:36:26 -0000 Author: sobomax Date: Wed Mar 9 19:36:25 2016 New Revision: 296574 URL: https://svnweb.freebsd.org/changeset/base/296574 Log: For the MD_ROOT option don't inject /dev/md0 as root dev when ROOTDEVNAME is defined explicitly. It's kinda pointless and results in extra step in boot sequence which is not really needed, i.e.: md0: Embedded image 1331200 bytes at 0x8038b7b4 Trying to mount root from ufs:/dev/md0 []... Mounting from ufs:/dev/md0 failed with error 22. Trying to mount root from ufs:md0.uzip []... warning: no time-of-day clock registered, system time will not be set accurately start_init: trying /sbin/init Modified: head/sys/dev/md/md.c head/sys/modules/md/Makefile Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Wed Mar 9 19:06:46 2016 (r296573) +++ head/sys/dev/md/md.c Wed Mar 9 19:36:25 2016 (r296574) @@ -58,6 +58,7 @@ * From: src/sys/dev/vn/vn.c,v 1.122 2000/12/16 16:06:03 */ +#include "opt_rootdevname.h" #include "opt_geom.h" #include "opt_md.h" @@ -1732,7 +1733,7 @@ md_preloaded(u_char *image, size_t lengt sc->pl_ptr = image; sc->pl_len = length; sc->start = mdstart_preload; -#ifdef MD_ROOT +#if defined(MD_ROOT) && !defined(ROOTDEVNAME) if (sc->unit == 0) rootdevnames[0] = MD_ROOT_FSTYPE ":/dev/md0"; #endif Modified: head/sys/modules/md/Makefile ============================================================================== --- head/sys/modules/md/Makefile Wed Mar 9 19:06:46 2016 (r296573) +++ head/sys/modules/md/Makefile Wed Mar 9 19:36:25 2016 (r296574) @@ -3,6 +3,6 @@ .PATH: ${.CURDIR}/../../dev/md KMOD= geom_md -SRCS= md.c opt_md.h opt_geom.h vnode_if.h +SRCS= md.c opt_md.h opt_geom.h opt_rootdevname.h vnode_if.h .include From owner-svn-src-head@freebsd.org Wed Mar 9 19:50:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83250ACA8F2; Wed, 9 Mar 2016 19:50:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 557EAC89; Wed, 9 Mar 2016 19:50:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29JoZSG040691; Wed, 9 Mar 2016 19:50:35 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29JoZJr040689; Wed, 9 Mar 2016 19:50:35 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603091950.u29JoZJr040689@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 19:50:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296575 - in head: share/man/man4 sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:50:36 -0000 Author: bdrewery Date: Wed Mar 9 19:50:35 2016 New Revision: 296575 URL: https://svnweb.freebsd.org/changeset/base/296575 Log: FILEMON_SET_FD: Disallow changing the fd. MFC after: 1 week Suggested by: mjg Sponsored by: EMC / Isilon Storage Division Modified: head/share/man/man4/filemon.4 head/sys/dev/filemon/filemon.c Modified: head/share/man/man4/filemon.4 ============================================================================== --- head/share/man/man4/filemon.4 Wed Mar 9 19:36:25 2016 (r296574) +++ head/share/man/man4/filemon.4 Wed Mar 9 19:50:35 2016 (r296575) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2016 +.Dd March 9, 2016 .Dt FILEMON 4 .Os .Sh NAME @@ -125,6 +125,19 @@ function returns the value 0 if successf otherwise the value \-1 is returned and the global variable .Va errno is set to indicate the error. +.Sh ERRORS +The +.Fn ioctl +system call +with +.Dv FILEMON_SET_FD +will fail if: +.Bl -tag -width Er +.It Bq Er EEXIST +The +.Nm +handle is already associated with a file descriptor. +.El .Sh FILES .Bl -tag -width ".Pa /dev/filemon" .It Pa /dev/filemon Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Wed Mar 9 19:36:25 2016 (r296574) +++ head/sys/dev/filemon/filemon.c Wed Mar 9 19:50:35 2016 (r296575) @@ -163,8 +163,10 @@ filemon_ioctl(struct cdev *dev, u_long c switch (cmd) { /* Set the output file descriptor. */ case FILEMON_SET_FD: - if (filemon->fp != NULL) - fdrop(filemon->fp, td); + if (filemon->fp != NULL) { + error = EEXIST; + break; + } error = fget_write(td, *(int *)data, cap_rights_init(&rights, CAP_PWRITE), From owner-svn-src-head@freebsd.org Wed Mar 9 20:15:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1663BAC9005; Wed, 9 Mar 2016 20:15:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D28E11A62; Wed, 9 Mar 2016 20:15:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29KF36L047596; Wed, 9 Mar 2016 20:15:03 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29KF3QI047595; Wed, 9 Mar 2016 20:15:03 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092015.u29KF3QI047595@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 20:15:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296576 - head/tools/regression/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:15:05 -0000 Author: bdrewery Date: Wed Mar 9 20:15:03 2016 New Revision: 296576 URL: https://svnweb.freebsd.org/changeset/base/296576 Log: Remove these broken filemon tests. They were not very useful in their current state. It only ran a fork bomb, confirmed headers/footers matched, hard-coded the number of expected entries (rather than ensuring each entry is present when expected), and was missing a sizeof_long.c file from r251368 which makes its intent for testing 32-bit binaries unclear. More extensive tests should be written with ATF now. Deleted: head/tools/regression/filemon/ From owner-svn-src-head@freebsd.org Wed Mar 9 20:48:05 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8C377AC9B2E; Wed, 9 Mar 2016 20:48:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qk0-x22d.google.com (mail-qk0-x22d.google.com [IPv6:2607:f8b0:400d:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EFA0BBE; Wed, 9 Mar 2016 20:48:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qk0-x22d.google.com with SMTP id s68so25788249qkh.3; Wed, 09 Mar 2016 12:48:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=imaM4jXpcuaE9RnVhPXj4qgHofiMygY+sXlyY7KV1X4=; b=RowKg/MGwS9iIfAIpblsAeclQmlDIGYMeGJEHifBhmI9WmhE71CAP2dnIEZAuUjqAV PcZ1A0u1PuvKPTUJtSvHK3rLAnmPvynkb9fa9VrPnk3OkIrm8sW9UfDAYqdXfneB3G70 qQNZtHDXiXc7+MBaFckjagy2VZfqgASlNUd0o5AlKTZDJwCnzZCYuEsuXCAiFpTJl/+1 o1NfJTBOZ4GRO7zW4FADNtWAmwPs3LPUiTwhF6GP6vpwuzdJsnVUEIPFwAhySU8xr9I+ fK2d7Wi01mQT1zXQ6xKqASwg2iOcM4IOISex1Ln1BBV8rr7TBBlbDR46jn2L6qunwSal Ca7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=imaM4jXpcuaE9RnVhPXj4qgHofiMygY+sXlyY7KV1X4=; b=FaoLaAP01H+D3sM4TKTwu+GBRyc5wKWcuw6JUNXtT2jG429tSnuivclpg88VmK34R9 OJxw1oyD7KvpDLUbDKiRzxpa7Y2mHtMKouyyBykvyZjeiFWdOuYgA+BVrxMBKiNlm0uj 3wz5FqIGOVOODKaG3Hx1UkUUSCGJgSUBATGCcejxyz+K+iV8yUKsn6IpGR+MO1AYtkDV 9C6d6hlVJ8JZVAzZ6IAR5KGySsKmGNLkZ3omYZ9lDEcNd2s0szYWXzH9/alRSOzQidwi QaFhkPtikRwmRdzrGempj+MRtfIqN01j+LLjdJszg/jl2neNKEn6a5APJMXiKvlI+zAz 0PZg== X-Gm-Message-State: AD7BkJIVtBNWXnAWxP5b9xjbVTfNapUP0k4V2fnfXnVp0mosFBjKB+m2U9OpwzhogGUjMA== X-Received: by 10.55.53.207 with SMTP id c198mr388178qka.24.1457556484336; Wed, 09 Mar 2016 12:48:04 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id 103sm174030qgm.42.2016.03.09.12.48.01 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 12:48:03 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: Date: Wed, 9 Mar 2016 17:47:59 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <54346962-7404-4EA0-AF31-1B2B87138FEE@FreeBSD.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:48:05 -0000 --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8 Content-Type: multipart/mixed; boundary="Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1" --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 12:58, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 12:33, Renato Botelho wrote: >>=20 >>> On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>>=20 >>> On 09/03/2016 10:48, Renato Botelho wrote: >>>>=20 >>>> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >>>=20 >>> Hi! >>>=20 >>> Could you please test the following things? >>>=20 >>> 1. Try to boot without loading i915kms from /boot/loader.conf, then >>> kldload it manually and see what happens. >>=20 >> It works fine if I load it after boot. >>=20 >>> 2. Try to boot a kernel built with the parent commit >>=20 >> I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know >=20 > After revert it to r296547 and manually apply ZFS fix I can = successfully load i915kms during boot. >=20 > Just let me know what I can do to help from now to collect all the = data you need. I=E2=80=99ll move it to recent -current and load i915kms = after boot. Here is dmesg output on r296567, loading i915kms after boot and running = startx: --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Disposition: attachment; filename=dmesg_output.txt Content-Type: text/plain; name="dmesg_output.txt" Content-Transfer-Encoding: quoted-printable Copyright (c) 1992-2016 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights = reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 11.0-CURRENT #6 r296567: Wed Mar 9 15:08:44 BRT 2016 root@:/usr/obj/usr/src/sys/GENERIC amd64 FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on = LLVM 3.8.0) WARNING: WITNESS option enabled, expect reduced performance. VT(efifb): resolution 640x480 CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (2494.39-MHz K8-class CPU) Origin=3D"GenuineIntel" Id=3D0x306a9 Family=3D0x6 Model=3D0x3a = Stepping=3D9 = Features=3D0xbfebfbff = Features2=3D0x7fbae3bf AMD Features=3D0x28100800 AMD Features2=3D0x1 Structured Extended Features=3D0x281 XSAVE Features=3D0x1 VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID TSC: P-state invariant, performance statistics real memory =3D 12884901888 (12288 MB) avail memory =3D 12233527296 (11666 MB) Event timer "LAPIC" quality 600 ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 SMT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 random: unblocking device. ioapic0 irqs 0-23 on motherboard random: entropy device external interface kbd1 at kbdmux0 netmap: loaded module module_register_init: MOD_LOAD (vesa, 0xffffffff80efff90, 0) error 19 random: registering fast source Intel Secure Key RNG random: fast provider: "Intel Secure Key RNG" cryptosoft0: on motherboard acpi0: on motherboard acpi_ec0: port 0x62,0x66 on acpi0 acpi0: Power Button (fixed) cpu0: on acpi0 cpu1: on acpi0 cpu2: on acpi0 cpu3: on acpi0 attimer0: port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 hpet0: iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 550 Event timer "HPET1" frequency 14318180 Hz quality 440 Event timer "HPET2" frequency 14318180 Hz quality 440 Event timer "HPET3" frequency 14318180 Hz quality 440 Event timer "HPET4" frequency 14318180 Hz quality 440 atrtc0: port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 acpi_lid0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 vgapci0: port 0x6000-0x603f mem = 0xf0000000-0xf03fffff,0xe0000000-0xefffffff at device 2.0 on pci0 agp0: on vgapci0 agp0: aperture size is 256M, detected 65532k stolen memory vgapci0: Boot video device xhci0: mem = 0xf2520000-0xf252ffff at device 20.0 on pci0 xhci0: 32 bytes context size, 64-bit DMA xhci0: Port routing mask set to 0xffffffff usbus0 on xhci0 pci0: at device 22.0 (no driver attached) em0: port 0x6080-0x609f = mem 0xf2500000-0xf251ffff,0xf253b000-0xf253bfff at device 25.0 on pci0 em0: Using an MSI interrupt em0: Ethernet address: 00:21:cc:ca:81:68 em0: netmap queues/slots: TX 1/1024, RX 1/1024 ehci0: mem = 0xf253a000-0xf253a3ff at device 26.0 on pci0 usbus1: EHCI version 1.0 usbus1 on ehci0 hdac0: mem 0xf2530000-0xf2533fff at = device 27.0 on pci0 pcib1: at device 28.0 on pci0 pci1: on pcib1 sdhci_pci0: mem 0xf1d00000-0xf1d000ff at device 0.0 = on pci1 sdhci_pci0: 1 slot(s) allocated pcib2: at device 28.1 on pci0 pci2: on pcib2 rtwn0: port 0x4000-0x40ff mem 0xf1c00000-0xf1c03fff = at device 0.0 on pci2 rtwn0: MAC/BB RTL8188CE, RF 6052 1T1R pcib3: at device 28.2 on pci0 pci3: on pcib3 ehci1: mem = 0xf2539000-0xf25393ff at device 29.0 on pci0 usbus2: EHCI version 1.0 usbus2 on ehci1 isab0: at device 31.0 on pci0 isa0: on isab0 ahci0: port = 0x60a8-0x60af,0x60b4-0x60b7,0x60a0-0x60a7,0x60b0-0x60b3,0x6060-0x607f = mem 0xf2538000-0xf25387ff at device 31.2 on pci0 ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported ahcich0: at channel 0 on ahci0 ahcich1: at channel 1 on ahci0 ahcich4: at channel 4 on ahci0 ahciem0: on ahci0 acpi_tz0: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Generic PS/2 mouse, device ID 0 battery0: on acpi0 acpi_acad0: on acpi0 ppc0: cannot reserve I/O port range est0: on cpu0 est1: on cpu1 est2: on cpu2 est3: on cpu3 usbus0: 5.0Gbps Super Speed USB v3.0 ZFS filesystem version: 5 ZFS storage pool version: features support (5000) Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. hdacc0: at cad 0 on hdac0 hdaa0: at nid 1 on hdacc0 pcm0: at nid 20,21 and 24 on hdaa0 pcm1: at nid 18 on hdaa0 hdacc1: at cad 3 on hdac0 hdaa1: at nid 1 on hdacc1 pcm2: at nid 5 on hdaa1 pcm3: at nid 6 on hdaa1 pcm4: at nid 7 on hdaa1 usbus1: 480Mbps High Speed USB v2.0 usbus2: 480Mbps High Speed USB v2.0 ugen0.1: <0x8086> at usbus0 uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on = usbus0 ugen1.1: at usbus1 uhub1: on usbus1 ugen2.1: at usbus2 uhub2: on usbus2 ses0 at ahciem0 bus 0 scbus3 target 0 lun 0 ses0: SEMB S-E-S 2.00 device cd0 at ahcich1 bus 0 scbus1 target 0 lun 0 cd0: Removable CD-ROM SCSI device cd0: Serial Number M14C9BD4905 cd0: 150.000MB/s transfers (SATA 1.x, UDMA2, ATAPI 12bytes, PIO = 8192bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present = - tray closed ses0: SEMB SES Device ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: ATA8-ACS SATA 2.x device ada0: Serial Number TF1500Y9GY454B ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 476940MB (976773168 512 byte sectors) SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! Timecounter "TSC-low" frequency 1247194924 Hz quality 1000 WARNING: WITNESS option enabled, expect reduced performance. Trying to mount root from zfs:zroot/ROOT/default []... uhub0: 8 ports with 8 removable, self powered Root mount waiting for: usbus2 usbus1 uhub1: 3 ports with 3 removable, self powered uhub2: 3 ports with 3 removable, self powered Root mount waiting for: usbus2 usbus1 ugen1.2: at usbus1 uhub3: = on usbus1 ugen2.2: at usbus2 uhub4: = on usbus2 Root mount waiting for: usbus2 usbus1 uhub3: 6 ports with 6 removable, self powered uhub4: 8 ports with 8 removable, self powered ugen1.3: at usbus1 Root mount waiting for: usbus1 ugen1.4: at usbus1 ugen1.5: at usbus1 GEOM_ELI: Device ada0p2.eli created. GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: software ubt0: on usbus1 WARNING: attempt to domain_add(bluetooth) after domainfinalize() WARNING: attempt to domain_add(netgraph) after domainfinalize() em0: link state changed to UP bridge254: Ethernet address: 02:e6:6a:d1:36:fe info: [drm] Initialized drm 1.1.0 20060810 drmn0: on vgapci0 info: [drm] Memory usable by graphics device =3D 2048M info: [drm] MTRR allocation failed. Graphics performance may suffer. iicbus0: on iicbb0 addr 0xff iic0: on iicbus0 iic1: on iicbus1 iicbus2: on iicbb1 addr 0x0 iic2: on iicbus2 iic3: on iicbus3 iicbus4: on iicbb2 addr 0x0 iic4: on iicbus4 iic5: on iicbus5 iicbus6: on iicbb3 addr 0x0 iic6: on iicbus6 iic7: on iicbus7 iicbus8: on iicbb4 addr 0x0 iic8: on iicbus8 iic9: on iicbus9 iicbus10: on iicbb5 addr 0x0 iic10: on iicbus10 iic11: on iicbus11 info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. info: [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit = banging on pin 5 drmn0: taking over the fictitious range 0xe0000000-0xf0000000 info: [drm] Connector LVDS-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.LVDS-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector VGA-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.VGA-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-2: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-2 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-3: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-3 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-2: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-2 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-3: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-3 info: [drm] - kern.vt.fb.default_mode fbd0 on drmn0 VT: Replacing driver "efifb" with new "fb". info: [drm] Initialized i915 1.6.0 20080730 for drmn0 on minor 0 info: [drm] Enabling RC6 states: RC6 on, RC6p on, RC6pp off --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii -- Renato Botelho --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1-- --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4Iv/AAoJEPHw56GfYleQSq0P/AnuE9hW1/7K9BgM8mZCfzgv IGzVn3vTdZU/hh5z+xclJCa2j2jBfQx1lJgIg0eaNsfB02R61kkqCGhGVaSZ9/Dm cMCScOkqyBhbRnEdxJ8aqtfaGwOZMQN/qLGWUqNUCLi4ngwxMKs5M2O6nvcIzRG8 jTv//tvpwTxXTPnG3HZAt4LE7Hxyqlrr1CXApW8wkqVVLmN4B45ISDtohOxryIrR CAiSVckwOT8BNZygSYEUoyN8wX9vrLM89PYgOOxQQ1RZmmkBKYiKh/GbR2u5ZRbc I4+jePNPe4W8kTTYs9EKgrBOCKqShjJoaYl70cqNE1ySUOtMU1pcbq/t/ZnXsa5g 45ds8uFISyZNq+lASZ8kpLJo7Z9JuoKHZJ4bfCWxoBLM7U07jo+7dOj7N43WyOpY /lm2Mh3htgUVGZpJ/Fkk5UOzGmeV2EZd4KEKwsKPSFo3rVxxMgsuspZuCW9crlu2 XMMCEkxIZFKbvCoOw/aBnucWOWXP3vQngyuyaILG4mWWz3idWXMi1Kn66DzTqgvp xm37av931VjjMz9w9T5kNmaqeQXhNZg7H3mF9F27cI9E+XEdS9AXBXeBR6CSUDf2 iKOo6syBwJDfBQYACt2bAo+gbDkXAWkbSSnYH7aDOiqY79nRXs/e87lUrFw2lJoX noOay6KTg3q/mz/4SVj1 =y4ll -----END PGP SIGNATURE----- --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8-- From owner-svn-src-head@freebsd.org Wed Mar 9 20:48:46 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3736AC9BB0; Wed, 9 Mar 2016 20:48:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 803F4D2C; Wed, 9 Mar 2016 20:48:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-ig0-x231.google.com with SMTP id vs8so1649229igb.1; Wed, 09 Mar 2016 12:48:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=MPZQLiDV+9QAYyM4kbDF2ixcEJDmkLCFgSrZtse5yV8=; b=Lqk0yKhte1yY6b7lOlNbLS5cVqduFRKx/3aSUzech1Kz6LKTgRXXE+tis2thabqJzY PWnj1lZdGUUMc7O2oPfkn0pcgxc8UBAYb9zkw4eonkn7bJhE+depmi6n8pu+XVjS03pG QqnUewywFbJ9v0JA+3B/GZq8JLRa+wkf83pnpXK1QxeY1PV+dAc+XU15ZxAhJQBoNBuB PVODuI5YlzRH5SS1NVXsxttcA31y2bZajIDp4OkXSS2E7h2BOGz2IjlVbj3DIf5zupq+ bh+16Z7MZrBc/kzioT2uXJoZD33N8KFM36qp7XYYf4ury/K2nshKpYVhYTamsBVl9Lo0 Gr+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=MPZQLiDV+9QAYyM4kbDF2ixcEJDmkLCFgSrZtse5yV8=; b=dfcjt5ipLIUxzBM4e3zDmbH/PEfvn4TAmzo5ePLwQ4YvIkCRbMdNsiFJ8axpGNPw5w 1NWCLIxyw1dCzRa0o+1C0YVNvgsKttCKQ/w2SRyFGnanQTyyeOFc990JlA0PTVUYLhXP gX0+S/P++cdcvisGU00dya49UQYtzD12/XCEfTF1LA2rQYqy5FZRo6kCAFpO1v+QBene J0eT88eXt9fhYiDv1alMLrUAgIYckPy3CPRQEyPmeEwD8axCVmd+KYL4dOMe3LqdsHcG FRSVGm/SDiHt64/nwkXX67vwzSJDMDCBQmTWa5g5nGwxN+gJzYkQXJOHdmJBR9JSxi56 vqOg== X-Gm-Message-State: AD7BkJIARuL3tnanHjCqQG+6392OrSt9T2rHShgjYSh03zRY9GlqolANivCAqAfuRfneWClWaLTslsb0LBuYCQ== MIME-Version: 1.0 X-Received: by 10.50.78.200 with SMTP id d8mr308242igx.61.1457556526007; Wed, 09 Mar 2016 12:48:46 -0800 (PST) Received: by 10.36.14.19 with HTTP; Wed, 9 Mar 2016 12:48:45 -0800 (PST) In-Reply-To: <201603082033.u28KX2OL014139@repo.freebsd.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 12:48:45 -0800 Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Adrian Chadd To: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:48:46 -0000 Woo! Just so its' not lost - people in irc have found power consumption has jumped dramatically since this commit. :( -adrian From owner-svn-src-head@freebsd.org Wed Mar 9 21:00:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CDC37AC803C; Wed, 9 Mar 2016 21:00:58 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FED7372; Wed, 9 Mar 2016 21:00:58 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29L0vFB061922; Wed, 9 Mar 2016 21:00:57 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29L0vAc061921; Wed, 9 Mar 2016 21:00:57 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603092100.u29L0vAc061921@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 9 Mar 2016 21:00:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296577 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:00:58 -0000 Author: jilles Date: Wed Mar 9 21:00:57 2016 New Revision: 296577 URL: https://svnweb.freebsd.org/changeset/base/296577 Log: sh: Avoid out-of-bounds access in setoptionbyindex() for 'set -o nolog'. Reported by: hrs Modified: head/bin/sh/options.c Modified: head/bin/sh/options.c ============================================================================== --- head/bin/sh/options.c Wed Mar 9 20:15:03 2016 (r296576) +++ head/bin/sh/options.c Wed Mar 9 21:00:57 2016 (r296577) @@ -285,7 +285,7 @@ minus_o(char *name, int val) static void setoptionbyindex(int idx, int val) { - if (optletter[idx] == 'p' && !val && privileged) { + if (&optval[idx] == &privileged && !val && privileged) { if (setgid(getgid()) == -1) error("setgid"); if (setuid(getuid()) == -1) @@ -294,9 +294,9 @@ setoptionbyindex(int idx, int val) optval[idx] = val; if (val) { /* #%$ hack for ksh semantics */ - if (optletter[idx] == 'V') + if (&optval[idx] == &Vflag) Eflag = 0; - else if (optletter[idx] == 'E') + else if (&optval[idx] == &Eflag) Vflag = 0; } } From owner-svn-src-head@freebsd.org Wed Mar 9 21:05:23 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A141AC8347; Wed, 9 Mar 2016 21:05:23 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C363AF0; Wed, 9 Mar 2016 21:05:23 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29L5MQI062856; Wed, 9 Mar 2016 21:05:22 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29L5Muc062854; Wed, 9 Mar 2016 21:05:22 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603092105.u29L5Muc062854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 9 Mar 2016 21:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296578 - head/bin/sh/tests/builtins X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:05:23 -0000 Author: jilles Date: Wed Mar 9 21:05:21 2016 New Revision: 296578 URL: https://svnweb.freebsd.org/changeset/base/296578 Log: sh: Add test for 'set -o nolog'. The option does not do anything so check that the output of 'set +o' is different. Added: head/bin/sh/tests/builtins/set3.0 (contents, props changed) Modified: head/bin/sh/tests/builtins/Makefile Modified: head/bin/sh/tests/builtins/Makefile ============================================================================== --- head/bin/sh/tests/builtins/Makefile Wed Mar 9 21:00:57 2016 (r296577) +++ head/bin/sh/tests/builtins/Makefile Wed Mar 9 21:05:21 2016 (r296578) @@ -140,6 +140,7 @@ FILES+= return7.4 FILES+= return8.0 FILES+= set1.0 FILES+= set2.0 +FILES+= set3.0 FILES+= trap1.0 FILES+= trap10.0 FILES+= trap11.0 Added: head/bin/sh/tests/builtins/set3.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/builtins/set3.0 Wed Mar 9 21:05:21 2016 (r296578) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +settings1=$(set +o) && set -o nolog && settings2=$(set +o) && +[ "$settings1" != "$settings2" ] From owner-svn-src-head@freebsd.org Wed Mar 9 21:12:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 28807AC86B6; Wed, 9 Mar 2016 21:12:28 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0407EF54; Wed, 9 Mar 2016 21:12:27 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29LCRHu065749; Wed, 9 Mar 2016 21:12:27 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29LCRHl065748; Wed, 9 Mar 2016 21:12:27 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092112.u29LCRHl065748@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:12:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296579 - head/sys/dev/bxe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:12:28 -0000 Author: davidcs Date: Wed Mar 9 21:12:26 2016 New Revision: 296579 URL: https://svnweb.freebsd.org/changeset/base/296579 Log: Fix code so that buf_ring allocation for Tx Queues and their mutexes is done during during bxe_attach() and freed during bxe_detach() MFC after: 5 days Modified: head/sys/dev/bxe/bxe.c Modified: head/sys/dev/bxe/bxe.c ============================================================================== --- head/sys/dev/bxe/bxe.c Wed Mar 9 21:05:21 2016 (r296578) +++ head/sys/dev/bxe/bxe.c Wed Mar 9 21:12:26 2016 (r296579) @@ -669,6 +669,8 @@ static void bxe_handle_fp_tq(void *conte static int bxe_add_cdev(struct bxe_softc *sc); static void bxe_del_cdev(struct bxe_softc *sc); static int bxe_grc_dump(struct bxe_softc *sc); +static int bxe_alloc_buf_rings(struct bxe_softc *sc); +static void bxe_free_buf_rings(struct bxe_softc *sc); /* calculate crc32 on a buffer (NOTE: crc32_length MUST be aligned to 8) */ uint32_t @@ -4193,9 +4195,20 @@ bxe_nic_unload(struct bxe_softc *sc, { uint8_t global = FALSE; uint32_t val; + int i; BXE_CORE_LOCK_ASSERT(sc); + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_RUNNING); + + for (i = 0; i < sc->num_queues; i++) { + struct bxe_fastpath *fp; + + fp = &sc->fp[i]; + BXE_FP_TX_LOCK(fp); + BXE_FP_TX_UNLOCK(fp); + } + BLOGD(sc, DBG_LOAD, "Starting NIC unload...\n"); /* mark driver as unloaded in shmem2 */ @@ -5726,7 +5739,7 @@ bxe_tx_mq_start_locked(struct bxe_softc } if (!sc->link_vars.link_up || - (ifp->if_drv_flags & + (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { rc = drbr_enqueue_drv(ifp, tx_br, m); goto bxe_tx_mq_start_locked_exit; @@ -6239,8 +6252,6 @@ bxe_free_fp_buffers(struct bxe_softc *sc m_freem(m); BXE_FP_TX_UNLOCK(fp); } - buf_ring_free(fp->tx_br, M_DEVBUF); - fp->tx_br = NULL; } #endif @@ -6270,14 +6281,6 @@ bxe_free_fp_buffers(struct bxe_softc *sc } /* XXX verify all mbufs were reclaimed */ - - if (mtx_initialized(&fp->tx_mtx)) { - mtx_destroy(&fp->tx_mtx); - } - - if (mtx_initialized(&fp->rx_mtx)) { - mtx_destroy(&fp->rx_mtx); - } } } @@ -6499,15 +6502,6 @@ bxe_alloc_fp_buffers(struct bxe_softc *s for (i = 0; i < sc->num_queues; i++) { fp = &sc->fp[i]; -#if __FreeBSD_version >= 800000 - fp->tx_br = buf_ring_alloc(BXE_BR_SIZE, M_DEVBUF, - M_NOWAIT, &fp->tx_mtx); - if (fp->tx_br == NULL) { - BLOGE(sc, "buf_ring alloc fail for fp[%02d]\n", i); - goto bxe_alloc_fp_buffers_error; - } -#endif - ring_prod = cqe_ring_prod = 0; fp->rx_bd_cons = 0; fp->rx_cq_cons = 0; @@ -9615,14 +9609,6 @@ bxe_init_eth_fp(struct bxe_softc *sc, fp->sc = sc; fp->index = idx; - snprintf(fp->tx_mtx_name, sizeof(fp->tx_mtx_name), - "bxe%d_fp%d_tx_lock", sc->unit, idx); - mtx_init(&fp->tx_mtx, fp->tx_mtx_name, NULL, MTX_DEF); - - snprintf(fp->rx_mtx_name, sizeof(fp->rx_mtx_name), - "bxe%d_fp%d_rx_lock", sc->unit, idx); - mtx_init(&fp->rx_mtx, fp->rx_mtx_name, NULL, MTX_DEF); - fp->igu_sb_id = (sc->igu_base_sb + idx + CNIC_SUPPORT(sc)); fp->fw_sb_id = (sc->base_fw_ndsb + idx + CNIC_SUPPORT(sc)); @@ -15788,6 +15774,89 @@ bxe_add_sysctls(struct bxe_softc *sc) } } +static int +bxe_alloc_buf_rings(struct bxe_softc *sc) +{ +#if __FreeBSD_version >= 800000 + + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + fp->tx_br = buf_ring_alloc(BXE_BR_SIZE, M_DEVBUF, + M_NOWAIT, &fp->tx_mtx); + if (fp->tx_br == NULL) + return (-1); + } +#endif + return (0); +} + +static void +bxe_free_buf_rings(struct bxe_softc *sc) +{ +#if __FreeBSD_version >= 800000 + + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + if (fp->tx_br) { + buf_ring_free(fp->tx_br, M_DEVBUF); + fp->tx_br = NULL; + } + } + +#endif +} + +static void +bxe_init_fp_mutexs(struct bxe_softc *sc) +{ + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + snprintf(fp->tx_mtx_name, sizeof(fp->tx_mtx_name), + "bxe%d_fp%d_tx_lock", sc->unit, i); + mtx_init(&fp->tx_mtx, fp->tx_mtx_name, NULL, MTX_DEF); + + snprintf(fp->rx_mtx_name, sizeof(fp->rx_mtx_name), + "bxe%d_fp%d_rx_lock", sc->unit, i); + mtx_init(&fp->rx_mtx, fp->rx_mtx_name, NULL, MTX_DEF); + } +} + +static void +bxe_destroy_fp_mutexs(struct bxe_softc *sc) +{ + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + if (mtx_initialized(&fp->tx_mtx)) { + mtx_destroy(&fp->tx_mtx); + } + + if (mtx_initialized(&fp->rx_mtx)) { + mtx_destroy(&fp->rx_mtx); + } + } +} + + /* * Device attach function. * @@ -15899,8 +15968,25 @@ bxe_attach(device_t dev) return (ENXIO); } + bxe_init_fp_mutexs(sc); + + if (bxe_alloc_buf_rings(sc) != 0) { + bxe_free_buf_rings(sc); + bxe_interrupt_free(sc); + bxe_del_cdev(sc); + if (sc->ifp != NULL) { + ether_ifdetach(sc->ifp); + } + ifmedia_removeall(&sc->ifmedia); + bxe_release_mutexes(sc); + bxe_deallocate_bars(sc); + pci_disable_busmaster(dev); + return (ENXIO); + } + /* allocate ilt */ if (bxe_alloc_ilt_mem(sc) != 0) { + bxe_free_buf_rings(sc); bxe_interrupt_free(sc); bxe_del_cdev(sc); if (sc->ifp != NULL) { @@ -15916,6 +16002,7 @@ bxe_attach(device_t dev) /* allocate the host hardware/software hsi structures */ if (bxe_alloc_hsi_mem(sc) != 0) { bxe_free_ilt_mem(sc); + bxe_free_buf_rings(sc); bxe_interrupt_free(sc); bxe_del_cdev(sc); if (sc->ifp != NULL) { @@ -16023,12 +16110,16 @@ bxe_detach(device_t dev) /* free ilt */ bxe_free_ilt_mem(sc); + bxe_free_buf_rings(sc); + /* release the interrupts */ bxe_interrupt_free(sc); /* Release the mutexes*/ + bxe_destroy_fp_mutexs(sc); bxe_release_mutexes(sc); + /* Release the PCIe BAR mapped memory */ bxe_deallocate_bars(sc); From owner-svn-src-head@freebsd.org Wed Mar 9 22:44:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4879FAC9296; Wed, 9 Mar 2016 22:44:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24A6D9EB; Wed, 9 Mar 2016 22:44:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29MinEh093908; Wed, 9 Mar 2016 22:44:49 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29MiniV093907; Wed, 9 Mar 2016 22:44:49 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092244.u29MiniV093907@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:44:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296584 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:44:50 -0000 Author: bdrewery Date: Wed Mar 9 22:44:48 2016 New Revision: 296584 URL: https://svnweb.freebsd.org/changeset/base/296584 Log: DIRDEPS_BUILD: Let PROGS bootstrapping work. - Support (DP|LIB)ADD_${PROG}. - Support SRCS[._]${PROG}. - Don't bootstrap DIRDEPS while recursing. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.dirdeps.mk Modified: head/share/mk/local.dirdeps.mk ============================================================================== --- head/share/mk/local.dirdeps.mk Wed Mar 9 21:50:39 2016 (r296583) +++ head/share/mk/local.dirdeps.mk Wed Mar 9 22:44:48 2016 (r296584) @@ -90,7 +90,8 @@ DIRDEPS += \ # used will be added in and handled via [local.]gendirdeps.mk. This is not # done for MACHINE=host builds. # XXX: Include this in local.autodep.mk as well for gendirdeps without filemon. -.if ${RELDIR} == ${DEP_RELDIR} # Only do this for main build target +# Only do this for main build target +.if ${RELDIR} == ${DEP_RELDIR} && !defined(_RECURSING_PROGS) .for _depfile in ${.MAKE.DEPENDFILE_PREFERENCE:T} .if !defined(_have_depfile) && exists(${.CURDIR}/${_depfile}) _have_depfile= @@ -99,6 +100,35 @@ _have_depfile= .if !defined(_have_depfile) # KMOD does not use any stdlibs. .if !defined(KMOD) +# Gather PROGS dependencies first +.if !empty(PROGS) +_PROGS_LIBADD= +_PROGS_DPADD= +_PROGS_SRCS= +.for _prog in ${PROGS} +.for s in . _ +.if !empty(LIBADD${s}${_prog}) +_PROGS_LIBADD+= ${LIBADD${s}${_prog}} +.endif +.if !empty(DPADD${s}${_prog}) +_PROGS_DPADD+= ${DPADD${s}${_prog}} +.endif +.if !empty(SRCS${s}${_prog}) +_PROGS_SRCS+= ${SRCS${s}${_prog}} +.endif +.endfor # .for s in . _ +# Add in assumed source (bsd.prog.mk) +.if !target(${_prog}) +.if defined(PROG_CXX) +_PROGS_SRCS+= ${_prog}.cc +.else +_PROGS_SRCS+= ${_prog}.c +.endif +.endif # !target(${_prog}) +.endfor # .for _prog in ${PROGS} +.endif # !empty(PROGS) +_SRCS= ${SRCS} ${_PROGS_SRCS} + # Has C files. The C_DIRDEPS are shared with C++ files as well. C_DIRDEPS= \ gnu/lib/csu \ @@ -118,12 +148,12 @@ C_DIRDEPS= \ C_DIRDEPS+= include/gssapi .endif -.if !empty(SRCS:M*.c) +.if !empty(_SRCS:M*.c) DIRDEPS+= ${C_DIRDEPS} .endif # Has C++ files -.if !empty(SRCS:M*.cc) || !empty(SRCS:M*.C) || !empty(SRCS:M*.cpp) || \ - !empty(SRCS:M*.cxx) +.if !empty(_SRCS:M*.cc) || !empty(_SRCS:M*.C) || !empty(_SRCS:M*.cpp) || \ + !empty(_SRCS:M*.cxx) DIRDEPS+= ${C_DIRDEPS} .if ${MK_CLANG} == "yes" DIRDEPS+= lib/libc++ lib/libcxxrt @@ -135,28 +165,15 @@ DIRDEPS+= lib/msun .endif # CXX .endif # !defined(KMOD) # Has yacc files. -.if !empty(SRCS:M*.y) +.if !empty(_SRCS:M*.y) DIRDEPS+= usr.bin/yacc.host .endif -# Gather PROGS dependencies -.if !empty(PROGS) -_PROGS_LIBADD= -_PROGS_DPADD= -.for _prog in ${PROGS} -.if !empty(LIBADD.${_prog}) -_PROGS_LIBADD+= ${LIBADD.${_prog}} -.endif -.if !empty(DPADD.${_prog}) -_PROGS_DPADD+= ${DPADD.${_prog}} -.endif -.endfor -.endif # !empty(PROGS) -.if !empty(DPADD) +_DPADD= ${DPADD} ${_PROGS_DPADD} +.if !empty(_DPADD) # Taken from meta.autodep.mk (where it only does something with # BUILD_AT_LEVEL0, which we don't use). # This only works for DPADD with full OBJ/SRC paths, which is mostly just # _INTERNALLIBS. -_DPADD= ${DPADD} ${_PROGS_DPADD} _DP_DIRDEPS= \ ${_DPADD:O:u:M${OBJTOP}*:H:N.:tA:C,${OBJTOP}[^/]*/,,:N.:O:u} \ ${_DPADD:O:u:M${OBJROOT}*:N${OBJTOP}*:N${STAGE_ROOT}/*:H:S,${OBJROOT},,:C,^([^/]+)/(.*),\2.\1,:S,${HOST_TARGET}$,host,:N.*:O:u} @@ -165,9 +182,9 @@ _DP_DIRDEPS= \ DIRDEPS+= ${_DP_DIRDEPS:C,^,${SRCTOP}/,:tA:C,^${SRCTOP}/,,} .endif .endif # !empty(DPADD) -.if !empty(LIBADD) -# Also handle LIBADD for non-internal libraries. _ALL_LIBADD= ${LIBADD} ${_PROGS_LIBADD} +.if !empty(_ALL_LIBADD) +# Also handle LIBADD for non-internal libraries. .for _lib in ${_ALL_LIBADD:O:u} _lib${_lib}reldir= ${LIB${_lib:tu}DIR:C,${OBJTOP}/,,} .if defined(LIB${_lib:tu}DIR) && ${DIRDEPS:M${_lib${_lib}reldir}} == "" && \ From owner-svn-src-head@freebsd.org Wed Mar 9 22:45:02 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2D28BAC9308; Wed, 9 Mar 2016 22:45:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DAB6AB57; Wed, 9 Mar 2016 22:45:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mj0rO093967; Wed, 9 Mar 2016 22:45:00 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mj0uM093964; Wed, 9 Mar 2016 22:45:00 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092245.u29Mj0uM093964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296585 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:45:02 -0000 Author: bdrewery Date: Wed Mar 9 22:45:00 2016 New Revision: 296585 URL: https://svnweb.freebsd.org/changeset/base/296585 Log: These group names may be used as a cookie, so replace any non-fs-safe characters. One example is in cddl/usr.sbin/dtrace/tests/common/aggs. It could be fixed but other uses of this would break, especially in the DIRDEPS_BUILD which uses the group names for stage cookies. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.confs.mk head/share/mk/bsd.files.mk head/share/mk/bsd.incs.mk Modified: head/share/mk/bsd.confs.mk ============================================================================== --- head/share/mk/bsd.confs.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.confs.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -6,8 +6,10 @@ CONFGROUPS?= CONFS +_CONFGROUPS= ${CONFGROUPS:C,[/*],_,g} + .if !target(buildconfig) -.for group in ${CONFGROUPS} +.for group in ${_CONFGROUPS} buildconfig: ${${group}} .endfor .endif @@ -17,7 +19,7 @@ all: buildconfig .endif .if !target(installconfig) -.for group in ${CONFGROUPS} +.for group in ${_CONFGROUPS} .if defined(${group}) && !empty(${group}) ${group}OWN?= ${SHAREOWN} Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.files.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -9,7 +9,9 @@ ____: FILESGROUPS?= FILES -.for group in ${FILESGROUPS} +_FILESGROUPS= ${FILESGROUPS:C,[/*],_,g} + +.for group in ${_FILESGROUPS} # Add in foo.yes and remove duplicates from all the groups ${${group}}:= ${${group}} ${${group}.yes} ${${group}}:= ${${group}:O:u} @@ -20,7 +22,7 @@ buildfiles: ${${group}} all: buildfiles .endif -.for group in ${FILESGROUPS} +.for group in ${_FILESGROUPS} .if defined(${group}) && !empty(${group}) installfiles: installfiles-${group} Modified: head/share/mk/bsd.incs.mk ============================================================================== --- head/share/mk/bsd.incs.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.incs.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -8,8 +8,10 @@ INCSGROUPS?= INCS +_INCSGROUPS= ${INCSGROUPS:C,[/*],_,g} + .if !target(buildincludes) -.for group in ${INCSGROUPS} +.for group in ${_INCSGROUPS} buildincludes: ${${group}} .endfor .endif @@ -19,7 +21,7 @@ all: buildincludes .endif .if !target(installincludes) -.for group in ${INCSGROUPS} +.for group in ${_INCSGROUPS} .if defined(${group}) && !empty(${group}) ${group}OWN?= ${BINOWN} From owner-svn-src-head@freebsd.org Wed Mar 9 22:45:06 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57508AC9341; Wed, 9 Mar 2016 22:45:06 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0FC13B80; Wed, 9 Mar 2016 22:45:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mj5YB094017; Wed, 9 Mar 2016 22:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mj48O094013; Wed, 9 Mar 2016 22:45:04 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092245.u29Mj48O094013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:45:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296586 - in head: contrib/netbsd-tests/lib/libc/setjmp etc/mtree lib/libc/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:45:06 -0000 Author: bdrewery Date: Wed Mar 9 22:45:04 2016 New Revision: 296586 URL: https://svnweb.freebsd.org/changeset/base/296586 Log: Fix and connect setjmp test. Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c head/etc/mtree/BSD.tests.dist head/lib/libc/tests/Makefile Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Wed Mar 9 22:45:00 2016 (r296585) +++ head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Wed Mar 9 22:45:04 2016 (r296586) @@ -87,7 +87,7 @@ __RCSID("$NetBSD: t_setjmp.c,v 1.1 2010/ static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); atf_tc_pass(); Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Wed Mar 9 22:45:00 2016 (r296585) +++ head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Wed Mar 9 22:45:04 2016 (r296586) @@ -91,7 +91,7 @@ static pthread_t myself = NULL; static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE(myself == pthread_self()); ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Wed Mar 9 22:45:00 2016 (r296585) +++ head/etc/mtree/BSD.tests.dist Wed Mar 9 22:45:04 2016 (r296586) @@ -283,6 +283,8 @@ .. ssp .. + setjmp + .. stdio .. stdlib Modified: head/lib/libc/tests/Makefile ============================================================================== --- head/lib/libc/tests/Makefile Wed Mar 9 22:45:00 2016 (r296585) +++ head/lib/libc/tests/Makefile Wed Mar 9 22:45:04 2016 (r296586) @@ -14,6 +14,7 @@ TESTS_SUBDIRS+= nss TESTS_SUBDIRS+= regex TESTS_SUBDIRS+= resolv TESTS_SUBDIRS+= rpc +TESTS_SUBDIRS+= setjmp TESTS_SUBDIRS+= stdio TESTS_SUBDIRS+= stdlib TESTS_SUBDIRS+= string From owner-svn-src-head@freebsd.org Wed Mar 9 22:46:09 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 20344AC9426; Wed, 9 Mar 2016 22:46:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AA3CCE3F; Wed, 9 Mar 2016 22:46:08 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mk7f1094150; Wed, 9 Mar 2016 22:46:07 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mk1BU094090; Wed, 9 Mar 2016 22:46:01 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092246.u29Mk1BU094090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:46:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:46:09 -0000 Author: bdrewery Date: Wed Mar 9 22:46:01 2016 New Revision: 296587 URL: https://svnweb.freebsd.org/changeset/base/296587 Log: DIRDEPS_BUILD: Connect MK_TESTS. Sponsored by: EMC / Isilon Storage Division Added: head/bin/cat/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/date/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/dd/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/expr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/ls/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/mv/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/pax/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/pkill/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/builtins/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/errors/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/execution/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/expansion/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/parameters/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/parser/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/set-e/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sleep/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/test/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/misc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/multiaggs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/offsetof/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/operators/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pid/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/plockstat/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pointers/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pragma/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/predicates/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/preprocessor/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/print/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/printa/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/printf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/privs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/probes/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/proc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/profile-n/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/providers/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/raise/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/rates/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/safety/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/scalars/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sched/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/scripting/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sdt/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sizeof/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stability/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stack/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stackdepth/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stop/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/strlen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/strtoll/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/struct/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/syscall/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/tick-n/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/trace/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/tracemem/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/translators/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/typedef/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/types/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/uctf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/union/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/usdt/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/ustack/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/vars/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/version/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/usr.bin/diff/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c++/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c++/tests/detail/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c/tests/detail/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/tests/test-programs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libarchive/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/c063/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/db/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/execve/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/posix_spawn/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/hash/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/inet/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/locale/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/net/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/nss/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/regex/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/resolv/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/rpc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/setjmp/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/ssp/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/stdio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/stdlib/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/string/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/sys/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/termios/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/time/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/tls/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/tls_dso/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/ttyio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libmp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libnv/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libpam/libpam/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libproc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/librt/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/dlopen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/dlopen/dso/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libutil/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libxo/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/msun/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/atf-check/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/atf-sh/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/rtld-elf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/devd/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/dhclient/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/growfs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/ifconfig/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/mdconfig/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/libexec/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/atf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/plain/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/targets/pseudo/tests/ head/targets/pseudo/tests/Makefile (contents, props changed) head/targets/pseudo/tests/Makefile.depend (contents, props changed) head/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/etc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/etc/rc.d/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/acl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/aio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/fifo/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/file/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/concat/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/eli/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/gate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/mirror/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/nop/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/raid3/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/shsec/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/stripe/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/uzip/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/acct/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/execve/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/pipe/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kqueue/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/bsdextended/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/portacl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mqueue/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/netinet/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/opencrypto/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chflags/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chmod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chown/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/ftruncate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/granular/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/link/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mkdir/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mkfifo/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mknod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/open/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/rename/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/rmdir/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/symlink/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/truncate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/unlink/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/posixshm/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/vfs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/vm/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/apply/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/basename/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_44bsd/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_44bsd_mod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_oldbsd/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t3/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/ellipsis/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/empty/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/joberr/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/plus/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/builtin/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/meta/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/path/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/path_select/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/replace/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/select/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/basic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/src_wild1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/src_wild2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/directive-t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/enl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/funny-targets/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/semi/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/modifier_M/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/modifier_t/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/opt_V/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/calendar/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cmp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/col/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/comm/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cpio/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cut/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/dirname/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/file2c/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/grep/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/gzip/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/ident/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/join/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/jot/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/lastcomm/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/limits/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/m4/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/mkimg/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/ncal/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/printf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/sed/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/sed/tests/regress.multitest.out/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/soelim/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tar/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/timeout/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/truncate/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/units/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/uudecode/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/uuencode/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/xargs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/xo/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/yacc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/chown/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/etcupdate/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/fstyp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/makefs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/newsyslog/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/nmtree/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/pw/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/rpcbind/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/sa/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend Modified: head/lib/libcrypt/tests/Makefile.depend head/targets/pseudo/the-lot/Makefile.depend Copied and modified: head/bin/cat/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/cat/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/date/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/date/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/dd/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/dd/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/expr/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/expr/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/ls/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/ls/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/mv/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/mv/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/pax/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/pax/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/pkill/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/pkill/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/builtins/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/builtins/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/errors/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/errors/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/execution/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/execution/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/expansion/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/expansion/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/parameters/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/parameters/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/parser/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/parser/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/set-e/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/set-e/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sleep/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sleep/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/test/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/test/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/lib/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/lib/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/sbin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/sbin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.bin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.bin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Wed Mar 9 22:47:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B226FAC9532; Wed, 9 Mar 2016 22:47:54 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7C9E02DA; Wed, 9 Mar 2016 22:47:54 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1admtU-0005RG-Pb; Wed, 09 Mar 2016 23:47:52 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E0A814.5040008@FreeBSD.org> Date: Wed, 9 Mar 2016 23:47:48 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:47:54 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 16:58, Renato Botelho wrote: > After revert it to r296547 and manually apply ZFS fix I can > successfully load i915kms during boot. Yeah, I never test to load DRM drivers from /boot/loader.conf. I confirm it doesn't work with Haswell at least. I have no idea how to debug this. Is it sufficient for you to load the driver from /etc/rc.conf instead? You can try the following line: kld_list=3D"i915kms" It achieves the same result, but it's faster to boot and works. --=20 Jean-S=C3=A9bastien P=C3=A9dron --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4KgUXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMatIQAJ1xlqA3rkUcMBTJpf4rI6kH UupKKtTDN/b15XCRFdaTT8CxNgPPYTCVKw6XhDSnb8K4aLO/HIrzYLsEdeIvDf15 gfXz2HPJ35DlPk691KhbVuQo4CDf2aAib0MxGowV7yDj+FCBmEYHxLXTg9Iw+gAV DIjUdp1nilsdppOD8i1ZRKiUY26baO300Ak3XUOeH/w4+JKjo/hah6zZTcAGqLZH WAG5nHBSiZ1058tclhG/ruTg2xxT5dibF+ITIPfZ55nHU/UnbjjGRYLg2+d6EL1G kVZDL5hZOKLCq+iFAL9RQY6TEYHN+8GlIhYwQZo2DSt3JjtaiCwb6ww3VWMxJyye d4dshAuWAnMsvE+I4kbYbplAFwPYu4YMVkIiKaVFhQKxlkflMURtN6pUUZkNdTRX ABCmioCwKMiwHCD7Vs0yGpIebInE0RO4vECKcP7/SbFLH81AeHxHrMtc/3tIyq3/ a+94CivznTglthS3+69YVUfuaBIMtj2gL1T0ApTR1tEy39ltKKohisLY+0jdRrzA gdnjtltnMcvSqcUt6aj0tM9TGZM16wv+HsCe9s4CsPQRgjfG5GqheWQJKDNRgTFL 2bsXQ4wTMLVYzkoPw1+eWuNJ65yrDa8ExmANY4P3C+awREEDHxCsSD+PFwzXw/l3 xT3BdHin0m1b9AXEbLD6 =v/S4 -----END PGP SIGNATURE----- --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS-- From owner-svn-src-head@freebsd.org Wed Mar 9 22:49:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 853C3AC9661; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 50E93775; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1admuf-0005ST-KD; Wed, 09 Mar 2016 23:49:05 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Adrian Chadd References: <201603082033.u28KX2OL014139@repo.freebsd.org> Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E0A861.5080603@FreeBSD.org> Date: Wed, 9 Mar 2016 23:49:05 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:49:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 21:48, Adrian Chadd wrote: > Woo! >=20 > Just so its' not lost - people in irc have found power consumption has > jumped dramatically since this commit. :( Ed Maste posted a message to freebsd-x11@ with measurements for those interested. --=20 Jean-S=C3=A9bastien P=C3=A9dron --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4KhhXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMQ7IP/RjhvxA+o69DNAQ8jjwHvEtF V+V3FMLa5jDQsDEK8M/1zyfosC5aQ+s8An74Kq0lcqTI39RTDDZ5ULO9NWpoewKT noWDZ5fmDBUd/Ts7hlMt6jIm16j1gLLbb/oJncKvsxh6l8np4gUCI7sT5qMh+p8i PLe6/joVEFHhkM9urTvuRMlrjlQLK7yWWlp4lt168W3mtynw70WN7cf/LXyrnDJL Bpsi74aNO734BDX6UGNwkdWFMc/lDJIBVVdaUDoyFioS+iY0QMw3Z0sMZOEGCf8h p+RZdT/kL08+6hAIj3xjQ8XqXBFGq+FKocowczmAAhnsWIY5a42Vc50DpBh7bHEu t3i8dQqmCUw16QTSSQCUNJu8uuiH0m/UsULmBzpIVEv0GQl8fkHT3fWRUFAIFO6/ fkAOfecPcbZs1QAdnmAAkw51QL4caWeuIIoh2hZMgdmYHvKE/iLhwbJlP07n4ndv i6whTvI0TjPqG/hU3iCU0obVpJ53Uhm2SAsMoFIBlylpBluNMdq+KGIu1GDtbGQ3 2aRLrXyXdzN/gjQV+THijXb5LoT9+PJYIdg0S4mpWvNLkt4O/vr4tKsgAh7aj4Mf oEFlzoYK7dY8xLlv3u1uKeo7xGBc/b9jyz1/dTnTeLfD5ZRRnFX0OaVH/ysjJRpy /KTcIbDYsMA1t9EETaKz =huoj -----END PGP SIGNATURE----- --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS-- From owner-svn-src-head@freebsd.org Wed Mar 9 22:49:20 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F191AC969F; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 7DA108C5; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 51BD612BF; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id DB21E19460; Wed, 9 Mar 2016 22:49:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id o02ITYH5DhnW; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com B29E519453 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603092246.u29Mk1BU094090@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E0A862.2060502@FreeBSD.org> Date: Wed, 9 Mar 2016 14:49:06 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603092246.u29Mk1BU094090@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:49:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn Content-Type: multipart/mixed; boundary="Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E0A862.2060502@FreeBSD.org> Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... References: <201603092246.u29Mk1BU094090@repo.freebsd.org> In-Reply-To: <201603092246.u29Mk1BU094090@repo.freebsd.org> --Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/9/2016 2:46 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Wed Mar 9 22:46:01 2016 > New Revision: 296587 > URL: https://svnweb.freebsd.org/changeset/base/296587 >=20 > Log: > DIRDEPS_BUILD: Connect MK_TESTS. > =20 > Sponsored by: EMC / Isilon Storage Division >=20 > Added: > head/bin/cat/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/date/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/dd/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/expr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/ls/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/mv/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/pax/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/pkill/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/builtins/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/errors/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/execution/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/expansion/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/parameters/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/parser/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/set-e/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sleep/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/test/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/misc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/multiaggs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/offsetof/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/operators/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pid/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/plockstat/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pointers/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pragma/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/predicates/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/preprocessor/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/print/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/printa/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/printf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/privs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/probes/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/proc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/profile-n/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/providers/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/raise/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/rates/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/safety/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/scalars/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sched/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/scripting/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sdt/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sizeof/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stability/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stack/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stackdepth/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stop/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/strlen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/strtoll/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/struct/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/syscall/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/tick-n/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/trace/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/tracemem/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/translators/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/typedef/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/types/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/uctf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/union/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/usdt/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/ustack/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/vars/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/version/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/usr.bin/diff/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c++/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c++/tests/detail/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c/tests/detail/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/tests/test-programs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libarchive/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/c063/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/db/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/execve/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/posix_spawn/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/hash/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/inet/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/locale/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/net/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/nss/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/regex/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/resolv/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/rpc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/setjmp/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/ssp/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/stdio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/stdlib/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/string/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/sys/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/termios/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/time/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/tls/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/tls_dso/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/ttyio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libmp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libnv/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libpam/libpam/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libproc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/librt/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/dlopen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/dlopen/dso/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libutil/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libxo/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/msun/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/atf-check/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/atf-sh/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/rtld-elf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/devd/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/dhclient/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/growfs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/ifconfig/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/mdconfig/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/libexec/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/atf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/plain/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/targets/pseudo/tests/ > head/targets/pseudo/tests/Makefile (contents, props changed) > head/targets/pseudo/tests/Makefile.depend (contents, props changed)= > head/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/etc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/etc/rc.d/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/acl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/aio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/fifo/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/file/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/concat/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/eli/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/gate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/mirror/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/nop/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/raid3/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/shsec/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/stripe/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/uzip/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/acct/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/execve/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/pipe/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kqueue/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/bsdextended/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/portacl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mqueue/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/netinet/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/opencrypto/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chflags/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chmod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chown/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/ftruncate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/granular/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/link/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mkdir/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mkfifo/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mknod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/open/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/rename/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/rmdir/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/symlink/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/truncate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/unlink/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/posixshm/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/vfs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/vm/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/apply/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/basename/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_44bsd/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_44bsd_mod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_oldbsd/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t3/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/ellipsis/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/empty/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/joberr/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/plus/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/builtin/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/meta/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/path/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/path_select/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/replace/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/select/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/basic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/src_wild1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/src_wild2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/directive-t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/enl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/funny-targets/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/semi/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/modifier_M/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/modifier_t/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/opt_V/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/calendar/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cmp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/col/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/comm/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cpio/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cut/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/dirname/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/file2c/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/grep/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/gzip/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/ident/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/join/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/jot/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/lastcomm/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/limits/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/m4/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/mkimg/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/ncal/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/printf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/sed/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/sed/tests/regress.multitest.out/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/soelim/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tar/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/timeout/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/truncate/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/units/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/uudecode/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/uuencode/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/xargs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/xo/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/yacc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/chown/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/etcupdate/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/fstyp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/makefs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/newsyslog/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/nmtree/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/pw/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/rpcbind/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/sa/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > Modified: git svn dcommit really messed this up despite having diff.renames=3Dfalse= =2E --=20 Regards, Bryan Drewery --Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p-- --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4KhiAAoJEDXXcbtuRpfPB/4IAN6m1Hfo9EWf9spjjmBzcU3U oQF9FUoiPLGAqiFf5kEeE6SZjWTYUO1LhBMc7RpKZjeRPMUmIt553NmLG132U7FQ TYKvSL9VNkLlLgwezxOniM59vYFUX6ATebnWvXkIqxWgMfJOllfMmSx1WOUu/1pS rub7NyviLHrUjfxB1t9sxUzuxPpVA9Pv8kHJpIAGQoEPdz7ALd1dXOq1A3YN4EaU VZyDneKzpxjGUoCzf7nAJFlRVEDx+hQY7IvIACJ58gUbhcnQPIc7BQj37tFhiVL8 t7Gj3PxdGFZ2TlLRIkcZGpR7sGq8ZTsywGFcNoKxGjghgFCPQv5+YQlEcAnwViY= =wjc6 -----END PGP SIGNATURE----- --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn-- From owner-svn-src-head@freebsd.org Wed Mar 9 22:59:51 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 784D0AC9BA3; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 60670BA; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 5737916D9; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 0BE82194AD; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id ljuBrDqu93AJ; Wed, 9 Mar 2016 22:59:48 +0000 (UTC) Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 360AC194A7 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603092246.u29Mk1BU094090@repo.freebsd.org> <56E0A862.2060502@FreeBSD.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E0AAE6.3020108@FreeBSD.org> Date: Wed, 9 Mar 2016 14:59:50 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56E0A862.2060502@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:59:51 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI Content-Type: multipart/mixed; boundary="AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E0AAE6.3020108@FreeBSD.org> Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... References: <201603092246.u29Mk1BU094090@repo.freebsd.org> <56E0A862.2060502@FreeBSD.org> In-Reply-To: <56E0A862.2060502@FreeBSD.org> --AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/9/2016 2:49 PM, Bryan Drewery wrote: > git svn dcommit really messed this up despite having diff.renames=3Dfal= se. I think it was due to having diff.renameLimit=3D0 in my config as well. Using dcommit -l1 should avoid this. I don't think anyone really cares about the history on these files so I will avoid more spam for fixing it. --=20 Regards, Bryan Drewery --AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w-- --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4KrmAAoJEDXXcbtuRpfPAHoH/jIdryCsQtx8gvhfoCmJZmtW PXmBazW5sT1KN6GV/36V7wwJ0Bq6LG2jZ9vHamWvLSwtDD/SUhsONO/PuP/PKxYY clCho0wFEOSG7FE9czvm7Uruep1kJIWCVCKwrkjRxX4nw31H2k4Th8diyx12Xrcb OehX45h+cyFcdnudTaMjWKdFS7NXl1Z2dmlxt1jGEk24lNL6QA8bu96ghrtYa/Xh oZq/fq1rhfveVKjGQgXIKW9FxWBzxMchh+xcluXCsAKslC1dNeXaqZPL8OIlDb3R wcMLE1pV6K5JsRAyqD130FSYauToSMSiKkaZBE+TTAOhZMi0XYCjiMMReSlc/3s= =yYLv -----END PGP SIGNATURE----- --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI-- From owner-svn-src-head@freebsd.org Wed Mar 9 23:10:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5868EACA0B8; Wed, 9 Mar 2016 23:10:41 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x233.google.com (mail-qg0-x233.google.com [IPv6:2607:f8b0:400d:c04::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0EFB8984; Wed, 9 Mar 2016 23:10:41 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x233.google.com with SMTP id y89so55960774qge.2; Wed, 09 Mar 2016 15:10:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=2W+SuQdoLoZoqKSyCFSgXR6DM4EnKB3wPzfMqQgjTMs=; b=WnLNfHSw0Hj0YUIE2GwqHEJV/YaaDtJFumLjxq5zYLgmoVHw0IoeGN5dCjaZxGcRu6 tcQHUL19msCCNgwRvvitMDp4QgNjmtocLfWLnbcFVfjjKaf/WIk8zFO7ToO1LTxUyCSN valPUdBmotoemnDpJBhHAzZavxT7GHTSjemQwdviZvhWtI6xnHaUVhDRMmZ5oEXpWIIs ZD7rWOL7kK5O33/2WNl4RtjljSuNhN9Jb5sbqOoKq0AgzpmM4HDIRYzLBK6mXBhyv23x kgPC1WX39YYOayoE+BX1UR8W58f3WWKAcbvFYfMU2gHCzNpGpnE1sqQc+rkXvYfglPNz uPRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=2W+SuQdoLoZoqKSyCFSgXR6DM4EnKB3wPzfMqQgjTMs=; b=H29nVFGsGdABx8aQBOKqUBgKMVFyT353TCP02VwIzpNDhbfTMX61gWXnaTcpH1sxTS zZGWIE5s/YY+KDeQIMNbsdxGbFn7UP4BmJ9XiglsunilIVClzqMHojezEynxN8eBm4V7 me22HA8JTNnmLD98Cybh6++HfNpK0lCcZ7O/Ens3zWeLQNtkC4N6cF/7hb/bWwK6gGp3 76G9ZgCmzAbx8FOHBL2kKQWDFySNMZCxzocv6B6GDXexD8de1YC5Nn+W9knnQESlBoQn QhFECXC38urhAHK1fZxN1TQVomFIMKqET63R5YRh5apDlJRQDp+oeM8/iqDaBUA3sscx b+3w== X-Gm-Message-State: AD7BkJLF/QivaJQvtJr13XRYRFSRJqLT3NkwZdkVhEYDDj7RWfvT5SIvRzRx5RPE/NxxMQ== X-Received: by 10.140.237.204 with SMTP id i195mr383253qhc.55.1457565040084; Wed, 09 Mar 2016 15:10:40 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id d65sm439726qgf.30.2016.03.09.15.10.37 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 15:10:39 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E0A814.5040008@FreeBSD.org> Date: Wed, 9 Mar 2016 20:10:34 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> <56E0A814.5040008@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 23:10:41 -0000 --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 19:47, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 16:58, Renato Botelho wrote: >> After revert it to r296547 and manually apply ZFS fix I can >> successfully load i915kms during boot. >=20 > Yeah, I never test to load DRM drivers from /boot/loader.conf. I = confirm > it doesn't work with Haswell at least. I have no idea how to debug = this. >=20 > Is it sufficient for you to load the driver from /etc/rc.conf instead? > You can try the following line: > kld_list=3D"i915kms" >=20 > It achieves the same result, but it's faster to boot and works. Didn=E2=80=99t know about it, I=E2=80=99ll start using it and will let = you know. Thanks! -- Renato Botelho --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4K1qAAoJEPHw56GfYleQJJUP/3gW2mybtBn4Krrrimf4DXpX t94zis+3X5gbxF05oSUcC1cK6MhU46RF9RvcH4Awl9CJMCektzgmidiHFZndyQhC LAIQxykwEUQhdaXvAmxBpuwdFlKjUEbqkedoMw7d/JaQzwKEf13FwLIwvfMMxYEE yon31I750fBoV8/q3K+OYD5AfH13fRI9/g9q1qpWnSZdUvBhm9u6uYEL3SB8VC2D KvcO6zS2I0AxEG7Fq3zDCblZ5JJ6P9gsqwqeYexggdOyLG0vGirarKmachlVsA+t hHm+lWZQGLXJnaFt/0hFcqZ5tEK8NnK29hjafSst47nQdaAC/NX4WkU/kpmxQkzL 1SXGuqpOoPuflSK52FnT6OX/Qq3iXXBAaLk/GvJ4LEygUWGTlglahr2Ikv+zQgT1 sVuKoPUldWrzrynCzd8+jawcXLp6V5FDMtLIn9qZXh1kvgJtct+ZzzsoT3m9YbXp J4zC3P+0+YuSgJ3XQDxpzUsKvga+Elx0GxRfH9IDHXHpFvYZ0QOFjSdPeXgZrdJR 1vd6X0KlhvhNrCSAMUqZoQd6LJJcCWcFCQZ75t4gIiYwFADnTsexvgxb78napvyq vVeAcVPYMwyBndMNwGu817IMZ+fIvtaLiol1uhlLFX5ISmACmh0Yo/ZsESnSDJd/ InV1jHWig/qJq0APu2mx =GlSq -----END PGP SIGNATURE----- --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C-- From owner-svn-src-head@freebsd.org Thu Mar 10 00:27:11 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF4F7AC9FBA; Thu, 10 Mar 2016 00:27:11 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9242E1389; Thu, 10 Mar 2016 00:27:11 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0RAkW024925; Thu, 10 Mar 2016 00:27:10 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0RA1G024924; Thu, 10 Mar 2016 00:27:10 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201603100027.u2A0RA1G024924@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 10 Mar 2016 00:27:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296588 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:27:11 -0000 Author: tuexen Date: Thu Mar 10 00:27:10 2016 New Revision: 296588 URL: https://svnweb.freebsd.org/changeset/base/296588 Log: Actually send a asconf chunk, not only queue one. MFC after: 3 days Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Wed Mar 9 22:46:01 2016 (r296587) +++ head/sys/netinet/sctp_usrreq.c Thu Mar 10 00:27:10 2016 (r296588) @@ -5862,6 +5862,7 @@ sctp_setopt(struct socket *so, int optna SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); error = EINVAL; } + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED); out_of_it: SCTP_TCB_UNLOCK(stcb); } else { From owner-svn-src-head@freebsd.org Thu Mar 10 00:27:29 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 059AFAC8002; Thu, 10 Mar 2016 00:27:29 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22c.google.com (mail-qg0-x22c.google.com [IPv6:2607:f8b0:400d:c04::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AFCC41553; Thu, 10 Mar 2016 00:27:28 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22c.google.com with SMTP id u110so57385448qge.3; Wed, 09 Mar 2016 16:27:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=ZZ5inGK/PJxPRtEfkgy0XXPbnS8yMkacQLaRfTqpAFQ=; b=uHDKkp82U144i85UhwRt1lzE3eI8Wr7byVsMDJETxvRW0RNfUS5iD8Bqdg0bB7lRh4 UwyWdJa7srfE7PjEP1zBtbIIJ9+f34LPntUr61qpOeVpp6t7+7ns8b6lzpUdrEeAo/bY 12+nX/QzFLl614musgRUr6mRaAyC3givCOVET8dCLsa/XXrDdqxnvbu1s8J5jtKNpVQj RiMQ7e3p964QHrCDsZVecHAg3fcr++kcYGkBd2dNCe87Okk3ZUfv0rSzI6h3gp9QIXdQ 62XKF8J1rbWY2Y9ARB/Y5iQS8Lq8q4Po4DW4QS9k4nZYodraew55xv1dlFdU0swzISuR zzdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=ZZ5inGK/PJxPRtEfkgy0XXPbnS8yMkacQLaRfTqpAFQ=; b=B+zATA5sohgP4RbjWfWO1v62uT9w/81R84qt4nLwakwihNixLahiLQDIUvSzHKQ0Jc LIoQ3QCJ5sPNySsFZW/PmyLDqpcnY1XiwTLZr+GJvOhkzklD9p4uLnu6C+vWY58RUVu2 xcGLQq+hzqJAN+xEACACMgYIqaTDKK04z/HPnnxOItbTq1WaSBy0LY8P/n7Nx5hzJ8zc pTYNTYqjbA07NI6nJHMAz8yK7xcowtJf1LsntFc8dPMWmmQI07kRFPrVeIZ28OO68zTU CVxHbTCcpCn88r42YdVV8pi3Ezi5ap8q7uikJxrIk9jZp7grzrhzkA8HgmkHeW4ktjyl RJEQ== X-Gm-Message-State: AD7BkJIUQgQxWD4ZHSKyozKOO8FHu1V4yGPkfJOAN4VUMc9/ZCoKQ5DKI6/MEVASpUBGiw== X-Received: by 10.140.216.212 with SMTP id m203mr692676qhb.37.1457569647750; Wed, 09 Mar 2016 16:27:27 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id l33sm584324qge.11.2016.03.09.16.27.25 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 16:27:26 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: Date: Wed, 9 Mar 2016 21:27:22 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> <56E0A814.5040008@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:27:29 -0000 --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 20:10, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 19:47, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>=20 >> On 09/03/2016 16:58, Renato Botelho wrote: >>> After revert it to r296547 and manually apply ZFS fix I can >>> successfully load i915kms during boot. >>=20 >> Yeah, I never test to load DRM drivers from /boot/loader.conf. I = confirm >> it doesn't work with Haswell at least. I have no idea how to debug = this. >>=20 >> Is it sufficient for you to load the driver from /etc/rc.conf = instead? >> You can try the following line: >> kld_list=3D"i915kms" >>=20 >> It achieves the same result, but it's faster to boot and works. >=20 > Didn=E2=80=99t know about it, I=E2=80=99ll start using it and will let = you know. Thanks! It works, thanks! -- Renato Botelho --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4L9qAAoJEPHw56GfYleQkw4P+wTElqIspjirHFYDGeSALOtL ti2aMRXsFw3YOjw2baDZM4N5DGpzNQ5IxGLbju3a/FiLAJ1nD/qeG3B+mJDnUsTh sTVeXrVhF4/j5cfNeNrETaW2yf0ktFEfoa6+IJiaDMwF+kFwC1KMBRRh8YpRonAo IVuxFeI2KnqTYtd+pg+SAblAPfWLKZ59zveJ+3a/896JFr69Bq6+59cNRyjEUEA8 HTATJbLyD4O5Kck1xAtQubEcOQ04jPUQlxqPHrB/ChxbesXs82WeW6EEaLgZbLCn IsQ/zGegn6bJFrdumSPjf5mEuAmR8jkg5UR4dg0sxf7Cmrw9OwM3ZrC747Ek098c MZXIM7ZmRqGnVdapRthR4g6m134u0pcaqJsw47Hbp/Fu4Qrs6pVURsw+KpjE+/13 9//XCZsZib2zE3x3xccV59ixIQvYDlWg6LLvBGTOKHajcq624xtZ21Ad4wZNVNy6 x+qycCI8OMHjbjmXrnyzcxJyGyYV/ywMBMEPCCAK75JGJ+8dT97CO7uwFfmkyqUT DyNkCcCRA8SHqvQ92wJ7SLH7OQFnmVEQwXk+yzxCOaJFMNsO9kAfRvLaqe06VrfD qB9cJT+x+E578EUc2zDrmfa5xOZcDYucv3FuVHKTLqNwq8O3eShsFNdhhvgMrSnr hoMtatWBCiLU+X2xJqb1 =20c3 -----END PGP SIGNATURE----- --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C-- From owner-svn-src-head@freebsd.org Thu Mar 10 00:33:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C95EAC828C; Thu, 10 Mar 2016 00:33:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 55AC51A8C; Thu, 10 Mar 2016 00:33:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0X65x027772; Thu, 10 Mar 2016 00:33:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0X6uN027771; Thu, 10 Mar 2016 00:33:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100033.u2A0X6uN027771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296589 - head/sys/dev/fdc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:33:07 -0000 Author: imp Date: Thu Mar 10 00:33:06 2016 New Revision: 296589 URL: https://svnweb.freebsd.org/changeset/base/296589 Log: Stop assuming that bio_cmd is a bit field. Differential Revision: https://reviews.freebsd.org/D5587 Modified: head/sys/dev/fdc/fdc.c Modified: head/sys/dev/fdc/fdc.c ============================================================================== --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) /* Disable ISADMA if we bailed while it was active */ if (fd != NULL && (fd->flags & FD_ISADMA)) { isa_dmadone( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags &= ~FD_ISADMA; @@ -983,7 +983,7 @@ fdc_worker(struct fdc_data *fdc) fd = fdc->fd = bp->bio_driver1; fdc->retry = 0; fd->fd_ioptr = bp->bio_data; - if (bp->bio_cmd & BIO_FMT) { + if (bp->bio_cmd == BIO_FMT) { i = offsetof(struct fd_formb, fd_formb_cylno(0)); fd->fd_ioptr += i; fd->fd_iosize = bp->bio_length - i; @@ -1021,7 +1021,7 @@ fdc_worker(struct fdc_data *fdc) fdctl_wr(fdc, fd->ft->trans); #endif - if (bp->bio_cmd & BIO_PROBE) { + if (bp->bio_cmd == BIO_PROBE) { if ((!(device_get_flags(fd->dev) & FD_NO_CHLINE) && #ifndef PC98 !(fdin_rd(fdc) & FDI_DCHG) && @@ -1059,7 +1059,7 @@ fdc_worker(struct fdc_data *fdc) #endif /* Check if the floppy is write-protected */ - if (bp->bio_cmd & (BIO_FMT | BIO_WRITE)) { + if (bp->bio_cmd == BIO_FMT || bp->bio_cmd == BIO_WRITE) { retry_line = __LINE__; if(fdc_sense_drive(fdc, &st3) != 0) return (1); @@ -1078,10 +1078,11 @@ fdc_worker(struct fdc_data *fdc) sec = sec % fd->ft->sectrac + 1; /* If everything is going swimmingly, use multisector xfer */ - if (fdc->retry == 0 && bp->bio_cmd & (BIO_READ|BIO_WRITE)) { + if (fdc->retry == 0 && + (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE)) { fd->fd_iosize = imin(nsect * fd->sectorsize, bp->bio_resid); nsect = fd->fd_iosize / fd->sectorsize; - } else if (bp->bio_cmd & (BIO_READ|BIO_WRITE)) { + } else if (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE) { fd->fd_iosize = fd->sectorsize; nsect = 1; } @@ -1141,10 +1142,12 @@ fdc_worker(struct fdc_data *fdc) fd->fd_ioptr, fdc->retry); /* Setup ISADMA if we need it and have it */ - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_FMT)) + if ((bp->bio_cmd == BIO_READ || + bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) && !(fdc->flags & FDC_NODMA)) { isa_dmastart( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags |= FD_ISADMA; @@ -1153,9 +1156,12 @@ fdc_worker(struct fdc_data *fdc) /* Do PIO if we have to */ if (fdc->flags & FDC_NODMA) { - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_FMT)) + if (bp->bio_cmd == BIO_READ || + bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) fdbcdr_wr(fdc, 1, fd->fd_iosize); - if (bp->bio_cmd & (BIO_WRITE|BIO_FMT)) + if (bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) fdc_pio(fdc); } @@ -1218,13 +1224,13 @@ fdc_worker(struct fdc_data *fdc) i = tsleep(fdc, PRIBIO, "fddata", hz); /* PIO if the read looks good */ - if (i == 0 && (fdc->flags & FDC_NODMA) && (bp->bio_cmd & BIO_READ)) + if (i == 0 && (fdc->flags & FDC_NODMA) && (bp->bio_cmd == BIO_READ)) fdc_pio(fdc); /* Finish DMA */ if (fd->flags & FD_ISADMA) { isa_dmadone( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags &= ~FD_ISADMA; @@ -1668,7 +1674,7 @@ fd_start(struct bio *bp) fd = bp->bio_to->geom->softc; fdc = fd->fdc; bp->bio_driver1 = fd; - if (bp->bio_cmd & BIO_GETATTR) { + if (bp->bio_cmd == BIO_GETATTR) { if (g_handleattr_int(bp, "GEOM::fwsectors", fd->ft->sectrac)) return; if (g_handleattr_int(bp, "GEOM::fwheads", fd->ft->heads)) @@ -1676,7 +1682,7 @@ fd_start(struct bio *bp) g_io_deliver(bp, ENOIOCTL); return; } - if (!(bp->bio_cmd & (BIO_READ|BIO_WRITE))) { + if (!(bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE)) { g_io_deliver(bp, EOPNOTSUPP); return; } From owner-svn-src-head@freebsd.org Thu Mar 10 00:36:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 40806AC851E; Thu, 10 Mar 2016 00:36:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 134311D99; Thu, 10 Mar 2016 00:36:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0adWq028286; Thu, 10 Mar 2016 00:36:39 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0ad3i028284; Thu, 10 Mar 2016 00:36:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0ad3i028284@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296590 - in head/sys: dev/fdc sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:40 -0000 Author: imp Date: Thu Mar 10 00:36:38 2016 New Revision: 296590 URL: https://svnweb.freebsd.org/changeset/base/296590 Log: Add raw RX-50 support. These are 400k single sided disks with 80 tracks and 10 sectors per track. More exotic RX-50 types not supported, nor is there support for de-interleaving the first two tracks where the physical sectors are 0 1 2 3 4 5 6 7 8 9, but they should be interpreted as 0 5 1 6 2 7 3 8 4 9. This is purely to read the media with dd. The FAT that's on these disks won't work with msdosfs anyway. Modified: head/sys/dev/fdc/fdc.c head/sys/sys/fdcio.h Modified: head/sys/dev/fdc/fdc.c ============================================================================== --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:36:38 2016 (r296590) @@ -155,6 +155,7 @@ static struct fd_type fd_searchlist_12m[ { FDF_5_1230 | FL_AUTO }, #else { FDF_5_1200 | FL_AUTO }, + { FDF_5_400 | FL_AUTO }, { FDF_5_360 | FL_2STEP | FL_AUTO}, #endif { 0 } Modified: head/sys/sys/fdcio.h ============================================================================== --- head/sys/sys/fdcio.h Thu Mar 10 00:33:06 2016 (r296589) +++ head/sys/sys/fdcio.h Thu Mar 10 00:36:38 2016 (r296590) @@ -209,6 +209,7 @@ enum fd_drivetype { #define FDF_5_800 10,2,0xFF,0x10,80,0,FDC_300KBPS,2,0x2e,1,0,FL_MFM #define FDF_5_720 9,2,0xFF,0x20,80,0,FDC_300KBPS,2,0x50,1,0,FL_MFM #define FDF_5_640 8,2,0xFF,0x2A,80,0,FDC_300KBPS,2,0x50,1,0,FL_MFM +#define FDF_5_400 10,2,0xFF,0x10,80,0,FDC_300KBPS,1,0x2e,1,0,FL_MFM /* RX50 */ #define FDF_5_360 9,2,0xFF,0x23,40,0,FDC_300KBPS,2,0x50,1,0,FL_MFM /* XXX: 0x2a ? */ #endif From owner-svn-src-head@freebsd.org Thu Mar 10 00:36:46 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0085AC855E; Thu, 10 Mar 2016 00:36:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C30A61EDF; Thu, 10 Mar 2016 00:36:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0aj3g028348; Thu, 10 Mar 2016 00:36:45 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0ajnK028347; Thu, 10 Mar 2016 00:36:45 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0ajnK028347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296591 - head/sys/dev/firewire X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:47 -0000 Author: imp Date: Thu Mar 10 00:36:45 2016 New Revision: 296591 URL: https://svnweb.freebsd.org/changeset/base/296591 Log: Don't assume bio_cmd is a bit field. Differential Revision: https://reviews.freebsd.org/D5594 Modified: head/sys/dev/firewire/fwmem.c Modified: head/sys/dev/firewire/fwmem.c ============================================================================== --- head/sys/dev/firewire/fwmem.c Thu Mar 10 00:36:38 2016 (r296590) +++ head/sys/dev/firewire/fwmem.c Thu Mar 10 00:36:45 2016 (r296591) @@ -364,7 +364,7 @@ fwmem_strategy(struct bio *bp) } iolen = MIN(bp->bio_bcount, MAXLEN); - if ((bp->bio_cmd & BIO_READ) == BIO_READ) { + if (bp->bio_cmd == BIO_READ) { if (iolen == 4 && (bp->bio_offset & 3) == 0) xfer = fwmem_read_quad(fwdev, (void *)bp, fwmem_speed, From owner-svn-src-head@freebsd.org Thu Mar 10 00:36:53 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9BFCAC859B; Thu, 10 Mar 2016 00:36:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB5338F; Thu, 10 Mar 2016 00:36:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0aqXj028409; Thu, 10 Mar 2016 00:36:52 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0aqRo028408; Thu, 10 Mar 2016 00:36:52 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0aqRo028408@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296592 - head/sys/dev/amr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:54 -0000 Author: imp Date: Thu Mar 10 00:36:52 2016 New Revision: 296592 URL: https://svnweb.freebsd.org/changeset/base/296592 Log: Don't assume that bio_cmd is a bitfield. Differential revision: https://reviews.freebsd.org/D5590 Modified: head/sys/dev/amr/amr.c Modified: head/sys/dev/amr/amr.c ============================================================================== --- head/sys/dev/amr/amr.c Thu Mar 10 00:36:45 2016 (r296591) +++ head/sys/dev/amr/amr.c Thu Mar 10 00:36:52 2016 (r296592) @@ -1319,7 +1319,7 @@ amr_bio_command(struct amr_softc *sc, st blkcount = (bio->bio_bcount + AMR_BLKSIZE - 1) / AMR_BLKSIZE; ac->ac_mailbox.mb_command = cmd; - if (bio->bio_cmd & (BIO_READ|BIO_WRITE)) { + if (bio->bio_cmd == BIO_READ || bio->bio_cmd == BIO_WRITE) { ac->ac_mailbox.mb_blkcount = blkcount; ac->ac_mailbox.mb_lba = bio->bio_pblkno; if ((bio->bio_pblkno + blkcount) > sc->amr_drive[driveno].al_size) { From owner-svn-src-head@freebsd.org Thu Mar 10 01:56:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82BFCACA67A; Thu, 10 Mar 2016 01:56:21 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-yw0-f179.google.com (mail-yw0-f179.google.com [209.85.161.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4C008DB3; Thu, 10 Mar 2016 01:56:20 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-yw0-f179.google.com with SMTP id d65so56219961ywb.0; Wed, 09 Mar 2016 17:56:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :date:message-id:subject:from:to:cc; bh=nknFPukYWxHATIFUVMZWpq8t+evQkb6ES+aaDG4VfW4=; b=KYOrs4TFkOz5BSUULIq3TkRZ95VYgJBkr+7cbTJ9UDgKqjuNYEB98uV9gC7gbFNUd+ r+LjnEzWG1pGkl73i/sLwy/J4CouhjYOkqse34E1lVbfHZJilThbDh2ZcSjSW9hILzrM v87+c5UxzbkwlZCN3wNS1Ry+CnHkbNZ4xH+f3RzGdvctFK3olii2KNeJUXgT/x3i50zx ak7OXUVSYFy/IYMgvKvFOB3lsoAr+zDNIRMFkx5JNtK2JaMT9ZJUM0eRbViwWKBNRz5y ft8M5p6vHJL2dDUe+BzFSaf+ESETbuJ0J9OqMtCfm1GFAYESCnQNHYE4VPJdXWqCzAjv JZDA== X-Gm-Message-State: AD7BkJIyoMLRR8HLKWtvKzfxjcIeD9P7sTsZoBXXhS7vQLiUgdX9iuHJTEQxuy+t6WmQ6g== X-Received: by 10.13.195.196 with SMTP id f187mr501517ywd.196.1457573462188; Wed, 09 Mar 2016 17:31:02 -0800 (PST) Received: from mail-yw0-f171.google.com (mail-yw0-f171.google.com. [209.85.161.171]) by smtp.gmail.com with ESMTPSA id a10sm934979ywc.52.2016.03.09.17.31.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Mar 2016 17:31:01 -0800 (PST) Received: by mail-yw0-f171.google.com with SMTP id g127so55713242ywf.2; Wed, 09 Mar 2016 17:31:01 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.13.252.197 with SMTP id m188mr461317ywf.281.1457573461499; Wed, 09 Mar 2016 17:31:01 -0800 (PST) Reply-To: cem@FreeBSD.org Received: by 10.37.115.134 with HTTP; Wed, 9 Mar 2016 17:31:01 -0800 (PST) In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 17:31:01 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Conrad Meyer To: Adrian Chadd Cc: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 01:56:21 -0000 On Wed, Mar 9, 2016 at 12:48 PM, Adrian Chadd wrote: > Woo! > > Just so its' not lost - people in irc have found power consumption has > jumped dramatically since this commit. :( For the record, on X230 (Ivybridge) I actually see lower power consumption with the new 3.8 kms: (All at brightness 100) Old kernel, no KMS: 11W Old kernel, KMS: 13W New kernel, no KMS: 11W New kernel, KMS: 11W With brightness down to minimum (5%): New kernel, KMS: 8.9W Best, Conrad From owner-svn-src-head@freebsd.org Thu Mar 10 02:13:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F5F3ACAD7C; Thu, 10 Mar 2016 02:13:44 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E13FC18C4; Thu, 10 Mar 2016 02:13:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2DgLs058009; Thu, 10 Mar 2016 02:13:42 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2Dg5M058008; Thu, 10 Mar 2016 02:13:42 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100213.u2A2Dg5M058008@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:13:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296593 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:13:44 -0000 Author: sephe Date: Thu Mar 10 02:13:42 2016 New Revision: 296593 URL: https://svnweb.freebsd.org/changeset/base/296593 Log: hyperv/hn: Move if_initname to an earlier place So that functions shared w/ attach path could use if_printf(). While I'm here, remove unnecessary if_dunit and if_dname assignment. MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5576 Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 00:36:52 2016 (r296592) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:13:42 2016 (r296593) @@ -436,6 +436,7 @@ netvsc_attach(device_t dev) ifp = sc->hn_ifp = if_alloc(IFT_ETHER); ifp->if_softc = sc; + if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ring_cnt = hn_ring_cnt; if (ring_cnt <= 0 || ring_cnt >= mp_ncpus) @@ -466,10 +467,6 @@ netvsc_attach(device_t dev) sc->hn_tx_ring[0].hn_chan = chan; vmbus_channel_cpu_set(chan, sc->hn_cpu); - if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_dunit = unit; - ifp->if_dname = NETVSC_DEVNAME; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = hn_ioctl; ifp->if_init = hn_ifinit; From owner-svn-src-head@freebsd.org Thu Mar 10 02:28:02 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF247AC923C; Thu, 10 Mar 2016 02:28:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6D6141F54; Thu, 10 Mar 2016 02:28:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2S1Hr061329; Thu, 10 Mar 2016 02:28:01 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2S14k061327; Thu, 10 Mar 2016 02:28:01 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100228.u2A2S14k061327@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:28:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296594 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:28:02 -0000 Author: sephe Date: Thu Mar 10 02:28:01 2016 New Revision: 296594 URL: https://svnweb.freebsd.org/changeset/base/296594 Log: hyperv/hn: Factor out hn_channel_attach MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5577 Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.h ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_net_vsc.h Thu Mar 10 02:13:42 2016 (r296593) +++ head/sys/dev/hyperv/netvsc/hv_net_vsc.h Thu Mar 10 02:28:01 2016 (r296594) @@ -1167,12 +1167,15 @@ struct hn_rx_ring { /* Rarely used stuffs */ struct sysctl_oid *hn_rx_sysctl_tree; + int hn_rx_flags; } __aligned(CACHE_LINE_SIZE); #define HN_TRUST_HCSUM_IP 0x0001 #define HN_TRUST_HCSUM_TCP 0x0002 #define HN_TRUST_HCSUM_UDP 0x0004 +#define HN_RX_FLAG_ATTACHED 0x1 + struct hn_tx_ring { #ifndef HN_USE_TXDESC_BUFRING struct mtx hn_txlist_spin; @@ -1214,8 +1217,11 @@ struct hn_tx_ring { struct hn_txdesc *hn_txdesc; bus_dma_tag_t hn_tx_rndis_dtag; struct sysctl_oid *hn_tx_sysctl_tree; + int hn_tx_flags; } __aligned(CACHE_LINE_SIZE); +#define HN_TX_FLAG_ATTACHED 0x1 + /* * Device-specific softc structure */ Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:13:42 2016 (r296593) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:28:01 2016 (r296594) @@ -323,6 +323,7 @@ static int hn_encap(struct hn_tx_ring *, static void hn_create_rx_data(struct hn_softc *sc, int); static void hn_destroy_rx_data(struct hn_softc *sc); static void hn_set_tx_chimney_size(struct hn_softc *, int); +static void hn_channel_attach(struct hn_softc *, struct hv_vmbus_channel *); static int hn_transmit(struct ifnet *, struct mbuf *); static void hn_xmit_qflush(struct ifnet *); @@ -462,10 +463,11 @@ netvsc_attach(device_t dev) * Associate the first TX/RX ring w/ the primary channel. */ chan = device_ctx->channel; - chan->hv_chan_rxr = &sc->hn_rx_ring[0]; - chan->hv_chan_txr = &sc->hn_tx_ring[0]; - sc->hn_tx_ring[0].hn_chan = chan; - vmbus_channel_cpu_set(chan, sc->hn_cpu); + KASSERT(HV_VMBUS_CHAN_ISPRIMARY(chan), ("not primary channel")); + KASSERT(chan->offer_msg.offer.sub_channel_index == 0, + ("primary channel subidx %u", + chan->offer_msg.offer.sub_channel_index)); + hn_channel_attach(sc, chan); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = hn_ioctl; @@ -2766,30 +2768,53 @@ hn_xmit_txeof_taskfunc(void *xtxr, int p mtx_unlock(&txr->hn_tx_lock); } -void -netvsc_subchan_callback(struct hn_softc *sc, struct hv_vmbus_channel *chan) +static void +hn_channel_attach(struct hn_softc *sc, struct hv_vmbus_channel *chan) { + struct hn_rx_ring *rxr; int idx; - KASSERT(!HV_VMBUS_CHAN_ISPRIMARY(chan), - ("subchannel callback on primary channel")); - idx = chan->offer_msg.offer.sub_channel_index; - KASSERT(idx > 0 && idx < sc->hn_rx_ring_inuse, + + KASSERT(idx >= 0 && idx < sc->hn_rx_ring_inuse, ("invalid channel index %d, should > 0 && < %d", idx, sc->hn_rx_ring_inuse)); - vmbus_channel_cpu_set(chan, (sc->hn_cpu + idx) % mp_ncpus); + rxr = &sc->hn_rx_ring[idx]; + KASSERT((rxr->hn_rx_flags & HN_RX_FLAG_ATTACHED) == 0, + ("RX ring %d already attached", idx)); + rxr->hn_rx_flags |= HN_RX_FLAG_ATTACHED; - chan->hv_chan_rxr = &sc->hn_rx_ring[idx]; + chan->hv_chan_rxr = rxr; if_printf(sc->hn_ifp, "link RX ring %d to channel%u\n", idx, chan->offer_msg.child_rel_id); if (idx < sc->hn_tx_ring_inuse) { - chan->hv_chan_txr = &sc->hn_tx_ring[idx]; - sc->hn_tx_ring[idx].hn_chan = chan; + struct hn_tx_ring *txr = &sc->hn_tx_ring[idx]; + + KASSERT((txr->hn_tx_flags & HN_TX_FLAG_ATTACHED) == 0, + ("TX ring %d already attached", idx)); + txr->hn_tx_flags |= HN_TX_FLAG_ATTACHED; + + chan->hv_chan_txr = txr; + txr->hn_chan = chan; if_printf(sc->hn_ifp, "link TX ring %d to channel%u\n", idx, chan->offer_msg.child_rel_id); } + + /* Bind channel to a proper CPU */ + vmbus_channel_cpu_set(chan, (sc->hn_cpu + idx) % mp_ncpus); +} + +void +netvsc_subchan_callback(struct hn_softc *sc, struct hv_vmbus_channel *chan) +{ + + KASSERT(!HV_VMBUS_CHAN_ISPRIMARY(chan), + ("subchannel callback on primary channel")); + KASSERT(chan->offer_msg.offer.sub_channel_index > 0, + ("invalid channel subidx %u", + chan->offer_msg.offer.sub_channel_index)); + hn_channel_attach(sc, chan); } static void From owner-svn-src-head@freebsd.org Thu Mar 10 02:37:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B5C8CAC9568; Thu, 10 Mar 2016 02:37:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 913C2698; Thu, 10 Mar 2016 02:37:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2blpe064476; Thu, 10 Mar 2016 02:37:47 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2blIU064475; Thu, 10 Mar 2016 02:37:47 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100237.u2A2blIU064475@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:37:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296595 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:37:48 -0000 Author: sephe Date: Thu Mar 10 02:37:47 2016 New Revision: 296595 URL: https://svnweb.freebsd.org/changeset/base/296595 Log: hyperv/hn: Make the # of TX rings configurable. Rename the tunables to avoid confusion. MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5578 Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:28:01 2016 (r296594) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:37:47 2016 (r296595) @@ -279,13 +279,14 @@ static int hn_use_if_start = 0; SYSCTL_INT(_hw_hn, OID_AUTO, use_if_start, CTLFLAG_RDTUN, &hn_use_if_start, 0, "Use if_start TX method"); -static int hn_ring_cnt = 1; -SYSCTL_INT(_hw_hn, OID_AUTO, ring_cnt, CTLFLAG_RDTUN, - &hn_ring_cnt, 0, "# of TX/RX rings to used"); - -static int hn_single_tx_ring = 1; -SYSCTL_INT(_hw_hn, OID_AUTO, single_tx_ring, CTLFLAG_RDTUN, - &hn_single_tx_ring, 0, "Use one TX ring"); +static int hn_chan_cnt = 1; +SYSCTL_INT(_hw_hn, OID_AUTO, chan_cnt, CTLFLAG_RDTUN, + &hn_chan_cnt, 0, + "# of channels to use; each channel has one RX ring and one TX ring"); + +static int hn_tx_ring_cnt = 1; +SYSCTL_INT(_hw_hn, OID_AUTO, tx_ring_cnt, CTLFLAG_RDTUN, + &hn_tx_ring_cnt, 0, "# of TX rings to use"); static u_int hn_cpu_index; @@ -439,24 +440,33 @@ netvsc_attach(device_t dev) ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ring_cnt = hn_ring_cnt; - if (ring_cnt <= 0 || ring_cnt >= mp_ncpus) + /* + * Figure out the # of RX rings (ring_cnt) and the # of TX rings + * to use (tx_ring_cnt). + * + * NOTE: + * The # of RX rings to use is same as the # of channels to use. + */ + ring_cnt = hn_chan_cnt; + if (ring_cnt <= 0 || ring_cnt > mp_ncpus) ring_cnt = mp_ncpus; - sc->hn_cpu = atomic_fetchadd_int(&hn_cpu_index, ring_cnt) % mp_ncpus; - tx_ring_cnt = ring_cnt; - if (hn_single_tx_ring || hn_use_if_start) { - /* - * - Explicitly asked to use single TX ring. - * - ifnet.if_start is used; ifnet.if_start only needs - * one TX ring. - */ + tx_ring_cnt = hn_tx_ring_cnt; + if (tx_ring_cnt <= 0 || tx_ring_cnt > ring_cnt) + tx_ring_cnt = ring_cnt; + if (hn_use_if_start) { + /* ifnet.if_start only needs one TX ring. */ tx_ring_cnt = 1; } + + /* + * Set the leader CPU for channels. + */ + sc->hn_cpu = atomic_fetchadd_int(&hn_cpu_index, ring_cnt) % mp_ncpus; + error = hn_create_tx_data(sc, tx_ring_cnt); if (error) goto failed; - hn_create_rx_data(sc, ring_cnt); /* @@ -505,12 +515,13 @@ netvsc_attach(device_t dev) error = hv_rf_on_device_add(device_ctx, &device_info, ring_cnt); if (error) goto failed; - KASSERT(sc->net_dev->num_channel <= ring_cnt, + KASSERT(sc->net_dev->num_channel > 0 && + sc->net_dev->num_channel <= sc->hn_rx_ring_inuse, ("invalid channel count %u, should be less than %d", - sc->net_dev->num_channel, ring_cnt)); + sc->net_dev->num_channel, sc->hn_rx_ring_inuse)); /* - * Set # of TX/RX rings that could be used according to + * Set the # of TX/RX rings that could be used according to * the # of channels that host offered. */ if (sc->hn_tx_ring_inuse > sc->net_dev->num_channel) From owner-svn-src-head@freebsd.org Thu Mar 10 02:43:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 43FEDAC9869; Thu, 10 Mar 2016 02:43:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F684BFF; Thu, 10 Mar 2016 02:43:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2hBKa067284; Thu, 10 Mar 2016 02:43:11 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2hB4R067283; Thu, 10 Mar 2016 02:43:11 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603100243.u2A2hB4R067283@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 02:43:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296596 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:43:12 -0000 Author: np Date: Thu Mar 10 02:43:10 2016 New Revision: 296596 URL: https://svnweb.freebsd.org/changeset/base/296596 Log: cxgbe(4): Allow the addr/len pair that is being validated in validate_mem_range to span multiple memory types. Update validate_mt_off_len to use validate_mem_range. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 02:37:47 2016 (r296595) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 02:43:10 2016 (r296596) @@ -2016,52 +2016,135 @@ setup_memwin(struct adapter *sc) t4_read_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 2)); } +static int +t4_range_cmp(const void *a, const void *b) +{ + return ((const struct t4_range *)a)->start - + ((const struct t4_range *)b)->start; +} + /* - * Verify that the memory range specified by the addr/len pair is valid and lies - * entirely within a single region (EDCx or MCx). + * Verify that the memory range specified by the addr/len pair is valid within + * the card's address space. */ static int validate_mem_range(struct adapter *sc, uint32_t addr, int len) { - uint32_t em, addr_len, maddr, mlen; + struct t4_range mem_ranges[4], *r, *next; + uint32_t em, addr_len; + int i, n, remaining; /* Memory can only be accessed in naturally aligned 4 byte units */ - if (addr & 3 || len & 3 || len == 0) + if (addr & 3 || len & 3 || len <= 0) return (EINVAL); /* Enabled memories */ em = t4_read_reg(sc, A_MA_TARGET_MEM_ENABLE); + + r = &mem_ranges[0]; + n = 0; + bzero(r, sizeof(mem_ranges)); if (em & F_EDRAM0_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EDRAM0_BAR); - maddr = G_EDRAM0_BASE(addr_len) << 20; - mlen = G_EDRAM0_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EDRAM0_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EDRAM0_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } if (em & F_EDRAM1_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EDRAM1_BAR); - maddr = G_EDRAM1_BASE(addr_len) << 20; - mlen = G_EDRAM1_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EDRAM1_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EDRAM1_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } if (em & F_EXT_MEM_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY_BAR); - maddr = G_EXT_MEM_BASE(addr_len) << 20; - mlen = G_EXT_MEM_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EXT_MEM_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EXT_MEM_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } - if (!is_t4(sc) && em & F_EXT_MEM1_ENABLE) { + if (is_t5(sc) && em & F_EXT_MEM1_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY1_BAR); - maddr = G_EXT_MEM1_BASE(addr_len) << 20; - mlen = G_EXT_MEM1_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EXT_MEM1_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EXT_MEM1_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } + } + MPASS(n <= nitems(mem_ranges)); + + if (n > 1) { + /* Sort and merge the ranges. */ + qsort(mem_ranges, n, sizeof(struct t4_range), t4_range_cmp); + + /* Start from index 0 and examine the next n - 1 entries. */ + r = &mem_ranges[0]; + for (remaining = n - 1; remaining > 0; remaining--, r++) { + + MPASS(r->size > 0); /* r is a valid entry. */ + next = r + 1; + MPASS(next->size > 0); /* and so is the next one. */ + + while (r->start + r->size >= next->start) { + /* Merge the next one into the current entry. */ + r->size = max(r->start + r->size, + next->start + next->size) - r->start; + n--; /* One fewer entry in total. */ + if (--remaining == 0) + goto done; /* short circuit */ + next++; + } + if (next != r + 1) { + /* + * Some entries were merged into r and next + * points to the first valid entry that couldn't + * be merged. + */ + MPASS(next->size > 0); /* must be valid */ + memcpy(r + 1, next, remaining * sizeof(*r)); +#ifdef INVARIANTS + /* + * This so that the foo->size assertion in the + * next iteration of the loop do the right + * thing for entries that were pulled up and are + * no longer valid. + */ + MPASS(n < nitems(mem_ranges)); + bzero(&mem_ranges[n], (nitems(mem_ranges) - n) * + sizeof(struct t4_range)); +#endif + } + } +done: + /* Done merging the ranges. */ + MPASS(n > 0); + r = &mem_ranges[0]; + for (i = 0; i < n; i++, r++) { + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + } } return (EFAULT); @@ -2094,7 +2177,7 @@ static int validate_mt_off_len(struct adapter *sc, int mtype, uint32_t off, int len, uint32_t *addr) { - uint32_t em, addr_len, maddr, mlen; + uint32_t em, addr_len, maddr; /* Memory can only be accessed in naturally aligned 4 byte units */ if (off & 3 || len & 3 || len == 0) @@ -2107,39 +2190,31 @@ validate_mt_off_len(struct adapter *sc, return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EDRAM0_BAR); maddr = G_EDRAM0_BASE(addr_len) << 20; - mlen = G_EDRAM0_SIZE(addr_len) << 20; break; case MEM_EDC1: if (!(em & F_EDRAM1_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EDRAM1_BAR); maddr = G_EDRAM1_BASE(addr_len) << 20; - mlen = G_EDRAM1_SIZE(addr_len) << 20; break; case MEM_MC: if (!(em & F_EXT_MEM_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY_BAR); maddr = G_EXT_MEM_BASE(addr_len) << 20; - mlen = G_EXT_MEM_SIZE(addr_len) << 20; break; case MEM_MC1: - if (is_t4(sc) || !(em & F_EXT_MEM1_ENABLE)) + if (!is_t5(sc) || !(em & F_EXT_MEM1_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY1_BAR); maddr = G_EXT_MEM1_BASE(addr_len) << 20; - mlen = G_EXT_MEM1_SIZE(addr_len) << 20; break; default: return (EINVAL); } - if (mlen > 0 && off < mlen && off + len <= mlen) { - *addr = maddr + off; /* global address */ - return (0); - } - - return (EFAULT); + *addr = maddr + off; /* global address */ + return (validate_mem_range(sc, *addr, len)); } static void From owner-svn-src-head@freebsd.org Thu Mar 10 05:23:47 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CAE44ACAF7E; Thu, 10 Mar 2016 05:23:47 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9BB22D1; Thu, 10 Mar 2016 05:23:47 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A5NkxZ016112; Thu, 10 Mar 2016 05:23:46 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A5Nk5c016111; Thu, 10 Mar 2016 05:23:46 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201603100523.u2A5Nk5c016111@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 10 Mar 2016 05:23:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296601 - head/sys/dev/vnic X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 05:23:47 -0000 Author: zbb Date: Thu Mar 10 05:23:46 2016 New Revision: 296601 URL: https://svnweb.freebsd.org/changeset/base/296601 Log: Fix "received NULL mbuf" bug in VNIC Do not modify NIC_QSET_CQ_0_7_HEAD manually, especially in non-atomic context. It doesn't seem to be necessary to recreate CQ head after interrupt clearing too. Reviewed by: wma Obtained from: Semihalf Sponsored by: Cavium Differential Revision: https://reviews.freebsd.org/D5533 Modified: head/sys/dev/vnic/nicvf_queues.c Modified: head/sys/dev/vnic/nicvf_queues.c ============================================================================== --- head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 04:21:00 2016 (r296600) +++ head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:23:46 2016 (r296601) @@ -889,7 +889,6 @@ nicvf_qs_err_task(void *arg, int pending static void nicvf_cmp_task(void *arg, int pending) { - uint64_t cq_head; struct cmp_queue *cq; struct nicvf *nic; int cmp_err; @@ -899,11 +898,6 @@ nicvf_cmp_task(void *arg, int pending) /* Handle CQ descriptors */ cmp_err = nicvf_cq_intr_handler(nic, cq->idx); - /* Re-enable interrupts */ - cq_head = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD, cq->idx); - nicvf_clear_intr(nic, NICVF_INTR_CQ, cq->idx); - nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_HEAD, cq->idx, cq_head); - if (__predict_false(cmp_err != 0)) { /* * Schedule another thread here since we did not @@ -913,6 +907,7 @@ nicvf_cmp_task(void *arg, int pending) } + nicvf_clear_intr(nic, NICVF_INTR_CQ, cq->idx); /* Reenable interrupt (previously disabled in nicvf_intr_handler() */ nicvf_enable_intr(nic, NICVF_INTR_CQ, cq->idx); From owner-svn-src-head@freebsd.org Thu Mar 10 05:45:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70E72ACA751; Thu, 10 Mar 2016 05:45:25 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4198BE0B; Thu, 10 Mar 2016 05:45:25 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A5jO3K022077; Thu, 10 Mar 2016 05:45:24 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A5jOwv022076; Thu, 10 Mar 2016 05:45:24 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201603100545.u2A5jOwv022076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 10 Mar 2016 05:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296602 - head/sys/dev/vnic X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 05:45:25 -0000 Author: zbb Date: Thu Mar 10 05:45:24 2016 New Revision: 296602 URL: https://svnweb.freebsd.org/changeset/base/296602 Log: Fix bug in VNIC causing phony number of available TX descriptors TSO packets will signal segments TX completion in the separate CQ descriptors. Each CQ descriptor for HW TSO will point to the same SQ entry. Do not invoke nicvf_put_sq_desc() for secondary segments to avoid free_cnt corruption and eventually integer overflow that will result in the negative free_cnt value and hence impossibility of further transmission. Reviewed by: wma Obtained from: Semihalf Sponsored by: Cavium Differential Revision: https://reviews.freebsd.org/D5535 Modified: head/sys/dev/vnic/nicvf_queues.c Modified: head/sys/dev/vnic/nicvf_queues.c ============================================================================== --- head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:23:46 2016 (r296601) +++ head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:45:24 2016 (r296602) @@ -722,10 +722,10 @@ nicvf_snd_pkt_handler(struct nicvf *nic, if (mbuf != NULL) { m_freem(mbuf); sq->snd_buff[cqe_tx->sqe_ptr].mbuf = NULL; + nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1); } nicvf_check_cqe_tx_errs(nic, cq, cqe_tx); - nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1); NICVF_TX_UNLOCK(sq); return (0); From owner-svn-src-head@freebsd.org Thu Mar 10 06:15:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7ABD8ACAFAF; Thu, 10 Mar 2016 06:15:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 40197AA7; Thu, 10 Mar 2016 06:15:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6FWGb031175; Thu, 10 Mar 2016 06:15:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6FWE5031172; Thu, 10 Mar 2016 06:15:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603100615.u2A6FWE5031172@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 06:15:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296603 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:15:33 -0000 Author: np Date: Thu Mar 10 06:15:31 2016 New Revision: 296603 URL: https://svnweb.freebsd.org/changeset/base/296603 Log: cxgbe(4): Add general purpose routines that offer safe access to the chip's memory windows. Convert existing users of these windows to the new routines. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/adapter.h Thu Mar 10 06:15:31 2016 (r296603) @@ -438,6 +438,29 @@ struct hw_buf_info { }; enum { + NUM_MEMWIN = 3, + + MEMWIN0_APERTURE = 2048, + MEMWIN0_BASE = 0x1b800, + + MEMWIN1_APERTURE = 32768, + MEMWIN1_BASE = 0x28000, + + MEMWIN2_APERTURE_T4 = 65536, + MEMWIN2_BASE_T4 = 0x30000, + + MEMWIN2_APERTURE_T5 = 128 * 1024, + MEMWIN2_BASE_T5 = 0x60000, +}; + +struct memwin { + struct rwlock mw_lock __aligned(CACHE_LINE_SIZE); + uint32_t mw_base; /* constant after setup_memwin */ + uint32_t mw_aperture; /* ditto */ + uint32_t mw_curpos; /* protected by mw_lock */ +}; + +enum { FL_STARVING = (1 << 0), /* on the adapter's list of starving fl's */ FL_DOOMED = (1 << 1), /* about to be destroyed */ FL_BUF_PACKING = (1 << 2), /* buffer packing enabled */ @@ -806,6 +829,8 @@ struct adapter { struct mtx reg_lock; /* for indirect register access */ + struct memwin memwin[NUM_MEMWIN]; /* memory windows */ + an_handler_t an_handler __aligned(CACHE_LINE_SIZE); fw_msg_handler_t fw_msg_handler[7]; /* NUM_FW6_TYPES */ cpl_handler_t cpl_handler[0xef]; /* NUM_CPL_CMDS */ Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/common/common.h Thu Mar 10 06:15:31 2016 (r296603) @@ -52,20 +52,6 @@ enum { enum { MEM_EDC0, MEM_EDC1, MEM_MC, MEM_MC0 = MEM_MC, MEM_MC1 }; -enum { - MEMWIN0_APERTURE = 2048, - MEMWIN0_BASE = 0x1b800, - - MEMWIN1_APERTURE = 32768, - MEMWIN1_BASE = 0x28000, - - MEMWIN2_APERTURE_T4 = 65536, - MEMWIN2_BASE_T4 = 0x30000, - - MEMWIN2_APERTURE_T5 = 128 * 1024, - MEMWIN2_BASE_T5 = 0x60000, -}; - enum dev_master { MASTER_CANT, MASTER_MAY, MASTER_MUST }; enum dev_state { DEV_STATE_UNINIT, DEV_STATE_INIT, DEV_STATE_ERR }; @@ -76,11 +62,6 @@ enum { PAUSE_AUTONEG = 1 << 2 }; -struct memwin { - uint32_t base; - uint32_t aperture; -}; - struct port_stats { u64 tx_octets; /* total # of octets in good frames */ u64 tx_frames; /* all good frames */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 06:15:31 2016 (r296603) @@ -399,12 +399,16 @@ struct filter_entry { static int map_bars_0_and_4(struct adapter *); static int map_bar_2(struct adapter *); static void setup_memwin(struct adapter *); +static void position_memwin(struct adapter *, int, uint32_t); +static int rw_via_memwin(struct adapter *, int, uint32_t, uint32_t *, int, int); +static inline int read_via_memwin(struct adapter *, int, uint32_t, uint32_t *, + int); +static inline int write_via_memwin(struct adapter *, int, uint32_t, + const uint32_t *, int); static int validate_mem_range(struct adapter *, uint32_t, int); static int fwmtype_to_hwmtype(int); static int validate_mt_off_len(struct adapter *, int, uint32_t, int, uint32_t *); -static void memwin_info(struct adapter *, int, uint32_t *, uint32_t *); -static uint32_t position_memwin(struct adapter *, int, uint32_t); static int cfg_itype_and_nqueues(struct adapter *, int, int, int, struct intrs_and_queues *); static int prep_firmware(struct adapter *); @@ -1164,6 +1168,13 @@ t4_detach(device_t dev) if (mtx_initialized(&sc->reg_lock)) mtx_destroy(&sc->reg_lock); + for (i = 0; i < NUM_MEMWIN; i++) { + struct memwin *mw = &sc->memwin[i]; + + if (rw_initialized(&mw->mw_lock)) + rw_destroy(&mw->mw_lock); + } + bzero(sc, sizeof(*sc)); return (0); @@ -1965,13 +1976,18 @@ map_bar_2(struct adapter *sc) return (0); } -static const struct memwin t4_memwin[] = { +struct memwin_init { + uint32_t base; + uint32_t aperture; +}; + +static const struct memwin_init t4_memwin[NUM_MEMWIN] = { { MEMWIN0_BASE, MEMWIN0_APERTURE }, { MEMWIN1_BASE, MEMWIN1_APERTURE }, { MEMWIN2_BASE_T4, MEMWIN2_APERTURE_T4 } }; -static const struct memwin t5_memwin[] = { +static const struct memwin_init t5_memwin[NUM_MEMWIN] = { { MEMWIN0_BASE, MEMWIN0_APERTURE }, { MEMWIN1_BASE, MEMWIN1_APERTURE }, { MEMWIN2_BASE_T5, MEMWIN2_APERTURE_T5 }, @@ -1980,8 +1996,9 @@ static const struct memwin t5_memwin[] = static void setup_memwin(struct adapter *sc) { - const struct memwin *mw; - int i, n; + const struct memwin_init *mw_init; + struct memwin *mw; + int i; uint32_t bar0; if (is_t4(sc)) { @@ -1995,27 +2012,125 @@ setup_memwin(struct adapter *sc) bar0 = t4_hw_pci_read_cfg4(sc, PCIR_BAR(0)); bar0 &= (uint32_t) PCIM_BAR_MEM_BASE; - mw = &t4_memwin[0]; - n = nitems(t4_memwin); + mw_init = &t4_memwin[0]; } else { - /* T5 uses the relative offset inside the PCIe BAR */ + /* T5+ use the relative offset inside the PCIe BAR */ bar0 = 0; - mw = &t5_memwin[0]; - n = nitems(t5_memwin); + mw_init = &t5_memwin[0]; } - for (i = 0; i < n; i++, mw++) { + for (i = 0, mw = &sc->memwin[0]; i < NUM_MEMWIN; i++, mw_init++, mw++) { + rw_init(&mw->mw_lock, "memory window access"); + mw->mw_base = mw_init->base; + mw->mw_aperture = mw_init->aperture; + mw->mw_curpos = 0; t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, i), - (mw->base + bar0) | V_BIR(0) | - V_WINDOW(ilog2(mw->aperture) - 10)); + (mw->mw_base + bar0) | V_BIR(0) | + V_WINDOW(ilog2(mw->mw_aperture) - 10)); + rw_wlock(&mw->mw_lock); + position_memwin(sc, i, 0); + rw_wunlock(&mw->mw_lock); } /* flush */ t4_read_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 2)); } +/* + * Positions the memory window at the given address in the card's address space. + * There are some alignment requirements and the actual position may be at an + * address prior to the requested address. mw->mw_curpos always has the actual + * position of the window. + */ +static void +position_memwin(struct adapter *sc, int idx, uint32_t addr) +{ + struct memwin *mw; + uint32_t pf; + uint32_t reg; + + MPASS(idx >= 0 && idx < NUM_MEMWIN); + mw = &sc->memwin[idx]; + rw_assert(&mw->mw_lock, RA_WLOCKED); + + if (is_t4(sc)) { + pf = 0; + mw->mw_curpos = addr & ~0xf; /* start must be 16B aligned */ + } else { + pf = V_PFNUM(sc->pf); + mw->mw_curpos = addr & ~0x7f; /* start must be 128B aligned */ + } + reg = PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, idx); + t4_write_reg(sc, reg, mw->mw_curpos | pf); + t4_read_reg(sc, reg); /* flush */ +} + +static int +rw_via_memwin(struct adapter *sc, int idx, uint32_t addr, uint32_t *val, + int len, int rw) +{ + struct memwin *mw; + uint32_t mw_end, v; + + MPASS(idx >= 0 && idx < NUM_MEMWIN); + + /* Memory can only be accessed in naturally aligned 4 byte units */ + if (addr & 3 || len & 3 || len <= 0) + return (EINVAL); + + mw = &sc->memwin[idx]; + while (len > 0) { + rw_rlock(&mw->mw_lock); + mw_end = mw->mw_curpos + mw->mw_aperture; + if (addr >= mw_end || addr + len <= mw->mw_curpos) { + /* Will need to reposition the window */ + if (!rw_try_upgrade(&mw->mw_lock)) { + rw_runlock(&mw->mw_lock); + rw_wlock(&mw->mw_lock); + } + rw_assert(&mw->mw_lock, RA_WLOCKED); + position_memwin(sc, idx, addr); + rw_downgrade(&mw->mw_lock); + mw_end = mw->mw_curpos + mw->mw_aperture; + } + rw_assert(&mw->mw_lock, RA_RLOCKED); + while (addr < mw_end && len > 0) { + if (rw == 0) { + v = t4_read_reg(sc, mw->mw_base + addr - + mw->mw_curpos); + *val++ = le32toh(v); + } else { + v = *val++; + t4_write_reg(sc, mw->mw_base + addr - + mw->mw_curpos, htole32(v));; + } + addr += 4; + len -= 4; + } + rw_runlock(&mw->mw_lock); + } + + return (0); +} + +static inline int +read_via_memwin(struct adapter *sc, int idx, uint32_t addr, uint32_t *val, + int len) +{ + + return (rw_via_memwin(sc, idx, addr, val, len, 0)); +} + +static inline int +write_via_memwin(struct adapter *sc, int idx, uint32_t addr, + const uint32_t *val, int len) +{ + + return (rw_via_memwin(sc, idx, addr, (void *)(uintptr_t)val, len, 1)); +} + static int t4_range_cmp(const void *a, const void *b) { @@ -2217,58 +2332,6 @@ validate_mt_off_len(struct adapter *sc, return (validate_mem_range(sc, *addr, len)); } -static void -memwin_info(struct adapter *sc, int win, uint32_t *base, uint32_t *aperture) -{ - const struct memwin *mw; - - if (is_t4(sc)) { - KASSERT(win >= 0 && win < nitems(t4_memwin), - ("%s: incorrect memwin# (%d)", __func__, win)); - mw = &t4_memwin[win]; - } else { - KASSERT(win >= 0 && win < nitems(t5_memwin), - ("%s: incorrect memwin# (%d)", __func__, win)); - mw = &t5_memwin[win]; - } - - if (base != NULL) - *base = mw->base; - if (aperture != NULL) - *aperture = mw->aperture; -} - -/* - * Positions the memory window such that it can be used to access the specified - * address in the chip's address space. The return value is the offset of addr - * from the start of the window. - */ -static uint32_t -position_memwin(struct adapter *sc, int n, uint32_t addr) -{ - uint32_t start, pf; - uint32_t reg; - - KASSERT(n >= 0 && n <= 3, - ("%s: invalid window %d.", __func__, n)); - KASSERT((addr & 3) == 0, - ("%s: addr (0x%x) is not at a 4B boundary.", __func__, addr)); - - if (is_t4(sc)) { - pf = 0; - start = addr & ~0xf; /* start must be 16B aligned */ - } else { - pf = V_PFNUM(sc->pf); - start = addr & ~0x7f; /* start must be 128B aligned */ - } - reg = PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, n); - - t4_write_reg(sc, reg, start | pf); - t4_read_reg(sc, reg); - - return (addr - start); -} - static int cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g, int num_vis, struct intrs_and_queues *iaq) @@ -2869,9 +2932,9 @@ partition_resources(struct adapter *sc, } if (strncmp(sc->cfg_file, FLASH_CF, sizeof(sc->cfg_file)) != 0) { - u_int cflen, i, n; + u_int cflen; const uint32_t *cfdata; - uint32_t param, val, addr, off, mw_base, mw_aperture; + uint32_t param, val, addr; KASSERT(cfg != NULL || default_cfg != NULL, ("%s: no config to upload", __func__)); @@ -2921,16 +2984,7 @@ partition_resources(struct adapter *sc, __func__, mtype, moff, cflen, rc); goto use_config_on_flash; } - - memwin_info(sc, 2, &mw_base, &mw_aperture); - while (cflen) { - off = position_memwin(sc, 2, addr); - n = min(cflen, mw_aperture - off); - for (i = 0; i < n; i += 4) - t4_write_reg(sc, mw_base + off + i, *cfdata++); - cflen -= n; - addr += n; - } + write_via_memwin(sc, 2, addr, cfdata, cflen); } else { use_config_on_flash: mtype = FW_MEMTYPE_FLASH; @@ -7486,22 +7540,22 @@ done: static inline uint64_t get_filter_hits(struct adapter *sc, uint32_t fid) { - uint32_t mw_base, off, tcb_base = t4_read_reg(sc, A_TP_CMM_TCB_BASE); - uint64_t hits; + uint32_t tcb_addr; - memwin_info(sc, 0, &mw_base, NULL); + tcb_addr = t4_read_reg(sc, A_TP_CMM_TCB_BASE) + + (fid + sc->tids.ftid_base) * TCB_SIZE; - off = position_memwin(sc, 0, - tcb_base + (fid + sc->tids.ftid_base) * TCB_SIZE); if (is_t4(sc)) { - hits = t4_read_reg64(sc, mw_base + off + 16); - hits = be64toh(hits); + uint64_t hits; + + read_via_memwin(sc, 0, tcb_addr + 16, (uint32_t *)&hits, 8); + return (be64toh(hits)); } else { - hits = t4_read_reg(sc, mw_base + off + 24); - hits = be32toh(hits); - } + uint32_t hits; - return (hits); + read_via_memwin(sc, 0, tcb_addr + 24, &hits, 4); + return (be32toh(hits)); + } } static int @@ -7975,12 +8029,12 @@ done: return (rc); } +#define MAX_READ_BUF_SIZE (128 * 1024) static int read_card_mem(struct adapter *sc, int win, struct t4_mem_range *mr) { - uint32_t addr, off, remaining, i, n; - uint32_t *buf, *b; - uint32_t mw_base, mw_aperture; + uint32_t addr, remaining, n; + uint32_t *buf; int rc; uint8_t *dst; @@ -7988,25 +8042,19 @@ read_card_mem(struct adapter *sc, int wi if (rc != 0) return (rc); - memwin_info(sc, win, &mw_base, &mw_aperture); - buf = b = malloc(min(mr->len, mw_aperture), M_CXGBE, M_WAITOK); + buf = malloc(min(mr->len, MAX_READ_BUF_SIZE), M_CXGBE, M_WAITOK); addr = mr->addr; remaining = mr->len; dst = (void *)mr->data; while (remaining) { - off = position_memwin(sc, win, addr); - - /* number of bytes that we'll copy in the inner loop */ - n = min(remaining, mw_aperture - off); - for (i = 0; i < n; i += 4) - *b++ = t4_read_reg(sc, mw_base + off + i); + n = min(remaining, MAX_READ_BUF_SIZE); + read_via_memwin(sc, 2, addr, buf, n); rc = copyout(buf, dst, n); if (rc != 0) break; - b = buf; dst += n; remaining -= n; addr += n; @@ -8015,6 +8063,7 @@ read_card_mem(struct adapter *sc, int wi free(buf, M_CXGBE); return (rc); } +#undef MAX_READ_BUF_SIZE static int read_i2c(struct adapter *sc, struct t4_i2c_data *i2cd) From owner-svn-src-head@freebsd.org Thu Mar 10 06:25:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B24ACACA29E; Thu, 10 Mar 2016 06:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 69951F37; Thu, 10 Mar 2016 06:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6P6r2034188; Thu, 10 Mar 2016 06:25:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6P6tC034183; Thu, 10 Mar 2016 06:25:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6P6tC034183@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296604 - in head/sys: cam cam/ctl dev/isp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:07 -0000 Author: imp Date: Thu Mar 10 06:25:05 2016 New Revision: 296604 URL: https://svnweb.freebsd.org/changeset/base/296604 Log: Move to new value for XPT_GET_SIM_KNOB to avoid clash with XPT_ATA_IO. Modified: head/sys/cam/cam_ccb.h head/sys/cam/cam_xpt.c head/sys/cam/ctl/scsi_ctl.c head/sys/dev/isp/isp_freebsd.c Modified: head/sys/cam/cam_ccb.h ============================================================================== --- head/sys/cam/cam_ccb.h Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/cam_ccb.h Thu Mar 10 06:25:05 2016 (r296604) @@ -189,16 +189,18 @@ typedef enum { XPT_ATA_IO = 0x18 | XPT_FC_DEV_QUEUED, /* Execute the requested ATA I/O operation */ - XPT_GET_SIM_KNOB = 0x18, - /* - * Get SIM specific knob values. - */ + XPT_GET_SIM_KNOB_OLD = 0x18, /* Compat only */ XPT_SET_SIM_KNOB = 0x19, /* * Set SIM specific knob values. */ + XPT_GET_SIM_KNOB = 0x1a, + /* + * Get SIM specific knob values. + */ + XPT_SMP_IO = 0x1b | XPT_FC_DEV_QUEUED, /* Serial Management Protocol */ Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/cam_xpt.c Thu Mar 10 06:25:05 2016 (r296604) @@ -2610,6 +2610,7 @@ xpt_action_default(union ccb *start_ccb) case XPT_RESET_BUS: case XPT_IMMEDIATE_NOTIFY: case XPT_NOTIFY_ACKNOWLEDGE: + case XPT_GET_SIM_KNOB_OLD: case XPT_GET_SIM_KNOB: case XPT_SET_SIM_KNOB: case XPT_GET_TRAN_SETTINGS: Modified: head/sys/cam/ctl/scsi_ctl.c ============================================================================== --- head/sys/cam/ctl/scsi_ctl.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/ctl/scsi_ctl.c Thu Mar 10 06:25:05 2016 (r296604) @@ -1557,6 +1557,7 @@ ctlfedone(struct cam_periph *periph, uni break; case XPT_SET_SIM_KNOB: case XPT_GET_SIM_KNOB: + case XPT_GET_SIM_KNOB_OLD: break; default: panic("%s: unexpected CCB type %#x", __func__, Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/dev/isp/isp_freebsd.c Thu Mar 10 06:25:05 2016 (r296604) @@ -3944,6 +3944,7 @@ isp_action(struct cam_sim *sim, union cc xpt_done(ccb); break; } + case XPT_GET_SIM_KNOB_OLD: /* Get SIM knobs -- compat value */ case XPT_GET_SIM_KNOB: /* Get SIM knobs */ { struct ccb_sim_knob *kp = &ccb->knob; From owner-svn-src-head@freebsd.org Thu Mar 10 06:25:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C2EFACA2E9; Thu, 10 Mar 2016 06:25:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3364910A0; Thu, 10 Mar 2016 06:25:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PWhl034283; Thu, 10 Mar 2016 06:25:32 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6PWCU034281; Thu, 10 Mar 2016 06:25:32 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6PWCU034281@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296605 - head/sys/geom X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:33 -0000 Author: imp Date: Thu Mar 10 06:25:31 2016 New Revision: 296605 URL: https://svnweb.freebsd.org/changeset/base/296605 Log: Don't assume that bio_cmd is bit mask. Differential Revision: https://reviews.freebsd.org/D5593 Modified: head/sys/geom/geom_disk.c head/sys/geom/geom_io.c Modified: head/sys/geom/geom_disk.c ============================================================================== --- head/sys/geom/geom_disk.c Thu Mar 10 06:25:05 2016 (r296604) +++ head/sys/geom/geom_disk.c Thu Mar 10 06:25:31 2016 (r296605) @@ -225,8 +225,16 @@ g_disk_done(struct bio *bp) if (bp2->bio_error == 0) bp2->bio_error = bp->bio_error; bp2->bio_completed += bp->bio_completed; - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE|BIO_FLUSH)) != 0) + switch (bp->bio_cmd) { + case BIO_READ: + case BIO_WRITE: + case BIO_DELETE: + case BIO_FLUSH: devstat_end_transaction_bio_bt(sc->dp->d_devstat, bp, &now); + break; + default: + break; + } bp2->bio_inbed++; if (bp2->bio_children == bp2->bio_inbed) { mtx_unlock(&sc->done_mtx); Modified: head/sys/geom/geom_io.c ============================================================================== --- head/sys/geom/geom_io.c Thu Mar 10 06:25:05 2016 (r296604) +++ head/sys/geom/geom_io.c Thu Mar 10 06:25:31 2016 (r296605) @@ -479,6 +479,7 @@ g_io_request(struct bio *bp, struct g_co struct g_provider *pp; struct mtx *mtxp; int direct, error, first; + uint8_t cmd; KASSERT(cp != NULL, ("NULL cp in g_io_request")); KASSERT(bp != NULL, ("NULL bp in g_io_request")); @@ -500,16 +501,17 @@ g_io_request(struct bio *bp, struct g_co bp->_bio_cflags = bp->bio_cflags; #endif - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_GETATTR)) { + cmd = bp->bio_cmd; + if (cmd == BIO_READ || cmd == BIO_WRITE || cmd == BIO_GETATTR) { KASSERT(bp->bio_data != NULL, ("NULL bp->data in g_io_request(cmd=%hhu)", bp->bio_cmd)); } - if (bp->bio_cmd & (BIO_DELETE|BIO_FLUSH)) { + if (cmd == BIO_DELETE || cmd == BIO_FLUSH) { KASSERT(bp->bio_data == NULL, ("non-NULL bp->data in g_io_request(cmd=%hhu)", bp->bio_cmd)); } - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE)) { + if (cmd == BIO_READ || cmd == BIO_WRITE || cmd == BIO_DELETE) { KASSERT(bp->bio_offset % cp->provider->sectorsize == 0, ("wrong offset %jd for sectorsize %u", bp->bio_offset, cp->provider->sectorsize)); From owner-svn-src-head@freebsd.org Thu Mar 10 06:25:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4239EACA32A; Thu, 10 Mar 2016 06:25:41 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F065911EC; Thu, 10 Mar 2016 06:25:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PeNd034342; Thu, 10 Mar 2016 06:25:40 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6Pd1E034340; Thu, 10 Mar 2016 06:25:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6Pd1E034340@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296606 - head/sys/geom/sched X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:41 -0000 Author: imp Date: Thu Mar 10 06:25:39 2016 New Revision: 296606 URL: https://svnweb.freebsd.org/changeset/base/296606 Log: Don't assume that bio_cmd is a bit mask. Differential Revision: https://reviews.freebsd.org/D5592 Modified: head/sys/geom/sched/g_sched.c head/sys/geom/sched/gs_rr.c Modified: head/sys/geom/sched/g_sched.c ============================================================================== --- head/sys/geom/sched/g_sched.c Thu Mar 10 06:25:31 2016 (r296605) +++ head/sys/geom/sched/g_sched.c Thu Mar 10 06:25:39 2016 (r296606) @@ -269,7 +269,7 @@ g_sched_update_stats(struct bio *bio) me.gs_done++; me.gs_in_flight--; me.gs_bytes_in_flight -= bio->bio_length; - if (bio->bio_cmd & BIO_WRITE) { + if (bio->bio_cmd == BIO_WRITE) { me.gs_writes_in_flight--; me.gs_write_bytes_in_flight -= bio->bio_length; } @@ -754,9 +754,9 @@ static inline char g_sched_type(struct bio *bp) { - if (0 != (bp->bio_cmd & BIO_READ)) + if (bp->bio_cmd == BIO_READ) return ('R'); - else if (0 != (bp->bio_cmd & BIO_WRITE)) + else if (bp->bio_cmd == BIO_WRITE) return ('W'); return ('U'); } @@ -829,7 +829,7 @@ g_sched_start(struct bio *bp) KASSERT(cbp->bio_to != NULL, ("NULL provider")); /* We only schedule reads and writes. */ - if (0 == (bp->bio_cmd & (BIO_READ | BIO_WRITE))) + if (bp->bio_cmd != BIO_READ && bp->bio_cmd != BIO_WRITE) goto bypass; G_SCHED_LOGREQ(cbp, "Sending request."); @@ -860,7 +860,7 @@ g_sched_start(struct bio *bp) me.gs_in_flight++; me.gs_requests++; me.gs_bytes_in_flight += bp->bio_length; - if (bp->bio_cmd & BIO_WRITE) { + if (bp->bio_cmd == BIO_WRITE) { me.gs_writes_in_flight++; me.gs_write_bytes_in_flight += bp->bio_length; } Modified: head/sys/geom/sched/gs_rr.c ============================================================================== --- head/sys/geom/sched/gs_rr.c Thu Mar 10 06:25:31 2016 (r296605) +++ head/sys/geom/sched/gs_rr.c Thu Mar 10 06:25:39 2016 (r296606) @@ -375,7 +375,7 @@ g_rr_should_anticipate(struct g_rr_queue { int wait = get_bounded(&me.wait_ms, 2); - if (!me.w_anticipate && (bp->bio_cmd & BIO_WRITE)) + if (!me.w_anticipate && (bp->bio_cmd == BIO_WRITE)) return (0); if (g_savg_valid(&qp->q_thinktime) && From owner-svn-src-head@freebsd.org Thu Mar 10 06:25:49 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51668ACA36B; Thu, 10 Mar 2016 06:25:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 084FB1343; Thu, 10 Mar 2016 06:25:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PmBt034400; Thu, 10 Mar 2016 06:25:48 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6PljY034399; Thu, 10 Mar 2016 06:25:47 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6PljY034399@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296607 - head/sys/mips/cavium X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:49 -0000 Author: imp Date: Thu Mar 10 06:25:47 2016 New Revision: 296607 URL: https://svnweb.freebsd.org/changeset/base/296607 Log: Don't assume that bio_cmd is a bitfield. Differential Revision: https://reviews.freebsd.org/D5591 Modified: head/sys/mips/cavium/octeon_ebt3000_cf.c Modified: head/sys/mips/cavium/octeon_ebt3000_cf.c ============================================================================== --- head/sys/mips/cavium/octeon_ebt3000_cf.c Thu Mar 10 06:25:39 2016 (r296606) +++ head/sys/mips/cavium/octeon_ebt3000_cf.c Thu Mar 10 06:25:47 2016 (r296607) @@ -215,37 +215,38 @@ static void cf_start (struct bio *bp) * the bio struct. */ - if(bp->bio_cmd & BIO_GETATTR) { + switch (bp->bio_cmd) { + case BIO_GETATTR: if (g_handleattr_int(bp, "GEOM::fwsectors", cf_priv->drive_param.sec_track)) return; if (g_handleattr_int(bp, "GEOM::fwheads", cf_priv->drive_param.heads)) return; g_io_deliver(bp, ENOIOCTL); return; - } - - if ((bp->bio_cmd & (BIO_READ | BIO_WRITE))) { - if (bp->bio_cmd & BIO_READ) { - error = cf_cmd_read(bp->bio_length / cf_priv->drive_param.sector_size, - bp->bio_offset / cf_priv->drive_param.sector_size, bp->bio_data); - } else if (bp->bio_cmd & BIO_WRITE) { - error = cf_cmd_write(bp->bio_length / cf_priv->drive_param.sector_size, - bp->bio_offset/cf_priv->drive_param.sector_size, bp->bio_data); - } else { - printf("%s: unrecognized bio_cmd %x.\n", __func__, bp->bio_cmd); - error = ENOTSUP; - } + case BIO_READ: + error = cf_cmd_read(bp->bio_length / cf_priv->drive_param.sector_size, + bp->bio_offset / cf_priv->drive_param.sector_size, bp->bio_data); + break; + case BIO_WRITE: + error = cf_cmd_write(bp->bio_length / cf_priv->drive_param.sector_size, + bp->bio_offset/cf_priv->drive_param.sector_size, bp->bio_data); + break; - if (error != 0) { - g_io_deliver(bp, error); - return; - } + default: + printf("%s: unrecognized bio_cmd %x.\n", __func__, bp->bio_cmd); + error = ENOTSUP; + break; + } - bp->bio_resid = 0; - bp->bio_completed = bp->bio_length; - g_io_deliver(bp, 0); + if (error != 0) { + g_io_deliver(bp, error); + return; } + + bp->bio_resid = 0; + bp->bio_completed = bp->bio_length; + g_io_deliver(bp, 0); } From owner-svn-src-head@freebsd.org Thu Mar 10 09:01:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96DDEAC7B1E; Thu, 10 Mar 2016 09:01:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18F6018D; Thu, 10 Mar 2016 09:01:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A91KRc082453; Thu, 10 Mar 2016 09:01:20 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A91JLq082451; Thu, 10 Mar 2016 09:01:19 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603100901.u2A91JLq082451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 09:01:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 09:01:21 -0000 Author: mav Date: Thu Mar 10 09:01:19 2016 New Revision: 296610 URL: https://svnweb.freebsd.org/changeset/base/296610 Log: MFV r296609: 6370 ZFS send fails to transmit some holes Reviewed by: Matthew Ahrens Reviewed by: Chris Williamson Reviewed by: Stefan Ring Reviewed by: Steven Burgess Reviewed by: Arne Jansen Approved by: Robert Mustacchi Author: Paul Dagnelie In certain circumstances, "zfs send -i" (incremental send) can produce a stream which will result in incorrect sparse file contents on the target. The problem manifests as regions of the received file that should be sparse (and read a zero-filled) actually contain data from a file that was deleted (and which happened to share this file's object ID). Note: this can happen only with filesystems (not zvols, because they do not free (and thus can not reuse) object IDs). Note: This can happen only if, since the incremental source (FromSnap), a file was deleted and then another file was created, and the new file is sparse (i.e. has areas that were never written to and should be implicitly zero-filled). We suspect that this was introduced by 4370 (applies only if hole_birth feature is enabled), and made worse by 5243 (applies if hole_birth feature is disabled, and we never send any holes). The bug is caused by the hole birth feature. When an object is deleted and replaced, all the holes in the object have birth time zero. However, zfs send cannot tell that the holes are new since the file was replaced, so it doesn't send them in an incremental. As a result, you can end up with invalid data when you receive incremental send streams. As a short-term fix, we can always send holes with birth time 0 (unless it's a zvol or a dataset where we can guarantee that no objects have been reused). Closes #37 openzfs/openzfs@adef853162e83f7cdf6b2d9af9756d434a9c743b Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 08:56:18 2016 (r296609) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 09:01:19 2016 (r296610) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. */ @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec * reasonably sparse (at most 1/4 full). Look from the * beginning once, but after that keep looking from here. * If we can't find one, just keep going from here. + * + * Note that dmu_traverse depends on the behavior that we use + * multiple blocks of the dnode object before going back to + * reuse objects. Any change to this algorithm should preserve + * that property or find another solution to the issues + * described in traverse_visitbp. */ if (P2PHASE(object, L2_dnode_count) == 0) { uint64_t offset = restarted ? object << DNODE_SHIFT : 0; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 08:56:18 2016 (r296609) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 09:01:19 2016 (r296610) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. * Copyright (c) 2015 Chunwei Chen. All rights reserved. */ @@ -63,6 +63,7 @@ typedef struct traverse_data { uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; + boolean_t td_realloc_possible; } traverse_data_t; static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co if (bp->blk_birth == 0) { /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. + * Since this block has a birth time of 0 it must be one of + * two things: a hole created before the + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole + * which has always been a hole in an object. + * + * If a file is written sparsely, then the unwritten parts of + * the file were "always holes" -- that is, they have been + * holes since this object was allocated. However, we (and + * our callers) can not necessarily tell when an object was + * allocated. Therefore, if it's possible that this object + * was freed and then its object number reused, we need to + * visit all the holes with birth==0. + * + * If it isn't possible that the object number was reused, + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote + * all the blocks we will visit as part of this traversal, + * then this hole must have always existed, so we can skip + * it. We visit blocks born after (exclusive) td_min_txg. + * + * Note that the meta-dnode cannot be reallocated. */ - if (td->td_hole_birth_enabled_txg < td->td_min_txg) + if ((!td->td_realloc_possible || + zb->zb_object == DMU_META_DNODE_OBJECT) && + td->td_hole_birth_enabled_txg <= td->td_min_txg) return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co objset_phys_t *osp = buf->b_data; prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, DMU_META_DNODE_OBJECT); + /* + * See the block comment above for the goal of this variable. + * If the maxblkid of the meta-dnode is 0, then we know that + * we've never had more than DNODES_PER_BLOCK objects in the + * dataset, which means we can't have reused any object ids. + */ + if (osp->os_meta_dnode.dn_maxblkid == 0) + td->td_realloc_possible = B_FALSE; + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { prefetch_dnode_metadata(td, &osp->os_groupused_dnode, zb->zb_objset, DMU_GROUPUSED_OBJECT); @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_pfd = &pd; td.td_flags = flags; td.td_paused = B_FALSE; + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { VERIFY(spa_feature_enabled_txg(spa, SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); } else { - td.td_hole_birth_enabled_txg = 0; + td.td_hole_birth_enabled_txg = UINT64_MAX; } pd.pd_flags = flags; From owner-svn-src-head@freebsd.org Thu Mar 10 09:57:02 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5BB98ACA41D for ; Thu, 10 Mar 2016 09:57:02 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: from mail-wm0-x231.google.com (mail-wm0-x231.google.com [IPv6:2a00:1450:400c:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DFCF3DB1 for ; Thu, 10 Mar 2016 09:57:01 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: by mail-wm0-x231.google.com with SMTP id p65so21139998wmp.1 for ; Thu, 10 Mar 2016 01:57:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=H68/bHioBYDdPR+TVqDgSFUUuNuswEvvMknTAQs0FDQ=; b=dO+tR28fYZblroOTwwxk+hzmdbZaNAX/YkTwoQ1Op7XvBdh7ewrWfcH1rNplKWIG+P sgnO6CVGk04DjhxTepfBnPRNhmYoopbr2fGG1fVULbIikbgVqJqPEI+XIf2K9DeGRsaY VdAeJhSU9ek7Bnn4pJ7cgJqyyJtZ4cw+IU8LpyZN5miJl0bQ34gPLIeDJLDQTIIkaWTK osv/E90z31OVH0IjBl+3vwoJ0lVc0b+Ivdv7iXOyo9SDPwgSidnUgLwwawcWE+ji1aHD 6NBOuoVUhOgEoEYG1V15WjD8ej+88Ze+iS60p5GCU3tes+8HMtR33wmysyX1syn0BvwG MPRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=H68/bHioBYDdPR+TVqDgSFUUuNuswEvvMknTAQs0FDQ=; b=FAZ/zQU0FT01HfcYPDPoZcMbPqLkXtrr2jHj+pVLxD3OOeR9w9za8beT3YLrccSUwD Yt7lxOmjd3WznKNwGfCjzlxkdpNeo282MCWJ4VyQGtGAodl+CySo+QqsD3mtAY9+2ufa cMQmmACIsr3t2NVmKCSKJ68LKDoQ/axva25gj1fJfEUaEDQDaQX7JEd/8Lo9gSLShB/X YNZMBHYsJjGQ3O0hJAS45MR4gMgHlXMVo05R7pYfCLWXPnsbLi6yu1mXXK7UD3U561Fb JGKW+MtuwWLSYFSZeMmR8YTFpSvM/iYe4sfFMr0KGSdrF5ZY22PkUIzAzObxP3lsx7hK 4zKg== X-Gm-Message-State: AD7BkJIbUV/b+/k5KG5A2aGBTzjumcCysMkHgS19BU+fvC0bjnFYC4PCCQeUdBUJ6B7Sxljy X-Received: by 10.28.212.19 with SMTP id l19mr2614542wmg.97.1457603820386; Thu, 10 Mar 2016 01:57:00 -0800 (PST) Received: from [10.10.1.58] (liv3d.labs.multiplay.co.uk. [82.69.141.171]) by smtp.gmail.com with ESMTPSA id pd1sm2680079wjb.19.2016.03.10.01.56.58 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Mar 2016 01:56:59 -0800 (PST) From: Steven Hartland X-Google-Original-From: Steven Hartland Subject: Re: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs To: Alexander Motin , svn-src-head@freebsd.org References: <201603100901.u2A91JLq082451@repo.freebsd.org> Message-ID: <56E144F2.3000609@freebsd.org> Date: Thu, 10 Mar 2016 09:57:06 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603100901.u2A91JLq082451@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 09:57:02 -0000 When processing the MFC of this I noticed there's lots of merge info @ sys/cddl/contrib/opensolaris. I've removed this from the MFC request but wondered if we should clean up HEAD so this doesn't accidentally get merged? On 10/03/2016 09:01, Alexander Motin wrote: > Author: mav > Date: Thu Mar 10 09:01:19 2016 > New Revision: 296610 > URL: https://svnweb.freebsd.org/changeset/base/296610 > > Log: > MFV r296609: 6370 ZFS send fails to transmit some holes > > Reviewed by: Matthew Ahrens > Reviewed by: Chris Williamson > Reviewed by: Stefan Ring > Reviewed by: Steven Burgess > Reviewed by: Arne Jansen > Approved by: Robert Mustacchi > Author: Paul Dagnelie > > In certain circumstances, "zfs send -i" (incremental send) can produce a > stream which will result in incorrect sparse file contents on the > target. > > The problem manifests as regions of the received file that should be > sparse (and read a zero-filled) actually contain data from a file that > was deleted (and which happened to share this file's object ID). > > Note: this can happen only with filesystems (not zvols, because they do > not free (and thus can not reuse) object IDs). > > Note: This can happen only if, since the incremental source (FromSnap), > a file was deleted and then another file was created, and the new file > is sparse (i.e. has areas that were never written to and should be > implicitly zero-filled). > > We suspect that this was introduced by 4370 (applies only if hole_birth > feature is enabled), and made worse by 5243 (applies if hole_birth > feature is disabled, and we never send any holes). > > The bug is caused by the hole birth feature. When an object is deleted > and replaced, all the holes in the object have birth time zero. However, > zfs send cannot tell that the holes are new since the file was replaced, > so it doesn't send them in an incremental. As a result, you can end up > with invalid data when you receive incremental send streams. As a > short-term fix, we can always send holes with birth time 0 (unless it's > a zvol or a dataset where we can guarantee that no objects have been > reused). > > Closes #37 > > openzfs/openzfs@adef853162e83f7cdf6b2d9af9756d434a9c743b > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c > Directory Properties: > head/sys/cddl/contrib/opensolaris/ (props changed) > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 08:56:18 2016 (r296609) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 09:01:19 2016 (r296610) > @@ -20,7 +20,7 @@ > */ > /* > * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. > - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. > + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. > * Copyright 2014 HybridCluster. All rights reserved. > */ > > @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec > * reasonably sparse (at most 1/4 full). Look from the > * beginning once, but after that keep looking from here. > * If we can't find one, just keep going from here. > + * > + * Note that dmu_traverse depends on the behavior that we use > + * multiple blocks of the dnode object before going back to > + * reuse objects. Any change to this algorithm should preserve > + * that property or find another solution to the issues > + * described in traverse_visitbp. > */ > if (P2PHASE(object, L2_dnode_count) == 0) { > uint64_t offset = restarted ? object << DNODE_SHIFT : 0; > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 08:56:18 2016 (r296609) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 09:01:19 2016 (r296610) > @@ -20,7 +20,7 @@ > */ > /* > * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. > - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. > + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. > * Copyright (c) 2015 Chunwei Chen. All rights reserved. > */ > > @@ -63,6 +63,7 @@ typedef struct traverse_data { > uint64_t td_hole_birth_enabled_txg; > blkptr_cb_t *td_func; > void *td_arg; > + boolean_t td_realloc_possible; > } traverse_data_t; > > static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, > @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co > > if (bp->blk_birth == 0) { > /* > - * Since this block has a birth time of 0 it must be a > - * hole created before the SPA_FEATURE_HOLE_BIRTH > - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH > - * was enabled before the min_txg for this traveral we > - * know the hole must have been created before the > - * min_txg for this traveral, so we can skip it. If > - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg > - * for this traveral we cannot tell if the hole was > - * created before or after the min_txg for this > - * traversal, so we cannot skip it. > + * Since this block has a birth time of 0 it must be one of > + * two things: a hole created before the > + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole > + * which has always been a hole in an object. > + * > + * If a file is written sparsely, then the unwritten parts of > + * the file were "always holes" -- that is, they have been > + * holes since this object was allocated. However, we (and > + * our callers) can not necessarily tell when an object was > + * allocated. Therefore, if it's possible that this object > + * was freed and then its object number reused, we need to > + * visit all the holes with birth==0. > + * > + * If it isn't possible that the object number was reused, > + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote > + * all the blocks we will visit as part of this traversal, > + * then this hole must have always existed, so we can skip > + * it. We visit blocks born after (exclusive) td_min_txg. > + * > + * Note that the meta-dnode cannot be reallocated. > */ > - if (td->td_hole_birth_enabled_txg < td->td_min_txg) > + if ((!td->td_realloc_possible || > + zb->zb_object == DMU_META_DNODE_OBJECT) && > + td->td_hole_birth_enabled_txg <= td->td_min_txg) > return (0); > } else if (bp->blk_birth <= td->td_min_txg) { > return (0); > @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co > objset_phys_t *osp = buf->b_data; > prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, > DMU_META_DNODE_OBJECT); > + /* > + * See the block comment above for the goal of this variable. > + * If the maxblkid of the meta-dnode is 0, then we know that > + * we've never had more than DNODES_PER_BLOCK objects in the > + * dataset, which means we can't have reused any object ids. > + */ > + if (osp->os_meta_dnode.dn_maxblkid == 0) > + td->td_realloc_possible = B_FALSE; > + > if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { > prefetch_dnode_metadata(td, &osp->os_groupused_dnode, > zb->zb_objset, DMU_GROUPUSED_OBJECT); > @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t > td.td_pfd = &pd; > td.td_flags = flags; > td.td_paused = B_FALSE; > + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); > > if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { > VERIFY(spa_feature_enabled_txg(spa, > SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); > } else { > - td.td_hole_birth_enabled_txg = 0; > + td.td_hole_birth_enabled_txg = UINT64_MAX; > } > > pd.pd_flags = flags; > From owner-svn-src-head@freebsd.org Thu Mar 10 10:04:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5BF61ACA7B1 for ; Thu, 10 Mar 2016 10:04:13 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-lb0-x22b.google.com (mail-lb0-x22b.google.com [IPv6:2a00:1450:4010:c04::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C58D42FE for ; Thu, 10 Mar 2016 10:04:12 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by mail-lb0-x22b.google.com with SMTP id xr8so101196026lbb.1 for ; Thu, 10 Mar 2016 02:04:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-transfer-encoding; bh=fF33Z4RoXEM5aAfLndk/ZRTZWO5Geex8RuiH0gnKllg=; b=rpZjyJiJ3NZGRjX44gn6jAZbVG8XwWcw96kyht1nSQpc2zLGJXxOQttGffT7vmcg8X ljOHd07v4yhnXApJVWJ3mn5z+LA6v1vqhvTqGYhksGEUi11FJmji9hLHWZ8hzAw+rWCy jP+g5AzBNCgg91tTkr0fLzhBO6F1frR5QFmphzhF1FDSl7PpgFwqcg4iA+GNBcUzv4G5 nccDmyu8UMhYUjEbghogqd7rCs1kVyNFArX22pgM/UUa0mTFcij6eRfuit0WHrqIVSjF 7IwFb+3UMCmtxXY5UYZLZ3aLjSSCoXhjdQcUSe3y8U/3kUBUAEBfT83YRQy1QdYmmXAn hFTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:message-id:date:from:user-agent :mime-version:to:subject:references:in-reply-to :content-transfer-encoding; bh=fF33Z4RoXEM5aAfLndk/ZRTZWO5Geex8RuiH0gnKllg=; b=B+MkMhW0DZbuhp1ECUV65azhVANw8GlR/X0Quc1ky6TO5ukS+n7AsVA6pgNIb8Jp/+ Ae0xMgcLJiAVpVAChiDTBpoFl0VjzHGAOBDZ/S+V3iR5nXoG6F8C6u/dEmOfa6jE/47w jlj5+tTIZuULgNxYiDVNIzlyB0I19IwjiAiafWSW62PfqU6Bk+BpitYDlCpvMc2GI5+L u+9SnPMQ3RIti41P3CP10wlh3ovQzFHYotPIgxImT/JmKEISuWfd0T8iVEvDKf5FGMJq AAE3Rg78+QCaB05eI2vsH7VI4+dg3ebCZoJThTBHKALr91mhA730/O1TgU6+rh7Wuxwh Rlqw== X-Gm-Message-State: AD7BkJJTvBhP29i+oN2fr81sSHSHuVvnuC0USjuC+CVgxtJZiagSzhzE+k6ZQRF+3KYoaw== X-Received: by 10.112.16.133 with SMTP id g5mr703401lbd.134.1457604250861; Thu, 10 Mar 2016 02:04:10 -0800 (PST) Received: from mavbook.mavhome.dp.ua (mavhome.mavhome.dp.ua. [213.227.240.37]) by smtp.googlemail.com with ESMTPSA id pi5sm406911lbb.41.2016.03.10.02.04.09 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Mar 2016 02:04:10 -0800 (PST) Sender: Alexander Motin Message-ID: <56E14697.6080706@FreeBSD.org> Date: Thu, 10 Mar 2016 12:04:07 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Steven Hartland , svn-src-head@freebsd.org Subject: Re: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs References: <201603100901.u2A91JLq082451@repo.freebsd.org> <56E144F2.3000609@freebsd.org> In-Reply-To: <56E144F2.3000609@freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:04:13 -0000 On 10.03.16 11:57, Steven Hartland wrote: > When processing the MFC of this I noticed there's lots of merge info @ > sys/cddl/contrib/opensolaris. > > I've removed this from the MFC request but wondered if we should clean > up HEAD so this doesn't accidentally get merged? Merge info @ sys/cddl/contrib/opensolaris in head is valid one, tracking process of MFVs from respective vendor branch to head. Not that I use it often, but is it incorrect? > On 10/03/2016 09:01, Alexander Motin wrote: >> Author: mav >> Date: Thu Mar 10 09:01:19 2016 >> New Revision: 296610 >> URL: https://svnweb.freebsd.org/changeset/base/296610 >> >> Log: >> MFV r296609: 6370 ZFS send fails to transmit some holes >> Reviewed by: Matthew Ahrens >> Reviewed by: Chris Williamson >> Reviewed by: Stefan Ring >> Reviewed by: Steven Burgess >> Reviewed by: Arne Jansen >> Approved by: Robert Mustacchi >> Author: Paul Dagnelie >> In certain circumstances, "zfs send -i" (incremental send) can >> produce a >> stream which will result in incorrect sparse file contents on the >> target. >> The problem manifests as regions of the received file that >> should be >> sparse (and read a zero-filled) actually contain data from a file that >> was deleted (and which happened to share this file's object ID). >> Note: this can happen only with filesystems (not zvols, because >> they do >> not free (and thus can not reuse) object IDs). >> Note: This can happen only if, since the incremental source >> (FromSnap), >> a file was deleted and then another file was created, and the new file >> is sparse (i.e. has areas that were never written to and should be >> implicitly zero-filled). >> We suspect that this was introduced by 4370 (applies only if >> hole_birth >> feature is enabled), and made worse by 5243 (applies if hole_birth >> feature is disabled, and we never send any holes). >> The bug is caused by the hole birth feature. When an object is >> deleted >> and replaced, all the holes in the object have birth time zero. >> However, >> zfs send cannot tell that the holes are new since the file was >> replaced, >> so it doesn't send them in an incremental. As a result, you can end up >> with invalid data when you receive incremental send streams. As a >> short-term fix, we can always send holes with birth time 0 (unless >> it's >> a zvol or a dataset where we can guarantee that no objects have been >> reused). >> Closes #37 >> openzfs/openzfs@adef853162e83f7cdf6b2d9af9756d434a9c743b >> >> Modified: >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c >> Directory Properties: >> head/sys/cddl/contrib/opensolaris/ (props changed) >> >> Modified: >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c >> ============================================================================== >> >> --- >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c >> Thu Mar 10 08:56:18 2016 (r296609) >> +++ >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c >> Thu Mar 10 09:01:19 2016 (r296610) >> @@ -20,7 +20,7 @@ >> */ >> /* >> * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All >> rights reserved. >> - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. >> + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. >> * Copyright 2014 HybridCluster. All rights reserved. >> */ >> @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec >> * reasonably sparse (at most 1/4 full). Look from the >> * beginning once, but after that keep looking from here. >> * If we can't find one, just keep going from here. >> + * >> + * Note that dmu_traverse depends on the behavior that we use >> + * multiple blocks of the dnode object before going back to >> + * reuse objects. Any change to this algorithm should preserve >> + * that property or find another solution to the issues >> + * described in traverse_visitbp. >> */ >> if (P2PHASE(object, L2_dnode_count) == 0) { >> uint64_t offset = restarted ? object << DNODE_SHIFT : 0; >> >> Modified: >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c >> ============================================================================== >> >> --- >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c >> Thu Mar 10 08:56:18 2016 (r296609) >> +++ >> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c >> Thu Mar 10 09:01:19 2016 (r296610) >> @@ -20,7 +20,7 @@ >> */ >> /* >> * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All >> rights reserved. >> - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. >> + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. >> * Copyright (c) 2015 Chunwei Chen. All rights reserved. >> */ >> @@ -63,6 +63,7 @@ typedef struct traverse_data { >> uint64_t td_hole_birth_enabled_txg; >> blkptr_cb_t *td_func; >> void *td_arg; >> + boolean_t td_realloc_possible; >> } traverse_data_t; >> static int traverse_dnode(traverse_data_t *td, const dnode_phys_t >> *dnp, >> @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co >> if (bp->blk_birth == 0) { >> /* >> - * Since this block has a birth time of 0 it must be a >> - * hole created before the SPA_FEATURE_HOLE_BIRTH >> - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH >> - * was enabled before the min_txg for this traveral we >> - * know the hole must have been created before the >> - * min_txg for this traveral, so we can skip it. If >> - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg >> - * for this traveral we cannot tell if the hole was >> - * created before or after the min_txg for this >> - * traversal, so we cannot skip it. >> + * Since this block has a birth time of 0 it must be one of >> + * two things: a hole created before the >> + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole >> + * which has always been a hole in an object. >> + * >> + * If a file is written sparsely, then the unwritten parts of >> + * the file were "always holes" -- that is, they have been >> + * holes since this object was allocated. However, we (and >> + * our callers) can not necessarily tell when an object was >> + * allocated. Therefore, if it's possible that this object >> + * was freed and then its object number reused, we need to >> + * visit all the holes with birth==0. >> + * >> + * If it isn't possible that the object number was reused, >> + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote >> + * all the blocks we will visit as part of this traversal, >> + * then this hole must have always existed, so we can skip >> + * it. We visit blocks born after (exclusive) td_min_txg. >> + * >> + * Note that the meta-dnode cannot be reallocated. >> */ >> - if (td->td_hole_birth_enabled_txg < td->td_min_txg) >> + if ((!td->td_realloc_possible || >> + zb->zb_object == DMU_META_DNODE_OBJECT) && >> + td->td_hole_birth_enabled_txg <= td->td_min_txg) >> return (0); >> } else if (bp->blk_birth <= td->td_min_txg) { >> return (0); >> @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co >> objset_phys_t *osp = buf->b_data; >> prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, >> DMU_META_DNODE_OBJECT); >> + /* >> + * See the block comment above for the goal of this variable. >> + * If the maxblkid of the meta-dnode is 0, then we know that >> + * we've never had more than DNODES_PER_BLOCK objects in the >> + * dataset, which means we can't have reused any object ids. >> + */ >> + if (osp->os_meta_dnode.dn_maxblkid == 0) >> + td->td_realloc_possible = B_FALSE; >> + >> if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { >> prefetch_dnode_metadata(td, &osp->os_groupused_dnode, >> zb->zb_objset, DMU_GROUPUSED_OBJECT); >> @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t >> td.td_pfd = &pd; >> td.td_flags = flags; >> td.td_paused = B_FALSE; >> + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); >> if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { >> VERIFY(spa_feature_enabled_txg(spa, >> SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); >> } else { >> - td.td_hole_birth_enabled_txg = 0; >> + td.td_hole_birth_enabled_txg = UINT64_MAX; >> } >> pd.pd_flags = flags; >> > -- Alexander Motin From owner-svn-src-head@freebsd.org Thu Mar 10 10:11:18 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 148E9ACA996 for ; Thu, 10 Mar 2016 10:11:18 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 749917F0 for ; Thu, 10 Mar 2016 10:11:17 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: by mail-wm0-x22e.google.com with SMTP id l68so22717586wml.0 for ; Thu, 10 Mar 2016 02:11:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=inbgPtxLa0wVJP71l8E6RvHmkQ+Y8VB7bJwBNJvc5n8=; b=1XZ8TsNRWuJYhY94IyI62r1zZq0K0PvQgXdEKJ6618mubcB3L+QvEBLiJ6IXLdx282 qPEboQSn2MMWCC/mp8T/oJ3m2iFHO5PPFRLs5iokA2/EsCY3+9ddiR1d+Oxdmikmgyq9 TZ8Wdvgagi/NiJC9bPIdbBXKurZ7isWqrg4sPjwSAvglzEBXtLWS3bq3FeQVsWWgmzLu lwVzXh47gtqhQRgQjNtPKOwahcSpKcviU7AVCHN1BMbyRPP8mapYsFd0K11KVUdl9U+A DFyZ0g3uNCFcqVqQ+ZEAj5oZajgzQgIW8wSVESrbLLWTJ5nCXbWq88BLAqDXmAS1xvHK BPbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=inbgPtxLa0wVJP71l8E6RvHmkQ+Y8VB7bJwBNJvc5n8=; b=TsV/GECM0mKq1poPpMs4OcJMdWnp+8bJomhLIWYOJaqek33zMgH7+SMhzbh15p1BQ/ qgb/OuJCOZGyzOXFMTjtCNrVf8YmH9LRZR94JV/7EqxqATnSAx2Gdn3wIt+YDVaBixsJ DPld4lR0E3gTOlfqLjot2H3B5XZvL/EF4B2RK10JbzgK6U9UfCNjtmsc5i2+bHYaUq+0 wNJBmTtD6OSPhkK6IPoijZhFQ1+t1/Wrt30b6PUPsn0Ur04uzoz2/6euCHccyJ9k0kmv N89THMUJy/FS6Gl9X8mNPQWyFdUXkNgEHLks5lFxxHhUmDDlvugvz+oVRqlok3FEHKfo m7oA== X-Gm-Message-State: AD7BkJIPxKwcwgRh926EampDe3AS7NkLNempZAF/T4jAzENiMJGVkNO/qBJtC86M6pW6AXpb X-Received: by 10.28.229.132 with SMTP id c126mr2725336wmh.72.1457604675763; Thu, 10 Mar 2016 02:11:15 -0800 (PST) Received: from [10.10.1.58] (liv3d.labs.multiplay.co.uk. [82.69.141.171]) by smtp.gmail.com with ESMTPSA id t7sm2718337wjf.39.2016.03.10.02.11.14 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Mar 2016 02:11:14 -0800 (PST) Subject: Re: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs To: Alexander Motin , svn-src-head@freebsd.org References: <201603100901.u2A91JLq082451@repo.freebsd.org> <56E144F2.3000609@freebsd.org> <56E14697.6080706@FreeBSD.org> From: Steven Hartland Message-ID: <56E1484A.5030600@multiplay.co.uk> Date: Thu, 10 Mar 2016 10:11:22 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56E14697.6080706@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:11:18 -0000 On 10/03/2016 10:04, Alexander Motin wrote: > On 10.03.16 11:57, Steven Hartland wrote: >> When processing the MFC of this I noticed there's lots of merge info @= >> sys/cddl/contrib/opensolaris. >> >> I've removed this from the MFC request but wondered if we should clean= >> up HEAD so this doesn't accidentally get merged? > Merge info @ sys/cddl/contrib/opensolaris in head is valid one, trackin= g > process of MFVs from respective vendor branch to head. Not that I use > it often, but is it incorrect? > It really doesn't look right to me, this is what I get from svn diff -x -= up: Property changes on: sys/cddl/contrib/opensolaris ___________________________________________________________________ Added: svn:mergeinfo ## -0,0 +0,16 ## Merged=20 /projects/clang380-import/sys/cddl/contrib/opensolaris:r293006,293013 Merged /projects/elftoolchain/sys/cddl/contrib/opensolaris:r260880 Merged /projects/zfsd/head/sys/cddl/contrib/opensolaris:r266519,26999= 3 Merged=20 /head/sys/cddl/contrib/opensolaris:r256280,256291,256293-256294,256299,25= 6302,256304,256308,256321-256323,256325,256327-256328,256330-256331,25633= 3-256335,256338,256341,256343,256345,256347-256348,256350,256362,256365,2= 56385,256389,256391,256423,256425,256430,256440,256446,256448,256450,2564= 59,256467,256470,256477,256489,256492,256498-256502,256504,256510,256512,= 256514,256533,256537,256539-256544,256546-256549,256551-256553,256555-256= 557,256561,256570-256571,256581,256594,256603,256606-256607,256610,256614= ,256628,256637-256638,256640,256642-256643,256645-256647,256650,256657-25= 6658,256661,256666,256670,256672,256682,256687,256689-256692,256694-25669= 5,256705,256707-256711,256713-256718,256720-256722,256724,256735,256743-2= 56746,256748,256750,256752-256753,256760-256771,256773-256779,256782,2567= 88,256790,256792-256793,256798-256801,256803-256804,256806,256808-256809,= 256812-256818,256822,256826-256828,256830,256832-256833,256835-256836,256= 838-256839,256842-256843,256845-256848,256855,256859-256861,256864-256865= ,256868,256870-256871,256873,256875,256878,256880,256885,256887-256889,25= 6893,256895,256898-256901,256911-256912,256914-256915,256919-256920,25692= 5-256926,256931-256932,256934-256943,256945,256948-256951,256953,256955-2= 56956,256959-256961,256963,256966-256969,256971-256975,256977-256978,2569= 94-256995,256999,257005-257007,257015-257018,257029,257036-257038,257051,= 257054-257055,257057,257059-257062,257064-257066,257069-257072,257075,257= 077-257079,257084,257092-257093,257095-257100,257105,257109,257111,257114= -257118,257127,257129-257130,257132,257138-257139,257142-257152,257155,25= 7157-257159,257161-257162,257164-257165,257167-257172,257175,257178,25718= 0,257182-257183,257186,257189-257191,257193,257195-257203,257206-257207,2= 57209-257210,257214-257217,257221-257222,257228,257230-257231,257233-2572= 35,257240,257248,257251,257258,257265-257266,257268,257272,257274,257276-= 257282,257287-257288,257291,257293,257295,257297-257300,257302,257304-257= 308,257315,257329,257332,257334-257338,257340-257345,257347,257349-257350= ,257359,257361,257364,257368-257370,257376-257384,257388,257390,257393,25= 7399-257400,257402-257403,257407-257411,257413-257414,257416-257419,25742= 1-257423,257429,257435,257440,257447,257452-257454,257469,257472,257475-2= 57478,257480,257482-257487,257489-257490,257501,257504-257505,257511-2575= 12,257515-257516,257518-257519,257532,257534,257539,257541-257543,257549,= 257555-257557,257561,257574,257582-257583,257594-257595,257598,257600,257= 603-257604,257619-257620,257631,257633,257637,257639,257641,257643,257648= -257650,257654,257656,257660-257661,257667-257670,257672-257673,257676,25= 7678-257680,257686,257694-257695,257701-257702,257705,257712,257729-25773= 0,257732,257734,257736,257738-257740,257743,257745-257749,257751,257754-2= 57757,257767,257769-257770,257772,257774-257775,257777,257779-257785,2577= 87-257796,257800-257801,257803-257808,257817-257821,257823-257831,257838,= 257841-257854,257856,257858-257860,257862-257864,257869-257870,257872-257= 874,257876-257877,257883,257888,257892,257896,257898-257904,257910,257913= -257916,257920,257924,257929-257930,257932-257933,257936-257942,257945-25= 7946,257955,257957-257958,257965,257985,257987,257991-257993,257995-25799= 6,258000-258003,258005,258014,258016-258017,258020-258021,258024-258025,2= 58027-258029,258036,258039,258041-258047,258050-258052,258054,258056-2580= 57,258063-258066,258069,258071,258075-258082,258084,258086,258088,258094-= 258098,258101,258113-258115,258119,258122,258128,258132,258135,258137-258= 138,258143,258148-258150,258152-258157,258162,258164,258167-258170,258173= ,258176-258179,258181,258185,258187,258195-258197,258199-258202,258204-25= 8207,258209-258211,258220-258221,258224,258226-258228,258232-258233,25823= 5,258240,258243-258247,258250-258251,258254,258256-258257,258259,258262-2= 58272,258274-258276,258281,258283,258285-258287,258289-258291,258294,2582= 97-258299,258305,258307-258311,258314,258316-258321,258330-258332,258336-= 258338,258340,258342,258345,258347-258348,258350-258360,258362-258367,258= 387-258388,258390,258392-258393,258397,258399-258401,258406-258407,258410= -258412,258418,258425,258427-258433,258436,258439,258441,258445,258448,25= 8458,258469,258471,258475-258480,258489,258492,258494-258495,258497,25850= 1,258503-258504,258507,258527,258530,258533,258535,258537,258545-258547,2= 58549,258551-258553,258569-258570,258573-258574,258578-258582,258587-2585= 92,258594,258602,258605,258609,258614-258615,258617-258619,258622,258625,= 258628-258634,258638,258641-258643,258647-258648,258651,258658-258662,258= 664,258668-258669,258673,258675,258677-258679,258683,258689-258694,258696= -258699,258702,258704-258705,258708-258709,258711-258717,258720,258722,25= 8727-258728,258731-258733,258737,258739-258746,258748,258757-258758,25876= 5,258770,258776,258778-258780,258785-258787,258789-258790,258793-258794,2= 58796-258798,258800,258802,258805-258807,258817,258819-258820,258826,2588= 28,258830,258840,258845,258847,258851,258853-258855,258857,258859-258860,= 258869,258871,258873,258879,258884,258892-258893,258897,258901-258902,258= 904,258909,258914,258919,258921,258924,258927-258928,258930-258931,258941= ,258943,258950,258956,259003,259005,259007,259010,259013-259014,259016,25= 9019,259022-259023,259029-259039,259042-259044,259046-259049,259052-25905= 4,259056-259058,259060,259071-259072,259079,259081-259085,259088-259090,2= 59092,259094-259095,259099-259104,259107-259111,259113,259115,259117-2591= 18,259121-259122,259125-259127,259129-259134,259140,259143-259145,259148,= 259150,259152,259156,259168-259169,259176,259178-259180,259182-259183,259= 191-259197,259199,259202-259203,259205,259208-259213,259219-259222,259232= ,259240,259244-259248,259261,259265-259267,259270,259274-259276,259284,25= 9286-259287,259302,259330-259331,259339,259362,259382,259393-259395,25940= 0,259407,259411,259413,259417,259421,259424-259430,259436-259438,259441,2= 59462,259464,259468-259470,259472-259474,259476-259478,259480-259482,2594= 84,259490,259493,259498,259502,259513-259514,259516-259518,259520-259522,= 259525-259529,259531-259532,259535,259537,259542-259547,259549-259550,259= 555,259558,259562,259564-259566,259569-259574,259576,259586-259589,259597= -259598,259609,259612,259615,259626,259632-259635,259638,259640-259641,25= 9645,259649-259651,259655,259657,259659,259662-259663,259666-259668,25967= 4-259675,259677,259679-259681,259684-259686,259696,259699,259702,259708-2= 59720,259724,259727-259730,259732-259733,259735-259737,259739-259740,2597= 43-259744,259749-259750,259756,259761-259767,259771-259777,259779-259782,= 259792,259801,259808,259811-259813,259816,259823,259825-259828,259830,259= 833,259838-259846,259850,259854-259855,259860,259863,259868-259870,259872= -259877,259879-259882,259884-259888,259892-259893,259896-259897,259902,25= 9906,259908,259910,259913,259915-259916,259920-259922,259924-259929,25993= 6-259937,259939-259940,259942-259944,259946,259950-259951,259953,259955,2= 59959,259961,259973,259978,259997-259998,260003,260009,260014-260017,2600= 19-260020,260023,260025-260026,260028,260031,260036,260038-260059,260061,= 260063-260064,260066-260070,260076,260079,260083,260086-260089,260092-260= 093,260095,260097,260099,260102-260106,260110-260113,260118,260121,260124= -260125,260132,260138,260141-260142,260145,260150-260151,260156-260157,26= 0160-260161,260163,260165-260167,260175,260180-260181,260183-260185,26018= 7-260189,260204-260207,260210,260217,260219-260220,260222,260225,260228-2= 60229,260232-260239,260243,260245-260247,260255,260257-260258,260260-2602= 62,260267,260281-260283,260285,260288,260290,260292,260294-260295,260310-= 260311,260315,260320,260322-260323,260326-260328,260331-260334,260336,260= 340,260355,260358,260361,260367,260369,260371-260375,260377,260379-260383= ,260388-260390,260397,260401,260403,260407,260410,260415,260429,260440-26= 0441,260444-260447,260449-260450,260457,260459-260460,260463,260466,26046= 9,260481,260483-260486,260488,260490-260491,260493-260494,260496,260505-2= 60506,260508-260509,260521-260526,260531-260532,260534-260536,260540-2605= 42,260547,260549-260550,260553,260556-260557,260559,260563,260566-260567,= 260571,260576-260577,260581-260584,260586,260588-260589,260594-260597,260= 600,260605,260607,260610,260619,260621,260632-260637,260648,260653-260655= ,260666,260688,260691,260695-260696,260701-260704,260706,260713,260717,26= 0752,260772,260782,260791,260793,260796,260800-260802,260808,260811-26081= 2,260814,260830-260831,260833,260835-260836,260847,260863,260866,260871-2= 60872,260883-260890,260893-260894,260899-260900,260903-260904,260910-2609= 11,260913-260914,260921,260926,260934,260942,260949,260953,260972-260973,= 260976-260977,260987,260996,260999-261001,261003-261005,261024,261027-261= 030,261032-261033,261037-261042,261068,261072,261074-261075,261080-261081= ,261083-261086,261089,261091-261092,261094-261095,261117-261118,261121-26= 1134,261137-261138,261140-261141,261146-261147,261149-261151,261160-26117= 3,261175,261178,261189,261192-261200,261211-261212,261214-261217,261220,2= 61224,261227-261230,261233-261234,261243,261247,261252,261257-261258,2612= 60-261263,261267-261271,261279,261283-261284,261290-261291,261294,261296,= 261299-261302,261304-261305,261309,261315,261318-261322,261330,261336-261= 340,261342-261343,261345,261351-261355,261357-261358,261393-261398,261400= -261401,261403-261424,261432,261435-261440,261442,261444-261447,261449,26= 1453,261459,261479,261487,261491,261493-261497,261499-261501,261503-26150= 7,261511-261518,261520-261522,261524-261531,261533-261538,261541-261544,2= 61546-261547,261549-261553,261558,261562-261568,261570,261572,261577,2615= 82-261586,261589-261593,261595-261599,261601,261603-261604,261606-261611,= 261613-261618,261620-261621,261627,261638-261643,261646-261651,261655-261= 657,261663,261668,261676-261677,261680-261690,261698,261701-261702,261708= ,261710-261715,261719,261722-261725,261742,261747-261768,261773-261774,26= 1778,261780-261781,261783,261785-261786,261789-261791,261795-261797,26179= 9-261801,261803-261805,261808,261811,261814-261819,261823-261827,261832-2= 61838,261841-261848,261855,261858-261859,261861,261863,261867,261872,2618= 75,261882-261885,261890-261905,261907-261908,261911,261913-261922,261931-= 261932,261934,261937-261940,261944-261947,261955-261960,261962,261977-261= 978,261981-261983,261987,261991,261994,262000,262005-262006,262011,262020= ,262027-262030,262036,262121,262123,262125,262128-262129,262133,262135-26= 2136,262139-262140,262142-262144,262162,262184,262186,262194,262209,26222= 0,262233,262236,262242-262244,262247,262250-262252,262273-262274,262277-2= 62278,262280-262281,262294,262296,262303,262309-262311,262324-262334,2623= 37-262338,262340-262341,262343-262345,262347,262351,262353-262355,262393-= 262394,262398-262401,262408-262411,262413,262417-262420,262424-262427,262= 439-262442,262447,262451,262454-262456,262461-262465,262467,262471-262472= ,262477-262478,262480,262482-262484,262487-262488,262494-262495,262499,26= 2501-262502,262505-262507,262509,262513,262522-262523,262525-262526,26252= 8,262530-262534,262539-262540,262542-262543,262547-262555,262559,262565,2= 62568,262571-262572,262574-262575,262577,262581,262583-262585,262587,2625= 91-262593,262596-262601,262603,262606-262611,262613-262615,262624-262627,= 262645-262647,262655,262657,262661,262663-262666,262669-262670,262676,262= 682,262689-262690,262694-262697,262708-262712,262714,262719,262725-262726= ,262728,262730,262732-262733,262736,262741,262744,262746-262748,262750,26= 2752,262754-262755,262760,262763,262767,262769-262771,262775,262781-26278= 2,262785,262789,262795,262799,262805-262806,262809-262810,262812,262814,2= 62819,262822,262837,262847,262862,262864-262865,262867-262868,262870,2628= 72,262877,262880,262884-262886,262890-262891,262894-262905,262908-262910,= 262912,262914,262916,262918-262921,262924-262925,262929-262930,262932,262= 935-262936,262940-262942,262945,262948-262950,262952-262955,262957-262962= ,262966,262972,262975,262979-262980,262982,262984-262987,262989,262991,26= 2995,262997,262999,263005,263021,263030,263033-263036,263041,263048-26304= 9,263052,263054,263056-263057,263059,263062,263079-263085,263087,263089-2= 63092,263094-263096,263105-263107,263109,263113-263118,263120-263121,2631= 23-263124,263129-263131,263133-263137,263139-263141,263144-263150,263153-= 263155,263159-263161,263169,263172-263175,263180-263181,263183-263193,263= 195,263199,263203-263204,263207,263210-263211,263217,263220-263222,263226= -263227,263230-263234,263236-263239,263242-263246,263248-263254,263257,26= 3259,263264-263265,263267,263271,263275-263278,263280,263287-263292,26329= 7,263301-263306,263310-263313,263317,263320,263322-263323,263329,263331-2= 63332,263336,263345-263346,263348-263349,263351-263353,263356,263362,2633= 73,263380,263385,263388,263412,263423-263432,263434-263435,263445-263446,= 263451,263457-263460,263464,263468,263471,263475,263479,263497-263498,263= 530,263631-263632,263637-263638,263649-263650,263658,263664,263676,263678= -263679,263686,263690-263694,263698,263704,263710-263712,263738,263740,26= 3742-263745,263749,263752-263753,263755,263758,263768,263772,263774-26377= 5,263777-263780,263795,263810-263812,263814-263815,263822,263826,263833,2= 63842,263846-263847,263859,263863,263872-263873,263878-263879,263881,2638= 85,263889-263892,263901,263910,263912-263914,263918-263919,263921-263926,= 263928,263933-263937,263948-263949,263952,263957,263966,263968-263969,263= 971,263978-263979,263981-263983,263985-263986,263989-263990,263998,264007= -264013,264016-264031,264038-264039,264041,264046,264048-264052,264054-26= 4059,264062,264065,264067-264068,264073,264077-264078,264082-264084,26408= 6-264088,264090-264092,264094-264097,264099-264103,264105,264107,264109-2= 64110,264114-264115,264119-264120,264122,264124-264133,264135,264137-2641= 38,264142,264145-264146,264149-264151,264153,264160-264164,264173-264174,= 264177,264179-264183,264189-264191,264193-264194,264197,264203-264208,264= 212-264213,264215,264218-264220,264229-264230,264235,264238,264241-264244= ,264248,264251,264257-264259,264261-264264,264269,264274-264283,264291,26= 4293-264297,264302,264304,264307-264308,264310-264311,264313-264321,26432= 4,264327,264340-264351,264353-264356,264361-264364,264367,264384-264386,2= 64389,264391-264392,264394,264400,264403-264408,264410,264412-264422,2644= 28,264434-264436,264448,264453,264460-264461,264465,264467-264469,264471,= 264479-264482,264486,264488-264489,264494,264498-264501,264504,264507,264= 509,264514-264518,264520,264524-264540,264542,264544-264545,264549-264550= ,264552,264565,264573,264582,264585,264600-264601,264604-264605,264608-26= 4610,264617,264620-264621,264628,264630-264631,264646,264648,264650-26465= 1,264653,264655-264656,264669,264671-264672,264679,264681-264682,264686,2= 64689,264691,264694,264696-264698,264701-264705,264709,264721,264725,2647= 31,264737-264742,264749,264765-264766,264768-264770,264772,264781,264794-= 264795,264800-264803,264822,264825-264828,264831-264832,264834-264838,264= 840-264842,264845-264846,264849-264853,264856-264861,264863-264865,264867= ,264876-264881,264883-264889,264891-264892,264905,264907-264909,264912,26= 4915-264918,264921-264923,264927,264933-264935,264963-264966,264968,26497= 0,264972,264975,264977-264979,264981-264985,264988,264990,264992,264994-2= 64995,264999,265002-265004,265012-265017,265020,265023-265025,265028,2650= 35-265036,265038,265042,265046,265054,265057-265059,265062-265063,265072,= 265085,265090,265092,265094,265096-265102,265107,265111,265114,265148-265= 150,265152,265154-265157,265159,265162-265165,265170-265171,265191,265193= -265194,265197,265201,265203,265206-265208,265211,265214,265218,265229-26= 5230,265232,265236-265242,265244,265248-265256,265260-265264,265267,26526= 9-265270,265275-265276,265285,265287,265289,265308,265310,265318,265320-2= 65321,265323,265329,265331,265333,265336,265358-265360,265362-265366,2653= 71,265376,265385-265386,265391-265392,265395,265397-265398,265402-265403,= 265407,265411,265418,265424,265427,265440-265442,265444-265447,265454-265= 456,265458,265462-265465,265467-265468,265473,265477,265484-265485,265534= -265535,265539,265546,265555,265578,265583,265585,265590,265593-265595,26= 5599,265601-265603,265605,265607,265624,265629-265631,265680-265681,26568= 9-265691,265694,265703,265705,265709,265712-265713,265716,265719,265732,2= 65739,265766,265776-265780,265783-265784,265798,265806,265811,265815,2658= 17,265821-265822,265824-265825,265829,265836,265840,265842-265843,265845,= 265847,265850,265852-265853,265861-265864,265867,265870-265872,265876,265= 883,265886-265887,265900,265909,265913-265915,265923,265925-265927,265931= ,265941-265943,265948,265950-265951,265978,265995,266006-266007,266010-26= 6012,266053,266074,266083,266091-266092,266103-266104,266107-266109,26611= 1,266114,266116,266120-266121,266125,266136,266138-266143,266145,266147,2= 66149-266150,266166,266169,266171,266174,266176-266177,266179-266180,2661= 93,266195,266206,266208-266209,266225,266238,266248,266261,266263,266267,= 266270,266281,266285,266291,266293,266296-266297,266310,266319-266320,266= 322-266323,266335-266336,266351,266390,266394,266396,266399,266411,266416= -266418,266420,266424,266426,266444-266445,266448,266463-266466,266468,26= 6471-266473,266475-266476,266479,266483-266484,266490-266491,266494-26649= 5,266497,266505,266509-266514,266520,266524,266527-266529,266533-266535,2= 66538,266540-266542,266550-266556,266565-266566,266571-266573,266587-2665= 88,266595-266597,266605-266606,266609,266615,266618-266621,266626-266627,= 266630,266633,266639,266641-266642,266647,266650-266651,266664,266671,266= 674-266675,266708-266709,266721,266724-266725,266728,266731,266735-266736= ,266738,266744,266746,266757,266760,266765,266771-266772,266774-266775,26= 6777-266778,266780,266782,266792-266793,266798-266800,266803,266808,26681= 3-266814,266820-266822,266826-266828,266833,266835-266836,266838-266839,2= 66841-266842,266846-266848,266851-266852,266856-266857,266859-266863,2668= 66,266878-266880,266895,266901-266903,266907-266908,266910,266915,266922-= 266924,266930-266931,266933-266935,266937-266938,266942-266944,266950-266= 951,266959-266960,266969,266971,266981,266990,267004,267007,267009,267011= -267012,267021,267029,267035,267038,267041,267044,267051,267060,267062,26= 7066-267067,267078-267079,267082,267089-267090,267097-267099,267101,26710= 5,267109,267118-267120,267123-267124,267126-267127,267129-267133,267141,2= 67145-267146,267148,267153,267160,267162,267169,267172-267174,267176,2671= 78-267179,267181,267183-267185,267191,267194,267196,267210-267213,267216,= 267221,267223,267226-267228,267232,267239-267240,267248,267252-267256,267= 260-267261,267264-267265,267276,267278,267290-267292,267294,267298,267300= -267301,267306,267310-267311,267313,267319-267321,267324,267326-267327,26= 7329-267331,267335-267338,267342,267351,267355-267360,267362,267366,26736= 8,267372-267374,267376,267378,267385-267387,267390-267392,267395,267400,2= 67423,267426,267429,267436-267439,267441,267451,267464,267473,267478-2674= 79,267481-267483,267485-267486,267490-267493,267496-267500,267506,267511-= 267516,267519-267524,267537,267544,267547,267551,267554,267558-267559,267= 564,267572,267574,267577-267578,267582,267591,267597,267599-267601,267603= ,267606,267608-267618,267622-267627,267629-267630,267632,267634,267636-26= 7641,267643,267647-267648,267651,267661-267664,267669-267674,267680,26768= 2,267688-267689,267692-267693,267703-267706,267712,267719,267745,267756-2= 67757,267759,267761,267766-267768,267785,267800-267801,267811-267812,2678= 14-267815,267833-267834,267838-267839,267851-267852,267854,267858-267859,= 267865-267867,267869,267871-267873,267875,267877,267883-267884,267886-267= 887,267897,267905-267906,267909,267912,267915,267918-267921,267929,267933= -267934,267937,267939-267942,267949,267952,267955,267959-267961,267963,26= 7965-267968,267970,267973,267978,267981-267982,267984-267987,267992-26799= 3,268000-268003,268005-268006,268008,268012,268014,268017-268018,268022,2= 68024-268025,268045,268049-268050,268059,268066,268071-268072,268074-2680= 75,268078-268080,268082-268090,268095-268097,268103,268114-268116,268123,= 268125-268126,268128,268130,268134-268138,268156,268158-268160,268169,268= 172,268175,268178,268182,268185,268187,268193,268196,268202-268205,268209= ,268211-268212,268215,268224,268227,268230-268232,268236,268238,268240,26= 8246,268254,268256,268264-268266,268268,268272-268273,268275-268276,26828= 0,268283-268284,268286-268293,268295,268298-268300,268302-268303,268306-2= 68309,268314-268316,268326-268328,268330,268336-268342,268350,268353-2683= 54,268356-268357,268361-268365,268369-268370,268373,268376,268381,268383-= 268385,268387-268388,268391-268393,268395,268398,268401-268402,268407,268= 418-268421,268427-268429,268436-268437,268445-268447,268450,268457,268460= ,268463-268464,268466-268467,268469-268476,268480-268481,268487-268488,26= 8490,268492-268493,268495,268502,268505,268507,268514,268521,268524-26852= 7,268531-268532,268534,268536-268538,268540-268541,268544,268565,268569-2= 68570,268576,268581-268585,268587-268591,268593,268597,268601,268605-2686= 17,268621,268624-268625,268631-268640,268642-268644,268646,268660,268671,= 268701,268706,268711-268713,268715,268720,268722,268725-268728,268735,268= 745-268751,268763-268767,268771-268772,268774,268776-268777,268780,268787= ,268795-268796,268798-268799,268801-268802,268806-268808,268811-268812,26= 8817,268825,268827,268834-268836,268838-268840,268842-268843,268854-26885= 5,268857-268861,268863-268867,268877-268878,268880,268883,268888-268890,2= 68893,268895,268898,268921-268922,268924,268926,268928-268931,268945,2689= 47-268949,268954,268957,268960,268971,268973-268975,268977,268979,268981-= 268983,268985-268986,268989,268993-268994,268997-268999,269001,269008,269= 015-269016,269020-269021,269023,269027,269029,269032,269036,269042-269043= ,269050-269054,269058,269074-269077,269079-269081,269086,269088-269089,26= 9091-269094,269097-269098,269100,269106,269108-269109,269115-269118,26912= 2-269128,269134,269137-269139,269143,269149,269159-269161,269180,269183-2= 69194,269197,269204-269217,269221,269228-269230,269233,269239-269240,2692= 42,269244,269278,269281-269282,269289-269293,269302-269303,269306,269314,= 269316-269318,269326,269337-269339,269341,269347,269351-269355,269362-269= 366,269368,269376,269387,269390,269392-269396,269403-269405,269407-269411= ,269413-269414,269423-269425,269428,269430-269431,269433,269436-269438,26= 9440-269442,269444-269445,269448,269450,269457,269460,269466,269469-26947= 2,269475,269481,269485,269487-269488,269492,269497,269502,269522,269524-2= 69525,269527-269528,269533-269534,269537,269543,269565-269567,269569,2695= 75-269576,269578,269583,269585,269587,269594,269596-269598,269601,269603-= 269609,269611,269613,269615,269620,269622,269627,269631,269634,269636,269= 642-269644,269646,269653,269656,269662,269669,269674,269682,269685,269688= ,269695,269698,269700-269701,269708-269709,269727-269728,269731,269740,26= 9743-269746,269750,269758-269759,269769-269771,269775-269777,269779-26978= 0,269783,269788,269791,269806,269809-269811,269815,269822,269833,269838-2= 69840,269842,269844,269851-269854,269858-269859,269865,269867,269871,2698= 73,269875,269882,269884,269888,269896,269899,269901-269904,269906-269909,= 269945,269948,269950,269952-269954,269956,269962-269964,269973-269974,269= 976-269978,269983-269985,269989,269998,270004-270005,270010-270011,270019= ,270022-270025,270027-270028,270038,270062,270064-270065,270068-270069,27= 0096,270098,270101,270114-270119,270129,270131,270133-270135,270142,27014= 4-270146,270151-270153,270155-270156,270160,270162,270165,270176,270179-2= 70180,270183,270189-270192,270199-270200,270202-270204,270207,270209-2702= 10,270212,270215-270216,270222,270225,270228-270230,270232,270234,270239,= 270247-270249,270251,270253,270256,270259-270260,270265,270268-270269,270= 271-270273,270275-270276,270278-270283,270287-270290,270293,270299-270301= ,270303-270304,270311,270320-270322,270324,270326-270327,270329,270331-27= 0332,270336,270338,270340-270343,270345,270348-270349,270383-270384,27038= 7-270388,270390-270392,270399,270402,270404-270406,270411-270413,270416-2= 70418,270423,270431-270434,270436-270437,270443,270445-270446,270448,2704= 54-270455,270457,270485,270504-270507,270510,270512-270513,270516,270519,= 270521-270522,270571-270572,270587,270589,270613,270618,270620,270643,270= 647-270648,270650,270653,270657,270659-270661,270666-270669,270672-270677= ,270679,270689,270691,270698,270702,270705-270708,270710,270720-270722,27= 0728,270750,270754,270757,270759,270780-270783,270785-270786,270795,27079= 7-270798,270802-270803,270821-270823,270825-270826,270828-270830,270832-2= 70833,270836,270844-270845,270847,270850,270855,270857-270859,270861,2708= 63,270872,270879,270882,270885,270893,270912,270927-270928,270930-270935,= 270945,270947-270948,270953-270961,270973,270976,270989,270991-270993,271= 000,271007-271008,271014,271017-271018,271025-271030,271043,271045-271048= ,271050,271053-271055,271057,271073,271076-271078,271082-271084,271094,27= 1097-271102,271108,271124,271133,271137,271140-271141,271143,271145-27114= 7,271149,271151,271156-271157,271159,271163,271167-271169,271180,271187,2= 71190,271192,271196-271197,271199,271201-271202,271204,271206-271209,2712= 18-271222,271226-271228,271230,271241,271250,271253,271255-271256,271258-= 271259,271261,271282-271287,271299,271307-271311,271313,271315-271317,271= 319-271321,271328,271331,271336,271338,271349-271354,271358,271360,271362= ,271365-271366,271381-271382,271385,271389,271393-271395,271397-271398,27= 1401,271403,271405,271407-271411,271422,271424,271429,271432-271434,27143= 6-271437,271439,271443,271445-271452,271457-271459,271463-271468,271475,2= 71480,271482-271483,271485,271487,271490-271493,271495-271496,271503,2715= 05-271507,271524,271526-271528,271532,271534-271536,271539,271543,271545-= 271546,271549-271550,271552-271553,271560,271563,271567,271571,271577-271= 579,271586,271588-271589,271591,271594-271595,271597,271601,271603-271604= ,271606-271607,271609-271610,271614,271616-271617,271624,271628,271630,27= 1635,271643-271645,271647-271649,271651,271663-271665,271670,271672-27167= 4,271676-271680,271682,271684,271688-271689,271692,271695-271696,271700,2= 71702,271705,271711,271716-271722,271726-271728,271731,271743,271745,2717= 47,271754,271756,271758-271759,271761-271762,271784,271787,271789,271794,= 271796-271797,271802,271819,271834,271839,271845,271847,271854,271864,271= 868-271869,271871-271876,271879,271881-271882,271888-271893,271895,271899= -271900,271906-271907,271909-271910,271913,271917-271919,271921,271924,27= 1926-271927,271930-271931,271934,271936,271940-271942,271945-271946,27194= 9,271951,271953-271954,271957-271959,271965,271970-271972,271974-271975,2= 71977-271978,271980,271982,271990,271992,272000,272007,272022-272023,2720= 25,272027-272028,272033,272036-272037,272040,272043-272044,272046,272049,= 272051-272053,272055-272057,272059,272069-272072,272076,272083-272084,272= 086-272087,272102-272103,272105-272107,272109,272111,272127,272130,272132= ,272135,272137-272143,272153,272159,272161,272165,272168,272171,272173-27= 2174,272176,272181-272183,272190,272193,272197-272198,272209,272217,27222= 3-272224,272243,272245,272247-272248,272250,272252-272256,272258-272259,2= 72263,272270,272273-272274,272278,272280-272282,272284,272288-272291,2722= 94,272296,272300,272305,272308,272315,272323-272326,272328-272331,272333-= 272334,272343,272347-272349,272355-272356,272358,272363,272377-272379,272= 383-272387,272389,272393-272395,272398-272399,272401-272406,272408-272411= ,272414,272416,272422,272441,272443-272446,272449,272455,272457-272458,27= 2469-272471,272474-272475,272479-272481,272483-272485,272487,272490-27249= 2,272502-272507,272509-272512,272519,272523,272527-272528,272533-272534,2= 72536-272538,272547-272548,272550-272555,272562,272566-272567,272569,2725= 71,272573-272575,272578-272579,272583-272584,272595,272597-272599,272601-= 272602,272605-272606,272613,272649-272650,272655,272658-272659,272666,272= 668,272670-272671,272678-272679,272683,272701,272706,272708,272710,272713= ,272715,272717-272721,272729-272735,272737-272744,272746-272751,272756-27= 2757,272761-272763,272765,272769-272772,272777-272789,272796-272797,27279= 9-272801,272805-272807,272809-272810,272812,272814-272815,272822,272830,2= 72833,272836,272838-272839,272841-272845,272848,272884-272886,272889-2728= 91,272893,272897,272901-272903,272905-272911,272914-272915,272917,272931-= 272932,272935-272939,272943,272947,272949-272950,272952,272958,272962-272= 963,272974,272976,272978-272980,273003-273006,273008,273010-273012,273015= ,273017-273026,273029,273034,273038,273040,273045-273048,273050-273051,27= 3053,273060-273064,273066-273068,273072-273073,273075,273081,273087-27309= 1,273093,273096,273107-273108,273112,273114,273118,273121,273123-273124,2= 73127,273129-273132,273135,273143-273144,273146,273158-273160,273163-2731= 64,273168,273178,273181,273186,273201,273204,273209-273212,273214,273216,= 273218-273219,273235-273236,273243,273247-273248,273252,273256-273259,273= 261,273263-273264,273267,273273,273279-273285,273287-273288,273293,273298= ,273301,273328-273332,273337-273338,273342,273352-273353,273356,273359-27= 3360,273370-273371,273375-273378,273381-273382,273389-273391,273393,27339= 5-273397,273402,273405,273407,273410,273423,273434,273445,273448,273452,2= 73455,273457,273459,273464-273468,273470,273480,273482,273486,273488-2734= 89,273498,273507,273514-273517,273520-273530,273533-273541,273543-273544,= 273546,273548,273551,273561,273566,273569,273572,273574,273577-273579,273= 583-273585,273587,273590-273593,273598-273599,273602,273606-273607,273610= ,273613,273615,273619,273627-273628,273634-273635,273640-273641,273644,27= 3647,273653,273666,273683,273687,273690,273693,273701,273703-273704,27370= 6,273708,273710-273711,273718,273727-273728,273730-273731,273733,273737-2= 73740,273744,273747-273750,273752-273754,273756,273760,273762,273766,2737= 68-273774,273778-273780,273782-273788,273791,273793,273796-273797,273799-= 273800,273803,273809-273810,273813,273816,273820-273822,273834,273837,273= 848-273857,273861-273863,273866-273867,273871,273873,273876,273896,273902= ,273904,273911,273913-273914,273917-273918,273920,273922,273925-273929,27= 3932-273938,273942-273943,273945-273952,273955,273962-273967,273969,27397= 3,273985-273986,273988-273989,273991-273992,273995,273999,274011,274016-2= 74017,274020-274023,274031,274033,274036,274038,274040,274045,274049-2740= 55,274057,274060-274063,274065-274068,274072-274081,274083-274084,274088,= 274090-274092,274095,274100,274116-274117,274119-274121,274123-274124,274= 142-274146,274154,274159,274163-274164,274172,274188-274189,274192-274193= ,274203,274205-274206,274209,274215,274218,274223,274226-274228,274230,27= 4246,274248-274249,274251,274253-274254,274267,274270,274276-274278,27428= 6,274289,274294,274303,274308-274310,274316,274322,274325,274328,274330,2= 74333,274337,274343,274347,274349,274351,274364-274366,274370,274376-2743= 79,274383,274398,274402,274407,274409-274416,274418,274434-274435,274437-= 274439,274442,274451-274456,274458,274460-274462,274465-274467,274473-274= 475,274477-274478,274483-274484,274487,274489-274490,274495-274496,274501= -274503,274523,274532,274537-274538,274542,274545,274549,274555-274556,27= 4559,274569,274571-274582,274587,274592-274593,274595-274605,274607,27461= 8-274619,274621,274626,274628-274630,274632-274633,274636,274638-274639,2= 74641-274644,274653,274663,274670-274671,274673-274675,274681,274703,2747= 08-274709,274711,274720,274722-274724,274727,274737-274738,274741-274742,= 274744,274750,274756,274766,274784-274786,274789-274792,274795-274797,274= 804-274806,274816-274822,274839-274841,274843,274845-274847,274851-274854= ,274856-274859,274878,274884,274898,274900,274918,274922,274924,274926,27= 4931,274933,274936-274937,274940-274941,274954,274960,274962,274964-27496= 5,274967,274976,274988,275003,275009,275011,275020,275032-275033,275035,2= 75045-275046,275058,275060,275071,275098,275101,275109-275110,275112,2751= 18,275120-275121,275123-275124,275140,275162-275163,275170,275199,275205-= 275209,275256,275260,275264,275298,275321-275322,275328,275330,275335-275= 337,275347,275358-275359,275365-275366,275368,275374,275376,275378,275380= ,275386,275390,275392-275394,275399,275401,275403-275405,275412,275415-27= 5416,275418,275420,275435,275437-275438,275446-275447,275452,275455,27545= 8-275459,275461,275473-275478,275481-275483,275503,275510,275512-275513,2= 75515,275518-275524,275530-275531,275539,275552-275554,275557,275560-2755= 64,275567-275568,275574-275576,275579,275581-275584,275588-275589,275593-= 275595,275599,275605-275606,275612,275614-275620,275622,275624,275633,275= 636-275639,275645-275646,275651,275653,275656-275660,275665-275666,275680= -275683,275686-275687,275692,275698,275709,275721,275727,275729,275733-27= 5740,275743-275748,275752-275753,275755-275756,275759-275760,275765,27576= 8,275772,275779-275782,275790-275791,275800,275805-275806,275808,275811-2= 75812,275816-275817,275819-275821,275829,275833,275838,275842,275846-2758= 47,275850-275852,275857,275864-275871,275874,275897,275903,275905-275908,= 275918,275920,275922-275923,275925,275930,275941-275944,275946,275949-275= 954,275958-275963,275965,275967,276003-276004,276007-276009,276012-276013= ,276016,276019,276021,276026-276027,276029,276037,276045-276047,276049,27= 6052-276053,276063,276065-276066,276069,276071,276079,276087,276095,27609= 8,276101,276106,276123,276127,276141,276145-276146,276148,276161-276162,2= 76165-276166,276168,276174,276176,276187,276190-276194,276196-276198,2762= 00,276202-276204,276206,276212-276213,276215,276218,276221,276226,276228-= 276229,276238-276240,276247,276249-276250,276282,276296-276299,276303-276= 304,276306,276309,276313-276314,276318-276323,276333-276336,276340,276344= -276347,276350-276351,276359,276377,276383,276392,276394-276397,276400,27= 6402,276404,276407,276412,276417,276419,276426,276428,276430,276432,27643= 9,276444-276446,276450,276462,276469-276470,276472,276480,276483,276485,2= 76489,276491,276495,276498,276508-276509,276511-276512,276517-276519,2765= 21-276523,276525,276532,276534,276539,276550,276564,276570-276571,276574,= 276577,276589-276590,276596-276599,276605,276607,276611-276612,276626-276= 627,276630,276632,276636,276638,276642,276644-276645,276654,276666,276669= ,276671,276681,276695,276699,276702-276704,276714,276717,276723-276724,27= 6728-276729,276749,276751,276758,276763-276766,276771,276774-276775,27679= 5,276798-276799,276801,276803-276806,276808,276814-276815,276820,276822-2= 76823,276825,276827-276828,276831-276835,276839-276840,276842,276844,2768= 46-276848,276861,276863,276867,276879-276880,276883,276891-276893,276898,= 276901-276902,276904,276906-276907,276913-276914,276948-276949,276952,276= 959,276962,276981-276983,276985,277023,277025-277028,277030-277034,277037= -277038,277042-277044,277046-277051,277053,277055,277057,277082,277084-27= 7085,277088,277096,277098-277102,277126,277128,277130,277132,277135-27713= 6,277143,277147,277149,277151,277158,277168-277172,277175,277177,277179,2= 77185,277199,277202,277206-277208,277211-277212,277215-277219,277225-2772= 27,277229-277230,277233-277237,277239,277245-277247,277258-277259,277262,= 277265,277270,277272,277274,277278,277291,277295,277301,277305-277307,277= 309-277310,277318,277321-277322,277328,277333,277337,277340,277346-277352= ,277354-277355,277357-277360,277365,277372,277380,277385,277390-277391,27= 7396,277416-277419,277424,277433,277440,277452-277454,277458,277460,27746= 3-277467,277469-277481,277485,277487-277488,277512-277516,277523,277527,2= 77529,277531-277533,277536,277541,277555,277568,277579,277594,277606,2776= 08-277610,277626-277627,277637,277642-277644,277646-277647,277649-277650,= 277652,277655-277656,277659,277663,277666,277674-277678,277685-277687,277= 693,277695,277706,277709-277710,277712-277714,277717,277725-277728,277730= -277736,277738-277741,277743,277758,277764,277788,277792-277796,277799,27= 7802,277806,277811,277814-277815,277826-277829,277834,277836-277839,27784= 1,277853-277855,277862,277868-277869,277877,277883-277895,277898-277899,2= 77901,277903,277907,277914-277915,277917,277920-277922,277925-277927,2779= 36,277938-277939,277944,277948-277949,277951-277953,277957-277959,277962,= 277969-277970,277972,277974,277988-277989,278000-278001,278004,278010,278= 016,278031-278032,278034,278037-278038,278040,278047,278053,278061,278070= -278071,278074,278098-278099,278101,278103,278105,278111,278114,278118-27= 8119,278135-278137,278145-278148,278151-278154,278159-278161,278166-27816= 7,278172-278173,278182,278192-278193,278202,278204,278206,278209,278212-2= 78213,278220-278222,278228,278233-278234,278237,278239,278248-278251,2782= 54-278255,278257,278268,278282,278292,278297,278300,278302-278303,278311,= 278313-278314,278316,278320-278323,278325,278327,278335-278340,278342,278= 348,278352,278354,278360,278362,278364,278370-278372,278374,278379,278398= ,278402,278433,278438,278449,278458-278462,278464-278470,278472,278474-27= 8477,278483,278485,278488-278493,278500,278502-278503,278518-278519,27852= 1,278523,278526,278530,278532,278551,278582,278584,278586,278594,278598,2= 78600,278603,278605-278607,278618-278619,278621-278623,278625,278627,2786= 33,278636,278640,278653,278655,278658,278672,278681-278682,278697,278704,= 278706,278728,278739,278742,278751,278760-278761,278767,278770,278776,278= 790-278791,278794-278795,278802-278803,278806,278810,278819,278826-278828= ,278830-278844,278848-278850,278856-278858,278860,278865-278866,278868,27= 8870-278871,278874,278888-278889,278891,278902,278905,278915,278924-27892= 6,278932-278933,278937-278942,278963-278964,278970,278976,278983-278984,2= 79016-279017,279033,279037,279046-279048,279050,279076-279078,279080-2790= 81,279083-279084,279089,279092,279094-279098,279114,279117,279121,279123,= 279125-279128,279139,279141-279147,279172-279183,279186,279197-279198,279= 205-279206,279209-279210,279215,279219-279220,279223,279225,279227-279233= ,279235-279236,279239-279246,279248-279251,279253,279256-279257,279261,27= 9266,279268,279270,279275-279278,279281-279284,279297,279301,279307,27931= 0-279312,279314-279318,279320-279321,279324,279326,279330,279336,279338,2= 79346,279351,279359-279362,279364,279366-279368,279375,279385,279390,2793= 93,279395-279396,279398,279400-279401,279410-279411,279413,279421-279440,= 279444,279489,279491,279493,279531,279534,279536,279538,279540,279543-279= 544,279551,279554,279559,279563-279564,279567-279568,279570-279571,279573= ,279584,279587-279591,279593,279597-279600,279624,279642,279651-279652,27= 9654,279657-279658,279673,279675-279676,279683-279684,279691,279695,27969= 8,279700-279702,279706,279720,279722-279726,279728-279730,279735,279738,2= 79756-279758,279760,279764,279766,279773,279776,279779,279802,279806-2798= 08,279810-279813,279815-279816,279819,279821,279824-279827,279837,279841-= 279843,279845-279846,279850-279851,279854,279856,279858-279860,279862-279= 865,279867,279869,279875,279886,279892,279894,279896,279901-279903,279910= ,279913-279916,279919-279920,279925,279927,279929,279931,279935-279936,27= 9941,279945,279949-279955,279957,279959-279960,279963,279965,279967-27996= 9,279975-279977,279979-279980,279987,279996,280004,280017,280026,280037,2= 80040-280044,280047,280090,280125-280126,280133-280134,280154,280160-2801= 64,280166,280169,280172,280177-280180,280182-280183,280187,280191,280194-= 280197,280204,280206,280208,280210-280211,280221-280222,280228,280230-280= 232,280234-280236,280238,280249,280252-280254,280262-280264,280278-280279= ,280286,280293,280297,280299,280301,280307-280308,280310-280311,280321-28= 0323,280325,280336,280342,280345,280347,280351,280357,280360,280371,28037= 4-280380,280382-280385,280387-280388,280393,280402-280404,280429-280435,2= 80439-280440,280447,280451,280459,280463,280475,280495,280572-280574,2805= 97-280598,280630,280634,280640,280642,280685-280688,280700,280702,280709,= 280713-280714,280716,280721,280725,280756-280758,280760,280763-280765,280= 767-280768,280772,280775,280780-280782,280786,280792-280793,280797,280805= ,280807-280808,280814,280816,280818-280819,280822,280830,280834,280840,28= 0845-280846,280848-280850,280858,280861,280864,280866,280870,280878-28087= 9,280881-280882,280884,280893-280895,280904,280914-280916,280919-280926,2= 80928-280931,280933-280939,280949-280950,280953-280957,280959,280962,2809= 68,280974-280976,280980-280981,280983,280988,280990-280991,280998-280999,= 281002-281003,281005-281006,281009,281011,281015-281016,281026-281027,281= 039,281053,281058-281060,281070-281071,281073-281074,281077,281081-281082= ,281084,281094,281107-281109,281112-281113,281116-281117,281120-281121,28= 1136,281138,281145-281146,281159-281160,281162-281167,281169-281171,28117= 6-281182,281199-281200,281202,281206,281209,281216,281225,281234,281236,2= 81254,281265-281266,281271-281272,281275,281280-281283,281285,281307-2813= 11,281316,281320,281324,281331,281335,281337,281354-281356,281358-281362,= 281367,281371-281372,281380-281381,281383,281387,281391-281404,281406-281= 412,281440-281441,281451,281462,281470,281475,281483,281495,281500,281502= ,281524,281529,281531-281532,281536-281537,281540,281542,281544,281548-28= 1550,281558-281559,281561-281563,281581-281582,281591-281593,281599,28160= 1,281605,281611-281612,281616-281618,281626,281628,281630,281655,281666-2= 81667,281670,281674,281677,281689,281696,281698,281700-281701,281703-2817= 04,281712,281723,281726,281728,281734-281736,281738,281745,281751-281752,= 281756,281762-281769,281772-281773,281775,281777,281780-281783,281785,281= 787,281789,281795,281800,281809,281812,281820,281823,281825,281828,281832= ,281838,281840,281857,281860,281870-281873,281875,281877,281879,281881,28= 1883-281884,281887,281915-281916,281918,281920,281923-281924,281928-28193= 0,281932,281941,281944,281946,281956,281959-281960,281962,281966-281967,2= 81984,281987,282017,282023-282025,282041-282042,282054,282056-282057,2820= 59,282061-282063,282067,282071-282076,282084-282089,282092,282097,282104,= 282106,282109,282112,282115-282116,282119-282122,282125-282128,282130-282= 131,282133-282138,282144,282148,282152,282201,282205-282206,282208-282209= ,282211-282213,282215,282236,282238,282241,282244-282245,282247,282254,28= 2257,282259,282261,282266,282269,282273,282277,282281,282284,282287,28228= 9-282291,282293,282296,282299-282301,282304,282312,282328,282331,282335-2= 82336,282339,282341,282344-282345,282351,282364,282407-282408,282415-2824= 19,282424,282429,282434-282436,282443,282465,282469,282473,282475,282482,= 282485,282500,282505,282516,282519-282520,282524-282533,282536,282550-282= 552,282558,282560,282563,282565,282571,282574,282577-282578,282594-282595= ,282608,282613,282632,282641,282643,282645-282646,282650-282652,282658,28= 2660-282661,282679-282681,282683,282685-282687,282690,282693,282697-28270= 0,282706,282708-282709,282712-282713,282716,282718-282721,282727,282730-2= 82731,282739-282741,282743,282747,282766,282772,282784-282785,282787-2827= 99,282805,282809-282810,282817,282821,282857,282863,282865-282866,282880-= 282881,282885,282888,282897-282905,282908,282914,282916,282921-282922,282= 932,282940-282942,282944,282948,282965,282967,282978,282996-282998,283000= -283001,283007-283009,283013-283014,283018,283023,283025,283032-283033,28= 3035,283048-283051,283053,283056,283061-283064,283066-283067,283069,28307= 5,283092-283093,283101-283106,283110,283114-283115,283117,283119,283121,2= 83123,283126,283128,283141,283144,283146-283147,283149,283153,283162-2831= 63,283168,283170,283245,283252,283254-283257,283261,283264-283266,283268-= 283269,283271-283274,283278,283281-283282,283285-283286,283288,283290,283= 293,283295,283298-283299,283301-283302,283307-283308,283313,283320,283330= ,283357,283364,283369-283386,283388-283403,283405-283408,283410-283425,28= 3427-283456,283459-283468,283470-283476,283478-283480,283482-283484,28348= 6-283498,283502,283506,283514-283515,283524-283525,283542,283544,283546-2= 83547,283562,283569,283573-283578,283580,283593,283599-283602,283604,2836= 12-283613,283618,283622,283624,283629-283630,283635,283645,283647-283648,= 283650,283654,283657-283658,283661-283662,283664-283666,283673-283674,283= 679-283681,283691-283692,283695,283735,283745,283753,283784-283786,283795= ,283801,283806,283808-283811,283813-283820,283832,283836,283840-283843,28= 3845,283858,283863-283864,283869-283870,283889,283891,283893-283897,28391= 3,283919-283920,283922-283924,283929,283933,283936,283939,283959,283961-2= 83962,283966,283968,283973,283975,283988,283991-283992,284000,284007,2840= 10-284013,284022-284025,284032,284044,284046,284049,284051,284102,284104-= 284107,284110-284114,284117-284130,284133,284135,284137,284139-284140,284= 148-284149,284151,284157,284159,284163,284165-284167,284174-284175,284179= -284180,284192,284207,284222,284229,284237,284245,284247-284250,284254,28= 4260,284264,284269-284270,284277,284280,284283,284289-284290,284296-28429= 7,284301,284303-284304,284306,284308-284309,284323-284326,284329,284331-2= 84333,284335,284346,284348,284351-284355,284377-284378,284383-284386,2843= 92-284393,284405,284408-284409,284416,284423,284425-284428,284436,284445,= 284447,284470,284477,284495,284512-284513,284515,284526-284528,284531,284= 539-284542,284547,284551-284552,284567,284578,284582,284589,284591,284593= -284594,284596,284600-284601,284604,284607-284609,284611-284612,284617,28= 4622,284626-284627,284630,284636,284639-284641,284644,284646,284649,28465= 4-284656,284658,284660,284672,284676,284681-284683,284688,284691,284697-2= 84698,284709,284712,284717-284719,284722,284724,284727-284728,284730,2847= 39,284741,284743,284746-284749,284765,284779-284780,284792,284808,284811-= 284812,284858,284864,284875,284877,284882-284884,284887,284889,284893,284= 895-284897,284913-284916,284918-284921,284927-284931,284933,284941-284942= ,284956,284965,284968-284969,284984,284988,284996,285005-285006,285010-28= 5011,285020-285021,285028-285030,285037,285039,285041-285042,285046,28505= 0-285051,285053,285059,285064,285066-285067,285086,285088-285089,285100,2= 85104,285113,285118,285133-285134,285136-285138,285140-285141,285146-2851= 47,285154-285158,285169-285170,285173,285188,285190,285204,285217-285221,= 285225-285226,285229-285231,285237,285240,285246,285248,285251-285253,285= 256,285260-285261,285269,285279,285282,285284,285318,285325,285329,285339= -285340,285384,285395-285396,285398,285401,285403,285405-285406,285408-28= 5409,285411-285415,285418,285420,285424,285426-285428,285430,285433-28543= 5,285440-285444,285457,285459,285481-285483,285510,285527-285529,285531,2= 85543,285552-285554,285557,285590-285592,285594,285600,285621,285623,2856= 28,285630,285638-285639,285642-285644,285648,285651,285657-285658,285663-= 285664,285667,285669,285671-285676,285678-285679,285684,285701,285710,285= 715,285719-285720,285722,285730,285732-285733,285735,285742,285767-285768= ,285773,285775-285776,285782-285783,285785,285792,285796,285798,285815-28= 5816,285837-285844,285847,285858-285859,285869-285870,285873,285875,28587= 7-285879,285881-285882,285886-285889,285891,285909,285912-285914,285925,2= 85932,285935,285938,285944-285948,285958,285960,285972-285973,285975,2859= 84-285985,285989,285996-285997,285999,286010,286017,286024,286043,286045-= 286047,286066,286074,286086,286090,286092,286102,286106-286107,286118,286= 131,286139-286140,286142,286150-286152,286154-286158,286162-286163,286167= ,286169,286173,286177,286196-286204,286206,286208,286210-286211,286215,28= 6217-286218,286226,286228,286234,286237-286238,286243,286256,286258-28626= 0,286265,286281,286283,286285,286288-286289,286293,286304,286317,286320,2= 86328,286330-286331,286338,286341,286344-286345,286353,286358,286360-2863= 61,286367-286370,286375,286378,286380-286383,286385,286388-286389,286395,= 286400,286404-286406,286409,286414,286417-286419,286423,286429,286447-286= 448,286451,286456,286461-286462,286469,286490-286491,286503-286506,286510= ,286512-286516,286519,286539,286541,286543,286545,286547,286549,286551,28= 6554,286556,286561-286562,286569-286570,286574-286576,286578-286579,28658= 2,286587,286589,286591,286593,286595-286596,286598,286600-286601,286603,2= 86605,286613,286615,286617,286621-286623,286625-286626,286628,286641,2866= 47,286649,286652,286655,286660,286667,286677,286683,286686,286689,286699-= 286702,286705,286708,286710,286712,286719-286720,286723,286733,286737,286= 762-286764,286766-286767,286770,286773-286778,286780-286781,286784-286785= ,286790,286798-286799,286802,286805-286809,286811,286814,286816,286822,28= 6827,286829-286834,286836-286838,286848-286849,286857,286860,286862,28686= 7-286868,286886-286888,286891-286894,286910,286913-286914,286926,286933,2= 86937-286940,286942-286944,286947,286951,286962-286967,286970-286971,2869= 74-286975,286981-286983,286985-286986,286991,286993,286999,287004-287005,= 287012,287020-287021,287025,287033-287034,287081,287093-287095,287097-287= 100,287103,287107,287112,287119,287121,287123,287125,287143,287148,287151= -287153,287155,287178-287179,287182-287183,287208,287216,287220-287221,28= 7234-287238,287247,287264-287265,287280-287284,287289,287292-287294,28729= 9-287300,287309-287310,287317,287319-287321,287324,287327,287330,287335-2= 87337,287340,287345,287349,287354-287355,287357-287358,287360-287361,2873= 66,287368-287369,287372,287374,287376,287378-287386,287389-287390,287395-= 287397,287400,287402,287404-287406,287413,287420-287422,287429,287432-287= 433,287436-287437,287440,287442,287444-287445,287448,287453-287459,287465= ,287468,287473,287475,287479,287483,287485,287489,287493-287494,287497,28= 7499-287500,287520,287522,287528,287534-287535,287537-287538,287541,28756= 3-287564,287567,287574-287576,287579-287581,287590-287592,287595,287599,2= 87607-287611,287613-287621,287633-287635,287649-287654,287664,287669-2876= 71,287673-287675,287683,287685-287698,287701-287707,287711-287712,287714-= 287715,287717-287721,287724-287726,287728,287744-287745,287747-287748,287= 754,287756-287758,287760,287764-287768,287770-287772,287774-287775,287778= ,287783-287785,287799,287803,287806-287807,287816,287818-287819,287821,28= 7823,287825,287827-287828,287830,287833,287842-287843,287855,287860,28786= 4,287866,287868,287870,287875,287880,287886,287912-287913,287917-287918,2= 87920-287921,287927,287930,287933-287935,287937,287940,287944,287951,2879= 55-287957,287964,287967-287968,287978-287983,287986,287988,287991-287994,= 287997-287998,288000-288001,288006,288020-288021,288025,288031-288033,288= 043-288044,288057,288059,288061,288064,288067-288068,288070,288075,288081= ,288083,288091-288092,288099,288104,288110-288111,288116,288120,288138,28= 8143,288146,288148,288153-288154,288158,288160,288165-288166,288170,28817= 5,288179-288180,288198-288201,288204,288208,288211,288213-288217,288220-2= 88221,288224,288229-288230,288233,288238-288239,288246-288249,288258-2882= 62,288264,288266-288267,288271-288273,288276,288278,288281,288295,288298,= 288303-288305,288309-288310,288330,288335-288337,288339-288341,288345,288= 347-288348,288358-288359,288361-288372,288374,288380-288381,288390-288391= ,288405-288406,288419-288420,288423-288424,288427,288429-288430,288446-28= 8450,288452,288454-288456,288458,288470,288477,288486,288488,288522,28852= 4,288528-288529,288575,288579,288600,288625-288626,288653,288678,288826,2= 88829,288832,288834,288902-288903,288905-288907,288910,288914,288944,2889= 49-288950,288952-288953,288959-288963,288981,288984,288993-288994,288997,= 289001,289017,289026,289028-289031,289038,289041,289055,289058,289060,289= 063,289065,289067,289080,289083-289084,289091,289093,289095,289097-289098= ,289102,289104-289105,289109-289111,289113,289118,289136,289138,289146,28= 9151,289158,289186,289190-289192,289194-289195,289199,289203,289219,28922= 5,289229,289231,289238,289240,289286,289289,289293,289295,289297,289299-2= 89300,289305,289307,289309,289313,289315-289316,289321-289322,289324,2893= 32,289337,289349,289360-289362,289374-289375,289378-289379,289393,289407,= 289419-289422,289425,289430,289441,289445-289446,289450-289453,289469,289= 477,289480,289487-289488,289496-289497,289499-289500,289527-289528,289531= ,289536,289560,289562-289563,289570,289577,289592,289600-289602,289604-28= 9605,289618-289620,289622,289626,289634-289637,289643,289656-289658,28966= 0-289661,289664,289669,289676-289677,289681,289687,289693,289702,289704,2= 89719,289726-289727,289736,289739,289743,289746,289755,289764,289768-2897= 69,289783,289790,289793-289794,289797,289812,289817,289819,289822-289824,= 289837-289838,289842-289843,289852,289855,289863,289866-289867,289870-289= 875,289877-289879,289881-289882,289886,289888,289890,289895-289897,289899= ,289901-289903,289913,289916,289930-289931,289933,289937,289939,289942,29= 0003-290004,290006-290008,290018,290023-290024,290028,290042,290047,29005= 4,290073,290083-290084,290104,290110,290116,290118,290121-290122,290138-2= 90140,290143-290144,290147,290153,290159-290161,290163-290164,290169-2901= 70,290173-290174,290177-290182,290184,290188,290190-290191,290195,290230-= 290232,290236,290251,290253,290255,290259-290260,290262,290264-290265,290= 267-290268,290270,290275,290316,290320,290326,290329,290336-290337,290367= ,290370,290374,290387,290399-290401,290404-290406,290408,290412,290414-29= 0416,290426,290428-290429,290431,290435,290437,290440-290442,290444,29045= 0-290452,290458,290462,290466,290468,290480,290489,290492,290504,290506-2= 90507,290515,290532,290537-290540,290542,290548-290550,290560-290561,2905= 63,290566-290567,290571-290573,290601,290615,290639,290641,290645-290647,= 290650,290659-290660,290662,290665,290670-290674,290689,290693,290708-290= 710,290728-290729,290742-290743,290811-290813,290820,290830,290843-290851= ,290855-290856,290860,290868-290871,290905,290907-290909,290911-290915,29= 0917,290920,290922,290929-290930,290946,290948,290959,290970,290978,29098= 0-290981,290993-290994,291000-291001,291004,291012-291014,291016-291017,2= 91022,291024,291026,291035,291038,291047,291061,291067-291072,291078,2910= 80-291081,291088,291091-291092,291097,291099,291114,291117,291120-291121,= 291125-291126,291132,291137-291138,291140-291141,291143-291147,291149-291= 150,291155-291164,291166-291169,291172,291180-291181,291188,291197-291199= ,291207,291209,291221,291225-291226,291238,291260-291261,291265-291266,29= 1296,291301,291306,291329-291331,291338-291340,291342,291348-291349,29135= 8-291359,291362-291365,291367,291369,291375-291377,291379-291380,291383,2= 91390-291398,291408,291410,291432,291434,291436,291446,291453,291459-2914= 61,291481,291488,291527,291534-291536,291545,291569-291570,291576,291578-= 291579,291582,291584-291588,291590,291605,291610-291611,291615,291638,291= 641,291651,291653-291654,291657-291659,291671,291677-291680,291682,291684= ,291690-291691,291693-291694,291699-291700,291703,291716,291724,291727,29= 1730,291741-291743,291746-291747,291752-291753,291766,291770,291793,29182= 1,291832-291839,291843,291845-291849,291862,291868,291872,291876,291891-2= 91892,291896,291904,291908,291911,291919,291922-291928,291931-291932,2919= 36,291938-291939,291941-291942,291947-291948,291950,291953-291954,291957,= 291978-291985,292003-292005,292007-292013,292034,292038,292041-292042,292= 046-292048,292050-292053,292055,292057-292060,292066,292069,292074,292086= ,292088,292090,292092-292093,292106,292121-292123,292128-292130,292135,29= 2153,292206,292212,292216,292218,292227,292234,292249-292250,292258,29226= 2-292263,292266,292277,292289-292290,292313,292316-292319,292323-292324,2= 92327-292328,292330,292332,292337-292338,292355,292360,292366,292394,2924= 08-292411,292419,292432-292435,292441-292446,292454-292455,292485,292489,= 292491-292493,292495-292497,292500-292501,292504,292507-292510,292513-292= 515,292517-292518,292522-292523,292527,292530-292533,292537-292539,292541= -292546,292550,292552-292554,292558,292569-292570,292573,292578,292581-29= 2585,292595,292601-292608,292610,292620-292621,292638-292641,292647,29265= 0-292651,292654,292658,292661,292665,292669-292670,292674,292676,292682,2= 92690,292697,292705,292710,292715,292719,292725,292733-292734,292739,2927= 41,292743,292745,292749,292751-292752,292757,292759,292764-292765,292813-= 292816,292818-292820,292822,292829,292834-292838,292840,292846-292847,292= 849,292859,292861,292872,292877-292878,292884,292888,292890-292892,292899= ,292914,292943,292946-292950,292953,292957,292960-292961,292983,292989,29= 2996,292999-293001,293014-293015,293028-293029,293032-293034,293037,29304= 2-293043,293045-293049,293053,293055,293059,293061,293063-293065,293073,2= 93105,293165,293173,293188,293190,293192,293231,293233-293234,293244-2932= 45,293268-293269,293271,293274,293281,293305,293312,293331-293332,293334,= 293338,293340,293342-293343,293346,293349-293350,293357,293370,293379,293= 414,293422-293423,293440,293444,293452,293454,293458-293461,293469,293491= ,293612-293613,293617,293627,293658-293659,293679,293683,293704-293705,29= 3708,293715,293719-293722,293724,293730-293734,293740,293745,293748-29375= 8,293761-293770,293772-293775,293781,293783,293792,293796,293805-293814,2= 93817-293819,293825,293828,293830-293831,293835,293851,293854-293856,2938= 58,293860,293868-293871,293873-293875,293877,293887-293892,293895,293899-= 293902,293905,293913,293977,294027,294029,294032,294040-294042,294048,294= 057-294060,294068,294072-294073,294075-294081,294091-294094,294102-294103= ,294123,294125-294128,294137,294183,294191,294196,294200-294201,294233-29= 4235,294237,294249-294257,294259,294265,294284,294291,294309-294314,29431= 7-294320,294322,294324-294326,294328,294330,294332-294333,294335-294336,2= 94347,294358,294362,294366-294367,294370-294372,294407,294414,294452,2944= 63-294464,294466-294467,294469,294493-294498,294506,294514-294515,294530,= 294548-294549,294553-294554,294556-294557,294563,294565,294578,294594-294= 598,294620-294621,294669,294684,294688,294694-294695,294700,294732,294734= -294735,294749,294753,294765-294769,294773,294795,294840,294847,294854,29= 4860-294863,294884,294892-294893,294900,294909,294915,294922,294925-29492= 6,294933,294949,294952-294953,294957,294965,294967-294968,294995,295006,2= 95017,295021-295022,295026-295027,295029-295030,295032,295051,295069-2950= 70,295072,295074-295075,295077,295093-295094,295133,295139,295159,295174,= 295202,295209,295234,295273,295276-295277,295320,295323-295324,295356-295= 357,295408,295417-295419,295455,295465,295467,295495-295497,295532-295533= ,295535-295536,295549,295562,295574,295608,295616,295636-295637,295649,29= 5651,295665,295668,295670-295672,295675,295708-295710,295717,295737,29577= 1-295773,295800,295805,295810,295823,295830,295844,295861,295901,295906,2= 95914,295923-295925,295928-295929,295944,295966-295967,295969,295995,2959= 98,296001,296009,296025,296028,296071,296392,296419,296428,296610 Merged=20 /user/ngie/more-tests2/sys/cddl/contrib/opensolaris:r288935-288940,288942= -289179,289223-289224,289226-289227,289230,289236,289325,289437,289440,28= 9484-289486,290904 Merged=20 /user/ngie/stable-10-fix-LINT-NOINET/sys/cddl/contrib/opensolaris:r293623= -293724 Merged=20 /projects/clang-sparc64/sys/cddl/contrib/opensolaris:r262258-262612 Merged /vendor-sys/illumos/dist:r296609 Merged=20 /user/ngie/more-tests/sys/cddl/contrib/opensolaris:r281427-281428,281430,= 281432,281450,281460,281464-281465,281485,281489-281491,281515,281519,281= 589,281593-281597,281619,284388,288316,288321-288327,288422,288476,288478= -288481,288483,288578,288650-288651,288655-288656,288659-288661,288663,28= 8673-288676,288680,288828,288930-288931 Merged /projects/pf/head/sys/cddl/contrib/opensolaris:r263908 Merged=20 /projects/release-arm-redux/sys/cddl/contrib/opensolaris:r278203,278595-2= 78597,278610,280643-280650,280652,280655,282539-282546,282548,282553-2825= 57,282564,282566,282570,282573,282587-282593,282596-282607,282615-282616,= 282624-282629,282631,282633,282635-282640,282642,282647-282648,282653-282= 654,282656-282657,282659,282662-282667,282682,282691 Merged /stable/10/usr.bin/head/sys/cddl/contrib/opensolaris:r265256 Merged=20 /user/ngie/stable-10-libnv/sys/cddl/contrib/opensolaris:r292587-292857,29= 3093 Merged=20 /projects/building-blocks/sys/cddl/contrib/opensolaris:r275142-275143,275= 306-275307,275556,275558,277445,277670,277673 Merged=20 /projects/lldb-r201577/sys/cddl/contrib/opensolaris:r262185-262527 Merged=20 /user/ngie/socket-tests/sys/cddl/contrib/opensolaris:r293882-293885,29410= 3,294117,294119-294120 Regards Steve From owner-svn-src-head@freebsd.org Thu Mar 10 10:37:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1CFD7ACA1C1 for ; Thu, 10 Mar 2016 10:37:36 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com [IPv6:2a00:1450:4010:c04::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 65ECA8EE for ; Thu, 10 Mar 2016 10:37:35 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by mail-lb0-x22e.google.com with SMTP id bc4so105557241lbc.2 for ; Thu, 10 Mar 2016 02:37:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-transfer-encoding; bh=RTjvcELATK/RNefaWxtLU0J8LUhCh7EVlXd1/d6TVZM=; b=dUc7VZ2M7JbZ7fa4R8LiGm3Mt0GAFAFUkTNnZ6F8fu/qzyp5xPr0+QOFk2qTxs9Mkv 4swk3VGWSRoYM1UOV1xL8n3A+MNjlx/ff3ecOoyMiOfuF7G2szHFHxEQOn1cnSrZmqpY 3vSGYvoTKIse9u4IZ1/gKXjOAQT7IFgPQrxBzK4vbXzl6XJo7fKeQG8+6ir6KVAynrIa vVgBuCQiVOhSr3/q13UYIA5RiFIFjLcJs/mLbdPt3nYa3S0/4CEqifwxl+3dftUTHh+5 Wv9Y2gpRDKIjU39cP9JF49q1/E2na8WVwzgU74tIPmyLkPm8hBcm8Aw/+SrOUGmlxfdV ENkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:message-id:date:from:user-agent :mime-version:to:subject:references:in-reply-to :content-transfer-encoding; bh=RTjvcELATK/RNefaWxtLU0J8LUhCh7EVlXd1/d6TVZM=; b=ha584gTWXwUH7Y+ZG5FIhm33YIlLtmAnxFpPNN0DiAxw19YnBkmbFsHETnv4eF7EBG hNIhNGRTrS6EaLXYd7PfyqvMdk4pxfD+gLxDw7f/xvZ2/7jHJG3QKuRyZ76HNSDJmGdn QAtk8POsuv5wcLRHlK+ya/FostY5YpDROeUxYkyLd4MwkyRPJ7E2U49g1kOxjj7f/H+8 JoULLyKrO2ML2R5FC7ry7veUqyWCP9ZcNlkPTsjRWSj80HQ9SbqjYKmPaGdSoZuDPkja c8oey760k/f+ZQCedfUX3JI2b6xrNdErm/LqtClKOgcAKD9+9UqsCoRrEF7zt1Keps2R 3aMg== X-Gm-Message-State: AD7BkJIGIC6v+nbZgLAYT/2oAn8FnYACG6gJPci5LnVFX0lBB/kPd7W9efPzsMvqw3rFUw== X-Received: by 10.25.148.208 with SMTP id w199mr980043lfd.124.1457606250502; Thu, 10 Mar 2016 02:37:30 -0800 (PST) Received: from mavbook.mavhome.dp.ua (mavhome.mavhome.dp.ua. [213.227.240.37]) by smtp.googlemail.com with ESMTPSA id l129sm430925lfl.18.2016.03.10.02.37.25 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Mar 2016 02:37:29 -0800 (PST) Sender: Alexander Motin Message-ID: <56E14E61.5070800@FreeBSD.org> Date: Thu, 10 Mar 2016 12:37:21 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Steven Hartland , svn-src-head@freebsd.org Subject: Re: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs References: <201603100901.u2A91JLq082451@repo.freebsd.org> <56E144F2.3000609@freebsd.org> <56E14697.6080706@FreeBSD.org> <56E1484A.5030600@multiplay.co.uk> In-Reply-To: <56E1484A.5030600@multiplay.co.uk> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:37:36 -0000 On 10.03.16 12:11, Steven Hartland wrote: > > On 10/03/2016 10:04, Alexander Motin wrote: >> On 10.03.16 11:57, Steven Hartland wrote: >>> When processing the MFC of this I noticed there's lots of merge info @ >>> sys/cddl/contrib/opensolaris. >>> >>> I've removed this from the MFC request but wondered if we should clean >>> up HEAD so this doesn't accidentally get merged? >> Merge info @ sys/cddl/contrib/opensolaris in head is valid one, tracking >> process of MFVs from respective vendor branch to head. Not that I use >> it often, but is it incorrect? >> > It really doesn't look right to me, this is what I get from svn diff -x > -up: > Property changes on: sys/cddl/contrib/opensolaris > ___________________________________________________________________ > Added: svn:mergeinfo > ## -0,0 +0,16 ## > Merged > /projects/clang380-import/sys/cddl/contrib/opensolaris:r293006,293013 > Merged /projects/elftoolchain/sys/cddl/contrib/opensolaris:r260880 > Merged /projects/zfsd/head/sys/cddl/contrib/opensolaris:r266519,269993 > Merged > /head/sys/cddl/contrib/opensolaris:r256280,256291,256293-256294,256299,256302,256304,256308,256321-256323,256325,256327-256328,256330-256331,256333-256335,256338,256341,256343,256345,256347-256348,256350,256362,256365,256385,256389,256391,256423,256425,256430,256440,256446,256448,256450,256459,256467,256470,256477,256489,256492,256498-256502,256504,256510,256512,256514,256533,256537,256539-256544,256546-256549,256551-256553,256555-256557,256561,256570-256571,256581,256594,256603,256606-256607,256610,256614,256628,256637-256638,256640,256642-256643,256645-256647,256650,256657-256658,256661,256666,256670,256672,256682,256687,256689-256692,256694-256695,256705,256707-256711,256713-256718,256720-256722,256724,256735,256743-256746,256748,256750,256752-256753,256760-256771,256773-256779,256782,256788,256790,256792-256793,256798-256801,256803-256804,256806,256808-256809,256812-256818,256822,256826-256828,256830,256832-256833,256835-256836,256838-256839,256842-256843,256845-256848,256855,2 5 6859-256861,256864-256865,256868,256870-256871,256873,256875,256878,256880,256885,256887-256889,256893,256895,256898-256901,256911-256912,256914-256915,256919-256920,256925-256926,256931-256932,256934-256943,256945,256948-256951,256953,256955-256956,256959-256961,256963,256966-256969,256971-256975,256977-256978,256994-256995,256999,257005-257007,257015-257018,257029,257036-257038,257051,257054-257055,257057,257059-257062,257064-257066,257069-257072,257075,257077-257079,257084,257092-257093,257095-257100,257105,257109,257111,257114-257118,257127,257129-257130,257132,257138-257139,257142-257152,257155,257157-257159,257161-257162,257164-257165,257167-257172,257175,257178,257180,257182-257183,257186,257189-257191,257193,257195-257203,257206-257207,257209-257210,257214-257217,257221-257222,257228,257230-257231,257233-257235,257240,257248,257251,257258,257265-257266,257268,257272,257274,257276-257282,257287-257288,257291,257293,257295,257297-257300,257302,257304-257308,257315,257329,257332 , 257334-257338,257340-257345,257347,257349-257350,257359,257361,257364,257368-257370,257376-257384,257388,257390,257393,257399-257400,257402-257403,257407-257411,257413-257414,257416-257419,257421-257423,257429,257435,257440,257447,257452-257454,257469,257472,257475-257478,257480,257482-257487,257489-257490,257501,257504-257505,257511-257512,257515-257516,257518-257519,257532,257534,257539,257541-257543,257549,257555-257557,257561,257574,257582-257583,257594-257595,257598,257600,257603-257604,257619-257620,257631,257633,257637,257639,257641,257643,257648-257650,257654,257656,257660-257661,257667-257670,257672-257673,257676,257678-257680,257686,257694-257695,257701-257702,257705,257712,257729-257730,257732,257734,257736,257738-257740,257743,257745-257749,257751,257754-257757,257767,257769-257770,257772,257774-257775,257777,257779-257785,257787-257796,257800-257801,257803-257808,257817-257821,257823-257831,257838,257841-257854,257856,257858-257860,257862-257864,257869-257870,257872-2578 7 4,257876-257877,257883,257888,257892,257896,257898-257904,257910,257913-257916,257920,257924,257929-257930,257932-257933,257936-257942,257945-257946,257955,257957-257958,257965,257985,257987,257991-257993,257995-257996,258000-258003,258005,258014,258016-258017,258020-258021,258024-258025,258027-258029,258036,258039,258041-258047,258050-258052,258054,258056-258057,258063-258066,258069,258071,258075-258082,258084,258086,258088,258094-258098,258101,258113-258115,258119,258122,258128,258132,258135,258137-258138,258143,258148-258150,258152-258157,258162,258164,258167-258170,258173,258176-258179,258181,258185,258187,258195-258197,258199-258202,258204-258207,258209-258211,258220-258221,258224,258226-258228,258232-258233,258235,258240,258243-258247,258250-258251,258254,258256-258257,258259,258262-258272,258274-258276,258281,258283,258285-258287,258289-258291,258294,258297-258299,258305,258307-258311,258314,258316-258321,258330-258332,258336-258338,258340,258342,258345,258347-258348,258350-25 8 360,258362-258367,258387-258388,258390,258392-258393,258397,258399-258401,258406-258407,258410-258412,258418,258425,258427-258433,258436,258439,258441,258445,258448,258458,258469,258471,258475-258480,258489,258492,258494-258495,258497,258501,258503-258504,258507,258527,258530,258533,258535,258537,258545-258547,258549,258551-258553,258569-258570,258573-258574,258578-258582,258587-258592,258594,258602,258605,258609,258614-258615,258617-258619,258622,258625,258628-258634,258638,258641-258643,258647-258648,258651,258658-258662,258664,258668-258669,258673,258675,258677-258679,258683,258689-258694,258696-258699,258702,258704-258705,258708-258709,258711-258717,258720,258722,258727-258728,258731-258733,258737,258739-258746,258748,258757-258758,258765,258770,258776,258778-258780,258785-258787,258789-258790,258793-258794,258796-258798,258800,258802,258805-258807,258817,258819-258820,258826,258828,258830,258840,258845,258847,258851,258853-258855,258857,258859-258860,258869,258871,258873,258879, 2 58884,258892-258893,258897,258901-258902,258904,258909,258914,258919,258921,258924,258927-258928,258930-258931,258941,258943,258950,258956,259003,259005,259007,259010,259013-259014,259016,259019,259022-259023,259029-259039,259042-259044,259046-259049,259052-259054,259056-259058,259060,259071-259072,259079,259081-259085,259088-259090,259092,259094-259095,259099-259104,259107-259111,259113,259115,259117-259118,259121-259122,259125-259127,259129-259134,259140,259143-259145,259148,259150,259152,259156,259168-259169,259176,259178-259180,259182-259183,259191-259197,259199,259202-259203,259205,259208-259213,259219-259222,259232,259240,259244-259248,259261,259265-259267,259270,259274-259276,259284,259286-259287,259302,259330-259331,259339,259362,259382,259393-259395,259400,259407,259411,259413,259417,259421,259424-259430,259436-259438,259441,259462,259464,259468-259470,259472-259474,259476-259478,259480-259482,259484,259490,259493,259498,259502,259513-259514,259516-259518,259520-259522,25952 5 -259529,259531-259532,259535,259537,259542-259547,259549-259550,259555,259558,259562,259564-259566,259569-259574,259576,259586-259589,259597-259598,259609,259612,259615,259626,259632-259635,259638,259640-259641,259645,259649-259651,259655,259657,259659,259662-259663,259666-259668,259674-259675,259677,259679-259681,259684-259686,259696,259699,259702,259708-259720,259724,259727-259730,259732-259733,259735-259737,259739-259740,259743-259744,259749-259750,259756,259761-259767,259771-259777,259779-259782,259792,259801,259808,259811-259813,259816,259823,259825-259828,259830,259833,259838-259846,259850,259854-259855,259860,259863,259868-259870,259872-259877,259879-259882,259884-259888,259892-259893,259896-259897,259902,259906,259908,259910,259913,259915-259916,259920-259922,259924-259929,259936-259937,259939-259940,259942-259944,259946,259950-259951,259953,259955,259959,259961,259973,259978,259997-259998,260003,260009,260014-260017,260019-260020,260023,260025-260026,260028,260031,260036,260 0 38-260059,260061,260063-260064,260066-260070,260076,260079,260083,260086-260089,260092-260093,260095,260097,260099,260102-260106,260110-260113,260118,260121,260124-260125,260132,260138,260141-260142,260145,260150-260151,260156-260157,260160-260161,260163,260165-260167,260175,260180-260181,260183-260185,260187-260189,260204-260207,260210,260217,260219-260220,260222,260225,260228-260229,260232-260239,260243,260245-260247,260255,260257-260258,260260-260262,260267,260281-260283,260285,260288,260290,260292,260294-260295,260310-260311,260315,260320,260322-260323,260326-260328,260331-260334,260336,260340,260355,260358,260361,260367,260369,260371-260375,260377,260379-260383,260388-260390,260397,260401,260403,260407,260410,260415,260429,260440-260441,260444-260447,260449-260450,260457,260459-260460,260463,260466,260469,260481,260483-260486,260488,260490-260491,260493-260494,260496,260505-260506,260508-260509,260521-260526,260531-260532,260534-260536,260540-260542,260547,260549-260550,260553,2 6 0556-260557,260559,260563,260566-260567,260571,260576-260577,260581-260584,260586,260588-260589,260594-260597,260600,260605,260607,260610,260619,260621,260632-260637,260648,260653-260655,260666,260688,260691,260695-260696,260701-260704,260706,260713,260717,260752,260772,260782,260791,260793,260796,260800-260802,260808,260811-260812,260814,260830-260831,260833,260835-260836,260847,260863,260866,260871-260872,260883-260890,260893-260894,260899-260900,260903-260904,260910-260911,260913-260914,260921,260926,260934,260942,260949,260953,260972-260973,260976-260977,260987,260996,260999-261001,261003-261005,261024,261027-261030,261032-261033,261037-261042,261068,261072,261074-261075,261080-261081,261083-261086,261089,261091-261092,261094-261095,261117-261118,261121-261134,261137-261138,261140-261141,261146-261147,261149-261151,261160-261173,261175,261178,261189,261192-261200,261211-261212,261214-261217,261220,261224,261227-261230,261233-261234,261243,261247,261252,261257-261258,261260-261263 , 261267-261271,261279,261283-261284,261290-261291,261294,261296,261299-261302,261304-261305,261309,261315,261318-261322,261330,261336-261340,261342-261343,261345,261351-261355,261357-261358,261393-261398,261400-261401,261403-261424,261432,261435-261440,261442,261444-261447,261449,261453,261459,261479,261487,261491,261493-261497,261499-261501,261503-261507,261511-261518,261520-261522,261524-261531,261533-261538,261541-261544,261546-261547,261549-261553,261558,261562-261568,261570,261572,261577,261582-261586,261589-261593,261595-261599,261601,261603-261604,261606-261611,261613-261618,261620-261621,261627,261638-261643,261646-261651,261655-261657,261663,261668,261676-261677,261680-261690,261698,261701-261702,261708,261710-261715,261719,261722-261725,261742,261747-261768,261773-261774,261778,261780-261781,261783,261785-261786,261789-261791,261795-261797,261799-261801,261803-261805,261808,261811,261814-261819,261823-261827,261832-261838,261841-261848,261855,261858-261859,261861,261863,2618 6 7,261872,261875,261882-261885,261890-261905,261907-261908,261911,261913-261922,261931-261932,261934,261937-261940,261944-261947,261955-261960,261962,261977-261978,261981-261983,261987,261991,261994,262000,262005-262006,262011,262020,262027-262030,262036,262121,262123,262125,262128-262129,262133,262135-262136,262139-262140,262142-262144,262162,262184,262186,262194,262209,262220,262233,262236,262242-262244,262247,262250-262252,262273-262274,262277-262278,262280-262281,262294,262296,262303,262309-262311,262324-262334,262337-262338,262340-262341,262343-262345,262347,262351,262353-262355,262393-262394,262398-262401,262408-262411,262413,262417-262420,262424-262427,262439-262442,262447,262451,262454-262456,262461-262465,262467,262471-262472,262477-262478,262480,262482-262484,262487-262488,262494-262495,262499,262501-262502,262505-262507,262509,262513,262522-262523,262525-262526,262528,262530-262534,262539-262540,262542-262543,262547-262555,262559,262565,262568,262571-262572,262574-262575,26 2 577,262581,262583-262585,262587,262591-262593,262596-262601,262603,262606-262611,262613-262615,262624-262627,262645-262647,262655,262657,262661,262663-262666,262669-262670,262676,262682,262689-262690,262694-262697,262708-262712,262714,262719,262725-262726,262728,262730,262732-262733,262736,262741,262744,262746-262748,262750,262752,262754-262755,262760,262763,262767,262769-262771,262775,262781-262782,262785,262789,262795,262799,262805-262806,262809-262810,262812,262814,262819,262822,262837,262847,262862,262864-262865,262867-262868,262870,262872,262877,262880,262884-262886,262890-262891,262894-262905,262908-262910,262912,262914,262916,262918-262921,262924-262925,262929-262930,262932,262935-262936,262940-262942,262945,262948-262950,262952-262955,262957-262962,262966,262972,262975,262979-262980,262982,262984-262987,262989,262991,262995,262997,262999,263005,263021,263030,263033-263036,263041,263048-263049,263052,263054,263056-263057,263059,263062,263079-263085,263087,263089-263092,263094- 2 63096,263105-263107,263109,263113-263118,263120-263121,263123-263124,263129-263131,263133-263137,263139-263141,263144-263150,263153-263155,263159-263161,263169,263172-263175,263180-263181,263183-263193,263195,263199,263203-263204,263207,263210-263211,263217,263220-263222,263226-263227,263230-263234,263236-263239,263242-263246,263248-263254,263257,263259,263264-263265,263267,263271,263275-263278,263280,263287-263292,263297,263301-263306,263310-263313,263317,263320,263322-263323,263329,263331-263332,263336,263345-263346,263348-263349,263351-263353,263356,263362,263373,263380,263385,263388,263412,263423-263432,263434-263435,263445-263446,263451,263457-263460,263464,263468,263471,263475,263479,263497-263498,263530,263631-263632,263637-263638,263649-263650,263658,263664,263676,263678-263679,263686,263690-263694,263698,263704,263710-263712,263738,263740,263742-263745,263749,263752-263753,263755,263758,263768,263772,263774-263775,263777-263780,263795,263810-263812,263814-263815,263822,26382 6 ,263833,263842,263846-263847,263859,263863,263872-263873,263878-263879,263881,263885,263889-263892,263901,263910,263912-263914,263918-263919,263921-263926,263928,263933-263937,263948-263949,263952,263957,263966,263968-263969,263971,263978-263979,263981-263983,263985-263986,263989-263990,263998,264007-264013,264016-264031,264038-264039,264041,264046,264048-264052,264054-264059,264062,264065,264067-264068,264073,264077-264078,264082-264084,264086-264088,264090-264092,264094-264097,264099-264103,264105,264107,264109-264110,264114-264115,264119-264120,264122,264124-264133,264135,264137-264138,264142,264145-264146,264149-264151,264153,264160-264164,264173-264174,264177,264179-264183,264189-264191,264193-264194,264197,264203-264208,264212-264213,264215,264218-264220,264229-264230,264235,264238,264241-264244,264248,264251,264257-264259,264261-264264,264269,264274-264283,264291,264293-264297,264302,264304,264307-264308,264310-264311,264313-264321,264324,264327,264340-264351,264353-264356,264 3 61-264364,264367,264384-264386,264389,264391-264392,264394,264400,264403-264408,264410,264412-264422,264428,264434-264436,264448,264453,264460-264461,264465,264467-264469,264471,264479-264482,264486,264488-264489,264494,264498-264501,264504,264507,264509,264514-264518,264520,264524-264540,264542,264544-264545,264549-264550,264552,264565,264573,264582,264585,264600-264601,264604-264605,264608-264610,264617,264620-264621,264628,264630-264631,264646,264648,264650-264651,264653,264655-264656,264669,264671-264672,264679,264681-264682,264686,264689,264691,264694,264696-264698,264701-264705,264709,264721,264725,264731,264737-264742,264749,264765-264766,264768-264770,264772,264781,264794-264795,264800-264803,264822,264825-264828,264831-264832,264834-264838,264840-264842,264845-264846,264849-264853,264856-264861,264863-264865,264867,264876-264881,264883-264889,264891-264892,264905,264907-264909,264912,264915-264918,264921-264923,264927,264933-264935,264963-264966,264968,264970,264972,264975,2 6 4977-264979,264981-264985,264988,264990,264992,264994-264995,264999,265002-265004,265012-265017,265020,265023-265025,265028,265035-265036,265038,265042,265046,265054,265057-265059,265062-265063,265072,265085,265090,265092,265094,265096-265102,265107,265111,265114,265148-265150,265152,265154-265157,265159,265162-265165,265170-265171,265191,265193-265194,265197,265201,265203,265206-265208,265211,265214,265218,265229-265230,265232,265236-265242,265244,265248-265256,265260-265264,265267,265269-265270,265275-265276,265285,265287,265289,265308,265310,265318,265320-265321,265323,265329,265331,265333,265336,265358-265360,265362-265366,265371,265376,265385-265386,265391-265392,265395,265397-265398,265402-265403,265407,265411,265418,265424,265427,265440-265442,265444-265447,265454-265456,265458,265462-265465,265467-265468,265473,265477,265484-265485,265534-265535,265539,265546,265555,265578,265583,265585,265590,265593-265595,265599,265601-265603,265605,265607,265624,265629-265631,265680-265681 , 265689-265691,265694,265703,265705,265709,265712-265713,265716,265719,265732,265739,265766,265776-265780,265783-265784,265798,265806,265811,265815,265817,265821-265822,265824-265825,265829,265836,265840,265842-265843,265845,265847,265850,265852-265853,265861-265864,265867,265870-265872,265876,265883,265886-265887,265900,265909,265913-265915,265923,265925-265927,265931,265941-265943,265948,265950-265951,265978,265995,266006-266007,266010-266012,266053,266074,266083,266091-266092,266103-266104,266107-266109,266111,266114,266116,266120-266121,266125,266136,266138-266143,266145,266147,266149-266150,266166,266169,266171,266174,266176-266177,266179-266180,266193,266195,266206,266208-266209,266225,266238,266248,266261,266263,266267,266270,266281,266285,266291,266293,266296-266297,266310,266319-266320,266322-266323,266335-266336,266351,266390,266394,266396,266399,266411,266416-266418,266420,266424,266426,266444-266445,266448,266463-266466,266468,266471-266473,266475-266476,266479,266483-2664 8 4,266490-266491,266494-266495,266497,266505,266509-266514,266520,266524,266527-266529,266533-266535,266538,266540-266542,266550-266556,266565-266566,266571-266573,266587-266588,266595-266597,266605-266606,266609,266615,266618-266621,266626-266627,266630,266633,266639,266641-266642,266647,266650-266651,266664,266671,266674-266675,266708-266709,266721,266724-266725,266728,266731,266735-266736,266738,266744,266746,266757,266760,266765,266771-266772,266774-266775,266777-266778,266780,266782,266792-266793,266798-266800,266803,266808,266813-266814,266820-266822,266826-266828,266833,266835-266836,266838-266839,266841-266842,266846-266848,266851-266852,266856-266857,266859-266863,266866,266878-266880,266895,266901-266903,266907-266908,266910,266915,266922-266924,266930-266931,266933-266935,266937-266938,266942-266944,266950-266951,266959-266960,266969,266971,266981,266990,267004,267007,267009,267011-267012,267021,267029,267035,267038,267041,267044,267051,267060,267062,267066-267067,267078-26 7 079,267082,267089-267090,267097-267099,267101,267105,267109,267118-267120,267123-267124,267126-267127,267129-267133,267141,267145-267146,267148,267153,267160,267162,267169,267172-267174,267176,267178-267179,267181,267183-267185,267191,267194,267196,267210-267213,267216,267221,267223,267226-267228,267232,267239-267240,267248,267252-267256,267260-267261,267264-267265,267276,267278,267290-267292,267294,267298,267300-267301,267306,267310-267311,267313,267319-267321,267324,267326-267327,267329-267331,267335-267338,267342,267351,267355-267360,267362,267366,267368,267372-267374,267376,267378,267385-267387,267390-267392,267395,267400,267423,267426,267429,267436-267439,267441,267451,267464,267473,267478-267479,267481-267483,267485-267486,267490-267493,267496-267500,267506,267511-267516,267519-267524,267537,267544,267547,267551,267554,267558-267559,267564,267572,267574,267577-267578,267582,267591,267597,267599-267601,267603,267606,267608-267618,267622-267627,267629-267630,267632,267634,267636- 2 67641,267643,267647-267648,267651,267661-267664,267669-267674,267680,267682,267688-267689,267692-267693,267703-267706,267712,267719,267745,267756-267757,267759,267761,267766-267768,267785,267800-267801,267811-267812,267814-267815,267833-267834,267838-267839,267851-267852,267854,267858-267859,267865-267867,267869,267871-267873,267875,267877,267883-267884,267886-267887,267897,267905-267906,267909,267912,267915,267918-267921,267929,267933-267934,267937,267939-267942,267949,267952,267955,267959-267961,267963,267965-267968,267970,267973,267978,267981-267982,267984-267987,267992-267993,268000-268003,268005-268006,268008,268012,268014,268017-268018,268022,268024-268025,268045,268049-268050,268059,268066,268071-268072,268074-268075,268078-268080,268082-268090,268095-268097,268103,268114-268116,268123,268125-268126,268128,268130,268134-268138,268156,268158-268160,268169,268172,268175,268178,268182,268185,268187,268193,268196,268202-268205,268209,268211-268212,268215,268224,268227,268230-26823 2 ,268236,268238,268240,268246,268254,268256,268264-268266,268268,268272-268273,268275-268276,268280,268283-268284,268286-268293,268295,268298-268300,268302-268303,268306-268309,268314-268316,268326-268328,268330,268336-268342,268350,268353-268354,268356-268357,268361-268365,268369-268370,268373,268376,268381,268383-268385,268387-268388,268391-268393,268395,268398,268401-268402,268407,268418-268421,268427-268429,268436-268437,268445-268447,268450,268457,268460,268463-268464,268466-268467,268469-268476,268480-268481,268487-268488,268490,268492-268493,268495,268502,268505,268507,268514,268521,268524-268527,268531-268532,268534,268536-268538,268540-268541,268544,268565,268569-268570,268576,268581-268585,268587-268591,268593,268597,268601,268605-268617,268621,268624-268625,268631-268640,268642-268644,268646,268660,268671,268701,268706,268711-268713,268715,268720,268722,268725-268728,268735,268745-268751,268763-268767,268771-268772,268774,268776-268777,268780,268787,268795-268796,268798-268 7 99,268801-268802,268806-268808,268811-268812,268817,268825,268827,268834-268836,268838-268840,268842-268843,268854-268855,268857-268861,268863-268867,268877-268878,268880,268883,268888-268890,268893,268895,268898,268921-268922,268924,268926,268928-268931,268945,268947-268949,268954,268957,268960,268971,268973-268975,268977,268979,268981-268983,268985-268986,268989,268993-268994,268997-268999,269001,269008,269015-269016,269020-269021,269023,269027,269029,269032,269036,269042-269043,269050-269054,269058,269074-269077,269079-269081,269086,269088-269089,269091-269094,269097-269098,269100,269106,269108-269109,269115-269118,269122-269128,269134,269137-269139,269143,269149,269159-269161,269180,269183-269194,269197,269204-269217,269221,269228-269230,269233,269239-269240,269242,269244,269278,269281-269282,269289-269293,269302-269303,269306,269314,269316-269318,269326,269337-269339,269341,269347,269351-269355,269362-269366,269368,269376,269387,269390,269392-269396,269403-269405,269407-269411,2 6 9413-269414,269423-269425,269428,269430-269431,269433,269436-269438,269440-269442,269444-269445,269448,269450,269457,269460,269466,269469-269472,269475,269481,269485,269487-269488,269492,269497,269502,269522,269524-269525,269527-269528,269533-269534,269537,269543,269565-269567,269569,269575-269576,269578,269583,269585,269587,269594,269596-269598,269601,269603-269609,269611,269613,269615,269620,269622,269627,269631,269634,269636,269642-269644,269646,269653,269656,269662,269669,269674,269682,269685,269688,269695,269698,269700-269701,269708-269709,269727-269728,269731,269740,269743-269746,269750,269758-269759,269769-269771,269775-269777,269779-269780,269783,269788,269791,269806,269809-269811,269815,269822,269833,269838-269840,269842,269844,269851-269854,269858-269859,269865,269867,269871,269873,269875,269882,269884,269888,269896,269899,269901-269904,269906-269909,269945,269948,269950,269952-269954,269956,269962-269964,269973-269974,269976-269978,269983-269985,269989,269998,270004-270005 , 270010-270011,270019,270022-270025,270027-270028,270038,270062,270064-270065,270068-270069,270096,270098,270101,270114-270119,270129,270131,270133-270135,270142,270144-270146,270151-270153,270155-270156,270160,270162,270165,270176,270179-270180,270183,270189-270192,270199-270200,270202-270204,270207,270209-270210,270212,270215-270216,270222,270225,270228-270230,270232,270234,270239,270247-270249,270251,270253,270256,270259-270260,270265,270268-270269,270271-270273,270275-270276,270278-270283,270287-270290,270293,270299-270301,270303-270304,270311,270320-270322,270324,270326-270327,270329,270331-270332,270336,270338,270340-270343,270345,270348-270349,270383-270384,270387-270388,270390-270392,270399,270402,270404-270406,270411-270413,270416-270418,270423,270431-270434,270436-270437,270443,270445-270446,270448,270454-270455,270457,270485,270504-270507,270510,270512-270513,270516,270519,270521-270522,270571-270572,270587,270589,270613,270618,270620,270643,270647-270648,270650,270653,2706 5 7,270659-270661,270666-270669,270672-270677,270679,270689,270691,270698,270702,270705-270708,270710,270720-270722,270728,270750,270754,270757,270759,270780-270783,270785-270786,270795,270797-270798,270802-270803,270821-270823,270825-270826,270828-270830,270832-270833,270836,270844-270845,270847,270850,270855,270857-270859,270861,270863,270872,270879,270882,270885,270893,270912,270927-270928,270930-270935,270945,270947-270948,270953-270961,270973,270976,270989,270991-270993,271000,271007-271008,271014,271017-271018,271025-271030,271043,271045-271048,271050,271053-271055,271057,271073,271076-271078,271082-271084,271094,271097-271102,271108,271124,271133,271137,271140-271141,271143,271145-271147,271149,271151,271156-271157,271159,271163,271167-271169,271180,271187,271190,271192,271196-271197,271199,271201-271202,271204,271206-271209,271218-271222,271226-271228,271230,271241,271250,271253,271255-271256,271258-271259,271261,271282-271287,271299,271307-271311,271313,271315-271317,271319-27 1 321,271328,271331,271336,271338,271349-271354,271358,271360,271362,271365-271366,271381-271382,271385,271389,271393-271395,271397-271398,271401,271403,271405,271407-271411,271422,271424,271429,271432-271434,271436-271437,271439,271443,271445-271452,271457-271459,271463-271468,271475,271480,271482-271483,271485,271487,271490-271493,271495-271496,271503,271505-271507,271524,271526-271528,271532,271534-271536,271539,271543,271545-271546,271549-271550,271552-271553,271560,271563,271567,271571,271577-271579,271586,271588-271589,271591,271594-271595,271597,271601,271603-271604,271606-271607,271609-271610,271614,271616-271617,271624,271628,271630,271635,271643-271645,271647-271649,271651,271663-271665,271670,271672-271674,271676-271680,271682,271684,271688-271689,271692,271695-271696,271700,271702,271705,271711,271716-271722,271726-271728,271731,271743,271745,271747,271754,271756,271758-271759,271761-271762,271784,271787,271789,271794,271796-271797,271802,271819,271834,271839,271845,271847, 2 71854,271864,271868-271869,271871-271876,271879,271881-271882,271888-271893,271895,271899-271900,271906-271907,271909-271910,271913,271917-271919,271921,271924,271926-271927,271930-271931,271934,271936,271940-271942,271945-271946,271949,271951,271953-271954,271957-271959,271965,271970-271972,271974-271975,271977-271978,271980,271982,271990,271992,272000,272007,272022-272023,272025,272027-272028,272033,272036-272037,272040,272043-272044,272046,272049,272051-272053,272055-272057,272059,272069-272072,272076,272083-272084,272086-272087,272102-272103,272105-272107,272109,272111,272127,272130,272132,272135,272137-272143,272153,272159,272161,272165,272168,272171,272173-272174,272176,272181-272183,272190,272193,272197-272198,272209,272217,272223-272224,272243,272245,272247-272248,272250,272252-272256,272258-272259,272263,272270,272273-272274,272278,272280-272282,272284,272288-272291,272294,272296,272300,272305,272308,272315,272323-272326,272328-272331,272333-272334,272343,272347-272349,27235 5 -272356,272358,272363,272377-272379,272383-272387,272389,272393-272395,272398-272399,272401-272406,272408-272411,272414,272416,272422,272441,272443-272446,272449,272455,272457-272458,272469-272471,272474-272475,272479-272481,272483-272485,272487,272490-272492,272502-272507,272509-272512,272519,272523,272527-272528,272533-272534,272536-272538,272547-272548,272550-272555,272562,272566-272567,272569,272571,272573-272575,272578-272579,272583-272584,272595,272597-272599,272601-272602,272605-272606,272613,272649-272650,272655,272658-272659,272666,272668,272670-272671,272678-272679,272683,272701,272706,272708,272710,272713,272715,272717-272721,272729-272735,272737-272744,272746-272751,272756-272757,272761-272763,272765,272769-272772,272777-272789,272796-272797,272799-272801,272805-272807,272809-272810,272812,272814-272815,272822,272830,272833,272836,272838-272839,272841-272845,272848,272884-272886,272889-272891,272893,272897,272901-272903,272905-272911,272914-272915,272917,272931-272932,272 9 35-272939,272943,272947,272949-272950,272952,272958,272962-272963,272974,272976,272978-272980,273003-273006,273008,273010-273012,273015,273017-273026,273029,273034,273038,273040,273045-273048,273050-273051,273053,273060-273064,273066-273068,273072-273073,273075,273081,273087-273091,273093,273096,273107-273108,273112,273114,273118,273121,273123-273124,273127,273129-273132,273135,273143-273144,273146,273158-273160,273163-273164,273168,273178,273181,273186,273201,273204,273209-273212,273214,273216,273218-273219,273235-273236,273243,273247-273248,273252,273256-273259,273261,273263-273264,273267,273273,273279-273285,273287-273288,273293,273298,273301,273328-273332,273337-273338,273342,273352-273353,273356,273359-273360,273370-273371,273375-273378,273381-273382,273389-273391,273393,273395-273397,273402,273405,273407,273410,273423,273434,273445,273448,273452,273455,273457,273459,273464-273468,273470,273480,273482,273486,273488-273489,273498,273507,273514-273517,273520-273530,273533-273541,2 7 3543-273544,273546,273548,273551,273561,273566,273569,273572,273574,273577-273579,273583-273585,273587,273590-273593,273598-273599,273602,273606-273607,273610,273613,273615,273619,273627-273628,273634-273635,273640-273641,273644,273647,273653,273666,273683,273687,273690,273693,273701,273703-273704,273706,273708,273710-273711,273718,273727-273728,273730-273731,273733,273737-273740,273744,273747-273750,273752-273754,273756,273760,273762,273766,273768-273774,273778-273780,273782-273788,273791,273793,273796-273797,273799-273800,273803,273809-273810,273813,273816,273820-273822,273834,273837,273848-273857,273861-273863,273866-273867,273871,273873,273876,273896,273902,273904,273911,273913-273914,273917-273918,273920,273922,273925-273929,273932-273938,273942-273943,273945-273952,273955,273962-273967,273969,273973,273985-273986,273988-273989,273991-273992,273995,273999,274011,274016-274017,274020-274023,274031,274033,274036,274038,274040,274045,274049-274055,274057,274060-274063,274065-274068 , 274072-274081,274083-274084,274088,274090-274092,274095,274100,274116-274117,274119-274121,274123-274124,274142-274146,274154,274159,274163-274164,274172,274188-274189,274192-274193,274203,274205-274206,274209,274215,274218,274223,274226-274228,274230,274246,274248-274249,274251,274253-274254,274267,274270,274276-274278,274286,274289,274294,274303,274308-274310,274316,274322,274325,274328,274330,274333,274337,274343,274347,274349,274351,274364-274366,274370,274376-274379,274383,274398,274402,274407,274409-274416,274418,274434-274435,274437-274439,274442,274451-274456,274458,274460-274462,274465-274467,274473-274475,274477-274478,274483-274484,274487,274489-274490,274495-274496,274501-274503,274523,274532,274537-274538,274542,274545,274549,274555-274556,274559,274569,274571-274582,274587,274592-274593,274595-274605,274607,274618-274619,274621,274626,274628-274630,274632-274633,274636,274638-274639,274641-274644,274653,274663,274670-274671,274673-274675,274681,274703,274708-274709,2747 1 1,274720,274722-274724,274727,274737-274738,274741-274742,274744,274750,274756,274766,274784-274786,274789-274792,274795-274797,274804-274806,274816-274822,274839-274841,274843,274845-274847,274851-274854,274856-274859,274878,274884,274898,274900,274918,274922,274924,274926,274931,274933,274936-274937,274940-274941,274954,274960,274962,274964-274965,274967,274976,274988,275003,275009,275011,275020,275032-275033,275035,275045-275046,275058,275060,275071,275098,275101,275109-275110,275112,275118,275120-275121,275123-275124,275140,275162-275163,275170,275199,275205-275209,275256,275260,275264,275298,275321-275322,275328,275330,275335-275337,275347,275358-275359,275365-275366,275368,275374,275376,275378,275380,275386,275390,275392-275394,275399,275401,275403-275405,275412,275415-275416,275418,275420,275435,275437-275438,275446-275447,275452,275455,275458-275459,275461,275473-275478,275481-275483,275503,275510,275512-275513,275515,275518-275524,275530-275531,275539,275552-275554,275557,27 5 560-275564,275567-275568,275574-275576,275579,275581-275584,275588-275589,275593-275595,275599,275605-275606,275612,275614-275620,275622,275624,275633,275636-275639,275645-275646,275651,275653,275656-275660,275665-275666,275680-275683,275686-275687,275692,275698,275709,275721,275727,275729,275733-275740,275743-275748,275752-275753,275755-275756,275759-275760,275765,275768,275772,275779-275782,275790-275791,275800,275805-275806,275808,275811-275812,275816-275817,275819-275821,275829,275833,275838,275842,275846-275847,275850-275852,275857,275864-275871,275874,275897,275903,275905-275908,275918,275920,275922-275923,275925,275930,275941-275944,275946,275949-275954,275958-275963,275965,275967,276003-276004,276007-276009,276012-276013,276016,276019,276021,276026-276027,276029,276037,276045-276047,276049,276052-276053,276063,276065-276066,276069,276071,276079,276087,276095,276098,276101,276106,276123,276127,276141,276145-276146,276148,276161-276162,276165-276166,276168,276174,276176,276187, 2 76190-276194,276196-276198,276200,276202-276204,276206,276212-276213,276215,276218,276221,276226,276228-276229,276238-276240,276247,276249-276250,276282,276296-276299,276303-276304,276306,276309,276313-276314,276318-276323,276333-276336,276340,276344-276347,276350-276351,276359,276377,276383,276392,276394-276397,276400,276402,276404,276407,276412,276417,276419,276426,276428,276430,276432,276439,276444-276446,276450,276462,276469-276470,276472,276480,276483,276485,276489,276491,276495,276498,276508-276509,276511-276512,276517-276519,276521-276523,276525,276532,276534,276539,276550,276564,276570-276571,276574,276577,276589-276590,276596-276599,276605,276607,276611-276612,276626-276627,276630,276632,276636,276638,276642,276644-276645,276654,276666,276669,276671,276681,276695,276699,276702-276704,276714,276717,276723-276724,276728-276729,276749,276751,276758,276763-276766,276771,276774-276775,276795,276798-276799,276801,276803-276806,276808,276814-276815,276820,276822-276823,276825,27682 7 -276828,276831-276835,276839-276840,276842,276844,276846-276848,276861,276863,276867,276879-276880,276883,276891-276893,276898,276901-276902,276904,276906-276907,276913-276914,276948-276949,276952,276959,276962,276981-276983,276985,277023,277025-277028,277030-277034,277037-277038,277042-277044,277046-277051,277053,277055,277057,277082,277084-277085,277088,277096,277098-277102,277126,277128,277130,277132,277135-277136,277143,277147,277149,277151,277158,277168-277172,277175,277177,277179,277185,277199,277202,277206-277208,277211-277212,277215-277219,277225-277227,277229-277230,277233-277237,277239,277245-277247,277258-277259,277262,277265,277270,277272,277274,277278,277291,277295,277301,277305-277307,277309-277310,277318,277321-277322,277328,277333,277337,277340,277346-277352,277354-277355,277357-277360,277365,277372,277380,277385,277390-277391,277396,277416-277419,277424,277433,277440,277452-277454,277458,277460,277463-277467,277469-277481,277485,277487-277488,277512-277516,277523,277 5 27,277529,277531-277533,277536,277541,277555,277568,277579,277594,277606,277608-277610,277626-277627,277637,277642-277644,277646-277647,277649-277650,277652,277655-277656,277659,277663,277666,277674-277678,277685-277687,277693,277695,277706,277709-277710,277712-277714,277717,277725-277728,277730-277736,277738-277741,277743,277758,277764,277788,277792-277796,277799,277802,277806,277811,277814-277815,277826-277829,277834,277836-277839,277841,277853-277855,277862,277868-277869,277877,277883-277895,277898-277899,277901,277903,277907,277914-277915,277917,277920-277922,277925-277927,277936,277938-277939,277944,277948-277949,277951-277953,277957-277959,277962,277969-277970,277972,277974,277988-277989,278000-278001,278004,278010,278016,278031-278032,278034,278037-278038,278040,278047,278053,278061,278070-278071,278074,278098-278099,278101,278103,278105,278111,278114,278118-278119,278135-278137,278145-278148,278151-278154,278159-278161,278166-278167,278172-278173,278182,278192-278193,278202,2 7 8204,278206,278209,278212-278213,278220-278222,278228,278233-278234,278237,278239,278248-278251,278254-278255,278257,278268,278282,278292,278297,278300,278302-278303,278311,278313-278314,278316,278320-278323,278325,278327,278335-278340,278342,278348,278352,278354,278360,278362,278364,278370-278372,278374,278379,278398,278402,278433,278438,278449,278458-278462,278464-278470,278472,278474-278477,278483,278485,278488-278493,278500,278502-278503,278518-278519,278521,278523,278526,278530,278532,278551,278582,278584,278586,278594,278598,278600,278603,278605-278607,278618-278619,278621-278623,278625,278627,278633,278636,278640,278653,278655,278658,278672,278681-278682,278697,278704,278706,278728,278739,278742,278751,278760-278761,278767,278770,278776,278790-278791,278794-278795,278802-278803,278806,278810,278819,278826-278828,278830-278844,278848-278850,278856-278858,278860,278865-278866,278868,278870-278871,278874,278888-278889,278891,278902,278905,278915,278924-278926,278932-278933,278937 - 278942,278963-278964,278970,278976,278983-278984,279016-279017,279033,279037,279046-279048,279050,279076-279078,279080-279081,279083-279084,279089,279092,279094-279098,279114,279117,279121,279123,279125-279128,279139,279141-279147,279172-279183,279186,279197-279198,279205-279206,279209-279210,279215,279219-279220,279223,279225,279227-279233,279235-279236,279239-279246,279248-279251,279253,279256-279257,279261,279266,279268,279270,279275-279278,279281-279284,279297,279301,279307,279310-279312,279314-279318,279320-279321,279324,279326,279330,279336,279338,279346,279351,279359-279362,279364,279366-279368,279375,279385,279390,279393,279395-279396,279398,279400-279401,279410-279411,279413,279421-279440,279444,279489,279491,279493,279531,279534,279536,279538,279540,279543-279544,279551,279554,279559,279563-279564,279567-279568,279570-279571,279573,279584,279587-279591,279593,279597-279600,279624,279642,279651-279652,279654,279657-279658,279673,279675-279676,279683-279684,279691,279695,2796 9 8,279700-279702,279706,279720,279722-279726,279728-279730,279735,279738,279756-279758,279760,279764,279766,279773,279776,279779,279802,279806-279808,279810-279813,279815-279816,279819,279821,279824-279827,279837,279841-279843,279845-279846,279850-279851,279854,279856,279858-279860,279862-279865,279867,279869,279875,279886,279892,279894,279896,279901-279903,279910,279913-279916,279919-279920,279925,279927,279929,279931,279935-279936,279941,279945,279949-279955,279957,279959-279960,279963,279965,279967-279969,279975-279977,279979-279980,279987,279996,280004,280017,280026,280037,280040-280044,280047,280090,280125-280126,280133-280134,280154,280160-280164,280166,280169,280172,280177-280180,280182-280183,280187,280191,280194-280197,280204,280206,280208,280210-280211,280221-280222,280228,280230-280232,280234-280236,280238,280249,280252-280254,280262-280264,280278-280279,280286,280293,280297,280299,280301,280307-280308,280310-280311,280321-280323,280325,280336,280342,280345,280347,280351,28 0 357,280360,280371,280374-280380,280382-280385,280387-280388,280393,280402-280404,280429-280435,280439-280440,280447,280451,280459,280463,280475,280495,280572-280574,280597-280598,280630,280634,280640,280642,280685-280688,280700,280702,280709,280713-280714,280716,280721,280725,280756-280758,280760,280763-280765,280767-280768,280772,280775,280780-280782,280786,280792-280793,280797,280805,280807-280808,280814,280816,280818-280819,280822,280830,280834,280840,280845-280846,280848-280850,280858,280861,280864,280866,280870,280878-280879,280881-280882,280884,280893-280895,280904,280914-280916,280919-280926,280928-280931,280933-280939,280949-280950,280953-280957,280959,280962,280968,280974-280976,280980-280981,280983,280988,280990-280991,280998-280999,281002-281003,281005-281006,281009,281011,281015-281016,281026-281027,281039,281053,281058-281060,281070-281071,281073-281074,281077,281081-281082,281084,281094,281107-281109,281112-281113,281116-281117,281120-281121,281136,281138,281145-281146, 2 81159-281160,281162-281167,281169-281171,281176-281182,281199-281200,281202,281206,281209,281216,281225,281234,281236,281254,281265-281266,281271-281272,281275,281280-281283,281285,281307-281311,281316,281320,281324,281331,281335,281337,281354-281356,281358-281362,281367,281371-281372,281380-281381,281383,281387,281391-281404,281406-281412,281440-281441,281451,281462,281470,281475,281483,281495,281500,281502,281524,281529,281531-281532,281536-281537,281540,281542,281544,281548-281550,281558-281559,281561-281563,281581-281582,281591-281593,281599,281601,281605,281611-281612,281616-281618,281626,281628,281630,281655,281666-281667,281670,281674,281677,281689,281696,281698,281700-281701,281703-281704,281712,281723,281726,281728,281734-281736,281738,281745,281751-281752,281756,281762-281769,281772-281773,281775,281777,281780-281783,281785,281787,281789,281795,281800,281809,281812,281820,281823,281825,281828,281832,281838,281840,281857,281860,281870-281873,281875,281877,281879,281881,28188 3 -281884,281887,281915-281916,281918,281920,281923-281924,281928-281930,281932,281941,281944,281946,281956,281959-281960,281962,281966-281967,281984,281987,282017,282023-282025,282041-282042,282054,282056-282057,282059,282061-282063,282067,282071-282076,282084-282089,282092,282097,282104,282106,282109,282112,282115-282116,282119-282122,282125-282128,282130-282131,282133-282138,282144,282148,282152,282201,282205-282206,282208-282209,282211-282213,282215,282236,282238,282241,282244-282245,282247,282254,282257,282259,282261,282266,282269,282273,282277,282281,282284,282287,282289-282291,282293,282296,282299-282301,282304,282312,282328,282331,282335-282336,282339,282341,282344-282345,282351,282364,282407-282408,282415-282419,282424,282429,282434-282436,282443,282465,282469,282473,282475,282482,282485,282500,282505,282516,282519-282520,282524-282533,282536,282550-282552,282558,282560,282563,282565,282571,282574,282577-282578,282594-282595,282608,282613,282632,282641,282643,282645-282646,282 6 50-282652,282658,282660-282661,282679-282681,282683,282685-282687,282690,282693,282697-282700,282706,282708-282709,282712-282713,282716,282718-282721,282727,282730-282731,282739-282741,282743,282747,282766,282772,282784-282785,282787-282799,282805,282809-282810,282817,282821,282857,282863,282865-282866,282880-282881,282885,282888,282897-282905,282908,282914,282916,282921-282922,282932,282940-282942,282944,282948,282965,282967,282978,282996-282998,283000-283001,283007-283009,283013-283014,283018,283023,283025,283032-283033,283035,283048-283051,283053,283056,283061-283064,283066-283067,283069,283075,283092-283093,283101-283106,283110,283114-283115,283117,283119,283121,283123,283126,283128,283141,283144,283146-283147,283149,283153,283162-283163,283168,283170,283245,283252,283254-283257,283261,283264-283266,283268-283269,283271-283274,283278,283281-283282,283285-283286,283288,283290,283293,283295,283298-283299,283301-283302,283307-283308,283313,283320,283330,283357,283364,283369-283386,2 8 3388-283403,283405-283408,283410-283425,283427-283456,283459-283468,283470-283476,283478-283480,283482-283484,283486-283498,283502,283506,283514-283515,283524-283525,283542,283544,283546-283547,283562,283569,283573-283578,283580,283593,283599-283602,283604,283612-283613,283618,283622,283624,283629-283630,283635,283645,283647-283648,283650,283654,283657-283658,283661-283662,283664-283666,283673-283674,283679-283681,283691-283692,283695,283735,283745,283753,283784-283786,283795,283801,283806,283808-283811,283813-283820,283832,283836,283840-283843,283845,283858,283863-283864,283869-283870,283889,283891,283893-283897,283913,283919-283920,283922-283924,283929,283933,283936,283939,283959,283961-283962,283966,283968,283973,283975,283988,283991-283992,284000,284007,284010-284013,284022-284025,284032,284044,284046,284049,284051,284102,284104-284107,284110-284114,284117-284130,284133,284135,284137,284139-284140,284148-284149,284151,284157,284159,284163,284165-284167,284174-284175,284179-284180 , 284192,284207,284222,284229,284237,284245,284247-284250,284254,284260,284264,284269-284270,284277,284280,284283,284289-284290,284296-284297,284301,284303-284304,284306,284308-284309,284323-284326,284329,284331-284333,284335,284346,284348,284351-284355,284377-284378,284383-284386,284392-284393,284405,284408-284409,284416,284423,284425-284428,284436,284445,284447,284470,284477,284495,284512-284513,284515,284526-284528,284531,284539-284542,284547,284551-284552,284567,284578,284582,284589,284591,284593-284594,284596,284600-284601,284604,284607-284609,284611-284612,284617,284622,284626-284627,284630,284636,284639-284641,284644,284646,284649,284654-284656,284658,284660,284672,284676,284681-284683,284688,284691,284697-284698,284709,284712,284717-284719,284722,284724,284727-284728,284730,284739,284741,284743,284746-284749,284765,284779-284780,284792,284808,284811-284812,284858,284864,284875,284877,284882-284884,284887,284889,284893,284895-284897,284913-284916,284918-284921,284927-284931,2849 3 3,284941-284942,284956,284965,284968-284969,284984,284988,284996,285005-285006,285010-285011,285020-285021,285028-285030,285037,285039,285041-285042,285046,285050-285051,285053,285059,285064,285066-285067,285086,285088-285089,285100,285104,285113,285118,285133-285134,285136-285138,285140-285141,285146-285147,285154-285158,285169-285170,285173,285188,285190,285204,285217-285221,285225-285226,285229-285231,285237,285240,285246,285248,285251-285253,285256,285260-285261,285269,285279,285282,285284,285318,285325,285329,285339-285340,285384,285395-285396,285398,285401,285403,285405-285406,285408-285409,285411-285415,285418,285420,285424,285426-285428,285430,285433-285435,285440-285444,285457,285459,285481-285483,285510,285527-285529,285531,285543,285552-285554,285557,285590-285592,285594,285600,285621,285623,285628,285630,285638-285639,285642-285644,285648,285651,285657-285658,285663-285664,285667,285669,285671-285676,285678-285679,285684,285701,285710,285715,285719-285720,285722,285730,28 5 732-285733,285735,285742,285767-285768,285773,285775-285776,285782-285783,285785,285792,285796,285798,285815-285816,285837-285844,285847,285858-285859,285869-285870,285873,285875,285877-285879,285881-285882,285886-285889,285891,285909,285912-285914,285925,285932,285935,285938,285944-285948,285958,285960,285972-285973,285975,285984-285985,285989,285996-285997,285999,286010,286017,286024,286043,286045-286047,286066,286074,286086,286090,286092,286102,286106-286107,286118,286131,286139-286140,286142,286150-286152,286154-286158,286162-286163,286167,286169,286173,286177,286196-286204,286206,286208,286210-286211,286215,286217-286218,286226,286228,286234,286237-286238,286243,286256,286258-286260,286265,286281,286283,286285,286288-286289,286293,286304,286317,286320,286328,286330-286331,286338,286341,286344-286345,286353,286358,286360-286361,286367-286370,286375,286378,286380-286383,286385,286388-286389,286395,286400,286404-286406,286409,286414,286417-286419,286423,286429,286447-286448,286451, 2 86456,286461-286462,286469,286490-286491,286503-286506,286510,286512-286516,286519,286539,286541,286543,286545,286547,286549,286551,286554,286556,286561-286562,286569-286570,286574-286576,286578-286579,286582,286587,286589,286591,286593,286595-286596,286598,286600-286601,286603,286605,286613,286615,286617,286621-286623,286625-286626,286628,286641,286647,286649,286652,286655,286660,286667,286677,286683,286686,286689,286699-286702,286705,286708,286710,286712,286719-286720,286723,286733,286737,286762-286764,286766-286767,286770,286773-286778,286780-286781,286784-286785,286790,286798-286799,286802,286805-286809,286811,286814,286816,286822,286827,286829-286834,286836-286838,286848-286849,286857,286860,286862,286867-286868,286886-286888,286891-286894,286910,286913-286914,286926,286933,286937-286940,286942-286944,286947,286951,286962-286967,286970-286971,286974-286975,286981-286983,286985-286986,286991,286993,286999,287004-287005,287012,287020-287021,287025,287033-287034,287081,287093-28709 5 ,287097-287100,287103,287107,287112,287119,287121,287123,287125,287143,287148,287151-287153,287155,287178-287179,287182-287183,287208,287216,287220-287221,287234-287238,287247,287264-287265,287280-287284,287289,287292-287294,287299-287300,287309-287310,287317,287319-287321,287324,287327,287330,287335-287337,287340,287345,287349,287354-287355,287357-287358,287360-287361,287366,287368-287369,287372,287374,287376,287378-287386,287389-287390,287395-287397,287400,287402,287404-287406,287413,287420-287422,287429,287432-287433,287436-287437,287440,287442,287444-287445,287448,287453-287459,287465,287468,287473,287475,287479,287483,287485,287489,287493-287494,287497,287499-287500,287520,287522,287528,287534-287535,287537-287538,287541,287563-287564,287567,287574-287576,287579-287581,287590-287592,287595,287599,287607-287611,287613-287621,287633-287635,287649-287654,287664,287669-287671,287673-287675,287683,287685-287698,287701-287707,287711-287712,287714-287715,287717-287721,287724-287726,287 7 28,287744-287745,287747-287748,287754,287756-287758,287760,287764-287768,287770-287772,287774-287775,287778,287783-287785,287799,287803,287806-287807,287816,287818-287819,287821,287823,287825,287827-287828,287830,287833,287842-287843,287855,287860,287864,287866,287868,287870,287875,287880,287886,287912-287913,287917-287918,287920-287921,287927,287930,287933-287935,287937,287940,287944,287951,287955-287957,287964,287967-287968,287978-287983,287986,287988,287991-287994,287997-287998,288000-288001,288006,288020-288021,288025,288031-288033,288043-288044,288057,288059,288061,288064,288067-288068,288070,288075,288081,288083,288091-288092,288099,288104,288110-288111,288116,288120,288138,288143,288146,288148,288153-288154,288158,288160,288165-288166,288170,288175,288179-288180,288198-288201,288204,288208,288211,288213-288217,288220-288221,288224,288229-288230,288233,288238-288239,288246-288249,288258-288262,288264,288266-288267,288271-288273,288276,288278,288281,288295,288298,288303-288305,2 8 8309-288310,288330,288335-288337,288339-288341,288345,288347-288348,288358-288359,288361-288372,288374,288380-288381,288390-288391,288405-288406,288419-288420,288423-288424,288427,288429-288430,288446-288450,288452,288454-288456,288458,288470,288477,288486,288488,288522,288524,288528-288529,288575,288579,288600,288625-288626,288653,288678,288826,288829,288832,288834,288902-288903,288905-288907,288910,288914,288944,288949-288950,288952-288953,288959-288963,288981,288984,288993-288994,288997,289001,289017,289026,289028-289031,289038,289041,289055,289058,289060,289063,289065,289067,289080,289083-289084,289091,289093,289095,289097-289098,289102,289104-289105,289109-289111,289113,289118,289136,289138,289146,289151,289158,289186,289190-289192,289194-289195,289199,289203,289219,289225,289229,289231,289238,289240,289286,289289,289293,289295,289297,289299-289300,289305,289307,289309,289313,289315-289316,289321-289322,289324,289332,289337,289349,289360-289362,289374-289375,289378-289379,289393 , 289407,289419-289422,289425,289430,289441,289445-289446,289450-289453,289469,289477,289480,289487-289488,289496-289497,289499-289500,289527-289528,289531,289536,289560,289562-289563,289570,289577,289592,289600-289602,289604-289605,289618-289620,289622,289626,289634-289637,289643,289656-289658,289660-289661,289664,289669,289676-289677,289681,289687,289693,289702,289704,289719,289726-289727,289736,289739,289743,289746,289755,289764,289768-289769,289783,289790,289793-289794,289797,289812,289817,289819,289822-289824,289837-289838,289842-289843,289852,289855,289863,289866-289867,289870-289875,289877-289879,289881-289882,289886,289888,289890,289895-289897,289899,289901-289903,289913,289916,289930-289931,289933,289937,289939,289942,290003-290004,290006-290008,290018,290023-290024,290028,290042,290047,290054,290073,290083-290084,290104,290110,290116,290118,290121-290122,290138-290140,290143-290144,290147,290153,290159-290161,290163-290164,290169-290170,290173-290174,290177-290182,290184,2901 8 8,290190-290191,290195,290230-290232,290236,290251,290253,290255,290259-290260,290262,290264-290265,290267-290268,290270,290275,290316,290320,290326,290329,290336-290337,290367,290370,290374,290387,290399-290401,290404-290406,290408,290412,290414-290416,290426,290428-290429,290431,290435,290437,290440-290442,290444,290450-290452,290458,290462,290466,290468,290480,290489,290492,290504,290506-290507,290515,290532,290537-290540,290542,290548-290550,290560-290561,290563,290566-290567,290571-290573,290601,290615,290639,290641,290645-290647,290650,290659-290660,290662,290665,290670-290674,290689,290693,290708-290710,290728-290729,290742-290743,290811-290813,290820,290830,290843-290851,290855-290856,290860,290868-290871,290905,290907-290909,290911-290915,290917,290920,290922,290929-290930,290946,290948,290959,290970,290978,290980-290981,290993-290994,291000-291001,291004,291012-291014,291016-291017,291022,291024,291026,291035,291038,291047,291061,291067-291072,291078,291080-291081,291088,29 1 091-291092,291097,291099,291114,291117,291120-291121,291125-291126,291132,291137-291138,291140-291141,291143-291147,291149-291150,291155-291164,291166-291169,291172,291180-291181,291188,291197-291199,291207,291209,291221,291225-291226,291238,291260-291261,291265-291266,291296,291301,291306,291329-291331,291338-291340,291342,291348-291349,291358-291359,291362-291365,291367,291369,291375-291377,291379-291380,291383,291390-291398,291408,291410,291432,291434,291436,291446,291453,291459-291461,291481,291488,291527,291534-291536,291545,291569-291570,291576,291578-291579,291582,291584-291588,291590,291605,291610-291611,291615,291638,291641,291651,291653-291654,291657-291659,291671,291677-291680,291682,291684,291690-291691,291693-291694,291699-291700,291703,291716,291724,291727,291730,291741-291743,291746-291747,291752-291753,291766,291770,291793,291821,291832-291839,291843,291845-291849,291862,291868,291872,291876,291891-291892,291896,291904,291908,291911,291919,291922-291928,291931-291932, 2 91936,291938-291939,291941-291942,291947-291948,291950,291953-291954,291957,291978-291985,292003-292005,292007-292013,292034,292038,292041-292042,292046-292048,292050-292053,292055,292057-292060,292066,292069,292074,292086,292088,292090,292092-292093,292106,292121-292123,292128-292130,292135,292153,292206,292212,292216,292218,292227,292234,292249-292250,292258,292262-292263,292266,292277,292289-292290,292313,292316-292319,292323-292324,292327-292328,292330,292332,292337-292338,292355,292360,292366,292394,292408-292411,292419,292432-292435,292441-292446,292454-292455,292485,292489,292491-292493,292495-292497,292500-292501,292504,292507-292510,292513-292515,292517-292518,292522-292523,292527,292530-292533,292537-292539,292541-292546,292550,292552-292554,292558,292569-292570,292573,292578,292581-292585,292595,292601-292608,292610,292620-292621,292638-292641,292647,292650-292651,292654,292658,292661,292665,292669-292670,292674,292676,292682,292690,292697,292705,292710,292715,292719,29272 5 ,292733-292734,292739,292741,292743,292745,292749,292751-292752,292757,292759,292764-292765,292813-292816,292818-292820,292822,292829,292834-292838,292840,292846-292847,292849,292859,292861,292872,292877-292878,292884,292888,292890-292892,292899,292914,292943,292946-292950,292953,292957,292960-292961,292983,292989,292996,292999-293001,293014-293015,293028-293029,293032-293034,293037,293042-293043,293045-293049,293053,293055,293059,293061,293063-293065,293073,293105,293165,293173,293188,293190,293192,293231,293233-293234,293244-293245,293268-293269,293271,293274,293281,293305,293312,293331-293332,293334,293338,293340,293342-293343,293346,293349-293350,293357,293370,293379,293414,293422-293423,293440,293444,293452,293454,293458-293461,293469,293491,293612-293613,293617,293627,293658-293659,293679,293683,293704-293705,293708,293715,293719-293722,293724,293730-293734,293740,293745,293748-293758,293761-293770,293772-293775,293781,293783,293792,293796,293805-293814,293817-293819,293825,293 8 28,293830-293831,293835,293851,293854-293856,293858,293860,293868-293871,293873-293875,293877,293887-293892,293895,293899-293902,293905,293913,293977,294027,294029,294032,294040-294042,294048,294057-294060,294068,294072-294073,294075-294081,294091-294094,294102-294103,294123,294125-294128,294137,294183,294191,294196,294200-294201,294233-294235,294237,294249-294257,294259,294265,294284,294291,294309-294314,294317-294320,294322,294324-294326,294328,294330,294332-294333,294335-294336,294347,294358,294362,294366-294367,294370-294372,294407,294414,294452,294463-294464,294466-294467,294469,294493-294498,294506,294514-294515,294530,294548-294549,294553-294554,294556-294557,294563,294565,294578,294594-294598,294620-294621,294669,294684,294688,294694-294695,294700,294732,294734-294735,294749,294753,294765-294769,294773,294795,294840,294847,294854,294860-294863,294884,294892-294893,294900,294909,294915,294922,294925-294926,294933,294949,294952-294953,294957,294965,294967-294968,294995,295006,2 9 5017,295021-295022,295026-295027,295029-295030,295032,295051,295069-295070,295072,295074-295075,295077,295093-295094,295133,295139,295159,295174,295202,295209,295234,295273,295276-295277,295320,295323-295324,295356-295357,295408,295417-295419,295455,295465,295467,295495-295497,295532-295533,295535-295536,295549,295562,295574,295608,295616,295636-295637,295649,295651,295665,295668,295670-295672,295675,295708-295710,295717,295737,295771-295773,295800,295805,295810,295823,295830,295844,295861,295901,295906,295914,295923-295925,295928-295929,295944,295966-295967,295969,295995,295998,296001,296009,296025,296028,296071,296392,296419,296428,296610 > > Merged > /user/ngie/more-tests2/sys/cddl/contrib/opensolaris:r288935-288940,288942-289179,289223-289224,289226-289227,289230,289236,289325,289437,289440,289484-289486,290904 > > Merged > /user/ngie/stable-10-fix-LINT-NOINET/sys/cddl/contrib/opensolaris:r293623-293724 > > Merged > /projects/clang-sparc64/sys/cddl/contrib/opensolaris:r262258-262612 > Merged /vendor-sys/illumos/dist:r296609 > Merged > /user/ngie/more-tests/sys/cddl/contrib/opensolaris:r281427-281428,281430,281432,281450,281460,281464-281465,281485,281489-281491,281515,281519,281589,281593-281597,281619,284388,288316,288321-288327,288422,288476,288478-288481,288483,288578,288650-288651,288655-288656,288659-288661,288663,288673-288676,288680,288828,288930-288931 > > Merged /projects/pf/head/sys/cddl/contrib/opensolaris:r263908 > Merged > /projects/release-arm-redux/sys/cddl/contrib/opensolaris:r278203,278595-278597,278610,280643-280650,280652,280655,282539-282546,282548,282553-282557,282564,282566,282570,282573,282587-282593,282596-282607,282615-282616,282624-282629,282631,282633,282635-282640,282642,282647-282648,282653-282654,282656-282657,282659,282662-282667,282682,282691 > > Merged /stable/10/usr.bin/head/sys/cddl/contrib/opensolaris:r265256 > Merged > /user/ngie/stable-10-libnv/sys/cddl/contrib/opensolaris:r292587-292857,293093 > > Merged > /projects/building-blocks/sys/cddl/contrib/opensolaris:r275142-275143,275306-275307,275556,275558,277445,277670,277673 > > Merged > /projects/lldb-r201577/sys/cddl/contrib/opensolaris:r262185-262527 > Merged > /user/ngie/socket-tests/sys/cddl/contrib/opensolaris:r293882-293885,294103,294117,294119-294120 Of all those only /vendor-sys/illumos/dist mergeinfo really useful. The rest is garbage, caused by SVN's design. I am not so much an SVN expert to tell whether those can be cleaned to not grow again. -- Alexander Motin From owner-svn-src-head@freebsd.org Thu Mar 10 10:51:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 27B8CACAA35; Thu, 10 Mar 2016 10:51:13 +0000 (UTC) (envelope-from timon@timon.net.nz) Received: from flare.plasmahost.ru (static.155.109.4.46.clients.your-server.de [46.4.109.155]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6453113; Thu, 10 Mar 2016 10:51:12 +0000 (UTC) (envelope-from timon@timon.net.nz) Received: from [185.6.245.156] (helo=t510.timon.net.nz) by flare.plasmahost.ru with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86_2 (FreeBSD)) (envelope-from ) id 1adxW9-000HeA-NE; Thu, 10 Mar 2016 10:08:33 +0000 Subject: Re: svn commit: r296590 - in head/sys: dev/fdc sys To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603100036.u2A0ad3i028284@repo.freebsd.org> From: Aleksander Matveev Message-ID: <56E14799.7070205@timon.net.nz> Date: Thu, 10 Mar 2016 13:08:25 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603100036.u2A0ad3i028284@repo.freebsd.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:51:13 -0000 On 10/03/2016 03:36, Warner Losh wrote: > Author: imp > Date: Thu Mar 10 00:36:38 2016 > New Revision: 296590 > URL: https://svnweb.freebsd.org/changeset/base/296590 > > Log: > Add raw RX-50 support. These are 400k single sided disks with 80 > tracks and 10 sectors per track. More exotic RX-50 types not > supported, nor is there support for de-interleaving the first two > tracks where the physical sectors are 0 1 2 3 4 5 6 7 8 9, but they > should be interpreted as 0 5 1 6 2 7 3 8 4 9. This is purely to read > the media with dd. The FAT that's on these disks won't work with > msdosfs anyway. > A week ago I sorted some stuff and found my old "Western Digital 93044-a" 43.2 MiB IDE HDD. Unfortunately, I couldn't read it under FreeBSD because HDD doesn't support LBA addressing and FreeBSD doesn't support CHS anymore. At first I thought that this is right to drop support of such old hardware, but after this commit may be I should write a patch that brings back CHS-addressing support :) -- Aleksandr Matveev From owner-svn-src-head@freebsd.org Thu Mar 10 14:17:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7957BACB943; Thu, 10 Mar 2016 14:17:25 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B2FF95A; Thu, 10 Mar 2016 14:17:25 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AEHOeP077063; Thu, 10 Mar 2016 14:17:24 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AEHOu8077062; Thu, 10 Mar 2016 14:17:24 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603101417.u2AEHOu8077062@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 14:17:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296612 - head/sys/dev/cxgb/ulp/tom X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 14:17:25 -0000 Author: np Date: Thu Mar 10 14:17:24 2016 New Revision: 296612 URL: https://svnweb.freebsd.org/changeset/base/296612 Log: cxgb(4): Remove redundant part of an assertion. PR: 207858 Submitted by: David Binderman Modified: head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Modified: head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c ============================================================================== --- head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Thu Mar 10 10:03:28 2016 (r296611) +++ head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Thu Mar 10 14:17:24 2016 (r296612) @@ -286,7 +286,7 @@ release_tid(struct toedev *tod, unsigned struct tid_info *t = &td->tid_maps; #endif - KASSERT(tid >= 0 && tid < t->ntids, + KASSERT(tid < t->ntids, ("%s: tid=%d, ntids=%d", __func__, tid, t->ntids)); m = M_GETHDR_OFLD(qset, CPL_PRIORITY_CONTROL, cpl); From owner-svn-src-head@freebsd.org Thu Mar 10 14:18:15 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0B89ACBA02; Thu, 10 Mar 2016 14:18:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1CBDB04; Thu, 10 Mar 2016 14:18:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AEIESQ077147; Thu, 10 Mar 2016 14:18:14 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AEIEqe077146; Thu, 10 Mar 2016 14:18:14 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101418.u2AEIEqe077146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 14:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296613 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 14:18:16 -0000 Author: mav Date: Thu Mar 10 14:18:14 2016 New Revision: 296613 URL: https://svnweb.freebsd.org/changeset/base/296613 Log: Make ZFS more picky to GEOM stripe sizes and offsets. Use of misaligned or non-power-of-2 stripes is not really useful for ZFS, since increased ashift won't help to avoid read-modify-write cycles, and only reduce pool space efficiency and compression rates. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 14:17:24 2016 (r296612) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 14:18:14 2016 (r296613) @@ -811,7 +811,8 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi */ *logical_ashift = highbit(MAX(pp->sectorsize, SPA_MINBLOCKSIZE)) - 1; *physical_ashift = 0; - if (pp->stripesize) + if (pp->stripesize > (1 << *logical_ashift) && ISP2(pp->stripesize) && + pp->stripeoffset == 0) *physical_ashift = highbit(pp->stripesize) - 1; /* From owner-svn-src-head@freebsd.org Thu Mar 10 15:51:45 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84934ACAAD4; Thu, 10 Mar 2016 15:51:45 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2327C238; Thu, 10 Mar 2016 15:51:45 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AFpigL006454; Thu, 10 Mar 2016 15:51:44 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AFph5h006441; Thu, 10 Mar 2016 15:51:43 GMT (envelope-from br@FreeBSD.org) Message-Id: <201603101551.u2AFph5h006441@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Thu, 10 Mar 2016 15:51:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296614 - in head/sys: conf riscv/conf riscv/htif riscv/include riscv/riscv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 15:51:45 -0000 Author: br Date: Thu Mar 10 15:51:43 2016 New Revision: 296614 URL: https://svnweb.freebsd.org/changeset/base/296614 Log: Add support for ddb(4). Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Added: head/sys/riscv/include/riscv_opcode.h (contents, props changed) head/sys/riscv/include/stack.h (contents, props changed) head/sys/riscv/riscv/db_disasm.c (contents, props changed) head/sys/riscv/riscv/db_interface.c (contents, props changed) head/sys/riscv/riscv/db_trace.c (contents, props changed) head/sys/riscv/riscv/unwind.c (contents, props changed) Modified: head/sys/conf/Makefile.riscv head/sys/conf/files.riscv head/sys/riscv/conf/GENERIC head/sys/riscv/htif/htif_console.c head/sys/riscv/include/db_machdep.h head/sys/riscv/include/riscvreg.h head/sys/riscv/riscv/stack_machdep.c head/sys/riscv/riscv/trap.c Modified: head/sys/conf/Makefile.riscv ============================================================================== --- head/sys/conf/Makefile.riscv Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/conf/Makefile.riscv Thu Mar 10 15:51:43 2016 (r296614) @@ -29,7 +29,7 @@ S= ../../.. INCLUDES+= -I$S/contrib/libfdt .if !empty(DDB_ENABLED) -CFLAGS += -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer +CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls .endif %BEFORE_DEPEND Modified: head/sys/conf/files.riscv ============================================================================== --- head/sys/conf/files.riscv Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/conf/files.riscv Thu Mar 10 15:51:43 2016 (r296614) @@ -23,6 +23,9 @@ riscv/riscv/clock.c standard riscv/riscv/copyinout.S standard riscv/riscv/copystr.c standard riscv/riscv/cpufunc_asm.S standard +riscv/riscv/db_disasm.c optional ddb +riscv/riscv/db_interface.c optional ddb +riscv/riscv/db_trace.c optional ddb riscv/riscv/devmap.c standard riscv/riscv/dump_machdep.c standard riscv/riscv/elf_machdep.c standard @@ -44,4 +47,5 @@ riscv/riscv/trap.c standard riscv/riscv/timer.c standard riscv/riscv/uio_machdep.c standard riscv/riscv/uma_machdep.c standard +riscv/riscv/unwind.c optional ddb | kdtrace_hooks | stack riscv/riscv/vm_machdep.c standard Modified: head/sys/riscv/conf/GENERIC ============================================================================== --- head/sys/riscv/conf/GENERIC Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/conf/GENERIC Thu Mar 10 15:51:43 2016 (r296614) @@ -79,10 +79,10 @@ options SMP # options ROOTDEVNAME=\"ufs:/dev/md0\" # Debugging support. Always need this: -# options KDB # Enable kernel debugger support. -# options KDB_TRACE # Print a stack trace for a panic. +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. # For full debugger support use (turn off in stable branch): -# options DDB # Support DDB. +options DDB # Support DDB. # options GDB # Support remote GDB. options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking Modified: head/sys/riscv/htif/htif_console.c ============================================================================== --- head/sys/riscv/htif/htif_console.c Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/htif/htif_console.c Thu Mar 10 15:51:43 2016 (r296614) @@ -267,10 +267,37 @@ riscv_cnungrab(struct consdev *cp) static int riscv_cngetc(struct consdev *cp) { +#if defined(KDB) + uint64_t devcmd; + uint64_t entry; + uint64_t devid; +#endif uint8_t data; int ch; - ch = htif_getc(); + htif_getc(); + +#if defined(KDB) + if (kdb_active) { + entry = machine_command(ECALL_HTIF_GET_ENTRY, 0); + while (entry) { + devid = HTIF_DEV_ID(entry); + devcmd = HTIF_DEV_CMD(entry); + data = HTIF_DEV_DATA(entry); + + if (devid == CONSOLE_DEFAULT_ID && devcmd == 0) { + entry_last->data = data; + entry_last->used = 1; + entry_last = entry_last->next; + } else { + printf("Lost interrupt: devid %d\n", + devid); + } + + entry = machine_command(ECALL_HTIF_GET_ENTRY, 0); + } + } +#endif if (entry_served->used == 1) { data = entry_served->data; Modified: head/sys/riscv/include/db_machdep.h ============================================================================== --- head/sys/riscv/include/db_machdep.h Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/include/db_machdep.h Thu Mar 10 15:51:43 2016 (r296614) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Ruslan Bukin + * Copyright (c) 2015-2016 Ruslan Bukin * All rights reserved. * * Portions of this software were developed by SRI International and the @@ -41,7 +41,51 @@ #include #include +#define T_BREAKPOINT (EXCP_INSTR_BREAKPOINT) +#define T_WATCHPOINT (0) + typedef vm_offset_t db_addr_t; typedef long db_expr_t; +#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_sepc) + +#define BKPT_INST (0x00100073) +#define BKPT_SIZE (INSN_SIZE) +#define BKPT_SET(inst) (BKPT_INST) + +#define BKPT_SKIP do { \ + kdb_frame->tf_sepc += BKPT_SIZE; \ +} while (0) + +#define db_clear_single_step kdb_cpu_clear_singlestep +#define db_set_single_step kdb_cpu_set_singlestep + +#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT) +#define IS_WATCHPOINT_TRAP(type, code) (type == T_WATCHPOINT) + +#define inst_trap_return(ins) (ins == 0x10000073) /* eret */ +#define inst_return(ins) (ins == 0x00008067) /* ret */ +#define inst_call(ins) (((ins) & 0x7f) == 111 || \ + ((ins) & 0x7f) == 103) /* jal, jalr */ + +#define inst_load(ins) ({ \ + uint32_t tmp_instr = db_get_value(PC_REGS(), sizeof(uint32_t), FALSE); \ + is_load_instr(tmp_instr); \ +}) + +#define inst_store(ins) ({ \ + uint32_t tmp_instr = db_get_value(PC_REGS(), sizeof(uint32_t), FALSE); \ + is_store_instr(tmp_instr); \ +}) + +#define is_load_instr(ins) (((ins) & 0x7f) == 3) +#define is_store_instr(ins) (((ins) & 0x7f) == 35) + +#define next_instr_address(pc, bd) ((bd) ? (pc) : ((pc) + 4)) + +#define DB_SMALL_VALUE_MAX (0x7fffffff) +#define DB_SMALL_VALUE_MIN (-0x40001) + +#define DB_ELFSIZE 64 + #endif /* !_MACHINE_DB_MACHDEP_H_ */ Added: head/sys/riscv/include/riscv_opcode.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/include/riscv_opcode.h Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,116 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_RISCV_OPCODE_H_ +#define _MACHINE_RISCV_OPCODE_H_ + +/* + * Define the instruction formats and opcode values for the + * RISC-V instruction set. + */ +#include + +/* + * Define the instruction formats. + */ +typedef union { + unsigned word; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned funct7: 7; + } RType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 6; + unsigned funct7: 6; + } R2Type; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned imm: 12; + } IType; + + struct { + unsigned opcode: 7; + unsigned imm0_4: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned imm5_11: 7; + } SType; + + struct { + unsigned opcode: 7; + unsigned imm11: 1; + unsigned imm1_4: 4; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned imm5_10: 6; + unsigned imm12: 1; + } SBType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned imm12_31: 20; + } UType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned imm12_19: 8; + unsigned imm11: 1; + unsigned imm1_10: 10; + unsigned imm20: 1; + } UJType; +} InstFmt; + +#define RISCV_OPCODE(r) (r & 0x7f) + +#endif /* !_MACHINE_RISCV_OPCODE_H_ */ Modified: head/sys/riscv/include/riscvreg.h ============================================================================== --- head/sys/riscv/include/riscvreg.h Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/include/riscvreg.h Thu Mar 10 15:51:43 2016 (r296614) @@ -117,9 +117,10 @@ #define SIP_SSIP (1 << 1) #define SIP_STIP (1 << 5) -#define NCSRS 4096 -#define CSR_IPI 0x783 -#define XLEN 8 +#define NCSRS 4096 +#define CSR_IPI 0x783 +#define XLEN 8 +#define INSN_SIZE 4 #define CSR_ZIMM(val) \ (__builtin_constant_p(val) && ((u_long)(val) < 32)) Added: head/sys/riscv/include/stack.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/include/stack.h Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_STACK_H_ +#define _MACHINE_STACK_H_ + +#define INKERNEL(va) ((va) >= VM_MIN_KERNEL_ADDRESS && \ + (va) <= VM_MAX_KERNEL_ADDRESS) + +struct unwind_state { + uint64_t fp; + uint64_t sp; + uint64_t pc; +}; + +int unwind_frame(struct unwind_state *); + +#endif /* !_MACHINE_STACK_H_ */ Added: head/sys/riscv/riscv/db_disasm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_disasm.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,475 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include + +struct riscv_op { + char *name; + char *type; + char *fmt; + int opcode; + int funct3; + int funct7; /* Or imm, depending on type. */ +}; + +/* + * Keep sorted by opcode, funct3, funct7 so some instructions + * aliases will be supported (e.g. "mv" instruction alias) + * Use same print format as binutils do. + */ +static struct riscv_op riscv_opcodes[] = { + { "lb", "I", "d,o(s)", 3, 0, -1 }, + { "lh", "I", "d,o(s)", 3, 1, -1 }, + { "lw", "I", "d,o(s)", 3, 2, -1 }, + { "ld", "I", "d,o(s)", 3, 3, -1 }, + { "lbu", "I", "d,o(s)", 3, 4, -1 }, + { "lhu", "I", "d,o(s)", 3, 5, -1 }, + { "lwu", "I", "d,o(s)", 3, 6, -1 }, + { "ldu", "I", "d,o(s)", 3, 7, -1 }, + { "fence", "I", "", 15, 0, -1 }, + { "fence.i", "I", "", 15, 1, -1 }, + { "mv", "I", "d,s", 19, 0, 0 }, + { "addi", "I", "d,s,j", 19, 0, -1 }, + { "slli", "R2", "d,s,>", 19, 1, 0 }, + { "slti", "I", "d,s,j", 19, 2, -1 }, + { "sltiu", "I", "d,s,j", 19, 3, -1 }, + { "xori", "I", "d,s,j", 19, 4, -1 }, + { "srli", "R2", "d,s,>", 19, 5, 0 }, + { "srai", "R2", "d,s,>", 19, 5, 0b010000 }, + { "ori", "I", "d,s,j", 19, 6, -1 }, + { "andi", "I", "d,s,j", 19, 7, -1 }, + { "auipc", "U", "d,u", 23, -1, -1 }, + { "sext.w", "I", "d,s", 27, 0, 0 }, + { "addiw", "I", "d,s,j", 27, 0, -1 }, + { "slliw", "R", "d,s,<", 27, 1, 0 }, + { "srliw", "R", "d,s,<", 27, 5, 0 }, + { "sraiw", "R", "d,s,<", 27, 5, 0b0100000 }, + { "sb", "S", "t,q(s)", 35, 0, -1 }, + { "sh", "S", "t,q(s)", 35, 1, -1 }, + { "sw", "S", "t,q(s)", 35, 2, -1 }, + { "sd", "S", "t,q(s)", 35, 3, -1 }, + { "sbu", "S", "t,q(s)", 35, 4, -1 }, + { "shu", "S", "t,q(s)", 35, 5, -1 }, + { "swu", "S", "t,q(s)", 35, 6, -1 }, + { "sdu", "S", "t,q(s)", 35, 7, -1 }, + { "lr.w", "R", "d,t,0(s)", 47, 2, 0b0001000 }, + { "sc.w", "R", "d,t,0(s)", 47, 2, 0b0001100 }, + { "amoswap.w", "R", "d,t,0(s)", 47, 2, 0b0000100 }, + { "amoadd.w", "R", "d,t,0(s)", 47, 2, 0b0000000 }, + { "amoxor.w", "R", "d,t,0(s)", 47, 2, 0b0010000 }, + { "amoand.w", "R", "d,t,0(s)", 47, 2, 0b0110000 }, + { "amoor.w", "R", "d,t,0(s)", 47, 2, 0b0100000 }, + { "amomin.w", "R", "d,t,0(s)", 47, 2, 0b1000000 }, + { "amomax.w", "R", "d,t,0(s)", 47, 2, 0b1010000 }, + { "amominu.w", "R", "d,t,0(s)", 47, 2, 0b1100000 }, + { "amomaxu.w", "R", "d,t,0(s)", 47, 2, 0b1110000 }, + { "lr.w.aq", "R", "d,t,0(s)", 47, 2, 0b0001000 }, + { "sc.w.aq", "R", "d,t,0(s)", 47, 2, 0b0001100 }, + { "amoswap.w.aq","R", "d,t,0(s)", 47, 2, 0b0000110 }, + { "amoadd.w.aq","R", "d,t,0(s)", 47, 2, 0b0000010 }, + { "amoxor.w.aq","R", "d,t,0(s)", 47, 2, 0b0010010 }, + { "amoand.w.aq","R", "d,t,0(s)", 47, 2, 0b0110010 }, + { "amoor.w.aq", "R", "d,t,0(s)", 47, 2, 0b0100010 }, + { "amomin.w.aq","R", "d,t,0(s)", 47, 2, 0b1000010 }, + { "amomax.w.aq","R", "d,t,0(s)", 47, 2, 0b1010010 }, + { "amominu.w.aq","R", "d,t,0(s)", 47, 2, 0b1100010 }, + { "amomaxu.w.aq","R", "d,t,0(s)", 47, 2, 0b1110010 }, + { "amoswap.w.rl","R", "d,t,0(s)", 47, 2, 0b0000110 }, + { "amoadd.w.rl","R", "d,t,0(s)", 47, 2, 0b0000001 }, + { "amoxor.w.rl","R", "d,t,0(s)", 47, 2, 0b0010001 }, + { "amoand.w.rl","R", "d,t,0(s)", 47, 2, 0b0110001 }, + { "amoor.w.rl", "R", "d,t,0(s)", 47, 2, 0b0100001 }, + { "amomin.w.rl","R", "d,t,0(s)", 47, 2, 0b1000001 }, + { "amomax.w.rl","R", "d,t,0(s)", 47, 2, 0b1010001 }, + { "amominu.w.rl","R", "d,t,0(s)", 47, 2, 0b1100001 }, + { "amomaxu.w.rl","R", "d,t,0(s)", 47, 2, 0b1110001 }, + { "amoswap.d", "R", "d,t,0(s)", 47, 3, 0b0000100 }, + { "amoadd.d", "R", "d,t,0(s)", 47, 3, 0b0000000 }, + { "amoxor.d", "R", "d,t,0(s)", 47, 3, 0b0010000 }, + { "amoand.d", "R", "d,t,0(s)", 47, 3, 0b0110000 }, + { "amoor.d", "R", "d,t,0(s)", 47, 3, 0b0100000 }, + { "amomin.d", "R", "d,t,0(s)", 47, 3, 0b1000000 }, + { "amomax.d", "R", "d,t,0(s)", 47, 3, 0b1010000 }, + { "amominu.d", "R", "d,t,0(s)", 47, 3, 0b1100000 }, + { "amomaxu.d", "R", "d,t,0(s)", 47, 3, 0b1110000 }, + { "lr.d.aq", "R", "d,t,0(s)", 47, 3, 0b0001000 }, + { "sc.d.aq", "R", "d,t,0(s)", 47, 3, 0b0001100 }, + { "amoswap.d.aq","R", "d,t,0(s)", 47, 3, 0b0000110 }, + { "amoadd.d.aq","R", "d,t,0(s)", 47, 3, 0b0000010 }, + { "amoxor.d.aq","R", "d,t,0(s)", 47, 3, 0b0010010 }, + { "amoand.d.aq","R", "d,t,0(s)", 47, 3, 0b0110010 }, + { "amoor.d.aq", "R", "d,t,0(s)", 47, 3, 0b0100010 }, + { "amomin.d.aq","R", "d,t,0(s)", 47, 3, 0b1000010 }, + { "amomax.d.aq","R", "d,t,0(s)", 47, 3, 0b1010010 }, + { "amominu.d.aq","R", "d,t,0(s)", 47, 3, 0b1100010 }, + { "amomaxu.d.aq","R", "d,t,0(s)", 47, 3, 0b1110010 }, + { "amoswap.d.rl","R", "d,t,0(s)", 47, 3, 0b0000110 }, + { "amoadd.d.rl","R", "d,t,0(s)", 47, 3, 0b0000001 }, + { "amoxor.d.rl","R", "d,t,0(s)", 47, 3, 0b0010001 }, + { "amoand.d.rl","R", "d,t,0(s)", 47, 3, 0b0110001 }, + { "amoor.d.rl", "R", "d,t,0(s)", 47, 3, 0b0100001 }, + { "amomin.d.rl","R", "d,t,0(s)", 47, 3, 0b1000001 }, + { "amomax.d.rl","R", "d,t,0(s)", 47, 3, 0b1010001 }, + { "amominu.d.rl","R", "d,t,0(s)", 47, 3, 0b1100001 }, + { "amomaxu.d.rl","R", "d,t,0(s)", 47, 3, 0b1110001 }, + { "add", "R", "d,s,t", 51, 0, 0 }, + { "sub", "R", "d,s,t", 51, 0, 0b0100000 }, + { "mul", "R", "d,s,t", 51, 0, 0b0000001 }, + { "sll", "R", "d,s,t", 51, 1, 0 }, + { "slt", "R", "d,s,t", 51, 2, 0 }, + { "sltu", "R", "d,s,t", 51, 3, 0 }, + { "xor", "R", "d,s,t", 51, 4, 0 }, + { "srl", "R", "d,s,t", 51, 5, 0 }, + { "sra", "R", "d,s,t", 51, 5, 0b0100000 }, + { "or", "R", "d,s,t", 51, 6, 0 }, + { "and", "R", "d,s,t", 51, 7, 0 }, + { "lui", "U", "d,u", 55, -1, -1 }, + { "addw", "R", "d,s,t", 59, 0, 0 }, + { "subw", "R", "d,s,t", 59, 0, 0b0100000 }, + { "mulw", "R", "d,s,t", 59, 0, 1 }, + { "sllw", "R", "d,s,t", 59, 1, 0 }, + { "srlw", "R", "d,s,t", 59, 5, 0 }, + { "sraw", "R", "d,s,t", 59, 5, 0b0100000 }, + { "beq", "SB", "s,t,p", 99, 0, -1 }, + { "bne", "SB", "s,t,p", 99, 1, -1 }, + { "blt", "SB", "s,t,p", 99, 4, -1 }, + { "bge", "SB", "s,t,p", 99, 5, -1 }, + { "bltu", "SB", "s,t,p", 99, 6, -1 }, + { "bgeu", "SB", "s,t,p", 99, 7, -1 }, + { "jalr", "I", "d,s,j", 103, 0, -1 }, + { "jal", "UJ", "a", 111, -1, -1 }, + { "eret", "I", "", 115, 0, 0b000100000000 }, + { "sfence.vm", "I", "", 115, 0, 0b000100000001 }, + { "wfi", "I", "", 115, 0, 0b000100000010 }, + { "csrrw", "I", "d,E,s", 115, 1, -1}, + { "csrrs", "I", "d,E,s", 115, 2, -1}, + { "csrrc", "I", "d,E,s", 115, 3, -1}, + { "csrrwi", "I", "d,E,Z", 115, 5, -1}, + { "csrrsi", "I", "d,E,Z", 115, 6, -1}, + { "csrrci", "I", "d,E,Z", 115, 7, -1}, + { NULL, NULL, NULL, 0, 0, 0 } +}; + +struct csr_op { + char *name; + int imm; +}; + +static struct csr_op csr_name[] = { + { "fflags", 0x001 }, + { "frm", 0x002 }, + { "fcsr", 0x003 }, + { "cycle", 0xc00 }, + { "time", 0xc01 }, + { "instret", 0xc02 }, + { "stats", 0x0c0 }, + { "uarch0", 0xcc0 }, + { "uarch1", 0xcc1 }, + { "uarch2", 0xcc2 }, + { "uarch3", 0xcc3 }, + { "uarch4", 0xcc4 }, + { "uarch5", 0xcc5 }, + { "uarch6", 0xcc6 }, + { "uarch7", 0xcc7 }, + { "uarch8", 0xcc8 }, + { "uarch9", 0xcc9 }, + { "uarch10", 0xcca }, + { "uarch11", 0xccb }, + { "uarch12", 0xccc }, + { "uarch13", 0xccd }, + { "uarch14", 0xcce }, + { "uarch15", 0xccf }, + { "sstatus", 0x100 }, + { "stvec", 0x101 }, + { "sie", 0x104 }, + { "sscratch", 0x140 }, + { "sepc", 0x141 }, + { "sip", 0x144 }, + { "sptbr", 0x180 }, + { "sasid", 0x181 }, + { "cyclew", 0x900 }, + { "timew", 0x901 }, + { "instretw", 0x902 }, + { "stime", 0xd01 }, + { "scause", 0xd42 }, + { "sbadaddr", 0xd43 }, + { "stimew", 0xa01 }, + { "mstatus", 0x300 }, + { "mtvec", 0x301 }, + { "mtdeleg", 0x302 }, + { "mie", 0x304 }, + { "mtimecmp", 0x321 }, + { "mscratch", 0x340 }, + { "mepc", 0x341 }, + { "mcause", 0x342 }, + { "mbadaddr", 0x343 }, + { "mip", 0x344 }, + { "mtime", 0x701 }, + { "mcpuid", 0xf00 }, + { "mimpid", 0xf01 }, + { "mhartid", 0xf10 }, + { "mtohost", 0x780 }, + { "mfromhost", 0x781 }, + { "mreset", 0x782 }, + { "send_ipi", 0x783 }, + { "miobase", 0x784 }, + { "cycleh", 0xc80 }, + { "timeh", 0xc81 }, + { "instreth", 0xc82 }, + { "cyclehw", 0x980 }, + { "timehw", 0x981 }, + { "instrethw", 0x982 }, + { "stimeh", 0xd81 }, + { "stimehw", 0xa81 }, + { "mtimecmph", 0x361 }, + { "mtimeh", 0x741 }, + { NULL, 0 } +}; + +static char *reg_name[32] = { + "zero", "ra", "sp", "gp", "tp", "t0", "t1", "t2", + "s0", "s1", "a0", "a1", "a2", "a3", "a4", "a5", + "a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7", + "s8", "s9", "s10", "s11", "t3", "t4", "t5", "t6" +}; + +static int32_t +get_imm(InstFmt i, char *type, uint32_t *val) +{ + int imm; + + imm = 0; + + if (strcmp(type, "I") == 0) { + imm = i.IType.imm; + *val = imm; + if (imm & (1 << 11)) + imm |= (0xfffff << 12); /* sign extend */ + + } else if (strcmp(type, "S") == 0) { + imm = i.SType.imm0_4; + imm |= (i.SType.imm5_11 << 5); + *val = imm; + if (imm & (1 << 11)) + imm |= (0xfffff << 12); /* sign extend */ + + } else if (strcmp(type, "U") == 0) { + imm = i.UType.imm12_31; + *val = imm; + + } else if (strcmp(type, "UJ") == 0) { + imm = i.UJType.imm12_19 << 12; + imm |= i.UJType.imm11 << 11; + imm |= i.UJType.imm1_10 << 1; + imm |= i.UJType.imm20 << 20; + *val = imm; + if (imm & (1 << 20)) + imm |= (0xfff << 21); /* sign extend */ + + } else if (strcmp(type, "SB") == 0) { + imm = i.SBType.imm11 << 11; + imm |= i.SBType.imm1_4 << 1; + imm |= i.SBType.imm5_10 << 5; + imm |= i.SBType.imm12 << 12; + *val = imm; + if (imm & (1 << 12)) + imm |= (0xfffff << 12); /* sign extend */ + } + + return (imm); +} + +static int +oprint(struct riscv_op *op, vm_offset_t loc, int rd, + int rs1, int rs2, uint32_t val, vm_offset_t imm) +{ + char *p; + int i; + + p = op->fmt; + + db_printf("%s\t", op->name); + + while (*p) { + if (strncmp("d", p, 1) == 0) + db_printf("%s", reg_name[rd]); + + else if (strncmp("s", p, 1) == 0) + db_printf("%s", reg_name[rs1]); + + else if (strncmp("t", p, 1) == 0) + db_printf("%s", reg_name[rs2]); + + else if (strncmp(">", p, 1) == 0) + db_printf("0x%x", rs2); + + else if (strncmp("E", p, 1) == 0) { + for (i = 0; csr_name[i].name != NULL; i++) + if (csr_name[i].imm == val) + db_printf("%s", + csr_name[i].name); + } else if (strncmp("Z", p, 1) == 0) + db_printf("%d", rs1); + + else if (strncmp("<", p, 1) == 0) + db_printf("0x%x", rs2); + + else if (strncmp("j", p, 1) == 0) + db_printf("%d", imm); + + else if (strncmp("u", p, 1) == 0) + db_printf("0x%x", imm); + + else if (strncmp("a", p, 1) == 0) + db_printf("0x%016lx", imm); + + else if (strncmp("p", p, 1) == 0) + db_printf("0x%016lx", (loc + imm)); + + else if (strlen(p) >= 4) { + if (strncmp("o(s)", p, 4) == 0) + db_printf("%d(%s)", imm, reg_name[rs1]); + else if (strncmp("q(s)", p, 4) == 0) + db_printf("%d(%s)", imm, reg_name[rs1]); + else if (strncmp("0(s)", p, 4) == 0) + db_printf("(%s)", reg_name[rs1]); + } + + while (*p && strncmp(p, ",", 1) != 0) + p++; + + if (*p) { + db_printf(", "); + p++; + } + } + + + return (0); +} + +static int +match_type(InstFmt i, struct riscv_op *op, vm_offset_t loc) +{ + uint32_t val; + int found; + int imm; + + val = 0; + imm = get_imm(i, op->type, &val); + + if (strcmp(op->type, "U") == 0) { + oprint(op, loc, i.UType.rd, 0, 0, val, imm); + return (1); + } + if (strcmp(op->type, "UJ") == 0) { + oprint(op, loc, 0, 0, 0, val, (loc + imm)); + return (1); + } + if ((strcmp(op->type, "I") == 0) && \ + (op->funct3 == i.IType.funct3)) { + found = 0; + if (op->funct7 != -1) { + if (op->funct7 == i.IType.imm) + found = 1; + } else + found = 1; + + if (found) { + oprint(op, loc, i.IType.rd, + i.IType.rs1, 0, val, imm); + return (1); + } + } + if ((strcmp(op->type, "S") == 0) && \ + (op->funct3 == i.SType.funct3)) { + oprint(op, loc, 0, i.SType.rs1, i.SType.rs2, + val, imm); + return (1); + } + if ((strcmp(op->type, "SB") == 0) && \ + (op->funct3 == i.SBType.funct3)) { + oprint(op, loc, 0, i.SBType.rs1, i.SBType.rs2, + val, imm); + return (1); + } + if ((strcmp(op->type, "R2") == 0) && \ + (op->funct3 == i.R2Type.funct3) && \ + (op->funct7 == i.R2Type.funct7)) { + oprint(op, loc, i.R2Type.rd, i.R2Type.rs1, + i.R2Type.rs2, val, imm); + return (1); + } + if ((strcmp(op->type, "R") == 0) && \ + (op->funct3 == i.RType.funct3) && \ + (op->funct7 == i.RType.funct7)) { + oprint(op, loc, i.RType.rd, i.RType.rs1, + val, i.RType.rs2, imm); + return (1); + } + + return (0); +} + +vm_offset_t +db_disasm(vm_offset_t loc, bool altfmt) +{ + struct riscv_op *op; + InstFmt i; + int j; + + i.word = db_get_value(loc, INSN_SIZE, 0); + + /* First match opcode */ + for (j = 0; riscv_opcodes[j].name != NULL; j++) { + op = &riscv_opcodes[j]; + if (op->opcode == i.RType.opcode) { + if (match_type(i, op, loc)) + break; + } + } + + db_printf("\n"); + return(loc + INSN_SIZE); +} Added: head/sys/riscv/riscv/db_interface.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_interface.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,163 @@ +/*- + * Copyright (c) 2015 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Semihalf under + * the sponsorship of the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); +#include +#include +#include +#include +#include + +#ifdef KDB +#include +#endif + +#include +#include + +#include +#include +#include +#include + +static int +db_frame(struct db_variable *vp, db_expr_t *valuep, int op) +{ + long *reg; + + if (kdb_frame == NULL) + return (0); + + reg = (long *)((uintptr_t)kdb_frame + (db_expr_t)vp->valuep); + if (op == DB_VAR_GET) + *valuep = *reg; + else + *reg = *valuep; + return (1); +} + +#define DB_OFFSET(x) (db_expr_t *)offsetof(struct trapframe, x) +struct db_variable db_regs[] = { + { "ra", DB_OFFSET(tf_ra), db_frame }, + { "sp", DB_OFFSET(tf_sp), db_frame }, + { "gp", DB_OFFSET(tf_gp), db_frame }, + { "tp", DB_OFFSET(tf_tp), db_frame }, + { "t0", DB_OFFSET(tf_t[0]), db_frame }, + { "t1", DB_OFFSET(tf_t[1]), db_frame }, + { "t2", DB_OFFSET(tf_t[2]), db_frame }, + { "t3", DB_OFFSET(tf_t[3]), db_frame }, + { "t4", DB_OFFSET(tf_t[4]), db_frame }, + { "t5", DB_OFFSET(tf_t[5]), db_frame }, + { "t6", DB_OFFSET(tf_t[6]), db_frame }, + { "s0", DB_OFFSET(tf_s[0]), db_frame }, + { "s1", DB_OFFSET(tf_s[1]), db_frame }, + { "s2", DB_OFFSET(tf_s[2]), db_frame }, + { "s3", DB_OFFSET(tf_s[3]), db_frame }, + { "s4", DB_OFFSET(tf_s[4]), db_frame }, + { "s5", DB_OFFSET(tf_s[5]), db_frame }, + { "s6", DB_OFFSET(tf_s[6]), db_frame }, + { "s7", DB_OFFSET(tf_s[7]), db_frame }, + { "s8", DB_OFFSET(tf_s[8]), db_frame }, + { "s9", DB_OFFSET(tf_s[9]), db_frame }, + { "s10", DB_OFFSET(tf_s[10]), db_frame }, + { "s11", DB_OFFSET(tf_s[11]), db_frame }, + { "a0", DB_OFFSET(tf_a[0]), db_frame }, + { "a1", DB_OFFSET(tf_a[1]), db_frame }, + { "a2", DB_OFFSET(tf_a[2]), db_frame }, + { "a3", DB_OFFSET(tf_a[3]), db_frame }, + { "a4", DB_OFFSET(tf_a[4]), db_frame }, + { "a5", DB_OFFSET(tf_a[5]), db_frame }, + { "a6", DB_OFFSET(tf_a[6]), db_frame }, + { "a7", DB_OFFSET(tf_a[7]), db_frame }, + { "sepc", DB_OFFSET(tf_sepc), db_frame }, + { "sstatus", DB_OFFSET(tf_sstatus), db_frame }, + { "sbadaddr", DB_OFFSET(tf_sbadaddr), db_frame }, + { "scause", DB_OFFSET(tf_scause), db_frame }, +}; + +struct db_variable *db_eregs = db_regs + nitems(db_regs); + +void +db_show_mdpcpu(struct pcpu *pc) +{ +} + +/* + * Read bytes from kernel address space for debugger. + */ +int +db_read_bytes(vm_offset_t addr, size_t size, char *data) +{ + jmp_buf jb; + void *prev_jb; + const char *src; + int ret; + + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + + if (ret == 0) { + src = (const char *)addr; + while (size-- > 0) + *data++ = *src++; + } + (void)kdb_jmpbuf(prev_jb); + + return (ret); +} + +/* + * Write bytes to kernel address space for debugger. + */ +int +db_write_bytes(vm_offset_t addr, size_t size, char *data) +{ + jmp_buf jb; + void *prev_jb; + char *dst; + int ret; + + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + dst = (char *)addr; + while (size-- > 0) + *dst++ = *data++; + + fence(); + + /* Clean D-cache and invalidate I-cache */ + cpu_dcache_wb_range(addr, (vm_size_t)size); + cpu_icache_sync_range(addr, (vm_size_t)size); + } + (void)kdb_jmpbuf(prev_jb); + + return (ret); +} Added: head/sys/riscv/riscv/db_trace.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_trace.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,135 @@ +/*- + * Copyright (c) 2015 The FreeBSD Foundation + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by Semihalf under + * the sponsorship of the FreeBSD Foundation. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Thu Mar 10 16:39:47 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F94EACA2FC; Thu, 10 Mar 2016 16:39:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 308BF1089; Thu, 10 Mar 2016 16:39:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AGdkLO022028; Thu, 10 Mar 2016 16:39:46 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AGdkiv022027; Thu, 10 Mar 2016 16:39:46 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101639.u2AGdkiv022027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 16:39:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296615 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 16:39:47 -0000 Author: mav Date: Thu Mar 10 16:39:46 2016 New Revision: 296615 URL: https://svnweb.freebsd.org/changeset/base/296615 Log: Make ZFS ignore stripe sizes above SPA_MAXASHIFT (8KB). If device has stripe size bigger then maximal sector size supported by ZFS, there is nothing can be done to avoid read-modify-write cycles. Taking that stripe size into account will only reduce space efficiency and pointlessly bother user with warnings that can not be fixed. Discussed with: smh Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 15:51:43 2016 (r296614) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 16:39:46 2016 (r296615) @@ -812,7 +812,7 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi *logical_ashift = highbit(MAX(pp->sectorsize, SPA_MINBLOCKSIZE)) - 1; *physical_ashift = 0; if (pp->stripesize > (1 << *logical_ashift) && ISP2(pp->stripesize) && - pp->stripeoffset == 0) + pp->stripesize <= (1 << SPA_MAXASHIFT) && pp->stripeoffset == 0) *physical_ashift = highbit(pp->stripesize) - 1; /* From owner-svn-src-head@freebsd.org Thu Mar 10 17:13:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9101CACB2F2; Thu, 10 Mar 2016 17:13:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6CA7297F; Thu, 10 Mar 2016 17:13:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AHDBJt034364; Thu, 10 Mar 2016 17:13:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AHDBqD034360; Thu, 10 Mar 2016 17:13:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101713.u2AHDBqD034360@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 17:13:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296617 - in head/sys/dev: nvd nvme X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 17:13:12 -0000 Author: mav Date: Thu Mar 10 17:13:10 2016 New Revision: 296617 URL: https://svnweb.freebsd.org/changeset/base/296617 Log: Revert r292074 (by smh): Limit stripesize reported from nvd(4) to 4K I believe that this patch handled the problem from the wrong side. Instead of making ZFS properly handle large stripe sizes, it made unrelated driver to lie in reported parameters to workaround that. Alternative solution for this problem from ZFS side was committed at r296615. Discussed with: smh Modified: head/sys/dev/nvd/nvd.c head/sys/dev/nvme/nvme.h head/sys/dev/nvme/nvme_ns.c head/sys/dev/nvme/nvme_sysctl.c Modified: head/sys/dev/nvd/nvd.c ============================================================================== --- head/sys/dev/nvd/nvd.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvd/nvd.c Thu Mar 10 17:13:10 2016 (r296617) @@ -311,7 +311,7 @@ nvd_new_disk(struct nvme_namespace *ns, disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns); if (disk->d_delmaxsize > nvd_delete_max) disk->d_delmaxsize = nvd_delete_max; - disk->d_stripesize = nvme_ns_get_optimal_sector_size(ns); + disk->d_stripesize = nvme_ns_get_stripesize(ns); if (TAILQ_EMPTY(&disk_head)) disk->d_unit = 0; Modified: head/sys/dev/nvme/nvme.h ============================================================================== --- head/sys/dev/nvme/nvme.h Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme.h Thu Mar 10 17:13:10 2016 (r296617) @@ -898,7 +898,6 @@ const char * nvme_ns_get_serial_number(s const char * nvme_ns_get_model_number(struct nvme_namespace *ns); const struct nvme_namespace_data * nvme_ns_get_data(struct nvme_namespace *ns); -uint32_t nvme_ns_get_optimal_sector_size(struct nvme_namespace *ns); uint32_t nvme_ns_get_stripesize(struct nvme_namespace *ns); int nvme_ns_bio_process(struct nvme_namespace *ns, struct bio *bp, Modified: head/sys/dev/nvme/nvme_ns.c ============================================================================== --- head/sys/dev/nvme/nvme_ns.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme_ns.c Thu Mar 10 17:13:10 2016 (r296617) @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); #include "nvme_private.h" -extern int nvme_max_optimal_sectorsize; - static void nvme_bio_child_inbed(struct bio *parent, int bio_error); static void nvme_bio_child_done(void *arg, const struct nvme_completion *cpl); @@ -219,22 +217,6 @@ nvme_ns_get_stripesize(struct nvme_names return (ns->stripesize); } -uint32_t -nvme_ns_get_optimal_sector_size(struct nvme_namespace *ns) -{ - uint32_t stripesize; - - stripesize = nvme_ns_get_stripesize(ns); - - if (stripesize == 0) - return nvme_ns_get_sector_size(ns); - - if (nvme_max_optimal_sectorsize == 0) - return (stripesize); - - return (MIN(stripesize, nvme_max_optimal_sectorsize)); -} - static void nvme_ns_bio_done(void *arg, const struct nvme_completion *status) { Modified: head/sys/dev/nvme/nvme_sysctl.c ============================================================================== --- head/sys/dev/nvme/nvme_sysctl.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme_sysctl.c Thu Mar 10 17:13:10 2016 (r296617) @@ -33,22 +33,6 @@ __FBSDID("$FreeBSD$"); #include "nvme_private.h" -SYSCTL_NODE(_kern, OID_AUTO, nvme, CTLFLAG_RD, 0, "NVM Express"); -/* - * Intel NVMe controllers have a slow path for I/Os that span a 128KB - * stripe boundary but ZFS limits ashift, which is derived from - * d_stripesize, to 13 (8KB) so we limit the stripesize reported to - * geom(8) to 4KB by default. - * - * This may result in a small number of additional I/Os to require - * splitting in nvme(4), however the NVMe I/O path is very efficient - * so these additional I/Os will cause very minimal (if any) difference - * in performance or CPU utilisation. - */ -int nvme_max_optimal_sectorsize = 1<<12; -SYSCTL_INT(_kern_nvme, OID_AUTO, max_optimal_sectorsize, CTLFLAG_RWTUN, - &nvme_max_optimal_sectorsize, 0, "The maximum optimal sectorsize reported"); - /* * CTLTYPE_S64 and sysctl_handle_64 were added in r217616. Define these * explicitly here for older kernels that don't include the r217616 From owner-svn-src-head@freebsd.org Thu Mar 10 18:01:24 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3288ACA3A8; Thu, 10 Mar 2016 18:01:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oi0-x22c.google.com (mail-oi0-x22c.google.com [IPv6:2607:f8b0:4003:c06::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 78ED280; Thu, 10 Mar 2016 18:01:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oi0-x22c.google.com with SMTP id c203so67210848oia.2; Thu, 10 Mar 2016 10:01:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=r06xt4xjceEb9+P5GF5WZC+eH8203WYr1nowd6viqjc=; b=z3LFtDnHUazeoFD08dNww5GEBEYJawNUBPkaBJ5eHn3jbgmpkM4oHUwnp5uhQcS7XP elMvCBfkWmXLVuc6uW2Y5d8bWGk2c8p+bxjhydcQi+Po5ztVCC0Mx8DUYf1u0j+Cz4hV jlL9udHA9Jk/Ms67+Ku8yxB4o7bkoxFgIID1f/llqsP0ESKdulMFFOuPg4V5fpVWvFjj 80uaC+C1akXB0tzXk7+pI119HF81663zeHS+xEjNHGc/zTfFyeSzdRoUz/alFtkZxzA6 cN5bUxzV+8ErDk8yP36HBvbSv2StZrL2egUr1FPTHQ/B98SPoGl9wrH9bafslUNmbmLb tlYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=r06xt4xjceEb9+P5GF5WZC+eH8203WYr1nowd6viqjc=; b=l1dhlcOjla+oNPvXY+5SbQERr9Yhx8qaE4En0FsWOXBfk/dhPHgfb8xuf2bQqLneTd kvzD/3G7VO56y8maDnUMzeyyu3RKVX3TZC6p8syu6W4eCbK7SwAzcPmcyqUTN1JQQKhL WHUkp6EHjn9i1ydJ1VTkzV7lL1iIbzRrUlGON49p5WKgIs2/nHaovfomEq+u5WoQzhgC gWTOIu+UxzmBJBivN21p9UqZSDWSuiZ2VkQYSDe/3jC816CFe64B0z85DBugtcK139Ai buFPZHaPhWy52e0P1yYe+cfpWExMn6HbxYuIIuneLudF8p0AojVNs5JfIfKgZqbivceB PtRg== X-Gm-Message-State: AD7BkJJ9n17RYeyrm/qFt6148HusZXPV1PodY8bTmnKLb7O8/eQfPfin86bskmhNYG8BrzCv6tjffKQQY+uqdw== MIME-Version: 1.0 X-Received: by 10.202.202.87 with SMTP id a84mr2919921oig.57.1457632883764; Thu, 10 Mar 2016 10:01:23 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Thu, 10 Mar 2016 10:01:23 -0800 (PST) In-Reply-To: <201512110206.tBB264Ad039486@repo.freebsd.org> References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 11:01:23 -0700 X-Google-Sender-Auth: NWfpbGy-Nwb8clal8s5I1OJFgjg Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Steven Hartland Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 18:01:24 -0000 Are you saying that Intel NVMe controllers perform poorly for all I/Os that are less than 128KB, or just for I/Os of any size that cross a 128KB boundary? On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: > Author: smh > Date: Fri Dec 11 02:06:03 2015 > New Revision: 292074 > URL: https://svnweb.freebsd.org/changeset/base/292074 > > Log: > Limit stripesize reported from nvd(4) to 4K > > Intel NVMe controllers have a slow path for I/Os that span a 128KB > stripe boundary but ZFS limits ashift, which is derived from d_stripesize, > to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os to require > splitting in nvme(4), however the NVMe I/O path is very efficient so these > additional I/Os will cause very minimal (if any) difference in performance > or CPU utilisation. > > This can be controller by the new sysctl > kern.nvme.max_optimal_sectorsize. > > MFC after: 1 week > Sponsored by: Multiplay > Differential Revision: https://reviews.freebsd.org/D4446 > > Modified: > head/sys/dev/nvd/nvd.c > head/sys/dev/nvme/nvme.h > head/sys/dev/nvme/nvme_ns.c > head/sys/dev/nvme/nvme_sysctl.c > > From owner-svn-src-head@freebsd.org Thu Mar 10 18:21:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CA8ECACAEE5; Thu, 10 Mar 2016 18:21:04 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 81E1DB6; Thu, 10 Mar 2016 18:21:04 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AIL3R2053159; Thu, 10 Mar 2016 18:21:03 GMT (envelope-from brueffer@FreeBSD.org) Received: (from brueffer@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AIL3Di053157; Thu, 10 Mar 2016 18:21:03 GMT (envelope-from brueffer@FreeBSD.org) Message-Id: <201603101821.u2AIL3Di053157@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brueffer set sender to brueffer@FreeBSD.org using -f From: Christian Brueffer Date: Thu, 10 Mar 2016 18:21:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296618 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 18:21:04 -0000 Author: brueffer Date: Thu Mar 10 18:21:03 2016 New Revision: 296618 URL: https://svnweb.freebsd.org/changeset/base/296618 Log: Fix mdoc markup. Modified: head/share/man/man9/bus_adjust_resource.9 head/share/man/man9/bus_alloc_resource.9 Modified: head/share/man/man9/bus_adjust_resource.9 ============================================================================== --- head/share/man/man9/bus_adjust_resource.9 Thu Mar 10 17:13:10 2016 (r296617) +++ head/share/man/man9/bus_adjust_resource.9 Thu Mar 10 18:21:03 2016 (r296618) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 29, 2011 +.Dd March 10, 2016 .Dt BUS_ADJUST_RESOURCE 9 .Os .Sh NAME @@ -41,8 +41,7 @@ .In sys/rman.h .In machine/resource.h .Ft int -.Fo bus_adjust_resource -.Fa "device_t dev" "int type" "struct resource *r" "rman_res_t start" "rman_res_t end" +.Fn bus_adjust_resource "device_t dev" "int type" "struct resource *r" "rman_res_t start" "rman_res_t end" .Sh DESCRIPTION This function is used to ask the parent bus to adjust the resource range assigned to an allocated resource. Modified: head/share/man/man9/bus_alloc_resource.9 ============================================================================== --- head/share/man/man9/bus_alloc_resource.9 Thu Mar 10 17:13:10 2016 (r296617) +++ head/share/man/man9/bus_alloc_resource.9 Thu Mar 10 18:21:03 2016 (r296618) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 18, 2000 +.Dd March 10, 2016 .Dt BUS_ALLOC_RESOURCE 9 .Os .Sh NAME @@ -50,10 +50,8 @@ .Fc .Ft struct resource * .Fn bus_alloc_resource_any "device_t dev" "int type" "int *rid" "u_int flags" -.Fc .Ft struct resource * -.Fn bus_alloc_resource_anywhere -.Fa "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags" +.Fn bus_alloc_resource_anywhere "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags" .Sh DESCRIPTION This is an easy interface to the resource-management functions. It hides the indirection through the parent's method table. From owner-svn-src-head@freebsd.org Thu Mar 10 20:15:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 60686ACB631; Thu, 10 Mar 2016 20:15:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 325916F; Thu, 10 Mar 2016 20:15:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKFRrK091632; Thu, 10 Mar 2016 20:15:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKFRUb091631; Thu, 10 Mar 2016 20:15:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603102015.u2AKFRUb091631@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 10 Mar 2016 20:15:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296623 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:15:28 -0000 Author: bdrewery Date: Thu Mar 10 20:15:27 2016 New Revision: 296623 URL: https://svnweb.freebsd.org/changeset/base/296623 Log: Remove redundant files already tracked by tools/build/mk/OptionalObsoleteFiles.inc. These files are installed, likely after r288230. In tools/build/mk/OptionalObsoleteFiles.inc they are bound to the MK_BINUTILS option rather than unconditionally deleted here. Reported by: Kurt Lidl MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Mar 10 20:12:22 2016 (r296622) +++ head/ObsoleteFiles.inc Thu Mar 10 20:15:27 2016 (r296623) @@ -7843,22 +7843,6 @@ OLD_FILES+=usr/share/bsnmp/mibs/FOKUS-MI OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-MIB.txt OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-SNMPD.txt OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-NETGRAPH.txt -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.x -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xbn -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xn -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xr -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xs -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xu -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xc -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xsc -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.x -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xbn -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xn -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xr -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xs -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xu -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xc -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xsc OLD_FILES+=usr/libdata/msdosfs/iso22dos OLD_FILES+=usr/libdata/msdosfs/iso72dos OLD_FILES+=usr/libdata/msdosfs/koi2dos From owner-svn-src-head@freebsd.org Thu Mar 10 20:36:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9492EACA32F; Thu, 10 Mar 2016 20:36:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 66AB37D; Thu, 10 Mar 2016 20:36:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKaWLg097598; Thu, 10 Mar 2016 20:36:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKaW8h097597; Thu, 10 Mar 2016 20:36:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603102036.u2AKaW8h097597@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 20:36:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296624 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:36:33 -0000 Author: np Date: Thu Mar 10 20:36:32 2016 New Revision: 296624 URL: https://svnweb.freebsd.org/changeset/base/296624 Log: cxgbe(4): Fix bug in r296603. The memory window needs to be repositioned if the start address isn't in the window already. One of the bounds check used the end address instead. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 20:15:27 2016 (r296623) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 20:36:32 2016 (r296624) @@ -2084,7 +2084,7 @@ rw_via_memwin(struct adapter *sc, int id while (len > 0) { rw_rlock(&mw->mw_lock); mw_end = mw->mw_curpos + mw->mw_aperture; - if (addr >= mw_end || addr + len <= mw->mw_curpos) { + if (addr >= mw_end || addr < mw->mw_curpos) { /* Will need to reposition the window */ if (!rw_try_upgrade(&mw->mw_lock)) { rw_runlock(&mw->mw_lock); From owner-svn-src-head@freebsd.org Thu Mar 10 21:36:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA504ACBA7B; Thu, 10 Mar 2016 21:36:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A21F7110; Thu, 10 Mar 2016 21:36:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ALaOBh015898; Thu, 10 Mar 2016 21:36:24 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ALaORK015895; Thu, 10 Mar 2016 21:36:24 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603102136.u2ALaORK015895@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Thu, 10 Mar 2016 21:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296626 - head/usr.bin/mkuzip X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 21:36:26 -0000 Author: sobomax Date: Thu Mar 10 21:36:24 2016 New Revision: 296626 URL: https://svnweb.freebsd.org/changeset/base/296626 Log: Add -S option to print out summary after compression has been completed. MFC after: 2 weeks Modified: head/usr.bin/mkuzip/mkuzip.8 head/usr.bin/mkuzip/mkuzip.c Modified: head/usr.bin/mkuzip/mkuzip.8 ============================================================================== --- head/usr.bin/mkuzip/mkuzip.8 Thu Mar 10 21:16:01 2016 (r296625) +++ head/usr.bin/mkuzip/mkuzip.8 Thu Mar 10 21:36:24 2016 (r296626) @@ -118,6 +118,9 @@ detects identical blocks in the input an of such block with pointer to the very first one in the output. Setting this option results is moderate decrease of compressed image size, typically around 3-5% of a final size of the compressed image. +.It Fl S +Print summary about the compression ratio as well as output +file size after file has been processed. .El .Sh NOTES The compression ratio largely depends on the cluster size used. Modified: head/usr.bin/mkuzip/mkuzip.c ============================================================================== --- head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 21:16:01 2016 (r296625) +++ head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 21:36:24 2016 (r296626) @@ -90,6 +90,7 @@ int main(int argc, char **argv) char *iname, *oname, *obuf, *ibuf; uint64_t *toc; int fdr, fdw, i, opt, verbose, no_zcomp, tmp, en_dedup; + int summary; struct iovec iov[2]; struct stat sb; uint32_t destlen; @@ -104,9 +105,10 @@ int main(int argc, char **argv) verbose = 0; no_zcomp = 0; en_dedup = 0; + summary = 0; handler = &uzip_fmt; - while((opt = getopt(argc, argv, "o:s:vZdL")) != -1) { + while((opt = getopt(argc, argv, "o:s:vZdLS")) != -1) { switch(opt) { case 'o': oname = optarg; @@ -138,6 +140,10 @@ int main(int argc, char **argv) handler = &ulzma_fmt; break; + case 'S': + summary = 1; + break; + default: usage(); /* Not reached */ @@ -294,7 +300,7 @@ int main(int argc, char **argv) } close(fdr); - if (verbose != 0) + if (verbose != 0 || summary != 0) fprintf(stderr, "compressed data to %ju bytes, saved %lld " "bytes, %.2f%% decrease.\n", offset, (long long)(sb.st_size - offset), @@ -337,7 +343,7 @@ static void usage(void) { - fprintf(stderr, "usage: mkuzip [-vZdL] [-o outfile] [-s cluster_size] " + fprintf(stderr, "usage: mkuzip [-vZdLS] [-o outfile] [-s cluster_size] " "infile\n"); exit(1); } From owner-svn-src-head@freebsd.org Thu Mar 10 22:37:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 67924ACBF93; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 598B4398; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 509681879; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1CCF51EC63; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id xPxLNtQPFDWY; Thu, 10 Mar 2016 22:37:34 +0000 (UTC) Subject: Re: svn commit: r296589 - head/sys/dev/fdc DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 3D9321EC5D To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603100033.u2A0X6uN027771@repo.freebsd.org> From: Bryan Drewery Organization: FreeBSD Message-ID: <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 14:37:33 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603100033.u2A0X6uN027771@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 22:37:37 -0000 On 3/9/16 4:33 PM, Warner Losh wrote: > Author: imp > Date: Thu Mar 10 00:33:06 2016 > New Revision: 296589 > URL: https://svnweb.freebsd.org/changeset/base/296589 > > Log: > Stop assuming that bio_cmd is a bit field. > > Differential Revision: https://reviews.freebsd.org/D5587 > > Modified: > head/sys/dev/fdc/fdc.c > > Modified: head/sys/dev/fdc/fdc.c > ============================================================================== > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > /* Disable ISADMA if we bailed while it was active */ > if (fd != NULL && (fd->flags & FD_ISADMA)) { > isa_dmadone( > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, I think we should have some kind of file (like ports CHANGES) that lists subtle KPI changes. This and the bio bzero change were easily missed and could lead to who-knows-what downstream for vendors or even out-of-tree modules. Btw there are some missed still: ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Thu Mar 10 23:17:27 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE87AACAFEB; Thu, 10 Mar 2016 23:17:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 91A1899D; Thu, 10 Mar 2016 23:17:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANHQEN046869; Thu, 10 Mar 2016 23:17:26 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANHQZM046867; Thu, 10 Mar 2016 23:17:26 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603102317.u2ANHQZM046867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 23:17:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296627 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:17:27 -0000 Author: np Date: Thu Mar 10 23:17:26 2016 New Revision: 296627 URL: https://svnweb.freebsd.org/changeset/base/296627 Log: cxgbe(4): Improvements to the code that deals with the firmware's log. - Query the location of the log very early during attach. Refresh the location later after establishing contact with the firmware. - Save the log's location as a flat address in devlog_params. - Use a memory window instead of backdoor access to the EDC/MC to read the log. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Thu Mar 10 21:36:24 2016 (r296626) +++ head/sys/dev/cxgbe/common/common.h Thu Mar 10 23:17:26 2016 (r296627) @@ -262,6 +262,7 @@ struct devlog_params { u32 memtype; /* which memory (FW_MEMTYPE_* ) */ u32 start; /* start of log in firmware memory */ u32 size; /* size of log */ + u32 addr; /* start address in flat addr space */ }; /* Stores chip specific parameters */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 21:36:24 2016 (r296626) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 23:17:26 2016 (r296627) @@ -409,6 +409,7 @@ static int validate_mem_range(struct ada static int fwmtype_to_hwmtype(int); static int validate_mt_off_len(struct adapter *, int, uint32_t, int, uint32_t *); +static int fixup_devlog_params(struct adapter *); static int cfg_itype_and_nqueues(struct adapter *, int, int, int, struct intrs_and_queues *); static int prep_firmware(struct adapter *); @@ -733,6 +734,8 @@ t4_attach(device_t dev) * will work even in "recovery mode". */ setup_memwin(sc); + if (t4_init_devlog_params(sc, 0) == 0) + fixup_devlog_params(sc); sc->cdev = make_dev(is_t4(sc) ? &t4_cdevsw : &t5_cdevsw, device_get_unit(dev), UID_ROOT, GID_WHEEL, 0600, "%s", device_get_nameunit(dev)); @@ -2333,6 +2336,18 @@ validate_mt_off_len(struct adapter *sc, } static int +fixup_devlog_params(struct adapter *sc) +{ + struct devlog_params *dparams = &sc->params.devlog; + int rc; + + rc = validate_mt_off_len(sc, dparams->memtype, dparams->start, + dparams->size, &dparams->addr); + + return (rc); +} + +static int cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g, int num_vis, struct intrs_and_queues *iaq) { @@ -3052,8 +3067,6 @@ get_params__pre_init(struct adapter *sc) { int rc; uint32_t param[2], val[2]; - struct fw_devlog_cmd cmd; - struct devlog_params *dlog = &sc->params.devlog; param[0] = FW_PARAM_DEV(PORTVEC); param[1] = FW_PARAM_DEV(CCLK); @@ -3069,21 +3082,13 @@ get_params__pre_init(struct adapter *sc) sc->params.vpd.cclk = val[1]; /* Read device log parameters. */ - bzero(&cmd, sizeof(cmd)); - cmd.op_to_write = htobe32(V_FW_CMD_OP(FW_DEVLOG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_READ); - cmd.retval_len16 = htobe32(FW_LEN16(cmd)); - rc = -t4_wr_mbox(sc, sc->mbox, &cmd, sizeof(cmd), &cmd); - if (rc != 0) { + rc = -t4_init_devlog_params(sc, 1); + if (rc == 0) + fixup_devlog_params(sc); + else { device_printf(sc->dev, "failed to get devlog parameters: %d.\n", rc); - bzero(dlog, sizeof (*dlog)); rc = 0; /* devlog isn't critical for device operation */ - } else { - val[0] = be32toh(cmd.memtype_devlog_memaddr16_devlog); - dlog->memtype = G_FW_DEVLOG_CMD_MEMTYPE_DEVLOG(val[0]); - dlog->start = G_FW_DEVLOG_CMD_MEMADDR16_DEVLOG(val[0]) << 4; - dlog->size = be32toh(cmd.memsize_devlog); } return (rc); @@ -5875,7 +5880,7 @@ sysctl_ddp_stats(SYSCTL_HANDLER_ARGS) return (rc); } -const char *devlog_level_strings[] = { +static const char * const devlog_level_strings[] = { [FW_DEVLOG_LEVEL_EMERG] = "EMERG", [FW_DEVLOG_LEVEL_CRIT] = "CRIT", [FW_DEVLOG_LEVEL_ERR] = "ERR", @@ -5884,7 +5889,7 @@ const char *devlog_level_strings[] = { [FW_DEVLOG_LEVEL_DEBUG] = "DEBUG" }; -const char *devlog_facility_strings[] = { +static const char * const devlog_facility_strings[] = { [FW_DEVLOG_FACILITY_CORE] = "CORE", [FW_DEVLOG_FACILITY_CF] = "CF", [FW_DEVLOG_FACILITY_SCHED] = "SCHED", @@ -5908,7 +5913,8 @@ const char *devlog_facility_strings[] = [FW_DEVLOG_FACILITY_ISCSI] = "ISCSI", [FW_DEVLOG_FACILITY_FCOE] = "FCOE", [FW_DEVLOG_FACILITY_FOISCSI] = "FOISCSI", - [FW_DEVLOG_FACILITY_FOFCOE] = "FOFCOE" + [FW_DEVLOG_FACILITY_FOFCOE] = "FOFCOE", + [FW_DEVLOG_FACILITY_CHNET] = "CHNET", }; static int @@ -5917,27 +5923,22 @@ sysctl_devlog(SYSCTL_HANDLER_ARGS) struct adapter *sc = arg1; struct devlog_params *dparams = &sc->params.devlog; struct fw_devlog_e *buf, *e; - int i, j, rc, nentries, first = 0, m; + int i, j, rc, nentries, first = 0; struct sbuf *sb; uint64_t ftstamp = UINT64_MAX; - if (dparams->start == 0) { - dparams->memtype = FW_MEMTYPE_EDC0; - dparams->start = 0x84000; - dparams->size = 32768; - } - - nentries = dparams->size / sizeof(struct fw_devlog_e); + if (dparams->addr == 0) + return (ENXIO); buf = malloc(dparams->size, M_CXGBE, M_NOWAIT); if (buf == NULL) return (ENOMEM); - m = fwmtype_to_hwmtype(dparams->memtype); - rc = -t4_mem_read(sc, m, dparams->start, dparams->size, (void *)buf); + rc = read_via_memwin(sc, 1, dparams->addr, (void *)buf, dparams->size); if (rc != 0) goto done; + nentries = dparams->size / sizeof(struct fw_devlog_e); for (i = 0; i < nentries; i++) { e = &buf[i]; From owner-svn-src-head@freebsd.org Thu Mar 10 23:19:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 709B8ACB07D; Thu, 10 Mar 2016 23:19:36 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 42C96B2C; Thu, 10 Mar 2016 23:19:36 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANJZTf046977; Thu, 10 Mar 2016 23:19:35 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANJZMb046976; Thu, 10 Mar 2016 23:19:35 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603102319.u2ANJZMb046976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Thu, 10 Mar 2016 23:19:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296628 - head/usr.bin/mkuzip X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:19:36 -0000 Author: sobomax Date: Thu Mar 10 23:19:35 2016 New Revision: 296628 URL: https://svnweb.freebsd.org/changeset/base/296628 Log: When -S is specified dump summary to stdout, not stderr, so it's easier to capture and process it with external tools via pipe. Modified: head/usr.bin/mkuzip/mkuzip.c Modified: head/usr.bin/mkuzip/mkuzip.c ============================================================================== --- head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 23:17:26 2016 (r296627) +++ head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 23:19:35 2016 (r296628) @@ -90,7 +90,10 @@ int main(int argc, char **argv) char *iname, *oname, *obuf, *ibuf; uint64_t *toc; int fdr, fdw, i, opt, verbose, no_zcomp, tmp, en_dedup; - int summary; + struct { + int en; + FILE *f; + } summary; struct iovec iov[2]; struct stat sb; uint32_t destlen; @@ -105,7 +108,8 @@ int main(int argc, char **argv) verbose = 0; no_zcomp = 0; en_dedup = 0; - summary = 0; + summary.en = 0; + summary.f = stderr; handler = &uzip_fmt; while((opt = getopt(argc, argv, "o:s:vZdLS")) != -1) { @@ -141,7 +145,8 @@ int main(int argc, char **argv) break; case 'S': - summary = 1; + summary.en = 1; + summary.f = stdout; break; default: @@ -300,8 +305,8 @@ int main(int argc, char **argv) } close(fdr); - if (verbose != 0 || summary != 0) - fprintf(stderr, "compressed data to %ju bytes, saved %lld " + if (verbose != 0 || summary.en != 0) + fprintf(summary.f, "compressed data to %ju bytes, saved %lld " "bytes, %.2f%% decrease.\n", offset, (long long)(sb.st_size - offset), 100.0 * (long long)(sb.st_size - offset) / From owner-svn-src-head@freebsd.org Fri Mar 11 00:15:31 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F5D8ACC67D; Fri, 11 Mar 2016 00:15:31 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9517FEE6; Fri, 11 Mar 2016 00:15:30 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0FTWY065138; Fri, 11 Mar 2016 00:15:29 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0FT5v065136; Fri, 11 Mar 2016 00:15:29 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603110015.u2B0FT5v065136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 00:15:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:15:31 -0000 Author: des Date: Fri Mar 11 00:15:29 2016 New Revision: 296633 URL: https://svnweb.freebsd.org/changeset/base/296633 Log: Upgrade to OpenSSH 7.2p2. Added: head/crypto/openssh/platform-pledge.c - copied unchanged from r296619, vendor-crypto/openssh/dist/platform-pledge.c head/crypto/openssh/regress/cert-file.sh - copied unchanged from r296619, vendor-crypto/openssh/dist/regress/cert-file.sh head/crypto/openssh/regress/check-perm.c - copied unchanged from r296619, vendor-crypto/openssh/dist/regress/check-perm.c head/crypto/openssh/sandbox-pledge.c - copied unchanged from r296619, vendor-crypto/openssh/dist/sandbox-pledge.c head/crypto/openssh/sandbox-solaris.c - copied unchanged from r296619, vendor-crypto/openssh/dist/sandbox-solaris.c Deleted: head/crypto/openssh/roaming_client.c head/crypto/openssh/roaming_common.c head/crypto/openssh/roaming_dummy.c head/crypto/openssh/roaming_serv.c Modified: head/crypto/openssh/ChangeLog head/crypto/openssh/Makefile.in head/crypto/openssh/README head/crypto/openssh/README.platform head/crypto/openssh/auth-bsdauth.c head/crypto/openssh/auth-krb5.c head/crypto/openssh/auth-options.c head/crypto/openssh/auth-pam.c head/crypto/openssh/auth.h head/crypto/openssh/auth2-pubkey.c head/crypto/openssh/authfd.c head/crypto/openssh/authfd.h head/crypto/openssh/authfile.c head/crypto/openssh/channels.c head/crypto/openssh/cipher.c head/crypto/openssh/clientloop.c head/crypto/openssh/clientloop.h head/crypto/openssh/config.h head/crypto/openssh/configure.ac head/crypto/openssh/contrib/redhat/openssh.spec head/crypto/openssh/contrib/ssh-copy-id head/crypto/openssh/contrib/ssh-copy-id.1 head/crypto/openssh/contrib/suse/openssh.spec head/crypto/openssh/defines.h head/crypto/openssh/dh.h head/crypto/openssh/includes.h head/crypto/openssh/kex.c head/crypto/openssh/kex.h head/crypto/openssh/kexc25519s.c head/crypto/openssh/kexdhs.c head/crypto/openssh/kexecdhs.c head/crypto/openssh/kexgexs.c head/crypto/openssh/key.c head/crypto/openssh/key.h head/crypto/openssh/krl.c head/crypto/openssh/krl.h head/crypto/openssh/loginrec.c head/crypto/openssh/misc.c head/crypto/openssh/monitor.c head/crypto/openssh/monitor_wrap.c head/crypto/openssh/monitor_wrap.h head/crypto/openssh/mux.c head/crypto/openssh/myproposal.h head/crypto/openssh/opacket.c head/crypto/openssh/opacket.h head/crypto/openssh/openbsd-compat/bsd-misc.c head/crypto/openssh/openbsd-compat/bsd-misc.h head/crypto/openssh/openbsd-compat/bsd-poll.h head/crypto/openssh/openbsd-compat/glob.c head/crypto/openssh/openbsd-compat/glob.h head/crypto/openssh/openbsd-compat/openbsd-compat.h head/crypto/openssh/openbsd-compat/port-solaris.c head/crypto/openssh/openbsd-compat/port-solaris.h head/crypto/openssh/openbsd-compat/realpath.c head/crypto/openssh/packet.c head/crypto/openssh/packet.h head/crypto/openssh/platform.h head/crypto/openssh/readconf.c head/crypto/openssh/readconf.h head/crypto/openssh/readpass.c head/crypto/openssh/regress/Makefile head/crypto/openssh/regress/agent-ptrace.sh head/crypto/openssh/regress/dhgex.sh head/crypto/openssh/regress/hostkey-rotate.sh head/crypto/openssh/regress/keys-command.sh head/crypto/openssh/regress/keyscan.sh head/crypto/openssh/regress/limit-keytype.sh head/crypto/openssh/regress/principals-command.sh head/crypto/openssh/regress/proxy-connect.sh head/crypto/openssh/regress/rekey.sh head/crypto/openssh/regress/setuid-allowed.c head/crypto/openssh/regress/sftp-chroot.sh head/crypto/openssh/regress/unittests/sshkey/test_file.c head/crypto/openssh/regress/unittests/sshkey/test_fuzz.c head/crypto/openssh/regress/unittests/sshkey/test_sshkey.c head/crypto/openssh/roaming.h head/crypto/openssh/sandbox-seccomp-filter.c head/crypto/openssh/sandbox-systrace.c head/crypto/openssh/scp.1 head/crypto/openssh/scp.c head/crypto/openssh/servconf.c head/crypto/openssh/serverloop.c head/crypto/openssh/session.c head/crypto/openssh/sftp-client.c head/crypto/openssh/sftp-client.h head/crypto/openssh/sftp-server-main.c head/crypto/openssh/sftp-server.c head/crypto/openssh/sftp.1 head/crypto/openssh/sftp.c head/crypto/openssh/ssh-add.c head/crypto/openssh/ssh-agent.1 head/crypto/openssh/ssh-agent.c head/crypto/openssh/ssh-dss.c head/crypto/openssh/ssh-ecdsa.c head/crypto/openssh/ssh-keygen.1 head/crypto/openssh/ssh-keygen.c head/crypto/openssh/ssh-keyscan.1 head/crypto/openssh/ssh-keyscan.c head/crypto/openssh/ssh-keysign.8 head/crypto/openssh/ssh-keysign.c head/crypto/openssh/ssh-pkcs11-client.c head/crypto/openssh/ssh-pkcs11-helper.c head/crypto/openssh/ssh-pkcs11.c head/crypto/openssh/ssh-rsa.c head/crypto/openssh/ssh.1 head/crypto/openssh/ssh.c head/crypto/openssh/ssh.h head/crypto/openssh/ssh2.h head/crypto/openssh/ssh_api.c head/crypto/openssh/ssh_config head/crypto/openssh/ssh_config.5 head/crypto/openssh/ssh_namespace.h head/crypto/openssh/sshbuf-getput-basic.c head/crypto/openssh/sshbuf.c head/crypto/openssh/sshbuf.h head/crypto/openssh/sshconnect.c head/crypto/openssh/sshconnect.h head/crypto/openssh/sshconnect1.c head/crypto/openssh/sshconnect2.c head/crypto/openssh/sshd.8 head/crypto/openssh/sshd.c head/crypto/openssh/sshd_config head/crypto/openssh/sshd_config.5 head/crypto/openssh/ssherr.c head/crypto/openssh/sshkey.c head/crypto/openssh/sshkey.h head/crypto/openssh/sshlogin.c head/crypto/openssh/uidswap.c head/crypto/openssh/version.h head/crypto/openssh/xmalloc.c head/crypto/openssh/xmalloc.h head/lib/libpam/modules/pam_ssh/Makefile head/secure/lib/libssh/Makefile head/secure/libexec/sftp-server/Makefile head/secure/libexec/ssh-keysign/Makefile head/secure/libexec/ssh-pkcs11-helper/Makefile head/secure/usr.bin/scp/Makefile head/secure/usr.bin/sftp/Makefile head/secure/usr.bin/ssh-add/Makefile head/secure/usr.bin/ssh-agent/Makefile head/secure/usr.bin/ssh-keygen/Makefile head/secure/usr.bin/ssh-keyscan/Makefile head/secure/usr.bin/ssh/Makefile head/secure/usr.sbin/sshd/Makefile Directory Properties: head/crypto/openssh/ (props changed) Modified: head/crypto/openssh/ChangeLog ============================================================================== --- head/crypto/openssh/ChangeLog Fri Mar 11 00:06:18 2016 (r296632) +++ head/crypto/openssh/ChangeLog Fri Mar 11 00:15:29 2016 (r296633) @@ -1,7615 +1,8905 @@ -commit c88ac102f0eb89f2eaa314cb2e2e0ca3c890c443 +commit 5c35450a0c901d9375fb23343a8dc82397da5f75 Author: Damien Miller -Date: Thu Jan 14 11:08:19 2016 +1100 +Date: Thu Mar 10 05:04:48 2016 +1100 - bump version numbers + update versions for release -commit 302bc21e6fadacb04b665868cd69b625ef69df90 +commit 9d47b8d3f50c3a6282896df8274147e3b9a38c56 Author: Damien Miller -Date: Thu Jan 14 11:04:04 2016 +1100 +Date: Thu Mar 10 05:03:39 2016 +1100 - openssh-7.1p2 + sanitise characters destined for xauth(1) + + reported by github.com/tintinweb -commit 6b33763242c063e4e0593877e835eeb1fd1b60aa -Author: Damien Miller -Date: Thu Jan 14 11:02:58 2016 +1100 +commit 72b061d4ba0f909501c595d709ea76e06b01e5c9 +Author: Darren Tucker +Date: Fri Feb 26 14:40:04 2016 +1100 - forcibly disable roaming support in the client + Add a note about using xlc on AIX. -commit 34d364f0d2e1e30a444009f0e04299bb7c94ba13 -Author: djm@openbsd.org -Date: Mon Oct 5 17:11:21 2015 +0000 +commit fd4e4f2416baa2e6565ea49d52aade296bad3e28 +Author: Darren Tucker +Date: Wed Feb 24 10:44:25 2016 +1100 - upstream commit + Skip PrintLastLog in config dump mode. - some more bzero->explicit_bzero, from Michael McConville - - Upstream-ID: 17f19545685c33327db2efdc357c1c9225ff00d0 + When DISABLE_LASTLOG is set, do not try to include PrintLastLog in the + config dump since it'll be reported as UNKNOWN. -commit 8f5b93026797b9f7fba90d0c717570421ccebbd3 -Author: guenther@openbsd.org -Date: Fri Sep 11 08:50:04 2015 +0000 +commit 99135c764fa250801da5ec3b8d06cbd0111caae8 +Author: Damien Miller +Date: Tue Feb 23 20:17:23 2016 +1100 + + update spec/README versions ahead of release + +commit b86a334aaaa4d1e643eb1fd71f718573d6d948b5 +Author: Damien Miller +Date: Tue Feb 23 20:16:53 2016 +1100 + + put back portable patchlevel to p1 + +commit 555dd35ff176847e3c6bd068ba2e8db4022eb24f +Author: djm@openbsd.org +Date: Tue Feb 23 09:14:34 2016 +0000 upstream commit - Use explicit_bzero() when zeroing before free() - - from Michael McConville (mmcconv1 (at) sccs.swarthmore.edu) - ok millert@ djm@ + openssh-7.2 - Upstream-ID: 2e3337db046c3fe70c7369ee31515ac73ec00f50 + Upstream-ID: 9db776b26014147fc907ece8460ef2bcb0f11e78 -commit d77148e3a3ef6c29b26ec74331455394581aa257 -Author: djm@openbsd.org -Date: Sun Nov 8 21:59:11 2015 +0000 +commit 1acc058d0a7913838c830ed998a1a1fb5b7864bf +Author: Damien Miller +Date: Tue Feb 23 16:12:13 2016 +1100 - upstream commit + Disable tests where fs perms are incorrect - fix OOB read in packet code caused by missing return - statement found by Ben Hawkes; ok markus@ deraadt@ + Some tests have strict requirements on the filesystem permissions + for certain files and directories. This adds a regress/check-perm + tool that copies the relevant logic from sshd to exactly test + the paths in question. This lets us skip tests when the local + filesystem doesn't conform to our expectations rather than + continuing and failing the test run. - Upstream-ID: a3e3a85434ebfa0690d4879091959591f30efc62 + ok dtucker@ -commit 076d849e17ab12603627f87b301e2dca71bae518 +commit 39f303b1f36d934d8410b05625f25c7bcb75db4d Author: Damien Miller -Date: Sat Nov 14 18:44:49 2015 +1100 +Date: Tue Feb 23 12:56:59 2016 +1100 - read back from libcrypto RAND when privdropping + fix sandbox on OSX Lion - makes certain libcrypto implementations cache a /dev/urandom fd - in preparation of sandboxing. Based on patch by Greg Hartman. + sshd was failing with: + + ssh_sandbox_child: sandbox_init: dlopen(/usr/lib/libsandbox.1.dylib, 261):cw + image not found [preauth] + + caused by chroot before sandboxing. Avoid by explicitly linking libsandbox + to sshd. Spotted by Darren. -commit f72adc0150011a28f177617a8456e1f83733099d +commit 0d1451a32c7436e6d3d482351e776bc5e7824ce4 Author: djm@openbsd.org -Date: Sun Dec 13 22:42:23 2015 +0000 +Date: Tue Feb 23 01:34:14 2016 +0000 upstream commit - unbreak connections with peers that set - first_kex_follows; fix from Matt Johnston va bz#2515 + fix spurious error message when incorrect passphrase + entered for keys; reported by espie@ ok deraadt@ - Upstream-ID: decc88ec4fc7515594fdb42b04aa03189a44184b + Upstream-ID: 58b2e46e63ed6912ed1ee780bd3bd8560f9a5899 -commit 04bd8d019ccd906cac1a2b362517b8505f3759e6 -Author: djm@openbsd.org -Date: Tue Jan 12 23:42:54 2016 +0000 +commit 09d87d79741beb85768b5e788d7dfdf4bc3543dc +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:06:23 2016 +0000 upstream commit - use explicit_bzero() more liberally in the buffer code; ok - deraadt + set ssh(1) protocol version to 2 only. - Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf + ok djm@ + + Upstream-ID: e168daf9d27d7e392e3c9923826bd8e87b2b3a10 -commit e91346dc2bbf460246df2ab591b7613908c1b0ad -Author: Damien Miller -Date: Fri Aug 21 14:49:03 2015 +1000 +commit 9262e07826ba5eebf8423f7ac9e47ec488c47869 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:02:39 2016 +0000 - we don't use Github for issues/pull-requests + upstream commit + + add missing ~/.ssh/id_ecdsa and ~/.ssh/id_ed25519 to + IdentityFile. + + ok djm@ + + Upstream-ID: 6ce99466312e4ae7708017c3665e3edb976f70cf -commit a4f5b507c708cc3dc2c8dd2d02e4416d7514dc23 -Author: Damien Miller -Date: Fri Aug 21 14:43:55 2015 +1000 +commit c12f0fdce8f985fca8d71829fd64c5b89dc777f5 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:01:46 2016 +0000 - fix URL for connect.c + upstream commit + + AddressFamily defaults to any. + + ok djm@ + + Upstream-ID: 0d94aa06a4b889bf57a7f631c45ba36d24c13e0c -commit d026a8d3da0f8186598442997c7d0a28e7275414 -Author: Damien Miller -Date: Fri Aug 21 13:47:10 2015 +1000 +commit 907091acb188b1057d50c2158f74c3ecf1c2302b +Author: Darren Tucker +Date: Fri Feb 19 09:05:39 2016 +1100 - update version numbers for 7.1 + Make Solaris privs code build on older systems. + + Not all systems with Solaris privs have priv_basicset so factor that + out and provide backward compatibility code. Similarly, not all have + PRIV_NET_ACCESS so wrap that in #ifdef. Based on code from + alex at cooperi.net and djm@ with help from carson at taltos.org and + wieland at purdue.edu. -commit 78f8f589f0ca1c9f41e5a9bae3cda5ce8a6b42ed +commit 292a8dee14e5e67dcd1b49ba5c7b9023e8420d59 Author: djm@openbsd.org -Date: Fri Aug 21 03:45:26 2015 +0000 +Date: Wed Feb 17 22:20:14 2016 +0000 upstream commit - openssh-7.1 + rekey refactor broke SSH1; spotted by Tom G. Christensen - Upstream-ID: ff7b1ef4b06caddfb45e08ba998128c88be3d73f + Upstream-ID: 43f0d57928cc077c949af0bfa71ef574dcb58243 -commit 32a181980c62fce94f7f9ffaf6a79d90f0c309cf +commit 3a13cb543df9919aec2fc6b75f3dd3802facaeca Author: djm@openbsd.org -Date: Fri Aug 21 03:42:19 2015 +0000 +Date: Wed Feb 17 08:57:34 2016 +0000 upstream commit - fix inverted logic that broke PermitRootLogin; reported - by Mantas Mikulenas; ok markus@ + rsa-sha2-512,rsa-sha2-256 cannot be selected explicitly + in *KeyTypes options yet. Remove them from the lists of algorithms for now. + committing on behalf of markus@ ok djm@ - Upstream-ID: 260dd6a904c1bb7e43267e394b1c9cf70bdd5ea5 + Upstream-ID: c6e8820eb8e610ac21551832c0c89684a9a51bb7 -commit ce445b0ed927e45bd5bdce8f836eb353998dd65c -Author: deraadt@openbsd.org -Date: Thu Aug 20 22:32:42 2015 +0000 +commit a685ae8d1c24fb7c712c55a4f3280ee76f5f1e4b +Author: jmc@openbsd.org +Date: Wed Feb 17 07:38:19 2016 +0000 upstream commit - Do not cast result of malloc/calloc/realloc* if stdlib.h - is in scope ok krw millert - - Upstream-ID: 5e50ded78cadf3841556649a16cc4b1cb6c58667 - -commit 05291e5288704d1a98bacda269eb5a0153599146 -Author: naddy@openbsd.org -Date: Thu Aug 20 19:20:06 2015 +0000 - - upstream commit + since these pages now clearly tell folks to avoid v1, + normalise the docs from a v2 perspective (i.e. stop pointing out which bits + are v2 only); - In the certificates section, be consistent about using - "host_key" and "user_key" for the respective key types. ok sthen@ deraadt@ + ok/tweaks djm ok markus - Upstream-ID: 9e037ea3b15577b238604c5533e082a3947f13cb + Upstream-ID: eb474f8c36fb6a532dc05c282f7965e38dcfa129 -commit 8543d4ef6f2e9f98c3e6b77c894ceec30c5e4ae4 +commit c5c3f3279a0e4044b8de71b70d3570d692d0f29d Author: djm@openbsd.org -Date: Wed Aug 19 23:21:42 2015 +0000 +Date: Wed Feb 17 05:29:04 2016 +0000 upstream commit - Better compat matching for WinSCP, add compat matching - for FuTTY (fork of PuTTY); ok markus@ deraadt@ + make sandboxed privilege separation the default, not just + for new installs; "absolutely" deraadt@ - Upstream-ID: 24001d1ac115fa3260fbdc329a4b9aeb283c5389 + Upstream-ID: 5221ef3b927d2df044e9aa3f5db74ae91743f69b -commit ec6eda16ebab771aa3dfc90629b41953b999cb1e -Author: djm@openbsd.org -Date: Wed Aug 19 23:19:01 2015 +0000 +commit eb3f7337a651aa01d5dec019025e6cdc124ed081 +Author: jmc@openbsd.org +Date: Tue Feb 16 07:47:54 2016 +0000 upstream commit - fix double-free() in error path of DSA key generation - reported by Mateusz Kocielski; ok markus@ + no need to state that protocol 2 is the default twice; - Upstream-ID: 4735d8f888b10599a935fa1b374787089116713c + Upstream-ID: b1e4c36b0c2e12e338e5b66e2978f2ac953b95eb -commit 45b0eb752c94954a6de046bfaaf129e518ad4b5b +commit e7901efa9b24e5b0c7e74f2c5520d47eead4d005 Author: djm@openbsd.org -Date: Wed Aug 19 23:18:26 2015 +0000 +Date: Tue Feb 16 05:11:04 2016 +0000 upstream commit - fix free() of uninitialised pointer reported by Mateusz - Kocielski; ok markus@ + Replace list of ciphers and MACs adjacent to -1/-2 flag + descriptions in ssh(1) with a strong recommendation not to use protocol 1. + Add a similar warning to the Protocol option descriptions in ssh_config(5) + and sshd_config(5); - Upstream-ID: 519552b050618501a06b7b023de5cb104e2c5663 + prompted by and ok mmcc@ + + Upstream-ID: 961f99e5437d50e636feca023978950a232ead5e -commit c837643b93509a3ef538cb6624b678c5fe32ff79 +commit 5a0fcb77287342e2fc2ba1cee79b6af108973dc2 Author: djm@openbsd.org -Date: Wed Aug 19 23:17:51 2015 +0000 +Date: Tue Feb 16 03:37:48 2016 +0000 upstream commit - fixed unlink([uninitialised memory]) reported by Mateusz - Kocielski; ok markus@ + add a "Close session" log entry (at loglevel=verbose) to + correspond to the existing "Starting session" one. Also include the session + id number to make multiplexed sessions more apparent. - Upstream-ID: 14a0c4e7d891f5a8dabc4b89d4f6b7c0d5a20109 + feedback and ok dtucker@ + + Upstream-ID: e72d2ac080e02774376325136e532cb24c2e617c -commit 1f8d3d629cd553031021068eb9c646a5f1e50994 -Author: jmc@openbsd.org -Date: Fri Aug 14 15:32:41 2015 +0000 +commit 624fd395b559820705171f460dd33d67743d13d6 +Author: djm@openbsd.org +Date: Wed Feb 17 02:24:17 2016 +0000 upstream commit - match myproposal.h order; from brian conway (i snuck in a - tweak while here) - - ok dtucker + include bad $SSH_CONNECTION in failure output - Upstream-ID: 35174a19b5237ea36aa3798f042bf5933b772c67 + Upstream-Regress-ID: b22d72edfde78c403aaec2b9c9753ef633cc0529 -commit 1dc8d93ce69d6565747eb44446ed117187621b26 -Author: deraadt@openbsd.org -Date: Thu Aug 6 14:53:21 2015 +0000 +commit 60d860e54b4f199e5e89963b1c086981309753cb +Author: Darren Tucker +Date: Wed Feb 17 13:37:09 2016 +1100 - upstream commit - - add prohibit-password as a synonymn for without-password, - since the without-password is causing too many questions. Harden it to ban - all but pubkey, hostbased, and GSSAPI auth (when the latter is enabled) from - djm, ok markus + Rollback addition of va_start. - Upstream-ID: d53317d7b28942153e6236d3fd6e12ceb482db7a + va_start was added in 0f754e29dd3760fc0b172c1220f18b753fb0957e, however + it has the wrong number of args and it's not usable in non-variadic + functions anyway so it breaks things (for example Solaris 2.6 as + reported by Tom G. Christensen).i ok djm@ -commit 90a95a4745a531b62b81ce3b025e892bdc434de5 -Author: Damien Miller -Date: Tue Aug 11 13:53:41 2015 +1000 +commit 2fee909c3cee2472a98b26eb82696297b81e0d38 +Author: Darren Tucker +Date: Wed Feb 17 09:48:15 2016 +1100 - update version in README + Look for gethostbyname in libresolv and libnsl. + + Should fix build problem on Solaris 2.6 reported by Tom G. Christensen. -commit 318c37743534b58124f1bab37a8a0087a3a9bd2f +commit 5ac712d81a84396aab441a272ec429af5b738302 Author: Damien Miller -Date: Tue Aug 11 13:53:09 2015 +1000 +Date: Tue Feb 16 10:45:02 2016 +1100 - update versions in *.spec + make existing ssh_malloc_init only for __OpenBSD__ -commit 5e75f5198769056089fb06c4d738ab0e5abc66f7 -Author: Damien Miller -Date: Tue Aug 11 13:34:12 2015 +1000 +commit 24c9bded569d9f2449ded73f92fb6d12db7a9eec +Author: djm@openbsd.org +Date: Mon Feb 15 23:32:37 2016 +0000 - set sshpam_ctxt to NULL after free + upstream commit - Avoids use-after-free in monitor when privsep child is compromised. - Reported by Moritz Jodeit; ok dtucker@ - -commit d4697fe9a28dab7255c60433e4dd23cf7fce8a8b -Author: Damien Miller -Date: Tue Aug 11 13:33:24 2015 +1000 - - Don't resend username to PAM; it already has it. + memleak of algorithm name in mm_answer_sign; reported by + Jakub Jelen - Pointed out by Moritz Jodeit; ok dtucker@ + Upstream-ID: ccd742cd25952240ebd23d7d4d6b605862584d08 -commit 88763a6c893bf3dfe951ba9271bf09715e8d91ca -Author: Darren Tucker -Date: Mon Jul 27 12:14:25 2015 +1000 +commit ffb1e7e896139a42ceb78676f637658f44612411 +Author: dtucker@openbsd.org +Date: Mon Feb 15 09:47:49 2016 +0000 - Import updated moduli file from OpenBSD. + upstream commit + + Add a function to enable security-related malloc_options. + With and ok deraadt@, something similar has been in the snaps for a while. + + Upstream-ID: 43a95523b832b7f3b943d2908662191110c380ed -commit 55b263fb7cfeacb81aaf1c2036e0394c881637da +commit ef39e8c0497ff0564990a4f9e8b7338b3ba3507c Author: Damien Miller -Date: Mon Aug 10 11:13:44 2015 +1000 +Date: Tue Feb 16 10:34:39 2016 +1100 - let principals-command.sh work for noexec /var/run + sync ssh-copy-id with upstream 783ef08b0a75 -commit 2651e34cd11b1aac3a0fe23b86d8c2ff35c07897 -Author: Damien Miller -Date: Thu Aug 6 11:43:42 2015 +1000 +commit d2d772f55b19bb0e8d03c2fe1b9bb176d9779efd +Author: djm@openbsd.org +Date: Fri Feb 12 00:20:30 2016 +0000 - work around echo -n / sed behaviour in tests + upstream commit + + avoid fatal() for PKCS11 tokens that present empty key IDs + bz#1773, ok markus@ + + Upstream-ID: 044a764fee526f2c4a9d530bd10695422d01fc54 -commit d85dad81778c1aa8106acd46930b25fdf0d15b2a +commit e4c918a6c721410792b287c9fd21356a1bed5805 Author: djm@openbsd.org -Date: Wed Aug 5 05:27:33 2015 +0000 +Date: Thu Feb 11 02:56:32 2016 +0000 upstream commit - adjust for RSA minimum modulus switch; ok deraadt@ + sync crypto algorithm lists in ssh_config(5) and + sshd_config(5) with current reality. bz#2527 - Upstream-Regress-ID: 5a72c83431b96224d583c573ca281cd3a3ebfdae + Upstream-ID: d7fd1b6c1ed848d866236bcb1d7049d2bb9b2ff6 -commit 57e8e229bad5fe6056b5f1199665f5f7008192c6 +commit e30cabfa4ab456a30b3224f7f545f1bdfc4a2517 Author: djm@openbsd.org -Date: Tue Aug 4 05:23:06 2015 +0000 +Date: Thu Feb 11 02:21:34 2016 +0000 upstream commit - backout SSH_RSA_MINIMUM_MODULUS_SIZE increase for this - release; problems spotted by sthen@ ok deraadt@ markus@ + fix regression in openssh-6.8 sftp client: existing + destination directories would incorrectly terminate recursive uploads; + bz#2528 - Upstream-ID: d0bd60dde9e8c3cd7030007680371894c1499822 + Upstream-ID: 3306be469f41f26758e3d447987ac6d662623e18 -commit f097d0ea1e0889ca0fa2e53a00214e43ab7fa22a +commit 714e367226ded4dc3897078be48b961637350b05 Author: djm@openbsd.org -Date: Sun Aug 2 09:56:42 2015 +0000 +Date: Tue Feb 9 05:30:04 2016 +0000 upstream commit - openssh 7.0; ok deraadt@ + turn off more old crypto in the client: hmac-md5, ripemd, + truncated HMACs, RC4, blowfish. ok markus@ dtucker@ - Upstream-ID: c63afdef537f57f28ae84145c5a8e29e9250221f + Upstream-ID: 96aa11c2c082be45267a690c12f1d2aae6acd46e -commit 3d5728a0f6874ce4efb16913a12963595070f3a9 -Author: chris@openbsd.org -Date: Fri Jul 31 15:38:09 2015 +0000 +commit 5a622844ff7f78dcb75e223399f9ef0977e8d0a3 +Author: djm@openbsd.org +Date: Mon Feb 8 23:40:12 2016 +0000 upstream commit - Allow PermitRootLogin to be overridden by config - - ok markus@ deeradt@ + don't attempt to percent_expand() already-canonicalised + addresses, avoiding unnecessary failures when attempting to connect to scoped + IPv6 addresses (that naturally contain '%' characters) - Upstream-ID: 5cf3e26ed702888de84e2dc9d0054ccf4d9125b4 + Upstream-ID: f24569cffa1a7cbde5f08dc739a72f4d78aa5c6a -commit 6f941396b6835ad18018845f515b0c4fe20be21a +commit 19bcf2ea2d17413f2d9730dd2a19575ff86b9b6a Author: djm@openbsd.org -Date: Thu Jul 30 23:09:15 2015 +0000 +Date: Mon Feb 8 10:57:07 2016 +0000 upstream commit - fix pty permissions; patch from Nikolay Edigaryev; ok - deraadt + refactor activation of rekeying - Upstream-ID: 40ff076d2878b916fbfd8e4f45dbe5bec019e550 + This makes automatic rekeying internal to the packet code (previously + the server and client loops needed to assist). In doing to it makes + application of rekey limits more accurate by accounting for packets + about to be sent as well as packets queued during rekeying events + themselves. + + Based on a patch from dtucker@ which was in turn based on a patch + Aleksander Adamowski in bz#2521; ok markus@ + + Upstream-ID: a441227fd64f9739850ca97b4cf794202860fcd8 -commit f4373ed1e8fbc7c8ce3fc4ea97d0ba2e0c1d7ef0 -Author: deraadt@openbsd.org -Date: Thu Jul 30 19:23:02 2015 +0000 +commit 603ba41179e4b53951c7b90ee95b6ef3faa3f15d +Author: naddy@openbsd.org +Date: Fri Feb 5 13:28:19 2016 +0000 upstream commit - change default: PermitRootLogin without-password matching - install script changes coming as well ok djm markus + Only check errno if read() has returned an error. EOF is + not an error. This fixes a problem where the mux master would sporadically + fail to notice that the client had exited. ok mikeb@ djm@ - Upstream-ID: 0e2a6c4441daf5498b47a61767382bead5eb8ea6 + Upstream-ID: 3c2dadc21fac6ef64665688aac8a75fffd57ae53 -commit 0c30ba91f87fcda7e975e6ff8a057f624e87ea1c -Author: Damien Miller -Date: Thu Jul 30 12:31:39 2015 +1000 +commit 56d7dac790693ce420d225119283bc355cff9185 +Author: jsg@openbsd.org +Date: Fri Feb 5 04:31:21 2016 +0000 - downgrade OOM adjustment logging: verbose -> debug + upstream commit + + avoid an uninitialised value when NumberOfPasswordPrompts + is 0 ok markus@ djm@ + + Upstream-ID: 11b068d83c2865343aeb46acf1e9eec00f829b6b -commit f9eca249d4961f28ae4b09186d7dc91de74b5895 +commit deae7d52d59c5019c528f977360d87fdda15d20b Author: djm@openbsd.org -Date: Thu Jul 30 00:01:34 2015 +0000 +Date: Fri Feb 5 03:07:06 2016 +0000 upstream commit - Allow ssh_config and sshd_config kex parameters options be - prefixed by a '+' to indicate that the specified items be appended to the - default rather than replacing it. - - approach suggested by dtucker@, feedback dlg@, ok markus@ + mention internal DH-GEX fallback groups; bz#2302 - Upstream-ID: 0f901137298fc17095d5756ff1561a7028e8882a + Upstream-ID: e7b395fcca3122cd825515f45a2e41c9a157e09e -commit 5cefe769105a2a2e3ca7479d28d9a325d5ef0163 +commit cac3b6665f884d46192c0dc98a64112e8b11a766 Author: djm@openbsd.org -Date: Wed Jul 29 08:34:54 2015 +0000 +Date: Fri Feb 5 02:37:56 2016 +0000 upstream commit - fix bug in previous; was printing incorrect string for - failed host key algorithms negotiation + better description for MaxSessions; bz#2531 - Upstream-ID: 22c0dc6bc61930513065d92e11f0753adc4c6e6e + Upstream-ID: e2c0d74ee185cd1a3e9d4ca1f1b939b745b354da -commit f319912b0d0e1675b8bb051ed8213792c788bcb2 +commit 5ef4b0fdcc7a239577a754829b50022b91ab4712 +Author: Damien Miller +Date: Wed Jan 27 17:45:56 2016 +1100 + + avoid FreeBSD RCS Id in comment + + Change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no + +commit 696d12683c90d20a0a9c5f4275fc916b7011fb04 Author: djm@openbsd.org -Date: Wed Jul 29 04:43:06 2015 +0000 +Date: Thu Feb 4 23:43:48 2016 +0000 upstream commit - include the peer's offer when logging a failure to - negotiate a mutual set of algorithms (kex, pubkey, ciphers, etc.) ok markus@ + printf argument casts to avoid warnings on strict + compilers - Upstream-ID: bbb8caabf5c01790bb845f5ce135565248d7c796 + Upstream-ID: 7b9f6712cef01865ad29070262d366cf13587c9c -commit b6ea0e573042eb85d84defb19227c89eb74cf05a -Author: djm@openbsd.org -Date: Tue Jul 28 23:20:42 2015 +0000 +commit 5658ef2501e785fbbdf5de2dc33b1ff7a4dca73a +Author: millert@openbsd.org +Date: Mon Feb 1 21:18:17 2016 +0000 upstream commit - add Cisco to the list of clients that choke on the - hostkeys update extension. Pointed out by Howard Kash + Avoid ugly "DISPLAY "(null)" invalid; disabling X11 + forwarding" message when DISPLAY is not set. This could also result in a + crash on systems with a printf that doesn't handle NULL. OK djm@ - Upstream-ID: c9eadde28ecec056c73d09ee10ba4570dfba7e84 + Upstream-ID: 20ee0cfbda678a247264c20ed75362042b90b412 -commit 3f628c7b537291c1019ce86af90756fb4e66d0fd -Author: guenther@openbsd.org -Date: Mon Jul 27 16:29:23 2015 +0000 +commit 537f88ec7bcf40bd444ac5584c707c5588c55c43 +Author: dtucker@openbsd.org +Date: Fri Jan 29 05:18:15 2016 +0000 upstream commit - Permit kbind(2) use in the sandbox now, to ease testing - of ld.so work using it - - reminded by miod@, ok deraadt@ + Add regression test for RekeyLimit parsing of >32bit values + (4G and 8G). - Upstream-ID: 523922e4d1ba7a091e3824e77a8a3c818ee97413 + Upstream-Regress-ID: 548390350c62747b6234f522a99c319eee401328 -commit ebe27ebe520098bbc0fe58945a87ce8490121edb -Author: millert@openbsd.org -Date: Mon Jul 20 18:44:12 2015 +0000 +commit 4c6cb8330460f94e6c7ae28a364236d4188156a3 +Author: dtucker@openbsd.org +Date: Fri Jan 29 23:04:46 2016 +0000 upstream commit - Move .Pp before .Bl, not after to quiet mandoc -Tlint. - Noticed by jmc@ + Remove leftover roaming dead code. ok djm markus. - Upstream-ID: 59fadbf8407cec4e6931e50c53cfa0214a848e23 + Upstream-ID: 13d1f9c8b65a5109756bcfd3b74df949d53615be -commit d5d91d0da819611167782c66ab629159169d94d4 -Author: millert@openbsd.org -Date: Mon Jul 20 18:42:35 2015 +0000 +commit 28136471809806d6246ef41e4341467a39fe2f91 +Author: djm@openbsd.org +Date: Fri Jan 29 05:46:01 2016 +0000 upstream commit - Sync usage with SYNOPSIS + include packet type of non-data packets in debug3 output; + ok markus dtucker - Upstream-ID: 7a321a170181a54f6450deabaccb6ef60cf3f0b7 + Upstream-ID: 034eaf639acc96459b9c5ce782db9fcd8bd02d41 -commit 79ec2142fbc68dd2ed9688608da355fc0b1ed743 -Author: millert@openbsd.org -Date: Mon Jul 20 15:39:52 2015 +0000 +commit 6fd6e28daccafaa35f02741036abe64534c361a1 +Author: dtucker@openbsd.org +Date: Fri Jan 29 03:31:03 2016 +0000 upstream commit - Better desciption of Unix domain socket forwarding. - bz#2423; ok jmc@ + Revert "account for packets buffered but not yet + processed" change as it breaks for very small RekeyLimit values due to + continuous rekeying. ok djm@ - Upstream-ID: 85e28874726897e3f26ae50dfa2e8d2de683805d - -commit d56fd1828074a4031b18b8faa0bf949669eb18a0 -Author: Damien Miller -Date: Mon Jul 20 11:19:51 2015 +1000 - - make realpath.c compile -Wsign-compare clean + Upstream-ID: 7e03f636cb45ab60db18850236ccf19079182a19 -commit c63c9a691dca26bb7648827f5a13668832948929 -Author: djm@openbsd.org -Date: Mon Jul 20 00:30:01 2015 +0000 +commit 921ff00b0ac429666fb361d2d6cb1c8fff0006cb +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:54:45 2016 +0000 upstream commit - mention that the default of UseDNS=no implies that - hostnames cannot be used for host matching in sshd_config and - authorized_keys; bz#2045, ok dtucker@ + Allow RekeyLimits in excess of 4G up to 2**63 bits + (limited by the return type of scan_scaled). Part of bz#2521, ok djm. - Upstream-ID: 0812705d5f2dfa59aab01f2764ee800b1741c4e1 + Upstream-ID: 13bea82be566b9704821b1ea05bf7804335c7979 -commit 63ebcd0005e9894fcd6871b7b80aeea1fec0ff76 -Author: djm@openbsd.org -Date: Sat Jul 18 08:02:17 2015 +0000 +commit c0060a65296f01d4634f274eee184c0e93ba0f23 +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:42:46 2016 +0000 upstream commit - don't ignore PKCS#11 hosted keys that return empty - CKA_ID; patch by Jakub Jelen via bz#2429; ok markus + Account for packets buffered but not yet processed when + computing whether or not it is time to perform rekeying. bz#2521, based + loosely on a patch from olo at fb.com, ok djm@ - Upstream-ID: 2f7c94744eb0342f8ee8bf97b2351d4e00116485 + Upstream-ID: 67e268b547f990ed220f3cb70a5624d9bda12b8c -commit b15fd989c8c62074397160147a8d5bc34b3f3c63 +commit 44cf930e670488c85c9efeb373fa5f4b455692ac Author: djm@openbsd.org -Date: Sat Jul 18 08:00:21 2015 +0000 +Date: Wed Jan 27 06:44:58 2016 +0000 upstream commit - skip uninitialised PKCS#11 slots; patch from Jakub Jelen - in bz#2427 ok markus@ + change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no - Upstream-ID: 744c1e7796e237ad32992d0d02148e8a18f27d29 + Upstream-ID: 8ca558c01f184e596b45e4fc8885534b2c864722 -commit 5b64f85bb811246c59ebab70aed331f26ba37b18 +commit ebacd377769ac07d1bf3c75169644336056b7060 Author: djm@openbsd.org -Date: Sat Jul 18 07:57:14 2015 +0000 +Date: Wed Jan 27 00:53:12 2016 +0000 upstream commit - only query each keyboard-interactive device once per - authentication request regardless of how many times it is listed; ok markus@ + make the debug messages a bit more useful here - Upstream-ID: d73fafba6e86030436ff673656ec1f33d9ffeda1 + Upstream-ID: 478ccd4e897e0af8486b294aa63aa3f90ab78d64 -commit cd7324d0667794eb5c236d8a4e0f236251babc2d -Author: djm@openbsd.org -Date: Fri Jul 17 03:34:27 2015 +0000 +commit 458abc2934e82034c5c281336d8dc0f910aecad3 +Author: jsg@openbsd.org +Date: Sat Jan 23 05:31:35 2016 +0000 upstream commit - remove -u flag to diff (only used for error output) to make - things easier for -portable + Zero a stack buffer with explicit_bzero() instead of + memset() when returning from client_loop() for consistency with + buffer_free()/sshbuf_free(). - Upstream-Regress-ID: a5d6777d2909540d87afec3039d9bb2414ade548 + ok dtucker@ deraadt@ djm@ + + Upstream-ID: bc9975b2095339811c3b954694d7d15ea5c58f66 -commit deb8d99ecba70b67f4af7880b11ca8768df9ec3a -Author: djm@openbsd.org -Date: Fri Jul 17 03:09:19 2015 +0000 +commit 65a3c0dacbc7dbb75ddb6a70ebe22d8de084d0b0 +Author: dtucker@openbsd.org +Date: Wed Jan 20 09:22:39 2016 +0000 upstream commit - direct-streamlocal@openssh.com Unix domain foward - messages do not contain a "reserved for future use" field and in fact, - serverloop.c checks that there isn't one. Remove erroneous mention from - PROTOCOL description. bz#2421 from Daniel Black + Include sys/time.h for gettimeofday. From sortie at + maxsi.org. - Upstream-ID: 3d51a19e64f72f764682f1b08f35a8aa810a43ac + Upstream-ID: 6ed0c33b836d9de0a664cd091e86523ecaa2fb3b -commit 356b61f365405b5257f5b2ab446e5d7bd33a7b52 -Author: djm@openbsd.org -Date: Fri Jul 17 03:04:27 2015 +0000 +commit fc77ccdc2ce6d5d06628b8da5048a6a5f6ffca5a +Author: markus@openbsd.org +Date: Thu Jan 14 22:56:56 2016 +0000 upstream commit - describe magic for setting up Unix domain socket fowards - via the mux channel; bz#2422 patch from Daniel Black + fd leaks; report Qualys Security Advisory team; ok + deraadt@ - Upstream-ID: 943080fe3864715c423bdeb7c920bb30c4eee861 + Upstream-ID: 4ec0f12b9d8fa202293c9effa115464185aa071d -commit d3e2aee41487d55b8d7d40f538b84ff1db7989bc -Author: Darren Tucker -Date: Fri Jul 17 12:52:34 2015 +1000 +commit a306863831c57ec5fad918687cc5d289ee8e2635 +Author: markus@openbsd.org +Date: Thu Jan 14 16:17:39 2016 +0000 - Check if realpath works on nonexistent files. - - On some platforms the native realpath doesn't work with non-existent - files (this is actually specified in some versions of POSIX), however - the sftp spec says its realpath with "canonicalize any given path name". - On those platforms, use realpath from the compat library. + upstream commit - In addition, when compiling with -DFORTIFY_SOURCE, glibc redefines - the realpath symbol to the checked version, so redefine ours to - something else so we pick up the compat version we want. + remove roaming support; ok djm@ - bz#2428, ok djm@ + Upstream-ID: 2cab8f4b197bc95776fb1c8dc2859dad0c64dc56 -commit 25b14610dab655646a109db5ef8cb4c4bf2a48a0 -Author: djm@openbsd.org -Date: Fri Jul 17 02:47:45 2015 +0000 +commit 6ef49e83e30688504552ac10875feabd5521565f +Author: deraadt@openbsd.org +Date: Thu Jan 14 14:34:34 2016 +0000 upstream commit - fix incorrect test for SSH1 keys when compiled without SSH1 - support + Disable experimental client-side roaming support. Server + side was disabled/gutted for years already, but this aspect was surprisingly + forgotten. Thanks for report from Qualys - Upstream-ID: 6004d720345b8e481c405e8ad05ce2271726e451 + Upstream-ID: 2328004b58f431a554d4c1bf67f5407eae3389df -commit df56a8035d429b2184ee94aaa7e580c1ff67f73a +commit 8d7b523b96d3be180572d9d338cedaafc0570f60 +Author: Damien Miller +Date: Thu Jan 14 11:08:19 2016 +1100 + + bump version numbers + +commit 8c3d512a1fac8b9c83b4d0c9c3f2376290bd84ca +Author: Damien Miller +Date: Thu Jan 14 11:04:04 2016 +1100 + + openssh-7.1p2 + +commit e6c85f8889c5c9eb04796fdb76d2807636b9eef5 +Author: Damien Miller +Date: Fri Jan 15 01:30:36 2016 +1100 + + forcibly disable roaming support in the client + +commit ed4ce82dbfa8a3a3c8ea6fa0db113c71e234416c Author: djm@openbsd.org -Date: Wed Jul 15 08:00:11 2015 +0000 +Date: Wed Jan 13 23:04:47 2016 +0000 upstream commit - fix NULL-deref when SSH1 reenabled + eliminate fallback from untrusted X11 forwarding to trusted + forwarding when the X server disables the SECURITY extension; Reported by + Thomas Hoger; ok deraadt@ - Upstream-ID: f22fd805288c92b3e9646782d15b48894b2d5295 + Upstream-ID: f76195bd2064615a63ef9674a0e4096b0713f938 -commit 41e38c4d49dd60908484e6703316651333f16b93 +commit 9a728cc918fad67c8a9a71201088b1e150340ba4 Author: djm@openbsd.org -Date: Wed Jul 15 07:19:50 2015 +0000 +Date: Tue Jan 12 23:42:54 2016 +0000 upstream commit - regen RSA1 test keys; the last batch was missing their - private parts + use explicit_bzero() more liberally in the buffer code; ok + deraadt - Upstream-Regress-ID: 7ccf437305dd63ff0b48dd50c5fd0f4d4230c10a + Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf -commit 5bf0933184cb622ca3f96d224bf3299fd2285acc -Author: markus@openbsd.org -Date: Fri Jul 10 06:23:25 2015 +0000 +commit 4626cbaf78767fc8e9c86dd04785386c59ae0839 +Author: Damien Miller +Date: Fri Jan 8 14:24:56 2016 +1100 - upstream commit + Support Illumos/Solaris fine-grained privileges - Adapt tests, now that DSA if off by default; use - PubkeyAcceptedKeyTypes and PubkeyAcceptedKeyTypes to test DSA. + Includes a pre-auth privsep sandbox and several pledge() + emulations. bz#2511, patch by Alex Wilson. - Upstream-Regress-ID: 0ff2a3ff5ac1ce5f92321d27aa07b98656efcc5c + ok dtucker@ -commit 7a6e3fd7b41dbd3756b6bf9acd67954c0b1564cc -Author: markus@openbsd.org -Date: Tue Jul 7 14:54:16 2015 +0000 +commit 422d1b3ee977ff4c724b597fb2e437d38fc8de9d +Author: djm@openbsd.org +Date: Thu Dec 31 00:33:52 2015 +0000 upstream commit - regen test data after mktestdata.sh changes + fix three bugs in KRL code related to (unused) signature + support: verification length was being incorrectly calculated, multiple + signatures were being incorrectly processed and a NULL dereference that + occurred when signatures were verified. Reported by Carl Jackson - Upstream-Regress-ID: 3495ecb082b9a7c048a2d7c5c845d3bf181d25a4 + Upstream-ID: e705e97ad3ccce84291eaa651708dd1b9692576b -commit 7c8c174c69f681d4910fa41c37646763692b28e2 -Author: markus@openbsd.org -Date: Tue Jul 7 14:53:30 2015 +0000 +commit 6074c84bf95d00f29cc7d5d3cd3798737851aa1a +Author: djm@openbsd.org +Date: Wed Dec 30 23:46:14 2015 +0000 upstream commit - adapt tests to new minimum RSA size and default FP format + unused prototype - Upstream-Regress-ID: a4b30afd174ce82b96df14eb49fb0b81398ffd0e + Upstream-ID: f3eef4389d53ed6c0d5c77dcdcca3060c745da97 -commit 6a977a4b68747ade189e43d302f33403fd4a47ac -Author: djm@openbsd.org -Date: Fri Jul 3 04:39:23 2015 +0000 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Fri Mar 11 00:23:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33AD5ACC90D; Fri, 11 Mar 2016 00:23:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DFE401321; Fri, 11 Mar 2016 00:23:11 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0NAGa068751; Fri, 11 Mar 2016 00:23:10 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0NAkO068747; Fri, 11 Mar 2016 00:23:10 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603110023.u2B0NAkO068747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 00:23:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296634 - head/crypto/openssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:23:12 -0000 Author: des Date: Fri Mar 11 00:23:10 2016 New Revision: 296634 URL: https://svnweb.freebsd.org/changeset/base/296634 Log: Re-add AES-CBC ciphers to the default cipher list on the server. PR: 207679 Modified: head/crypto/openssh/FREEBSD-upgrade head/crypto/openssh/myproposal.h head/crypto/openssh/sshd_config.5 Modified: head/crypto/openssh/FREEBSD-upgrade ============================================================================== --- head/crypto/openssh/FREEBSD-upgrade Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/FREEBSD-upgrade Fri Mar 11 00:23:10 2016 (r296634) @@ -1,4 +1,3 @@ - FreeBSD maintainer's guide to OpenSSH-portable ============================================== @@ -166,6 +165,13 @@ ignore HPN-related configuration options to avoid breaking existing configurations. +A) AES-CBC + + The AES-CBC ciphers were removed from the server-side proposal list + in 6.7p1 due to theoretical weaknesses and the availability of + superior ciphers (including AES-CTR and AES-GCM). We have re-added + them for compatibility with third-party clients. + This port was brought to you by (in no particular order) DARPA, NAI Modified: head/crypto/openssh/myproposal.h ============================================================================== --- head/crypto/openssh/myproposal.h Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/myproposal.h Fri Mar 11 00:23:10 2016 (r296634) @@ -113,10 +113,11 @@ #define KEX_SERVER_ENCRYPT \ "chacha20-poly1305@openssh.com," \ "aes128-ctr,aes192-ctr,aes256-ctr" \ - AESGCM_CIPHER_MODES + AESGCM_CIPHER_MODES \ + ",aes128-cbc,aes192-cbc,aes256-cbc" #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT "," \ - "aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc" + "3des-cbc" #define KEX_SERVER_MAC \ "umac-64-etm@openssh.com," \ Modified: head/crypto/openssh/sshd_config.5 ============================================================================== --- head/crypto/openssh/sshd_config.5 Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/sshd_config.5 Fri Mar 11 00:23:10 2016 (r296634) @@ -482,7 +482,8 @@ The default is: .Bd -literal -offset indent chacha20-poly1305@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr, -aes128-gcm@openssh.com,aes256-gcm@openssh.com +aes128-gcm@openssh.com,aes256-gcm@openssh.com, +aes128-cbc,aes192-cbc,aes256-cbc .Ed .Pp The list of available ciphers may also be obtained using the From owner-svn-src-head@freebsd.org Fri Mar 11 01:35:42 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EAB0ACB1A9; Fri, 11 Mar 2016 01:35:42 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0DB88EF; Fri, 11 Mar 2016 01:35:41 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1ZeTf001615; Fri, 11 Mar 2016 01:35:40 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1Zd8a001604; Fri, 11 Mar 2016 01:35:39 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201603110135.u2B1Zd8a001604@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Fri, 11 Mar 2016 01:35:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:35:42 -0000 Author: sjg Date: Fri Mar 11 01:35:39 2016 New Revision: 296637 URL: https://svnweb.freebsd.org/changeset/base/296637 Log: Merge bmake-20160307 Modified: head/contrib/bmake/ChangeLog head/contrib/bmake/Makefile head/contrib/bmake/arch.c head/contrib/bmake/bmake.1 head/contrib/bmake/bmake.cat1 head/contrib/bmake/compat.c head/contrib/bmake/cond.c head/contrib/bmake/dirname.c head/contrib/bmake/for.c head/contrib/bmake/getopt.c head/contrib/bmake/job.c head/contrib/bmake/main.c head/contrib/bmake/make.1 head/contrib/bmake/make.c head/contrib/bmake/make.h head/contrib/bmake/meta.c head/contrib/bmake/meta.h head/contrib/bmake/mk/ChangeLog head/contrib/bmake/mk/auto.dep.mk head/contrib/bmake/mk/dirdeps.mk head/contrib/bmake/mk/gendirdeps.mk head/contrib/bmake/mk/install-mk head/contrib/bmake/mk/meta.autodep.mk head/contrib/bmake/mk/meta.stage.mk head/contrib/bmake/mk/meta.sys.mk head/contrib/bmake/mk/meta2deps.sh head/contrib/bmake/mk/sys.clean-env.mk head/contrib/bmake/mk/sys.dependfile.mk head/contrib/bmake/mk/warnings.mk head/contrib/bmake/nonints.h head/contrib/bmake/parse.c head/contrib/bmake/suff.c head/contrib/bmake/targ.c head/contrib/bmake/unit-tests/export-env.exp head/contrib/bmake/unit-tests/export-env.mk head/contrib/bmake/unit-tests/modts.exp head/contrib/bmake/unit-tests/modts.mk head/contrib/bmake/var.c head/share/mk/dirdeps.mk head/share/mk/gendirdeps.mk head/share/mk/meta.autodep.mk head/share/mk/meta.stage.mk head/share/mk/meta.sys.mk head/share/mk/sys.dependfile.mk head/usr.bin/bmake/Makefile Directory Properties: head/contrib/bmake/ (props changed) Modified: head/contrib/bmake/ChangeLog ============================================================================== --- head/contrib/bmake/ChangeLog Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/ChangeLog Fri Mar 11 01:35:39 2016 (r296637) @@ -1,3 +1,41 @@ +2016-03-07 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160307 + Merge with NetBSD make, pick up + o var.c: fix :ts\nnn to be octal by default. + o meta.c: meta_finish() to cleanup memory. + +2016-02-26 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160226 + Merge with NetBSD make, pick up + o meta.c: allow meta file for makeDepend if makefiles want it. + +2016-02-19 Simon J. Gerraty + + * var.c: default .MAKE.SAVE_DOLLARS to FALSE + for backwards compatability. + + * Makefile (MAKE_VERSION): 20160220 + Merge with NetBSD make, pick up + o var.c: add knob to control handling of '$$' in := + +2016-02-18 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160218 + Merge with NetBSD make, pick up + o var.c: add .export-literal allows us to fix sys.clean-env.mk + post the changes to Var_Subst. + Var_Subst now takes flags, and does not consume '$$' in := + +2016-02-17 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160217 + Merge with NetBSD make, pick up + o var.c: preserve '$$' in := + o parse.c: add .dinclude for handling included + makefile like .depend + 2015-12-20 Simon J. Gerraty * Makefile (MAKE_VERSION): 20151220 Modified: head/contrib/bmake/Makefile ============================================================================== --- head/contrib/bmake/Makefile Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/Makefile Fri Mar 11 01:35:39 2016 (r296637) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.49 2015/12/20 22:54:40 sjg Exp $ +# $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $ # Base version on src date -MAKE_VERSION= 20151220 +MAKE_VERSION= 20160307 PROG= bmake Modified: head/contrib/bmake/arch.c ============================================================================== --- head/contrib/bmake/arch.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/arch.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -136,7 +136,6 @@ __RCSID("$NetBSD: arch.c,v 1.64 2015/10/ #include #include #include -#include #ifdef HAVE_AR_H #include #else @@ -156,7 +155,6 @@ struct ar_hdr { #if defined(HAVE_RANLIB_H) && !(defined(__ELF__) || defined(NO_RANLIB)) #include #endif -#include #include #include #ifdef HAVE_UTIME_H @@ -254,8 +252,7 @@ ArchFree(void *ap) free(Hash_GetValue(entry)); free(a->name); - if (a->fnametab) - free(a->fnametab); + free(a->fnametab); Hash_DeleteTable(&a->members); free(a); } @@ -310,9 +307,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -325,7 +323,7 @@ Arch_ParseArchive(char **linePtr, Lst no *cp++ = '\0'; if (subLibName) { - libName = Var_Subst(NULL, libName, ctxt, TRUE, TRUE); + libName = Var_Subst(NULL, libName, ctxt, VARF_UNDEFERR|VARF_WANTRES); } @@ -351,9 +349,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -404,7 +403,8 @@ Arch_ParseArchive(char **linePtr, Lst no char *oldMemName = memName; size_t sz; - memName = Var_Subst(NULL, memName, ctxt, TRUE, TRUE); + memName = Var_Subst(NULL, memName, ctxt, + VARF_UNDEFERR|VARF_WANTRES); /* * Now form an archive spec and recurse to deal with nested @@ -759,8 +759,7 @@ ArchStatMember(char *archive, char *memb badarch: fclose(arch); Hash_DeleteTable(&ar->members); - if (ar->fnametab) - free(ar->fnametab); + free(ar->fnametab); free(ar); return NULL; } @@ -1045,10 +1044,10 @@ Arch_Touch(GNode *gn) arch = ArchFindMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), &arh, "r+"); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); + snprintf(arh.AR_DATE, sizeof(arh.AR_DATE), "%-12ld", (long) now); if (arch != NULL) { @@ -1127,10 +1126,9 @@ Arch_MTime(GNode *gn) arhPtr = ArchStatMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), TRUE); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); if (arhPtr != NULL) { modTime = (time_t)strtol(arhPtr->AR_DATE, NULL, 10); Modified: head/contrib/bmake/bmake.1 ============================================================================== --- head/contrib/bmake/bmake.1 Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/bmake.1 Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.249 2015/06/05 07:33:40 wiz Exp $ +.\" $NetBSD: make.1,v 1.254 2016/02/20 01:43:28 wiz Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd June 4, 2015 +.Dd February 19, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -293,7 +293,7 @@ then will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of -the Makefile and then works upward towards the root of the filesystem. +the Makefile and then works upward towards the root of the file system. If the search is successful, then the resulting directory replaces the .Qq \&.../ specification in the @@ -868,7 +868,7 @@ This can be overridden by setting .Va bf to a value which represents True. .It Pa env -For debugging, it can be useful to inlcude the environment +For debugging, it can be useful to include the environment in the .meta file. .It Pa verbose If in "meta" mode, print a clue about the target being built. @@ -918,7 +918,7 @@ The default value is: This variable is used to record the names of variables assigned to on the command line, so that they may be exported as part of .Ql Ev MAKEFLAGS . -This behaviour can be disabled by assigning an empty value to +This behavior can be disabled by assigning an empty value to .Ql Va .MAKEOVERRIDES within a makefile. Extra variables can be exported from a makefile @@ -941,6 +941,19 @@ The process-id of .It Va .MAKE.PPID The parent process-id of .Nm . +.It Va .MAKE.SAVE_DOLLARS +value should be a boolean that controls whether +.Ql $$ +are preserved when doing +.Ql := +assignments. +The default is false, for backwards compatibility. +Set to true for compatability with other makes. +If set to false, +.Ql $$ +becomes +.Ql $ +per normal evaluation rules. .It Va MAKE_PRINT_VAR_ON_ERROR When .Nm @@ -1044,7 +1057,7 @@ sets to the value of .Ql Ev PWD instead. -This behaviour is disabled if +This behavior is disabled if .Ql Ev MAKEOBJDIRPREFIX is set or .Ql Ev MAKEOBJDIR @@ -1114,7 +1127,7 @@ The wildcard characters may be escaped w As a consequence of the way values are split into words, matched, and then joined, a construct like .Dl ${VAR:M*} -will normalise the inter-word spacing, removing all leading and +will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. . @@ -1134,7 +1147,7 @@ Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment with expansion .Pq Ql Cm \&:= -to prevent such behaviour. +to prevent such behavior. For example, .Bd -literal -offset indent LIST= uno due tre quattro @@ -1166,7 +1179,7 @@ The value is a format string for using the current .Xr gmtime 3 . .It Cm \&:hash -Compute a 32bit hash of the value and encode it as hex digits. +Compute a 32-bit hash of the value and encode it as hex digits. .It Cm \&:localtime The value is a format string for .Xr strftime 3 , @@ -1444,7 +1457,7 @@ value is divided into words. .Pp Ordinarily, a value is treated as a sequence of words delimited by white space. -Some modifiers suppress this behaviour, +Some modifiers suppress this behavior, causing a value to be treated as a single word (possibly containing embedded white space). An empty value, or a value that consists entirely of white-space, @@ -1530,12 +1543,20 @@ For compatibility with other versions of .Nm .Ql include file ... is also accepted. +.Pp If the include statement is written as .Cm .-include or as .Cm .sinclude then errors locating and/or opening include files are ignored. .Pp +If the include statement is written as +.Cm .dinclude +not only are errors locating and/or opening include files ignored, +but stale dependencies within the included file will be ignored +just like +.Va .MAKE.DEPENDFILE . +.Pp Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -1571,6 +1592,10 @@ This allows exporting a value to the env used by .Nm internally. +.It Ic .export-literal Ar variable ... +The same as +.Ql .export-env , +except that variables in the value are not expanded. .It Ic .info Ar message The message is printed along with the name of the makefile and line number. .It Ic .undef Ar variable @@ -2068,7 +2093,7 @@ The sources are a set of pairs. .Bl -tag -width hasErrCtls .It Ar name -This is the minimal specification, used to select one of the builtin +This is the minimal specification, used to select one of the built-in shell specs; .Ar sh , .Ar ksh , Modified: head/contrib/bmake/bmake.cat1 ============================================================================== --- head/contrib/bmake/bmake.cat1 Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/bmake.cat1 Fri Mar 11 01:35:39 2016 (r296637) @@ -178,11 +178,11 @@ DDEESSCCRRIIPPTTIIOONN then bbmmaakkee will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of the Makefile and then works upward - towards the root of the filesystem. If the search is successful, - then the resulting directory replaces the ".../" specification in - the --mm argument. If used, this feature allows bbmmaakkee to easily - search in the current source tree for customized sys.mk files - (e.g., by using ".../mk/sys.mk" as an argument). + towards the root of the file system. If the search is success- + ful, then the resulting directory replaces the ".../" specifica- + tion in the --mm argument. If used, this feature allows bbmmaakkee to + easily search in the current source tree for customized sys.mk + files (e.g., by using ".../mk/sys.mk" as an argument). --nn Display the commands that would have been executed, but do not actually execute them unless the target depends on the .MAKE spe- @@ -543,7 +543,7 @@ VVAARRIIAABBLLEE AASSSSIIGG in `_._C_U_R_D_I_R'. This can be overridden by set- ting _b_f to a value which represents True. - _e_n_v For debugging, it can be useful to inlcude + _e_n_v For debugging, it can be useful to include the environment in the .meta file. _v_e_r_b_o_s_e If in "meta" mode, print a clue about the @@ -591,7 +591,7 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_O_V_E_R_R_I_D_E_S This variable is used to record the names of variables assigned to on the command line, so that they may be - exported as part of `MAKEFLAGS'. This behaviour can be + exported as part of `MAKEFLAGS'. This behavior can be disabled by assigning an empty value to `_._M_A_K_E_O_V_E_R_R_I_D_E_S' within a makefile. Extra variables can be exported from a makefile by appending their names to `_._M_A_K_E_O_V_E_R_R_I_D_E_S'. @@ -607,6 +607,13 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_._P_P_I_D The parent process-id of bbmmaakkee. + _._M_A_K_E_._S_A_V_E___D_O_L_L_A_R_S + value should be a boolean that controls whether `$$' are + preserved when doing `:=' assignments. The default is + false, for backwards compatibility. Set to true for com- + patability with other makes. If set to false, `$$' + becomes `$' per normal evaluation rules. + _M_A_K_E___P_R_I_N_T___V_A_R___O_N___E_R_R_O_R When bbmmaakkee stops due to an error, it prints its name and the value of `_._C_U_R_D_I_R' as well as the value of any vari- @@ -670,7 +677,7 @@ VVAARRIIAABBLLEE AASSSSIIGG sets `_._C_U_R_D_I_R' to the canonical path given by getcwd(3). However, if the environment variable `PWD' is set and gives a path to the current directory, then bbmmaakkee sets - `_._C_U_R_D_I_R' to the value of `PWD' instead. This behaviour + `_._C_U_R_D_I_R' to the value of `PWD' instead. This behavior is disabled if `MAKEOBJDIRPREFIX' is set or `MAKEOBJDIR' contains a variable transform. `PWD' is set to the value of `_._O_B_J_D_I_R' for all programs which bbmmaakkee executes. @@ -717,7 +724,7 @@ VVAARRIIAABBLLEE AASSSSIIGG of the way values are split into words, matched, and then joined, a construct like ${VAR:M*} - will normalise the inter-word spacing, removing all leading and + will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. @@ -730,7 +737,7 @@ VVAARRIIAABBLLEE AASSSSIIGG ::OOxx Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment - with expansion (`::==') to prevent such behaviour. For example, + with expansion (`::==') to prevent such behavior. For example, LIST= uno due tre quattro RANDOM_LIST= ${LIST:Ox} @@ -758,7 +765,7 @@ VVAARRIIAABBLLEE AASSSSIIGG gmtime(3). ::hhaasshh - Compute a 32bit hash of the value and encode it as hex digits. + Compute a 32-bit hash of the value and encode it as hex digits. ::llooccaallttiimmee The value is a format string for strftime(3), using the current @@ -914,13 +921,13 @@ VVAARRIIAABBLLEE AASSSSIIGG tions related to the way in which the value is divided into words. Ordinarily, a value is treated as a sequence of words delimited by - white space. Some modifiers suppress this behaviour, causing a - value to be treated as a single word (possibly containing embedded - white space). An empty value, or a value that consists entirely of - white-space, is treated as a single word. For the purposes of the - `::[[]]' modifier, the words are indexed both forwards using positive - integers (where index 1 represents the first word), and backwards - using negative integers (where index -1 represents the last word). + white space. Some modifiers suppress this behavior, causing a value + to be treated as a single word (possibly containing embedded white + space). An empty value, or a value that consists entirely of white- + space, is treated as a single word. For the purposes of the `::[[]]' + modifier, the words are indexed both forwards using positive inte- + gers (where index 1 represents the first word), and backwards using + negative integers (where index -1 represents the last word). The _r_a_n_g_e is subjected to variable expansion, and the expanded result is then interpreted as follows: @@ -957,8 +964,14 @@ IINNCCLLUUDDEE SSTTAATTEEMM used, the including makefile's directory and any directories specified using the --II option are searched before the system makefile directory. For compatibility with other versions of bbmmaakkee `include file ...' is also - accepted. If the include statement is written as ..--iinncclluuddee or as - ..ssiinncclluuddee then errors locating and/or opening include files are ignored. + accepted. + + If the include statement is written as ..--iinncclluuddee or as ..ssiinncclluuddee then + errors locating and/or opening include files are ignored. + + If the include statement is written as ..ddiinncclluuddee not only are errors + locating and/or opening include files ignored, but stale dependencies + within the included file will be ignored just like _._M_A_K_E_._D_E_P_E_N_D_F_I_L_E. Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -982,6 +995,10 @@ IINNCCLLUUDDEE SSTTAATTEEMM to _._M_A_K_E_._E_X_P_O_R_T_E_D. This allows exporting a value to the environ- ment which is different from that used by bbmmaakkee internally. + ..eexxppoorrtt--lliitteerraall _v_a_r_i_a_b_l_e _._._. + The same as `.export-env', except that variables in the value are + not expanded. + ..iinnffoo _m_e_s_s_a_g_e The message is printed along with the name of the makefile and line number. @@ -1307,7 +1324,7 @@ SSPPEECCIIAALL TTAARRGGEETT sources are a set of _f_i_e_l_d_=_v_a_l_u_e pairs. _n_a_m_e This is the minimal specification, used to select - one of the builtin shell specs; _s_h, _k_s_h, and _c_s_h. + one of the built-in shell specs; _s_h, _k_s_h, and _c_s_h. _p_a_t_h Specifies the path to the shell. @@ -1452,4 +1469,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 June 4, 2015 NetBSD 5.1 +NetBSD 5.1 February 19, 2016 NetBSD 5.1 Modified: head/contrib/bmake/compat.c ============================================================================== --- head/contrib/bmake/compat.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/compat.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -146,8 +146,8 @@ CompatInterrupt(int signo) if (!noExecute && eunlink(file) != -1) { Error("*** %s removed", file); } - if (p1) - free(p1); + + free(p1); /* * Run .INTERRUPT only if hit with interrupt signal @@ -213,7 +213,7 @@ CompatRunCommand(void *cmdp, void *gnp) doIt = FALSE; cmdNode = Lst_Member(gn->commands, cmd); - cmdStart = Var_Subst(NULL, cmd, gn, FALSE, TRUE); + cmdStart = Var_Subst(NULL, cmd, gn, VARF_WANTRES); /* * brk_string will return an argv with a NULL in av[0], thus causing @@ -374,10 +374,10 @@ again: execError("exec", av[0]); _exit(1); } - if (mav) - free(mav); - if (bp) - free(bp); + + free(mav); + free(bp); + Lst_Replace(cmdNode, NULL); #ifdef USE_META @@ -516,8 +516,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } /* @@ -620,8 +619,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } switch(gn->made) { case BEINGMADE: Modified: head/contrib/bmake/cond.c ============================================================================== --- head/contrib/bmake/cond.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/cond.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $ */ +/* $NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"); +__RCSID("$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -289,10 +289,10 @@ CondGetArg(char **linePtr, char **argPtr int len; void *freeIt; - cp2 = Var_Parse(cp, VAR_CMD, TRUE, TRUE, &len, &freeIt); + cp2 = Var_Parse(cp, VAR_CMD, VARF_UNDEFERR|VARF_WANTRES, + &len, &freeIt); Buf_AddBytes(&buf, strlen(cp2), cp2); - if (freeIt) - free(freeIt); + free(freeIt); cp += len; continue; } @@ -346,8 +346,8 @@ CondDoDefined(int argLen MAKE_ATTR_UNUSE } else { result = FALSE; } - if (p1) - free(p1); + + free(p1); return (result); } @@ -574,8 +574,9 @@ CondGetString(Boolean doEval, Boolean *q break; case '$': /* if we are in quotes, then an undefined variable is ok */ - str = Var_Parse(condExpr, VAR_CMD, (qt ? 0 : doEval), - TRUE, &len, freeIt); + str = Var_Parse(condExpr, VAR_CMD, + ((!qt && doEval) ? VARF_UNDEFERR : 0) | + VARF_WANTRES, &len, freeIt); if (str == var_Error) { if (*freeIt) { free(*freeIt); @@ -805,10 +806,8 @@ do_string_compare: } done: - if (lhsFree) - free(lhsFree); - if (rhsFree) - free(rhsFree); + free(lhsFree); + free(rhsFree); return t; } @@ -827,7 +826,7 @@ get_mpt_arg(char **linePtr, char **argPt /* We do all the work here and return the result as the length */ *argPtr = NULL; - val = Var_Parse(cp - 1, VAR_CMD, FALSE, TRUE, &length, &freeIt); + val = Var_Parse(cp - 1, VAR_CMD, VARF_WANTRES, &length, &freeIt); /* * Advance *linePtr to beyond the closing ). Note that * we subtract one because 'length' is calculated from 'cp - 1'. @@ -848,8 +847,7 @@ get_mpt_arg(char **linePtr, char **argPt * true/false here. */ length = *val ? 2 : 1; - if (freeIt) - free(freeIt); + free(freeIt); return length; } @@ -900,8 +898,7 @@ compare_function(Boolean doEval) } /* Evaluate the argument using the required function. */ t = !doEval || fn_def->fn_proc(arglen, arg); - if (arg) - free(arg); + free(arg); condExpr = cp; return t; } @@ -933,8 +930,7 @@ compare_function(Boolean doEval) * be empty - even if it contained a variable expansion. */ t = !doEval || if_info->defProc(arglen, arg) != if_info->doNot; - if (arg) - free(arg); + free(arg); return t; } Modified: head/contrib/bmake/dirname.c ============================================================================== --- head/contrib/bmake/dirname.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/dirname.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: dirname.c,v 1.11 2009/11/24 13:34:20 tnozaki Exp $ */ +/* $NetBSD: dirname.c,v 1.13 2014/07/16 10:52:26 christos Exp $ */ /*- * Copyright (c) 1997, 2002 The NetBSD Foundation, Inc. @@ -35,7 +35,10 @@ #ifndef HAVE_DIRNAME #include - +#include +#ifdef HAVE_LIBGEN_H +#include +#endif #ifdef HAVE_LIMITS_H #include #endif @@ -45,51 +48,73 @@ #ifndef PATH_MAX # define PATH_MAX 1024 #endif +#ifndef MIN +# define MIN(a, b) ((a < b) ? a : b) +#endif -char * -dirname(char *path) + +static size_t +xdirname_r(const char *path, char *buf, size_t buflen) { - static char result[PATH_MAX]; - const char *lastp; + const char *endp; size_t len; /* * If `path' is a null pointer or points to an empty string, * return a pointer to the string ".". */ - if ((path == NULL) || (*path == '\0')) - goto singledot; - + if (path == NULL || *path == '\0') { + path = "."; + len = 1; + goto out; + } /* Strip trailing slashes, if any. */ - lastp = path + strlen(path) - 1; - while (lastp != path && *lastp == '/') - lastp--; - - /* Terminate path at the last occurence of '/'. */ - do { - if (*lastp == '/') { - /* Strip trailing slashes, if any. */ - while (lastp != path && *lastp == '/') - lastp--; - - /* ...and copy the result into the result buffer. */ - len = (lastp - path) + 1 /* last char */; - if (len > (PATH_MAX - 1)) - len = PATH_MAX - 1; - - memcpy(result, path, len); - result[len] = '\0'; - - return (result); - } - } while (--lastp >= path); - - /* No /'s found, return a pointer to the string ".". */ -singledot: - result[0] = '.'; - result[1] = '\0'; + endp = path + strlen(path) - 1; + while (endp != path && *endp == '/') + endp--; + + /* Find the start of the dir */ + while (endp > path && *endp != '/') + endp--; + + if (endp == path) { + path = *endp == '/' ? "/" : "."; + len = 1; + goto out; + } + + do + endp--; + while (endp > path && *endp == '/'); + + len = endp - path + 1; +out: + if (buf != NULL && buflen != 0) { + buflen = MIN(len, buflen - 1); + memcpy(buf, path, buflen); + buf[buflen] = '\0'; + } + return len; +} - return (result); +char * +dirname(char *path) +{ + static char result[PATH_MAX]; + (void)xdirname_r(path, result, sizeof(result)); + return result; } + +#ifdef MAIN +#include +#include + +int +main(int argc, char *argv[]) +{ + printf("%s\n", dirname(argv[1])); + exit(0); +} +#endif #endif Modified: head/contrib/bmake/for.c ============================================================================== --- head/contrib/bmake/for.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/for.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1992, The Regents of the University of California. @@ -30,14 +30,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)for.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -216,7 +216,7 @@ For_Eval(char *line) * We can't do the escapes here - because we don't know whether * we are substuting into ${...} or $(...). */ - sub = Var_Subst(NULL, ptr, VAR_GLOBAL, FALSE, TRUE); + sub = Var_Subst(NULL, ptr, VAR_GLOBAL, VARF_WANTRES); /* * Split into words allowing for quoted strings. Modified: head/contrib/bmake/getopt.c ============================================================================== --- head/contrib/bmake/getopt.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/getopt.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,3 +1,5 @@ +/* $NetBSD: getopt.c,v 1.29 2014/06/05 22:00:22 christos Exp $ */ + /* * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -10,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -35,11 +33,7 @@ # include "config.h" #endif #if !defined(HAVE_GETOPT) || defined(WANT_GETOPT_LONG) || defined(BROKEN_GETOPT) - -#if defined(LIBC_SCCS) && !defined(lint) -/* static char sccsid[] = "from: @(#)getopt.c 8.2 (Berkeley) 4/2/94"; */ -static char *rcsid = "$Id: getopt.c,v 1.3 1999/01/08 02:14:18 sjg Exp $"; -#endif /* LIBC_SCCS and not lint */ +#include #include #include @@ -61,13 +55,10 @@ char *optarg; /* argument associated wi * Parse argc/argv argument vector. */ int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; +getopt(int nargc, char * const nargv[], const char *ostr) { extern char *__progname; - static char *place = EMSG; /* option letter processing */ + static const char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ #ifndef BSD4_4 @@ -79,43 +70,63 @@ getopt(nargc, nargv, ostr) } #endif - if (optreset || !*place) { /* update scanning pointer */ + if (optreset || *place == 0) { /* update scanning pointer */ optreset = 0; - if (optind >= nargc || *(place = nargv[optind]) != '-') { + place = nargv[optind]; + if (optind >= nargc || *place++ != '-') { + /* Argument is absent or is not an option */ place = EMSG; return (-1); } - if (place[1] && *++place == '-' /* found "--" */ - && !place[1]) { /* and not "--foo" */ + optopt = *place++; + if (optopt == '-' && *place == 0) { + /* "--" => end of options */ ++optind; place = EMSG; return (-1); } - } /* option letter okay? */ - if ((optopt = (int)*place++) == (int)':' || - !(oli = strchr(ostr, optopt))) { - /* - * if the user didn't specify '-' as an option, - * assume it means -1. - */ - if (optopt == (int)'-') - return (-1); - if (!*place) + if (optopt == 0) { + /* Solitary '-', treat as a '-' option + if the program (eg su) is looking for it. */ + place = EMSG; + if (strchr(ostr, '-') == NULL) + return -1; + optopt = '-'; + } + } else + optopt = *place++; + + /* See if option letter is one the caller wanted... */ + if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) { + if (*place == 0) ++optind; if (opterr && *ostr != ':') (void)fprintf(stderr, - "%s: illegal option -- %c\n", __progname, optopt); + "%s: unknown option -- %c\n", __progname, optopt); return (BADCH); } - if (*++oli != ':') { /* don't need argument */ + + /* Does this option need an argument? */ + if (oli[1] != ':') { + /* don't need argument */ optarg = NULL; - if (!*place) + if (*place == 0) ++optind; - } - else { /* need an argument */ - if (*place) /* no white space */ - optarg = place; - else if (nargc <= ++optind) { /* no arg */ + } else { + /* Option-argument is either the rest of this argument or the + entire next argument. */ + if (*place) + optarg = __UNCONST(place); + else if (oli[2] == ':') + /* + * GNU Extension, for optional arguments if the rest of + * the argument is empty, we return NULL + */ + optarg = NULL; + else if (nargc > ++optind) + optarg = nargv[optind]; + else { + /* option-argument absent */ place = EMSG; if (*ostr == ':') return (BADARG); @@ -125,12 +136,10 @@ getopt(nargc, nargv, ostr) __progname, optopt); return (BADCH); } - else /* white space */ - optarg = nargv[optind]; place = EMSG; ++optind; } - return (optopt); /* dump back option letter */ + return (optopt); /* return option letter */ } #endif *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Fri Mar 11 01:54:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB43BACB8B6; Fri, 11 Mar 2016 01:54:44 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 82BFB3E7; Fri, 11 Mar 2016 01:54:44 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1sh2F007658; Fri, 11 Mar 2016 01:54:43 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1shxo007657; Fri, 11 Mar 2016 01:54:43 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603110154.u2B1shxo007657@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 01:54:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296640 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:54:44 -0000 Author: np Date: Fri Mar 11 01:54:43 2016 New Revision: 296640 URL: https://svnweb.freebsd.org/changeset/base/296640 Log: cxgbe(4): Add a sysctl for the event capture mask of the TP block's logic analyzer. dev.t5nex..misc.tp_la_mask dev.t4nex..misc.tp_la_mask Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:41:09 2016 (r296639) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:54:43 2016 (r296640) @@ -476,6 +476,7 @@ static int sysctl_rdma_stats(SYSCTL_HAND static int sysctl_tcp_stats(SYSCTL_HANDLER_ARGS); static int sysctl_tids(SYSCTL_HANDLER_ARGS); static int sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS); static int sysctl_tp_la(SYSCTL_HANDLER_ARGS); static int sysctl_tx_rate(SYSCTL_HANDLER_ARGS); static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); @@ -4808,6 +4809,10 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_err_stats, "A", "TP error statistics"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tp_la_mask", + CTLTYPE_INT | CTLFLAG_RW, sc, 0, sysctl_tp_la_mask, "I", + "TP logic analyzer event capture mask"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tp_la", CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_la, "A", "TP logic analyzer"); @@ -6994,6 +6999,26 @@ sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS) return (rc); } +static int +sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + struct tp_params *tpp = &sc->params.tp; + u_int mask; + int rc; + + mask = tpp->la_mask >> 16; + rc = sysctl_handle_int(oidp, &mask, 0, req); + if (rc != 0 || req->newptr == NULL) + return (rc); + if (mask > 0xffff) + return (EINVAL); + tpp->la_mask = mask << 16; + t4_set_reg_field(sc, A_TP_DBG_LA_CONFIG, 0xffff0000U, tpp->la_mask); + + return (0); +} + struct field_desc { const char *name; u_int start; From owner-svn-src-head@freebsd.org Fri Mar 11 01:58:52 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA9CFACB9BA for ; Fri, 11 Mar 2016 01:58:52 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4E2680E for ; Fri, 11 Mar 2016 01:58:52 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22d.google.com with SMTP id n190so128902330iof.0 for ; Thu, 10 Mar 2016 17:58:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=KRpyS46HbJ5wMazOzON5zYHt20Cbg9cCdemK1E/PB+Y=; b=pk9s+RvyjaZ1sd6zH19zu3TKX1x5BIEEakcvjQoHCheM3Ek9OY8gUYoe+NP+pTqtKW XkLFJKT8kZTJ2wtvI6C3/FNt78Gg0rv9DuOkTxfoI+rP7n+aHN/KHN6dCyEqeS2jDaJ9 cv7GGwrZ7h7Qkeuxfkk/GdVAY6ufYKflwcCr25C/mrNYk03rOQ5Hh2bvZkvnvFQdbnYo C48ue3KkEppWli4NrChPh+cjPqmzhBemGV7V3HavvtcyW1Z1xr3gMoE3zQeGwDqbiazo p5fm2LVSsskMNCv0wTx+gx5iW62rr+Rs7m6rZ6tgcxYyf3QE/2g9TtQcyx3tOSJLG9vS oSZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=KRpyS46HbJ5wMazOzON5zYHt20Cbg9cCdemK1E/PB+Y=; b=mSO5Gr7/QBOlNucylYWvxz2e4nysODeGoLpc+JC/adjcgohFy1RgEKfKHQtlNispUl A7g6zHq6/vKjCJ28nUSg47dRNRcUctpbtKame8X27EOR9Kf6XjZuyhIt7RBo2JVY5jGa vx5VCBG/JCMByWGfrrRUH47IluFMra8mOUC58CiwqtzfxYihXE3JLbnsy+Y00LRw9ib6 vdvTesxpSnT6lPc8sG46Vaaa1SdTAFq26a26K7vpJjecuIL4jXWaOCJNxp+QcQP3wn4r kqpeH+Rpj+gojIMNQsK7js+pT1bf7vQ7bmit1Te8ncUb6GiRe0o/vCD9xk7vWqDJdA8z 3s3Q== X-Gm-Message-State: AD7BkJIIPlouhAWiqLXjAaCuvg+2e1uLBlUlBqf9TjsHLkh+WVSH5lzp8KGLSMBsUDWs8YB5/027HQ4VJCLnRw== MIME-Version: 1.0 X-Received: by 10.107.135.226 with SMTP id r95mr6618556ioi.59.1457661531688; Thu, 10 Mar 2016 17:58:51 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 17:58:50 -0800 (PST) X-Originating-IP: [2607:fb90:1908:151e:0:3d:6915:1701] Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 17:58:50 -0800 (PST) In-Reply-To: <56E1F72D.7000002@FreeBSD.org> References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 18:58:50 -0700 X-Google-Sender-Auth: 2DGlHHj_XPkNdGucvLrn7vtrT8s Message-ID: Subject: Re: svn commit: r296589 - head/sys/dev/fdc From: Warner Losh To: Bryan Drewery Cc: src-committers , svn-src-head@freebsd.org, svn-src-all@freebsd.org, Warner Losh Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:58:53 -0000 On Mar 10, 2016 3:37 PM, "Bryan Drewery" wrote: > > On 3/9/16 4:33 PM, Warner Losh wrote: > > Author: imp > > Date: Thu Mar 10 00:33:06 2016 > > New Revision: 296589 > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > Log: > > Stop assuming that bio_cmd is a bit field. > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > Modified: > > head/sys/dev/fdc/fdc.c > > > > Modified: head/sys/dev/fdc/fdc.c > > ============================================================================== > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > /* Disable ISADMA if we bailed while it was active */ > > if (fd != NULL && (fd->flags & FD_ISADMA)) { > > isa_dmadone( > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > I think we should have some kind of file (like ports CHANGES) that lists > subtle KPI changes. This and the bio bzero change were easily missed > and could lead to who-knows-what downstream for vendors or even > out-of-tree modules. True. However, these have never been documented one way or another.... And this change isn't a change yet... I'd love a kpi change file. This is but one of many. We'd need someone clueful to watch the tree and remind people to add things to it. I'm also working on documenting our storage api so that people know better what is defined, vs what's there and subject to change. > Btw there are some missed still: > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { That makes me sad. Code like that has never been guaranteed. Bare constants.... shudder. Warner From owner-svn-src-head@freebsd.org Fri Mar 11 03:05:52 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0754ACCBC1; Fri, 11 Mar 2016 03:05:52 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io0-x22b.google.com (mail-io0-x22b.google.com [IPv6:2607:f8b0:4001:c06::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A9BAB15AD; Fri, 11 Mar 2016 03:05:52 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-io0-x22b.google.com with SMTP id m184so130312225iof.1; Thu, 10 Mar 2016 19:05:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=mQq8oXPEX49Sm+f/LD7zb4ToSb6dL+OfscDpaiMXuas=; b=0JHI8WaEl2oTy2Ck2hKxm4ysGjjXFaVDu/WhS+4Be/4RmR1WNG+fbh6r3XAs2BaPbM c9WdbWRwHagfMlHWgStoRmBvfys5JpBVBoSqsobyYmy83UoK8Ap4LP0fZhXQh4YWQTeP 0eQQS4pTmdHT3nJ5JbLbt3h4OL7983kJwBBErTdcNqwIDB2NVix/jFD/S6p5MstrUYxM rRjajN9OUcrEtywI/vOKOMQZ1dYP2KdcuG0uvsVeCi+0ADdx3ihYvLQAEYeNmcgezEFK 23pYZKibD6k0WWXDdIMbM0nOqyyF64pjiOUkM/c4+RgekfZWz6CUr/9AG13voitiXuiX TvtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=mQq8oXPEX49Sm+f/LD7zb4ToSb6dL+OfscDpaiMXuas=; b=gsKZC5UgbwvKBMHeXcNrMxnhnEJ11Kfb+d/IZjEI8whgARLkNVQXehDSvFj7XE9kPw uQJ5Eyg8GDeNmmt1JyIBaAIIn5ugD0owKsz2N6PGEsTlY5MFi2MMgbMSYTI3mPLBTpqx UzUZ0io9e1m7w3v7aMh6i4dymlC9Y/s/+Tlu1cjUnSLBoyWuQxS2vzIFjg7A2YqLTll3 0etxV9qQwWyxzozIlM9Hv8tv+qfSI09BFSh3SwAv5ZBm5yUQyx0FaIIWgt0YKDFt4moM XbCsnkzs8J2ThAGeom5+EIQtpz1TJfbI4zZiGk/AH36TDaR6qpjNwhy0pXRrJGnGHRFn HXVg== X-Gm-Message-State: AD7BkJLkYieJTB+tn8J93MrmfpBDpKL7cilKsBt7jWcx9s4EZccVbgAQJdRu0EfBKDHu22l7rU/UqkvOWSMtHA== X-Received: by 10.107.159.148 with SMTP id i142mr6774264ioe.29.1457665551753; Thu, 10 Mar 2016 19:05:51 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Thu, 10 Mar 2016 19:05:32 -0800 (PST) In-Reply-To: <201603110015.u2B0FT5v065136@repo.freebsd.org> References: <201603110015.u2B0FT5v065136@repo.freebsd.org> From: Ed Maste Date: Fri, 11 Mar 2016 03:05:32 +0000 X-Google-Sender-Auth: YjVn-x3EumdoZAjQ2iw37EA4Ys4 Message-ID: Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:05:53 -0000 On 11 March 2016 at 00:15, Dag-Erling Sm=C3=B8rgrav wrote= : > Author: des > Date: Fri Mar 11 00:15:29 2016 > New Revision: 296633 > URL: https://svnweb.freebsd.org/changeset/base/296633 > > Log: > Upgrade to OpenSSH 7.2p2. It looks like this broke mips: In file included from /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto/o= penssh/key.h:29, from /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/pam_ssh.c:60: /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto/o= penssh/sshkey.h:145: warning: '__bounded__' attribute directive ignored From owner-svn-src-head@freebsd.org Fri Mar 11 03:15:19 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59F7AACCEBF; Fri, 11 Mar 2016 03:15:19 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 349A61C12; Fri, 11 Mar 2016 03:15:19 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B3FIkV032214; Fri, 11 Mar 2016 03:15:18 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B3FIJR032211; Fri, 11 Mar 2016 03:15:18 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603110315.u2B3FIJR032211@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 03:15:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296641 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:15:19 -0000 Author: np Date: Fri Mar 11 03:15:17 2016 New Revision: 296641 URL: https://svnweb.freebsd.org/changeset/base/296641 Log: cxgbe(4): Add sysctls to display the TP microcode version and the expansion rom version (if there's one). trantor:~# sysctl dev.t4nex dev.t5nex | grep _version dev.t4nex.0.firmware_version: 1.15.28.0 dev.t4nex.0.tp_version: 0.1.9.4 dev.t5nex.0.firmware_version: 1.15.28.0 dev.t5nex.0.exprom_version: 1.0.0.68 dev.t5nex.0.tp_version: 0.1.4.9 Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/adapter.h Fri Mar 11 03:15:17 2016 (r296641) @@ -803,7 +803,9 @@ struct adapter { int tracer_valid; /* bitmap of valid tracers */ int tracer_enabled; /* bitmap of enabled tracers */ - char fw_version[32]; + char fw_version[16]; + char tp_version[16]; + char exprom_version[16]; char cfg_file[32]; u_int cfcsum; struct adapter_params params; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/common/common.h Fri Mar 11 03:15:17 2016 (r296641) @@ -290,6 +290,7 @@ struct adapter_params { unsigned int fw_vers; unsigned int tp_vers; + unsigned int exprom_vers; unsigned short mtus[NMTUS]; unsigned short a_wnd[NCCTRL_WIN]; Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 03:15:17 2016 (r296641) @@ -2826,7 +2826,24 @@ prep_firmware(struct adapter *sc) G_FW_HDR_FW_VER_MINOR(sc->params.fw_vers), G_FW_HDR_FW_VER_MICRO(sc->params.fw_vers), G_FW_HDR_FW_VER_BUILD(sc->params.fw_vers)); + t4_get_tp_version(sc, &sc->params.tp_vers); + snprintf(sc->tp_version, sizeof(sc->tp_version), "%u.%u.%u.%u", + G_FW_HDR_FW_VER_MAJOR(sc->params.tp_vers), + G_FW_HDR_FW_VER_MINOR(sc->params.tp_vers), + G_FW_HDR_FW_VER_MICRO(sc->params.tp_vers), + G_FW_HDR_FW_VER_BUILD(sc->params.tp_vers)); + + if (t4_get_exprom_version(sc, &sc->params.exprom_vers) != 0) + sc->params.exprom_vers = 0; + else { + snprintf(sc->exprom_version, sizeof(sc->exprom_version), + "%u.%u.%u.%u", + G_FW_HDR_FW_VER_MAJOR(sc->params.exprom_vers), + G_FW_HDR_FW_VER_MINOR(sc->params.exprom_vers), + G_FW_HDR_FW_VER_MICRO(sc->params.exprom_vers), + G_FW_HDR_FW_VER_BUILD(sc->params.exprom_vers)); + } /* Reset device */ if (need_fw_reset && @@ -4594,6 +4611,14 @@ t4_sysctls(struct adapter *sc) SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD, NULL, chip_rev(sc), "chip hardware revision"); + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "tp_version", + CTLFLAG_RD, sc->tp_version, 0, "TP microcode version"); + + if (sc->params.exprom_vers != 0) { + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "exprom_version", + CTLFLAG_RD, sc->exprom_version, 0, "expansion ROM version"); + } + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "firmware_version", CTLFLAG_RD, sc->fw_version, 0, "firmware version"); From owner-svn-src-head@freebsd.org Fri Mar 11 03:38:11 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E788BACB5C8; Fri, 11 Mar 2016 03:38:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 852116AE; Fri, 11 Mar 2016 03:38:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B3cABb038456; Fri, 11 Mar 2016 03:38:10 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B3cAvv038454; Fri, 11 Mar 2016 03:38:10 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603110338.u2B3cAvv038454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 11 Mar 2016 03:38:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296642 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:38:12 -0000 Author: imp Date: Fri Mar 11 03:38:10 2016 New Revision: 296642 URL: https://svnweb.freebsd.org/changeset/base/296642 Log: Factor out lib32 generation to its own file. This is prep for a similar Makefile.libsoft which will do the same for armv6 soft fp API libraries in prep for pulling the trigger on moving to armv6 hard float. Once there's two files, I'll work with bdrewery@ to merge the two files as they are mostly the same. The high rate of churn for Makefile* makes it quite difficult to make progress out of tree. Differential Review: https://reviews.freebsd.org/D5566 Added: head/Makefile.lib32 - copied, changed from r296641, head/Makefile.inc1 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Mar 11 03:15:17 2016 (r296641) +++ head/Makefile.inc1 Fri Mar 11 03:38:10 2016 (r296642) @@ -454,70 +454,11 @@ XCXXFLAGS+= ${BFLAGS} .endif .endif # ${XCC:M/*} -WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} - .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" -# 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 - -.if ${TARGET_ARCH} == "amd64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 -.else -LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" -LIB32WMAKEFLAGS= \ - AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - OBJCOPY="${XOBJCOPY}" - -.elif ${TARGET_ARCH} == "powerpc64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -mcpu=powerpc -.else -LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc -LIB32WMAKEFLAGS= \ - LD="${XLD} -m elf32ppc_fbsd" \ - OBJCOPY="${XOBJCOPY}" +.include "Makefile.lib32" .endif - -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ - -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 -.if ${XCC:N${CCACHE_BIN}:M/*} -LIB32FLAGS+= --sysroot=${WORLDTMP} -.endif - -# Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _LDSCRIPTROOT=${LIB32TMP} \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - DTRACE="${DTRACE} -32" -LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ - CXX="${XCXX} ${LIB32FLAGS}" \ - DESTDIR=${LIB32TMP} \ - -DCOMPAT_32BIT \ - -DLIBRARIES_ONLY \ - -DNO_CPU_CFLAGS \ - MK_CTF=no \ - -DNO_LINT \ - MK_TESTS=no - -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - MK_MAN=no MK_HTML=no -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ - MK_TOOLCHAIN=no ${IMAKE_INSTALL} -.endif +WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ @@ -700,78 +641,6 @@ everything: @echo ">>> stage 4.4: building everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all -.if defined(LIB32TMP) -build32: .PHONY - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 5.1: building 32 bit shim libraries" - @echo "--------------------------------------------------------------" - mkdir -p ${LIB32TMP}/usr/include - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${LIB32TMP}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${LIB32TMP}/usr/include >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${LIB32TMP}/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null -.endif - mkdir -p ${WORLDTMP} - ln -sf ${.CURDIR}/sys ${WORLDTMP} -.for _t in obj includes - ${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t} - ${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t} -.endif -.endfor -.for _dir in usr.bin/lex/lib - ${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj -.endfor -.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic - ${_+_}cd ${.CURDIR}/${_dir}; \ - WORLDTMP=${WORLDTMP} \ - MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ - DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - build-tools -.endfor - ${_+_}cd ${.CURDIR}; \ - ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries -.for _t in obj depend all - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ - -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ - DIRPRFX=usr.bin/ldd ${_t} -.endfor - -distribute32 install32: .MAKE .PHONY - ${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ - ${.TARGET:S/32$//} -.endif WMAKE_TGTS= WMAKE_TGTS+= _worldtmp _legacy Copied and modified: head/Makefile.lib32 (from r296641, head/Makefile.inc1) ============================================================================== --- head/Makefile.inc1 Fri Mar 11 03:15:17 2016 (r296641, copy source) +++ head/Makefile.lib32 Fri Mar 11 03:38:10 2016 (r296642) @@ -1,462 +1,8 @@ -# # $FreeBSD$ -# -# Make command line options: -# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir -# -DNO_CLEAN do not clean at all -# -DDB_FROM_SRC use the user/group databases in src/etc instead of -# the system database when installing. -# -DNO_SHARE do not go into share subdir -# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ} -# -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel -# -DNO_KERNELCLEAN do not run ${MAKE} clean in ${MAKE} buildkernel -# -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel -# -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel -# -DNO_PORTSUPDATE do not update ports in ${MAKE} update -# -DNO_ROOT install without using root privilege -# -DNO_DOCUPDATE do not update doc in ${MAKE} update -# -DWITHOUT_CTF do not run the DTrace CTF conversion tools on built objects -# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list -# LOCAL_ITOOLS="list of tools" to add additional tools to the ITOOLS list -# LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target -# LOCAL_MTREE="list of mtree files" to process to allow local directories -# to be created before files are installed -# LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools -# list -# METALOG="path to metadata log" to write permission and ownership -# when NO_ROOT is set. (default: ${DESTDIR}/METALOG) -# TARGET="machine" to crossbuild world for a different machine type -# TARGET_ARCH= may be required when a TARGET supports multiple endians -# BUILDENV_SHELL= shell to launch for the buildenv target (def:${SHELL}) -# WORLD_FLAGS= additional flags to pass to make(1) during buildworld -# KERNEL_FLAGS= additional flags to pass to make(1) during buildkernel -# SUBDIR_OVERRIDE="list of dirs" to build rather than everything. -# All libraries and includes, and some build tools will still build. -# -# The intended user-driven targets are: -# buildworld - rebuild *everything*, including glue to help do upgrades -# installworld- install everything built by "buildworld" -# checkworld - run test suite on installed world -# doxygen - build API documentation of the kernel -# update - convenient way to update your source tree (eg: svn/svnup) -# -# Standard targets (not defined here) are documented in the makefiles in -# /usr/share/mk. These include: -# obj depend all install clean cleandepend cleanobj +# Makefile for the 32-bit compat libraries on PowerPC and AMD64. +# could also be for mips, but that doesn't work today. -.if !defined(TARGET) || !defined(TARGET_ARCH) -.error "Both TARGET and TARGET_ARCH must be defined." -.endif - -LOCALBASE?= /usr/local - -# Cross toolchain changes must be in effect before bsd.compiler.mk -# so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. -.if defined(CROSS_TOOLCHAIN) -.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" -CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}" -.endif -.include # don't depend on src.opts.mk doing it -.include "share/mk/src.opts.mk" - -# We must do lib/ and libexec/ before bin/ in case of a mid-install error to -# keep the users system reasonably usable. For static->dynamic root upgrades, -# we don't want to install a dynamic binary without rtld and the needed -# libraries. More commonly, for dynamic root, we don't want to install a -# binary that requires a newer library version that hasn't been installed yet. -# This ordering is not a guarantee though. The only guarantee of a working -# system here would require fine-grained ordering of all components based -# on their dependencies. -SRCDIR?= ${.CURDIR} -.if !empty(SUBDIR_OVERRIDE) -SUBDIR= ${SUBDIR_OVERRIDE} -.else -SUBDIR= lib libexec -.if !defined(NO_ROOT) && (make(installworld) || make(install)) -# Ensure libraries are installed before progressing. -SUBDIR+=.WAIT -.endif -SUBDIR+=bin -.if ${MK_CDDL} != "no" -SUBDIR+=cddl -.endif -SUBDIR+=gnu include -.if ${MK_KERBEROS} != "no" -SUBDIR+=kerberos5 -.endif -.if ${MK_RESCUE} != "no" -SUBDIR+=rescue -.endif -SUBDIR+=sbin -.if ${MK_CRYPT} != "no" -SUBDIR+=secure -.endif -.if !defined(NO_SHARE) -SUBDIR+=share -.endif -SUBDIR+=sys usr.bin usr.sbin -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif -.if ${MK_OFED} != "no" -SUBDIR+=contrib/ofed -.endif - -# Local directories are last, since it is nice to at least get the base -# system rebuilt before you do them. -.for _DIR in ${LOCAL_DIRS} -.if exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} -.endif -.endfor -# Add LOCAL_LIB_DIRS, but only if they will not be picked up as a SUBDIR -# of a LOCAL_DIRS directory. This allows LOCAL_DIRS=foo and -# LOCAL_LIB_DIRS=foo/lib to behave as expected. -.for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|} -_REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} -.endfor -.for _DIR in ${LOCAL_LIB_DIRS} -.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} -.else -.warning ${_DIR} not added to SUBDIR list. See UPDATING 20141121. -.endif -.endfor - -# We must do etc/ last as it hooks into building the man whatis file -# by calling 'makedb' in share/man. This is only relevant for -# install/distribute so they build the whatis file after every manpage is -# installed. -.if make(installworld) || make(install) -SUBDIR+=.WAIT -.endif -SUBDIR+=etc - -.endif # !empty(SUBDIR_OVERRIDE) - -.if defined(NOCLEAN) -.warning NOCLEAN option is deprecated. Use NO_CLEAN instead. -NO_CLEAN= ${NOCLEAN} -.endif -.if defined(NO_CLEANDIR) -CLEANDIR= clean cleandepend -.else -CLEANDIR= cleandir -.endif - -# FAST_DEPEND can skip depend tree-walks. -.if ${MK_FAST_DEPEND} == "yes" -NO_DEPEND= t -NO_KERNELDEPEND=t -.endif -# Ensure shell checks later have a value. -.if defined(NO_DEPEND) -NO_DEPEND= t -.endif - -LOCAL_TOOL_DIRS?= -PACKAGEDIR?= ${DESTDIR}/${DISTDIR} - -.if empty(SHELL:M*csh*) -BUILDENV_SHELL?=${SHELL} -.else -BUILDENV_SHELL?=/bin/sh -.endif - -SVN?= /usr/local/bin/svn -SVNFLAGS?= -r HEAD - -MAKEOBJDIRPREFIX?= /usr/obj -.if !defined(OSRELDATE) -.if exists(/usr/include/osreldate.h) -OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ - /usr/include/osreldate.h -.else -OSRELDATE= 0 -.endif -.export OSRELDATE -.endif - -# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. -.if !defined(VERSION) -REVISION!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V REVISION -BRANCH!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V BRANCH -SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ - ${SRCDIR}/sys/sys/param.h -VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} -.export VERSION -.endif - -KNOWN_ARCHES?= aarch64/arm64 \ - amd64 \ - arm \ - armeb/arm \ - armv6/arm \ - armv6hf/arm \ - i386 \ - i386/pc98 \ - mips \ - mipsel/mips \ - mips64el/mips \ - mips64/mips \ - mipsn32el/mips \ - mipsn32/mips \ - powerpc \ - powerpc64/powerpc \ - riscv64/riscv \ - sparc64 - -.if ${TARGET} == ${TARGET_ARCH} -_t= ${TARGET} -.else -_t= ${TARGET_ARCH}/${TARGET} -.endif -.for _t in ${_t} -.if empty(KNOWN_ARCHES:M${_t}) -.error Unknown target ${TARGET_ARCH}:${TARGET}. -.endif -.endfor - -.if ${TARGET} == ${MACHINE} -TARGET_CPUTYPE?=${CPUTYPE} -.else -TARGET_CPUTYPE?= -.endif - -.if !empty(TARGET_CPUTYPE) -_TARGET_CPUTYPE=${TARGET_CPUTYPE} -.else -_TARGET_CPUTYPE=dummy -.endif -_CPUTYPE!= MK_AUTO_OBJ=no MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ - -f /dev/null -m ${.CURDIR}/share/mk -V CPUTYPE -.if ${_CPUTYPE} != ${_TARGET_CPUTYPE} -.error CPUTYPE global should be set with ?=. -.endif -.if make(buildworld) -BUILD_ARCH!= uname -p -.if ${MACHINE_ARCH} != ${BUILD_ARCH} -.error To cross-build, set TARGET_ARCH. -.endif -.endif -.if ${MACHINE} == ${TARGET} && ${MACHINE_ARCH} == ${TARGET_ARCH} && !defined(CROSS_BUILD_TESTING) -OBJTREE= ${MAKEOBJDIRPREFIX} -.else -OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH} -.endif -WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin -XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin -STRICTTMPPATH= ${BPATH}:${XPATH} -TMPPATH= ${STRICTTMPPATH}:${PATH} - -# -# Avoid running mktemp(1) unless actually needed. -# It may not be functional, e.g., due to new ABI -# when in the middle of installing over this system. -# -.if make(distributeworld) || make(installworld) -INSTALLTMP!= /usr/bin/mktemp -d -u -t install -.endif - -# -# Building a world goes through the following stages -# -# 1. legacy stage [BMAKE] -# This stage is responsible for creating compatibility -# shims that are needed by the bootstrap-tools, -# build-tools and cross-tools stages. These are generally -# APIs that tools from one of those three stages need to -# build that aren't present on the host. -# 1. bootstrap-tools stage [BMAKE] -# This stage is responsible for creating programs that -# are needed for backward compatibility reasons. They -# are not built as cross-tools. -# 2. build-tools stage [TMAKE] -# This stage is responsible for creating the object -# tree and building any tools that are needed during -# the build process. Some programs are listed during -# this phase because they build binaries to generate -# files needed to build these programs. This stage also -# builds the 'build-tools' target rather than 'all'. -# 3. cross-tools stage [XMAKE] -# This stage is responsible for creating any tools that -# are needed for building the system. A cross-compiler is one -# of them. This differs from build tools in two ways: -# 1. the 'all' target is built rather than 'build-tools' -# 2. these tools are installed into TMPPATH for stage 4. -# 4. world stage [WMAKE] -# This stage actually builds the world. -# 5. install stage (optional) [IMAKE] -# This stage installs a previously built world. -# - -BOOTSTRAPPING?= 0 - -# Common environment for world related stages -CROSSENV+= MAKEOBJDIRPREFIX=${OBJTREE} \ - MACHINE_ARCH=${TARGET_ARCH} \ - MACHINE=${TARGET} \ - CPUTYPE=${TARGET_CPUTYPE} -.if ${MK_GROFF} != "no" -CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ - GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \ - GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac -.endif -.if defined(TARGET_CFLAGS) -CROSSENV+= ${TARGET_CFLAGS} -.endif - -# bootstrap-tools stage -BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${BPATH}:${PATH} \ - WORLDTMP=${WORLDTMP} \ - MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" -# need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile -BSARGS= DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - MK_HTML=no NO_LINT=yes MK_MAN=no \ - -DNO_PIC MK_PROFILE=no -DNO_SHARED \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ - MK_LLDB=no MK_TESTS=no \ - MK_INCLUDES=yes - -BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - ${BSARGS} - -# build-tools stage -TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - -DNO_LINT \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ - MK_LLDB=no MK_TESTS=no - -# cross-tools stage -XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ - TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no - -# kernel-tools stage -KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${BPATH}:${PATH} \ - WORLDTMP=${WORLDTMP} -KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - MK_HTML=no -DNO_LINT MK_MAN=no \ - -DNO_PIC MK_PROFILE=no -DNO_SHARED \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no - -# world stage -WMAKEENV= ${CROSSENV} \ - _LDSCRIPTROOT= \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} - -# make hierarchy -HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q} -.if defined(NO_ROOT) -HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT -.endif - -.if defined(CROSS_TOOLCHAIN_PREFIX) -CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -.endif - -# If we do not have a bootstrap binutils (because the in-tree one does not -# support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. -.if !make(showconfig) -.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ - !defined(CROSS_BINUTILS_PREFIX) -CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ -.if !exists(${CROSS_BINUTILS_PREFIX}) -.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. -.endif -.endif -.endif - -XCOMPILERS= CC CXX CPP -.for COMPILER in ${XCOMPILERS} -.if defined(CROSS_COMPILER_PREFIX) -X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} -.else -X${COMPILER}?= ${${COMPILER}} -.endif -.endfor -XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS -.for BINUTIL in ${XBINUTILS} -.if defined(CROSS_BINUTILS_PREFIX) && \ - exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) -X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} -.else -X${BINUTIL}?= ${${BINUTIL}} -.endif -.endfor -CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ - DEPFLAGS="${DEPFLAGS}" \ - CPP="${XCPP} ${XCFLAGS}" \ - AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ - OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ - RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ - SIZE="${XSIZE}" - -.if ${XCC:N${CCACHE_BIN}:M/*} -.if defined(CROSS_BINUTILS_PREFIX) -# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a -# directory, but the compiler will look in the right place for it's -# tools so we don't need to tell it where to look. -.if exists(${CROSS_BINUTILS_PREFIX}) -BFLAGS+= -B${CROSS_BINUTILS_PREFIX} -.endif -.else -BFLAGS+= -B${WORLDTMP}/usr/bin -.endif -.if ${TARGET} == "arm" -.if ${TARGET_ARCH:M*hf*} != "" -TARGET_ABI= gnueabihf -.else -TARGET_ABI= gnueabi -.endif -.endif -.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc -XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib -XCXXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++ -# XXX: DEPFLAGS is a workaround for not properly passing CXXFLAGS to sub-makes -# due to CXX="${XCXX} ${XCXXFLAGS}". bsd.dep.mk does use CXXFLAGS when -# building C++ files so this can come out if passing CXXFLAGS down is fixed. -DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -.else -TARGET_ABI?= unknown -TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 -XCFLAGS+= -target ${TARGET_TRIPLE} -.endif -XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} -XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} -.else -.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) -BFLAGS+= -B${CROSS_BINUTILS_PREFIX} -XCFLAGS+= ${BFLAGS} -XCXXFLAGS+= ${BFLAGS} -.endif -.endif # ${XCC:M/*} - -WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} - -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 @@ -517,190 +63,7 @@ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${L MK_MAN=no MK_HTML=no LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ MK_TOOLCHAIN=no ${IMAKE_INSTALL} -.endif - -IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ - ${IMAKE_INSTALL} ${IMAKE_MTREE} -.if empty(.MAKEFLAGS:M-n) -IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ - LD_LIBRARY_PATH=${INSTALLTMP} \ - PATH_LOCALE=${INSTALLTMP}/locale -IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh -.else -IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} -.endif -.if defined(DB_FROM_SRC) -INSTALLFLAGS+= -N ${.CURDIR}/etc -MTREEFLAGS+= -N ${.CURDIR}/etc -.endif -_INSTALL_DDIR= ${DESTDIR}/${DISTDIR} -INSTALL_DDIR= ${_INSTALL_DDIR:S://:/:g:C:/$::} -.if defined(NO_ROOT) -METALOG?= ${DESTDIR}/${DISTDIR}/METALOG -IMAKE+= -DNO_ROOT METALOG=${METALOG} -INSTALLFLAGS+= -U -M ${METALOG} -D ${INSTALL_DDIR} -MTREEFLAGS+= -W -.endif -.if defined(DB_FROM_SRC) || defined(NO_ROOT) -IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" -IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" -.endif - -# kernel stage -KMAKEENV= ${WMAKEENV} -KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} -# -# buildworld -# -# Attempt to rebuild the entire system, with reasonable chance of -# success, regardless of how old your existing system is. -# -_worldtmp: .PHONY -.if ${.CURDIR:C/[^,]//g} != "" -# The m4 build of sendmail files doesn't like it if ',' is used -# anywhere in the path of it's files. - @echo - @echo "*** Error: path to source tree contains a comma ','" - @echo - false -.endif - @echo - @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding the temporary build tree" - @echo "--------------------------------------------------------------" -.if !defined(NO_CLEAN) - rm -rf ${WORLDTMP} -.if defined(LIB32TMP) - rm -rf ${LIB32TMP} -.endif -.else - rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c -.endif -.for _dir in \ - lib lib/casper usr legacy/bin legacy/usr - mkdir -p ${WORLDTMP}/${_dir} -.endfor - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/legacy/usr >/dev/null -.if ${MK_GROFF} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.groff.dist \ - -p ${WORLDTMP}/legacy/usr >/dev/null -.endif - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${WORLDTMP}/usr/include >/dev/null - ln -sf ${.CURDIR}/sys ${WORLDTMP} -.if ${MK_DEBUG_FILES} != "no" - # We could instead disable debug files for these build stages - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/legacy/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/usr/lib >/dev/null -.endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/usr >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null -.endif -.endif -.if ${MK_TESTS} != "no" - mkdir -p ${WORLDTMP}${TESTSBASE} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}${TESTSBASE} >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mkdir -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE} >/dev/null -.endif -.endif -.for _mtree in ${LOCAL_MTREE} - mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null -.endfor -_legacy: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 1.1: legacy release compatibility shims" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${BMAKE} legacy -_bootstrap-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 1.2: bootstrap tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools -_cleanobj: -.if !defined(NO_CLEAN) - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.1: cleaning up the object tree" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR} -.if defined(LIB32TMP) - ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR} -.endif -.endif -_obj: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.2: rebuilding the object tree" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} obj -_build-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.3: build tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${TMAKE} build-tools -_cross-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 3: cross tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools - ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools -_includes: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.1: building includes" - @echo "--------------------------------------------------------------" -# Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need -# headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. - ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ - includes -.if !empty(SUBDIR_OVERRIDE) && make(buildworld) - ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks includes -.endif -_libraries: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.2: building libraries" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; \ - ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \ - MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries -_depend: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.3: make dependencies" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} depend -everything: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.4: building everything" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all -.if defined(LIB32TMP) build32: .PHONY @echo @echo "--------------------------------------------------------------" @@ -771,1685 +134,3 @@ distribute32 install32: .MAKE .PHONY PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ ${.TARGET:S/32$//} -.endif - -WMAKE_TGTS= -WMAKE_TGTS+= _worldtmp _legacy -.if empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= _bootstrap-tools -.endif -WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools -WMAKE_TGTS+= _includes _libraries -.if !defined(NO_DEPEND) -WMAKE_TGTS+= _depend -.endif -WMAKE_TGTS+= everything -.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= build32 -.endif - -buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue -.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue - -buildworld_prologue: - @echo "--------------------------------------------------------------" - @echo ">>> World build started on `LC_ALL=C date`" - @echo "--------------------------------------------------------------" - -buildworld_epilogue: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> World build completed on `LC_ALL=C date`" - @echo "--------------------------------------------------------------" - -# -# We need to have this as a target because the indirection between Makefile -# and Makefile.inc1 causes the correct PATH to be used, rather than a -# modification of the current environment's PATH. In addition, we need -# to quote multiword values. -# -buildenvvars: .PHONY - @echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@} - -.if ${.TARGETS:Mbuildenv} -.if ${.MAKEFLAGS:M-j} -.error The buildenv target is incompatible with -j -.endif -.endif -BUILDENV_DIR?= ${.CURDIR} -buildenv: .PHONY - @echo Entering world for ${TARGET_ARCH}:${TARGET} -.if ${BUILDENV_SHELL:M*zsh*} - @echo For ZSH you must run: export CPUTYPE=${TARGET_CPUTYPE} -.endif - @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ - || true - -TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32} -toolchain: ${TOOLCHAIN_TGTS} -kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} - -# -# installcheck -# -# Checks to be sure system is ready for installworld/installkernel. -# -installcheck: _installcheck_world _installcheck_kernel -_installcheck_world: -_installcheck_kernel: - -# -# Require DESTDIR to be set if installing for a different architecture or -# using the user/group database in the source tree. -# -.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} || \ - defined(DB_FROM_SRC) -.if !make(distributeworld) -_installcheck_world: __installcheck_DESTDIR -_installcheck_kernel: __installcheck_DESTDIR -__installcheck_DESTDIR: -.if !defined(DESTDIR) || empty(DESTDIR) - @echo "ERROR: Please set DESTDIR!"; \ - false -.endif -.endif -.endif - -.if !defined(DB_FROM_SRC) -# -# Check for missing UIDs/GIDs. -# -CHECK_UIDS= auditdistd -CHECK_GIDS= audit -.if ${MK_SENDMAIL} != "no" -CHECK_UIDS+= smmsp -CHECK_GIDS+= smmsp -.endif -.if ${MK_PF} != "no" -CHECK_UIDS+= proxy -CHECK_GIDS+= proxy authpf -.endif -.if ${MK_UNBOUND} != "no" -CHECK_UIDS+= unbound -CHECK_GIDS+= unbound -.endif -_installcheck_world: __installcheck_UGID -__installcheck_UGID: -.for uid in ${CHECK_UIDS} - @if ! `id -u ${uid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${uid} user is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor -.for gid in ${CHECK_GIDS} - @if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${gid} group is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor -.endif - -# -# Required install tools to be saved in a scratch dir for safety. -# -.if ${MK_ZONEINFO} != "no" -_zoneinfo= zic tzsetup -.endif - -ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \ - date echo egrep find grep id install ${_install-info} \ - ln make mkdir mtree mv pwd_mkdb \ - rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ - ${LOCAL_ITOOLS} - -# Needed for share/man -.if ${MK_MAN} != "no" -ITOOLS+=makewhatis -.endif - -# -# distributeworld -# -# Distributes everything compiled by a `buildworld'. -# -# installworld -# -# Installs everything compiled by a 'buildworld'. -# - -# Non-base distributions produced by the base system -EXTRA_DISTRIBUTIONS= doc -.if defined(LIB32TMP) && ${MK_LIB32} != "no" -EXTRA_DISTRIBUTIONS+= lib32 -.endif -.if ${MK_TESTS} != "no" -EXTRA_DISTRIBUTIONS+= tests -.endif - -DEBUG_DISTRIBUTIONS= -.if ${MK_DEBUG_FILES} != "no" -DEBUG_DISTRIBUTIONS+= base ${EXTRA_DISTRIBUTIONS:S,doc,,:S,tests,,} -.endif - -MTREE_MAGIC?= mtree 2.0 - -distributeworld installworld: _installcheck_world - mkdir -p ${INSTALLTMP} - progs=$$(for prog in ${ITOOLS}; do \ - if progpath=`which $$prog`; then \ - echo $$progpath; \ - else \ - echo "Required tool $$prog not found in PATH." >&2; \ - exit 1; \ - fi; \ - done); \ - libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \ - while read line; do \ - set -- $$line; \ - if [ "$$2 $$3" != "not found" ]; then \ - echo $$2; \ - else \ - echo "Required library $$1 not found." >&2; \ - exit 1; \ - fi; \ - done); \ - cp $$libs $$progs ${INSTALLTMP} - cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Fri Mar 11 04:04:59 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0737ACBD98; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id D83EA1258; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id CFD671C43; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 90C301E26B; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id rhSZIuE_0_nZ; Fri, 11 Mar 2016 04:04:57 +0000 (UTC) Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 795FF1E264 To: "Simon J. Gerraty" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E243ED.5050803@FreeBSD.org> Date: Thu, 10 Mar 2016 20:05:01 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603110135.u2B1Zd8a001604@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:05:00 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K Content-Type: multipart/mixed; boundary="mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp" From: Bryan Drewery To: "Simon J. Gerraty" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E243ED.5050803@FreeBSD.org> Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> In-Reply-To: <201603110135.u2B1Zd8a001604@repo.freebsd.org> --mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 5:35 PM, Simon J. Gerraty wrote: > Author: sjg > Date: Fri Mar 11 01:35:39 2016 > New Revision: 296637 > URL: https://svnweb.freebsd.org/changeset/base/296637 >=20 > Log: > Merge bmake-20160307 >=20 > Modified: > head/contrib/bmake/ChangeLog > head/contrib/bmake/Makefile =2E.. > head/usr.bin/bmake/Makefile > ~/git/freebsd # head usr.bin/bmake/Makefile > # This is a generated file, do NOT edit! > # See contrib/bmake/bsd.after-import.mk Is this still true? I have to rename MAKE_VERSION in usr.bin/bmake/Makefile because it is colliding with the built-in MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to build the new bmake itself. --=20 Regards, Bryan Drewery --mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp-- --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4kPtAAoJEDXXcbtuRpfPbTYH/AnLQzM1LzE79c6tpLptxwCW G8OpypSnlkXL2yF/OXY5COJ4Qs7z0xcWonbqB0z2/qR9XuBO6ue662Qx0eVtppUB sDPNtVWiztr2j71EH3s4IHLWXOSpO6WMw0ifL6bcQg3y9+Bg0wReGPpOV5qMaMoy 38wjDFaFlPXe3dKpyqfekHwzmZF1iA2udLlaB81yz4xCPZmmSQXaQ3x6j2TfKxrh 17Twam4Dqm8H2seFWEA1IHtuOdld/ws8QVpHh4GzyQCgx4bYTuOivg0ql8UAZhkR SnsTobiu5H0lWQHgH0dExkVb18gOQOwbcClzXyDTYEACqh41AQ8YUgiWJZ8ncys= =EUsO -----END PGP SIGNATURE----- --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K-- From owner-svn-src-head@freebsd.org Fri Mar 11 04:09:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9578AACBF3C; Fri, 11 Mar 2016 04:09:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6670B14EB; Fri, 11 Mar 2016 04:09:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49lA9047493; Fri, 11 Mar 2016 04:09:47 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49lGF047492; Fri, 11 Mar 2016 04:09:47 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49lGF047492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296643 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:48 -0000 Author: bdrewery Date: Fri Mar 11 04:09:47 2016 New Revision: 296643 URL: https://svnweb.freebsd.org/changeset/base/296643 Log: Fix make -n upgrade_checks. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 03:38:10 2016 (r296642) +++ head/Makefile Fri Mar 11 04:09:47 2016 (r296643) @@ -301,7 +301,7 @@ kernel: buildkernel installkernel upgrade_checks: .if ${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) - @(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) + @${_+_}(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) .endif # From owner-svn-src-head@freebsd.org Fri Mar 11 04:09:51 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9A09BACBF61; Fri, 11 Mar 2016 04:09:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6ABB414EF; Fri, 11 Mar 2016 04:09:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49oIx047538; Fri, 11 Mar 2016 04:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49oRf047537; Fri, 11 Mar 2016 04:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49oRf047537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296644 - head/usr.bin/bmake X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:51 -0000 Author: bdrewery Date: Fri Mar 11 04:09:50 2016 New Revision: 296644 URL: https://svnweb.freebsd.org/changeset/base/296644 Log: Fix upgrade of bmake by not setting conflicting MAKE_VERSION. This may be used in later checks, such as in bsd.dep.mk, to enable features that rely on the built-in value. Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/bmake/Makefile Modified: head/usr.bin/bmake/Makefile ============================================================================== --- head/usr.bin/bmake/Makefile Fri Mar 11 04:09:47 2016 (r296643) +++ head/usr.bin/bmake/Makefile Fri Mar 11 04:09:50 2016 (r296644) @@ -17,7 +17,7 @@ CLEANFILES+= bootstrap # $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $ # Base version on src date -MAKE_VERSION= 20160307 +_MAKE_VERSION= 20160307 PROG?= ${.CURDIR:T} @@ -92,7 +92,7 @@ CFLAGS+= ${CPPFLAGS} CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} -COPTS.main.c+= "-DMAKE_VERSION=\"${MAKE_VERSION}\"" +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" # meta mode can be useful even without filemon FILEMON_H ?= /usr/include/dev/filemon/filemon.h From owner-svn-src-head@freebsd.org Fri Mar 11 04:09:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D4F4ACBF7D; Fri, 11 Mar 2016 04:09:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F72F15CA; Fri, 11 Mar 2016 04:09:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49rcp047584; Fri, 11 Mar 2016 04:09:53 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49rYD047583; Fri, 11 Mar 2016 04:09:53 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49rYD047583@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296645 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:54 -0000 Author: bdrewery Date: Fri Mar 11 04:09:53 2016 New Revision: 296645 URL: https://svnweb.freebsd.org/changeset/base/296645 Log: Fix bmake upgrade NO_MAN warnings. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 04:09:50 2016 (r296644) +++ head/Makefile Fri Mar 11 04:09:53 2016 (r296645) @@ -311,9 +311,10 @@ upgrade_checks: # MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ + MK_MAN=no \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_MAN -DNO_SHARED \ + -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-head@freebsd.org Fri Mar 11 04:09:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19414ACBFB6; Fri, 11 Mar 2016 04:09:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D69791864; Fri, 11 Mar 2016 04:09:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49uOH047633; Fri, 11 Mar 2016 04:09:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49u5L047630; Fri, 11 Mar 2016 04:09:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49u5L047630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296646 - in head: . share/mk sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:58 -0000 Author: bdrewery Date: Fri Mar 11 04:09:56 2016 New Revision: 296646 URL: https://svnweb.freebsd.org/changeset/base/296646 Log: FAST_DEPEND: Use .dinclude to enable full .depend logic in bmake. The inclusion of .MAKE.DEPENDFILE (.depend) has special logic in make to ignore stale/missing dependencies. bmake 20160220 added a '.dinclude' directive that uses the special logic for .depend when including the file. This fixes a build error when a file is moved or deleted that exists in a .depend.OBJ file. This happened in r292782 when sha512c.c "moved" and an incremental build of lib/libmd would fail with: make: don't know how to make /usr/src/lib/libcrypt/../libmd/sha512c.c. Stop Now this will just be seen as a stale dependency and cause a rebuild: make: /usr/obj/usr/src/lib/libmd/.depend.sha512c.o, 13: ignoring stale .depend for /usr/src/lib/libcrypt/../libmd/sha512c.c --- sha512c.o --- ... This rebuild will only be done once since the .depend.sha512c.o will be updated on the build with the -MF flags. This also removes -MP being passed for the .depend.OBJ generation (which would create fake targets for system headers) since the logic is no longer needed to protect from missing files. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 04:09:53 2016 (r296645) +++ head/Makefile Fri Mar 11 04:09:56 2016 (r296646) @@ -159,6 +159,8 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH # We cannot blindly use a make which may not be the one we want # so be exlicit - until all choice is removed. WANT_MAKE= bmake +# 20160220 - support .dinclude for FAST_DEPEND. +WANT_MAKE_VERSION= 20160220 MYMAKE= ${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}/${WANT_MAKE} .if defined(.PARSEDIR) HAVE_MAKE= bmake Modified: head/share/mk/bsd.dep.mk ============================================================================== --- head/share/mk/bsd.dep.mk Fri Mar 11 04:09:53 2016 (r296645) +++ head/share/mk/bsd.dep.mk Fri Mar 11 04:09:56 2016 (r296646) @@ -176,7 +176,9 @@ ${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$/ _meta_filemon= 1 .endif .if ${MK_FAST_DEPEND} == "yes" +.if ${MAKE_VERSION} < 20160220 DEPEND_MP?= -MP +.endif # Handle OBJS=../somefile.o hacks. Just replace '/' rather than use :T to # avoid collisions. DEPEND_FILTER= C,/,_,g @@ -200,7 +202,11 @@ CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} +.if ${MAKE_VERSION} < 20160220 .sinclude "${.OBJDIR}/${__depend_obj}" +.else +.dinclude "${.OBJDIR}/${__depend_obj}" +.endif .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) Modified: head/sys/conf/kern.post.mk ============================================================================== --- head/sys/conf/kern.post.mk Fri Mar 11 04:09:53 2016 (r296645) +++ head/sys/conf/kern.post.mk Fri Mar 11 04:09:56 2016 (r296646) @@ -231,7 +231,10 @@ _meta_filemon= 1 .if ${MK_FAST_DEPEND} == "yes" DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} -DEPEND_CFLAGS+= -MD -MP -MF.depend.${.TARGET} +.if ${MAKE_VERSION} < 20160220 +DEPEND_MP?= -MP +.endif +DEPEND_CFLAGS+= -MD ${DEPEND_MP} -MF.depend.${.TARGET} DEPEND_CFLAGS+= -MT${.TARGET} .if !defined(_meta_filemon) .if defined(.PARSEDIR) @@ -244,7 +247,11 @@ CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} +.if ${MAKE_VERSION} < 20160220 .sinclude "${.OBJDIR}/${__depend_obj}" +.else +.dinclude "${.OBJDIR}/${__depend_obj}" +.endif .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) From owner-svn-src-head@freebsd.org Fri Mar 11 04:11:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9971ACA2B3; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id AD5A31DE3; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id A72CB1304; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 67C5B1E2AE; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id V4zMtAhhQTTO; Fri, 11 Mar 2016 04:11:54 +0000 (UTC) Subject: Re: svn commit: r296646 - in head: . share/mk sys/conf DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 696041E2A9 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603110409.u2B49u5L047630@repo.freebsd.org> Cc: emaste@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E2458F.3020600@FreeBSD.org> Date: Thu, 10 Mar 2016 20:11:59 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603110409.u2B49u5L047630@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:11:58 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU Content-Type: multipart/mixed; boundary="K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Cc: emaste@FreeBSD.org Message-ID: <56E2458F.3020600@FreeBSD.org> Subject: Re: svn commit: r296646 - in head: . share/mk sys/conf References: <201603110409.u2B49u5L047630@repo.freebsd.org> In-Reply-To: <201603110409.u2B49u5L047630@repo.freebsd.org> --K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 8:09 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Mar 11 04:09:56 2016 > New Revision: 296646 > URL: https://svnweb.freebsd.org/changeset/base/296646 >=20 > Log: > FAST_DEPEND: Use .dinclude to enable full .depend logic in bmake. > =20 > The inclusion of .MAKE.DEPENDFILE (.depend) has special logic in make= > to ignore stale/missing dependencies. bmake 20160220 added a '.dincl= ude' > directive that uses the special logic for .depend when including the = file. > =20 > This fixes a build error when a file is moved or deleted that exists = in a > .depend.OBJ file. This happened in r292782 when sha512c.c "moved" an= d an > incremental build of lib/libmd would fail with: > make: don't know how to make /usr/src/lib/libcrypt/../libmd/sha512c= =2Ec. Stop > =20 > Now this will just be seen as a stale dependency and cause a rebuild:= > make: /usr/obj/usr/src/lib/libmd/.depend.sha512c.o, 13: ignoring st= ale .depend for /usr/src/lib/libcrypt/../libmd/sha512c.c > --- sha512c.o --- > ... > This rebuild will only be done once since the .depend.sha512c.o will > be updated on the build with the -MF flags. > =20 > This also removes -MP being passed for the .depend.OBJ generation (wh= ich > would create fake targets for system headers) since the logic is no > longer needed to protect from missing files. > =20 > Sponsored by: EMC / Isilon Storage Division >=20 > Modified: > head/Makefile > head/share/mk/bsd.dep.mk > head/sys/conf/kern.post.mk This was the last piece needed before it could be enabled by default. I plan to enable it by default tomorrow, and remove the option and the mkdep handling entirely soon after (as brought up on arch@). --=20 Regards, Bryan Drewery --K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc-- --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4kWPAAoJEDXXcbtuRpfPoKUIAIl2va0WDca9eG5JVnRUtz4e MQtTlcda0A5pnnOeG8RhETgTFtntBF0/umbWwJv7spyl/7Ow9hhL8rEJUZnmFh3F sKkB6dDVeLNH98g3cf8afone5Dc2ZbcSUcGZpeKtTT1Pfk8GDr19vW7F/yskYWbB xqlyoKpfdrMEVLDC3VFjRxv/ZKC3I+yN4meY+EfKC8w7NCXLpt9bKYoP3xC2ivBB a0fPyhgtOzrky9kjZQ5HHtlv1sQv/pFBNvLFdH0lSO5ufmkHT0g/nTg6wWKIo0Zo 7uuh08RwZBt2ixA5ZGipPH9zyoIZRR77lerNfAOikYhN/WUV/J/2vFZTNnftmSs= =UYnq -----END PGP SIGNATURE----- --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU-- From owner-svn-src-head@freebsd.org Fri Mar 11 04:17:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF7DDACA429; Fri, 11 Mar 2016 04:17:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1219A2; Fri, 11 Mar 2016 04:17:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B4HduB050551; Fri, 11 Mar 2016 04:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B4HdHa050550; Fri, 11 Mar 2016 04:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110417.u2B4HdHa050550@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:17:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296647 - head/lib/clang X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:17:41 -0000 Author: bdrewery Date: Fri Mar 11 04:17:39 2016 New Revision: 296647 URL: https://svnweb.freebsd.org/changeset/base/296647 Log: Use the new bmake .dinclude feature to make these safe. At least FAST_DEPEND won't even run 'make depend', so the code was potentially broken with FAST_DEPEND anyhow. The .dinclude directive will ignore missing files rather than make them be fatal. Sponsored by: EMC / Isilon Storage Division Modified: head/lib/clang/clang.build.mk Modified: head/lib/clang/clang.build.mk ============================================================================== --- head/lib/clang/clang.build.mk Fri Mar 11 04:09:56 2016 (r296646) +++ head/lib/clang/clang.build.mk Fri Mar 11 04:17:39 2016 (r296647) @@ -240,11 +240,15 @@ Checkers.inc.h: ${CLANG_SRCS}/lib/Static -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td -.if !make(depend) -. for dep in ${TGHDRS:C/$/.inc.d/} -. sinclude "${dep}" -. endfor -.endif +.for dep in ${TGHDRS:C/$/.inc.d/} +. if ${MAKE_VERSION} < 20160220 +. if !make(depend) +. sinclude "${dep}" +. endif +. else +. dinclude "${dep}" +. endif +.endfor SRCS+= ${TGHDRS:C/$/.inc.h/} CLEANFILES+= ${TGHDRS:C/$/.inc.h/} ${TGHDRS:C/$/.inc.d/} From owner-svn-src-head@freebsd.org Fri Mar 11 04:34:19 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11F9EACAAD1 for ; Fri, 11 Mar 2016 04:34:19 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22f.google.com (mail-io0-x22f.google.com [IPv6:2607:f8b0:4001:c06::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CE227AA3 for ; Fri, 11 Mar 2016 04:34:18 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22f.google.com with SMTP id g203so131892052iof.2 for ; Thu, 10 Mar 2016 20:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=XsMrTumeyCBi5EyVsDY14Go3S8xsM6aNQOK/SML6KZw=; b=VFMwYHlpfAT+UWI1ZJqWt2s+F/tgFOsxKG5fiDA3wEj2kijYexClw91DLdixOw6dKv sYouzKajg83hbv+UHmXjnNM+W6j3QVn2kZI9rt8+PGCGrkz1bF4tdH57CTFHcHMg/N+D kqbM8jxDYzJhSsV708a7ZnE+pxUASOAXO8e5lJCQTsUMPpfsb2xOynhfkb+nruhSyxvt jSC8aieqwvMwq/+qMgFqSQ+5WOlVjzFoLuavih6aeF59DGN2Kvuo0mmSlSHGH3HmrvBJ QITaR4djF1MNzdlfY/MLUPnPOP59V83KUtE+pUlJ9xGI1QUANQv2RfniQNQ8CKVbXx8u zc5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=XsMrTumeyCBi5EyVsDY14Go3S8xsM6aNQOK/SML6KZw=; b=mKr5qiyrARvh+d4rBsQjVnR0YUmuMJjX/YHhPuoYGBsqQwNFA0p7tvJ4uQPhlrTiiu 6OntBsa+dl7fO+UNqEfuEl3da8lY9Jwf6A8SOQ4aYYt3HOPapIHDMahTa3O+CGvZpBjo 3bBr4QlFaEr3xI22xCeJS+qs1yz1oVJf5zZyPul2CRFT6kS2EozogAXODcB/P7ojRe89 +IQORl0uEFXEuEKM8WhfwNf+3MEaif/rGLWMMsF4JXcRe0z7LI5zYSVfCLm3oVQ3QFsr +KBAqJxF+5hooP6SsWGQGtZ3LEbV1+Q1gfirKjm/bREYfeF1mIXfvE3Luxry7HBgXQz0 f0/w== X-Gm-Message-State: AD7BkJJQlmwhVk8NLh+B4+uETUReTFNreANCjCYyVzUvwHypKFNEvMFxRQgvRFxPl97E0ANurfBoHfqCCO7V9w== MIME-Version: 1.0 X-Received: by 10.107.155.206 with SMTP id d197mr7019850ioe.135.1457670858192; Thu, 10 Mar 2016 20:34:18 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 20:34:18 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 21:34:18 -0700 X-Google-Sender-Auth: qUUu7jjXaR7l7PQYGU8QHA4MEd8 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:34:19 -0000 Some Intel NVMe drives behave badly when the LBA range crosses a 128k boundary. Their performance is worse for those transactions than for ones that don't cross the 128k boundary. Warner On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers wrote: > Are you saying that Intel NVMe controllers perform poorly for all I/Os > that are less than 128KB, or just for I/Os of any size that cross a 128KB > boundary? > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: > >> Author: smh >> Date: Fri Dec 11 02:06:03 2015 >> New Revision: 292074 >> URL: https://svnweb.freebsd.org/changeset/base/292074 >> >> Log: >> Limit stripesize reported from nvd(4) to 4K >> >> Intel NVMe controllers have a slow path for I/Os that span a 128KB >> stripe boundary but ZFS limits ashift, which is derived from d_stripesize, >> to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. >> >> This may result in a small number of additional I/Os to require >> splitting in nvme(4), however the NVMe I/O path is very efficient so these >> additional I/Os will cause very minimal (if any) difference in performance >> or CPU utilisation. >> >> This can be controller by the new sysctl >> kern.nvme.max_optimal_sectorsize. >> >> MFC after: 1 week >> Sponsored by: Multiplay >> Differential Revision: https://reviews.freebsd.org/D4446 >> >> Modified: >> head/sys/dev/nvd/nvd.c >> head/sys/dev/nvme/nvme.h >> head/sys/dev/nvme/nvme_ns.c >> head/sys/dev/nvme/nvme_sysctl.c >> >> From owner-svn-src-head@freebsd.org Fri Mar 11 04:58:46 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF7E4ACB2EA; Fri, 11 Mar 2016 04:58:46 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ob0-x22f.google.com (mail-ob0-x22f.google.com [IPv6:2607:f8b0:4003:c01::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B04F22EE; Fri, 11 Mar 2016 04:58:46 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ob0-x22f.google.com with SMTP id fz5so102876056obc.0; Thu, 10 Mar 2016 20:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=V2IhuUV9kNm0n01QMR+lwH/m8xkINsgu1OPnBvOXSvk=; b=FRSMvLF7As9OF1oIBnJVfZtKSLuBZMr/ls5zMYrw2dxBRA9oZFO4O7o9A4230ZCnpV +A8KNuSlfALVZNj9fwpi3Q+zIeXm8XNGA9P8EcmBVa59FSjwGJqQZ115fnyqbNnudlPz ZTcDOtvc/D0C0AUDdUp3i1sTqaHbXpllIajiBKWmXkVTat+P1BdNjEELB2wzVYFfo5Ea 0l2XxpmZKNGTGrYzopiCUxlddCRlnhNi/6s6l21wVCnttDuRJSZDQf2IzCg9oyVaRHfM OUNyUrNslP6msmMWlLrXe19Erso+qqtxuBNdfjGEfiUbJr1aiJX0/0gpWnMrRu2Hyi+n FL2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=V2IhuUV9kNm0n01QMR+lwH/m8xkINsgu1OPnBvOXSvk=; b=PVVlu9aEW2VsUMhK6c50g8w7rf9do8YdTKetkokCJo4UiwK8KAFVVMEJjxa6tLAHS5 ExCEV5bf9qRJhJwR1nh4WsOhYqGlELWbwkL2Q78x5wYI6aD3gMMVcBXAmLH6MB3QRPn2 tu3atFLM1YNvRCZqz0N6p6S/kRqtzmDbm7jj01mCRMBwRkCeKCpmFOvrpd49eKSy5ld8 /bsqYg1b2rzR1MRgoujEtB82GhgE9xG/bvyllxtXhLZvXmC905aMPBBUDfHa1gDKgbk0 +5/+YvNUqpc6NAwcuGe4qBYVHnNBfB4eOzJAB+nt2zPqSkvGGS7upZzBQew/FZ0XClNH c0qA== X-Gm-Message-State: AD7BkJKy5VPeJKEQX57g1FFkRiVyzLp5UBBpK0YGNR8kQSGeg44fU0WLrZ3WC1DCBmqs4NVI7qpzjJ/NJqgT+w== MIME-Version: 1.0 X-Received: by 10.182.34.167 with SMTP id a7mr4303576obj.41.1457672325917; Thu, 10 Mar 2016 20:58:45 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Thu, 10 Mar 2016 20:58:45 -0800 (PST) In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 21:58:45 -0700 X-Google-Sender-Auth: FinJUZvtBH4mUNW9u0upe4Yg38M Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Warner Losh Cc: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:58:47 -0000 Do they behave badly for writes that cross a 128KB boundary, but are nonetheless aligned to 128KB boundaries? Then I don't understand how this change (or mav's replacement) is supposed to help. The stripesize is supposed to be the minimum write that the device can accept without requiring a read-modify-write. ZFS guarantees that it will never issue a write smaller than the stripesize, nor will it ever issue a write that is not aligned to a stripesize-boundary. But even if ZFS worked with 128KB stripesizes, it would still happily issue writes a multiple of 128KB in size, and these would cross those boundaries. Am I not understanding something here? -Alan On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh wrote: > Some Intel NVMe drives behave badly when the LBA range crosses a 128k > boundary. Their > performance is worse for those transactions than for ones that don't cross > the 128k boundary. > > Warner > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers wrote: > >> Are you saying that Intel NVMe controllers perform poorly for all I/Os >> that are less than 128KB, or just for I/Os of any size that cross a 128KB >> boundary? >> >> On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: >> >>> Author: smh >>> Date: Fri Dec 11 02:06:03 2015 >>> New Revision: 292074 >>> URL: https://svnweb.freebsd.org/changeset/base/292074 >>> >>> Log: >>> Limit stripesize reported from nvd(4) to 4K >>> >>> Intel NVMe controllers have a slow path for I/Os that span a 128KB >>> stripe boundary but ZFS limits ashift, which is derived from d_stripesize, >>> to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. >>> >>> This may result in a small number of additional I/Os to require >>> splitting in nvme(4), however the NVMe I/O path is very efficient so these >>> additional I/Os will cause very minimal (if any) difference in performance >>> or CPU utilisation. >>> >>> This can be controller by the new sysctl >>> kern.nvme.max_optimal_sectorsize. >>> >>> MFC after: 1 week >>> Sponsored by: Multiplay >>> Differential Revision: https://reviews.freebsd.org/D4446 >>> >>> Modified: >>> head/sys/dev/nvd/nvd.c >>> head/sys/dev/nvme/nvme.h >>> head/sys/dev/nvme/nvme_ns.c >>> head/sys/dev/nvme/nvme_sysctl.c >>> >>> > From owner-svn-src-head@freebsd.org Fri Mar 11 05:14:59 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD759ACB89C for ; Fri, 11 Mar 2016 05:14:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x230.google.com (mail-ig0-x230.google.com [IPv6:2607:f8b0:4001:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8E38FB86 for ; Fri, 11 Mar 2016 05:14:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x230.google.com with SMTP id vs8so2193258igb.1 for ; Thu, 10 Mar 2016 21:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=4/HmTQ7eL7GsPzWGwAIIXp/S6O6+80NKBA+n5khHARY=; b=VxKtVRncmdncPX/nS4jdXlwSRtnTI0zp1YaHYl4J9X1sFv2YPwX0IqiSwoSg/t+TYX +PhzfcS4gSTrqKJGtQ2jmwBRE8J8TDdpB+JocewI8jJm2gFrWCMEDoa6DQZ//bgaXU1W E5EevM4W0dFJL+mECR6vVKWmuucxv0R01GtLomWQdeSgHkqve7sJXV7l0od7h2bv9mHa lrAk7NangFw4tTNRsfC0XcHZTSKZ4D4yuXhR16BLQQpdE4FoWyQDCCmYbGgLVxlFxzC1 Tk2ydYnqmRI3UPwjEkcmlveNOyQmjqZvOHv2Ek2O+SGqfgjVumplQAUYRZBICCW3szTs 2U3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=4/HmTQ7eL7GsPzWGwAIIXp/S6O6+80NKBA+n5khHARY=; b=NkqKlBOAmgKz944Au6V4YoPna5SjUu0DGxHHGVRf2n1zlhk2W0AacSy6kCl/OgYuHT xgX7R5nWzbAqqnytZi1bA0zBWvEqfsEuZhFjuRA89+s0jSRrfb7RvNAV25glEKe54QLw yQvrm5aoRzwKIzo39TRcXYkRSvhaofqck1yAEdSiEmONJ38ya74pW7/DdK1J9UF8uLnp GS998j/D9zuij62E6ZnTUT3c2OYf0sI93er3N3TmuX3faqPq+Xuy5zXYI8TCuMO3bJtZ yHV9VouMUrwWqNPH7NtnhiDCeh0hNA9HPeeiB1PITsvV3rOnhry0sL5AgZaReTNzAJha L3zw== X-Gm-Message-State: AD7BkJJHum1rkmUw2RhlJ0kzAOKV5j4MCKzQQlynu07azimi0+kyc67DiuNRh+plLJE/sRkvkDPurD02esHA+g== MIME-Version: 1.0 X-Received: by 10.50.50.134 with SMTP id c6mr621284igo.57.1457673298900; Thu, 10 Mar 2016 21:14:58 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 21:14:58 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 22:14:58 -0700 X-Google-Sender-Auth: WV8n-HYY6g1x_1Ylvym17lBDaOk Message-ID: Subject: Re: svn commit: r296589 - head/sys/dev/fdc From: Warner Losh To: Bryan Drewery Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 05:15:00 -0000 On Thu, Mar 10, 2016 at 6:58 PM, Warner Losh wrote: > > On Mar 10, 2016 3:37 PM, "Bryan Drewery" wrote: > > > > On 3/9/16 4:33 PM, Warner Losh wrote: > > > Author: imp > > > Date: Thu Mar 10 00:33:06 2016 > > > New Revision: 296589 > > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > > > Log: > > > Stop assuming that bio_cmd is a bit field. > > > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > > > Modified: > > > head/sys/dev/fdc/fdc.c > > > > > > Modified: head/sys/dev/fdc/fdc.c > > > > ============================================================================== > > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > > /* Disable ISADMA if we bailed while it was active */ > > > if (fd != NULL && (fd->flags & FD_ISADMA)) { > > > isa_dmadone( > > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > > > I think we should have some kind of file (like ports CHANGES) that lists > > subtle KPI changes. This and the bio bzero change were easily missed > > and could lead to who-knows-what downstream for vendors or even > > out-of-tree modules. > > True. However, these have never been documented one way or another.... > > And this change isn't a change yet... > > I'd love a kpi change file. This is but one of many. We'd need someone > clueful to watch the tree and remind people to add things to it. > > I'm also working on documenting our storage api so that people know better > what is defined, vs what's there and subject to change. > Re-reading this, I wasn't very clear: I think we need this file. I think we need someone else (not me) to spearhead it and police changes I think that the sooner we start the better. Can I get a volunteer? > > Btw there are some missed still: > > > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > > That makes me sad. Code like that has never been guaranteed. Bare > constants.... shudder. > Now that I've had a closer look at the code, it doesn't actually assume that BIO_READ and BIO_WRITE are bits. It only assumes that their values are <= 3. I'll fix that. That's also a bad assumption, but it's a different kind of bad. Warner From owner-svn-src-head@freebsd.org Fri Mar 11 06:07:11 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69F17ACC7C1; Fri, 11 Mar 2016 06:07:11 +0000 (UTC) (envelope-from ak@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4537D100B; Fri, 11 Mar 2016 06:07:11 +0000 (UTC) (envelope-from ak@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B67Atp083324; Fri, 11 Mar 2016 06:07:10 GMT (envelope-from ak@FreeBSD.org) Received: (from ak@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B67Apu083322; Fri, 11 Mar 2016 06:07:10 GMT (envelope-from ak@FreeBSD.org) Message-Id: <201603110607.u2B67Apu083322@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ak set sender to ak@FreeBSD.org using -f From: Alex Kozlov Date: Fri, 11 Mar 2016 06:07:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296648 - head/sbin/mdmfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 06:07:11 -0000 Author: ak (ports committer) Date: Fri Mar 11 06:07:09 2016 New Revision: 296648 URL: https://svnweb.freebsd.org/changeset/base/296648 Log: - Implement -T option to allow to specify a fs type for a vnode-backed memory disk - Rephrase -t option description (manpage) - Split long sentences (manpage) Differential Review: https://reviews.freebsd.org/D4394 Reviewed by: mav, wblock (manpage) Approved by: mav Modified: head/sbin/mdmfs/mdmfs.8 head/sbin/mdmfs/mdmfs.c Modified: head/sbin/mdmfs/mdmfs.8 ============================================================================== --- head/sbin/mdmfs/mdmfs.8 Fri Mar 11 04:17:39 2016 (r296647) +++ head/sbin/mdmfs/mdmfs.8 Fri Mar 11 06:07:09 2016 (r296648) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 7, 2016 +.Dd March 9, 2016 .Dt MDMFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ driver .Sh SYNOPSIS .Nm -.Op Fl DLlMNnPStUX +.Op Fl DLlMNnPStTUX .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group @@ -51,6 +51,7 @@ driver .Op Fl o Ar mount-options .Op Fl p Ar permissions .Op Fl s Ar size +.Op Fl T Ar fstype .Op Fl v Ar version .Op Fl w Ar user : Ns Ar group .Ar md-device @@ -228,10 +229,19 @@ backed disks .It Fl t Turn on the TRIM enable flag for .Xr newfs 8 . -The +When used with a file system that issue BIO_DELETE bio requests, .Xr md 4 -device supports the BIO_DELETE command, enabling the TRIM on created -filesystem allows return of freed memory to the system pool. +returns deleted blocks to the system memory pool. +.It Fl T Ar fstype +Specify a file system type for a vnode-backed memory disk. +Any file system supported by +.Xr mount 8 +command can be specified. +This option only makes sense when +.Fl F +and +.Fl P +are used. .It Fl U Enable soft-updates on the file system. This is the default, and is accepted only @@ -283,8 +293,8 @@ and .Fl n options are passed to .Xr newfs 8 -with the same letter; -the +with the same letter. +The .Fl O option is passed to .Xr newfs 8 @@ -295,6 +305,12 @@ The option is passed to .Xr mount 8 with the same letter. +The +.Fl T +option is passed to +.Xr mount 8 +as +.Fl t . See the programs that the options are passed to for more information on their semantics. .Sh EXAMPLES @@ -335,6 +351,10 @@ Configure a vnode-backed file system and using automatic device numbering: .Pp .Dl "mdmfs -P -F foo.img mds1a /tmp/" +.Pp +Mount a vnode-backed cd9660 file system using automatic device numbering: +.Pp +.Dl "mdmfs -T cd9660 -P -F foo.iso md /tmp" .Sh COMPATIBILITY The .Nm Modified: head/sbin/mdmfs/mdmfs.c ============================================================================== --- head/sbin/mdmfs/mdmfs.c Fri Mar 11 04:17:39 2016 (r296647) +++ head/sbin/mdmfs/mdmfs.c Fri Mar 11 06:07:09 2016 (r296648) @@ -129,7 +129,7 @@ main(int argc, char **argv) } while ((ch = getopt(argc, argv, - "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:tUv:w:X")) != -1) + "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:tT:Uv:w:X")) != -1) switch (ch) { case 'a': argappend(&newfs_arg, "-a %s", optarg); @@ -218,6 +218,9 @@ main(int argc, char **argv) case 't': argappend(&newfs_arg, "-t"); break; + case 'T': + argappend(&mount_arg, "-t %s", optarg); + break; case 'U': softdep = true; break; From owner-svn-src-head@freebsd.org Fri Mar 11 09:07:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6668EACB346; Fri, 11 Mar 2016 09:07:14 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-lb0-x235.google.com (mail-lb0-x235.google.com [IPv6:2a00:1450:4010:c04::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DE09C2E1; Fri, 11 Mar 2016 09:07:13 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by mail-lb0-x235.google.com with SMTP id x1so146900962lbj.3; Fri, 11 Mar 2016 01:07:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=8SNjL9k1DUZIz+Nwbu+aZyu7MuXyUml9QAcJcZKEe4w=; b=r/RTkR+SKK5JeZRDmjVaXDX3Y4kNsoCOCgHtR+mFIAML2dOZXUVxtKMbIhPSMxtVQ4 1ZSgskzb42Zf/I8/8oaiM7TZPx+JTIPNXRJgICYyXvJPiyHyD9BuF23itIYaV6KlXsDX uII/gawNpR2FJZ2G6cAX87YsfRA2+nNzmV9jUcPDL0/knnzopD/pu/2LCAjefsoj9VxP T4DJBJCHe/ALkTQm3ZjuC3x2p1/pEFshYoYjmAvFwAGVDnVTwM6bQrxdZg8ecG0YmqLM Sw6SIV/SnjIqHkVcuZZnmCZ+P43hnLoR/6cUd0SlSS/UB3BXuhKAI4MNejIB9/Hk/k3w 8iJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=8SNjL9k1DUZIz+Nwbu+aZyu7MuXyUml9QAcJcZKEe4w=; b=ms1XYNiBbaTm3IU378G5536gLK6X4m2ZzpDtWfcXNstBYnSOdu9ztVSK2rZxbCLT3/ ZIPA1HvN51LI/21MAXEN2ABNyVEQSGalV46EjB82D6bhQa6gx9jfiWuVBrGdYtwCx3/Y lKhHjQG8HI/HOM4masN0QdKAoXPr0yqr7IDHMLigDdku4/EuTHOkNPZLf3KG5tqbG04k USPctX+Gj77Wwk6t/z2CZ4QbzS9laqWe35vc512dAOrNF0L7hJJv9ue6o33d5R+grjs1 HkgYXw/+Wkl0EdVfx91K2pX+qS36Qgo6ryakwbK5dYGMpR6rePddsEgo5gzvs58rgfuN 3kSQ== X-Gm-Message-State: AD7BkJJGlW/+a8MEkT+UoqXOEEB8velFNik8LuxIx4snFr/4o2CxdAHMcrPsYWe+BzA4ng== X-Received: by 10.25.157.79 with SMTP id g76mr3053785lfe.93.1457687231891; Fri, 11 Mar 2016 01:07:11 -0800 (PST) Received: from mavbook.mavhome.dp.ua ([134.249.139.101]) by smtp.googlemail.com with ESMTPSA id nv8sm1188359lbb.7.2016.03.11.01.07.10 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 11 Mar 2016 01:07:11 -0800 (PST) Sender: Alexander Motin Message-ID: <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 11:07:09 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Alan Somers , Warner Losh CC: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme References: <201512110206.tBB264Ad039486@repo.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:07:14 -0000 On 11.03.16 06:58, Alan Somers wrote: > Do they behave badly for writes that cross a 128KB boundary, but are > nonetheless aligned to 128KB boundaries? Then I don't understand how > this change (or mav's replacement) is supposed to help. The stripesize > is supposed to be the minimum write that the device can accept without > requiring a read-modify-write. ZFS guarantees that it will never issue > a write smaller than the stripesize, nor will it ever issue a write that > is not aligned to a stripesize-boundary. But even if ZFS worked with > 128KB stripesizes, it would still happily issue writes a multiple of > 128KB in size, and these would cross those boundaries. Am I not > understanding something here? stripesize is not necessary related to read-modify-write. It reports "some" native boundaries of the device. For example, RAID0 array has stripes, crossing which does not cause read-modify-write cycles, but causes I/O split and head seeks for extra disks. This, as I understand, is the case for some Intel's NVMe device models here, and is the reason why 128KB stripesize was originally reported. We can not demand all file systems to never issue I/Os of less then stripesize, since it can be 128KB, 1MB or even more (and since then it would be called sectorsize). If ZFS (in this case) doesn't support allocation block sizes above 8K (and even that is very space-inefficient), and it has no other mechanisms to optimize I/O alignment, then it is not a problem of the NVMe device or driver, but only of ZFS itself. So what I have done here is moved workaround from improper place (NVMe) to proper one (ZFS): NVMe now correctly reports its native 128K bondaries, that will be respected, for example, by gpart, that help, for example UFS align its 32K blocks, while ZFS will correctly ignore values for which it can't optimize, falling back to efficient 512 bytes allocations. PS about the meaning of stripesize not limited to read-modify-write: For example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K and 256K: aligned writes of 4K allow to avoid read-modify-write inside the drive, I/Os not crossing 64K boundaries without reason improve parallel performance, aligned writes of 256K allow to avoid read-modify-write on the RAID5 level. Obviously not all of those optimizations achievable in all environments, and the bigger the stripe size the harder optimize for it, but it does not mean that such optimization is impossible. It would be good to be able to report all of them, allowing each consumer to use as many of them as it can. > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > wrote: > > Some Intel NVMe drives behave badly when the LBA range crosses a > 128k boundary. Their > performance is worse for those transactions than for ones that don't > cross the 128k boundary. > > Warner > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > wrote: > > Are you saying that Intel NVMe controllers perform poorly for > all I/Os that are less than 128KB, or just for I/Os of any size > that cross a 128KB boundary? > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland > > wrote: > > Author: smh > Date: Fri Dec 11 02:06:03 2015 > New Revision: 292074 > URL: https://svnweb.freebsd.org/changeset/base/292074 > > Log: > Limit stripesize reported from nvd(4) to 4K > > Intel NVMe controllers have a slow path for I/Os that span > a 128KB stripe boundary but ZFS limits ashift, which is > derived from d_stripesize, to 13 (8KB) so we limit the > stripesize reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os to > require splitting in nvme(4), however the NVMe I/O path is > very efficient so these additional I/Os will cause very > minimal (if any) difference in performance or CPU utilisation. > > This can be controller by the new sysctl > kern.nvme.max_optimal_sectorsize. > > MFC after: 1 week > Sponsored by: Multiplay > Differential Revision: > https://reviews.freebsd.org/D4446 > > Modified: > head/sys/dev/nvd/nvd.c > head/sys/dev/nvme/nvme.h > head/sys/dev/nvme/nvme_ns.c > head/sys/dev/nvme/nvme_sysctl.c > > > -- Alexander Motin From owner-svn-src-head@freebsd.org Fri Mar 11 09:50:09 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CC76ACC4C8; Fri, 11 Mar 2016 09:50:09 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 53DB51CF8; Fri, 11 Mar 2016 09:50:09 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 769144C35; Fri, 11 Mar 2016 09:50:08 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 09C473AF44; Fri, 11 Mar 2016 10:50:08 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Maste Cc: "src-committers\@freebsd.org" , "svn-src-all\@freebsd.org" , "svn-src-head\@freebsd.org" Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... References: <201603110015.u2B0FT5v065136@repo.freebsd.org> Date: Fri, 11 Mar 2016 10:50:08 +0100 In-Reply-To: (Ed Maste's message of "Fri, 11 Mar 2016 03:05:32 +0000") Message-ID: <867fh9cpin.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:50:09 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ed Maste writes: > It looks like this broke mips: > > In file included from > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto= /openssh/key.h:29, > from > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/pam_ssh.c:60: > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto= /openssh/sshkey.h:145: > warning: '__bounded__' attribute directive ignored Please try the attached patch. I don't know if it fixes the issue, but it's a good idea either way. I'm trying to find out why gcc complains about this specific instance of __bounded__ but not about any of the 88 others in OpenSSH; the only lead I have so far is that pam_ssh uses a different WARNS level. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=pam-ssh-warns.diff Index: lib/libpam/modules/pam_ssh/Makefile =================================================================== --- lib/libpam/modules/pam_ssh/Makefile (revision 296634) +++ lib/libpam/modules/pam_ssh/Makefile (working copy) @@ -7,7 +7,6 @@ MAN= pam_ssh.8 SRCS= pam_ssh.c -WARNS?= 3 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h Index: lib/libpam/modules/pam_ssh/pam_ssh.c =================================================================== --- lib/libpam/modules/pam_ssh/pam_ssh.c (revision 296634) +++ lib/libpam/modules/pam_ssh/pam_ssh.c (working copy) @@ -84,7 +84,9 @@ }; static const char *pam_ssh_agent = "/usr/bin/ssh-agent"; -static char *const pam_ssh_agent_argv[] = { "ssh_agent", "-s", NULL }; +static char str_ssh_agent[] = "ssh-agent"; +static char str_dash_s[] = "-s"; +static char *const pam_ssh_agent_argv[] = { str_ssh_agent, str_dash_s, NULL }; static char *const pam_ssh_agent_envp[] = { NULL }; /* --=-=-=-- From owner-svn-src-head@freebsd.org Fri Mar 11 11:08:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 805C4ACC4A5; Fri, 11 Mar 2016 11:08:13 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 479871EBD; Fri, 11 Mar 2016 11:08:12 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 794C94D34; Fri, 11 Mar 2016 11:08:11 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 41E453AF52; Fri, 11 Mar 2016 12:08:11 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Maste Cc: "src-committers\@freebsd.org" , "svn-src-all\@freebsd.org" , "svn-src-head\@freebsd.org" Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... References: <201603110015.u2B0FT5v065136@repo.freebsd.org> <867fh9cpin.fsf@desk.des.no> Date: Fri, 11 Mar 2016 12:08:11 +0100 In-Reply-To: <867fh9cpin.fsf@desk.des.no> ("Dag-Erling =?utf-8?Q?Sm=C3=B8r?= =?utf-8?Q?grav=22's?= message of "Fri, 11 Mar 2016 10:50:08 +0100") Message-ID: <86vb4tb7c4.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:08:13 -0000 Actually, just add #define __bounded__(x, y, z) at the top of pam_ssh.c and you're good. I will commit a patch shortly. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@freebsd.org Fri Mar 11 11:38:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F5C4ACCF85; Fri, 11 Mar 2016 11:38:33 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D3BFF192; Fri, 11 Mar 2016 11:38:32 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BBcV4g086356; Fri, 11 Mar 2016 11:38:31 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BBcV3H086354; Fri, 11 Mar 2016 11:38:31 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111138.u2BBcV3H086354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 11:38:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296651 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:38:33 -0000 Author: des Date: Fri Mar 11 11:38:31 2016 New Revision: 296651 URL: https://svnweb.freebsd.org/changeset/base/296651 Log: Define __bounded__ to fix the gcc build. While there, raise WARNS. Modified: head/lib/libpam/modules/pam_ssh/Makefile head/lib/libpam/modules/pam_ssh/pam_ssh.c Modified: head/lib/libpam/modules/pam_ssh/Makefile ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 09:55:24 2016 (r296650) +++ head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 11:38:31 2016 (r296651) @@ -7,7 +7,6 @@ LIB= pam_ssh MAN= pam_ssh.8 SRCS= pam_ssh.c -WARNS?= 3 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h Modified: head/lib/libpam/modules/pam_ssh/pam_ssh.c ============================================================================== --- head/lib/libpam/modules/pam_ssh/pam_ssh.c Fri Mar 11 09:55:24 2016 (r296650) +++ head/lib/libpam/modules/pam_ssh/pam_ssh.c Fri Mar 11 11:38:31 2016 (r296651) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include +#define __bounded__(x, y, z) #include "key.h" #include "buffer.h" #include "authfd.h" @@ -84,7 +85,9 @@ static const char *pam_ssh_keyfiles[] = }; static const char *pam_ssh_agent = "/usr/bin/ssh-agent"; -static char *const pam_ssh_agent_argv[] = { "ssh_agent", "-s", NULL }; +static char str_ssh_agent[] = "ssh-agent"; +static char str_dash_s[] = "-s"; +static char *const pam_ssh_agent_argv[] = { str_ssh_agent, str_dash_s, NULL }; static char *const pam_ssh_agent_envp[] = { NULL }; /* From owner-svn-src-head@freebsd.org Fri Mar 11 11:51:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C917ACB662; Fri, 11 Mar 2016 11:51:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DA29DB95; Fri, 11 Mar 2016 11:51:39 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BBpcG5092214; Fri, 11 Mar 2016 11:51:38 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BBpc7m092213; Fri, 11 Mar 2016 11:51:38 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603111151.u2BBpc7m092213@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 11 Mar 2016 11:51:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296652 - head/sys/fs/pseudofs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:51:40 -0000 Author: kib Date: Fri Mar 11 11:51:38 2016 New Revision: 296652 URL: https://svnweb.freebsd.org/changeset/base/296652 Log: Do not perform unneccessary shared recursion on the allproc_lock in pfs_visible(). The recursion does not cause deadlock because the sx implementation does not prefer exclusive waiters over the shared, but this is an implementation detail. Reported by: pho, Matthew Bryan Reviewed by: jhb Tested by: pho Approved by: des (pseudofs maintainer) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/fs/pseudofs/pseudofs_vnops.c Modified: head/sys/fs/pseudofs/pseudofs_vnops.c ============================================================================== --- head/sys/fs/pseudofs/pseudofs_vnops.c Fri Mar 11 11:38:31 2016 (r296651) +++ head/sys/fs/pseudofs/pseudofs_vnops.c Fri Mar 11 11:51:38 2016 (r296652) @@ -104,7 +104,8 @@ pfs_visible_proc(struct thread *td, stru } static int -pfs_visible(struct thread *td, struct pfs_node *pn, pid_t pid, struct proc **p) +pfs_visible(struct thread *td, struct pfs_node *pn, pid_t pid, + bool allproc_locked, struct proc **p) { struct proc *proc; @@ -115,7 +116,8 @@ pfs_visible(struct thread *td, struct pf *p = NULL; if (pid == NO_PID) PFS_RETURN (1); - if ((proc = pfind(pid)) == NULL) + proc = allproc_locked ? pfind_locked(pid) : pfind(pid); + if (proc == NULL) PFS_RETURN (0); if (pfs_visible_proc(td, pn, proc)) { if (p) @@ -202,7 +204,7 @@ pfs_getattr(struct vop_getattr_args *va) PFS_TRACE(("%s", pn->pn_name)); pfs_assert_not_owned(pn); - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (ENOENT); vap->va_type = vn->v_type; @@ -293,7 +295,7 @@ pfs_ioctl(struct vop_ioctl_args *va) * This is necessary because process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) { + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) { VOP_UNLOCK(vn, 0); PFS_RETURN (EIO); } @@ -326,7 +328,7 @@ pfs_getextattr(struct vop_getextattr_arg * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (pn->pn_getextattr == NULL) @@ -462,7 +464,7 @@ pfs_lookup(struct vop_cachedlookup_args PFS_RETURN (ENOENT); /* check that parent directory is visible... */ - if (!pfs_visible(curthread, pd, pvd->pvd_pid, NULL)) + if (!pfs_visible(curthread, pd, pvd->pvd_pid, false, NULL)) PFS_RETURN (ENOENT); /* self */ @@ -546,7 +548,7 @@ pfs_lookup(struct vop_cachedlookup_args got_pnode: pfs_assert_not_owned(pd); pfs_assert_not_owned(pn); - visible = pfs_visible(curthread, pn, pid, NULL); + visible = pfs_visible(curthread, pn, pid, false, NULL); if (!visible) { error = ENOENT; goto failed; @@ -635,7 +637,7 @@ pfs_read(struct vop_read_args *va) * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (proc != NULL) { _PHOLD(proc); @@ -791,7 +793,7 @@ pfs_readdir(struct vop_readdir_args *va) pfs_lock(pd); /* check if the directory is visible to the caller */ - if (!pfs_visible(curthread, pd, pid, &proc)) { + if (!pfs_visible(curthread, pd, pid, true, &proc)) { sx_sunlock(&allproc_lock); pfs_unlock(pd); PFS_RETURN (ENOENT); @@ -995,7 +997,7 @@ pfs_write(struct vop_write_args *va) * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (proc != NULL) { _PHOLD(proc); From owner-svn-src-head@freebsd.org Fri Mar 11 12:59:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65F68ACCAF5; Fri, 11 Mar 2016 12:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 362A8A0A; Fri, 11 Mar 2016 12:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BCx7Km012125; Fri, 11 Mar 2016 12:59:07 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BCx7QZ012124; Fri, 11 Mar 2016 12:59:07 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111259.u2BCx7QZ012124@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 12:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296653 - head/sbin/geom/core X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 12:59:08 -0000 Author: mav Date: Fri Mar 11 12:59:07 2016 New Revision: 296653 URL: https://svnweb.freebsd.org/changeset/base/296653 Log: Allow standard commands for "unknown" classes in RESCUE mode. For example, it allows quite useful `geom disk list` command. MFC after: 1 week Modified: head/sbin/geom/core/geom.c Modified: head/sbin/geom/core/geom.c ============================================================================== --- head/sbin/geom/core/geom.c Fri Mar 11 11:51:38 2016 (r296652) +++ head/sbin/geom/core/geom.c Fri Mar 11 12:59:07 2016 (r296653) @@ -635,8 +635,7 @@ get_class(int *argc, char ***argv) } else if (!strcasecmp(class_name, "label")) { version = &glabel_version; class_commands = glabel_class_commands; - } else - errx(EXIT_FAILURE, "Invalid class name."); + } #endif /* !STATIC_GEOM_CLASSES */ set_class_name(); From owner-svn-src-head@freebsd.org Fri Mar 11 13:06:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 05BB6ACCDF7; Fri, 11 Mar 2016 13:06:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA577E23; Fri, 11 Mar 2016 13:06:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BD6B84015105; Fri, 11 Mar 2016 13:06:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BD6BAk015104; Fri, 11 Mar 2016 13:06:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111306.u2BD6BAk015104@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 13:06:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296654 - head/usr.sbin/pc-sysinstall/backend-query X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 13:06:13 -0000 Author: mav Date: Fri Mar 11 13:06:11 2016 New Revision: 296654 URL: https://svnweb.freebsd.org/changeset/base/296654 Log: Use `geom disk list` instead `camcontrol identify`. The new way works for almost any disk, while the old only for ATA. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Fri Mar 11 12:59:07 2016 (r296653) +++ head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Fri Mar 11 13:06:11 2016 (r296654) @@ -82,8 +82,8 @@ do esac fi - # Try and find some identification information with camcontrol - NEWLINE=$(camcontrol identify $DEV 2>/dev/null | sed -ne 's/^device model *//p') + # Try and get some identification information from GEOM + NEWLINE=$(geom disk list $DEV 2>/dev/null | sed -ne 's/^ descr: *//p') if [ -z "$NEWLINE" ]; then NEWLINE=" " fi From owner-svn-src-head@freebsd.org Fri Mar 11 14:14:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B1DC0ACCAC7; Fri, 11 Mar 2016 14:14:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C0D5F15; Fri, 11 Mar 2016 14:14:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEEFBw036616; Fri, 11 Mar 2016 14:14:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEEFMs036615; Fri, 11 Mar 2016 14:14:15 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111414.u2BEEFMs036615@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 14:14:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296655 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:14:16 -0000 Author: mav Date: Fri Mar 11 14:14:15 2016 New Revision: 296655 URL: https://svnweb.freebsd.org/changeset/base/296655 Log: Unify and improve metadata wiping. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 13:06:11 2016 (r296654) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:14:15 2016 (r296655) @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -x #- # Copyright (c) 2010 iXsystems, Inc. All rights reserved. # @@ -257,12 +257,7 @@ delete_all_gpart() # Destroy the disk geom rc_nohalt "gpart destroy ${DISK}" - # Make sure we clear any hidden gpt tables - clear_backup_gpt_table "${DISK}" - - # Wipe out front of disk - rc_nohalt "dd if=/dev/zero of=${DISK} count=3000" - + wipe_metadata "${DISK}" }; # Function to export all zpools before starting an install @@ -292,7 +287,7 @@ stop_all_gmirror() then echo_log "Stopping mirror $gprov $DISK" rc_nohalt "gmirror remove $gprov $DISK" - rc_nohalt "dd if=/dev/zero of=/dev/${DISK} count=4096" + wipe_metadata "${DISK}" fi done }; @@ -611,12 +606,17 @@ stop_gjournal() } ; -# Function to wipe the potential backup gpt table from a disk -clear_backup_gpt_table() +# Function to wipe the potential metadata from a disk +wipe_metadata() { - echo_log "Clearing gpt backup table location on disk" - rc_nohalt "dd if=/dev/zero of=${1} bs=1m count=1" - rc_nohalt "dd if=/dev/zero of=${1} bs=1m oseek=`diskinfo ${1} | awk '{print int($3 / (1024*1024)) - 4;}'`" + echo_log "Wiping possible metadata on ${1}" + local SIZE="`diskinfo ${1} | awk '{print int($3/(1024*1024)) }'`" + if [ "$SIZE" -gt "5" ] ; then + rc_halt "dd if=/dev/zero of=${1} bs=1m count=1" + rc_halt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" + else + rc_halt "dd if=/dev/zero of=${1} bs=128k" + fi } ; # Function which runs gpart and creates a single large APM partition scheme @@ -696,8 +696,7 @@ init_mbr_full_disk() rc_halt "gpart add -a 4k -t freebsd -i 1 ${_intDISK}" sleep 2 - echo_log "Cleaning up ${_intDISK}s1" - rc_halt "dd if=/dev/zero of=${_intDISK}s1 count=1024" + wipe_metadata "${_intDISK}s1" # Make the partition active rc_halt "gpart set -a active -i 1 ${_intDISK}" @@ -770,9 +769,7 @@ run_gpart_gpt_part() rc_halt "gpart modify -t freebsd -i ${slicenum} ${DISK}" sleep 2 - # Clean up old partition - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${DISK}p${slicenum} count=1024" + wipe_metadata "${slice}" sleep 4 @@ -830,9 +827,7 @@ run_gpart_slice() rc_halt "gpart modify -t freebsd -i ${slicenum} ${DISK}" sleep 2 - # Clean up old partition - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${DISK}s${slicenum} count=1024" + wipe_metadata "${slice}" sleep 1 @@ -883,9 +878,8 @@ run_gpart_free() echo_log "Running gpart on ${DISK}" rc_halt "gpart add -a 4k -t freebsd -i ${slicenum} ${DISK}" sleep 2 - - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${slice} count=1024" + + wipe_metadata "${slice}" sleep 1 From owner-svn-src-head@freebsd.org Fri Mar 11 14:24:34 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3774AACCE30; Fri, 11 Mar 2016 14:24:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 081AE14B1; Fri, 11 Mar 2016 14:24:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEOXmQ039591; Fri, 11 Mar 2016 14:24:33 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEOXaA039590; Fri, 11 Mar 2016 14:24:33 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111424.u2BEOXaA039590@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 14:24:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296656 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:24:34 -0000 Author: mav Date: Fri Mar 11 14:24:32 2016 New Revision: 296656 URL: https://svnweb.freebsd.org/changeset/base/296656 Log: Don't bother to invoke gmirror or zpool if the module is not loaded. Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:14:15 2016 (r296655) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:24:32 2016 (r296656) @@ -263,6 +263,9 @@ delete_all_gpart() # Function to export all zpools before starting an install stop_all_zfs() { + if [ ! -c /dev/zfs ]; then + return; + fi local DISK="`echo ${1} | sed 's|/dev/||g'`" # Export any zpools using this device so we can overwrite @@ -278,6 +281,9 @@ stop_all_zfs() # Function which stops all gmirrors before doing any disk manipulation stop_all_gmirror() { + if [ ! -d /dev/mirror ]; then + return; + fi local DISK="`echo ${1} | sed 's|/dev/||g'`" GPROV="`gmirror list | grep ". Name: mirror/" | cut -d '/' -f 2`" for gprov in $GPROV From owner-svn-src-head@freebsd.org Fri Mar 11 14:47:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 53937ACC9EC; Fri, 11 Mar 2016 14:47:16 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21BE1183; Fri, 11 Mar 2016 14:47:16 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BElFl7045581; Fri, 11 Mar 2016 14:47:15 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BElF2i045580; Fri, 11 Mar 2016 14:47:15 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111447.u2BElF2i045580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 14:47:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296657 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:47:16 -0000 Author: des Date: Fri Mar 11 14:47:14 2016 New Revision: 296657 URL: https://svnweb.freebsd.org/changeset/base/296657 Log: Not ready for level 6 yet due to -Wredundant-decls. Modified: head/lib/libpam/modules/pam_ssh/Makefile Modified: head/lib/libpam/modules/pam_ssh/Makefile ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 14:24:32 2016 (r296656) +++ head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 14:47:14 2016 (r296657) @@ -7,6 +7,7 @@ LIB= pam_ssh MAN= pam_ssh.8 SRCS= pam_ssh.c +WARNS?= 5 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h From owner-svn-src-head@freebsd.org Fri Mar 11 14:57:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94656ACCDEF; Fri, 11 Mar 2016 14:57:41 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6486FB94; Fri, 11 Mar 2016 14:57:41 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEveN8048727; Fri, 11 Mar 2016 14:57:40 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEveOu048726; Fri, 11 Mar 2016 14:57:40 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111457.u2BEveOu048726@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 14:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296659 - head/contrib/unbound/iterator X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:57:41 -0000 Author: des Date: Fri Mar 11 14:57:40 2016 New Revision: 296659 URL: https://svnweb.freebsd.org/changeset/base/296659 Log: Apply upstream r3651: the IPv6 address of the L root has changed. Modified: head/contrib/unbound/iterator/iter_hints.c Directory Properties: head/contrib/unbound/ (props changed) Modified: head/contrib/unbound/iterator/iter_hints.c ============================================================================== --- head/contrib/unbound/iterator/iter_hints.c Fri Mar 11 14:56:42 2016 (r296658) +++ head/contrib/unbound/iterator/iter_hints.c Fri Mar 11 14:57:40 2016 (r296659) @@ -152,7 +152,7 @@ compile_time_root_prime(int do_ip4, int if(!ah(dp, "I.ROOT-SERVERS.NET.", "2001:7fe::53")) goto failed; if(!ah(dp, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) goto failed; if(!ah(dp, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) goto failed; - if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:3::42")) goto failed; + if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:9f::42")) goto failed; if(!ah(dp, "M.ROOT-SERVERS.NET.", "2001:dc3::35")) goto failed; } return dp; From owner-svn-src-head@freebsd.org Fri Mar 11 15:26:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D7226ACBBC7; Fri, 11 Mar 2016 15:26:57 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A4C22FA8; Fri, 11 Mar 2016 15:26:57 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BFQuDa057673; Fri, 11 Mar 2016 15:26:56 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BFQujT057672; Fri, 11 Mar 2016 15:26:56 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111526.u2BFQujT057672@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 15:26:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296660 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 15:26:57 -0000 Author: maxim Date: Fri Mar 11 15:26:56 2016 New Revision: 296660 URL: https://svnweb.freebsd.org/changeset/base/296660 Log: o Document net.inet.icmp.maskfake and net.inet.icmp.tstamprepl sysctls. Modified: head/sbin/ping/ping.8 Modified: head/sbin/ping/ping.8 ============================================================================== --- head/sbin/ping/ping.8 Fri Mar 11 14:57:40 2016 (r296659) +++ head/sbin/ping/ping.8 Fri Mar 11 15:26:56 2016 (r296660) @@ -28,7 +28,7 @@ .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd April 4, 2006 +.Dd March 11, 2016 .Dt PING 8 .Os .Sh NAME @@ -201,10 +201,17 @@ print the netmask of the remote machine. Set the .Va net.inet.icmp.maskrepl MIB variable to enable -.Dv ICMP_MASKREPLY . +.Dv ICMP_MASKREPLY +and +.Va net.inet.icmp.maskfake +if you want to override the netmask in the response. For .Cm time , print the origination, reception and transmission timestamps. +Set the +.Va net.inet.icmp.tstamprepl +MIB variable to enable or disable +.Dv ICMP_TSTAMPREPLY . .It Fl m Ar ttl Set the IP Time To Live for outgoing packets. If not specified, the kernel uses the value of the From owner-svn-src-head@freebsd.org Fri Mar 11 15:29:01 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA123ACBC82; Fri, 11 Mar 2016 15:29:01 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C1FA1168; Fri, 11 Mar 2016 15:29:01 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BFT0nm057784; Fri, 11 Mar 2016 15:29:00 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BFT0eD057783; Fri, 11 Mar 2016 15:29:00 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111529.u2BFT0eD057783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 15:29:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296661 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 15:29:01 -0000 Author: maxim Date: Fri Mar 11 15:29:00 2016 New Revision: 296661 URL: https://svnweb.freebsd.org/changeset/base/296661 Log: o Xr icmp(4). Modified: head/sbin/ping/ping.8 Modified: head/sbin/ping/ping.8 ============================================================================== --- head/sbin/ping/ping.8 Fri Mar 11 15:26:56 2016 (r296660) +++ head/sbin/ping/ping.8 Fri Mar 11 15:29:00 2016 (r296661) @@ -527,6 +527,7 @@ These values are defined in .El .Sh SEE ALSO .Xr netstat 1 , +.Xr icmp 4 , .Xr ifconfig 8 , .Xr routed 8 , .Xr traceroute 8 From owner-svn-src-head@freebsd.org Fri Mar 11 16:03:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB1F7ACCF83; Fri, 11 Mar 2016 16:03:48 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9DA13E74; Fri, 11 Mar 2016 16:03:48 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BG3lth069974; Fri, 11 Mar 2016 16:03:47 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BG3lUu069973; Fri, 11 Mar 2016 16:03:47 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111603.u2BG3lUu069973@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 16:03:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296662 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:03:48 -0000 Author: maxim Date: Fri Mar 11 16:03:47 2016 New Revision: 296662 URL: https://svnweb.freebsd.org/changeset/base/296662 Log: o Kill EoL whitespaces. No functional changes. Modified: head/sbin/ping/ping.c Modified: head/sbin/ping/ping.c ============================================================================== --- head/sbin/ping/ping.c Fri Mar 11 15:29:00 2016 (r296661) +++ head/sbin/ping/ping.c Fri Mar 11 16:03:47 2016 (r296662) @@ -807,7 +807,7 @@ main(int argc, char *const *argv) datalen = sweepmin; send_len = icmp_len + sweepmin; } - if (options & F_SWEEP && !sweepmax) + if (options & F_SWEEP && !sweepmax) errx(EX_USAGE, "Maximum sweep size must be specified"); /* @@ -845,9 +845,9 @@ main(int argc, char *const *argv) if (sweepmax) (void)printf(": (%d ... %d) data bytes\n", sweepmin, sweepmax); - else + else (void)printf(": %d data bytes\n", datalen); - + } else { if (sweepmax) (void)printf("PING %s: (%d ... %d) data bytes\n", @@ -969,14 +969,14 @@ main(int argc, char *const *argv) } if (n == 0 || options & F_FLOOD) { if (sweepmax && sntransmitted == snpackets) { - for (i = 0; i < sweepincr ; ++i) + for (i = 0; i < sweepincr ; ++i) *datap++ = i; datalen += sweepincr; if (datalen > sweepmax) break; send_len = icmp_len + datalen; sntransmitted = 0; - } + } if (!npackets || ntransmitted < npackets) pinger(); else { @@ -1179,7 +1179,7 @@ pr_pack(char *buf, int cc, struct sockad if (options & F_QUIET) return; - + if (options & F_WAITTIME && triptime > waittime) { ++nrcvtimeout; return; From owner-svn-src-head@freebsd.org Fri Mar 11 16:15:53 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D33B1ACA593; Fri, 11 Mar 2016 16:15:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ob0-x231.google.com (mail-ob0-x231.google.com [IPv6:2607:f8b0:4003:c01::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 968A080B; Fri, 11 Mar 2016 16:15:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ob0-x231.google.com with SMTP id fz5so117949419obc.0; Fri, 11 Mar 2016 08:15:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=/1Enm+vT8N9qFGj4+00KISpLVXsOaaDf6zJlHR/OUL0=; b=F3KSLzden67ugmS/KP12I+rKS9appqQWExaFiBMNKYHiZTLBhouZHSiZ38weRcbEVt 7viDvoZupLuvPidmu0pi3n43RhMnq+H1ZsdkgXnJrruaOxKKk4tahtWdS5+YP9PA3AP8 SkiLb7Z56ahEjQwhvWpveO+INYDYlIW7mxURFCJm26rILSLh3L/mOv+80b58rBtt2AxA 87b5D4P48Ie5qDt8yeZzEPhii8niVKdAxZoZiwJnjVean46iMyNRfxDathot1X9BZM3K +95ZFBq1nzYE5rfMA29waoFZwR+3UeN54ARIGPNcBTZU0drMilnDZ0hzLU3nj21AF2+s 1YAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=/1Enm+vT8N9qFGj4+00KISpLVXsOaaDf6zJlHR/OUL0=; b=SrWoJpaG2p2D3kBbQSc2uW26c1nWJrVj4sJPJpO47KZxg1Tdw+iIDQxiEOzaEfe3fp +yuhi8qJvuTu/9UIgyfo8NJ2LP0vq3RAvtarN1kkqjD/98nmw2lFZ7PlPTqpUeUmxNCt eULXa0YEB9QW6Z7gphRkIcMOmay5kxXpyCodleHjln+2bUOrWU/iwdenpcDXQJr3dNbP Bsozp7Ys9hVQvOzfCNLh23FxpjvwBY6sUFAT7EANc0OGgvrOipXloou76vQDSi1xvDOH 3dtFrRrMiEt/KG8PHYMi619uVxQA+swBefPxgmciG4/BbSKHqOcORyFAOc1dNVSVfScm DjbQ== X-Gm-Message-State: AD7BkJLwf6/x/+Cgtpe9XWi5EnyO/AmANw7pHxMnmmavrNwxN2Ja8b236trVEuOv9G2mQ5gsWaT+z4GshRK1TQ== MIME-Version: 1.0 X-Received: by 10.60.141.227 with SMTP id rr3mr5976698oeb.57.1457712952781; Fri, 11 Mar 2016 08:15:52 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Fri, 11 Mar 2016 08:15:52 -0800 (PST) In-Reply-To: <56E28ABD.3060803@FreeBSD.org> References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:15:52 -0700 X-Google-Sender-Auth: 6_rO6LfIupc_GhbxopID9LlVy28 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Alexander Motin Cc: Warner Losh , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:15:53 -0000 Interesting. I didn't know about the alternate meaning of stripesize. I agree then that there's currently no way to tune ZFS to respect NVME's 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, but that would only halfway solve the problem, because allocations could be unaligned. Frankly, I'm surprised that NVME drives should have such a small limit when SATA and SAS devices commonly handle single commands that span multiple MB. I don't think there's any way to adapt ZFS to this limit without hurting it in other ways; for example by restricting its ability to use large _or_ small record sizes. Hopefully the NVME slow path isn't _too_ slow. On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: > On 11.03.16 06:58, Alan Somers wrote: > > Do they behave badly for writes that cross a 128KB boundary, but are > > nonetheless aligned to 128KB boundaries? Then I don't understand how > > this change (or mav's replacement) is supposed to help. The stripesize > > is supposed to be the minimum write that the device can accept without > > requiring a read-modify-write. ZFS guarantees that it will never issue > > a write smaller than the stripesize, nor will it ever issue a write that > > is not aligned to a stripesize-boundary. But even if ZFS worked with > > 128KB stripesizes, it would still happily issue writes a multiple of > > 128KB in size, and these would cross those boundaries. Am I not > > understanding something here? > > stripesize is not necessary related to read-modify-write. It reports > "some" native boundaries of the device. For example, RAID0 array has > stripes, crossing which does not cause read-modify-write cycles, but > causes I/O split and head seeks for extra disks. This, as I understand, > is the case for some Intel's NVMe device models here, and is the reason > why 128KB stripesize was originally reported. > > We can not demand all file systems to never issue I/Os of less then > stripesize, since it can be 128KB, 1MB or even more (and since then it > would be called sectorsize). If ZFS (in this case) doesn't support > allocation block sizes above 8K (and even that is very > space-inefficient), and it has no other mechanisms to optimize I/O > alignment, then it is not a problem of the NVMe device or driver, but > only of ZFS itself. So what I have done here is moved workaround from > improper place (NVMe) to proper one (ZFS): NVMe now correctly reports > its native 128K bondaries, that will be respected, for example, by > gpart, that help, for example UFS align its 32K blocks, while ZFS will > correctly ignore values for which it can't optimize, falling back to > efficient 512 bytes allocations. > > PS about the meaning of stripesize not limited to read-modify-write: For > example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K > and 256K: aligned writes of 4K allow to avoid read-modify-write inside > the drive, I/Os not crossing 64K boundaries without reason improve > parallel performance, aligned writes of 256K allow to avoid > read-modify-write on the RAID5 level. Obviously not all of those > optimizations achievable in all environments, and the bigger the stripe > size the harder optimize for it, but it does not mean that such > optimization is impossible. It would be good to be able to report all > of them, allowing each consumer to use as many of them as it can. > > > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > > wrote: > > > > Some Intel NVMe drives behave badly when the LBA range crosses a > > 128k boundary. Their > > performance is worse for those transactions than for ones that don't > > cross the 128k boundary. > > > > Warner > > > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > > wrote: > > > > Are you saying that Intel NVMe controllers perform poorly for > > all I/Os that are less than 128KB, or just for I/Os of any size > > that cross a 128KB boundary? > > > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland > > > wrote: > > > > Author: smh > > Date: Fri Dec 11 02:06:03 2015 > > New Revision: 292074 > > URL: https://svnweb.freebsd.org/changeset/base/292074 > > > > Log: > > Limit stripesize reported from nvd(4) to 4K > > > > Intel NVMe controllers have a slow path for I/Os that span > > a 128KB stripe boundary but ZFS limits ashift, which is > > derived from d_stripesize, to 13 (8KB) so we limit the > > stripesize reported to geom(8) to 4KB. > > > > This may result in a small number of additional I/Os to > > require splitting in nvme(4), however the NVMe I/O path is > > very efficient so these additional I/Os will cause very > > minimal (if any) difference in performance or CPU > utilisation. > > > > This can be controller by the new sysctl > > kern.nvme.max_optimal_sectorsize. > > > > MFC after: 1 week > > Sponsored by: Multiplay > > Differential Revision: > > https://reviews.freebsd.org/D4446 > > > > Modified: > > head/sys/dev/nvd/nvd.c > > head/sys/dev/nvme/nvme.h > > head/sys/dev/nvme/nvme_ns.c > > head/sys/dev/nvme/nvme_sysctl.c > > > > > > > > > -- > Alexander Motin > From owner-svn-src-head@freebsd.org Fri Mar 11 16:24:41 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B99CACA8BC; Fri, 11 Mar 2016 16:24:41 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C83A9C23; Fri, 11 Mar 2016 16:24:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BGOdoR075918; Fri, 11 Mar 2016 16:24:39 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGOddA075917; Fri, 11 Mar 2016 16:24:39 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603111624.u2BGOddA075917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 11 Mar 2016 16:24:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296663 - head/contrib/elftoolchain/libdwarf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:24:41 -0000 Author: emaste Date: Fri Mar 11 16:24:39 2016 New Revision: 296663 URL: https://svnweb.freebsd.org/changeset/base/296663 Log: libdwarf: fix SHT_REL relocation processing Relocation of type SHT_REL must use the current value as addend. PR: 204084 Obtained from: NetBSD libdwarf_elf_init.c v1.4 Modified: head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Modified: head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c ============================================================================== --- head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Fri Mar 11 16:03:47 2016 (r296662) +++ head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Fri Mar 11 16:24:39 2016 (r296663) @@ -51,7 +51,8 @@ static const char *debug_name[] = { static void _dwarf_elf_write_reloc(Dwarf_Debug dbg, Elf_Data *symtab_data, int endian, - void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend) + void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend, + int is_rel) { GElf_Sym sym; int size; @@ -60,6 +61,14 @@ _dwarf_elf_write_reloc(Dwarf_Debug dbg, return; if ((size = _dwarf_get_reloc_size(dbg, GELF_R_TYPE(r_info))) == 0) return; /* Unknown or non-absolute relocation. */ + if (is_rel) { + uint64_t roffset = offset; + + if (endian == ELFDATA2MSB) + r_addend = _dwarf_read_msb(buf, &roffset, size); + else + r_addend = _dwarf_read_lsb(buf, &roffset, size); + } if (endian == ELFDATA2MSB) _dwarf_write_msb(buf, &offset, sym.st_value + r_addend, size); else @@ -76,7 +85,7 @@ _dwarf_elf_apply_rel_reloc(Dwarf_Debug d j = 0; while (gelf_getrel(rel_data, j++, &rel) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rel.r_offset, rel.r_info, 0); + rel.r_offset, rel.r_info, 0, 1); } static void @@ -89,7 +98,7 @@ _dwarf_elf_apply_rela_reloc(Dwarf_Debug j = 0; while (gelf_getrela(rel_data, j++, &rela) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rela.r_offset, rela.r_info, rela.r_addend); + rela.r_offset, rela.r_info, rela.r_addend, 0); } static int From owner-svn-src-head@freebsd.org Fri Mar 11 16:24:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1A5C8ACA8C2 for ; Fri, 11 Mar 2016 16:24:43 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x230.google.com (mail-ig0-x230.google.com [IPv6:2607:f8b0:4001:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DD875C2B for ; Fri, 11 Mar 2016 16:24:42 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x230.google.com with SMTP id ig19so15788215igb.0 for ; Fri, 11 Mar 2016 08:24:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=4N+gm8vrCsJXYe4fSghj0u9KxKTPaayGL0WzFa7l0TI=; b=WhtyLQBdWH5KX0XPtif45QsTpzKl+CgzNmZgcHS+uu0mX+t01Rc/pEOPiqusB/VpKt /hVhimwHwWtAwHAzouyksiu6gWsOEHbzKnBNUx2xxlPhzUlrkRK8iQYiTY0ZuurwHvb+ vLeouHGRwNKSiFKdbY+/AUPjT5uRpqLccUMGTDKUNI3e4lEmjY9llP5lM1gl4/eX5RWo 1irTbJYYnKW2eISGIRHeSZnqfjQTHvmMJSuAIAdooWsLEAgDsSyOzuwS+ev9uaSKRCCq +z3noYvQpNReIYlTs2e3bS6rCbNvFAK3nFs5InnF6lpVJ/tYIQDZcSozhK0GNyjEqKw4 vPIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=4N+gm8vrCsJXYe4fSghj0u9KxKTPaayGL0WzFa7l0TI=; b=A6R+KEy/TwUgBz0KLhvOKAMetrf8AGY4CN9zzUVcFhdLisrEnE/mxRyAOfL47OcJSH TQKS+3kV6B4dhyn0ABrMWI2WS3SRi9SDaZfsWYWzA/dBovM/4cq51T1CDkCci/wXK0pI 2/GxeVmTAhQ4NgDppN0mXM8Yn//V/H398oqN0BZFbmm7NbuHO95flGhTCeKM1OrZPaic JmH8Cyd4DKC0kiF8Ay2MVwvw/T9jNEMtb08aa/bExKAnQGVHHJupbKVdwmG2FyEMOizm zTRU94SSWQ8MHnuQP0q1t1h41qNveieWiC6bsW6UPvQsoYkRG8ooyDGTis21ks8zv5YR 1LfA== X-Gm-Message-State: AD7BkJIfQzCUtPRYl/mXvdqi6VqBT2BjECQayMWylUSCyjsaq8GpjY4CMJpgwzKNwiaJNb4YZOr+BtankBX/hA== MIME-Version: 1.0 X-Received: by 10.50.13.74 with SMTP id f10mr4485392igc.36.1457713482163; Fri, 11 Mar 2016 08:24:42 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Fri, 11 Mar 2016 08:24:42 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:24:42 -0700 X-Google-Sender-Auth: _5vI04j78ZjNdK5S6mCqNbGu6tM Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:24:43 -0000 On Fri, Mar 11, 2016 at 9:15 AM, Alan Somers wrote: > Interesting. I didn't know about the alternate meaning of stripesize. I > agree then that there's currently no way to tune ZFS to respect NVME's > 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, > but that would only halfway solve the problem, because allocations could be > unaligned. Frankly, I'm surprised that NVME drives should have such a > small limit when SATA and SAS devices commonly handle single commands that > span multiple MB. I don't think there's any way to adapt ZFS to this limit > without hurting it in other ways; for example by restricting its ability to > use large _or_ small record sizes. > > Hopefully the NVME slow path isn't _too_ slow. > Let's be clear here: this is purely an Intel controller issue, not an nvme issue. Most other nvme drives don't have any issues with this at all. At least for the drives I've been testing from well known NAND players (I'm unsure if they are released yet, so I can't name names, other than to say that they aren't OCZ). All these NVMe drives handle 1MB I/Os with approximately the same performance as 128k or 64k I/Os. The enterprise grade drives are quite fast and quite nice. It's the lower end, consumer drives that have more issues. Since those have been eliminated from our detailed consideration, I'm unsure if they have issues. And the Intel issue is a more subtle one having to do with PCIe burst sizes than necessarily crossing the 128k boundary. I've asked my contacts inside of Intel that I don't think read these lists for the exact details. Warner > On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: > >> On 11.03.16 06:58, Alan Somers wrote: >> > Do they behave badly for writes that cross a 128KB boundary, but are >> > nonetheless aligned to 128KB boundaries? Then I don't understand how >> > this change (or mav's replacement) is supposed to help. The stripesize >> > is supposed to be the minimum write that the device can accept without >> > requiring a read-modify-write. ZFS guarantees that it will never issue >> > a write smaller than the stripesize, nor will it ever issue a write that >> > is not aligned to a stripesize-boundary. But even if ZFS worked with >> > 128KB stripesizes, it would still happily issue writes a multiple of >> > 128KB in size, and these would cross those boundaries. Am I not >> > understanding something here? >> >> stripesize is not necessary related to read-modify-write. It reports >> "some" native boundaries of the device. For example, RAID0 array has >> stripes, crossing which does not cause read-modify-write cycles, but >> causes I/O split and head seeks for extra disks. This, as I understand, >> is the case for some Intel's NVMe device models here, and is the reason >> why 128KB stripesize was originally reported. >> >> We can not demand all file systems to never issue I/Os of less then >> stripesize, since it can be 128KB, 1MB or even more (and since then it >> would be called sectorsize). If ZFS (in this case) doesn't support >> allocation block sizes above 8K (and even that is very >> space-inefficient), and it has no other mechanisms to optimize I/O >> alignment, then it is not a problem of the NVMe device or driver, but >> only of ZFS itself. So what I have done here is moved workaround from >> improper place (NVMe) to proper one (ZFS): NVMe now correctly reports >> its native 128K bondaries, that will be respected, for example, by >> gpart, that help, for example UFS align its 32K blocks, while ZFS will >> correctly ignore values for which it can't optimize, falling back to >> efficient 512 bytes allocations. >> >> PS about the meaning of stripesize not limited to read-modify-write: For >> example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K >> and 256K: aligned writes of 4K allow to avoid read-modify-write inside >> the drive, I/Os not crossing 64K boundaries without reason improve >> parallel performance, aligned writes of 256K allow to avoid >> read-modify-write on the RAID5 level. Obviously not all of those >> optimizations achievable in all environments, and the bigger the stripe >> size the harder optimize for it, but it does not mean that such >> optimization is impossible. It would be good to be able to report all >> of them, allowing each consumer to use as many of them as it can. >> >> > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > > > wrote: >> > >> > Some Intel NVMe drives behave badly when the LBA range crosses a >> > 128k boundary. Their >> > performance is worse for those transactions than for ones that don't >> > cross the 128k boundary. >> > >> > Warner >> > >> > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > > > wrote: >> > >> > Are you saying that Intel NVMe controllers perform poorly for >> > all I/Os that are less than 128KB, or just for I/Os of any size >> > that cross a 128KB boundary? >> > >> > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland >> > > wrote: >> > >> > Author: smh >> > Date: Fri Dec 11 02:06:03 2015 >> > New Revision: 292074 >> > URL: https://svnweb.freebsd.org/changeset/base/292074 >> > >> > Log: >> > Limit stripesize reported from nvd(4) to 4K >> > >> > Intel NVMe controllers have a slow path for I/Os that span >> > a 128KB stripe boundary but ZFS limits ashift, which is >> > derived from d_stripesize, to 13 (8KB) so we limit the >> > stripesize reported to geom(8) to 4KB. >> > >> > This may result in a small number of additional I/Os to >> > require splitting in nvme(4), however the NVMe I/O path is >> > very efficient so these additional I/Os will cause very >> > minimal (if any) difference in performance or CPU >> utilisation. >> > >> > This can be controller by the new sysctl >> > kern.nvme.max_optimal_sectorsize. >> > >> > MFC after: 1 week >> > Sponsored by: Multiplay >> > Differential Revision: >> > https://reviews.freebsd.org/D4446 >> > >> > Modified: >> > head/sys/dev/nvd/nvd.c >> > head/sys/dev/nvme/nvme.h >> > head/sys/dev/nvme/nvme_ns.c >> > head/sys/dev/nvme/nvme_sysctl.c >> > >> > >> > >> >> >> -- >> Alexander Motin >> > > From owner-svn-src-head@freebsd.org Fri Mar 11 16:31:50 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC0B0ACAD74 for ; Fri, 11 Mar 2016 16:31:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x22a.google.com (mail-ig0-x22a.google.com [IPv6:2607:f8b0:4001:c05::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E46E98D for ; Fri, 11 Mar 2016 16:31:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x22a.google.com with SMTP id vf5so14414812igb.0 for ; Fri, 11 Mar 2016 08:31:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=feAX+TfXzPbYQA8GJHK1YgWyxMFqkYPmH0rMa5sv3jY=; b=mQqYRGE3Lbf9Ina9TrNcJXODT2773D9t7iexHsZFGvyGfWeKBv77czEwy4+fIZrTUH q2XYD+30B4ityiCc5z6bPnU358rTJOdmsMNLKqxfUEW9c/rTENyB9If+22XxNVCy7OJx Q66WXxkN9+iPu82g5hR5GNUBh25BCau/Vf81lm0wxmSYT4+B6posKTdE2+8JtA/LK6sI 8h2RbFPGKAT/bRqfxjTy8ue/yzQy46gTQBK+2vVxlHtpzb2peocRu3eNtjHm5FWiZ183 ZDv/75G7bj6kEM61evKoxd5118Gpk5KW52uEELFlsPewPZyF9Fpt97r1x7oX7u6csumR /Ltw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=feAX+TfXzPbYQA8GJHK1YgWyxMFqkYPmH0rMa5sv3jY=; b=U2H2F8jnLNMx8qoiHA5SwKbWeUywYgfJgJcQ3U4cChF54+mn2V693kayR233Xr8EjG UenU5LjKyiDjuEIfgF7C3+QuzaCA54GYPyr65gOOQOh136L8tb4J80Jwxm1632z4VDHf LfWdqRDD87GO871V8nA+wOESOSzxJaWtH9mevQQ6RISZ33ZhhlKCCn9982ROpvi+/E9z fyAHzVjs25/YrM1jWpefCtPwBi9ZZO8GAGm1hLZMDWET592mN+lzkBtO+zzIvgg2U6JY VJWtJx8icK6Jv8SiukWZdSwwb6rIG1tVPrC+wezuflCiQ42azenP3YU/ab5LeAQHC9/+ WmEg== X-Gm-Message-State: AD7BkJI1/NZh4/rn/M8VuzZ8tvw/5XN8HNl85gvuApng0S9YCas3sEZn9am5UyP130OFbHd7dYp/WMcdYhiSgw== MIME-Version: 1.0 X-Received: by 10.50.13.74 with SMTP id f10mr4533799igc.36.1457713908927; Fri, 11 Mar 2016 08:31:48 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Fri, 11 Mar 2016 08:31:48 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:31:48 -0700 X-Google-Sender-Auth: O-PNVzTePvVAXvG8H47d0HuUX2o Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:31:50 -0000 On Fri, Mar 11, 2016 at 9:24 AM, Warner Losh wrote: > > > On Fri, Mar 11, 2016 at 9:15 AM, Alan Somers wrote: > >> Interesting. I didn't know about the alternate meaning of stripesize. I >> agree then that there's currently no way to tune ZFS to respect NVME's >> 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, >> but that would only halfway solve the problem, because allocations could be >> unaligned. Frankly, I'm surprised that NVME drives should have such a >> small limit when SATA and SAS devices commonly handle single commands that >> span multiple MB. I don't think there's any way to adapt ZFS to this limit >> without hurting it in other ways; for example by restricting its ability to >> use large _or_ small record sizes. >> >> Hopefully the NVME slow path isn't _too_ slow. >> > > Let's be clear here: this is purely an Intel controller issue, not an nvme > issue. Most other nvme drives don't have any issues with this at all. At > least for the drives I've been testing from well known NAND players (I'm > unsure if they are released yet, so I can't name names, other than to say > that they aren't OCZ). All these NVMe drives handle 1MB I/Os with > approximately the same performance as 128k or 64k I/Os. The enterprise > grade drives are quite fast and quite nice. It's the lower end, consumer > drives that have more issues. Since those have been eliminated from our > detailed consideration, I'm unsure if they have issues. > > And the Intel issue is a more subtle one having to do with PCIe burst > sizes than necessarily crossing the 128k boundary. I've asked my contacts > inside of Intel that I don't think read these lists for the exact details. > And keep in mind the original description was this: Quote: Intel NVMe controllers have a slow path for I/Os that span a 128KB stripe boundary but ZFS limits ashift, which is derived from d_stripesize, to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. This may result in a small number of additional I/Os to require splitting in nvme(4), however the NVMe I/O path is very efficient so these additional I/Os will cause very minimal (if any) difference in performance or CPU utilisation. unquote so the issue seems to being blown up a bit. It's better if you don't generate these I/Os, but the driver copes by splitting them on the affected drives causing a small inefficiency because you're increasing the IOs needed to do the I/O, cutting into the IOPS budget. Warner > Warner > > >> On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: >> >>> On 11.03.16 06:58, Alan Somers wrote: >>> > Do they behave badly for writes that cross a 128KB boundary, but are >>> > nonetheless aligned to 128KB boundaries? Then I don't understand how >>> > this change (or mav's replacement) is supposed to help. The stripesize >>> > is supposed to be the minimum write that the device can accept without >>> > requiring a read-modify-write. ZFS guarantees that it will never issue >>> > a write smaller than the stripesize, nor will it ever issue a write >>> that >>> > is not aligned to a stripesize-boundary. But even if ZFS worked with >>> > 128KB stripesizes, it would still happily issue writes a multiple of >>> > 128KB in size, and these would cross those boundaries. Am I not >>> > understanding something here? >>> >>> stripesize is not necessary related to read-modify-write. It reports >>> "some" native boundaries of the device. For example, RAID0 array has >>> stripes, crossing which does not cause read-modify-write cycles, but >>> causes I/O split and head seeks for extra disks. This, as I understand, >>> is the case for some Intel's NVMe device models here, and is the reason >>> why 128KB stripesize was originally reported. >>> >>> We can not demand all file systems to never issue I/Os of less then >>> stripesize, since it can be 128KB, 1MB or even more (and since then it >>> would be called sectorsize). If ZFS (in this case) doesn't support >>> allocation block sizes above 8K (and even that is very >>> space-inefficient), and it has no other mechanisms to optimize I/O >>> alignment, then it is not a problem of the NVMe device or driver, but >>> only of ZFS itself. So what I have done here is moved workaround from >>> improper place (NVMe) to proper one (ZFS): NVMe now correctly reports >>> its native 128K bondaries, that will be respected, for example, by >>> gpart, that help, for example UFS align its 32K blocks, while ZFS will >>> correctly ignore values for which it can't optimize, falling back to >>> efficient 512 bytes allocations. >>> >>> PS about the meaning of stripesize not limited to read-modify-write: For >>> example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K >>> and 256K: aligned writes of 4K allow to avoid read-modify-write inside >>> the drive, I/Os not crossing 64K boundaries without reason improve >>> parallel performance, aligned writes of 256K allow to avoid >>> read-modify-write on the RAID5 level. Obviously not all of those >>> optimizations achievable in all environments, and the bigger the stripe >>> size the harder optimize for it, but it does not mean that such >>> optimization is impossible. It would be good to be able to report all >>> of them, allowing each consumer to use as many of them as it can. >>> >>> > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh >> > > wrote: >>> > >>> > Some Intel NVMe drives behave badly when the LBA range crosses a >>> > 128k boundary. Their >>> > performance is worse for those transactions than for ones that >>> don't >>> > cross the 128k boundary. >>> > >>> > Warner >>> > >>> > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers >> > > wrote: >>> > >>> > Are you saying that Intel NVMe controllers perform poorly for >>> > all I/Os that are less than 128KB, or just for I/Os of any size >>> > that cross a 128KB boundary? >>> > >>> > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland >>> > > wrote: >>> > >>> > Author: smh >>> > Date: Fri Dec 11 02:06:03 2015 >>> > New Revision: 292074 >>> > URL: https://svnweb.freebsd.org/changeset/base/292074 >>> > >>> > Log: >>> > Limit stripesize reported from nvd(4) to 4K >>> > >>> > Intel NVMe controllers have a slow path for I/Os that >>> span >>> > a 128KB stripe boundary but ZFS limits ashift, which is >>> > derived from d_stripesize, to 13 (8KB) so we limit the >>> > stripesize reported to geom(8) to 4KB. >>> > >>> > This may result in a small number of additional I/Os to >>> > require splitting in nvme(4), however the NVMe I/O path is >>> > very efficient so these additional I/Os will cause very >>> > minimal (if any) difference in performance or CPU >>> utilisation. >>> > >>> > This can be controller by the new sysctl >>> > kern.nvme.max_optimal_sectorsize. >>> > >>> > MFC after: 1 week >>> > Sponsored by: Multiplay >>> > Differential Revision: >>> > https://reviews.freebsd.org/D4446 >>> > >>> > Modified: >>> > head/sys/dev/nvd/nvd.c >>> > head/sys/dev/nvme/nvme.h >>> > head/sys/dev/nvme/nvme_ns.c >>> > head/sys/dev/nvme/nvme_sysctl.c >>> > >>> > >>> > >>> >>> >>> -- >>> Alexander Motin >>> >> >> > From owner-svn-src-head@freebsd.org Fri Mar 11 16:57:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 004A5ACC850; Fri, 11 Mar 2016 16:57:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABAE5921; Fri, 11 Mar 2016 16:57:42 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BGvfS3085041; Fri, 11 Mar 2016 16:57:41 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGvfIb085039; Fri, 11 Mar 2016 16:57:41 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111657.u2BGvfIb085039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 16:57:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296668 - in head: . share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:57:43 -0000 Author: bdrewery Date: Fri Mar 11 16:57:41 2016 New Revision: 296668 URL: https://svnweb.freebsd.org/changeset/base/296668 Log: Enable FAST_DEPEND by default. Discussed on: arch Sponsored by: EMC / Isilon Storage Division Modified: head/UPDATING head/share/mk/bsd.opts.mk Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Mar 11 16:30:51 2016 (r296667) +++ head/UPDATING Fri Mar 11 16:57:41 2016 (r296668) @@ -31,6 +31,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160311: + WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree + builds. It no longer runs mkdep(1) during 'make depend', and the + 'make depend' stage can safely be skipped now as it is auto ran + when building 'make all' and will generate all SRCS and DPSRCS before + building anything else. Dependencies are gathered at compile time with + -MF flags kept in separate .depend files per object file. Users should + run 'make cleandepend' once if using -DNO_CLEAN to clean out older + stale .depend files. + 20160306: On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into kernel modules. Therefore, if you load any kernel modules at boot time, Modified: head/share/mk/bsd.opts.mk ============================================================================== --- head/share/mk/bsd.opts.mk Fri Mar 11 16:30:51 2016 (r296667) +++ head/share/mk/bsd.opts.mk Fri Mar 11 16:57:41 2016 (r296668) @@ -52,6 +52,7 @@ __DEFAULT_YES_OPTIONS = \ ASSERT_DEBUG \ DEBUG_FILES \ DOCCOMPRESS \ + FAST_DEPEND \ INCLUDES \ INSTALLLIB \ KERBEROS \ @@ -68,7 +69,6 @@ __DEFAULT_YES_OPTIONS = \ __DEFAULT_NO_OPTIONS = \ CCACHE_BUILD \ - FAST_DEPEND \ CTF \ INSTALL_AS_USER \ STALE_STAGED From owner-svn-src-head@freebsd.org Fri Mar 11 17:00:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5B08DACCAB2; Fri, 11 Mar 2016 17:00:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 29C2EB99; Fri, 11 Mar 2016 17:00:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BH0hpI085218; Fri, 11 Mar 2016 17:00:43 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BH0hvb085217; Fri, 11 Mar 2016 17:00:43 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111700.u2BH0hvb085217@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:00:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296669 - head/tools/build/options X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:00:44 -0000 Author: bdrewery Date: Fri Mar 11 17:00:42 2016 New Revision: 296669 URL: https://svnweb.freebsd.org/changeset/base/296669 Log: Add a WITHOUT_FAST_DEPEND Added: head/tools/build/options/WITHOUT_FAST_DEPEND - copied, changed from r296668, head/tools/build/options/WITH_FAST_DEPEND Copied and modified: head/tools/build/options/WITHOUT_FAST_DEPEND (from r296668, head/tools/build/options/WITH_FAST_DEPEND) ============================================================================== --- head/tools/build/options/WITH_FAST_DEPEND Fri Mar 11 16:57:41 2016 (r296668, copy source) +++ head/tools/build/options/WITHOUT_FAST_DEPEND Fri Mar 11 17:00:42 2016 (r296669) @@ -1,7 +1,5 @@ .\" $FreeBSD$ -Set to generate -.Sy .depend -files in the build during compilation instead of the -historial +Set to use the historical .Xr mkdep 1 -call during the "make depend" phase. +for the "make depend" phase of the build. +This option is deprecated and will be removed soon. From owner-svn-src-head@freebsd.org Fri Mar 11 17:03:31 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AEDEEACCCB1; Fri, 11 Mar 2016 17:03:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8044CF16; Fri, 11 Mar 2016 17:03:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BH3UFA088047; Fri, 11 Mar 2016 17:03:30 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BH3UfF088046; Fri, 11 Mar 2016 17:03:30 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111703.u2BH3UfF088046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:03:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296670 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:03:31 -0000 Author: bdrewery Date: Fri Mar 11 17:03:30 2016 New Revision: 296670 URL: https://svnweb.freebsd.org/changeset/base/296670 Log: Regenerate Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Fri Mar 11 17:00:42 2016 (r296669) +++ head/share/man/man5/src.conf.5 Fri Mar 11 17:03:30 2016 (r296670) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 292283 2015-12-15 18:42:30Z bdrewery .\" $FreeBSD$ -.Dd March 1, 2016 +.Dd March 11, 2016 .Dt SRC.CONF 5 .Os .Sh NAME @@ -618,14 +618,12 @@ An alternate bootstrap tool chain must b .\" from FreeBSD: head/tools/build/options/WITHOUT_EXAMPLES 156938 2006-03-21 09:06:24Z ru Set to avoid installing examples to .Pa /usr/share/examples/ . -.It Va WITH_FAST_DEPEND -.\" from FreeBSD: head/tools/build/options/WITH_FAST_DEPEND 290433 2015-11-06 04:45:29Z bdrewery -Set to generate -.Sy .depend -files in the build during compilation instead of the -historial +.It Va WITHOUT_FAST_DEPEND +.\" from FreeBSD: head/tools/build/options/WITHOUT_FAST_DEPEND 296669 2016-03-11 17:00:42Z bdrewery +Set to use the historical .Xr mkdep 1 -call during the "make depend" phase. +for the "make depend" phase of the build. +This option is deprecated and will be removed soon. .It Va WITHOUT_FDT .\" from FreeBSD: head/tools/build/options/WITHOUT_FDT 221539 2011-05-06 19:10:27Z ru Set to not build Flattened Device Tree support as part of the base system. From owner-svn-src-head@freebsd.org Fri Mar 11 17:21:29 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3F901ACB617; Fri, 11 Mar 2016 17:21:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 119EA106; Fri, 11 Mar 2016 17:21:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHLSOA093429; Fri, 11 Mar 2016 17:21:28 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHLSFH093428; Fri, 11 Mar 2016 17:21:28 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111721.u2BHLSFH093428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:21:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296671 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:21:29 -0000 Author: bdrewery Date: Fri Mar 11 17:21:27 2016 New Revision: 296671 URL: https://svnweb.freebsd.org/changeset/base/296671 Log: Revert r296645 as it breaks stable/10->head builds. Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 17:03:30 2016 (r296670) +++ head/Makefile Fri Mar 11 17:21:27 2016 (r296671) @@ -313,10 +313,9 @@ upgrade_checks: # MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ - MK_MAN=no \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_SHARED \ + -DNO_MAN -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-head@freebsd.org Fri Mar 11 17:25:20 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1802EACB87F; Fri, 11 Mar 2016 17:25:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D99A4673; Fri, 11 Mar 2016 17:25:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHPIO7094254; Fri, 11 Mar 2016 17:25:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHPIe3094253; Fri, 11 Mar 2016 17:25:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603111725.u2BHPIe3094253@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 17:25:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296672 - head/sbin/nvmecontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:25:20 -0000 Author: dim Date: Fri Mar 11 17:25:18 2016 New Revision: 296672 URL: https://svnweb.freebsd.org/changeset/base/296672 Log: In nvmecontrol, fix gcc warnings about the local 'power' variables shadowing a global declaration. Modified: head/sbin/nvmecontrol/power.c Modified: head/sbin/nvmecontrol/power.c ============================================================================== --- head/sbin/nvmecontrol/power.c Fri Mar 11 17:21:27 2016 (r296671) +++ head/sbin/nvmecontrol/power.c Fri Mar 11 17:25:18 2016 (r296672) @@ -87,7 +87,7 @@ power_list(struct nvme_controller_data * } static void -power_set(int fd, int power, int workload, int perm) +power_set(int fd, int power_val, int workload, int perm) { struct nvme_pt_command pt; uint32_t p; @@ -96,7 +96,7 @@ power_set(int fd, int power, int workloa memset(&pt, 0, sizeof(pt)); pt.cmd.opc = NVME_OPC_SET_FEATURES; pt.cmd.cdw10 = NVME_FEAT_POWER_MANAGEMENT | p; - pt.cmd.cdw11 = power | (workload << 5); + pt.cmd.cdw11 = power_val | (workload << 5); if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0) err(1, "set feature power mgmt request failed"); @@ -127,7 +127,7 @@ void power(int argc, char *argv[]) { struct nvme_controller_data cdata; - int ch, listflag = 0, powerflag = 0, power = 0, fd; + int ch, listflag = 0, powerflag = 0, power_val = 0, fd; int workload = 0; char *end; @@ -138,7 +138,7 @@ power(int argc, char *argv[]) break; case 'p': powerflag = 1; - power = strtol(optarg, &end, 0); + power_val = strtol(optarg, &end, 0); if (*end != '\0') { fprintf(stderr, "Invalid power state number: %s\n", optarg); power_usage(); @@ -174,7 +174,7 @@ power(int argc, char *argv[]) } if (powerflag) { - power_set(fd, power, workload, 0); + power_set(fd, power_val, workload, 0); goto out; } power_show(fd); From owner-svn-src-head@freebsd.org Fri Mar 11 17:28:31 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31D19ACB9BA; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 15F7A914; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 079B0111A; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C9CB61E09C; Fri, 11 Mar 2016 17:28:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id q3lTgiCmS9aF; Fri, 11 Mar 2016 17:28:28 +0000 (UTC) Subject: Re: svn commit: r296589 - head/sys/dev/fdc DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com C67411E097 To: Warner Losh References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E30041.3020804@FreeBSD.org> Date: Fri, 11 Mar 2016 09:28:33 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="22grvUsp1kwLkApMC3HVEJH8q6leL9f61" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:28:31 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --22grvUsp1kwLkApMC3HVEJH8q6leL9f61 Content-Type: multipart/mixed; boundary="uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs" From: Bryan Drewery To: Warner Losh Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh Message-ID: <56E30041.3020804@FreeBSD.org> Subject: Re: svn commit: r296589 - head/sys/dev/fdc References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> In-Reply-To: --uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 9:14 PM, Warner Losh wrote: >=20 >=20 > On Thu, Mar 10, 2016 at 6:58 PM, Warner Losh > wrote: >=20 >=20 > On Mar 10, 2016 3:37 PM, "Bryan Drewery" > wrote: > > > > On 3/9/16 4:33 PM, Warner Losh wrote: > > > Author: imp > > > Date: Thu Mar 10 00:33:06 2016 > > > New Revision: 296589 > > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > > > Log: > > > Stop assuming that bio_cmd is a bit field. > > > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > > > Modified: > > > head/sys/dev/fdc/fdc.c > > > > > > Modified: head/sys/dev/fdc/fdc.c > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 =20 > (r296588) > > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 =20 > (r296589) > > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > > /* Disable ISADMA if we bailed while it was active */ > > > if (fd !=3D NULL && (fd->flags & FD_ISADMA)) { > > > isa_dmadone( > > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : > ISADMA_WRITE, > > > + bp->bio_cmd =3D=3D BIO_READ ? ISADMA_READ : > ISADMA_WRITE, > > > > I think we should have some kind of file (like ports CHANGES) tha= t > lists > > subtle KPI changes. This and the bio bzero change were easily mi= ssed > > and could lead to who-knows-what downstream for vendors or even > > out-of-tree modules. >=20 > True. However, these have never been documented one way or another.= =2E.. >=20 > And this change isn't a change yet... >=20 > I'd love a kpi change file. This is but one of many. We'd need > someone clueful to watch the tree and remind people to add things t= o it. >=20 > I'm also working on documenting our storage api so that people know= > better what is defined, vs what's there and subject to change. >=20 > Re-reading this, I wasn't very clear: >=20 > I think we need this file. > I think we need someone else (not me) to spearhead it and police change= s > I think that the sooner we start the better. > Can I get a volunteer? I don't mind policing it. I'll bring it up on arch@ just to be sure no one objects for some reason. It was also pointed out to me that bio_cmd was never a bitfield and lacked documentation. However I still think it is worth having a file like this. Even my share/mk changes have been subtle enough to break downstream where I don't feel UPDATING is the proper place. --=20 Regards, Bryan Drewery --uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs-- --22grvUsp1kwLkApMC3HVEJH8q6leL9f61 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4wBCAAoJEDXXcbtuRpfPu7oH/0uMnK8t0dIFYwaWV9Tm/G+O X+izHjCQ/9sk7m4K0y7XX+cZS0ODepKoTdTACmFsjvk3cTmiqQ7d8rDPhUsHT+jj zch5j1wnsJOxsLtU3VWKTIJKunwhTzLo0pIPNxOceJLv1iFLv/SDMVy+0WYdCQMM 9jnxa/8Oi8mE4CfGqvQsQAG//qsAfH+TO5cXQPqMNxHslpTOzL1jhoniYjNZiSN5 +5yZ66kCMMsnwmtfRpmZEZZHq54rcVIFd2gKkgRrRw8cUBVh+gbagGpF1S1D94+m pm1shWW2OGi6RcTUUQaF5HkQuKczoHAufQAE8OyAPiWIMwUm8SmDwHGV13hlN8U= =aezR -----END PGP SIGNATURE----- --22grvUsp1kwLkApMC3HVEJH8q6leL9f61-- From owner-svn-src-head@freebsd.org Fri Mar 11 17:31:20 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7607CACBBB9; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 60FC7BF3; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 5A4111297; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1BD0B1E0A8; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 0X8mV-v7AVGp; Fri, 11 Mar 2016 17:31:13 +0000 (UTC) Subject: Re: svn commit: r296671 - head DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 959FA1E0A3 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603111721.u2BHLSFH093428@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E300E7.2080001@FreeBSD.org> Date: Fri, 11 Mar 2016 09:31:19 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603111721.u2BHLSFH093428@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:31:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl Content-Type: multipart/mixed; boundary="gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E300E7.2080001@FreeBSD.org> Subject: Re: svn commit: r296671 - head References: <201603111721.u2BHLSFH093428@repo.freebsd.org> In-Reply-To: <201603111721.u2BHLSFH093428@repo.freebsd.org> --gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/11/2016 9:21 AM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Mar 11 17:21:27 2016 > New Revision: 296671 > URL: https://svnweb.freebsd.org/changeset/base/296671 >=20 > Log: > Revert r296645 as it breaks stable/10->head builds. >=20 > Modified: > head/Makefile >=20 > Modified: head/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Makefile Fri Mar 11 17:03:30 2016 (r296670) > +++ head/Makefile Fri Mar 11 17:21:27 2016 (r296671) > @@ -313,10 +313,9 @@ upgrade_checks: > # > MMAKEENV=3D MAKEOBJDIRPREFIX=3D${MYMAKE:H} \ > DESTDIR=3D \ > - MK_MAN=3Dno \ > INSTALL=3D"sh ${.CURDIR}/tools/install.sh" > MMAKE=3D ${MMAKEENV} ${MAKE} \ > - -DNO_SHARED \ > + -DNO_MAN -DNO_SHARED \ > -DNO_CPU_CFLAGS -DNO_WERROR \ > MK_TESTS=3Dno \ > DESTDIR=3D PROGNAME=3D${MYMAKE:T} >=20 You will see a NO_MAN warning once now in buildworld until your system bmake is updated. --=20 Regards, Bryan Drewery --gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA-- --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4wDnAAoJEDXXcbtuRpfPVFEIAMtc/wZh0Zv/tofKz/jcdn6p cd33o29ADQRIZ6l4n09x9fe0XjaaKGiBQslHZJegCURLKJV1efdwH75C7+PHyOoC saEk1hjWlrsnyGNTNSnae0KFjTVfeQPEq76l+2cm4SOBSXBkiHj02yO2RknuClMO 0+GJPeqSv20FjjQQcvtpDxFGfvQHpRYCrSHlUaXuCzwX7bxaIO5hTLLYjwixvhQO DiZXLQ8aJ4xxSxfPDMd6D349O0K+Lmc+YfhK78aJhE1VYyaDk7xMedTjrk6ExO1a q8eVfMvtMTZ3kOyiiwJ5XCm500YNXaEBx5OVK6JQH7OeX7LY0LO4L9kwLAMQ5iI= =3KZH -----END PGP SIGNATURE----- --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl-- From owner-svn-src-head@freebsd.org Fri Mar 11 17:39:55 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75FACACBEF3; Fri, 11 Mar 2016 17:39:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46D3A115F; Fri, 11 Mar 2016 17:39:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHds5t097370; Fri, 11 Mar 2016 17:39:54 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHdsfr097369; Fri, 11 Mar 2016 17:39:54 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111739.u2BHdsfr097369@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 17:39:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296673 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:39:55 -0000 Author: mav Date: Fri Mar 11 17:39:54 2016 New Revision: 296673 URL: https://svnweb.freebsd.org/changeset/base/296673 Log: Oops, remove debugging forgotten in r296655. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 17:25:18 2016 (r296672) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 17:39:54 2016 (r296673) @@ -1,4 +1,4 @@ -#!/bin/sh -x +#!/bin/sh #- # Copyright (c) 2010 iXsystems, Inc. All rights reserved. # From owner-svn-src-head@freebsd.org Fri Mar 11 18:33:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A505ACC4BD; Fri, 11 Mar 2016 18:33:17 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 101D5D74; Fri, 11 Mar 2016 18:33:17 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: by mail-wm0-x229.google.com with SMTP id p65so28419968wmp.0; Fri, 11 Mar 2016 10:33:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=ec2VIZuVof/YTPJZURFQpXnd7tzfuxJfwR3JAHaChxI=; b=R5b23UcANkowYv7lXGP03+xxuGAkJ9I23HnA4UtlQuqV73e5wJRxxfK3wu4DbvDC+I gM8hY49fPlI/bNyWpYTOGELUxKb9wHxfljHUV/WJLHbkYF5RkgTd6NsJXKS1kXuEWRRY cU4WzCSsDj4nUS7jwrNR3McARUt2jcEUAoxvMVrRIRr7pJ08Tby8a3UxloTU+87WL+KE 8TYZiLaDYq5qOKbranJQotnYMj34NwYwluXA4QisauKJrMa1ibEWPxbLstUqE+A1BlR1 E2wga+5/I+qlKkyf5vn3TJHfLTU/aQCZdhQBN95eY5Ib5UOlhTMrAOds9NTeNHO9+O4N njxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=ec2VIZuVof/YTPJZURFQpXnd7tzfuxJfwR3JAHaChxI=; b=EKaXvb4ppw6GRCjIvfbzbPFzUSV5NLAFit87AI2FjIkSTqRe4G5QY/hKrTwSye6G0j o0ZGoDygGckSNNyNOQEs0hKZ5HOVnbBAHmnJ/7ZvMnYeImfpIbwKI7oId/VmjL8+Fotx tTizUivPyS8SPk5HrFPjjFP9Y0tzWobu+819c5zzicb2kjnB/BrP76uqS1xbHvKV6g1b GBJI4mil412x0zUNP3Qu+24Oz8M7LE4VecvEB1tFeFjVV2ELUYtvtnnu612PnU7Ydrt0 ptT1RoCw/vlwHLV1ZSM86AKsWMm0U483QdPTchKpxzNyn8DiJYDVyOvR/xcm5Wb5dXto y/gQ== X-Gm-Message-State: AD7BkJIYKh6uIlyZr4L1j03mG0bvbI5OPp9hwR3wdn8l4dLYimAjbTt3NMohYEZiFzYW/GmVVTaMz68BRZMJLg== MIME-Version: 1.0 X-Received: by 10.28.153.135 with SMTP id b129mr4640899wme.3.1457721194927; Fri, 11 Mar 2016 10:33:14 -0800 (PST) Received: by 10.194.115.99 with HTTP; Fri, 11 Mar 2016 10:33:14 -0800 (PST) In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 11:33:14 -0700 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Jim Harris To: Warner Losh Cc: Alan Somers , Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 18:33:17 -0000 On Fri, Mar 11, 2016 at 9:31 AM, Warner Losh wrote: > > > > And keep in mind the original description was this: > > Quote: > > Intel NVMe controllers have a slow path for I/Os that span > a 128KB stripe boundary but ZFS limits ashift, which is derived > from d_stripesize, to 13 (8KB) so we limit the stripesize > reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os > to require splitting in nvme(4), however the NVMe I/O > path is very efficient so these additional I/Os will cause > very minimal (if any) difference in performance or > CPU utilisation. > > unquote > > so the issue seems to being blown up a bit. It's better if you > don't generate these I/Os, but the driver copes by splitting them > on the affected drives causing a small inefficiency because you're > increasing the IOs needed to do the I/O, cutting into the IOPS budget. > > Warner > > Warner is correct. This is something specific to some of the Intel NVMe controllers. The core nvme(4) driver detects Intel controllers that benefit from splitting I/O crossing 128KB stripe boundaries, and will do the splitting internal to the driver. Reporting this stripe size further up the stack is only to reduce the number of I/O that require this splitting. In practice, there is no noticeable impact to performance or latency when splitting I/O on 128KB boundaries. Larger I/O are more likely to require splitting, but for larger I/O you will hit overall bandwidth limitations before getting close to IOPs limitations. -Jim From owner-svn-src-head@freebsd.org Fri Mar 11 18:59:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 506B3ACCD21; Fri, 11 Mar 2016 18:59:17 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21945C90; Fri, 11 Mar 2016 18:59:17 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BIxGOI021819; Fri, 11 Mar 2016 18:59:16 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BIxGLs021818; Fri, 11 Mar 2016 18:59:16 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603111859.u2BIxGLs021818@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Fri, 11 Mar 2016 18:59:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296674 - head/sys/dev/drm2 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 18:59:17 -0000 Author: dumbbell Date: Fri Mar 11 18:59:15 2016 New Revision: 296674 URL: https://svnweb.freebsd.org/changeset/base/296674 Log: drm: Fix dev->ioctl_count references leak This fixes the following error: kernel: error: [drm:pid1167:drm_release] *ERROR* Device busy: 2 Because of that, drm_lastclose() was not called, leading to a few memory leaks once the driver was unloaded. MFC after: 1 week Modified: head/sys/dev/drm2/drm_drv.c Modified: head/sys/dev/drm2/drm_drv.c ============================================================================== --- head/sys/dev/drm2/drm_drv.c Fri Mar 11 17:39:54 2016 (r296673) +++ head/sys/dev/drm2/drm_drv.c Fri Mar 11 18:59:15 2016 (r296674) @@ -386,17 +386,21 @@ int drm_ioctl(struct cdev *kdev, u_long switch (cmd) { case FIONBIO: case FIOASYNC: + atomic_dec(&dev->ioctl_count); return 0; case FIOSETOWN: + atomic_dec(&dev->ioctl_count); return fsetown(*(int *)data, &file_priv->minor->buf_sigio); case FIOGETOWN: + atomic_dec(&dev->ioctl_count); *(int *) data = fgetown(&file_priv->minor->buf_sigio); return 0; } if (IOCGROUP(cmd) != DRM_IOCTL_BASE) { + atomic_dec(&dev->ioctl_count); DRM_DEBUG("Bad ioctl group 0x%x\n", (int)IOCGROUP(cmd)); return EINVAL; } From owner-svn-src-head@freebsd.org Fri Mar 11 19:24:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D45ABACD93F; Fri, 11 Mar 2016 19:24:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A246127E; Fri, 11 Mar 2016 19:24:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BJOFqg030797; Fri, 11 Mar 2016 19:24:15 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BJOFbh030796; Fri, 11 Mar 2016 19:24:15 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111924.u2BJOFbh030796@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 19:24:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296675 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 19:24:16 -0000 Author: bdrewery Date: Fri Mar 11 19:24:15 2016 New Revision: 296675 URL: https://svnweb.freebsd.org/changeset/base/296675 Log: Avoid bmake upgrade NO_MAN warning by just setting MAN to empty. Suggested by: imp Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 18:59:15 2016 (r296674) +++ head/Makefile Fri Mar 11 19:24:15 2016 (r296675) @@ -315,7 +315,7 @@ MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_MAN -DNO_SHARED \ + MAN= -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-head@freebsd.org Fri Mar 11 19:28:45 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C27CACDA28; Fri, 11 Mar 2016 19:28:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CB2C6B2; Fri, 11 Mar 2016 19:28:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BJSifQ030981; Fri, 11 Mar 2016 19:28:44 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BJSido030980; Fri, 11 Mar 2016 19:28:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111928.u2BJSido030980@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 19:28:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296676 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 19:28:45 -0000 Author: bdrewery Date: Fri Mar 11 19:28:43 2016 New Revision: 296676 URL: https://svnweb.freebsd.org/changeset/base/296676 Log: Avoid MK_TESTS error on stable/10 by just preventing SUBDIR recursion. Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 19:24:15 2016 (r296675) +++ head/Makefile Fri Mar 11 19:28:43 2016 (r296676) @@ -317,7 +317,7 @@ MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ MMAKE= ${MMAKEENV} ${MAKE} \ MAN= -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ - MK_TESTS=no \ + -DNO_SUBDIR \ DESTDIR= PROGNAME=${MYMAKE:T} bmake: .PHONY From owner-svn-src-head@freebsd.org Fri Mar 11 20:04:34 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9D938ACC76F; Fri, 11 Mar 2016 20:04:34 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 796609AA; Fri, 11 Mar 2016 20:04:34 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BK4XLl043273; Fri, 11 Mar 2016 20:04:33 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BK4XiG043268; Fri, 11 Mar 2016 20:04:33 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201603112004.u2BK4XiG043268@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 11 Mar 2016 20:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 20:04:34 -0000 Author: jhibbits Date: Fri Mar 11 20:04:32 2016 New Revision: 296677 URL: https://svnweb.freebsd.org/changeset/base/296677 Log: Add to CFLAGS, rather than replacing. This allows additional CFLAGS, as set in bsd.cpu.mk, to go through. Modified: head/lib/libunbound/Makefile head/usr.sbin/unbound/anchor/Makefile head/usr.sbin/unbound/checkconf/Makefile head/usr.sbin/unbound/control/Makefile head/usr.sbin/unbound/daemon/Makefile Modified: head/lib/libunbound/Makefile ============================================================================== --- head/lib/libunbound/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/lib/libunbound/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -10,7 +10,7 @@ UNBOUNDDIR= ${.CURDIR}/../../contrib/unb LIB= unbound PRIVATELIB= -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} SRCS= alloc.c as112.c autotrust.c config_file.c configlexer.l configparser.y \ context.c dname.c dns.c dns64.c dnstree.c fptr_wlist.c infra.c \ Modified: head/usr.sbin/unbound/anchor/Makefile ============================================================================== --- head/usr.sbin/unbound/anchor/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/anchor/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -9,7 +9,7 @@ EXPATDIR= ${.CURDIR}/../../../contrib/ex PROG= unbound-anchor SRCS= unbound-anchor.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} -I${EXPATDIR}/lib +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${EXPATDIR}/lib LIBADD= unbound bsdxml ssl crypto pthread MAN= unbound-anchor.8 Modified: head/usr.sbin/unbound/checkconf/Makefile ============================================================================== --- head/usr.sbin/unbound/checkconf/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/checkconf/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound-checkconf SRCS= unbound-checkconf.c worker_cb.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound pthread MAN= unbound-checkconf.8 Modified: head/usr.sbin/unbound/control/Makefile ============================================================================== --- head/usr.sbin/unbound/control/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/control/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound-control SRCS= unbound-control.c worker_cb.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound crypto ssl pthread MAN= unbound-control.8 Modified: head/usr.sbin/unbound/daemon/Makefile ============================================================================== --- head/usr.sbin/unbound/daemon/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/daemon/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound SRCS= acl_list.c cachedump.c daemon.c remote.c stats.c unbound.c worker.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound util ssl crypto pthread MAN= unbound.8 unbound.conf.5 From owner-svn-src-head@freebsd.org Fri Mar 11 20:30:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0AD67ACD07F; Fri, 11 Mar 2016 20:30:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B44AA7D9; Fri, 11 Mar 2016 20:30:07 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BKU6vZ049765; Fri, 11 Mar 2016 20:30:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BKU6fe049763; Fri, 11 Mar 2016 20:30:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603112030.u2BKU6fe049763@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 20:30:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296679 - head/contrib/libc++/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 20:30:08 -0000 Author: dim Date: Fri Mar 11 20:30:06 2016 New Revision: 296679 URL: https://svnweb.freebsd.org/changeset/base/296679 Log: Pull in r246280 from upstream libc++ trunk (by Eric Fiselier): Fix most GCC warnings during build. Only -Wattribute left. This helps to fix a number of -Werror warnings when building world with recent versions of gcc (e.g. the devel/*-xtoolchain-gcc ports). Modified: head/contrib/libc++/include/string head/contrib/libc++/include/system_error Modified: head/contrib/libc++/include/string ============================================================================== --- head/contrib/libc++/include/string Fri Mar 11 20:26:45 2016 (r296678) +++ head/contrib/libc++/include/string Fri Mar 11 20:30:06 2016 (r296679) @@ -1445,7 +1445,8 @@ public: _LIBCPP_INLINE_VISIBILITY size_type length() const _NOEXCEPT {return size();} _LIBCPP_INLINE_VISIBILITY size_type max_size() const _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY size_type capacity() const _NOEXCEPT - {return (__is_long() ? __get_long_cap() : __min_cap) - 1;} + {return (__is_long() ? __get_long_cap() + : static_cast(__min_cap)) - 1;} void resize(size_type __n, value_type __c); _LIBCPP_INLINE_VISIBILITY void resize(size_type __n) {resize(__n, value_type());} @@ -1785,11 +1786,11 @@ private: template static _LIBCPP_INLINE_VISIBILITY size_type __align_it(size_type __s) _NOEXCEPT - {return __s + (__a-1) & ~(__a-1);} + {return (__s + (__a-1)) & ~(__a-1);} enum {__alignment = 16}; static _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __s) _NOEXCEPT - {return (__s < __min_cap ? __min_cap : + {return (__s < __min_cap ? static_cast(__min_cap) : __align_it (__s+1)) - 1;} Modified: head/contrib/libc++/include/system_error ============================================================================== --- head/contrib/libc++/include/system_error Fri Mar 11 20:26:45 2016 (r296678) +++ head/contrib/libc++/include/system_error Fri Mar 11 20:30:06 2016 (r296679) @@ -371,7 +371,7 @@ public: error_category() _NOEXCEPT; #else _LIBCPP_ALWAYS_INLINE - _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() _NOEXCEPT _LIBCPP_DEFAULT; + _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() _NOEXCEPT _LIBCPP_DEFAULT #endif private: error_category(const error_category&);// = delete; From owner-svn-src-head@freebsd.org Fri Mar 11 21:00:15 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C41F1ACD9F9; Fri, 11 Mar 2016 21:00:15 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 94B801513; Fri, 11 Mar 2016 21:00:15 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL0EiP058960; Fri, 11 Mar 2016 21:00:14 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL0EXP058959; Fri, 11 Mar 2016 21:00:14 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603112100.u2BL0EXP058959@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Fri, 11 Mar 2016 21:00:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296681 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:00:15 -0000 Author: dumbbell Date: Fri Mar 11 21:00:14 2016 New Revision: 296681 URL: https://svnweb.freebsd.org/changeset/base/296681 Log: drm/i915: Fix malloc type in i915_gem_object_bind_to_gtt() drm_mm.c expects DRM_MEM_MM, not DRM_I915_GEM. Modified: head/sys/dev/drm2/i915/i915_gem.c Modified: head/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem.c Fri Mar 11 20:43:02 2016 (r296680) +++ head/sys/dev/drm2/i915/i915_gem.c Fri Mar 11 21:00:14 2016 (r296681) @@ -3263,7 +3263,7 @@ i915_gem_object_bind_to_gtt(struct drm_i i915_gem_object_pin_pages(obj); - node = malloc(sizeof(*node), DRM_I915_GEM, M_NOWAIT | M_ZERO); + node = malloc(sizeof(*node), DRM_MEM_MM, M_NOWAIT | M_ZERO); if (node == NULL) { i915_gem_object_unpin_pages(obj); return -ENOMEM; @@ -3286,7 +3286,7 @@ i915_gem_object_bind_to_gtt(struct drm_i goto search_free; i915_gem_object_unpin_pages(obj); - free(node, DRM_I915_GEM); + free(node, DRM_MEM_MM); return ret; } if (WARN_ON(!i915_gem_valid_gtt_space(dev, node, obj->cache_level))) { From owner-svn-src-head@freebsd.org Fri Mar 11 21:05:18 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7988BACDBEA; Fri, 11 Mar 2016 21:05:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A3CF1A94; Fri, 11 Mar 2016 21:05:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL5HiP061933; Fri, 11 Mar 2016 21:05:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL5HTp061931; Fri, 11 Mar 2016 21:05:17 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <201603112105.u2BL5HTp061931@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Fri, 11 Mar 2016 21:05:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296682 - head/usr.sbin/gpioctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:05:18 -0000 Author: gonzo Date: Fri Mar 11 21:05:16 2016 New Revision: 296682 URL: https://svnweb.freebsd.org/changeset/base/296682 Log: Make it possible for operations to refer to GPIO pins by name - Try to guess what is provided as a pin spec for -t or for get/set operation: number or name. Fails in case of ambiguity. - Add -p and -N switches to force pin specification interpretation: -p forces spec to be pin number, -N forces it to be name Submitted by: Emmanuel Vadot Differential Revision: https://reviews.freebsd.org/D5201 Modified: head/usr.sbin/gpioctl/gpioctl.8 head/usr.sbin/gpioctl/gpioctl.c Modified: head/usr.sbin/gpioctl/gpioctl.8 ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.8 Fri Mar 11 21:00:14 2016 (r296681) +++ head/usr.sbin/gpioctl/gpioctl.8 Fri Mar 11 21:05:16 2016 (r296682) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 8, 2015 +.Dd March 11, 2016 .Dt GPIOCTL 1 .Os .Sh NAME @@ -40,21 +40,25 @@ .Op Fl v .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -t .Ar pin .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -c .Ar pin .Ar flag .Op flag ... .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -n .Ar pin .Ar pin-name .Nm .Op Cm -f Ar ctldev +.Op Fl pN .Ar pin .Ar [0|1] .Sh DESCRIPTION @@ -62,6 +66,20 @@ The .Nm utility could be used to manage GPIO pins from userland and list available pins. .Pp +The +.Pa pin +argument can either be a +.Pa pin-number +or a +.Pa pin-name . +If it is a number and a pin has this number as its name and you did not use +.Fl N +or +.Fl p +, then +.Nm +exits. +.Pp The options are as follows: .Bl -tag -width ".Fl f Ar ctldev" .It Fl c Ar pin Ar flag Op flag ... @@ -96,9 +114,17 @@ list available pins .It Fl n Ar pin Ar pin-name set the name used to describe the pin .It Fl t Ar pin -toggle value of provided pin number +toggle value of provided pin .It Fl v be verbose: for each listed pin print current configuration +.It Fl p +Force +.Pa pin +to be interpreted as a pin number +.It Fl N +Force +.Pa pin +to be interpreted as a pin name .El .Sh EXAMPLES .Bl -bullet @@ -114,6 +140,18 @@ gpioctl -f /dev/gpioc0 12 1 Configure pin 12 to be input pin .Pp gpioctl -f /dev/gpioc0 -c 12 IN +.It +Set the name of pin 12 to test +.Pp +gpioctl -f /dev/gpioc0 -n 12 test +.It +Toggle the value the pin named test +.Pp +gpioctl -f /dev/gpioc0 -t test +.It +Toggle the value of pin number 12 even if another pin has the name 12 +.Pp +gpioctl -f /dev/gpioc0 -pt 12 .El .Sh SEE ALSO .Xr gpio 4 , Modified: head/usr.sbin/gpioctl/gpioctl.c ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.c Fri Mar 11 21:00:14 2016 (r296681) +++ head/usr.sbin/gpioctl/gpioctl.c Fri Mar 11 21:05:16 2016 (r296682) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2009, Oleksandr Tymoshenko * Copyright (c) 2014, Rui Paulo + * Copyright (c) 2015, Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,6 +41,10 @@ __FBSDID("$FreeBSD$"); #include +#define PIN_TYPE_UNKNOWN 0 +#define PIN_TYPE_NUMBER 1 +#define PIN_TYPE_NAME 2 + struct flag_desc { const char *name; uint32_t flag; @@ -66,10 +71,10 @@ usage(void) { fprintf(stderr, "Usage:\n"); fprintf(stderr, "\tgpioctl [-f ctldev] -l [-v]\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -t pin\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -c pin flag ...\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -n pin pin-name\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] pin [0|1]\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -t pin\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -c pin flag ...\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -n pin pin-name\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] pin [0|1]\n"); exit(1); } @@ -163,6 +168,32 @@ dump_pins(gpio_handle_t handle, int verb free(cfgs); } +static int +get_pinnum_by_name(gpio_handle_t handle, const char *name) { + int i, maxpin, pinn; + gpio_config_t *cfgs; + gpio_config_t *pin; + + pinn = -1; + maxpin = gpio_pin_list(handle, &cfgs); + if (maxpin < 0) { + perror("gpio_pin_list"); + exit(1); + } + + for (i = 0; i <= maxpin; i++) { + pin = cfgs + i; + gpio_pin_get(handle, pin->g_pin); + if (!strcmp(name, pin->g_name)) { + pinn = i; + break; + } + } + free(cfgs); + + return pinn; +} + static void fail(const char *fmt, ...) { @@ -181,19 +212,16 @@ main(int argc, char **argv) gpio_config_t pin; gpio_handle_t handle; char *ctlfile = NULL; - int pinn, pinv, ch; + int pinn, pinv, pin_type, ch; int flags, flag, ok; int config, list, name, toggle, verbose; - config = toggle = verbose = list = name = pinn = 0; + config = toggle = verbose = list = name = pin_type = 0; - while ((ch = getopt(argc, argv, "c:f:ln:t:v")) != -1) { + while ((ch = getopt(argc, argv, "cf:lntvNp")) != -1) { switch (ch) { case 'c': config = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); break; case 'f': ctlfile = optarg; @@ -203,15 +231,15 @@ main(int argc, char **argv) break; case 'n': name = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); + break; + case 'N': + pin_type = PIN_TYPE_NAME; + break; + case'p': + pin_type = PIN_TYPE_NUMBER; break; case 't': toggle = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); break; case 'v': verbose = 1; @@ -232,33 +260,58 @@ main(int argc, char **argv) exit(1); } + if (list) { + dump_pins(handle, verbose); + gpio_close(handle); + exit(0); + } + + if (argc == 0) + usage(); + + /* Find the pin number by the name */ + switch (pin_type) { + case PIN_TYPE_UNKNOWN: + /* First test if it is a pin number */ + pinn = str2int(argv[0], &ok); + if (ok) { + /* Test if we have any pin named by this number and tell the user */ + if (get_pinnum_by_name(handle, argv[0]) != -1) + fail("%s is also a pin name, use -p or -N\n", argv[0]); + } else { + /* Test if it is a name */ + if ((pinn = get_pinnum_by_name(handle, argv[0])) == -1) + fail("Can't find pin named \"%s\"\n", argv[0]); + } + break; + case PIN_TYPE_NUMBER: + pinn = str2int(argv[0], &ok); + if (!ok) + fail("Invalid pin number: %s\n", argv[0]); + break; + case PIN_TYPE_NAME: + if ((pinn = get_pinnum_by_name(handle, argv[0])) == -1) + fail("Can't find pin named \"%s\"\n", argv[0]); + break; + } + /* Set the pin name. */ if (name) { - if (argc == 0) { + if (argc != 2) usage(); - exit(1); - } - if (gpio_pin_set_name(handle, pinn, argv[0]) < 0) { + if (gpio_pin_set_name(handle, pinn, argv[1]) < 0) { perror("gpio_pin_set_name"); exit(1); } exit(0); } - if (list) { - dump_pins(handle, verbose); - gpio_close(handle); - exit(0); - } - if (toggle) { /* - * -t pin assumes no additional arguments - */ - if (argc > 0) { + * -t pin assumes no additional arguments + */ + if (argc > 1) usage(); - exit(1); - } if (gpio_pin_toggle(handle, pinn) < 0) { perror("gpio_pin_toggle"); exit(1); @@ -269,7 +322,7 @@ main(int argc, char **argv) if (config) { flags = 0; - for (i = 0; i < argc; i++) { + for (i = 1; i < argc; i++) { flag = str2cap(argv[i]); if (flag < 0) fail("Invalid flag: %s\n", argv[i]); @@ -287,14 +340,8 @@ main(int argc, char **argv) /* * Last two cases - set value or print value */ - if ((argc == 0) || (argc > 2)) { + if ((argc == 0) || (argc > 2)) usage(); - exit(1); - } - - pinn = str2int(argv[0], &ok); - if (!ok) - fail("Invalid pin number: %s\n", argv[0]); /* * Read pin value @@ -311,7 +358,7 @@ main(int argc, char **argv) /* Is it valid number (0 or 1) ? */ pinv = str2int(argv[1], &ok); - if (!ok || ((pinv != 0) && (pinv != 1))) + if (ok == 0 || ((pinv != 0) && (pinv != 1))) fail("Invalid pin value: %s\n", argv[1]); /* From owner-svn-src-head@freebsd.org Fri Mar 11 21:05:36 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9EFC7ACDC3E; Fri, 11 Mar 2016 21:05:36 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0142.outbound.protection.outlook.com [65.55.169.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F0101C0C; Fri, 11 Mar 2016 21:05:29 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from BLUPR05CA0062.namprd05.prod.outlook.com (10.141.20.32) by BY2PR0501MB1800.namprd05.prod.outlook.com (10.163.155.142) with Microsoft SMTP Server (TLS) id 15.1.434.16; Fri, 11 Mar 2016 20:32:02 +0000 Received: from BN1BFFO11FD024.protection.gbl (2a01:111:f400:7c10::1:137) by BLUPR05CA0062.outlook.office365.com (2a01:111:e400:855::32) with Microsoft SMTP Server (TLS) id 15.1.434.16 via Frontend Transport; Fri, 11 Mar 2016 20:32:02 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.19) smtp.mailfrom=juniper.net; FreeBSD.org; dkim=none (message not signed) header.d=none;FreeBSD.org; dmarc=none action=none header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.19 as permitted sender) Received: from p-emfe01b-sac.jnpr.net (66.129.239.19) by BN1BFFO11FD024.mail.protection.outlook.com (10.58.144.87) with Microsoft SMTP Server (TLS) id 15.1.434.11 via Frontend Transport; Fri, 11 Mar 2016 20:32:02 +0000 Received: from magenta.juniper.net (172.17.27.123) by p-emfe01b-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 11 Mar 2016 12:32:01 -0800 Received: from kaos.jnpr.net (kaos.jnpr.net [172.21.16.84]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id u2BKW0D81801; Fri, 11 Mar 2016 12:32:00 -0800 (PST) (envelope-from sjg@juniper.net) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 0558838551E; Fri, 11 Mar 2016 12:32:00 -0800 (PST) To: Bryan Drewery CC: , , , Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake In-Reply-To: <56E243ED.5050803@FreeBSD.org> References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> Comments: In-reply-to: Bryan Drewery message dated "Thu, 10 Mar 2016 20:05:01 -0800." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 24.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <81517.1457728319.1@kaos.jnpr.net> Date: Fri, 11 Mar 2016 12:31:59 -0800 Message-ID: <81518.1457728319@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:66.129.239.19; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(24454002)(107886002)(6806005)(1220700001)(23726003)(117636001)(586003)(76176999)(4001430100002)(5008740100001)(97756001)(189998001)(86362001)(1096002)(4326007)(19580405001)(77096005)(2950100001)(2810700001)(50986999)(110136002)(105596002)(19580395003)(11100500001)(106466001)(2906002)(53416004)(81166005)(50226001)(87936001)(76506005)(92566002)(46406003)(5003600100002)(47776003)(50466002)(450100001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0501MB1800; H:p-emfe01b-sac.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD024; 1:9vjj5j50gWBu/lKs09lxN8L85AKcRFNNmOzHtHCExWQ+9Sl8T38LD4ZX3AK9GRM+uZhBKYzuDBjBu/JQAycSNmwoenfwb1W5/Ec/zk3Lz5S2fZcWxvABJcA+2EOzTUYzOevexLObegKpY5MPD+rY8J+zA5Tl9dRGPiHQyMUhio9SLPOwfuCUpB61k7XG3lefPc7luJf3rApwPNS+GDREES946nZ0V/N4yW9oA9CbBQiqnG5PDqIgc160VQYSV8cLGUWLue+4xlap7O0IwjfHT/PDNxnuQTrOVNO4xXIKFIFvMsrvwIGoG0oBUOeLhr09+1Mbq0hMYmozQB3+HVAbOrqpXw8g7d130QT3fNfIwfvKlakffEAJmmGiU7DkEpzHQ9UTvLhjZD9dSseCRV5xiQ7ZHREkaG6irfdD7gBOGDg= X-MS-Office365-Filtering-Correlation-Id: 87d4aff2-7de2-42a7-5b84-08d349ec343a X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 2:3n8+nZ2ado1ut7bGJ3yoDBofqVZcFNwu2zp1zac/yWvOmQ2sqTR0+c1UsmCzdqbMaleOPuFeLXpMH2L/LgZ+mmUpVJEocSysw+EGn1Y7qC9nmIQbJ3CQN7nCGQqDh3GipI1z9rv5vPI+258oZ2I9ds3dt/nF8rlF/MP8VM1ut9iJm0FEyDjArQ1i6Z/lqu/y; 3:IDSx2+0BYZ45Q/HvErIQ5U1q2JVcclCFEyKVitY1KFYCsgdXZgrOCqqAm4JHLC10YCfecROYFW8lLk2uTOczkTdCPVt/Yizr2L+SOnryu3aN0DFrcsQdFREiLWSzVHIs5JrvRXbJCyW7K7zYsAYltB0Ntt7UiEJQspCWfJFsuOER6W7U0H9hlEXvlKchMZQdzTaculpYT6qJjxWGlE0hWBQHGZ6l8XEX+JvfhAfleds=; 25:BOxM6ALfqBmKGF/dqjimXhF+ylZTzXEtZhwpotwT6q4wp9ZuCdAcgy8qMzYChKAZ9MM2kUSp/OcmCdNGB/DiuNTIrVwMpwedkchAGwU5F/e4Dd7gKztul9T0+1r98Omll4/MsDc5GRgm4qeZS9XqyslVpNfWO102ZALc96oy2uINgaR76sOoTYpep3NUSgJnjYi1QUGjVP30MPomh2YfXcPpRhHbPGjrPwXg0LExl0yyQKqGd8J7nC3Dh9/GPFU7nl0bryP2MUgM65vL9StVLjgRpJB7vPbeB3hOhqHf3G8igMg9ViDl9JLsHfp5v6iyKjKhv6wQj3/PeNXuIop6jQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0501MB1800; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 20:FvJzeJ2gFtn7Km+BJd4EdqlRdIGBumduRvlSfTCqgkP1oAeE42SfWQDOlOzZFsHG3qslCiYBtpyC5GqXxm7sKje1Bqnx7KGBmHfbhNGeMOG8gg6btaVEmlmX8yX5yNrupct6JHCacYpHuTkHMIBx1MTS+vjtIJr/dqdi96MfW8WFY+6djgxtzNF2qtJMD5B2loCrAwZeWY1lGyWkBkAJ8iB5DTf39k6dguu6emj/40ssH95uHqtZxRFxuSiWNLhwDEBaymdum5myLL8GZieLDCCyA9a3OfynTIkHQ70RAimxeKE73GOS5w+GgiAqyaq11ocQme68JTKcrsmbniRsjbbe2Spwj+YdXYe6M30wF7h3HnVBdJuKhVB7Dx8qCT7fV5NaHUEgnrQmJvDQDUfeYhLz3P/5MjW6Tu/gIs/NHo9/Y70LbsvBhIaewFzw3DIdh+9wxW6BRtI9VN4IERK/7s1PSF3HshWOgmkEBP9qH8LXXVq4q9eCoSKK/wQ9qtaF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13015025)(8121501046)(13018025)(13023025)(13017025)(5005006)(13024025)(10201501046)(3002001); SRVR:BY2PR0501MB1800; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0501MB1800; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 4:BDx7fwJGiEx0ddEfOXw0qahk5ghoXXIswzQ3VCAgz14L2EHB/w0wijZbyZgaiqmE4O8p2WElzK9zukv14+813d1OrHoLdoo6Z+Jgsn0VLX2celfc5SyRif/rRSnpIWpSF2UzuDdbie8rChrb09BwvudJvU4xzYT93GWYo0DWshbo4g8XqfkeuKboq6wRaldocFK+r0DDlY7HbKLLTpIeAj2zAm59yAeQUusx+pKzwnf/pTtnQNVnMze5rrywxwNEEgoG8sxtzorR2VaD8mDLXQ3+EKhB5w3eK8uYsOqgpLfj/J14yZCOM2K+J69+xncmwnxaZuiWTDh5oPRuS8r/PEkzIfu7cFuQK40kZL9kehmPTnPCjoUz/InD0zLjcaAsQ+uYGWiKOI8b1ShI+M9M7NMTXeQ6gAunoOvekuQfoJStulRXzj+aEdUvCnMECrWOasPYDrGxo0nnG+aM71IDwA== X-Forefront-PRVS: 087894CD3C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0501MB1800; 23:g6uDXvR9D6q8tjdz2hTpEI2PWwhs4L+DopJk/aI?= =?us-ascii?Q?QOc3DgMVqXPn7IY6zm4lITBYPhgBhfpSR+/W++H1E4n7/3SCRjdhDGP/rr+D?= =?us-ascii?Q?9HDcj6rZ1QLuqmf07NEBxubFq3cRmgxu2IwsUvWD72aI6zcBa1LkV0J6vbUP?= =?us-ascii?Q?XY0UTJAkIsxBk1vrLx0KxKb5taZp4ZNjPVPuCYMyT0b6owz4qZr/B6yygyml?= =?us-ascii?Q?13TYsEnwfHAQDRs4GkZcyFkQUJSlrLUT+kUXay570/A630vAqiDcqNGRRUer?= =?us-ascii?Q?BHLGSW3wjQmPpIX7MGHhpTnH4we0ZliG5/2VnyxZFf3089QKZ6VIik0B1tDZ?= =?us-ascii?Q?eiIzoOLR33pj83/Boq0npzrWlz0oXacZn7TssWt2ue1+eA/2qAcB89OXxdUh?= =?us-ascii?Q?wD5nuSw1gr/vjWyTvhaN05c4r6GTh6JywpJLFLEkFyWkc3q9va/pDVX6wwoJ?= =?us-ascii?Q?p7EDc9CCXTknGhFri0YWCt8RyI7wfD4NvLV81a8PC9gH1UTfHl2iyrQl8Wyq?= =?us-ascii?Q?JMSNXwqk4K+8IOgfnKd/ig331KuY67m7DPuufDFmRkJqI/jXgBtPuPF8EpJE?= =?us-ascii?Q?eDBqHOEQnbMHrfXNJGiW85n9wnTsvgUPc3aW4m0L1qbUVnm9fAJ0VVTqHRZD?= =?us-ascii?Q?t1f7LiAi//8GmPdtPWwpS3L636J/OT2os0fcNvXphf2ineLqCytMnqhAoavA?= =?us-ascii?Q?p+U77KH9K+BW4G0dmem/ZQhJDwkpp3pYMFcr3IHyDwLp3o0OeazXbd8lm2Zp?= =?us-ascii?Q?xd9jdVJEODlNQvRZhOD+Ct7cNy/l2L6qeI8FjNnyHfWLrosV1GrOwzmUHWy2?= =?us-ascii?Q?lo1lYscsERt/7MG5dPiDUOrExbpEg1OuFQHGSK+nTZ7XqpIwxeOfKfIazFUN?= =?us-ascii?Q?scEZbmepbjXyB6E1ipg9E30K5Ru5lDAeOvmmv5eUtdOB4hWVWICJjBEziS/D?= =?us-ascii?Q?Yc4UUT/KVVVyU17YNby+UnvezegMp9faNz0TurNhQwh8B9v+kU3tN2vJO1fR?= =?us-ascii?Q?rBZGcmENoduFGbGftRgsU8fT8H3TBrd9hUkN9GZ9Ekv/ikYG3WkzWMu2i/5V?= =?us-ascii?Q?oud0G5pXT5ejiC0ctl3dehgfX4Hul?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 5:fxn90u2xHo6jFHJYUABPee7oTDmR4x17G6Y3wM9gHvCKx5Wwn1kDDewTjYh09mbJYe8rXxz+67p/EP2J31yvc7ifnF3NMj2cNmjukYPkIR5NR1iewQHt41crUGZ7/UiMuYFJvWxdHgdP8mndTwnzWA==; 24:MyHSl+g7L8wTf+uOGdZh4/JJ2Xc9aCeEseMPXw/XYEpqWQwEcUbAzRWhU1UI6BY+W6gFtGwhPIb4OZm/YzTGVqUoyq3GUYf+LmOSt2fCn5o= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2016 20:32:02.3133 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.19]; Helo=[p-emfe01b-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0501MB1800 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:05:36 -0000 Bryan Drewery wrote: > > ~/git/freebsd # head usr.bin/bmake/Makefile > > # This is a generated file, do NOT edit! > > # See contrib/bmake/bsd.after-import.mk > > Is this still true? I have to rename MAKE_VERSION in Yes it is still true. > usr.bin/bmake/Makefile because it is colliding with the built-in > MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to > build the new bmake itself. Sounds like you might have a bug. What is the specific issue? From owner-svn-src-head@freebsd.org Fri Mar 11 21:06:19 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09679ACDCB4; Fri, 11 Mar 2016 21:06:19 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE3211D91; Fri, 11 Mar 2016 21:06:18 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL6HYP062008; Fri, 11 Mar 2016 21:06:17 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL6Hrk062007; Fri, 11 Mar 2016 21:06:17 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201603112106.u2BL6Hrk062007@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 11 Mar 2016 21:06:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296683 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:06:19 -0000 Author: glebius Date: Fri Mar 11 21:06:17 2016 New Revision: 296683 URL: https://svnweb.freebsd.org/changeset/base/296683 Log: Allow minimum and maximum sweep size be the same. Submitted by: maxim Modified: head/sbin/ping/ping.c Modified: head/sbin/ping/ping.c ============================================================================== --- head/sbin/ping/ping.c Fri Mar 11 21:05:16 2016 (r296682) +++ head/sbin/ping/ping.c Fri Mar 11 21:06:17 2016 (r296683) @@ -793,8 +793,8 @@ main(int argc, char *const *argv) } #endif if (sweepmax) { - if (sweepmin >= sweepmax) - errx(EX_USAGE, "Maximum packet size must be greater than the minimum packet size"); + if (sweepmin > sweepmax) + errx(EX_USAGE, "Maximum packet size must be no less than the minimum packet size"); if (datalen != DEFDATALEN) errx(EX_USAGE, "Packet size and ping sweep are mutually exclusive"); From owner-svn-src-head@freebsd.org Fri Mar 11 21:14:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CCF3ACDF46; Fri, 11 Mar 2016 21:14:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E298E3C9; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id D308918E7; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 83A3E1E6E7; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id WBH_LGgB1s7W; Fri, 11 Mar 2016 21:14:25 +0000 (UTC) Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com A3BA31E6E1 To: "Simon J. Gerraty" References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> <81518.1457728319@kaos.jnpr.net> Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E33536.2000407@FreeBSD.org> Date: Fri, 11 Mar 2016 13:14:30 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <81518.1457728319@kaos.jnpr.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:14:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4 Content-Type: multipart/mixed; boundary="oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ" From: Bryan Drewery To: "Simon J. Gerraty" Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Message-ID: <56E33536.2000407@FreeBSD.org> Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> <81518.1457728319@kaos.jnpr.net> In-Reply-To: <81518.1457728319@kaos.jnpr.net> --oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/11/2016 12:31 PM, Simon J. Gerraty wrote: > Bryan Drewery wrote: >=20 >>> ~/git/freebsd # head usr.bin/bmake/Makefile >>> # This is a generated file, do NOT edit! >>> # See contrib/bmake/bsd.after-import.mk >> >> Is this still true? I have to rename MAKE_VERSION in >=20 > Yes it is still true. >=20 >> usr.bin/bmake/Makefile because it is colliding with the built-in >> MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to >> build the new bmake itself. >=20 > Sounds like you might have a bug. > What is the specific issue? >=20 Older bmake (with default MAKESYSPATH=3D.../share/mk) running 'make upgrade_checks' in top-level which builds latest bmake in usr.bin/bmake which uses share/mk/bsd.dep.mk where I check MAKE_VERSION for .dinclude support. Since usr.bin/bmake/Makefile overrides MAKE_VERSION then the check later in bsd.dep.mk fails because it thinks .dinclude is available when it is not. At least on older releases the make doesn't default MAKESYSPATH to =2E../share/mk so it uses the installed /usr/share/mk which avoids the problem, but only assuming someone didn't commit code anticipating a release with a specific MAKE_VERSION like I almost did this week. I renamed it to _MAKE_VERSION to avoid the problem in usr.bin/bmake/Makefile. --=20 Regards, Bryan Drewery --oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ-- --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4zU2AAoJEDXXcbtuRpfPWBIH/2wuhq1UAGCcjL/asVLJb3fV cubAN15LahuKkeeki/HeLkTWvvPbBvC3u/Mstmh/P/qxGA9m72X6a5d6Ha5+pqAi 90CTVGY6BIoeTxkACGf10Q2lHEFNN9bTMtgbxvWqSZm4oEzAHqjoej0bS6kXkxZJ aO3e87KA0e/4W9mOybQ6SA/Jvp4FwNHOt5ILByc/lcdUBG8o6uemNjOSNZlvgjAZ GB1IptNfH6GMVqHJMVMqpbzLgszfJpEnJdKOS/oHg8AwBIQX4+lWLDa2CCJL8T29 vaa2LumrIIxVm4g97BQeGdkqXqna8N7z7u3kDJPnuZ1a+E+WyV5CeAAyDQICNfk= =lHri -----END PGP SIGNATURE----- --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4-- From owner-svn-src-head@freebsd.org Fri Mar 11 21:57:32 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4901EACCD7B; Fri, 11 Mar 2016 21:57:32 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [45.55.20.155]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2C1AA8D5; Fri, 11 Mar 2016 21:57:31 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from [76.102.118.237] (helo=[10.0.1.7]) by id.bluezbox.com with esmtpsa (TLSv1:ECDHE-RSA-AES256-SHA:256) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1aeUWf-000H89-AD; Fri, 11 Mar 2016 13:23:13 -0800 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: svn commit: r296682 - head/usr.sbin/gpioctl From: Oleksandr Tymoshenko In-Reply-To: <201603112105.u2BL5HTp061931@repo.freebsd.org> Date: Fri, 11 Mar 2016 13:23:13 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <7E27E295-88EA-443D-A1A2-B7E367733D68@freebsd.org> References: <201603112105.u2BL5HTp061931@repo.freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Mailer: Apple Mail (2.3112) Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: > On Mar 11, 2016, at 1:05 PM, Oleksandr Tymoshenko wrote: > > Author: gonzo > Date: Fri Mar 11 21:05:16 2016 > New Revision: 296682 > URL: https://svnweb.freebsd.org/changeset/base/296682 > > Log: > Make it possible for operations to refer to GPIO pins by name > > - Try to guess what is provided as a pin spec for -t or for get/set > operation: number or name. Fails in case of ambiguity. > - Add -p and -N switches to force pin specification interpretation: > -p forces spec to be pin number, -N forces it to be name > > Submitted by: Emmanuel Vadot > Differential Revision: https://reviews.freebsd.org/D5201 [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: bidouilliste.com] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:57:32 -0000 > On Mar 11, 2016, at 1:05 PM, Oleksandr Tymoshenko = wrote: >=20 > Author: gonzo > Date: Fri Mar 11 21:05:16 2016 > New Revision: 296682 > URL: https://svnweb.freebsd.org/changeset/base/296682 >=20 > Log: > Make it possible for operations to refer to GPIO pins by name >=20 > - Try to guess what is provided as a pin spec for -t or for get/set > operation: number or name. Fails in case of ambiguity. > - Add -p and -N switches to force pin specification interpretation: > -p forces spec to be pin number, -N forces it to be name >=20 > Submitted by: Emmanuel Vadot > Differential Revision: https://reviews.freebsd.org/D5201 Reviewed by: imp, bjk(docs) From owner-svn-src-head@freebsd.org Fri Mar 11 22:06:56 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC4D6ACD0D7; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id D02FEDF1; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id C9CEB11E4; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 852531E79F; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id lLkmWOhYJGXI; Fri, 11 Mar 2016 22:06:52 +0000 (UTC) Subject: Re: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 858941E79A To: Justin Hibbits , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603112004.u2BK4XiG043268@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E34180.40604@FreeBSD.org> Date: Fri, 11 Mar 2016 14:06:56 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603112004.u2BK4XiG043268@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:06:56 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60 Content-Type: multipart/mixed; boundary="2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ" From: Bryan Drewery To: Justin Hibbits , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E34180.40604@FreeBSD.org> Subject: Re: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon References: <201603112004.u2BK4XiG043268@repo.freebsd.org> In-Reply-To: <201603112004.u2BK4XiG043268@repo.freebsd.org> --2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/11/2016 12:04 PM, Justin Hibbits wrote: > Author: jhibbits > Date: Fri Mar 11 20:04:32 2016 > New Revision: 296677 > URL: https://svnweb.freebsd.org/changeset/base/296677 >=20 > Log: > Add to CFLAGS, rather than replacing. > =20 > This allows additional CFLAGS, as set in bsd.cpu.mk, to go through. >=20 > Modified: > head/lib/libunbound/Makefile > head/usr.sbin/unbound/anchor/Makefile > head/usr.sbin/unbound/checkconf/Makefile > head/usr.sbin/unbound/control/Makefile > head/usr.sbin/unbound/daemon/Makefile Ick, I didn't even realize this was an issue. I wonder about these: > sys/boot/i386/boot2/Makefile:CFLAGS=3D -fomit-frame-pointer \ > sys/boot/i386/gptboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"gptboot\" \ > sys/boot/i386/gptzfsboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"gptzfs= boot\" \ > sys/boot/i386/kgzldr/Makefile:CFLAGS=3D -Os > sys/boot/i386/zfsboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"zfsboot\" \ > sys/boot/mips/beri/boot2/Makefile:CFLAGS=3D -ffreestandin= g \ > sys/boot/pc98/boot2/Makefile:CFLAGS=3D -fomit-frame-pointer \ > sys/boot/pc98/kgzldr/Makefile:CFLAGS=3D -Os --=20 Regards, Bryan Drewery --2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ-- --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW40GAAAoJEDXXcbtuRpfPkx0H/1hP9PaRjbO0BQhsu9T9GTSA Ip/+emmCPku7vkhIerZydm6PvuTDTnoZfvwkmaU+NurUzotKNscQzxyeaab0sEep lTHW5idpskJHPeYzlkNvMAsilXTP+Xh/EeI1jzLTi/JNUZMp3C1SBssnqrVKs7b5 gSxJbSlPB2XjUjdzB+0//weKmWhE+IOoTkbzJiGTmO2+wPb6fM/vSLXVlxNrcJO4 tNYoNGOJSu8hBreMVXYGR58nSrBx1Q8Jd8cqlD/m21gyAD4yIvKh9zzeaPtzYuRe dDcycqrS64bjiXvLSfuqZjkzqCcry3CHU7U+sm4lCZM/MQf843ozeQ69Av0QS08= =ZdpV -----END PGP SIGNATURE----- --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60-- From owner-svn-src-head@freebsd.org Fri Mar 11 22:11:38 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1778EACD2B7; Fri, 11 Mar 2016 22:11:38 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD1101C2; Fri, 11 Mar 2016 22:11:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMBatI082290; Fri, 11 Mar 2016 22:11:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMBaL0082289; Fri, 11 Mar 2016 22:11:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112211.u2BMBaL0082289@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 22:11:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296684 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:11:38 -0000 Author: bdrewery Date: Fri Mar 11 22:11:36 2016 New Revision: 296684 URL: https://svnweb.freebsd.org/changeset/base/296684 Log: Add more casper leftover files. Reported by: jhb Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Mar 11 21:06:17 2016 (r296683) +++ head/ObsoleteFiles.inc Fri Mar 11 22:11:36 2016 (r296684) @@ -144,6 +144,12 @@ OLD_FILES+=libexec/casper/grp OLD_FILES+=libexec/casper/pwd OLD_FILES+=libexec/casper/random OLD_FILES+=libexec/casper/sysctl +OLD_FILES+=libexec/casper/.debug/random.debug +OLD_FILES+=libexec/casper/.debug/dns.debug +OLD_FILES+=libexec/casper/.debug/sysctl.debug +OLD_FILES+=libexec/casper/.debug/pwd.debug +OLD_FILES+=libexec/casper/.debug/grp.debug +OLD_DIRS+=libexec/casper/.debug OLD_DIRS+=libexec/casper OLD_FILES+=usr/lib/libcapsicum.a OLD_FILES+=usr/lib/libcapsicum.so From owner-svn-src-head@freebsd.org Fri Mar 11 22:37:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09618ACDA1A; Fri, 11 Mar 2016 22:37:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF352F52; Fri, 11 Mar 2016 22:37:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMbCj7089106; Fri, 11 Mar 2016 22:37:12 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMbCGW089105; Fri, 11 Mar 2016 22:37:12 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603112237.u2BMbCGW089105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 11 Mar 2016 22:37:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296685 - head/contrib/elftoolchain/libelf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:37:14 -0000 Author: emaste Date: Fri Mar 11 22:37:12 2016 New Revision: 296685 URL: https://svnweb.freebsd.org/changeset/base/296685 Log: libelf: correct byte count in cross-endian note translation MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/libelf/libelf_convert.m4 Modified: head/contrib/elftoolchain/libelf/libelf_convert.m4 ============================================================================== --- head/contrib/elftoolchain/libelf/libelf_convert.m4 Fri Mar 11 22:11:36 2016 (r296684) +++ head/contrib/elftoolchain/libelf/libelf_convert.m4 Fri Mar 11 22:37:12 2016 (r296685) @@ -1019,6 +1019,7 @@ _libelf_cvt_NOTE_tof(unsigned char *dst, WRITE_WORD(dst, type); src += sizeof(Elf_Note); + count -= sizeof(Elf_Note); if (count < sz) sz = count; From owner-svn-src-head@freebsd.org Fri Mar 11 22:56:18 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 154ABACDFE0; Fri, 11 Mar 2016 22:56:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2337CAC; Fri, 11 Mar 2016 22:56:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMuG68095253; Fri, 11 Mar 2016 22:56:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMuGKa095251; Fri, 11 Mar 2016 22:56:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603112256.u2BMuGKa095251@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 22:56:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296687 - head/contrib/libc++/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:56:18 -0000 Author: dim Date: Fri Mar 11 22:56:16 2016 New Revision: 296687 URL: https://svnweb.freebsd.org/changeset/base/296687 Log: Pull in r250279 from upstream libc++ trunk (by Eric Fiselier): Fix GCC atomic implementation in C++03 Pull in r250802 from upstream libc++ trunk (by Eric Fiselier): Detect relaxed constexpr rules for gcc versions Pull in r255585 from upstream libc++ trunk (by Eric Fiselier): Fix various GCC mis-configurations for newer versions. This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. Together, these should fix building clang 3.8.0 as part of building world with recent versions of gcc (e.g. the devel/*-xtoolchain-gcc ports). Modified: head/contrib/libc++/include/__config head/contrib/libc++/include/atomic Modified: head/contrib/libc++/include/__config ============================================================================== --- head/contrib/libc++/include/__config Fri Mar 11 22:45:23 2016 (r296686) +++ head/contrib/libc++/include/__config Fri Mar 11 22:56:16 2016 (r296687) @@ -429,10 +429,15 @@ namespace std { #define _LIBCPP_HAS_NO_CONSTEXPR #endif -// No version of GCC supports relaxed constexpr rules +// Determine if GCC supports relaxed constexpr +#if !defined(__cpp_constexpr) || __cpp_constexpr < 201304L #define _LIBCPP_HAS_NO_CXX14_CONSTEXPR +#endif + // GCC 5 will support variable templates +#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L #define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES +#endif #define _NOEXCEPT throw() #define _NOEXCEPT_(x) @@ -454,7 +459,6 @@ namespace std { #else // __GXX_EXPERIMENTAL_CXX0X__ -#define _LIBCPP_HAS_NO_TRAILING_RETURN #define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS #if _GNUC_VER < 403 @@ -468,6 +472,7 @@ namespace std { #if _GNUC_VER < 404 #define _LIBCPP_HAS_NO_DECLTYPE #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS +#define _LIBCPP_HAS_NO_TRAILING_RETURN #define _LIBCPP_HAS_NO_UNICODE_CHARS #define _LIBCPP_HAS_NO_VARIADICS #define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS Modified: head/contrib/libc++/include/atomic ============================================================================== --- head/contrib/libc++/include/atomic Fri Mar 11 22:45:23 2016 (r296686) +++ head/contrib/libc++/include/atomic Fri Mar 11 22:56:16 2016 (r296687) @@ -553,7 +553,18 @@ typedef enum memory_order namespace __gcc_atomic { template struct __gcc_atomic_t { - __gcc_atomic_t() _NOEXCEPT {} + +#if _GNUC_VER >= 501 + static_assert(is_trivially_copyable<_Tp>::value, + "std::atomic requires that 'Tp' be a trivially copyable type"); +#endif + + _LIBCPP_INLINE_VISIBILITY +#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS + __gcc_atomic_t() _NOEXCEPT = default; +#else + __gcc_atomic_t() _NOEXCEPT : __a_value() {} +#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS _LIBCPP_CONSTEXPR explicit __gcc_atomic_t(_Tp value) _NOEXCEPT : __a_value(value) {} _Tp __a_value; @@ -574,7 +585,7 @@ struct __can_assign { sizeof(__test_atomic_assignable<_Tp, _Td>(1)) == sizeof(char); }; -static inline constexpr int __to_gcc_order(memory_order __order) { +static inline _LIBCPP_CONSTEXPR int __to_gcc_order(memory_order __order) { // Avoid switch statement to make this a constexpr. return __order == memory_order_relaxed ? __ATOMIC_RELAXED: (__order == memory_order_acquire ? __ATOMIC_ACQUIRE: @@ -584,7 +595,7 @@ static inline constexpr int __to_gcc_ord __ATOMIC_CONSUME)))); } -static inline constexpr int __to_gcc_failure_order(memory_order __order) { +static inline _LIBCPP_CONSTEXPR int __to_gcc_failure_order(memory_order __order) { // Avoid switch statement to make this a constexpr. return __order == memory_order_relaxed ? __ATOMIC_RELAXED: (__order == memory_order_acquire ? __ATOMIC_ACQUIRE: From owner-svn-src-head@freebsd.org Fri Mar 11 23:18:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 159AAACC6C2; Fri, 11 Mar 2016 23:18:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E55F815B2; Fri, 11 Mar 2016 23:18:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNI69H001501; Fri, 11 Mar 2016 23:18:06 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNI6i4001496; Fri, 11 Mar 2016 23:18:06 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603112318.u2BNI6i4001496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 11 Mar 2016 23:18:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296688 - in head/sys: kern netinet ofed/drivers/infiniband/core ofed/drivers/infiniband/hw/mlx4 ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:18:08 -0000 Author: jhb Date: Fri Mar 11 23:18:06 2016 New Revision: 296688 URL: https://svnweb.freebsd.org/changeset/base/296688 Log: Use SI_SUB_LAST instead of SI_SUB_SMP as the "catch-all" subsystem. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D5515 Modified: head/sys/kern/kern_alq.c head/sys/netinet/siftr.c head/sys/ofed/drivers/infiniband/core/device.c head/sys/ofed/drivers/infiniband/hw/mlx4/main.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Modified: head/sys/kern/kern_alq.c ============================================================================== --- head/sys/kern/kern_alq.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/kern/kern_alq.c Fri Mar 11 23:18:06 2016 (r296688) @@ -969,5 +969,5 @@ static moduledata_t alq_mod = NULL }; -DECLARE_MODULE(alq, alq_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(alq, alq_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_VERSION(alq, 1); Modified: head/sys/netinet/siftr.c ============================================================================== --- head/sys/netinet/siftr.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/netinet/siftr.c Fri Mar 11 23:18:06 2016 (r296688) @@ -1561,6 +1561,6 @@ static moduledata_t siftr_mod = { * Defines the initialisation order of this kld relative to others * within the same subsystem as defined by param 3 */ -DECLARE_MODULE(siftr, siftr_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(siftr, siftr_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(siftr, alq, 1, 1, 1); MODULE_VERSION(siftr, MODVERSION); Modified: head/sys/ofed/drivers/infiniband/core/device.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/device.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/core/device.c Fri Mar 11 23:18:06 2016 (r296688) @@ -790,4 +790,4 @@ static moduledata_t ibcore_mod = { MODULE_VERSION(ibcore, 1); MODULE_DEPEND(ibcore, linuxkpi, 1, 1, 1); -DECLARE_MODULE(ibcore, ibcore_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(ibcore, ibcore_mod, SI_SUB_LAST, SI_ORDER_ANY); Modified: head/sys/ofed/drivers/infiniband/hw/mlx4/main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Fri Mar 11 23:18:06 2016 (r296688) @@ -2881,7 +2881,7 @@ static moduledata_t mlx4ib_mod = { .evhand = mlx4ib_evhand, }; -DECLARE_MODULE(mlx4ib, mlx4ib_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(mlx4ib, mlx4ib_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(mlx4ib, mlx4, 1, 1, 1); MODULE_DEPEND(mlx4ib, ibcore, 1, 1, 1); MODULE_DEPEND(mlx4ib, linuxkpi, 1, 1, 1); Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Fri Mar 11 23:18:06 2016 (r296688) @@ -1535,6 +1535,6 @@ static moduledata_t ipoib_mod = { .evhand = ipoib_evhand, }; -DECLARE_MODULE(ipoib, ipoib_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(ipoib, ipoib_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(ipoib, ibcore, 1, 1, 1); MODULE_DEPEND(ipoib, linuxkpi, 1, 1, 1); From owner-svn-src-head@freebsd.org Fri Mar 11 23:24:06 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68088ACC942; Fri, 11 Mar 2016 23:24:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 369E01AE5; Fri, 11 Mar 2016 23:24:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNO5hB004445; Fri, 11 Mar 2016 23:24:05 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNO5gx004444; Fri, 11 Mar 2016 23:24:05 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603112324.u2BNO5gx004444@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 23:24:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296689 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:24:06 -0000 Author: np Date: Fri Mar 11 23:24:04 2016 New Revision: 296689 URL: https://svnweb.freebsd.org/changeset/base/296689 Log: cxgbe(4): sysctls to display the TOE's TCP timers. cask:~# sysctl -d dev.t5nex.0.toe dev.t5nex.0.toe.finwait2_timer: FINWAIT2 timer (us) dev.t5nex.0.toe.initial_srtt: Initial SRTT (us) dev.t5nex.0.toe.keepalive_intvl: Keepidle interval (us) dev.t5nex.0.toe.keepalive_idle: Keepidle idle timer (us) dev.t5nex.0.toe.persist_max: Persist timer max (us) dev.t5nex.0.toe.persist_min: Persist timer min (us) dev.t5nex.0.toe.rexmt_max: Retransmit max (us) dev.t5nex.0.toe.rexmt_min: Retransmit min (us) dev.t5nex.0.toe.dack_timer: DACK timer (us) dev.t5nex.0.toe.dack_tick: DACK tick (us) dev.t5nex.0.toe.timestamp_tick: TCP timestamp tick (us) dev.t5nex.0.toe.timer_tick: TP timer tick (us) ... cask:~# sysctl dev.t5nex.0.toe dev.t5nex.0.toe.finwait2_timer: 9765440 dev.t5nex.0.toe.initial_srtt: 244128 dev.t5nex.0.toe.keepalive_intvl: 73240800 dev.t5nex.0.toe.keepalive_idle: 7031116800 dev.t5nex.0.toe.persist_max: 9765440 dev.t5nex.0.toe.persist_min: 976544 dev.t5nex.0.toe.rexmt_max: 9765440 dev.t5nex.0.toe.rexmt_min: 244128 dev.t5nex.0.toe.dack_timer: 19520 dev.t5nex.0.toe.dack_tick: 32.768 dev.t5nex.0.toe.timestamp_tick: 1048.576 dev.t5nex.0.toe.timer_tick: 32.768 ... Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:18:06 2016 (r296688) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:24:04 2016 (r296689) @@ -482,6 +482,9 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif +static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); static uint32_t mode_to_iconf(uint32_t); @@ -4890,6 +4893,54 @@ t4_sysctls(struct adapter *sc) sc->tt.tx_align = 1; SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tx_align", CTLFLAG_RW, &sc->tt.tx_align, 0, "chop and align payload"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "timer_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_tick, "A", + "TP timer tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "timestamp_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 1, sysctl_tp_tick, "A", + "TCP timestamp tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "dack_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 2, sysctl_tp_tick, "A", + "DACK tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "dack_timer", + CTLTYPE_UINT | CTLFLAG_RD, sc, 0, sysctl_tp_dack_timer, + "IU", "DACK timer (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rexmt_min", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_RXT_MIN, + sysctl_tp_timer, "LU", "Retransmit min (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rexmt_max", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_RXT_MAX, + sysctl_tp_timer, "LU", "Retransmit max (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "persist_min", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_PERS_MIN, + sysctl_tp_timer, "LU", "Persist timer min (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "persist_max", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_PERS_MAX, + sysctl_tp_timer, "LU", "Persist timer max (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "keepalive_idle", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_KEEP_IDLE, + sysctl_tp_timer, "LU", "Keepidle idle timer (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "keepalive_intvl", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_KEEP_INTVL, + sysctl_tp_timer, "LU", "Keepidle interval (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "initial_srtt", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_INIT_SRTT, + sysctl_tp_timer, "LU", "Initial SRTT (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "finwait2_timer", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_FINWAIT2_TIMER, + sysctl_tp_timer, "LU", "FINWAIT2 timer (us)"); } #endif } @@ -7388,6 +7439,90 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) } #endif +static void +unit_conv(char *buf, size_t len, u_int val, u_int factor) +{ + u_int rem = val % factor; + + if (rem == 0) + snprintf(buf, len, "%u", val / factor); + else { + while (rem % 10 == 0) + rem /= 10; + snprintf(buf, len, "%u.%u", val / factor, rem); + } +} + +static int +sysctl_tp_tick(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + char buf[16]; + u_int res, re; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + res = t4_read_reg(sc, A_TP_TIMER_RESOLUTION); + switch (arg2) { + case 0: + /* timer_tick */ + re = G_TIMERRESOLUTION(res); + break; + case 1: + /* TCP timestamp tick */ + re = G_TIMESTAMPRESOLUTION(res); + break; + case 2: + /* DACK tick */ + re = G_DELAYEDACKRESOLUTION(res); + break; + default: + return (EDOOFUS); + } + + unit_conv(buf, sizeof(buf), (cclk_ps << re), 1000000); + + return (sysctl_handle_string(oidp, buf, sizeof(buf), req)); +} + +static int +sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + u_int res, dack_re, v; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + res = t4_read_reg(sc, A_TP_TIMER_RESOLUTION); + dack_re = G_DELAYEDACKRESOLUTION(res); + v = ((cclk_ps << dack_re) / 1000000) * t4_read_reg(sc, A_TP_DACK_TIMER); + + return (sysctl_handle_int(oidp, &v, 0, req)); +} + +static int +sysctl_tp_timer(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + int reg = arg2; + u_int tre; + u_long tp_tick_us, v; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + MPASS(reg == A_TP_RXT_MIN || reg == A_TP_RXT_MAX || + reg == A_TP_PERS_MIN || reg == A_TP_PERS_MAX || + reg == A_TP_KEEP_IDLE || A_TP_KEEP_INTVL || reg == A_TP_INIT_SRTT || + reg == A_TP_FINWAIT2_TIMER); + + tre = G_TIMERRESOLUTION(t4_read_reg(sc, A_TP_TIMER_RESOLUTION)); + tp_tick_us = (cclk_ps << tre) / 1000000; + + if (reg == A_TP_INIT_SRTT) + v = tp_tick_us * G_INITSRTT(t4_read_reg(sc, reg)); + else + v = tp_tick_us * t4_read_reg(sc, reg); + + return (sysctl_handle_long(oidp, &v, 0, req)); +} + static uint32_t fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) { From owner-svn-src-head@freebsd.org Fri Mar 11 23:44:29 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2357EACD003; Fri, 11 Mar 2016 23:44:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D6E61335; Fri, 11 Mar 2016 23:44:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNiRHa010350; Fri, 11 Mar 2016 23:44:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNiR5j010348; Fri, 11 Mar 2016 23:44:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNiR5j010348@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296690 - in head: include share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:44:29 -0000 Author: bdrewery Date: Fri Mar 11 23:44:27 2016 New Revision: 296690 URL: https://svnweb.freebsd.org/changeset/base/296690 Log: DIRDEPS_BUILD: Remove the cookie when target is out-of-date. The meta file may decide the target is out of date but nothing ensures that the *next* build will build this target if it fails this time for some reason; it is still out-of-date until it succeeds. Convert the include/ cookie usage to the global versions. Sponsored by: EMC / Isilon Storage Division Modified: head/include/Makefile head/share/mk/local.sys.mk Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:24:04 2016 (r296689) +++ head/include/Makefile Fri Mar 11 23:44:27 2016 (r296690) @@ -131,6 +131,7 @@ _MARCHS+= x86 .if ${MK_STAGING} == "yes" # tell bsd.incs.mk that we have it covered NO_STAGE_INCLUDES= +META_COOKIES+= stage_prep stage_include compat copies symlinks .endif .include @@ -157,6 +158,7 @@ ${SHARED}: compat # Take care of stale directory-level symlinks. compat: + ${META_COOKIE_RM} .for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ @@ -165,11 +167,10 @@ compat: mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ -p ${DESTDIR}${INCLUDEDIR} > /dev/null -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.TARGET} -.endif + ${META_COOKIE_TOUCH} copies: + ${META_COOKIE_RM} .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \ ${_MARCHS} if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \ @@ -254,11 +255,10 @@ copies: cd ${.CURDIR}/../sys/teken; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ ${DESTDIR}${INCLUDEDIR}/teken -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.OBJDIR}/${.TARGET} -.endif + ${META_COOKIE_TOUCH} symlinks: + ${META_COOKIE_RM} @${ECHO} "Setting up symlinks to kernel source tree..." .for i in ${LDIRS} cd ${.CURDIR}/../sys/$i; \ @@ -371,9 +371,7 @@ symlinks: ${INSTALL_SYMLINK} ../../../sys/rpc/$$h \ ${DESTDIR}${INCLUDEDIR}/rpc; \ done -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.OBJDIR}/${.TARGET} -.endif + ${META_COOKIE_TOUCH} .if ${MACHINE} == "host" && !defined(_SKIP_BUILD) # we're here because we are building a sysroot... Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:24:04 2016 (r296689) +++ head/share/mk/local.sys.mk Fri Mar 11 23:44:27 2016 (r296690) @@ -28,10 +28,14 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFIL .if ${.MAKE.MODE:Mmeta*} != "" # we can afford to use cookies to prevent some targets # re-running needlessly -META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} +META_COOKIE= ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} +META_COOKIE_RM= @rm -f ${META_COOKIE} +META_COOKIE_TOUCH= @touch ${META_COOKIE} # some targets need to be .PHONY - but not in meta mode META_NOPHONY= +CLEANFILES+= ${META_COOKIES} .else +META_COOKIE_RM= META_COOKIE_TOUCH= META_NOPHONY= .PHONY .endif From owner-svn-src-head@freebsd.org Fri Mar 11 23:44:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A505AACD049; Fri, 11 Mar 2016 23:44:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 762DE6B4; Fri, 11 Mar 2016 23:44:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNiu0p010405; Fri, 11 Mar 2016 23:44:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNiuab010404; Fri, 11 Mar 2016 23:44:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNiuab010404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296691 - head/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:44:57 -0000 Author: bdrewery Date: Fri Mar 11 23:44:56 2016 New Revision: 296691 URL: https://svnweb.freebsd.org/changeset/base/296691 Log: DIRDEPS_BUILD: None of this is needed anymore. This file is using stage-install, so all of the .dirdep files are properly handled. The cookie handling also properly handles rebuilds with .meta files. DESTDIR from bsd.sys.mk is also respected for staging. This logic came in r239572. Sponsored by: EMC / Isilon Storage Division Modified: head/include/Makefile Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:44:27 2016 (r296690) +++ head/include/Makefile Fri Mar 11 23:44:56 2016 (r296691) @@ -128,31 +128,11 @@ _MARCHS= ${MACHINE_CPUARCH} _MARCHS+= x86 .endif -.if ${MK_STAGING} == "yes" -# tell bsd.incs.mk that we have it covered -NO_STAGE_INCLUDES= -META_COOKIES+= stage_prep stage_include compat copies symlinks -.endif +META_COOKIES+= compat copies symlinks +stage_includes: ${SHARED} .include -.if ${MK_STAGING} != "no" && !defined(_SKIP_BUILD) -.if make(all) -DESTDIR= ${STAGE_OBJTOP} - -all: stage_include -installincludes: buildincludes -buildincludes: stage_prep - -stage_prep: - @mkdir -p ${DESTDIR}${INCLUDEDIR} - @touch $@ - -stage_include: .dirdep installincludes - @touch $@ -.endif -.endif - installincludes: ${SHARED} ${SHARED}: compat From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:00 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9E40ACD069; Fri, 11 Mar 2016 23:45:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B6506D4; Fri, 11 Mar 2016 23:45:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNixhb010452; Fri, 11 Mar 2016 23:44:59 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNixPD010451; Fri, 11 Mar 2016 23:44:59 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNixPD010451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296692 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:00 -0000 Author: bdrewery Date: Fri Mar 11 23:44:59 2016 New Revision: 296692 URL: https://svnweb.freebsd.org/changeset/base/296692 Log: Remove out-of-place make(buildincludes) check. This came in r239572 for META_MODE handling but it doesn't make sense since the staging is always done in make(all); make(buildincludes) is never actually ran in the META_MODE build. Reported by: bapt Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.files.mk Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Fri Mar 11 23:44:56 2016 (r296691) +++ head/share/mk/bsd.files.mk Fri Mar 11 23:44:59 2016 (r296692) @@ -30,9 +30,7 @@ ${group}OWN?= ${SHAREOWN} ${group}GRP?= ${SHAREGRP} ${group}MODE?= ${SHAREMODE} ${group}DIR?= ${BINDIR} -.if !make(buildincludes) STAGE_SETS+= ${group} -.endif STAGE_DIR.${group}= ${STAGE_OBJTOP}${${group}DIR} _${group}FILES= @@ -49,9 +47,7 @@ ${group}NAME_${file:T}?= ${${group}NAME} .else ${group}NAME_${file:T}?= ${file:T} .endif -.if !make(buildincludes) STAGE_AS_SETS+= ${file:T} -.endif STAGE_AS_${file:T}= ${${group}NAME_${file:T}} # XXX {group}OWN,GRP,MODE STAGE_DIR.${file:T}= ${STAGE_OBJTOP}${${group}DIR_${file:T}} From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:04 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 135FEACD089; Fri, 11 Mar 2016 23:45:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C48D3800; Fri, 11 Mar 2016 23:45:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNj2GK010505; Fri, 11 Mar 2016 23:45:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNj2Eq010504; Fri, 11 Mar 2016 23:45:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNj2Eq010504@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296693 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:04 -0000 Author: bdrewery Date: Fri Mar 11 23:45:02 2016 New Revision: 296693 URL: https://svnweb.freebsd.org/changeset/base/296693 Log: DIRDEPS_BUILD: Extend beforeinstall: staging hack. Most beforeinstall: usage is not adding commands but only adding targets, such as in share/sendmail. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Mar 11 23:44:59 2016 (r296692) +++ head/share/mk/bsd.sys.mk Fri Mar 11 23:45:02 2016 (r296693) @@ -198,7 +198,7 @@ staging stage_libs stage_files stage_as # allow targets like beforeinstall to be leveraged DESTDIR= ${STAGE_OBJTOP} -.if commands(beforeinstall) +.if target(beforeinstall) .if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) staging: beforeinstall .endif From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22317ACD0B7; Fri, 11 Mar 2016 23:45:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC80D923; Fri, 11 Mar 2016 23:45:06 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNj57A010553; Fri, 11 Mar 2016 23:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNj5cH010552; Fri, 11 Mar 2016 23:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNj5cH010552@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296694 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:07 -0000 Author: bdrewery Date: Fri Mar 11 23:45:05 2016 New Revision: 296694 URL: https://svnweb.freebsd.org/changeset/base/296694 Log: DIRDEPS_BUILD: export DESTDIR for STAGING. An example of where this is needed is in share/examples which for 'etc-examples' runs 'make -C SRCTOP/etc etc-examples' which installs to the default DESTDIR otherwise. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Mar 11 23:45:02 2016 (r296693) +++ head/share/mk/bsd.sys.mk Fri Mar 11 23:45:05 2016 (r296694) @@ -197,6 +197,7 @@ staging stage_libs stage_files stage_as .else # allow targets like beforeinstall to be leveraged DESTDIR= ${STAGE_OBJTOP} +.export DESTDIR .if target(beforeinstall) .if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:12 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EFC6ACD0F9; Fri, 11 Mar 2016 23:45:12 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C2AFFB12; Fri, 11 Mar 2016 23:45:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjA4p010605; Fri, 11 Mar 2016 23:45:10 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjANT010597; Fri, 11 Mar 2016 23:45:10 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjANT010597@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296695 - in head: etc etc/defaults share/examples share/sendmail targets/pseudo/userland/share X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:12 -0000 Author: bdrewery Date: Fri Mar 11 23:45:09 2016 New Revision: 296695 URL: https://svnweb.freebsd.org/changeset/base/296695 Log: DIRDEPS_BUILD: Fix staging of share/sendmail and share/examples. Sponsored by: EMC / Isilon Storage Division Added: head/etc/defaults/Makefile.depend - copied, changed from r296694, head/share/sendmail/Makefile.depend head/share/examples/Makefile.depend - copied, changed from r296694, head/share/sendmail/Makefile.depend Modified: head/etc/Makefile head/etc/defaults/Makefile head/share/examples/Makefile head/share/sendmail/Makefile head/share/sendmail/Makefile.depend head/targets/pseudo/userland/share/Makefile.depend Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/etc/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -3,6 +3,9 @@ .include +# No need as it is empty and just causes rebuilds since this file does so much. +UPDATE_DEPENDFILE= no + SUBDIR= \ newsyslog.conf.d @@ -450,11 +453,16 @@ distrib-dirs: ${MTREES:N/*} distrib-clea done .endif -etc-examples: +etc-examples-install: + ${META_COOKIE_RM} cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${BIN1} ${BIN2} nsmb.conf opieaccess \ ${DESTDIR}${SHAREDIR}/examples/etc - ${_+_}cd ${.CURDIR}/defaults; ${MAKE} install \ + ${META_COOKIE_TOUCH} + +etc-examples: etc-examples-install + ${_+_}cd ${.CURDIR}/defaults; \ + ${MAKE} ${${MK_STAGING} == "yes":?all:install} \ DESTDIR=${DESTDIR}${SHAREDIR}/examples .include Modified: head/etc/defaults/Makefile ============================================================================== --- head/etc/defaults/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/etc/defaults/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -3,7 +3,6 @@ .include FILES= devfs.rules periodic.conf rc.conf -NO_OBJ= FILESDIR= /etc/defaults .if ${MK_BLUETOOTH} != "no" Copied and modified: head/etc/defaults/Makefile.depend (from r296694, head/share/sendmail/Makefile.depend) ============================================================================== Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/examples/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -219,9 +219,11 @@ XFILES+= bhyve/vmrun.sh SHARED?= copies beforeinstall: ${SHARED} etc-examples +META_COOKIES+= copies symlinks .ORDER: ${SHARED} etc-examples copies: + ${META_COOKIE_RM} .for i in ${LDIRS} if [ -L ${DESTDIR}${BINDIR}/$i ]; then \ rm -f ${DESTDIR}${BINDIR}/$i; \ @@ -233,16 +235,19 @@ copies: ${INSTALL} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \ ${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file} .endfor + ${META_COOKIE_TOUCH} symlinks: + ${META_COOKIE_RM} .for i in ${LDIRS} rm -rf ${DESTDIR}${BINDIR}/$i ln -s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i .endfor + ${META_COOKIE_TOUCH} etc-examples: .if ${SHARED} != "symlinks" - (cd ${.CURDIR}/../../etc; ${MAKE} etc-examples) + ${_+_}(cd ${.CURDIR}/../../etc; ${MAKE} etc-examples) .endif .if ${SHARED} != "symlinks" @@ -261,4 +266,4 @@ SUBDIR+=tests SUBDIR_PARALLEL= -.include +.include Copied and modified: head/share/examples/Makefile.depend (from r296694, head/share/sendmail/Makefile.depend) ============================================================================== --- head/share/sendmail/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694, copy source) +++ head/share/examples/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include Modified: head/share/sendmail/Makefile ============================================================================== --- head/share/sendmail/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/sendmail/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -16,8 +16,10 @@ SHARED?= copies all clean cleandir depend lint tags: beforeinstall: ${SHARED} +META_COOKIES+= copies symlinks -copies:: +copies: + ${META_COOKIE_RM} if [ -L ${DDIR}/${CFDIR} ]; then rm -f ${DDIR}/${CFDIR}; fi .for dir in ${CFDIRS} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 -d ${DDIR}/${dir} @@ -25,8 +27,11 @@ copies:: .for file in ${CFFILES} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${SENDMAIL_DIR}/${file} ${DDIR}/${file} .endfor + ${META_COOKIE_TOUCH} -symlinks:: +symlinks: + ${META_COOKIE_RM} rm -rf ${DDIR}/${CFDIR}; ln -s ${SENDMAIL_DIR}/${CFDIR} ${DDIR}/${CFDIR} + ${META_COOKIE_TOUCH} .include Modified: head/share/sendmail/Makefile.depend ============================================================================== --- head/share/sendmail/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/sendmail/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include Modified: head/targets/pseudo/userland/share/Makefile.depend ============================================================================== --- head/targets/pseudo/userland/share/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694) +++ head/targets/pseudo/userland/share/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -85,6 +85,7 @@ DIRDEPS = \ share/doc/usd/title \ share/dtrace \ share/dtrace/toolkit \ + share/examples \ share/examples/atf \ share/examples/ipfilter \ share/examples/pf \ From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:15 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 16EDEACD11B; Fri, 11 Mar 2016 23:45:15 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCE19C31; Fri, 11 Mar 2016 23:45:14 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjDIJ010653; Fri, 11 Mar 2016 23:45:13 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjDEV010652; Fri, 11 Mar 2016 23:45:13 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjDEV010652@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296696 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:15 -0000 Author: bdrewery Date: Fri Mar 11 23:45:13 2016 New Revision: 296696 URL: https://svnweb.freebsd.org/changeset/base/296696 Log: DIRDEPS_BUILD: Avoid rebuilds due to changed build commands with newly staged tools. This is a follow-up to r291561 which reworked the bootstrap tool PATH handling. An example of this is when building lib/clang/libclangedit. At first clang-tblgen will not be staged in the host tree so it will have CLANG_TBLGEN=clang-tblgen set and exported. During the build though it will stage clang-tblgen and then find it via the PATH. On the next build it finds clang-tblgen in the stage directory and would set CLANG_TBLGEN=/clang-tblgen thus causing the build command to change. In both cases the same exact tool was used though so there is no need to rebuild. If the tool did change the normal meta/filemon handling would pick that up via timestamp comparisons and rebuild. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:09 2016 (r296695) +++ head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:13 2016 (r296696) @@ -236,8 +236,7 @@ PATH:= ${TOOLSDIR}${dir}:${PATH} _toolchain_bin.${var}= ${TOOLSDIR}${_toolchain_bin_${var}:U/usr/bin/${var:tl}} .if exists(${_toolchain_bin.${var}}) HOST_${var}?= ${_toolchain_bin.${var}} -${var}?= ${HOST_${var}} -.export HOST_${var} ${var} +.export HOST_${var} .endif .endfor .endif From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:18 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D3F8ACD149; Fri, 11 Mar 2016 23:45:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54DBED2B; Fri, 11 Mar 2016 23:45:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjHCQ010699; Fri, 11 Mar 2016 23:45:17 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjHr8010697; Fri, 11 Mar 2016 23:45:17 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjHr8010697@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296697 - in head/share: i18n/esdb zoneinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:18 -0000 Author: bdrewery Date: Fri Mar 11 23:45:17 2016 New Revision: 296697 URL: https://svnweb.freebsd.org/changeset/base/296697 Log: DIRDEPS_BUILD: Fix building during dirdeps. Sponsored by: EMC / Isilon Storage Division Modified: head/share/i18n/esdb/Makefile.part head/share/zoneinfo/Makefile Modified: head/share/i18n/esdb/Makefile.part ============================================================================== --- head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:13 2016 (r296696) +++ head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:17 2016 (r296697) @@ -60,7 +60,9 @@ esdb.alias.${ESUBDIR}: ${PARTFILE} ${ALI .endfor echo >>${.TARGET} +.if !defined(_SKIP_BUILD) all: esdb.dir.${ESUBDIR} esdb.alias.${ESUBDIR} codesets +.endif codesets: ${ESDB} .if !defined(NO_PREPROC) Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:13 2016 (r296696) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:17 2016 (r296697) @@ -67,7 +67,9 @@ TZBUILDSUBDIRS= \ Pacific \ SystemV +.if !defined(_SKIP_BUILD) all: zoneinfo +.endif .PHONY: zoneinfo zoneinfo: yearistype ${TDATA} From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:22 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29BE6ACD18B; Fri, 11 Mar 2016 23:45:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD838E67; Fri, 11 Mar 2016 23:45:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjKUe010747; Fri, 11 Mar 2016 23:45:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjK3V010745; Fri, 11 Mar 2016 23:45:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjK3V010745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296698 - head/share/zoneinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:22 -0000 Author: bdrewery Date: Fri Mar 11 23:45:20 2016 New Revision: 296698 URL: https://svnweb.freebsd.org/changeset/base/296698 Log: DIRDEPS_BUILD: Reduce restaging here. This also fixes meta tracking for the beforeinstall since it had been marked .PHONY before (in bsd.sys.mk). Sponsored by: EMC / Isilon Storage Division Modified: head/share/zoneinfo/Makefile head/share/zoneinfo/Makefile.depend Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:17 2016 (r296697) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:20 2016 (r296698) @@ -70,22 +70,27 @@ TZBUILDSUBDIRS= \ .if !defined(_SKIP_BUILD) all: zoneinfo .endif +META_COOKIES+= zoneinfo install-zoneinfo -.PHONY: zoneinfo -zoneinfo: yearistype ${TDATA} +zoneinfo: yearistype ${TDATA} ${META_NOPHONY} + ${META_COOKIE_RM} mkdir -p ${TZBUILDDIR} cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} + ${META_COOKIE_TOUCH} -beforeinstall: +beforeinstall: install-zoneinfo +install-zoneinfo: ${META_NOPHONY} + ${META_COOKIE_RM} cd ${TZBUILDDIR} && \ find -s * -type f -print -exec ${INSTALL} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ + ${META_COOKIE_TOUCH} afterinstall: # Modified: head/share/zoneinfo/Makefile.depend ============================================================================== --- head/share/zoneinfo/Makefile.depend Fri Mar 11 23:45:17 2016 (r296697) +++ head/share/zoneinfo/Makefile.depend Fri Mar 11 23:45:20 2016 (r296698) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51611ACD1C0; Fri, 11 Mar 2016 23:45:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13AFEFA6; Fri, 11 Mar 2016 23:45:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjOPw010793; Fri, 11 Mar 2016 23:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjOIc010792; Fri, 11 Mar 2016 23:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjOIc010792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296699 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:25 -0000 Author: bdrewery Date: Fri Mar 11 23:45:23 2016 New Revision: 296699 URL: https://svnweb.freebsd.org/changeset/base/296699 Log: DIRDEPS_BUILD: Add a sure way to prohibit building 'all' during dirdeps phase. This obsoletes the _SKIP_BUILD check but keeps it for now until it proves to be enough. In the dirdeps build the first 'make all' or 'make' ran would invoke 'make dirdeps' which builds dependencies and then builds the current directory in a sub-make (when BUILD_AT_LEVEL0 is no, which for us it is). This behavior causes things attached to 'all:' to build in the dirdeps phase AND the sub-make phase which creates all kinds of problems for staging, meta file tracking, and races. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:20 2016 (r296698) +++ head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:23 2016 (r296699) @@ -132,6 +132,16 @@ PYTHON ?= /usr/local/bin/python .export PYTHON # this works best if share/mk is ready for it. BUILD_AT_LEVEL0= no +# _SKIP_BUILD is not 100% as it requires wrapping all 'all:' targets to avoid +# building in MAKELEVEL0. Just prohibit 'all' entirely in this case to avoid +# problems. +.if ${MK_DIRDEPS_BUILD} == "yes" && \ + ${.MAKE.LEVEL} == 0 && ${BUILD_AT_LEVEL0:Uyes:tl} == "no" +.MAIN: dirdeps +.if make(all) +.error DIRDEPS_BUILD: Please run '${MAKE}' instead of '${MAKE} all'. +.endif +.endif # we want to end up with a singe stage tree for all machines .if ${MK_STAGING} == "yes" From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:30 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A628EACD21E; Fri, 11 Mar 2016 23:45:30 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 76D8811B5; Fri, 11 Mar 2016 23:45:30 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjTAO010851; Fri, 11 Mar 2016 23:45:29 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjSIa010841; Fri, 11 Mar 2016 23:45:28 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjSIa010841@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296700 - in head: etc include share/examples share/mk share/sendmail share/zoneinfo targets/pseudo/bootstrap-tools targets/pseudo/kernel targets/pseudo/stage X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:30 -0000 Author: bdrewery Date: Fri Mar 11 23:45:28 2016 New Revision: 296700 URL: https://svnweb.freebsd.org/changeset/base/296700 Log: META_MODE: Simplify the META_COOKIE handling to use .USE/.USEBEFORE. Extend it to other cases of meta mode cookies so they get the proper rm cookie behavior when a .meta file detects it needs to rebuild and fails. Sponsored by: EMC / Isilon Storage Division Modified: head/etc/Makefile head/include/Makefile head/share/examples/Makefile head/share/mk/local.sys.mk head/share/sendmail/Makefile head/share/zoneinfo/Makefile head/targets/pseudo/bootstrap-tools/Makefile head/targets/pseudo/kernel/Makefile head/targets/pseudo/stage/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/etc/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -453,12 +453,10 @@ distrib-dirs: ${MTREES:N/*} distrib-clea done .endif -etc-examples-install: - ${META_COOKIE_RM} +etc-examples-install: ${META_DEPS} cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${BIN1} ${BIN2} nsmb.conf opieaccess \ ${DESTDIR}${SHAREDIR}/examples/etc - ${META_COOKIE_TOUCH} etc-examples: etc-examples-install ${_+_}cd ${.CURDIR}/defaults; \ Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/include/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -128,7 +128,7 @@ _MARCHS= ${MACHINE_CPUARCH} _MARCHS+= x86 .endif -META_COOKIES+= compat copies symlinks +META_TARGETS+= compat copies symlinks stage_includes: ${SHARED} .include @@ -137,8 +137,7 @@ installincludes: ${SHARED} ${SHARED}: compat # Take care of stale directory-level symlinks. -compat: - ${META_COOKIE_RM} +compat: ${META_DEPS} .for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ @@ -147,10 +146,8 @@ compat: mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ -p ${DESTDIR}${INCLUDEDIR} > /dev/null - ${META_COOKIE_TOUCH} -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \ ${_MARCHS} if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \ @@ -235,10 +232,8 @@ copies: cd ${.CURDIR}/../sys/teken; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ ${DESTDIR}${INCLUDEDIR}/teken - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} @${ECHO} "Setting up symlinks to kernel source tree..." .for i in ${LDIRS} cd ${.CURDIR}/../sys/$i; \ @@ -351,7 +346,6 @@ symlinks: ${INSTALL_SYMLINK} ../../../sys/rpc/$$h \ ${DESTDIR}${INCLUDEDIR}/rpc; \ done - ${META_COOKIE_TOUCH} .if ${MACHINE} == "host" && !defined(_SKIP_BUILD) # we're here because we are building a sysroot... Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/examples/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -219,11 +219,10 @@ XFILES+= bhyve/vmrun.sh SHARED?= copies beforeinstall: ${SHARED} etc-examples -META_COOKIES+= copies symlinks +META_TARGETS+= copies symlinks .ORDER: ${SHARED} etc-examples -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} .for i in ${LDIRS} if [ -L ${DESTDIR}${BINDIR}/$i ]; then \ rm -f ${DESTDIR}${BINDIR}/$i; \ @@ -235,15 +234,12 @@ copies: ${INSTALL} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \ ${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file} .endfor - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} .for i in ${LDIRS} rm -rf ${DESTDIR}${BINDIR}/$i ln -s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i .endfor - ${META_COOKIE_TOUCH} etc-examples: .if ${SHARED} != "symlinks" Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/mk/local.sys.mk Fri Mar 11 23:45:28 2016 (r296700) @@ -33,10 +33,18 @@ META_COOKIE_RM= @rm -f ${META_COOKIE} META_COOKIE_TOUCH= @touch ${META_COOKIE} # some targets need to be .PHONY - but not in meta mode META_NOPHONY= -CLEANFILES+= ${META_COOKIES} +CLEANFILES+= ${META_TARGETS} +_meta_dep_before: .USEBEFORE + ${META_COOKIE_RM} +_meta_dep_after: .USE + ${META_COOKIE_TOUCH} +# Attach this to a target to allow it to benefit from meta mode's +# not rerunning a command if it doesn't need to be considering its +# metafile/filemon-tracked dependencies. +META_DEPS= _meta_dep_before _meta_dep_after .META .else META_COOKIE_RM= META_COOKIE_TOUCH= -META_NOPHONY= .PHONY +META_NOPHONY= .PHONY .endif - +META_DEPS+= ${META_NOPHONY} Modified: head/share/sendmail/Makefile ============================================================================== --- head/share/sendmail/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/sendmail/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -16,10 +16,9 @@ SHARED?= copies all clean cleandir depend lint tags: beforeinstall: ${SHARED} -META_COOKIES+= copies symlinks +META_TARGETS+= copies symlinks -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} if [ -L ${DDIR}/${CFDIR} ]; then rm -f ${DDIR}/${CFDIR}; fi .for dir in ${CFDIRS} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 -d ${DDIR}/${dir} @@ -27,11 +26,8 @@ copies: .for file in ${CFFILES} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${SENDMAIL_DIR}/${file} ${DDIR}/${file} .endfor - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} rm -rf ${DDIR}/${CFDIR}; ln -s ${SENDMAIL_DIR}/${CFDIR} ${DDIR}/${CFDIR} - ${META_COOKIE_TOUCH} .include Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -70,27 +70,23 @@ TZBUILDSUBDIRS= \ .if !defined(_SKIP_BUILD) all: zoneinfo .endif -META_COOKIES+= zoneinfo install-zoneinfo +META_TARGETS+= zoneinfo install-zoneinfo -zoneinfo: yearistype ${TDATA} ${META_NOPHONY} - ${META_COOKIE_RM} +zoneinfo: yearistype ${TDATA} ${META_DEPS} mkdir -p ${TZBUILDDIR} cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} - ${META_COOKIE_TOUCH} beforeinstall: install-zoneinfo -install-zoneinfo: ${META_NOPHONY} - ${META_COOKIE_RM} +install-zoneinfo: ${META_DEPS} cd ${TZBUILDDIR} && \ find -s * -type f -print -exec ${INSTALL} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ - ${META_COOKIE_TOUCH} afterinstall: # Modified: head/targets/pseudo/bootstrap-tools/Makefile ============================================================================== --- head/targets/pseudo/bootstrap-tools/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/bootstrap-tools/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -49,22 +49,20 @@ BSARGS+= OBJTOP=${BTOOLSDIR}${SRCTOP} OB BSARGS+= MK_CROSS_COMPILER=no MK_CLANG=no MK_GCC=no DISTRIB_ENV= INSTALL="sh ${SRCTOP}/tools/install.sh" NO_FSCHG=1 MK_TESTS=no -legacy: .MAKE .META +legacy: .MAKE ${META_DEPS} mkdir -p ${LEGACY_TOOLS} ${DISTRIB_ENV} ${MAKE} -C ${SRCTOP}/etc distrib-dirs \ DESTDIR=${BTOOLSDIR} > $@.distrib-dirs_btoolsdir ${DISTRIB_ENV} ${MAKE} -C ${SRCTOP}/etc distrib-dirs \ DESTDIR=${LEGACY_TOOLS} > $@.distrib-dirs_legacy_tools ${BSENV} ${MAKE} -C ${SRCTOP} -f Makefile.inc1 ${BSARGS} $@ - touch $@ bootstrap-tools: legacy build-tools: bootstrap-tools cross-tools: build-tools -cross-tools build-tools bootstrap-tools: .MAKE .META +cross-tools build-tools bootstrap-tools: .MAKE ${META_DEPS} ${BSENV} ${MAKE} -C ${SRCTOP} -f Makefile.inc1 ${BSARGS} $@ - touch $@ # MAKELEVEL=0 so that dirdeps.mk does its thing # BSENV:MPATH=* lets us use the bootstrapped stuff in LEGACY_TOOLS above. Modified: head/targets/pseudo/kernel/Makefile ============================================================================== --- head/targets/pseudo/kernel/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/kernel/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -10,11 +10,10 @@ KERN_CONFDIR= ${SRCTOP}/sys/${TARGET}/co CONFIG= ${STAGE_HOST_OBJTOP}/usr/sbin/config -${KERNCONF}.config: .MAKE .META +${KERNCONF}.config: .MAKE ${META_DEPS} mkdir -p ${KERN_OBJDIR:H} (cd ${KERN_CONFDIR} && \ ${CONFIG} ${CONFIGARGS} -d ${KERN_OBJDIR} ${KERNCONF}) - @touch $@ # we need to pass curdirOk=yes to meta mode, since we want .meta files # in ${KERN_OBJDIR} Modified: head/targets/pseudo/stage/Makefile ============================================================================== --- head/targets/pseudo/stage/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/stage/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -6,11 +6,10 @@ all: # mtree makes a lot of noise if we are not root, # we don't need to see it. -stage-distrib-dirs: .META +stage-distrib-dirs: .META ${META_DEPS} mkdir -p ${STAGE_OBJTOP} INSTALL="sh ${SRCTOP}/tools/install.sh" ${.MAKE} -C ${SRCTOP}/etc \ distrib-dirs -DNO_FSCHG -DWITH_TESTS DESTDIR=${STAGE_OBJTOP} - touch $@ .include From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA3A4ACD25F; Fri, 11 Mar 2016 23:45:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB11012E9; Fri, 11 Mar 2016 23:45:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjWNl010898; Fri, 11 Mar 2016 23:45:32 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjWDp010897; Fri, 11 Mar 2016 23:45:32 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjWDp010897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296701 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:34 -0000 Author: bdrewery Date: Fri Mar 11 23:45:32 2016 New Revision: 296701 URL: https://svnweb.freebsd.org/changeset/base/296701 Log: META_MODE: We can only use a cookie if filemon is being used. Sponsored by: EMC / Isilon Storage Divsion Modified: head/share/mk/local.sys.mk Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:45:28 2016 (r296700) +++ head/share/mk/local.sys.mk Fri Mar 11 23:45:32 2016 (r296701) @@ -27,12 +27,11 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFIL .if ${.MAKE.MODE:Mmeta*} != "" # we can afford to use cookies to prevent some targets -# re-running needlessly +# re-running needlessly but only when using filemon. +.if ${.MAKE.MODE:Mnofilemon} == "" META_COOKIE= ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} META_COOKIE_RM= @rm -f ${META_COOKIE} META_COOKIE_TOUCH= @touch ${META_COOKIE} -# some targets need to be .PHONY - but not in meta mode -META_NOPHONY= CLEANFILES+= ${META_TARGETS} _meta_dep_before: .USEBEFORE ${META_COOKIE_RM} @@ -42,9 +41,12 @@ _meta_dep_after: .USE # not rerunning a command if it doesn't need to be considering its # metafile/filemon-tracked dependencies. META_DEPS= _meta_dep_before _meta_dep_after .META +.endif .else -META_COOKIE_RM= -META_COOKIE_TOUCH= +# some targets need to be .PHONY - but not in meta mode META_NOPHONY= .PHONY .endif +META_NOPHONY?= +META_COOKIE_RM?= +META_COOKIE_TOUCH?= META_DEPS+= ${META_NOPHONY} From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8C68ACD2A2; Fri, 11 Mar 2016 23:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E5061418; Fri, 11 Mar 2016 23:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNja79010947; Fri, 11 Mar 2016 23:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjaRE010944; Fri, 11 Mar 2016 23:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjaRE010944@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296702 - in head/share/i18n/esdb: . BIG5 UTF X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:37 -0000 Author: bdrewery Date: Fri Mar 11 23:45:36 2016 New Revision: 296702 URL: https://svnweb.freebsd.org/changeset/base/296702 Log: Remove exists() checks so normal out-of-date handling can be used. This also fixes META MODE rebuilding these because the 'number of build commands' changed from the previous build. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/i18n/esdb/BIG5/Makefile head/share/i18n/esdb/Makefile.part head/share/i18n/esdb/UTF/Makefile Modified: head/share/i18n/esdb/BIG5/Makefile ============================================================================== --- head/share/i18n/esdb/BIG5/Makefile Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/BIG5/Makefile Fri Mar 11 23:45:36 2016 (r296702) @@ -13,12 +13,10 @@ Big5_$i_variable!= sed \ ${.CURDIR}/Big5.variable .endfor .for i in ${PART} -.if !exists(Big5-${i:S/:/@/}.src) # XXX: FIXME Big5-${i:S/:/@/}.src: Big5.src Big5.variable sed -e 's/encoding/Big5-$i/' \ -e 's/variable/${Big5_$i_variable}/' \ ${.CURDIR}/Big5.src > $@ - @echo Big5-${i:S/:/@/}.src >>.tmpfiles -.endif + @echo ${.TARGET} >>.tmpfiles .endfor Modified: head/share/i18n/esdb/Makefile.part ============================================================================== --- head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:36 2016 (r296702) @@ -67,11 +67,9 @@ codesets: ${ESDB} .if !defined(NO_PREPROC) .for i in ${PART} -.if !exists(${EPREFIX}${i:S/:/@/}.src) ${EPREFIX}${i:S/:/@/}.src: ${CODE}.src - sed ${SED_EXP:S@%%PART%%@${i}@} ${.CURDIR}/${CODE}.src > ${EPREFIX}${i:S/:/@/}.src - @echo ${EPREFIX}${i:S/:/@/}.src >>.tmpfiles -.endif + sed ${SED_EXP:S@%%PART%%@${i}@} ${.ALLSRC} > ${.TARGET} + @echo ${.TARGET} >>.tmpfiles .endfor .endif Modified: head/share/i18n/esdb/UTF/Makefile ============================================================================== --- head/share/i18n/esdb/UTF/Makefile Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/UTF/Makefile Fri Mar 11 23:45:36 2016 (r296702) @@ -36,6 +36,6 @@ ${EPREFIX}${i}.src: ${CODE}.src sed -e 's/UTF-x/UTF-${i}/' \ -e 's/UTF-mod/${UTF-${i}-mod}/' \ -e 's/UTF-var/${UTF-${i}-var}/' \ - ${.CURDIR}/${CODE}.src > ${EPREFIX}${i:S/:/@/}.src - @echo ${EPREFIX}${i:S/:/@/}.src >>.tmpfiles + ${.ALLSRC} > ${.TARGET} + @echo ${.TARGET} >>.tmpfiles .endfor From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6BA4ACD2CA; Fri, 11 Mar 2016 23:45:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A410815B0; Fri, 11 Mar 2016 23:45:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjdT7010997; Fri, 11 Mar 2016 23:45:39 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjdea010996; Fri, 11 Mar 2016 23:45:39 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjdea010996@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296703 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:40 -0000 Author: bdrewery Date: Fri Mar 11 23:45:39 2016 New Revision: 296703 URL: https://svnweb.freebsd.org/changeset/base/296703 Log: Don't even define or append subdir targets with NO_SUBDIR. No functional change. This prevents adding empty targets to the main called target which is confusing for debugging. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.subdir.mk Modified: head/share/mk/bsd.subdir.mk ============================================================================== --- head/share/mk/bsd.subdir.mk Fri Mar 11 23:45:36 2016 (r296702) +++ head/share/mk/bsd.subdir.mk Fri Mar 11 23:45:39 2016 (r296703) @@ -131,7 +131,8 @@ ${SUBDIR:N.WAIT}: .PHONY .MAKE # such as 'install' becoming {before,real,after}install, just recurse # 'install'. Despite that, 'realinstall' is special due to ordering issues # with 'afterinstall'. -.if make(${__target}) || (${__target} == realinstall && make(install)) +.if !defined(NO_SUBDIR) && (make(${__target}) || \ + (${__target} == realinstall && make(install))) # Can ordering be skipped for this and SUBDIR_PARALLEL forced? .if ${STANDALONE_SUBDIR_TARGETS:M${__target}} _is_standalone_target= 1 @@ -153,12 +154,10 @@ __deps+= ${__target}_subdir_${DIRPRFX}${ .endfor .endif ${__target}_subdir_${DIRPRFX}${__dir}: .PHONY .MAKE .SILENT ${__deps} -.if !defined(NO_SUBDIR) @${_+_}target=${__target:realinstall=install}; \ dir=${__dir}; \ ${_SUBDIR_SH}; .endif -.endif .endfor # __dir in ${SUBDIR} ${__target}: ${__subdir_targets} .else From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4939ACD302; Fri, 11 Mar 2016 23:45:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC8F81752; Fri, 11 Mar 2016 23:45:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjgZV011042; Fri, 11 Mar 2016 23:45:42 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjgi5011041; Fri, 11 Mar 2016 23:45:42 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjgi5011041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296704 - head/lib/atf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:44 -0000 Author: bdrewery Date: Fri Mar 11 23:45:42 2016 New Revision: 296704 URL: https://svnweb.freebsd.org/changeset/base/296704 Log: Remove bogus .ORDER. This is not SUBDIR_PARALLEL and if it were this .ORDER would not work since the targets are _subdir_ not . MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/atf/Makefile Modified: head/lib/atf/Makefile ============================================================================== --- head/lib/atf/Makefile Fri Mar 11 23:45:39 2016 (r296703) +++ head/lib/atf/Makefile Fri Mar 11 23:45:42 2016 (r296704) @@ -35,6 +35,4 @@ SUBDIR= libatf-c \ _tests= tests .endif -.ORDER: ${SUBDIR} - .include From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:47 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69C83ACD353; Fri, 11 Mar 2016 23:45:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2E1918EC; Fri, 11 Mar 2016 23:45:46 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjj87011090; Fri, 11 Mar 2016 23:45:45 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjjI1011089; Fri, 11 Mar 2016 23:45:45 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjjI1011089@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296705 - head/sys/boot/i386/loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:47 -0000 Author: bdrewery Date: Fri Mar 11 23:45:45 2016 New Revision: 296705 URL: https://svnweb.freebsd.org/changeset/base/296705 Log: Revert r269030. CLEANFILES is already added to .NOPATH since r241298. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/boot/i386/loader/Makefile Modified: head/sys/boot/i386/loader/Makefile ============================================================================== --- head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:42 2016 (r296704) +++ head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) @@ -125,6 +125,6 @@ LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZF beforedepend ${OBJS}: machine CLEANFILES+= machine CFLAGS+= -DLOADER_PREFER_AMD64 -machine: .NOPATH +machine: ln -sf ${.CURDIR}/../../../i386/include machine .endif From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7AF8AACD3C4; Fri, 11 Mar 2016 23:45:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BB5B1BF2; Fri, 11 Mar 2016 23:45:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjrfM011153; Fri, 11 Mar 2016 23:45:53 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjptS011136; Fri, 11 Mar 2016 23:45:51 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjptS011136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296706 - in head/sys/boot: efi/boot1 efi/fdt efi/loader ficl i386/gptboot i386/gptzfsboot i386/libfirewire i386/libi386 i386/loader i386/zfsboot libstand32 ofw/libofw uboot/fdt uboot/l... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:54 -0000 Author: bdrewery Date: Fri Mar 11 23:45:51 2016 New Revision: 296706 URL: https://svnweb.freebsd.org/changeset/base/296706 Log: Add more .NOMETA missed in r291320 Sponsored by: EMC / Isilon Storage Division Modified: head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/fdt/Makefile head/sys/boot/efi/loader/Makefile head/sys/boot/ficl/Makefile head/sys/boot/i386/gptboot/Makefile head/sys/boot/i386/gptzfsboot/Makefile head/sys/boot/i386/libfirewire/Makefile head/sys/boot/i386/libi386/Makefile head/sys/boot/i386/loader/Makefile head/sys/boot/i386/zfsboot/Makefile head/sys/boot/libstand32/Makefile head/sys/boot/ofw/libofw/Makefile head/sys/boot/uboot/fdt/Makefile head/sys/boot/uboot/lib/Makefile head/sys/boot/userboot/ficl/Makefile head/sys/boot/zfs/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/boot1/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -124,13 +124,13 @@ beforedepend ${OBJS}: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" beforedepend ${OBJS}: x86 CLEANFILES+= x86 -x86: +x86: .NOMETA ln -sf ${.CURDIR}/../../../x86/include x86 .endif Modified: head/sys/boot/efi/fdt/Makefile ============================================================================== --- head/sys/boot/efi/fdt/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/fdt/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -27,7 +27,7 @@ CFLAGS+= -I${.CURDIR}/../../fdt # Pick up the bootstrap header for some interface items CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine CLEANFILES+= machine Modified: head/sys/boot/efi/loader/Makefile ============================================================================== --- head/sys/boot/efi/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/loader/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -131,13 +131,13 @@ beforedepend ${OBJS}: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" beforedepend ${OBJS}: x86 CLEANFILES+= x86 -x86: +x86: .NOMETA ln -sf ${.CURDIR}/../../../x86/include x86 .endif Modified: head/sys/boot/ficl/Makefile ============================================================================== --- head/sys/boot/ficl/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/ficl/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -75,7 +75,7 @@ ${SRCS:M*.c:R:S/$/.o/g}: machine beforedepend ${OBJS}: machine .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../i386/include machine CLEANFILES+= machine Modified: head/sys/boot/i386/gptboot/Makefile ============================================================================== --- head/sys/boot/i386/gptboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/gptboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -74,7 +74,7 @@ gptboot.o: ${.CURDIR}/../../common/ufsre .if ${MACHINE_CPUARCH} == "amd64" beforedepend gptboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/gptzfsboot/Makefile ============================================================================== --- head/sys/boot/i386/gptzfsboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/gptzfsboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -72,7 +72,7 @@ zfsboot.o: ${.CURDIR}/../../zfs/zfsimpl. .if ${MACHINE_CPUARCH} == "amd64" beforedepend zfsboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/libfirewire/Makefile ============================================================================== --- head/sys/boot/i386/libfirewire/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/libfirewire/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -18,7 +18,7 @@ CFLAGS+= -Wformat -Wall .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/libi386/Makefile ============================================================================== --- head/sys/boot/i386/libi386/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/libi386/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -60,7 +60,7 @@ CFLAGS+= ${FORMAT_EXTENSIONS} .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/loader/Makefile ============================================================================== --- head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -125,6 +125,6 @@ LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZF beforedepend ${OBJS}: machine CLEANFILES+= machine CFLAGS+= -DLOADER_PREFER_AMD64 -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/zfsboot/Makefile ============================================================================== --- head/sys/boot/i386/zfsboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/zfsboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -85,7 +85,7 @@ SRCS= zfsboot.c .if ${MACHINE_CPUARCH} == "amd64" beforedepend zfsboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/libstand32/Makefile ============================================================================== --- head/sys/boot/libstand32/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/libstand32/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -23,6 +23,6 @@ CFLAGS+= -m32 -I. .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine beforedepend ${OBJS}: machine -machine: +machine: .NOMETA ln -fs ${.CURDIR}/../../i386/include machine .endif Modified: head/sys/boot/ofw/libofw/Makefile ============================================================================== --- head/sys/boot/ofw/libofw/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/ofw/libofw/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -25,7 +25,7 @@ SRCS+= ppc64_elf_freebsd.c CFLAGS+= -DDISK_DEBUG .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/uboot/fdt/Makefile ============================================================================== --- head/sys/boot/uboot/fdt/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/uboot/fdt/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -23,7 +23,7 @@ CFLAGS+= -I${.CURDIR}/../../fdt # Pick up the bootstrap header for some interface items CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/uboot/lib/Makefile ============================================================================== --- head/sys/boot/uboot/lib/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/uboot/lib/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -41,7 +41,7 @@ CFLAGS+= -I${.CURDIR}/../../common -I${. CFLAGS+= -DDISK_DEBUG .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/userboot/ficl/Makefile ============================================================================== --- head/sys/boot/userboot/ficl/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/userboot/ficl/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -53,7 +53,7 @@ softcore.c: ${SOFTWORDS} softcore.awk # #beforedepend ${OBJS}: machine # -#machine: +#machine: .NOMETA # ln -sf ${.CURDIR}/../../i386/include machine # #CLEANFILES+= machine Modified: head/sys/boot/zfs/Makefile ============================================================================== --- head/sys/boot/zfs/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/zfs/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -21,7 +21,7 @@ CFLAGS+= -Wformat -Wall .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../i386/include machine .endif From owner-svn-src-head@freebsd.org Fri Mar 11 23:45:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B9E5ACD3FD; Fri, 11 Mar 2016 23:45:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C86281D2C; Fri, 11 Mar 2016 23:45:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjuKd011198; Fri, 11 Mar 2016 23:45:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNju4E011197; Fri, 11 Mar 2016 23:45:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNju4E011197@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296707 - head/lib/libc++ X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:58 -0000 Author: bdrewery Date: Fri Mar 11 23:45:56 2016 New Revision: 296707 URL: https://svnweb.freebsd.org/changeset/base/296707 Log: Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc++/Makefile Modified: head/lib/libc++/Makefile ============================================================================== --- head/lib/libc++/Makefile Fri Mar 11 23:45:51 2016 (r296706) +++ head/lib/libc++/Makefile Fri Mar 11 23:45:56 2016 (r296707) @@ -54,6 +54,7 @@ CXXRT_SRCS+= libelftc_dem_gnu3.c\ guard.cc .for _S in ${CXXRT_SRCS} +CLEANFILES+= cxxrt_${_S} STATICOBJS+= cxxrt_${_S:R}.o cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA ln -sf ${.ALLSRC} ${.TARGET} From owner-svn-src-head@freebsd.org Fri Mar 11 23:46:01 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CCD5ACD422; Fri, 11 Mar 2016 23:46:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15B071E11; Fri, 11 Mar 2016 23:46:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNk0EN011249; Fri, 11 Mar 2016 23:46:00 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNk0mS011248; Fri, 11 Mar 2016 23:46:00 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112346.u2BNk0mS011248@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:46:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296708 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:46:01 -0000 Author: bdrewery Date: Fri Mar 11 23:45:59 2016 New Revision: 296708 URL: https://svnweb.freebsd.org/changeset/base/296708 Log: DIRDEPS_BUILD: Update dependencies. Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libpam/modules/pam_ssh/Makefile.depend Modified: head/lib/libpam/modules/pam_ssh/Makefile.depend ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile.depend Fri Mar 11 23:45:56 2016 (r296707) +++ head/lib/libpam/modules/pam_ssh/Makefile.depend Fri Mar 11 23:45:59 2016 (r296708) @@ -5,13 +5,11 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/arpa \ include/xlocale \ lib/${CSU_DIR} \ lib/libc \ lib/libcompiler_rt \ lib/libpam/libpam \ - lib/libutil \ secure/lib/libcrypto \ secure/lib/libssh \ From owner-svn-src-head@freebsd.org Fri Mar 11 23:56:34 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7AD7FACD92E; Fri, 11 Mar 2016 23:56:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4AC97B3F; Fri, 11 Mar 2016 23:56:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNuXn9014341; Fri, 11 Mar 2016 23:56:33 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNuXat014339; Fri, 11 Mar 2016 23:56:33 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112356.u2BNuXat014339@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:56:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296709 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:56:34 -0000 Author: bdrewery Date: Fri Mar 11 23:56:33 2016 New Revision: 296709 URL: https://svnweb.freebsd.org/changeset/base/296709 Log: Move Makefile.lib32 to Makefile.libcompat and generalize it. This is in preparation for LIBSOFT. This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat given LIBCOMPAT=FOO there can be values set for LIBFOOCFLAGS, LIBFOOCPUFLAGS, LIBFOOWMAKEENV, LIBFOOWMAKEFLAGS, LIBFOOCPUFLAGS, and LIBFOODTRACE. These will have the standard cross-build values appended onto them. This could be extended to support multiple libcompat libraries in the future once there is a need. Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5612 Added: head/Makefile.libcompat - copied, changed from r296708, head/Makefile.lib32 Deleted: head/Makefile.lib32 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Mar 11 23:45:59 2016 (r296708) +++ head/Makefile.inc1 Fri Mar 11 23:56:33 2016 (r296709) @@ -454,8 +454,10 @@ XCXXFLAGS+= ${BFLAGS} .endif .endif # ${XCC:M/*} -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" -.include "Makefile.lib32" +.if ${MK_LIB32} != "no" && (${TARGET_ARCH} == "amd64" || \ + ${TARGET_ARCH} == "powerpc64") +LIBCOMPAT= 32 +.include "Makefile.libcompat" .endif WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} @@ -513,8 +515,8 @@ _worldtmp: .PHONY @echo "--------------------------------------------------------------" .if !defined(NO_CLEAN) rm -rf ${WORLDTMP} -.if defined(LIB32TMP) - rm -rf ${LIB32TMP} +.if defined(LIBCOMPAT) + rm -rf ${LIBCOMPATTMP} .endif .else rm -rf ${WORLDTMP}/legacy/usr/include @@ -544,13 +546,13 @@ _worldtmp: .PHONY mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${WORLDTMP}/usr/lib >/dev/null .endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null .endif .endif @@ -586,8 +588,8 @@ _cleanobj: @echo ">>> stage 2.1: cleaning up the object tree" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR} -.if defined(LIB32TMP) - ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR} +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${LIBCOMPATWMAKE} -f Makefile.inc1 ${CLEANDIR} .endif .endif _obj: @@ -653,8 +655,8 @@ WMAKE_TGTS+= _includes _libraries WMAKE_TGTS+= _depend .endif WMAKE_TGTS+= everything -.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= build32 +.if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE) +WMAKE_TGTS+= build${libcompat} .endif buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue @@ -694,7 +696,7 @@ buildenv: .PHONY @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ || true -TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32} +TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild${libcompat}} toolchain: ${TOOLCHAIN_TGTS} kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} @@ -788,8 +790,8 @@ ITOOLS+=makewhatis # Non-base distributions produced by the base system EXTRA_DISTRIBUTIONS= doc -.if defined(LIB32TMP) && ${MK_LIB32} != "no" -EXTRA_DISTRIBUTIONS+= lib32 +.if defined(LIBCOMPAT) +EXTRA_DISTRIBUTIONS+= lib${libcompat} .endif .if ${MK_TESTS} != "no" EXTRA_DISTRIBUTIONS+= tests @@ -841,11 +843,11 @@ distributeworld installworld: _installch mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null .endif .endif @@ -865,8 +867,8 @@ distributeworld installworld: _installch sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} -.if ${MK_LIB32} != "no" - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib32.dist | \ +.if defined(LIBCOMPAT) + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} .endif .endif @@ -951,8 +953,8 @@ reinstall: .MAKE .PHONY @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if defined(LIB32TMP) && ${MK_LIB32} != "no" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install${libcompat} .endif redistribute: .MAKE .PHONY @@ -960,9 +962,9 @@ redistribute: .MAKE .PHONY @echo ">>> Distributing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute -.if defined(LIB32TMP) && ${MK_LIB32} != "no" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \ - DISTRIBUTION=lib32 +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute${libcompat} \ + DISTRIBUTION=lib${libcompat} .endif distrib-dirs distribution: .MAKE .PHONY @@ -1025,7 +1027,7 @@ INSTALLKERNEL= ${_kernel} .endif .endfor -${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY +${WMAKE_TGTS:N_worldtmp:Nbuild${libcompat}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY # # buildkernel @@ -2274,8 +2276,8 @@ _xi-mtree: .PHONY -p ${XDDESTDIR}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${XDDESTDIR}/usr/include >/dev/null -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${XDDESTDIR}/usr >/dev/null .endif .if ${MK_TESTS} != "no" Copied and modified: head/Makefile.libcompat (from r296708, head/Makefile.lib32) ============================================================================== --- head/Makefile.lib32 Fri Mar 11 23:45:59 2016 (r296708, copy source) +++ head/Makefile.libcompat Fri Mar 11 23:56:33 2016 (r296709) @@ -1,12 +1,14 @@ # $FreeBSD$ -# Makefile for the 32-bit compat libraries on PowerPC and AMD64. -# could also be for mips, but that doesn't work today. +.if !targets(__<${_this:T}>__) +__<${_this:T}>__: -# 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +# Makefile for the compatibility libraries. +# - 32-bit compat libraries on PowerPC and AMD64. +# could also be for mips, but that doesn't work today. +# ------------------------------------------------------------------- +# 32 bit world .if ${TARGET_ARCH} == "amd64" .if empty(TARGET_CPUTYPE) LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 @@ -17,7 +19,7 @@ LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH MACHINE_CPU="i686 mmx sse sse2" LIB32WMAKEFLAGS= \ AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ + LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \ OBJCOPY="${XOBJCOPY}" .elif ${TARGET_ARCH} == "powerpc64" @@ -33,104 +35,118 @@ LIB32WMAKEFLAGS= \ .endif -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ - -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 -.if ${XCC:N${CCACHE_BIN}:M/*} -LIB32FLAGS+= --sysroot=${WORLDTMP} +LIB32CFLAGS= -m32 -DCOMPAT_32BIT +LIB32DTRACE= ${DTRACE} -32 +LIB32WMAKEFLAGS+= -DCOMPAT_32BIT + +# ------------------------------------------------------------------- +# Generic code for each type. +# Set defaults based on type. +libcompat= ${LIBCOMPAT:tl} +_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CFLAGS WMAKEENV WMAKEFLAGS WMAKE +.for _var in ${_LIBCOMPAT_MAKEVARS} +.if !empty(LIB${LIBCOMPAT}${_var}) +LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}} .endif +.endfor + +# Shared flags +LIBCOMPAT_OBJTREE?= ${OBJTREE}${.CURDIR}/world${libcompat} +LIBCOMPATTMP?= ${OBJTREE}${.CURDIR}/lib${libcompat} + +LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \ + -isystem ${LIBCOMPATTMP}/usr/include/ \ + -L${LIBCOMPATTMP}/usr/lib${libcompat} \ + -B${LIBCOMPATTMP}/usr/lib${libcompat} # Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _LDSCRIPTROOT=${LIB32TMP} \ +LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \ + _LDSCRIPTROOT=${LIBCOMPATTMP} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - DTRACE="${DTRACE} -32" -LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ - CXX="${XCXX} ${LIB32FLAGS}" \ - DESTDIR=${LIB32TMP} \ - -DCOMPAT_32BIT \ + LIBDIR=/usr/lib${libcompat} \ + SHLIBDIR=/usr/lib${libcompat} \ + DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" +LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ + CXX="${XCXX} ${LIBCOMPATCFLAGS}" \ + DESTDIR=${LIBCOMPATTMP} \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ MK_CTF=no \ -DNO_LINT \ MK_TESTS=no +LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \ + MK_MAN=no MK_HTML=no +LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ + MK_TOOLCHAIN=no ${IMAKE_INSTALL} -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - MK_MAN=no MK_HTML=no -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ - MK_TOOLCHAIN=no ${IMAKE_INSTALL} +.if ${XCC:N${CCACHE_BIN}:M/*} +LIBCOMPATCFLAGS+= --sysroot=${WORLDTMP} +.endif -build32: .PHONY +_LC_LIBDIRS.yes= lib gnu/lib +_LC_LIBDIRS.${MK_CDDL:tl}= cddl/lib +_LC_LIBDIRS.${MK_CRYPT:tl}= secure/lib +_LC_LIBDIRS.${MK_KERBEROS:tl}= kerberos5/lib + +# Shared logic +build${libcompat}: .PHONY @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 5.1: building 32 bit shim libraries" + @echo ">>> stage 5.1: building lib${libcompat} shim libraries" @echo "--------------------------------------------------------------" - mkdir -p ${LIB32TMP}/usr/include + mkdir -p ${LIBCOMPATTMP}/usr/include mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${LIB32TMP}/usr >/dev/null + -p ${LIBCOMPATTMP}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${LIB32TMP}/usr/include >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr >/dev/null + -p ${LIBCOMPATTMP}/usr/include >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + -p ${LIBCOMPATTMP}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${LIB32TMP}/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null + -p ${LIBCOMPATTMP}/usr/lib >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + -p ${LIBCOMPATTMP}/usr/lib/debug/usr >/dev/null .endif mkdir -p ${WORLDTMP} ln -sf ${.CURDIR}/sys ${WORLDTMP} .for _t in obj includes - ${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t} - ${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t} -.endif + ${_+_}cd ${.CURDIR}/include; ${LIBCOMPATWMAKE} DIRPRFX=include/ ${_t} +.for _dir in ${_LC_LIBDIRS.yes} + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ ${_t} +.endfor .endfor .for _dir in usr.bin/lex/lib - ${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ obj .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic ${_+_}cd ${.CURDIR}/${_dir}; \ WORLDTMP=${WORLDTMP} \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ + MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ build-tools .endfor ${_+_}cd ${.CURDIR}; \ - ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries + ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries +.if ${libcompat} == "32" .for _t in obj depend all - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ + ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIBCOMPATWMAKE} \ -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ + ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATWMAKE} \ DIRPRFX=usr.bin/ldd ${_t} .endfor - -distribute32 install32: .MAKE .PHONY - ${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} .endif + +distribute${libcompat} install${libcompat}: .PHONY +.for _dir in ${_LC_LIBDIRS.yes} + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATIMAKE} ${.TARGET:S/${libcompat}$//} +.endfor +.if ${libcompat} == "32" ${_+_}cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ + PROG=ld-elf32.so.1 ${LIBCOMPATIMAKE} ${.TARGET:S/32$//} + ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATIMAKE} \ ${.TARGET:S/32$//} +.endif + +.endif From owner-svn-src-head@freebsd.org Sat Mar 12 02:54:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6FC7AACC1B6; Sat, 12 Mar 2016 02:54:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AB76121E; Sat, 12 Mar 2016 02:54:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C2sumM070522; Sat, 12 Mar 2016 02:54:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C2sucm070520; Sat, 12 Mar 2016 02:54:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603120254.u2C2sucm070520@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Sat, 12 Mar 2016 02:54:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296710 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 02:54:57 -0000 Author: np Date: Sat Mar 12 02:54:55 2016 New Revision: 296710 URL: https://svnweb.freebsd.org/changeset/base/296710 Log: cxgbe(4): Catch up with the latest list of card capabilities as reported by the firmware. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Mar 11 23:56:33 2016 (r296709) +++ head/sys/dev/cxgbe/adapter.h Sat Mar 12 02:54:55 2016 (r296710) @@ -812,10 +812,13 @@ struct adapter { const struct chip_params *chip_params; struct t4_virt_res vres; + uint16_t nbmcaps; uint16_t linkcaps; + uint16_t switchcaps; uint16_t niccaps; uint16_t toecaps; uint16_t rdmacaps; + uint16_t tlscaps; uint16_t iscsicaps; uint16_t fcoecaps; Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:56:33 2016 (r296709) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 02:54:55 2016 (r296710) @@ -328,9 +328,15 @@ TUNABLE_INT("hw.cxgbe.fw_install", &t4_f * ASIC features that will be used. Disable the ones you don't want so that the * chip resources aren't wasted on features that will not be used. */ +static int t4_nbmcaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.nbmcaps_allowed", &t4_nbmcaps_allowed); + static int t4_linkcaps_allowed = 0; /* No DCBX, PPP, etc. by default */ TUNABLE_INT("hw.cxgbe.linkcaps_allowed", &t4_linkcaps_allowed); +static int t4_switchcaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.switchcaps_allowed", &t4_switchcaps_allowed); + static int t4_niccaps_allowed = FW_CAPS_CONFIG_NIC; TUNABLE_INT("hw.cxgbe.niccaps_allowed", &t4_niccaps_allowed); @@ -340,6 +346,9 @@ TUNABLE_INT("hw.cxgbe.toecaps_allowed", static int t4_rdmacaps_allowed = 0; TUNABLE_INT("hw.cxgbe.rdmacaps_allowed", &t4_rdmacaps_allowed); +static int t4_tlscaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.tlscaps_allowed", &t4_tlscaps_allowed); + static int t4_iscsicaps_allowed = 0; TUNABLE_INT("hw.cxgbe.iscsicaps_allowed", &t4_iscsicaps_allowed); @@ -3058,10 +3067,13 @@ use_config_on_flash: * Let the firmware know what features will (not) be used so it can tune * things accordingly. */ + LIMIT_CAPS(nbmcaps); LIMIT_CAPS(linkcaps); + LIMIT_CAPS(switchcaps); LIMIT_CAPS(niccaps); LIMIT_CAPS(toecaps); LIMIT_CAPS(rdmacaps); + LIMIT_CAPS(tlscaps); LIMIT_CAPS(iscsicaps); LIMIT_CAPS(fcoecaps); #undef LIMIT_CAPS @@ -3166,10 +3178,13 @@ get_params__post_init(struct adapter *sc #define READ_CAPS(x) do { \ sc->x = htobe16(caps.x); \ } while (0) + READ_CAPS(nbmcaps); READ_CAPS(linkcaps); + READ_CAPS(switchcaps); READ_CAPS(niccaps); READ_CAPS(toecaps); READ_CAPS(rdmacaps); + READ_CAPS(tlscaps); READ_CAPS(iscsicaps); READ_CAPS(fcoecaps); @@ -4576,24 +4591,33 @@ t4_register_fw_msg_handler(struct adapte return (0); } +/* + * Should match fw_caps_config_ enums in t4fw_interface.h + */ +static char *caps_decoder[] = { + "\20\0011IPMI\002NCSI", /* 0: NBM */ + "\20\001PPP\002QFC\003DCBX", /* 1: link */ + "\20\001INGRESS\002EGRESS", /* 2: switch */ + "\20\001NIC\002VM\003IDS\004UM\005UM_ISGL" /* 3: NIC */ + "\006HASHFILTER\007ETHOFLD", + "\20\001TOE", /* 4: TOE */ + "\20\001RDDP\002RDMAC", /* 5: RDMA */ + "\20\001INITIATOR_PDU\002TARGET_PDU" /* 6: iSCSI */ + "\003INITIATOR_CNXOFLD\004TARGET_CNXOFLD" + "\005INITIATOR_SSNOFLD\006TARGET_SSNOFLD" + "\007T10DIF" + "\010INITIATOR_CMDOFLD\011TARGET_CMDOFLD", + "\20\00KEYS", /* 7: TLS */ + "\20\001INITIATOR\002TARGET\003CTRL_OFLD" /* 8: FCoE */ + "\004PO_INITIATOR\005PO_TARGET", +}; + static void t4_sysctls(struct adapter *sc) { struct sysctl_ctx_list *ctx; struct sysctl_oid *oid; struct sysctl_oid_list *children, *c0; - static char *caps[] = { - "\20\1PPP\2QFC\3DCBX", /* caps[0] linkcaps */ - "\20\1NIC\2VM\3IDS\4UM\5UM_ISGL" /* caps[1] niccaps */ - "\6HASHFILTER\7ETHOFLD", - "\20\1TOE", /* caps[2] toecaps */ - "\20\1RDDP\2RDMAC", /* caps[3] rdmacaps */ - "\20\1INITIATOR_PDU\2TARGET_PDU" /* caps[4] iscsicaps */ - "\3INITIATOR_CNXOFLD\4TARGET_CNXOFLD" - "\5INITIATOR_SSNOFLD\6TARGET_SSNOFLD", - "\20\1INITIATOR\2TARGET\3CTRL_OFLD" /* caps[5] fcoecaps */ - "\4PO_INITIAOR\5PO_TARGET" - }; static char *doorbells = {"\20\1UDB\2WCWR\3UDBWC\4KDB"}; ctx = device_get_sysctl_ctx(sc->dev); @@ -4635,29 +4659,21 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, sysctl_bitfield, "A", "available doorbells"); - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "linkcaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[0], sc->linkcaps, - sysctl_bitfield, "A", "available link capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "niccaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[1], sc->niccaps, - sysctl_bitfield, "A", "available NIC capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "toecaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[2], sc->toecaps, - sysctl_bitfield, "A", "available TCP offload capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rdmacaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[3], sc->rdmacaps, - sysctl_bitfield, "A", "available RDMA capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "iscsicaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[4], sc->iscsicaps, - sysctl_bitfield, "A", "available iSCSI capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "fcoecaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[5], sc->fcoecaps, - sysctl_bitfield, "A", "available FCoE capabilities"); +#define SYSCTL_CAP(name, n, text) \ + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, #name, \ + CTLTYPE_STRING | CTLFLAG_RD, caps_decoder[n], sc->name, \ + sysctl_bitfield, "A", "available " text "capabilities") + + SYSCTL_CAP(nbmcaps, 0, "NBM"); + SYSCTL_CAP(linkcaps, 1, "link"); + SYSCTL_CAP(switchcaps, 2, "switch"); + SYSCTL_CAP(niccaps, 3, "NIC"); + SYSCTL_CAP(toecaps, 4, "TCP offload"); + SYSCTL_CAP(rdmacaps, 5, "RDMA"); + SYSCTL_CAP(iscsicaps, 6, "iSCSI"); + SYSCTL_CAP(tlscaps, 7, "TLS"); + SYSCTL_CAP(fcoecaps, 8, "FCoE"); +#undef SYSCTL_CAP SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, sc->params.vpd.cclk, "core clock frequency (in KHz)"); From owner-svn-src-head@freebsd.org Sat Mar 12 03:02:34 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A7D31ACC4F0; Sat, 12 Mar 2016 03:02:34 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 79CDA1B65; Sat, 12 Mar 2016 03:02:34 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C32XNG073933; Sat, 12 Mar 2016 03:02:33 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C32XSN073932; Sat, 12 Mar 2016 03:02:33 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603120302.u2C32XSN073932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Sat, 12 Mar 2016 03:02:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296711 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 03:02:34 -0000 Author: np Date: Sat Mar 12 03:02:33 2016 New Revision: 296711 URL: https://svnweb.freebsd.org/changeset/base/296711 Log: cxgbe(4): Fix typo in previous commit. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Sat Mar 12 02:54:55 2016 (r296710) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 03:02:33 2016 (r296711) @@ -4595,7 +4595,7 @@ t4_register_fw_msg_handler(struct adapte * Should match fw_caps_config_ enums in t4fw_interface.h */ static char *caps_decoder[] = { - "\20\0011IPMI\002NCSI", /* 0: NBM */ + "\20\001IPMI\002NCSI", /* 0: NBM */ "\20\001PPP\002QFC\003DCBX", /* 1: link */ "\20\001INGRESS\002EGRESS", /* 2: switch */ "\20\001NIC\002VM\003IDS\004UM\005UM_ISGL" /* 3: NIC */ From owner-svn-src-head@freebsd.org Sat Mar 12 06:50:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED17AACC3FE; Sat, 12 Mar 2016 06:50:17 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA3EE118; Sat, 12 Mar 2016 06:50:17 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C6oGlx040429; Sat, 12 Mar 2016 06:50:16 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C6oG8Y040428; Sat, 12 Mar 2016 06:50:16 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201603120650.u2C6oG8Y040428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 12 Mar 2016 06:50:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296713 - head/sys/boot/efi/boot1 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 06:50:18 -0000 Author: andrew Date: Sat Mar 12 06:50:16 2016 New Revision: 296713 URL: https://svnweb.freebsd.org/changeset/base/296713 Log: Print the correct size of loader.efi when failing to load it into memory. Obtained from: AsiaBSDCon Sponsored by: ABT Systems Ltd Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c ============================================================================== --- head/sys/boot/efi/boot1/boot1.c Sat Mar 12 03:53:58 2016 (r296712) +++ head/sys/boot/efi/boot1/boot1.c Sat Mar 12 06:50:16 2016 (r296713) @@ -405,7 +405,7 @@ try_boot() if ((status = bs->LoadImage(TRUE, image, devpath_last(dev->devpath), loaderbuf, loadersize, &loaderhandle)) != EFI_SUCCESS) { printf("Failed to load image provided by %s, size: %zu, (%lu)\n", - mod->name, bufsize, EFI_ERROR_CODE(status)); + mod->name, loadersize, EFI_ERROR_CODE(status)); goto errout; } From owner-svn-src-head@freebsd.org Sat Mar 12 07:13:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 81081ACCBCB; Sat, 12 Mar 2016 07:13:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4E0D5D85; Sat, 12 Mar 2016 07:13:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C7DKja049505; Sat, 12 Mar 2016 07:13:20 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C7DKeF049504; Sat, 12 Mar 2016 07:13:20 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603120713.u2C7DKeF049504@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 07:13:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296714 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 07:13:21 -0000 Author: jhb Date: Sat Mar 12 07:13:20 2016 New Revision: 296714 URL: https://svnweb.freebsd.org/changeset/base/296714 Log: Remove Symbol.map entries for old AIO system calls for FreeBSD 6 compat. These entries should have never been present since they only exist for compat with FreeBSD 6.x (and older) binaries. This was missed in r296572. Technically this breaks the ABI by removing versioned symbols. However, no binaries should be linked against these symbols. No release has shipped with a header that contained a prototype for these functions. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5615 Modified: head/lib/libc/sys/Symbol.map Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Sat Mar 12 06:50:16 2016 (r296713) +++ head/lib/libc/sys/Symbol.map Sat Mar 12 07:13:20 2016 (r296714) @@ -200,9 +200,6 @@ FBSD_1.0 { nstat; ntp_adjtime; ntp_gettime; - oaio_read; - oaio_write; - olio_listio; open; pathconf; pipe; @@ -809,12 +806,6 @@ FBSDprivate_1.0 { __sys_ntp_adjtime; _ntp_gettime; __sys_ntp_gettime; - _oaio_read; - __sys_oaio_read; - _oaio_write; - __sys_oaio_write; - _olio_listio; - __sys_olio_listio; _open; __sys_open; _openat; From owner-svn-src-head@freebsd.org Sat Mar 12 07:54:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C2D7DACD6DA; Sat, 12 Mar 2016 07:54:43 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9ADF1C61; Sat, 12 Mar 2016 07:54:43 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C7sg2d061624; Sat, 12 Mar 2016 07:54:42 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C7sgwc061621; Sat, 12 Mar 2016 07:54:42 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120754.u2C7sgwc061621@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 07:54:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296715 - in head/sys: fs/autofs kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 07:54:44 -0000 Author: trasz Date: Sat Mar 12 07:54:42 2016 New Revision: 296715 URL: https://svnweb.freebsd.org/changeset/base/296715 Log: Fix autofs triggering problem. Assume you have an NFS server, 192.168.1.1, with share "share". This commit fixes a problem where "mkdir /net/192.168.1.1/share/meh" would return spurious error instead of creating the directory if the target filesystem wasn't mounted yet; subsequent attempts would work correctly. The failure scenario is kind of complicated to explain, but it all boils down to calling VOP_MKDIR() for the target filesystem (NFS) with wrong dvp - the autofs vnode instead of the filesystem root mounted over it. Reviewed by: kib@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5442 Modified: head/sys/fs/autofs/autofs_vnops.c head/sys/kern/vfs_lookup.c head/sys/sys/errno.h Modified: head/sys/fs/autofs/autofs_vnops.c ============================================================================== --- head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 07:54:42 2016 (r296715) @@ -214,7 +214,7 @@ autofs_lookup(struct vop_lookup_args *ap struct autofs_mount *amp; struct autofs_node *anp, *child; struct componentname *cnp; - int error, lock_flags; + int error; dvp = ap->a_dvp; vpp = ap->a_vpp; @@ -257,23 +257,13 @@ autofs_lookup(struct vop_lookup_args *ap return (error); if (newvp != NULL) { - error = VOP_LOOKUP(newvp, ap->a_vpp, ap->a_cnp); - /* - * Instead of figuring out whether our vnode should - * be locked or not given the error and cnp flags, - * just "copy" the lock status from vnode returned - * by mounted filesystem's VOP_LOOKUP(). Get rid - * of that new vnode afterwards. + * The target filesystem got automounted. + * Let the lookup(9) go around with the same + * path component. */ - lock_flags = VOP_ISLOCKED(newvp); - if (lock_flags == 0) { - VOP_UNLOCK(dvp, 0); - vrele(newvp); - } else { - vput(newvp); - } - return (error); + vput(newvp); + return (ERELOOKUP); } } Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 07:54:42 2016 (r296715) @@ -495,6 +495,7 @@ lookup(struct nameidata *ndp) int rdonly; /* lookup read-only flag bit */ int error = 0; int dpunlocked = 0; /* dp has already been unlocked */ + int relookup = 0; /* do not consume the path component */ struct componentname *cnp = &ndp->ni_cnd; int lkflags_save; int ni_dvp_unlocked; @@ -745,6 +746,14 @@ unionlookup: goto unionlookup; } + if (error == ERELOOKUP) { + vref(dp); + ndp->ni_vp = dp; + error = 0; + relookup = 1; + goto good; + } + if (error != EJUSTRETURN) goto bad; /* @@ -777,6 +786,8 @@ unionlookup: goto success; } else cnp->cn_lkflags = lkflags_save; + +good: #ifdef NAMEI_DIAGNOSTIC printf("found\n"); #endif @@ -856,6 +867,14 @@ nextname: */ KASSERT((cnp->cn_flags & ISLASTCN) || *ndp->ni_next == '/', ("lookup: invalid path state.")); + if (relookup) { + relookup = 0; + if (ndp->ni_dvp != dp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); + goto dirloop; + } if (*ndp->ni_next == '/') { cnp->cn_nameptr = ndp->ni_next; while (*cnp->cn_nameptr == '/') { Modified: head/sys/sys/errno.h ============================================================================== --- head/sys/sys/errno.h Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/sys/errno.h Sat Mar 12 07:54:42 2016 (r296715) @@ -190,6 +190,7 @@ __END_DECLS #define EJUSTRETURN (-2) /* don't modify regs, just return */ #define ENOIOCTL (-3) /* ioctl not handled by this layer */ #define EDIRIOCTL (-4) /* do direct ioctl in GEOM */ +#define ERELOOKUP (-5) /* retry the directory lookup */ #endif #endif From owner-svn-src-head@freebsd.org Sat Mar 12 08:50:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29227ACC01A; Sat, 12 Mar 2016 08:50:40 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D53077AB; Sat, 12 Mar 2016 08:50:39 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C8ocZU077068; Sat, 12 Mar 2016 08:50:38 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C8oceZ077064; Sat, 12 Mar 2016 08:50:38 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120850.u2C8oceZ077064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 08:50:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296716 - in head/sys: fs/unionfs kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 08:50:40 -0000 Author: trasz Date: Sat Mar 12 08:50:38 2016 New Revision: 296716 URL: https://svnweb.freebsd.org/changeset/base/296716 Log: Remove cn_consume from 'struct componentname'. It was never set to anything other than 0. Reviewed by: kib@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5611 Modified: head/sys/fs/unionfs/union_subr.c head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/fs/unionfs/union_subr.c ============================================================================== --- head/sys/fs/unionfs/union_subr.c Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/fs/unionfs/union_subr.c Sat Mar 12 08:50:38 2016 (r296716) @@ -530,7 +530,6 @@ unionfs_relookup(struct vnode *dvp, stru cn->cn_cred = cnp->cn_cred; cn->cn_nameptr = cn->cn_pnbuf; - cn->cn_consume = cnp->cn_consume; if (nameiop == DELETE) cn->cn_flags |= (cnp->cn_flags & (DOWHITEOUT | SAVESTART)); @@ -918,7 +917,6 @@ unionfs_vn_create_on_upper(struct vnode cn.cn_thread = td; cn.cn_cred = cred; cn.cn_nameptr = cn.cn_pnbuf; - cn.cn_consume = 0; vref(udvp); if ((error = relookup(udvp, &vp, &cn)) != 0) @@ -1184,7 +1182,6 @@ unionfs_check_rmdir(struct vnode *vp, st cn.cn_lkflags = LK_EXCLUSIVE; cn.cn_thread = td; cn.cn_cred = cred; - cn.cn_consume = 0; /* * check entry in lower. Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 08:50:38 2016 (r296716) @@ -538,7 +538,6 @@ dirloop: * the name set the SAVENAME flag. When done, they assume * responsibility for freeing the pathname buffer. */ - cnp->cn_consume = 0; for (cp = cnp->cn_nameptr; *cp != 0 && *cp != '/'; cp++) continue; cnp->cn_namelen = cp - cnp->cn_nameptr; @@ -791,17 +790,6 @@ good: #ifdef NAMEI_DIAGNOSTIC printf("found\n"); #endif - /* - * Take into account any additional components consumed by - * the underlying filesystem. - */ - if (cnp->cn_consume > 0) { - cnp->cn_nameptr += cnp->cn_consume; - ndp->ni_next += cnp->cn_consume; - ndp->ni_pathlen -= cnp->cn_consume; - cnp->cn_consume = 0; - } - dp = ndp->ni_vp; /* Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/sys/namei.h Sat Mar 12 08:50:38 2016 (r296716) @@ -53,7 +53,6 @@ struct componentname { char *cn_pnbuf; /* pathname buffer */ char *cn_nameptr; /* pointer to looked up name */ long cn_namelen; /* length of looked up component */ - long cn_consume; /* chars to consume in lookup() */ }; /* From owner-svn-src-head@freebsd.org Sat Mar 12 09:05:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87D67ACC918; Sat, 12 Mar 2016 09:05:44 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59A03ED3; Sat, 12 Mar 2016 09:05:44 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C95hgR082788; Sat, 12 Mar 2016 09:05:43 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C95hIC082787; Sat, 12 Mar 2016 09:05:43 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120905.u2C95hIC082787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 09:05:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296717 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:05:44 -0000 Author: trasz Date: Sat Mar 12 09:05:43 2016 New Revision: 296717 URL: https://svnweb.freebsd.org/changeset/base/296717 Log: Refactor the way we restore cn_lkflags; no functional changes. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 08:50:38 2016 (r296716) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 09:05:43 2016 (r296717) @@ -726,8 +726,9 @@ unionlookup: lkflags_save = cnp->cn_lkflags; cnp->cn_lkflags = compute_cn_lkflags(dp->v_mount, cnp->cn_lkflags, cnp->cn_flags); - if ((error = VOP_LOOKUP(dp, &ndp->ni_vp, cnp)) != 0) { - cnp->cn_lkflags = lkflags_save; + error = VOP_LOOKUP(dp, &ndp->ni_vp, cnp); + cnp->cn_lkflags = lkflags_save; + if (error != 0) { KASSERT(ndp->ni_vp == NULL, ("leaf should be empty")); #ifdef NAMEI_DIAGNOSTIC printf("not found\n"); @@ -783,8 +784,7 @@ unionlookup: VREF(ndp->ni_startdir); } goto success; - } else - cnp->cn_lkflags = lkflags_save; + } good: #ifdef NAMEI_DIAGNOSTIC From owner-svn-src-head@freebsd.org Sat Mar 12 09:33:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8DA3EACD432; Sat, 12 Mar 2016 09:33:28 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 448681B2B; Sat, 12 Mar 2016 09:33:28 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C9XRvB091824; Sat, 12 Mar 2016 09:33:27 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C9XR9S091822; Sat, 12 Mar 2016 09:33:27 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120933.u2C9XR9S091822@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 09:33:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296718 - head/sys/fs/autofs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:33:28 -0000 Author: trasz Date: Sat Mar 12 09:33:26 2016 New Revision: 296718 URL: https://svnweb.freebsd.org/changeset/base/296718 Log: Use S_BLKSIZE instead of magic constant. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/fs/autofs/autofs_vfsops.c head/sys/fs/autofs/autofs_vnops.c Modified: head/sys/fs/autofs/autofs_vfsops.c ============================================================================== --- head/sys/fs/autofs/autofs_vfsops.c Sat Mar 12 09:05:43 2016 (r296717) +++ head/sys/fs/autofs/autofs_vfsops.c Sat Mar 12 09:33:26 2016 (r296718) @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -192,7 +193,7 @@ static int autofs_statfs(struct mount *mp, struct statfs *sbp) { - sbp->f_bsize = 512; + sbp->f_bsize = S_BLKSIZE; sbp->f_iosize = 0; sbp->f_blocks = 0; sbp->f_bfree = 0; Modified: head/sys/fs/autofs/autofs_vnops.c ============================================================================== --- head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 09:05:43 2016 (r296717) +++ head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 09:33:26 2016 (r296718) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -110,8 +111,8 @@ autofs_getattr(struct vop_getattr_args * vap->va_rdev = NODEV; vap->va_fsid = mp->mnt_stat.f_fsid.val[0]; vap->va_fileid = anp->an_fileno; - vap->va_size = 512; /* XXX */ - vap->va_blocksize = 512; + vap->va_size = S_BLKSIZE; + vap->va_blocksize = S_BLKSIZE; vap->va_mtime = anp->an_ctime; vap->va_atime = anp->an_ctime; vap->va_ctime = anp->an_ctime; @@ -119,7 +120,7 @@ autofs_getattr(struct vop_getattr_args * vap->va_gen = 0; vap->va_flags = 0; vap->va_rdev = 0; - vap->va_bytes = 512; /* XXX */ + vap->va_bytes = S_BLKSIZE; vap->va_filerev = 0; vap->va_spare = 0; From owner-svn-src-head@freebsd.org Sat Mar 12 09:44:25 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 56C2BACD77F; Sat, 12 Mar 2016 09:44:25 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F3391F3C; Sat, 12 Mar 2016 09:44:25 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C9iOQ2094809; Sat, 12 Mar 2016 09:44:24 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C9iOj7094807; Sat, 12 Mar 2016 09:44:24 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603120944.u2C9iOj7094807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 09:44:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296719 - head/sys/dev/agp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:44:25 -0000 Author: dumbbell Date: Sat Mar 12 09:44:23 2016 New Revision: 296719 URL: https://svnweb.freebsd.org/changeset/base/296719 Log: agp: Do not attach to Intel GEN6+ The i915 video driver doesn't depend on agp(4) anymore for Sandybridge and later GPUs. Therefore, there is no need to attach agp(4) to those devices. While here, fix `agp_i965_res_spec` to include the aperture base for GEN4 and GEN5. Reviewed by: kib Approved by: kib Differential Revision: https://reviews.freebsd.org/D5586 Modified: head/sys/dev/agp/agp_i810.c head/sys/dev/agp/agpreg.h Modified: head/sys/dev/agp/agp_i810.c ============================================================================== --- head/sys/dev/agp/agp_i810.c Sat Mar 12 09:33:26 2016 (r296718) +++ head/sys/dev/agp/agp_i810.c Sat Mar 12 09:44:23 2016 (r296719) @@ -86,7 +86,6 @@ struct agp_i810_match; static int agp_i810_check_active(device_t bridge_dev); static int agp_i830_check_active(device_t bridge_dev); static int agp_i915_check_active(device_t bridge_dev); -static int agp_sb_check_active(device_t bridge_dev); static void agp_82852_set_desc(device_t dev, const struct agp_i810_match *match); @@ -97,12 +96,10 @@ static void agp_i830_dump_regs(device_t static void agp_i855_dump_regs(device_t dev); static void agp_i915_dump_regs(device_t dev); static void agp_i965_dump_regs(device_t dev); -static void agp_sb_dump_regs(device_t dev); static int agp_i810_get_stolen_size(device_t dev); static int agp_i830_get_stolen_size(device_t dev); static int agp_i915_get_stolen_size(device_t dev); -static int agp_sb_get_stolen_size(device_t dev); static int agp_i810_get_gtt_mappable_entries(device_t dev); static int agp_i830_get_gtt_mappable_entries(device_t dev); @@ -111,7 +108,6 @@ static int agp_i915_get_gtt_mappable_ent static int agp_i810_get_gtt_total_entries(device_t dev); static int agp_i965_get_gtt_total_entries(device_t dev); static int agp_gen5_get_gtt_total_entries(device_t dev); -static int agp_sb_get_gtt_total_entries(device_t dev); static int agp_i810_install_gatt(device_t dev); static int agp_i830_install_gatt(device_t dev); @@ -131,14 +127,11 @@ static void agp_i965_install_gtt_pte(dev vm_offset_t physical, int flags); static void agp_g4x_install_gtt_pte(device_t dev, u_int index, vm_offset_t physical, int flags); -static void agp_sb_install_gtt_pte(device_t dev, u_int index, - vm_offset_t physical, int flags); static void agp_i810_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_i915_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_i965_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_g4x_write_gtt(device_t dev, u_int index, uint32_t pte); -static void agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte); static u_int32_t agp_i810_read_gtt_pte(device_t dev, u_int index); static u_int32_t agp_i915_read_gtt_pte(device_t dev, u_int index); @@ -147,7 +140,6 @@ static u_int32_t agp_g4x_read_gtt_pte(de static vm_paddr_t agp_i810_read_gtt_pte_paddr(device_t dev, u_int index); static vm_paddr_t agp_i915_read_gtt_pte_paddr(device_t dev, u_int index); -static vm_paddr_t agp_sb_read_gtt_pte_paddr(device_t dev, u_int index); static int agp_i810_set_aperture(device_t dev, u_int32_t aperture); static int agp_i830_set_aperture(device_t dev, u_int32_t aperture); @@ -174,7 +166,6 @@ enum { CHIP_G33, /* G33/Q33/Q35 */ CHIP_IGD, /* Pineview */ CHIP_G4X, /* G45/Q45 */ - CHIP_SB, /* SandyBridge */ }; /* The i810 through i855 have the registers at BAR 1, and the GATT gets @@ -196,12 +187,7 @@ static struct resource_spec agp_i915_res static struct resource_spec agp_i965_res_spec[] = { { SYS_RES_MEMORY, AGP_I965_GTTMMADR, RF_ACTIVE | RF_SHAREABLE }, - { -1, 0 } -}; - -static struct resource_spec agp_g4x_res_spec[] = { - { SYS_RES_MEMORY, AGP_G4X_MMADR, RF_ACTIVE | RF_SHAREABLE }, - { SYS_RES_MEMORY, AGP_G4X_GTTADR, RF_ACTIVE | RF_SHAREABLE }, + { SYS_RES_MEMORY, AGP_I965_APBASE, RF_ACTIVE | RF_SHAREABLE }, { -1, 0 } }; @@ -392,22 +378,22 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_g965_driver = { - .chiptype = CHIP_I965, - .gen = 4, +static const struct agp_i810_driver agp_i810_g33_driver = { + .chiptype = CHIP_G33, + .gen = 3, .busdma_addr_mask_sz = 36, - .res_spec = agp_i965_res_spec, + .res_spec = agp_i915_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, .dump_regs = agp_i965_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, - .install_gatt = agp_i965_install_gatt, + .install_gatt = agp_i830_install_gatt, .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_i965_write_gtt, - .install_gtt_pte = agp_i965_install_gtt_pte, - .read_gtt_pte = agp_i965_read_gtt_pte, + .write_gtt = agp_i915_write_gtt, + .install_gtt_pte = agp_i915_install_gtt_pte, + .read_gtt_pte = agp_i915_read_gtt_pte, .read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr, .set_aperture = agp_i915_set_aperture, .chipset_flush_setup = agp_i965_chipset_flush_setup, @@ -415,14 +401,14 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_g33_driver = { - .chiptype = CHIP_G33, +static const struct agp_i810_driver agp_i810_igd_driver = { + .chiptype = CHIP_IGD, .gen = 3, .busdma_addr_mask_sz = 36, .res_spec = agp_i915_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, - .dump_regs = agp_i965_dump_regs, + .dump_regs = agp_i915_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, @@ -438,22 +424,22 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_igd_driver = { - .chiptype = CHIP_IGD, - .gen = 3, +static const struct agp_i810_driver agp_i810_g965_driver = { + .chiptype = CHIP_I965, + .gen = 4, .busdma_addr_mask_sz = 36, - .res_spec = agp_i915_res_spec, + .res_spec = agp_i965_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, - .dump_regs = agp_i915_dump_regs, + .dump_regs = agp_i965_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, - .install_gatt = agp_i830_install_gatt, + .install_gatt = agp_i965_install_gatt, .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_i915_write_gtt, - .install_gtt_pte = agp_i915_install_gtt_pte, - .read_gtt_pte = agp_i915_read_gtt_pte, + .write_gtt = agp_i965_write_gtt, + .install_gtt_pte = agp_i965_install_gtt_pte, + .read_gtt_pte = agp_i965_read_gtt_pte, .read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr, .set_aperture = agp_i915_set_aperture, .chipset_flush_setup = agp_i965_chipset_flush_setup, @@ -484,75 +470,6 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_sb_driver = { - .chiptype = CHIP_SB, - .gen = 6, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - -static const struct agp_i810_driver agp_i810_hsw_driver = { - .chiptype = CHIP_SB, - .gen = 7, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - -static const struct agp_i810_driver agp_i810_valleyview_driver = { - .chiptype = CHIP_SB, - .gen = 7, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - /* For adding new devices, devid is the id of the graphics controller * (pci:0:2:0, for example). The placeholder (usually at pci:0:2:1) for the * second head should never be added. The bridge_offset is the offset to @@ -724,266 +641,6 @@ static const struct agp_i810_match { .driver = &agp_i810_g4x_driver }, { - .devid = 0x01028086, - .name = "SandyBridge desktop GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01128086, - .name = "SandyBridge desktop GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01228086, - .name = "SandyBridge desktop GT2+ IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01068086, - .name = "SandyBridge mobile GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01168086, - .name = "SandyBridge mobile GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01268086, - .name = "SandyBridge mobile GT2+ IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x010a8086, - .name = "SandyBridge server IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01528086, - .name = "IvyBridge desktop GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01628086, - .name = "IvyBridge desktop GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01568086, - .name = "IvyBridge mobile GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01668086, - .name = "IvyBridge mobile GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x015a8086, - .name = "IvyBridge server GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x016a8086, - .name = "IvyBridge server GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x04028086, - .name = "Haswell GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04068086, - .name = "Haswell GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x040A8086, - .name = "Haswell GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04128086, - .name = "Haswell GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04168086, - .name = "Haswell GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x041A8086, - .name = "Haswell GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04228086, - .name = "Haswell GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04268086, - .name = "Haswell GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x042A8086, - .name = "Haswell GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A028086, - .name = "Haswell ULT GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A068086, - .name = "Haswell ULT GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A0A8086, - .name = "Haswell ULT GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A128086, - .name = "Haswell ULT GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A168086, - .name = "Haswell ULT GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A1A8086, - .name = "Haswell ULT GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A228086, - .name = "Haswell ULT GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A268086, - .name = "Haswell ULT GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A2A8086, - .name = "Haswell ULT GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C028086, - .name = "Haswell SDV GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C068086, - .name = "Haswell SDV GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C0A8086, - .name = "Haswell SDV GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C128086, - .name = "Haswell SDV GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C168086, - .name = "Haswell SDV GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C1A8086, - .name = "Haswell SDV GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C228086, - .name = "Haswell SDV GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C268086, - .name = "Haswell SDV GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C2A8086, - .name = "Haswell SDV GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D028086, - .name = "Haswell CRW GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D068086, - .name = "Haswell CRW GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D0A8086, - .name = "Haswell CRW GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D128086, - .name = "Haswell CRW GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D168086, - .name = "Haswell CRW GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D1A8086, - .name = "Haswell CRW GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D228086, - .name = "Haswell CRW GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D268086, - .name = "Haswell CRW GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D2A8086, - .name = "Haswell CRW GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x01558086, - .name = "Valleyview (desktop)", - .driver = &agp_i810_valleyview_driver - }, - { - .devid = 0x01578086, - .name = "Valleyview (mobile)", - .driver = &agp_i810_valleyview_driver - }, - { - .devid = 0x0F308086, - .name = "Valleyview (mobile)", - .driver = &agp_i810_valleyview_driver - }, - { .devid = 0, } }; @@ -1061,17 +718,6 @@ agp_i915_check_active(device_t bridge_de return (0); } -static int -agp_sb_check_active(device_t bridge_dev) -{ - int deven; - - deven = pci_read_config(bridge_dev, AGP_I915_DEVEN, 4); - if ((deven & AGP_SB_DEVEN_D2EN) == AGP_SB_DEVEN_D2EN_DISABLED) - return (ENXIO); - return (0); -} - static void agp_82852_set_desc(device_t dev, const struct agp_i810_match *match) { @@ -1200,17 +846,6 @@ agp_i965_dump_regs(device_t dev) pci_read_config(sc->bdev, AGP_I965_MSAC, 1)); } -static void -agp_sb_dump_regs(device_t dev) -{ - struct agp_i810_softc *sc = device_get_softc(dev); - - device_printf(dev, "AGP_SNB_GFX_MODE: %08x\n", - bus_read_4(sc->sc_res[0], AGP_SNB_GFX_MODE)); - device_printf(dev, "AGP_SNB_GCC1: 0x%04x\n", - pci_read_config(sc->bdev, AGP_SNB_GCC1, 2)); -} - static int agp_i810_get_stolen_size(device_t dev) { @@ -1236,11 +871,11 @@ agp_i830_get_stolen_size(device_t dev) sc->stolen = (512 - 132) * 1024 / 4096; sc->stolen_size = 512 * 1024; break; - case AGP_I830_GCC1_GMS_STOLEN_1024: + case AGP_I830_GCC1_GMS_STOLEN_1024: sc->stolen = (1024 - 132) * 1024 / 4096; sc->stolen_size = 1024 * 1024; break; - case AGP_I830_GCC1_GMS_STOLEN_8192: + case AGP_I830_GCC1_GMS_STOLEN_8192: sc->stolen = (8192 - 132) * 1024 / 4096; sc->stolen_size = 8192 * 1024; break; @@ -1396,68 +1031,6 @@ agp_i915_get_stolen_size(device_t dev) } static int -agp_sb_get_stolen_size(device_t dev) -{ - struct agp_i810_softc *sc; - uint16_t gmch_ctl; - - sc = device_get_softc(dev); - gmch_ctl = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2); - switch (gmch_ctl & AGP_SNB_GMCH_GMS_STOLEN_MASK) { - case AGP_SNB_GMCH_GMS_STOLEN_32M: - sc->stolen_size = 32 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_64M: - sc->stolen_size = 64 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_96M: - sc->stolen_size = 96 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_128M: - sc->stolen_size = 128 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_160M: - sc->stolen_size = 160 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_192M: - sc->stolen_size = 192 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_224M: - sc->stolen_size = 224 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_256M: - sc->stolen_size = 256 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_288M: - sc->stolen_size = 288 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_320M: - sc->stolen_size = 320 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_352M: - sc->stolen_size = 352 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_384M: - sc->stolen_size = 384 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_416M: - sc->stolen_size = 416 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_448M: - sc->stolen_size = 448 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_480M: - sc->stolen_size = 480 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_512M: - sc->stolen_size = 512 * 1024 * 1024; - break; - } - sc->stolen = (sc->stolen_size - 4) / 4096; - return (0); -} - -static int agp_i810_get_gtt_mappable_entries(device_t dev) { struct agp_i810_softc *sc; @@ -1600,30 +1173,6 @@ agp_gen5_get_gtt_total_entries(device_t } static int -agp_sb_get_gtt_total_entries(device_t dev) -{ - struct agp_i810_softc *sc; - uint16_t gcc1; - - sc = device_get_softc(dev); - - gcc1 = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2); - switch (gcc1 & AGP_SNB_GTT_SIZE_MASK) { - default: - case AGP_SNB_GTT_SIZE_0M: - printf("Bad GTT size mask: 0x%04x\n", gcc1); - return (ENXIO); - case AGP_SNB_GTT_SIZE_1M: - sc->gtt_total_entries = 1024 * 1024 / 4; - break; - case AGP_SNB_GTT_SIZE_2M: - sc->gtt_total_entries = 2 * 1024 * 1024 / 4; - break; - } - return (0); -} - -static int agp_i810_install_gatt(device_t dev) { struct agp_i810_softc *sc; @@ -2024,38 +1573,6 @@ agp_g4x_write_gtt(device_t dev, u_int in CTR2(KTR_AGP_I810, "g4x_pte %x %x", index, pte); } -static void -agp_sb_install_gtt_pte(device_t dev, u_int index, vm_offset_t physical, - int flags) -{ - int type_mask, gfdt; - uint32_t pte; - - pte = (u_int32_t)physical | I810_PTE_VALID; - type_mask = flags & ~AGP_USER_CACHED_MEMORY_GFDT; - gfdt = (flags & AGP_USER_CACHED_MEMORY_GFDT) != 0 ? GEN6_PTE_GFDT : 0; - - if (type_mask == AGP_USER_MEMORY) - pte |= GEN6_PTE_UNCACHED; - else if (type_mask == AGP_USER_CACHED_MEMORY_LLC_MLC) - pte |= GEN6_PTE_LLC_MLC | gfdt; - else - pte |= GEN6_PTE_LLC | gfdt; - - pte |= (physical & 0x000000ff00000000ull) >> 28; - agp_sb_write_gtt(dev, index, pte); -} - -static void -agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte) -{ - struct agp_i810_softc *sc; - - sc = device_get_softc(dev); - bus_write_4(sc->sc_res[0], index * 4 + (2 * 1024 * 1024), pte); - CTR2(KTR_AGP_I810, "sb_pte %x %x", index, pte); -} - static int agp_i810_bind_page(device_t dev, vm_offset_t offset, vm_offset_t physical) { @@ -2165,19 +1682,6 @@ agp_i915_read_gtt_pte_paddr(device_t dev return (res); } -static vm_paddr_t -agp_sb_read_gtt_pte_paddr(device_t dev, u_int index) -{ - struct agp_i810_softc *sc; - u_int32_t pte; - vm_paddr_t res; - - sc = device_get_softc(dev); - pte = sc->match->driver->read_gtt_pte(dev, index); - res = (pte & ~PAGE_MASK) | ((pte & 0xff0) << 28); - return (res); -} - /* * Writing via memory mapped registers already flushes all TLBs. */ Modified: head/sys/dev/agp/agpreg.h ============================================================================== --- head/sys/dev/agp/agpreg.h Sat Mar 12 09:33:26 2016 (r296718) +++ head/sys/dev/agp/agpreg.h Sat Mar 12 09:44:23 2016 (r296719) @@ -296,9 +296,19 @@ #define AGP_I915_IFPADDR 0x60 /* + * G33 registers + */ +#define AGP_G33_MGGC_GGMS_MASK (3 << 8) +#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8) +#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8) +#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80 +#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90 + +/* * G965 registers */ #define AGP_I965_GTTMMADR 0x10 +#define AGP_I965_APBASE 0x18 #define AGP_I965_MSAC 0x62 #define AGP_I965_MSAC_GMASIZE_128 0x00 #define AGP_I965_MSAC_GMASIZE_256 0x02 @@ -310,20 +320,8 @@ #define AGP_I965_IFPADDR 0x70 /* - * G33 registers - */ -#define AGP_G33_MGGC_GGMS_MASK (3 << 8) -#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8) -#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8) -#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80 -#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90 - -/* * G4X registers */ -#define AGP_G4X_GMADR 0x20 -#define AGP_G4X_MMADR 0x10 -#define AGP_G4X_GTTADR 0x18 #define AGP_G4X_GCC1_GMS_STOLEN_96M 0xa0 #define AGP_G4X_GCC1_GMS_STOLEN_160M 0xb0 #define AGP_G4X_GCC1_GMS_STOLEN_224M 0xc0 From owner-svn-src-head@freebsd.org Sat Mar 12 11:54:59 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EAAB6ACC325; Sat, 12 Mar 2016 11:54:59 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7D8C6EB; Sat, 12 Mar 2016 11:54:59 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CBswHD034031; Sat, 12 Mar 2016 11:54:58 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CBswhx034030; Sat, 12 Mar 2016 11:54:58 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603121154.u2CBswhx034030@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 11:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296720 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 11:55:00 -0000 Author: dumbbell Date: Sat Mar 12 11:54:58 2016 New Revision: 296720 URL: https://svnweb.freebsd.org/changeset/base/296720 Log: drm/i915: Fix page fault handler failure ... when __wait_seqno() is interrupted by a signal. In this case, __wait_seqno() returns -ERESTARTSYS. Like we already do in drm_ioctl(), we need to convert this error to a common code such as -EINTR, so the page fault handler is restarted. Reported by: Frederic Chardon Tested by: Frederic Chardon Modified: head/sys/dev/drm2/i915/i915_gem.c Modified: head/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 09:44:23 2016 (r296719) +++ head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 11:54:58 2016 (r296720) @@ -1619,6 +1619,13 @@ out: KASSERT(ret != 0, ("i915_gem_pager_fault: wrong return")); CTR4(KTR_DRM, "fault_fail %p %jx %x err %d", gem_obj, offset, prot, -ret); + if (ret == -ERESTARTSYS) { + /* + * NOTE Linux<->FreeBSD: Convert Linux' -ERESTARTSYS to + * the more common -EINTR, so the page fault is retried. + */ + ret = -EINTR; + } if (ret == -EAGAIN || ret == -EIO || ret == -EINTR) { kern_yield(PRI_USER); goto retry; From owner-svn-src-head@freebsd.org Sat Mar 12 11:57:33 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0B44ACC550; Sat, 12 Mar 2016 11:57:33 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1784921; Sat, 12 Mar 2016 11:57:33 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CBvWTP034175; Sat, 12 Mar 2016 11:57:32 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CBvWDd034174; Sat, 12 Mar 2016 11:57:32 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603121157.u2CBvWDd034174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 11:57:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296721 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 11:57:33 -0000 Author: dumbbell Date: Sat Mar 12 11:57:32 2016 New Revision: 296721 URL: https://svnweb.freebsd.org/changeset/base/296721 Log: drm/i915: Call i915_gem_gtt_fini() when the device is detached This fixes several memory leaks. Apparently, this problem exists in Linux 3.8 but the code changed in Linux 3.9 so it may be fixed upstream already. Still, this is something we need to pay attention to. Modified: head/sys/dev/drm2/i915/i915_dma.c Modified: head/sys/dev/drm2/i915/i915_dma.c ============================================================================== --- head/sys/dev/drm2/i915/i915_dma.c Sat Mar 12 11:54:58 2016 (r296720) +++ head/sys/dev/drm2/i915/i915_dma.c Sat Mar 12 11:57:32 2016 (r296721) @@ -1810,6 +1810,12 @@ int i915_driver_unload(struct drm_device if (dev_priv->mmio_map != NULL) drm_rmmap(dev, dev_priv->mmio_map); + /* + * NOTE Linux<->FreeBSD: Linux forgots to call + * i915_gem_gtt_fini(), causing memory leaks. + */ + i915_gem_gtt_fini(dev); + if (dev_priv->wq != NULL) taskqueue_free(dev_priv->wq); From owner-svn-src-head@freebsd.org Sat Mar 12 14:27:17 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4BDB1ACDED3; Sat, 12 Mar 2016 14:27:17 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1801A35; Sat, 12 Mar 2016 14:27:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u2CERB7w039982 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sat, 12 Mar 2016 16:27:11 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u2CERB7w039982 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u2CERBAA039981; Sat, 12 Mar 2016 16:27:11 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 12 Mar 2016 16:27:11 +0200 From: Konstantin Belousov To: Jean-S??bastien P??dron Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296720 - head/sys/dev/drm2/i915 Message-ID: <20160312142711.GG1741@kib.kiev.ua> References: <201603121154.u2CBswhx034030@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201603121154.u2CBswhx034030@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 14:27:17 -0000 On Sat, Mar 12, 2016 at 11:54:58AM +0000, Jean-S??bastien P??dron wrote: > Author: dumbbell > Date: Sat Mar 12 11:54:58 2016 > New Revision: 296720 > URL: https://svnweb.freebsd.org/changeset/base/296720 > > Log: > drm/i915: Fix page fault handler failure > > ... when __wait_seqno() is interrupted by a signal. In this case, > __wait_seqno() returns -ERESTARTSYS. Like we already do in drm_ioctl(), > we need to convert this error to a common code such as -EINTR, so the > page fault handler is restarted. > > Reported by: Frederic Chardon > Tested by: Frederic Chardon > > Modified: > head/sys/dev/drm2/i915/i915_gem.c > > Modified: head/sys/dev/drm2/i915/i915_gem.c > ============================================================================== > --- head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 09:44:23 2016 (r296719) > +++ head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 11:54:58 2016 (r296720) > @@ -1619,6 +1619,13 @@ out: > KASSERT(ret != 0, ("i915_gem_pager_fault: wrong return")); > CTR4(KTR_DRM, "fault_fail %p %jx %x err %d", gem_obj, offset, prot, > -ret); > + if (ret == -ERESTARTSYS) { > + /* > + * NOTE Linux<->FreeBSD: Convert Linux' -ERESTARTSYS to > + * the more common -EINTR, so the page fault is retried. > + */ > + ret = -EINTR; > + } > if (ret == -EAGAIN || ret == -EIO || ret == -EINTR) { > kern_yield(PRI_USER); > goto retry; It may be that the time come to remove i915_intr_pf tunable, and always take device lock non-interruptible in i915 fault handler. TTM behaves that way, and I think that situations where I used interruptible page handlers, AFAIR to kill X or other gem clients in case of OOM, really not useful to users. From owner-svn-src-head@freebsd.org Sat Mar 12 14:54:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0988AACE6DD; Sat, 12 Mar 2016 14:54:37 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D8CDB797; Sat, 12 Mar 2016 14:54:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CEsZNk091291; Sat, 12 Mar 2016 14:54:35 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CEsZN2091282; Sat, 12 Mar 2016 14:54:35 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121454.u2CEsZN2091282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 14:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296723 - in head: bin/sh etc lib/libutil usr.bin/limits X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 14:54:37 -0000 Author: kib Date: Sat Mar 12 14:54:34 2016 New Revision: 296723 URL: https://svnweb.freebsd.org/changeset/base/296723 Log: Fix handling of umtxp resource limit in sh(1)/ulimit(1), limits(1), add login.conf(5) support. Reviewed by: jilles Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D5610 Modified: head/bin/sh/miscbltin.c head/bin/sh/sh.1 head/etc/login.conf head/lib/libutil/login.conf.5 head/lib/libutil/login_class.3 head/lib/libutil/login_class.c head/usr.bin/limits/limits.1 head/usr.bin/limits/limits.c Modified: head/bin/sh/miscbltin.c ============================================================================== --- head/bin/sh/miscbltin.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/bin/sh/miscbltin.c Sat Mar 12 14:54:34 2016 (r296723) @@ -452,7 +452,7 @@ ulimitcmd(int argc __unused, char **argv struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlbpwk")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbpwko")) != '\0') switch (optc) { case 'H': how = HARD; Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sat Mar 12 13:39:57 2016 (r296722) +++ head/bin/sh/sh.1 Sat Mar 12 14:54:34 2016 (r296723) @@ -2615,7 +2615,7 @@ and not found. For aliases the alias expansion is printed; for commands and tracked aliases the complete pathname of the command is printed. -.It Ic ulimit Oo Fl HSabcdfklmnpstuvw Oc Op Ar limit +.It Ic ulimit Oo Fl HSabcdfklmnopstuvw Oc Op Ar limit Set or display resource limits (see .Xr getrlimit 2 ) . If @@ -2674,6 +2674,11 @@ kilobytes. The maximal resident set size of a process, in kilobytes. .It Fl n Ar nofiles The maximal number of descriptors that could be opened by a process. +.It Fl o Ar umtxp +The maximal number of process-shared locks +(see +.Xr pthread 3 ) +for this user ID. .It Fl p Ar pseudoterminals The maximal number of pseudo-terminals for this user ID. .It Fl s Ar stacksize Modified: head/etc/login.conf ============================================================================== --- head/etc/login.conf Sat Mar 12 13:39:57 2016 (r296722) +++ head/etc/login.conf Sat Mar 12 14:54:34 2016 (r296723) @@ -43,6 +43,7 @@ default:\ :swapuse=unlimited:\ :pseudoterminals=unlimited:\ :kqueues=unlimited:\ + :umtxp=unlimited:\ :priority=0:\ :ignoretime@:\ :umask=022: Modified: head/lib/libutil/login.conf.5 ============================================================================== --- head/lib/libutil/login.conf.5 Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login.conf.5 Sat Mar 12 14:54:34 2016 (r296723) @@ -199,6 +199,7 @@ notation may be used. .It "stacksize size Maximum stack size limit." .It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." +.It "umtxp number Maximum number of process-shared pthread locks." .El .Pp These resource limit entries actually specify both the maximum Modified: head/lib/libutil/login_class.3 ============================================================================== --- head/lib/libutil/login_class.3 Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login_class.3 Sat Mar 12 14:54:34 2016 (r296723) @@ -119,6 +119,7 @@ vmemoryuse RLIMIT_VMEM pseudoterminals RLIMIT_NPTS swapuse RLIMIT_SWAP kqueues RLIMIT_KQUEUES +umtxp RLIMIT_UMTXP .Ed .It LOGIN_SETPRIORITY Set the scheduling priority for the current process based on the Modified: head/lib/libutil/login_class.c ============================================================================== --- head/lib/libutil/login_class.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login_class.c Sat Mar 12 14:54:34 2016 (r296723) @@ -67,6 +67,7 @@ static struct login_res { { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "umtxp", login_getcapnum, RLIMIT_UMTXP }, { NULL, 0, 0 } }; Modified: head/usr.bin/limits/limits.1 ============================================================================== --- head/usr.bin/limits/limits.1 Sat Mar 12 13:39:57 2016 (r296722) +++ head/usr.bin/limits/limits.1 Sat Mar 12 14:54:34 2016 (r296723) @@ -30,11 +30,11 @@ .Op Fl C Ar class | Fl P Ar pid | Fl U Ar user .Op Fl SHB .Op Fl ea -.Op Fl bcdfklmnstuvpw Op Ar val +.Op Fl bcdfklmnopstuvw Op Ar val .Nm .Op Fl C Ar class | Fl U Ar user .Op Fl SHB -.Op Fl bcdfklmnstuvpw Op Ar val +.Op Fl bcdfklmnopstuvw Op Ar val .Op Fl E .Oo .Op Ar name Ns = Ns Ar value ... @@ -233,6 +233,18 @@ system is limited to the value displayed .Va kern.maxfiles .Xr sysctl 8 variable. +.It Fl o Op Ar val +Select or set the +.Va umtxp +resource limit. +The limit determines the maximal number of the process-shared locks +which may be simultaneously created by the processes owned by the +user, see +.Xr pthread 3 . +.It Fl p Op Ar val +Select or set the +.Va pseudoterminals +resource limit. .It Fl s Op Ar val Select or set the .Va stacksize @@ -266,10 +278,6 @@ and is inclusive of text, data, bss, sta and .Xr mmap 2 Ns 'd space. -.It Fl p Op Ar val -Select or set the -.Va pseudoterminals -resource limit. .It Fl w Op Ar val Select or set the .Va swapuse Modified: head/usr.bin/limits/limits.c ============================================================================== --- head/usr.bin/limits/limits.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/usr.bin/limits/limits.c Sat Mar 12 14:54:34 2016 (r296723) @@ -254,7 +254,7 @@ static struct { * to be modified accordingly! */ -#define RCS_STRING "tfdscmlunbvpwk" +#define RCS_STRING "tfdscmlunbvpwko" static rlim_t resource_num(int which, int ch, const char *str); static void usage(void); @@ -551,7 +551,7 @@ usage(void) { (void)fprintf(stderr, "usage: limits [-C class|-P pid|-U user] [-eaSHBE] " - "[-bcdflmnstuvpwk [val]] [[name=val ...] cmd]\n"); + "[-bcdfklmnostuvpw [val]] [[name=val ...] cmd]\n"); exit(EXIT_FAILURE); } @@ -660,6 +660,7 @@ resource_num(int which, int ch, const ch case RLIMIT_NOFILE: case RLIMIT_NPTS: case RLIMIT_KQUEUES: + case RLIMIT_UMTXP: res = strtoq(s, &e, 0); s = e; break; From owner-svn-src-head@freebsd.org Sat Mar 12 15:10:32 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52C3FACECA9; Sat, 12 Mar 2016 15:10:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23E6E72; Sat, 12 Mar 2016 15:10:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CFAVBr094965; Sat, 12 Mar 2016 15:10:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CFAVjD094964; Sat, 12 Mar 2016 15:10:31 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603121510.u2CFAVjD094964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 12 Mar 2016 15:10:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296724 - head/usr.sbin/gpioctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 15:10:32 -0000 Author: dim Date: Sat Mar 12 15:10:30 2016 New Revision: 296724 URL: https://svnweb.freebsd.org/changeset/base/296724 Log: Fix gcc warnings about possibly uninitialized variables in gpioctl.c. Noticed by: bz Modified: head/usr.sbin/gpioctl/gpioctl.c Modified: head/usr.sbin/gpioctl/gpioctl.c ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.c Sat Mar 12 14:54:34 2016 (r296723) +++ head/usr.sbin/gpioctl/gpioctl.c Sat Mar 12 15:10:30 2016 (r296724) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include -#define PIN_TYPE_UNKNOWN 0 #define PIN_TYPE_NUMBER 1 #define PIN_TYPE_NAME 2 @@ -271,7 +270,7 @@ main(int argc, char **argv) /* Find the pin number by the name */ switch (pin_type) { - case PIN_TYPE_UNKNOWN: + default: /* First test if it is a pin number */ pinn = str2int(argv[0], &ok); if (ok) { From owner-svn-src-head@freebsd.org Sat Mar 12 18:38:52 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A6BBACEEF0; Sat, 12 Mar 2016 18:38:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C279DE2; Sat, 12 Mar 2016 18:38:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIcpgD063965; Sat, 12 Mar 2016 18:38:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIcpIT063964; Sat, 12 Mar 2016 18:38:51 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603121838.u2CIcpIT063964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 12 Mar 2016 18:38:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296735 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:38:52 -0000 Author: dim Date: Sat Mar 12 18:38:51 2016 New Revision: 296735 URL: https://svnweb.freebsd.org/changeset/base/296735 Log: Fix the following gcc warnings on sparc64, when TCP_OFFLOAD is not defined: sys/dev/cxgbe/t4_main.c:7474: warning: 'sysctl_tp_tick' defined but not used sys/dev/cxgbe/t4_main.c:7505: warning: 'sysctl_tp_dack_timer' defined but not used sys/dev/cxgbe/t4_main.c:7519: warning: 'sysctl_tp_timer' defined but not used This just adds a bunch of #ifdef TCP_OFFLOAD in the right places. Reviewed by: np Differential Revision: https://reviews.freebsd.org/D5620 Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Sat Mar 12 18:38:13 2016 (r296734) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 18:38:51 2016 (r296735) @@ -491,9 +491,11 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif +#ifdef TCP_OFFLOAD static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); +#endif static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); static uint32_t mode_to_iconf(uint32_t); @@ -7455,6 +7457,7 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) } #endif +#ifdef TCP_OFFLOAD static void unit_conv(char *buf, size_t len, u_int val, u_int factor) { @@ -7538,6 +7541,7 @@ sysctl_tp_timer(SYSCTL_HANDLER_ARGS) return (sysctl_handle_long(oidp, &v, 0, req)); } +#endif static uint32_t fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) From owner-svn-src-head@freebsd.org Sat Mar 12 18:41:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E376ACC031; Sat, 12 Mar 2016 18:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF702E5; Sat, 12 Mar 2016 18:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIfRYn066128; Sat, 12 Mar 2016 18:41:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIfRCt066127; Sat, 12 Mar 2016 18:41:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121841.u2CIfRCt066127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296737 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:41:28 -0000 Author: bdrewery Date: Sat Mar 12 18:41:27 2016 New Revision: 296737 URL: https://svnweb.freebsd.org/changeset/base/296737 Log: Follow-up r296709: Fix build32 not properly building all libraries. Pointyhat to: bdrewery Reported by: antoine Modified: head/Makefile.libcompat Modified: head/Makefile.libcompat ============================================================================== --- head/Makefile.libcompat Sat Mar 12 18:40:51 2016 (r296736) +++ head/Makefile.libcompat Sat Mar 12 18:41:27 2016 (r296737) @@ -85,9 +85,9 @@ LIBCOMPATCFLAGS+= --sysroot=${WORLDTMP} .endif _LC_LIBDIRS.yes= lib gnu/lib -_LC_LIBDIRS.${MK_CDDL:tl}= cddl/lib -_LC_LIBDIRS.${MK_CRYPT:tl}= secure/lib -_LC_LIBDIRS.${MK_KERBEROS:tl}= kerberos5/lib +_LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib +_LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib +_LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib # Shared logic build${libcompat}: .PHONY From owner-svn-src-head@freebsd.org Sat Mar 12 18:49:03 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 89011ACC2C6; Sat, 12 Mar 2016 18:49:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54A3E909; Sat, 12 Mar 2016 18:49:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1aeoaz-000CWn-9m; Sat, 12 Mar 2016 19:49:01 +0100 Subject: Re: svn commit: r296720 - head/sys/dev/drm2/i915 To: Konstantin Belousov References: <201603121154.u2CBswhx034030@repo.freebsd.org> <20160312142711.GG1741@kib.kiev.ua> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E46498.8000208@FreeBSD.org> Date: Sat, 12 Mar 2016 19:48:56 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160312142711.GG1741@kib.kiev.ua> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:49:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 12/03/2016 15:27, Konstantin Belousov wrote: > It may be that the time come to remove i915_intr_pf tunable, and always= > take device lock non-interruptible in i915 fault handler. TTM behaves > that way, and I think that situations where I used interruptible page > handlers, AFAIR to kill X or other gem clients in case of OOM, really n= ot > useful to users. Ok, I will follow your advice. Thank you! --=20 Jean-S=E9bastien P=E9dron --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW5GSdXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMrGwQAL0PIFCjdGeQIuegKNqX8pfr MV05kb78VwW9MROc1SmUyAJHmi/n7yXs0uF0mHu7jMd1WyszCdoGeBFYBLqwxhEt Q8mhQ5X5hc5Xz49HH69/5II4n6uR2JhrhyCbGVIaaJM7TYysXvUtaCZpEEf1t7YL n652+nG/3O0MMUPFhZa95PAJT0DDvAcc56bvAyfWLg20d+r50SHBxm/mEahNjwC7 xxinjpQ2+UQFY/qAjJVi2peNrCs/qwAw2dckzE/C9TV9TeVdERSWJav0X7/uww4I 0CjzMTZ47G2+SV5NFk4PFfEwmGz0JcycZgLDp5qQBojaSZLu+WxPmHeC3GdiuCyj klokXmdAbah34tfLFgi5pkyjIQ/EIDTgwjMzd1XILzCOnBeN636e6zvcF3CW1dej 8g9Gz4+L75Zrs1igXbmcb0lkOVpHSjoeiFJtJ7Zi5otMqXaQmuiGZJNipbFBXAPO GhWs9nnUtrEGKRw1QroYlQG3OxBMBBO9THF1sBBGUaMaRrWg37pSRTjwmoyS9L4Q 5srRPl5Kx3dMn1nk1KXBjhhUUBQUOq6ExqO2nokAWIHfILnT5MhGsk5wQqyNpjZt DD4g5sROhURY9KRh2udshKX+xZGeZOiSKg9O8jfTvIp4Ukwflo6haocPyZ/Nx1yB FqVWtEF6XMKZ2xS+5DMW =MzNL -----END PGP SIGNATURE----- --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB-- From owner-svn-src-head@freebsd.org Sat Mar 12 19:05:43 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 040BCACCDA5; Sat, 12 Mar 2016 19:05:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C61261E9; Sat, 12 Mar 2016 19:05:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ5fSL073680; Sat, 12 Mar 2016 19:05:41 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ5fJ5073679; Sat, 12 Mar 2016 19:05:41 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603121905.u2CJ5fJ5073679@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 19:05:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296749 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:05:43 -0000 Author: emaste Date: Sat Mar 12 19:05:41 2016 New Revision: 296749 URL: https://svnweb.freebsd.org/changeset/base/296749 Log: Bump __FreeBSD_version for libelf cross-endian fix in r296685 Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sat Mar 12 19:02:20 2016 (r296748) +++ head/sys/sys/param.h Sat Mar 12 19:05:41 2016 (r296749) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100101 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100102 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Sat Mar 12 19:08:14 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A28D0ACD000; Sat, 12 Mar 2016 19:08:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 752639F6; Sat, 12 Mar 2016 19:08:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ8DYF073985; Sat, 12 Mar 2016 19:08:13 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ8Drd073984; Sat, 12 Mar 2016 19:08:13 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603121908.u2CJ8Drd073984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 19:08:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296753 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:08:14 -0000 Author: emaste Date: Sat Mar 12 19:08:13 2016 New Revision: 296753 URL: https://svnweb.freebsd.org/changeset/base/296753 Log: Bump BOOTSTRAPPING test for libelf after cross-endian fix in r296685 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sat Mar 12 19:07:21 2016 (r296752) +++ head/Makefile.inc1 Sat Mar 12 19:08:13 2016 (r296753) @@ -1272,7 +1272,8 @@ update: # # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. -.if ${BOOTSTRAPPING} < 1100006 +# r296685 fix cross-endian objcopy +.if ${BOOTSTRAPPING} < 1100102 _elftoolchain_libs= lib/libelf lib/libdwarf .endif From owner-svn-src-head@freebsd.org Sat Mar 12 19:41:40 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80F15ACE123; Sat, 12 Mar 2016 19:41:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41621EA8; Sat, 12 Mar 2016 19:41:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJfdOi087113; Sat, 12 Mar 2016 19:41:39 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJfclE087108; Sat, 12 Mar 2016 19:41:38 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121941.u2CJfclE087108@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:41:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296766 - in head/contrib/pjdfstest/tests: . ftruncate open truncate X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:41:40 -0000 Author: ngie Date: Sat Mar 12 19:41:38 2016 New Revision: 296766 URL: https://svnweb.freebsd.org/changeset/base/296766 Log: Better handle filesystems mounted with -o noexec ftruncate/11, open/20, and truncate/11 copy sleep(1) to a temporary file on the target filesystem, execute the binary, then expect a result. This doesn't work with scenarios where the target binary cannot be executed, e.g. the filesystem was mounted with -o noexec. Ensure the filesystem hasn't been mounted with -o noexec for the testcases before executing them. Differential Revision: https://reviews.freebsd.org/D5622 MFC after: 1 week Reviewed by: markj Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/pjdfstest/tests/ftruncate/11.t head/contrib/pjdfstest/tests/misc.sh head/contrib/pjdfstest/tests/open/20.t head/contrib/pjdfstest/tests/truncate/11.t Modified: head/contrib/pjdfstest/tests/ftruncate/11.t ============================================================================== --- head/contrib/pjdfstest/tests/ftruncate/11.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/ftruncate/11.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}" = "FreeBSD" ] || quick_exit +requires_exec + echo "1..2" n0=`namegen` Modified: head/contrib/pjdfstest/tests/misc.sh ============================================================================== --- head/contrib/pjdfstest/tests/misc.sh Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/misc.sh Sat Mar 12 19:41:38 2016 (r296766) @@ -219,3 +219,37 @@ create_file() { expect 0 lchmod ${name} ${3} fi } + +# Tests for whether or not a filesystem is mounted with a particular option +# with -o, e.g. `mount -o noexec`. +# +# Parameters: +# - mount_option - noatime, noexec, etc. +# +# Returns: +# - 0 if mounted with the option. +# - 1 otherwise. +has_mount_option() +{ + local IFS=, + local mount_opt + + local mount_option_search=$1 + + # XXX: mountpoint is defined in .../tests/sys/pjdfstest/tests/conf + for mount_opt in $(mount -d -p | awk '$2 == "'$mountpoint'" { print $4 }'); do + if [ "$mount_opt" = "$mount_option_search" ]; then + return 0 + fi + done + return 1 +} + +# Filesystem must be mounted with -o exec +requires_exec() +{ + if has_mount_option noexec; then + echo "1..0 # SKIP filesystem mounted with -o noexec" + exit 0 + fi +} Modified: head/contrib/pjdfstest/tests/open/20.t ============================================================================== --- head/contrib/pjdfstest/tests/open/20.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/open/20.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit +requires_exec + echo "1..4" n0=`namegen` Modified: head/contrib/pjdfstest/tests/truncate/11.t ============================================================================== --- head/contrib/pjdfstest/tests/truncate/11.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/truncate/11.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}" = "FreeBSD" ] || quick_exit +requires_exec + echo "1..2" n0=`namegen` From owner-svn-src-head@freebsd.org Sat Mar 12 20:05:24 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CF12ACE8DC; Sat, 12 Mar 2016 20:05:24 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 464371B1C; Sat, 12 Mar 2016 20:05:24 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CK5NYA093368; Sat, 12 Mar 2016 20:05:23 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CK5NUm093367; Sat, 12 Mar 2016 20:05:23 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603122005.u2CK5NUm093367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 20:05:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296768 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 20:05:24 -0000 Author: dumbbell Date: Sat Mar 12 20:05:23 2016 New Revision: 296768 URL: https://svnweb.freebsd.org/changeset/base/296768 Log: drm/i915: Import Linux commit 168f83660211b9e059e3bc0638daaa01e9ea0b71 This makes sure the default context of each ring is cleaned up with the ring itself and fixes a memory leak. Author: Mika Kuoppala Date: Fri May 3 16:29:08 2013 +0300 drm/i915: unreference default context on module unload Before module unload is called, gpu_idle() will switch to default context. This will increment ref count of base object as the default context is 'running' on module unload time. Unreference the drm object so that when context is freed, base object is freed as well. v2: added comment to explain the refcounts (Ben Widawsky) Signed-off-by: Mika Kuoppala Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter Obtained from: Linux Modified: head/sys/dev/drm2/i915/i915_gem_context.c Modified: head/sys/dev/drm2/i915/i915_gem_context.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem_context.c Sat Mar 12 19:55:22 2016 (r296767) +++ head/sys/dev/drm2/i915/i915_gem_context.c Sat Mar 12 20:05:23 2016 (r296768) @@ -297,6 +297,14 @@ void i915_gem_context_fini(struct drm_de i915_gem_object_unpin(dev_priv->ring[RCS].default_context->obj); + /* When default context is created and switched to, base object refcount + * will be 2 (+1 from object creation and +1 from do_switch()). + * i915_gem_context_fini() will be called after gpu_idle() has switched + * to default context. So we need to unreference the base object once + * to offset the do_switch part, so that i915_gem_context_unreference() + * can then free the base object correctly. */ + drm_gem_object_unreference(&dev_priv->ring[RCS].default_context->obj->base); + do_destroy(dev_priv->ring[RCS].default_context); } From owner-svn-src-head@freebsd.org Sat Mar 12 21:44:35 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 020CFACEAC2; Sat, 12 Mar 2016 21:44:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC17D6A9; Sat, 12 Mar 2016 21:44:34 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CLiXNv023700; Sat, 12 Mar 2016 21:44:33 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CLiXv5023698; Sat, 12 Mar 2016 21:44:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603122144.u2CLiXv5023698@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 21:44:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296769 - in head/sys/boot/efi: boot1 loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 21:44:35 -0000 Author: emaste Date: Sat Mar 12 21:44:33 2016 New Revision: 296769 URL: https://svnweb.freebsd.org/changeset/base/296769 Log: boot/efi: Prefer nm to objdump Both objdump and nm are equally capable of reporting undefined symbols. This gets us a step closer to building without binutils as we have an nm implementation from ELF Tool Chain. Reviewed by: bdrewery MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5613 Modified: head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/loader/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Sat Mar 12 20:05:23 2016 (r296768) +++ head/sys/boot/efi/boot1/Makefile Sat Mar 12 21:44:33 2016 (r296769) @@ -73,8 +73,8 @@ LDADD+= -lstand DPADD+= ${LDSCRIPT} +NM?= nm OBJCOPY?= objcopy -OBJDUMP?= objdump .if ${MACHINE_CPUARCH} == "amd64" EFI_TARGET= efi-app-x86_64 @@ -85,8 +85,8 @@ EFI_TARGET= binary .endif boot1.efi: ${PROG} - if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ - ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ + if ${NM} ${.ALLSRC} | grep ' U '; then \ + echo "Undefined symbols in ${.ALLSRC}"; \ exit 1; \ fi ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ Modified: head/sys/boot/efi/loader/Makefile ============================================================================== --- head/sys/boot/efi/loader/Makefile Sat Mar 12 20:05:23 2016 (r296768) +++ head/sys/boot/efi/loader/Makefile Sat Mar 12 21:44:33 2016 (r296769) @@ -98,8 +98,8 @@ NEWVERSWHAT= "EFI loader" ${MACHINE} vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../efi/loader/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} +NM?= nm OBJCOPY?= objcopy -OBJDUMP?= objdump .if ${MACHINE_CPUARCH} == "amd64" EFI_TARGET= efi-app-x86_64 @@ -110,8 +110,8 @@ EFI_TARGET= binary .endif loader.efi: ${PROG} - if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ - ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ + if ${NM} ${.ALLSRC} | grep ' U '; then \ + echo "Undefined symbols in ${.ALLSRC}"; \ exit 1; \ fi ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ From owner-svn-src-head@freebsd.org Sat Mar 12 22:21:03 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED63AACD824; Sat, 12 Mar 2016 22:21:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD6CC884; Sat, 12 Mar 2016 22:21:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CML2kE035176; Sat, 12 Mar 2016 22:21:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CML2L6035174; Sat, 12 Mar 2016 22:21:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122221.u2CML2L6035174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:21:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296770 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:21:04 -0000 Author: bdrewery Date: Sat Mar 12 22:21:02 2016 New Revision: 296770 URL: https://svnweb.freebsd.org/changeset/base/296770 Log: Stop looking up these values in every subdir on install. This was slowing down installkernel since it was rerunning this in every module directory. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/config.mk head/sys/conf/kern.opts.mk Modified: head/sys/conf/config.mk ============================================================================== --- head/sys/conf/config.mk Sat Mar 12 21:44:33 2016 (r296769) +++ head/sys/conf/config.mk Sat Mar 12 22:21:02 2016 (r296770) @@ -49,6 +49,7 @@ KERN_OPTS+= INET6 .if ${MK_EISA} != "no" KERN_OPTS+= DEV_EISA .endif -.else +.elif !defined(KERN_OPTS) KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u +.export KERN_OPTS .endif Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Sat Mar 12 21:44:33 2016 (r296769) +++ head/sys/conf/kern.opts.mk Sat Mar 12 22:21:02 2016 (r296770) @@ -144,7 +144,10 @@ MK_${var}:= no MK_${var}_SUPPORT:= no .else .if defined(KERNBUILDDIR) # See if there's an opt_foo.h +.if !defined(OPT_${var}) OPT_${var}!= cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo +.export OPT_${var} +.endif .if ${OPT_${var}} == "" # nothing -> no MK_${var}_SUPPORT:= no .else From owner-svn-src-head@freebsd.org Sat Mar 12 22:21:16 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70DB4ACD978; Sat, 12 Mar 2016 22:21:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 296D79EC; Sat, 12 Mar 2016 22:21:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMLFC8035229; Sat, 12 Mar 2016 22:21:15 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMLE95035226; Sat, 12 Mar 2016 22:21:14 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122221.u2CMLE95035226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:21:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296771 - in head/sys: conf modules X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:21:16 -0000 Author: bdrewery Date: Sat Mar 12 22:21:14 2016 New Revision: 296771 URL: https://svnweb.freebsd.org/changeset/base/296771 Log: Reduce duplicated logic from r291744. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/config.mk head/sys/conf/kmod.mk head/sys/modules/Makefile Modified: head/sys/conf/config.mk ============================================================================== --- head/sys/conf/config.mk Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/conf/config.mk Sat Mar 12 22:21:14 2016 (r296771) @@ -53,3 +53,8 @@ KERN_OPTS+= DEV_EISA KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u .export KERN_OPTS .endif + +.if !defined(__MPATH) +__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m +.export __MPATH +.endif Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/conf/kmod.mk Sat Mar 12 22:21:14 2016 (r296771) @@ -386,11 +386,7 @@ vnode_if_typedef.h: .endif # Build _if.[ch] from _if.m, and clean them when we're done. -# This is duplicated in sys/modules/Makefile. -.if !defined(__MPATH) -__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m -.export __MPATH -.endif +# __MPATH defined in config.mk _MFILES=${__MPATH:T:O} _MPATH=${__MPATH:H:O:u} .PATH.m: ${_MPATH} Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/modules/Makefile Sat Mar 12 22:21:14 2016 (r296771) @@ -775,12 +775,6 @@ afterinstall: .include "${SYSDIR}/conf/config.mk" -# Use sys/conf/kmod.mk's MPATH to avoid redundantly running in every subdir. -.if !defined(__MPATH) -__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m -.export __MPATH -.endif - SUBDIR:= ${SUBDIR:u:O} .include From owner-svn-src-head@freebsd.org Sat Mar 12 22:25:11 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7BED9ACDAE1; Sat, 12 Mar 2016 22:25:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DCCCD1A; Sat, 12 Mar 2016 22:25:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMPAIq036085; Sat, 12 Mar 2016 22:25:10 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMPAiN036084; Sat, 12 Mar 2016 22:25:10 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122225.u2CMPAiN036084@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:25:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296772 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:25:11 -0000 Author: bdrewery Date: Sat Mar 12 22:25:10 2016 New Revision: 296772 URL: https://svnweb.freebsd.org/changeset/base/296772 Log: Enable FAST_DEPEND by default. Missed in r296668. Discussed on: arch Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/kern.opts.mk Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Sat Mar 12 22:21:14 2016 (r296771) +++ head/sys/conf/kern.opts.mk Sat Mar 12 22:25:10 2016 (r296772) @@ -30,6 +30,7 @@ __DEFAULT_YES_OPTIONS = \ CDDL \ CRYPT \ CUSE \ + FAST_DEPEND \ FORMAT_EXTENSIONS \ INET \ INET6 \ @@ -45,7 +46,6 @@ __DEFAULT_YES_OPTIONS = \ __DEFAULT_NO_OPTIONS = \ EISA \ - FAST_DEPEND \ NAND \ OFED From owner-svn-src-head@freebsd.org Sat Mar 12 22:53:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4BD0BACE51C; Sat, 12 Mar 2016 22:53:48 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB658D6B; Sat, 12 Mar 2016 22:53:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMrkWI045335; Sat, 12 Mar 2016 22:53:46 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMrkPm045334; Sat, 12 Mar 2016 22:53:46 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603122253.u2CMrkPm045334@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 22:53:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296773 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:53:48 -0000 Author: jhb Date: Sat Mar 12 22:53:46 2016 New Revision: 296773 URL: https://svnweb.freebsd.org/changeset/base/296773 Log: Do not include system call wrappers in libc for old FreeBSD system calls. The base system libc is only used to run binaries built on FreeBSD 7.0 and later. It does not need to include system call wrappers for system calls only used by FreeBSD binaries built on versions older than 7.0. This was already true for "COMPAT" system calls, but now wrappers for system calls used on FreeBSD 4 and 6 are excluded as well. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5597 Modified: head/sys/kern/makesyscalls.sh Modified: head/sys/kern/makesyscalls.sh ============================================================================== --- head/sys/kern/makesyscalls.sh Sat Mar 12 22:25:10 2016 (r296772) +++ head/sys/kern/makesyscalls.sh Sat Mar 12 22:53:46 2016 (r296773) @@ -131,7 +131,7 @@ s/\$//g printf "/*\n * System call numbers.\n *\n" > syshdr printf " * DO NOT EDIT-- this file is automatically generated.\n" > syshdr printf " * $%s$\n", "FreeBSD" > syshdr - printf "# FreeBSD system call names.\n" > sysmk + printf "# FreeBSD system call object files.\n" > sysmk printf "# DO NOT EDIT-- this file is automatically generated.\n" > sysmk printf "# $%s$\n", "FreeBSD" > sysmk @@ -559,9 +559,9 @@ s/\$//g printf("/* %d = %s %s */\n", syscall, descr, funcalias) > sysent printf("\t\"%s.%s\",\t\t/* %d = %s %s */\n", wrap, funcalias, syscall, descr, funcalias) > sysnames - if (flag("COMPAT")) { - printf("\t\t\t\t/* %d is old %s */\n", - syscall, funcalias) > syshdr + if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6")) { + printf("\t\t\t\t/* %d is %s %s */\n", + syscall, descr, funcalias) > syshdr } else if (!flag("NODEF")) { printf("#define\t%s%s%s\t%d\n", syscallprefix, prefix, funcalias, syscall) > syshdr From owner-svn-src-head@freebsd.org Sat Mar 12 22:55:09 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2E520ACE59E; Sat, 12 Mar 2016 22:55:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 055A9EFD; Sat, 12 Mar 2016 22:55:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMt7NS045444; Sat, 12 Mar 2016 22:55:07 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMt7ua045441; Sat, 12 Mar 2016 22:55:07 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603122255.u2CMt7ua045441@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 22:55:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296774 - in head/sys: compat/freebsd32 sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:55:09 -0000 Author: jhb Date: Sat Mar 12 22:55:07 2016 New Revision: 296774 URL: https://svnweb.freebsd.org/changeset/base/296774 Log: Regen. Modified: head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/sys/syscall.h head/sys/sys/syscall.mk Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Sat Mar 12 22:55:07 2016 (r296774) @@ -24,7 +24,7 @@ #define FREEBSD32_SYS_chmod 15 #define FREEBSD32_SYS_chown 16 #define FREEBSD32_SYS_break 17 -#define FREEBSD32_SYS_freebsd4_freebsd32_getfsstat 18 + /* 18 is freebsd4 freebsd32_getfsstat */ /* 19 is old freebsd32_lseek */ #define FREEBSD32_SYS_getpid 20 #define FREEBSD32_SYS_mount 21 @@ -155,8 +155,8 @@ /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ /* 156 is old freebsd32_getdirentries */ -#define FREEBSD32_SYS_freebsd4_freebsd32_statfs 157 -#define FREEBSD32_SYS_freebsd4_freebsd32_fstatfs 158 + /* 157 is freebsd4 freebsd32_statfs */ + /* 158 is freebsd4 freebsd32_fstatfs */ #define FREEBSD32_SYS_getfh 161 /* 162 is obsolete getdomainname */ /* 163 is obsolete setdomainname */ @@ -166,8 +166,8 @@ #define FREEBSD32_SYS_freebsd32_semsys 169 #define FREEBSD32_SYS_freebsd32_msgsys 170 #define FREEBSD32_SYS_freebsd32_shmsys 171 -#define FREEBSD32_SYS_freebsd6_freebsd32_pread 173 -#define FREEBSD32_SYS_freebsd6_freebsd32_pwrite 174 + /* 173 is freebsd6 freebsd32_pread */ + /* 174 is freebsd6 freebsd32_pwrite */ #define FREEBSD32_SYS_ntp_adjtime 176 #define FREEBSD32_SYS_setgid 181 #define FREEBSD32_SYS_setegid 182 @@ -180,11 +180,11 @@ #define FREEBSD32_SYS_getrlimit 194 #define FREEBSD32_SYS_setrlimit 195 #define FREEBSD32_SYS_freebsd32_getdirentries 196 -#define FREEBSD32_SYS_freebsd6_freebsd32_mmap 197 + /* 197 is freebsd6 freebsd32_mmap */ #define FREEBSD32_SYS___syscall 198 -#define FREEBSD32_SYS_freebsd6_freebsd32_lseek 199 -#define FREEBSD32_SYS_freebsd6_freebsd32_truncate 200 -#define FREEBSD32_SYS_freebsd6_freebsd32_ftruncate 201 + /* 199 is freebsd6 freebsd32_lseek */ + /* 200 is freebsd6 freebsd32_truncate */ + /* 201 is freebsd6 freebsd32_ftruncate */ #define FREEBSD32_SYS_freebsd32_sysctl 202 #define FREEBSD32_SYS_mlock 203 #define FREEBSD32_SYS_munlock 204 @@ -234,7 +234,7 @@ #define FREEBSD32_SYS_nlstat 280 #define FREEBSD32_SYS_freebsd32_preadv 289 #define FREEBSD32_SYS_freebsd32_pwritev 290 -#define FREEBSD32_SYS_freebsd4_freebsd32_fhstatfs 297 + /* 297 is freebsd4 freebsd32_fhstatfs */ #define FREEBSD32_SYS_fhopen 298 #define FREEBSD32_SYS_fhstat 299 #define FREEBSD32_SYS_modnext 300 @@ -255,9 +255,9 @@ #define FREEBSD32_SYS_freebsd32_aio_suspend 315 #define FREEBSD32_SYS_aio_cancel 316 #define FREEBSD32_SYS_freebsd32_aio_error 317 -#define FREEBSD32_SYS_freebsd6_freebsd32_aio_read 318 -#define FREEBSD32_SYS_freebsd6_freebsd32_aio_write 319 -#define FREEBSD32_SYS_freebsd6_freebsd32_lio_listio 320 + /* 318 is freebsd6 freebsd32_aio_read */ + /* 319 is freebsd6 freebsd32_aio_write */ + /* 320 is freebsd6 freebsd32_lio_listio */ #define FREEBSD32_SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ @@ -273,14 +273,14 @@ #define FREEBSD32_SYS_sched_get_priority_min 333 #define FREEBSD32_SYS_sched_rr_get_interval 334 #define FREEBSD32_SYS_utrace 335 -#define FREEBSD32_SYS_freebsd4_freebsd32_sendfile 336 + /* 336 is freebsd4 freebsd32_sendfile */ #define FREEBSD32_SYS_kldsym 337 #define FREEBSD32_SYS_freebsd32_jail 338 #define FREEBSD32_SYS_sigprocmask 340 #define FREEBSD32_SYS_sigsuspend 341 -#define FREEBSD32_SYS_freebsd4_freebsd32_sigaction 342 + /* 342 is freebsd4 freebsd32_sigaction */ #define FREEBSD32_SYS_sigpending 343 -#define FREEBSD32_SYS_freebsd4_freebsd32_sigreturn 344 + /* 344 is freebsd4 freebsd32_sigreturn */ #define FREEBSD32_SYS_freebsd32_sigtimedwait 345 #define FREEBSD32_SYS_freebsd32_sigwaitinfo 346 #define FREEBSD32_SYS___acl_get_file 347 Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/sys/syscall.h Sat Mar 12 22:55:07 2016 (r296774) @@ -24,7 +24,7 @@ #define SYS_chmod 15 #define SYS_chown 16 #define SYS_break 17 -#define SYS_freebsd4_getfsstat 18 + /* 18 is freebsd4 getfsstat */ /* 19 is old lseek */ #define SYS_getpid 20 #define SYS_mount 21 @@ -157,20 +157,20 @@ #define SYS_nlm_syscall 154 #define SYS_nfssvc 155 /* 156 is old getdirentries */ -#define SYS_freebsd4_statfs 157 -#define SYS_freebsd4_fstatfs 158 + /* 157 is freebsd4 statfs */ + /* 158 is freebsd4 fstatfs */ #define SYS_lgetfh 160 #define SYS_getfh 161 -#define SYS_freebsd4_getdomainname 162 -#define SYS_freebsd4_setdomainname 163 -#define SYS_freebsd4_uname 164 + /* 162 is freebsd4 getdomainname */ + /* 163 is freebsd4 setdomainname */ + /* 164 is freebsd4 uname */ #define SYS_sysarch 165 #define SYS_rtprio 166 #define SYS_semsys 169 #define SYS_msgsys 170 #define SYS_shmsys 171 -#define SYS_freebsd6_pread 173 -#define SYS_freebsd6_pwrite 174 + /* 173 is freebsd6 pread */ + /* 174 is freebsd6 pwrite */ #define SYS_setfib 175 #define SYS_ntp_adjtime 176 #define SYS_setgid 181 @@ -184,11 +184,11 @@ #define SYS_getrlimit 194 #define SYS_setrlimit 195 #define SYS_getdirentries 196 -#define SYS_freebsd6_mmap 197 + /* 197 is freebsd6 mmap */ #define SYS___syscall 198 -#define SYS_freebsd6_lseek 199 -#define SYS_freebsd6_truncate 200 -#define SYS_freebsd6_ftruncate 201 + /* 199 is freebsd6 lseek */ + /* 200 is freebsd6 truncate */ + /* 201 is freebsd6 ftruncate */ #define SYS___sysctl 202 #define SYS_mlock 203 #define SYS_munlock 204 @@ -239,7 +239,7 @@ #define SYS_nlstat 280 #define SYS_preadv 289 #define SYS_pwritev 290 -#define SYS_freebsd4_fhstatfs 297 + /* 297 is freebsd4 fhstatfs */ #define SYS_fhopen 298 #define SYS_fhstat 299 #define SYS_modnext 300 @@ -260,9 +260,9 @@ #define SYS_aio_suspend 315 #define SYS_aio_cancel 316 #define SYS_aio_error 317 -#define SYS_freebsd6_aio_read 318 -#define SYS_freebsd6_aio_write 319 -#define SYS_freebsd6_lio_listio 320 + /* 318 is freebsd6 aio_read */ + /* 319 is freebsd6 aio_write */ + /* 320 is freebsd6 lio_listio */ #define SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ @@ -278,15 +278,15 @@ #define SYS_sched_get_priority_min 333 #define SYS_sched_rr_get_interval 334 #define SYS_utrace 335 -#define SYS_freebsd4_sendfile 336 + /* 336 is freebsd4 sendfile */ #define SYS_kldsym 337 #define SYS_jail 338 #define SYS_nnpfs_syscall 339 #define SYS_sigprocmask 340 #define SYS_sigsuspend 341 -#define SYS_freebsd4_sigaction 342 + /* 342 is freebsd4 sigaction */ #define SYS_sigpending 343 -#define SYS_freebsd4_sigreturn 344 + /* 344 is freebsd4 sigreturn */ #define SYS_sigtimedwait 345 #define SYS_sigwaitinfo 346 #define SYS___acl_get_file 347 Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/sys/syscall.mk Sat Mar 12 22:55:07 2016 (r296774) @@ -1,4 +1,4 @@ -# FreeBSD system call names. +# FreeBSD system call object files. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ # created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb @@ -19,7 +19,6 @@ MIASM = \ chmod.o \ chown.o \ break.o \ - freebsd4_getfsstat.o \ getpid.o \ mount.o \ unmount.o \ @@ -109,20 +108,13 @@ MIASM = \ quotactl.o \ nlm_syscall.o \ nfssvc.o \ - freebsd4_statfs.o \ - freebsd4_fstatfs.o \ lgetfh.o \ getfh.o \ - freebsd4_getdomainname.o \ - freebsd4_setdomainname.o \ - freebsd4_uname.o \ sysarch.o \ rtprio.o \ semsys.o \ msgsys.o \ shmsys.o \ - freebsd6_pread.o \ - freebsd6_pwrite.o \ setfib.o \ ntp_adjtime.o \ setgid.o \ @@ -136,11 +128,7 @@ MIASM = \ getrlimit.o \ setrlimit.o \ getdirentries.o \ - freebsd6_mmap.o \ __syscall.o \ - freebsd6_lseek.o \ - freebsd6_truncate.o \ - freebsd6_ftruncate.o \ __sysctl.o \ mlock.o \ munlock.o \ @@ -191,7 +179,6 @@ MIASM = \ nlstat.o \ preadv.o \ pwritev.o \ - freebsd4_fhstatfs.o \ fhopen.o \ fhstat.o \ modnext.o \ @@ -211,9 +198,6 @@ MIASM = \ aio_suspend.o \ aio_cancel.o \ aio_error.o \ - freebsd6_aio_read.o \ - freebsd6_aio_write.o \ - freebsd6_lio_listio.o \ yield.o \ mlockall.o \ munlockall.o \ @@ -227,15 +211,12 @@ MIASM = \ sched_get_priority_min.o \ sched_rr_get_interval.o \ utrace.o \ - freebsd4_sendfile.o \ kldsym.o \ jail.o \ nnpfs_syscall.o \ sigprocmask.o \ sigsuspend.o \ - freebsd4_sigaction.o \ sigpending.o \ - freebsd4_sigreturn.o \ sigtimedwait.o \ sigwaitinfo.o \ __acl_get_file.o \ From owner-svn-src-head@freebsd.org Sat Mar 12 23:02:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C4922ACE7CA; Sat, 12 Mar 2016 23:02:54 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 864CD12CF; Sat, 12 Mar 2016 23:02:54 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CN2rs5048334; Sat, 12 Mar 2016 23:02:53 GMT (envelope-from gibbs@FreeBSD.org) Received: (from gibbs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CN2rVC048333; Sat, 12 Mar 2016 23:02:53 GMT (envelope-from gibbs@FreeBSD.org) Message-Id: <201603122302.u2CN2rVC048333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gibbs set sender to gibbs@FreeBSD.org using -f From: "Justin T. Gibbs" Date: Sat, 12 Mar 2016 23:02:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296775 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:02:55 -0000 Author: gibbs Date: Sat Mar 12 23:02:53 2016 New Revision: 296775 URL: https://svnweb.freebsd.org/changeset/base/296775 Log: Provide high precision conversion from ns,us,ms -> sbintime in kevent In timer2sbintime(), calculate the second and fractional second portions of the sbintime separately. When calculating the the fractional second portion, use a 64bit multiply to prevent excess truncation. This avoids the ~7% error in the original conversion for ns, and smaller errors of the same type for us and ms. PR: 198139 Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5397 Modified: head/sys/kern/kern_event.c Modified: head/sys/kern/kern_event.c ============================================================================== --- head/sys/kern/kern_event.c Sat Mar 12 22:55:07 2016 (r296774) +++ head/sys/kern/kern_event.c Sat Mar 12 23:02:53 2016 (r296775) @@ -564,34 +564,59 @@ knote_fork(struct knlist *list, int pid) #define NOTE_TIMER_PRECMASK (NOTE_SECONDS|NOTE_MSECONDS|NOTE_USECONDS| \ NOTE_NSECONDS) -static __inline sbintime_t +static sbintime_t timer2sbintime(intptr_t data, int flags) { - sbintime_t modifier; + /* + * Macros for converting to the fractional second portion of an + * sbintime_t using 64bit multiplication to improve precision. + */ +#define NS_TO_SBT(ns) (((ns) * (((uint64_t)1 << 63) / 500000000)) >> 32) +#define US_TO_SBT(us) (((us) * (((uint64_t)1 << 63) / 500000)) >> 32) +#define MS_TO_SBT(ms) (((ms) * (((uint64_t)1 << 63) / 500)) >> 32) switch (flags & NOTE_TIMER_PRECMASK) { case NOTE_SECONDS: - modifier = SBT_1S; - break; +#ifdef __LP64__ + if (data > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return ((sbintime_t)data << 32); case NOTE_MSECONDS: /* FALLTHROUGH */ case 0: - modifier = SBT_1MS; - break; + if (data >= 1000) { + int64_t secs = data / 1000; +#ifdef __LP64__ + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return (secs << 32 | MS_TO_SBT(data % 1000)); + } + return MS_TO_SBT(data); case NOTE_USECONDS: - modifier = SBT_1US; - break; + if (data >= 1000000) { + int64_t secs = data / 1000000; +#ifdef __LP64__ + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return (secs << 32 | US_TO_SBT(data % 1000000)); + } + return US_TO_SBT(data); case NOTE_NSECONDS: - modifier = SBT_1NS; - break; - default: - return (-1); - } - + if (data >= 1000000000) { + int64_t secs = data / 1000000000; #ifdef __LP64__ - if (data > SBT_MAX / modifier) - return (SBT_MAX); + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; #endif - return (modifier * data); + return (secs << 32 | US_TO_SBT(data % 1000000000)); + } + return NS_TO_SBT(data); + default: + break; + } + return (-1); } static void From owner-svn-src-head@freebsd.org Sat Mar 12 23:04:11 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 929ABACE891; Sat, 12 Mar 2016 23:04:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 60044153D; Sat, 12 Mar 2016 23:04:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CN4AiY048434; Sat, 12 Mar 2016 23:04:10 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CN4A8e048433; Sat, 12 Mar 2016 23:04:10 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603122304.u2CN4A8e048433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 12 Mar 2016 23:04:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296776 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:04:11 -0000 Author: mav Date: Sat Mar 12 23:04:10 2016 New Revision: 296776 URL: https://svnweb.freebsd.org/changeset/base/296776 Log: dd report short write as error, so don't halt on it. Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Sat Mar 12 23:02:53 2016 (r296775) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Sat Mar 12 23:04:10 2016 (r296776) @@ -619,9 +619,9 @@ wipe_metadata() local SIZE="`diskinfo ${1} | awk '{print int($3/(1024*1024)) }'`" if [ "$SIZE" -gt "5" ] ; then rc_halt "dd if=/dev/zero of=${1} bs=1m count=1" - rc_halt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" + rc_nohalt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" else - rc_halt "dd if=/dev/zero of=${1} bs=128k" + rc_nohalt "dd if=/dev/zero of=${1} bs=128k" fi } ; From owner-svn-src-head@freebsd.org Sat Mar 12 23:25:07 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CF7CACEF96; Sat, 12 Mar 2016 23:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64495A0; Sat, 12 Mar 2016 23:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNP6fr054507; Sat, 12 Mar 2016 23:25:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNP6Ta054503; Sat, 12 Mar 2016 23:25:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603122325.u2CNP6Ta054503@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 12 Mar 2016 23:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296779 - in head: . lib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:25:07 -0000 Author: imp Date: Sat Mar 12 23:25:05 2016 New Revision: 296779 URL: https://svnweb.freebsd.org/changeset/base/296779 Log: Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no. Modified: head/Makefile head/Makefile.inc1 head/Makefile.libcompat head/lib/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile Sat Mar 12 23:25:05 2016 (r296779) @@ -125,7 +125,8 @@ TGTS= all all-man buildenv buildenvvars obj objlink rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ - build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ + build32 distribute32 install32 build32 distribute32 install32 \ + builddtb xdev xdev-build xdev-install \ xdev-links native-xtools installconfig \ TGTS+= ${SUBDIR_TARGETS} Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile.inc1 Sat Mar 12 23:25:05 2016 (r296779) @@ -458,6 +458,9 @@ XCXXFLAGS+= ${BFLAGS} ${TARGET_ARCH} == "powerpc64") LIBCOMPAT= 32 .include "Makefile.libcompat" +.elif ${MK_LIBSOFT} != "no" && ${TARGET_ARCH} == "armv6" +LIBCOMPAT= SOFT +.include "Makefile.libcompat" .endif WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} Modified: head/Makefile.libcompat ============================================================================== --- head/Makefile.libcompat Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile.libcompat Sat Mar 12 23:25:05 2016 (r296779) @@ -40,10 +40,19 @@ LIB32DTRACE= ${DTRACE} -32 LIB32WMAKEFLAGS+= -DCOMPAT_32BIT # ------------------------------------------------------------------- +# soft-fp world +.if ${TARGET_ARCH} == "armv6" +LIBSOFTCFLAGS= -DCOMPAT_SOFTFP +LIBSOFTCPUFLAGS= -mfloat-abi=softfp +LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6 +LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP +.endif + +# ------------------------------------------------------------------- # Generic code for each type. # Set defaults based on type. libcompat= ${LIBCOMPAT:tl} -_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CFLAGS WMAKEENV WMAKEFLAGS WMAKE +_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS WMAKEENV WMAKEFLAGS WMAKE .for _var in ${_LIBCOMPAT_MAKEVARS} .if !empty(LIB${LIBCOMPAT}${_var}) LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}} Modified: head/lib/Makefile ============================================================================== --- head/lib/Makefile Sat Mar 12 23:12:23 2016 (r296778) +++ head/lib/Makefile Sat Mar 12 23:25:05 2016 (r296779) @@ -172,7 +172,7 @@ _libbsnmp= libbsnmp _libcasper= libcasper .endif -.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) +.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) _clang= clang .endif From owner-svn-src-head@freebsd.org Sat Mar 12 23:38:28 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A96FACD83C; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 4D728970; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 45D1719F9; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 088991E645; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id SThB9iWYMq_U; Sat, 12 Mar 2016 23:38:25 +0000 (UTC) Subject: Re: svn commit: r296779 - in head: . lib DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 44D521E63F To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603122325.u2CNP6Ta054503@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E4A876.2020906@FreeBSD.org> Date: Sat, 12 Mar 2016 15:38:30 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603122325.u2CNP6Ta054503@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wfXvqISkRrEAnOrJJjl3fHklmarHglexL" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:38:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wfXvqISkRrEAnOrJJjl3fHklmarHglexL Content-Type: multipart/mixed; boundary="jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF" From: Bryan Drewery To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E4A876.2020906@FreeBSD.org> Subject: Re: svn commit: r296779 - in head: . lib References: <201603122325.u2CNP6Ta054503@repo.freebsd.org> In-Reply-To: <201603122325.u2CNP6Ta054503@repo.freebsd.org> --jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/12/2016 3:25 PM, Warner Losh wrote: > Author: imp > Date: Sat Mar 12 23:25:05 2016 > New Revision: 296779 > URL: https://svnweb.freebsd.org/changeset/base/296779 >=20 > Log: > Use the newly minted Makefile.libcompat to implement libsoft librarie= s > for the armv6 ABI switch. This also make WITH_LIBSOFT functional on > the arm platform. As a transition thing, this seems to work even > without switching the ABI (we basically build the same libraries > twice when MK_LIBSOFT=3Dyes until the ABI cut over next > month). MK_LIBSOFT remains default no. >=20 > Modified: > head/Makefile > head/Makefile.inc1 > head/Makefile.libcompat > head/lib/Makefile >=20 > Modified: head/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Makefile Sat Mar 12 23:12:23 2016 (r296778) > +++ head/Makefile Sat Mar 12 23:25:05 2016 (r296779) > @@ -125,7 +125,8 @@ TGTS=3D all all-man buildenv buildenvvars=20 > obj objlink rerelease showconfig tags toolchain update \ > _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ > _build-tools _cross-tools _includes _libraries _depend \ > - build32 builddtb distribute32 install32 xdev xdev-build xdev-install = \ > + build32 distribute32 install32 build32 distribute32 install32 \ oops oops --=20 Regards, Bryan Drewery --jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF-- --wfXvqISkRrEAnOrJJjl3fHklmarHglexL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW5Kh2AAoJEDXXcbtuRpfP52UIAMIa36mQkdlAzBfZ1veOl6gX hJ3rtlU2GcQrMifuKPcNKzqkeLTqqEh884jZArmMTju4c78ZD3yOOqdHT4sk3BTT QLPyhZRixHy0f4Ov9weso1e061Wpp9oVOuM6chIE8X0lg4c/fwes1/piudqwLEhP L7/cZIm1W85ry5S3aOsfFwthf26ECn6ZrULRQt/sb3xNfYYCoLnnbRDbqHY3wbk+ BMeill2gHB7FLO2N5el4O3RFlSrpRyA61aQ8n5g2V0IKTHjKGGrkOVmxbsZluf/0 ZfnccJpAdxFPBKuT05iH5h5yrp5yVBtHTrLlbNwrahnq3TCfKLbC06rJkT2Ff1U= =cWLJ -----END PGP SIGNATURE----- --wfXvqISkRrEAnOrJJjl3fHklmarHglexL--