From owner-p4-projects@FreeBSD.ORG Thu Nov 17 01:01:56 2011 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 564371065676; Thu, 17 Nov 2011 01:01:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17ED21065674 for ; Thu, 17 Nov 2011 01:01:56 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 043548FC17 for ; Thu, 17 Nov 2011 01:01:56 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id pAH11tNV003719 for ; Thu, 17 Nov 2011 01:01:55 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id pAH11tN9003711 for perforce@freebsd.org; Thu, 17 Nov 2011 01:01:55 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 17 Nov 2011 01:01:55 GMT Message-Id: <201111170101.pAH11tN9003711@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 201779 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Nov 2011 01:01:56 -0000 http://p4web.freebsd.org/@@201779?ac=10 Change 201779 by mjacob@mjacob-sandbox on 2011/11/17 01:01:37 IFC Affected files ... .. //depot/projects/mjacob-dev/contrib/bind9/CHANGES#7 integrate .. //depot/projects/mjacob-dev/contrib/bind9/bin/named/query.c#6 integrate .. //depot/projects/mjacob-dev/contrib/bind9/lib/dns/rbtdb.c#6 integrate .. //depot/projects/mjacob-dev/contrib/bind9/version#7 integrate .. //depot/projects/mjacob-dev/contrib/gcc/config/rs6000/freebsd.h#4 integrate .. //depot/projects/mjacob-dev/share/man/man4/Makefile#11 integrate .. //depot/projects/mjacob-dev/share/man/man4/sfxge.4#1 branch .. //depot/projects/mjacob-dev/share/man/man9/lock.9#2 integrate .. //depot/projects/mjacob-dev/share/man/man9/mutex.9#3 integrate .. //depot/projects/mjacob-dev/share/man/man9/rmlock.9#2 integrate .. //depot/projects/mjacob-dev/share/man/man9/rwlock.9#2 integrate .. //depot/projects/mjacob-dev/share/man/man9/stack.9#2 integrate .. //depot/projects/mjacob-dev/share/man/man9/sx.9#2 integrate .. //depot/projects/mjacob-dev/sys/conf/files#14 integrate .. //depot/projects/mjacob-dev/sys/dev/isp/isp.c#7 integrate .. //depot/projects/mjacob-dev/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfi_cam.c#5 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfi_debug.c#2 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfi_disk.c#2 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfi_pci.c#2 integrate .. //depot/projects/mjacob-dev/sys/dev/mfi/mfivar.h#4 integrate .. //depot/projects/mjacob-dev/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/mjacob-dev/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/mjacob-dev/sys/dev/re/if_re.c#8 integrate .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efsys.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_bootcfg.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_ev.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_filter.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_impl.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_intr.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_mac.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_mcdi.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_mcdi.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_mon.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_nic.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_nvram.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_phy.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_port.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_regs.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_regs_ef10.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_regs_mcdi.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_regs_pci.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_rx.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_sram.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_tx.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_types.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_vpd.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/efx_wol.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_flash.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_impl.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_mac.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_mon.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_nic.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_nvram.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_phy.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_sram.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/common/siena_vpd.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_dma.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_ev.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_intr.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_mcdi.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_port.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_rx.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_rx.h#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_tx.c#1 branch .. //depot/projects/mjacob-dev/sys/dev/sfxge/sfxge_tx.h#1 branch .. //depot/projects/mjacob-dev/sys/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/mjacob-dev/sys/kern/kern_lock.c#6 integrate .. //depot/projects/mjacob-dev/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/mjacob-dev/sys/kern/kern_rmlock.c#4 integrate .. //depot/projects/mjacob-dev/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/mjacob-dev/sys/kern/kern_sx.c#5 integrate .. //depot/projects/mjacob-dev/sys/kern/subr_stack.c#3 integrate .. //depot/projects/mjacob-dev/sys/kern/subr_witness.c#5 integrate .. //depot/projects/mjacob-dev/sys/modules/Makefile#12 integrate .. //depot/projects/mjacob-dev/sys/modules/sfxge/Makefile#1 branch .. //depot/projects/mjacob-dev/sys/pci/if_rlreg.h#6 integrate .. //depot/projects/mjacob-dev/sys/powerpc/aim/slb.c#4 integrate .. //depot/projects/mjacob-dev/sys/sparc64/sbus/lsi64854.c#5 integrate .. //depot/projects/mjacob-dev/sys/sys/lock.h#2 integrate .. //depot/projects/mjacob-dev/sys/sys/lockmgr.h#2 integrate .. //depot/projects/mjacob-dev/sys/sys/mutex.h#3 integrate .. //depot/projects/mjacob-dev/sys/sys/rmlock.h#2 integrate .. //depot/projects/mjacob-dev/sys/sys/rwlock.h#2 integrate .. //depot/projects/mjacob-dev/sys/sys/stack.h#2 integrate .. //depot/projects/mjacob-dev/sys/sys/sx.h#3 integrate .. //depot/projects/mjacob-dev/sys/vm/vm_contig.c#6 integrate .. //depot/projects/mjacob-dev/sys/vm/vm_page.c#11 integrate .. //depot/projects/mjacob-dev/sys/vm/vm_page.h#9 integrate .. //depot/projects/mjacob-dev/sys/vm/vm_phys.c#5 integrate .. //depot/projects/mjacob-dev/sys/vm/vm_phys.h#3 integrate .. //depot/projects/mjacob-dev/usr.bin/comm/comm.1#3 integrate Differences ... ==== //depot/projects/mjacob-dev/contrib/bind9/CHANGES#7 (text+ko) ==== @@ -1,3 +1,9 @@ + --- 9.8.1-P1 released --- + +3218. [security] Cache lookup could return RRSIG data associated with + nonexistent records, leading to an assertion + failure. [RT #26590] + --- 9.8.1 released --- --- 9.8.1rc1 released --- ==== //depot/projects/mjacob-dev/contrib/bind9/bin/named/query.c#6 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: query.c,v 1.353.8.11 2011-06-09 03:14:03 marka Exp $ */ +/* $Id: query.c,v 1.353.8.11.4.1 2011-11-16 09:32:08 marka Exp $ */ /*! \file */ @@ -1393,11 +1393,9 @@ goto addname; if (result == DNS_R_NCACHENXRRSET) { dns_rdataset_disassociate(rdataset); - /* - * Negative cache entries don't have sigrdatasets. - */ - INSIST(sigrdataset == NULL || - ! dns_rdataset_isassociated(sigrdataset)); + if (sigrdataset != NULL && + dns_rdataset_isassociated(sigrdataset)) + dns_rdataset_disassociate(sigrdataset); } if (result == ISC_R_SUCCESS) { mname = NULL; @@ -1438,8 +1436,9 @@ goto addname; if (result == DNS_R_NCACHENXRRSET) { dns_rdataset_disassociate(rdataset); - INSIST(sigrdataset == NULL || - ! dns_rdataset_isassociated(sigrdataset)); + if (sigrdataset != NULL && + dns_rdataset_isassociated(sigrdataset)) + dns_rdataset_disassociate(sigrdataset); } if (result == ISC_R_SUCCESS) { mname = NULL; @@ -1889,10 +1888,8 @@ goto setcache; if (result == DNS_R_NCACHENXRRSET) { dns_rdataset_disassociate(rdataset); - /* - * Negative cache entries don't have sigrdatasets. - */ - INSIST(! dns_rdataset_isassociated(sigrdataset)); + if (dns_rdataset_isassociated(sigrdataset)) + dns_rdataset_disassociate(sigrdataset); } if (result == ISC_R_SUCCESS) { /* Remember the result as a cache */ ==== //depot/projects/mjacob-dev/contrib/bind9/lib/dns/rbtdb.c#6 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rbtdb.c,v 1.310.8.5 2011-06-08 23:02:42 each Exp $ */ +/* $Id: rbtdb.c,v 1.310.8.5.4.1 2011-11-16 09:32:08 marka Exp $ */ /*! \file */ @@ -5053,7 +5053,7 @@ rdataset); if (need_headerupdate(found, search.now)) update = found; - if (foundsig != NULL) { + if (!NEGATIVE(found) && foundsig != NULL) { bind_rdataset(search.rbtdb, node, foundsig, search.now, sigrdataset); if (need_headerupdate(foundsig, search.now)) @@ -5685,7 +5685,7 @@ } if (found != NULL) { bind_rdataset(rbtdb, rbtnode, found, now, rdataset); - if (foundsig != NULL) + if (!NEGATIVE(found) && foundsig != NULL) bind_rdataset(rbtdb, rbtnode, foundsig, now, sigrdataset); } ==== //depot/projects/mjacob-dev/contrib/bind9/version#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $Id: version,v 1.53.8.9 2011-08-24 02:08:26 marka Exp $ +# $Id: version,v 1.53.8.9.6.1 2011-11-16 09:32:07 marka Exp $ # # This file must follow /bin/sh rules. It is imported directly via # configure. @@ -6,5 +6,5 @@ MAJORVER=9 MINORVER=8 PATCHVER=1 -RELEASETYPE= -RELEASEVER= +RELEASETYPE=-P +RELEASEVER=1 ==== //depot/projects/mjacob-dev/contrib/gcc/config/rs6000/freebsd.h#4 (text+ko) ==== @@ -253,3 +253,22 @@ #undef NEED_INDICATE_EXEC_STACK #define NEED_INDICATE_EXEC_STACK 1 + +/* This is how to declare the size of a function. */ +#undef ASM_DECLARE_FUNCTION_SIZE +#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ + do \ + { \ + if (!flag_inhibit_size_directive) \ + { \ + fputs ("\t.size\t", (FILE)); \ + if (TARGET_64BIT && DOT_SYMBOLS) \ + putc ('.', (FILE)); \ + assemble_name ((FILE), (FNAME)); \ + fputs (",.-", (FILE)); \ + rs6000_output_function_entry (FILE, FNAME); \ + putc ('\n', (FILE)); \ + } \ + } \ + while (0) + ==== //depot/projects/mjacob-dev/share/man/man4/Makefile#11 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.513 2011/11/03 21:20:22 bz Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.514 2011/11/16 17:11:13 philip Exp $ MAN= aac.4 \ acpi.4 \ @@ -377,6 +377,7 @@ send.4 \ ses.4 \ sf.4 \ + sfxge.4 \ sge.4 \ si.4 \ siba.4 \ ==== //depot/projects/mjacob-dev/share/man/man9/lock.9#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/lock.9,v 1.35 2009/06/17 01:55:42 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.36 2011/11/16 21:51:17 pjd Exp $ .\" -.Dd June 16, 2009 +.Dd November 16, 2011 .Dt LOCK 9 .Os .Sh NAME @@ -60,20 +60,20 @@ .Ft void .Fn lockmgr_disown "struct lock *lkp" .Ft void -.Fn lockmgr_printinfo "struct lock *lkp" +.Fn lockmgr_printinfo "const struct lock *lkp" .Ft int -.Fn lockmgr_recursed "struct lock *lkp" +.Fn lockmgr_recursed "const struct lock *lkp" .Ft int .Fn lockmgr_rw "struct lock *lkp" "u_int flags" "struct rwlock *ilk" .Ft int -.Fn lockmgr_waiters "struct lock *lkp" +.Fn lockmgr_waiters "const struct lock *lkp" .Ft int -.Fn lockstatus "struct lock *lkp" +.Fn lockstatus "const struct lock *lkp" .Pp .Cd "options INVARIANTS" .Cd "options INVARIANT_SUPPORT" .Ft void -.Fn lockmgr_assert "struct lock *lkp" "int what" +.Fn lockmgr_assert "const struct lock *lkp" "int what" .Sh DESCRIPTION The .Fn lockinit ==== //depot/projects/mjacob-dev/share/man/man9/mutex.9#3 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" from BSDI $Id: mutex.4,v 1.1.2.3 1998/04/27 22:53:13 ewv Exp $ -.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.56 2011/01/06 21:14:34 jhb Exp $ +.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.57 2011/11/16 21:51:17 pjd Exp $ .\" -.Dd December 21, 2006 +.Dd November 16, 2011 .Dt MUTEX 9 .Os .Sh NAME @@ -83,16 +83,16 @@ .Ft int .Fn mtx_sleep "void *chan" "struct mtx *mtx" "int priority" "const char *wmesg" "int timo" .Ft int -.Fn mtx_initialized "struct mtx *mutex" +.Fn mtx_initialized "const struct mtx *mutex" .Ft int -.Fn mtx_owned "struct mtx *mutex" +.Fn mtx_owned "const struct mtx *mutex" .Ft int -.Fn mtx_recursed "struct mtx *mutex" +.Fn mtx_recursed "const struct mtx *mutex" .Pp .Cd "options INVARIANTS" .Cd "options INVARIANT_SUPPORT" .Ft void -.Fn mtx_assert "struct mtx *mutex" "int what" +.Fn mtx_assert "const struct mtx *mutex" "int what" .In sys/kernel.h .Fn MTX_SYSINIT "name" "struct mtx *mtx" "const char *description" "int opts" .Sh DESCRIPTION ==== //depot/projects/mjacob-dev/share/man/man9/rmlock.9#2 (text+ko) ==== @@ -23,10 +23,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rmlock.9,v 1.6 2010/09/01 19:50:03 mlaier Exp $ +.\" $FreeBSD: src/share/man/man9/rmlock.9,v 1.7 2011/11/16 21:51:17 pjd Exp $ .\" .\" Based on rwlock.9 man page -.Dd November 10, 2007 +.Dd November 16, 2011 .Dt RMLOCK 9 .Os .Sh NAME @@ -63,7 +63,7 @@ .Ft void .Fn rm_wunlock "struct rmlock *rm" .Ft int -.Fn rm_wowned "struct rmlock *rm" +.Fn rm_wowned "const struct rmlock *rm" .In sys/kernel.h .Fn RM_SYSINIT "name" "struct rmlock *rm" "const char *desc" "int opts" .Sh DESCRIPTION @@ -208,7 +208,7 @@ The .Fa rm lock must be unlocked. -.It Fn rm_wowned "struct rmlock *rm" +.It Fn rm_wowned "const struct rmlock *rm" This function returns a non-zero value if the current thread owns an exclusive lock on .Fa rm . ==== //depot/projects/mjacob-dev/share/man/man9/rwlock.9#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rwlock.9,v 1.15 2008/04/01 20:56:45 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/rwlock.9,v 1.16 2011/11/16 21:51:17 pjd Exp $ .\" -.Dd April 1, 2008 +.Dd November 16, 2011 .Dt RWLOCK 9 .Os .Sh NAME @@ -78,14 +78,14 @@ .Ft int .Fn rw_sleep "void *chan" "struct rwlock *rw" "int priority" "const char *wmesg" "int timo" .Ft int -.Fn rw_initialized "struct rwlock *rw" +.Fn rw_initialized "const struct rwlock *rw" .Ft int -.Fn rw_wowned "struct rwlock *rw" +.Fn rw_wowned "const struct rwlock *rw" .Pp .Cd "options INVARIANTS" .Cd "options INVARIANT_SUPPORT" .Ft void -.Fn rw_assert "struct rwlock *rw" "int what" +.Fn rw_assert "const struct rwlock *rw" "int what" .In sys/kernel.h .Fn RW_SYSINIT "name" "struct rwlock *rw" "const char *desc" .Sh DESCRIPTION @@ -231,7 +231,7 @@ For more details on the parameters to this function, see .Xr sleep 9 . -.It Fn rw_initialized "struct rwlock *rw" +.It Fn rw_initialized "const struct rwlock *rw" This function returns non-zero if .Fa rw has been initialized, and zero otherwise. @@ -241,11 +241,11 @@ The .Fa rw lock must be unlocked. -.It Fn rw_wowned "struct rwlock *rw" +.It Fn rw_wowned "const struct rwlock *rw" This function returns a non-zero value if the current thread owns an exclusive lock on .Fa rw . -.It Fn rw_assert "struct rwlock *rw" "int what" +.It Fn rw_assert "const struct rwlock *rw" "int what" This function allows assertions specified in .Fa what to be made about ==== //depot/projects/mjacob-dev/share/man/man9/stack.9#2 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/stack.9,v 1.8 2010/04/07 19:13:31 emaste Exp $ +.\" $FreeBSD: src/share/man/man9/stack.9,v 1.9 2011/11/16 19:06:55 pjd Exp $ .\" -.Dd June 24, 2009 +.Dd November 16, 2011 .Dt STACK 9 .Os .Sh NAME @@ -46,21 +46,21 @@ .Ft int .Fn stack_put "struct stack *st" "vm_offset_t pc" .Ft void -.Fn stack_copy "struct stack *src" "struct stack dst" +.Fn stack_copy "const struct stack *src" "struct stack dst" .Ft void .Fn stack_zero "struct stack *st" .Ft void -.Fn stack_print "struct stack *st" +.Fn stack_print "const struct stack *st" .Ft void -.Fn stack_print_ddb "struct stack *st" +.Fn stack_print_ddb "const struct stack *st" .Ft void -.Fn stack_print_short "struct stack *st" +.Fn stack_print_short "const struct stack *st" .Ft void -.Fn stack_print_short_ddb "struct stack *st" +.Fn stack_print_short_ddb "const struct stack *st" .Ft void -.Fn stack_sbuf_print "struct sbuf sb*" "struct stack *st" +.Fn stack_sbuf_print "struct sbuf sb*" "const struct stack *st" .Ft void -.Fn stack_sbuf_print_ddb "struct sbuf sb*" "struct stack *st" +.Fn stack_sbuf_print_ddb "struct sbuf sb*" "const struct stack *st" .Ft void .Fn stack_save "struct stack *st" .Sh DESCRIPTION ==== //depot/projects/mjacob-dev/share/man/man9/sx.9#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sx.9,v 1.44 2009/05/29 01:49:27 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/sx.9,v 1.45 2011/11/16 21:51:17 pjd Exp $ .\" -.Dd May 28, 2009 +.Dd November 16, 2011 .Dt SX 9 .Os .Sh NAME @@ -88,12 +88,12 @@ .Ft "struct thread *" .Fn sx_xholder "struct sx *sx" .Ft int -.Fn sx_xlocked "struct sx *sx" +.Fn sx_xlocked "const struct sx *sx" .Pp .Cd "options INVARIANTS" .Cd "options INVARIANT_SUPPORT" .Ft void -.Fn sx_assert "struct sx *sx" "int what" +.Fn sx_assert "const struct sx *sx" "int what" .In sys/kernel.h .Fn SX_SYSINIT "name" "struct sx *sx" "const char *description" .Sh DESCRIPTION ==== //depot/projects/mjacob-dev/sys/conf/files#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1616 2011/11/01 21:26:57 marius Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1617 2011/11/16 17:11:13 philip Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1675,6 +1675,37 @@ dev/scd/scd_isa.c optional scd isa dev/sdhci/sdhci.c optional sdhci pci dev/sf/if_sf.c optional sf pci +dev/sfxge/common/efx_bootcfg.c optional sfxge inet pci +dev/sfxge/common/efx_ev.c optional sfxge inet pci +dev/sfxge/common/efx_filter.c optional sfxge inet pci +dev/sfxge/common/efx_intr.c optional sfxge inet pci +dev/sfxge/common/efx_mac.c optional sfxge inet pci +dev/sfxge/common/efx_mcdi.c optional sfxge inet pci +dev/sfxge/common/efx_mon.c optional sfxge inet pci +dev/sfxge/common/efx_nic.c optional sfxge inet pci +dev/sfxge/common/efx_nvram.c optional sfxge inet pci +dev/sfxge/common/efx_phy.c optional sfxge inet pci +dev/sfxge/common/efx_port.c optional sfxge inet pci +dev/sfxge/common/efx_rx.c optional sfxge inet pci +dev/sfxge/common/efx_sram.c optional sfxge inet pci +dev/sfxge/common/efx_tx.c optional sfxge inet pci +dev/sfxge/common/efx_vpd.c optional sfxge inet pci +dev/sfxge/common/efx_wol.c optional sfxge inet pci +dev/sfxge/common/siena_mac.c optional sfxge inet pci +dev/sfxge/common/siena_mon.c optional sfxge inet pci +dev/sfxge/common/siena_nic.c optional sfxge inet pci +dev/sfxge/common/siena_nvram.c optional sfxge inet pci +dev/sfxge/common/siena_phy.c optional sfxge inet pci +dev/sfxge/common/siena_sram.c optional sfxge inet pci +dev/sfxge/common/siena_vpd.c optional sfxge inet pci +dev/sfxge/sfxge.c optional sfxge inet pci +dev/sfxge/sfxge_dma.c optional sfxge inet pci +dev/sfxge/sfxge_ev.c optional sfxge inet pci +dev/sfxge/sfxge_intr.c optional sfxge inet pci +dev/sfxge/sfxge_mcdi.c optional sfxge inet pci +dev/sfxge/sfxge_port.c optional sfxge inet pci +dev/sfxge/sfxge_rx.c optional sfxge inet pci +dev/sfxge/sfxge_tx.c optional sfxge inet pci dev/sge/if_sge.c optional sge pci dev/si/si.c optional si dev/si/si2_z280.c optional si ==== //depot/projects/mjacob-dev/sys/dev/isp/isp.c#7 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.167 2011/08/13 23:34:17 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.168 2011/11/16 02:52:24 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -748,11 +748,13 @@ if (dodnld && IS_24XX(isp)) { const uint32_t *ptr = isp->isp_mdvec->dv_ispfw; + int wordload; /* * Keep loading until we run out of f/w. */ code_org = ptr[2]; /* 1st load address is our start addr */ + wordload = 0; for (;;) { uint32_t la, wi, wl; @@ -777,6 +779,7 @@ wl--; } MEMORYBARRIER(isp, SYNC_REQUEST, 0, ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp)), -1); + again: ISP_MEMZERO(&mbs, sizeof (mbs)); if (la < 0x10000 && nw < 0x10000) { mbs.param[0] = MBOX_LOAD_RISC_RAM_2100; @@ -786,6 +789,23 @@ mbs.param[4] = nw; mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); + isp_prt(isp, ISP_LOGDEBUG0, "LOAD RISC RAM 2100 %u words at load address 0x%x", nw, la); + } else if (wordload) { + union { + const uint32_t *cp; + uint32_t *np; + } ucd; + ucd.cp = (const uint32_t *)cp; + mbs.param[0] = MBOX_WRITE_RAM_WORD_EXTENDED; + mbs.param[1] = la; + mbs.param[2] = (*ucd.np); + mbs.param[3] = (*ucd.np) >> 16; + mbs.param[8] = la >> 16; + isp->isp_mbxwrk0 = nw - 1; + isp->isp_mbxworkp = ucd.np+1; + isp->isp_mbxwrk1 = (la + 1); + isp->isp_mbxwrk8 = (la + 1) >> 16; + isp_prt(isp, ISP_LOGDEBUG0, "WRITE RAM WORD EXTENDED %u words at load address 0x%x", nw, la); } else { mbs.param[0] = MBOX_LOAD_RISC_RAM; mbs.param[1] = la; @@ -796,10 +816,16 @@ mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); mbs.param[8] = la >> 16; + isp_prt(isp, ISP_LOGDEBUG0, "LOAD RISC RAM %u words at load address 0x%x", nw, la); } mbs.logval = MBLOGALL; isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { + if (mbs.param[0] == MBOX_HOST_INTERFACE_ERROR) { + isp_prt(isp, ISP_LOGERR, "switching to word load"); + wordload = 1; + goto again; + } isp_prt(isp, ISP_LOGERR, "F/W Risc Ram Load Failed"); ISP_RESET0(isp); return; @@ -855,6 +881,7 @@ mbs.param[4] = nw; mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); + isp_prt(isp, ISP_LOGDEBUG1, "LOAD RISC RAM 2100 %u words at load address 0x%x\n", nw, la); } else { mbs.param[0] = MBOX_LOAD_RISC_RAM; mbs.param[1] = la; @@ -864,6 +891,7 @@ mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); mbs.param[8] = la >> 16; + isp_prt(isp, ISP_LOGDEBUG1, "LOAD RISC RAM %u words at load address 0x%x\n", nw, la); } mbs.logval = MBLOGALL; isp_mboxcmd(isp, &mbs); @@ -910,6 +938,7 @@ mbs.param[1] = code_org; mbs.param[2] = ucd.np[0]; mbs.logval = MBLOGNONE; + isp_prt(isp, ISP_LOGDEBUG1, "WRITE RAM %u words at load address 0x%x\n", ucd.np[3], code_org); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { isp_prt(isp, ISP_LOGERR, "F/W download failed at word %d", isp->isp_mbxwrk1 - code_org); @@ -6589,23 +6618,39 @@ mbs.param[1] = isp->isp_mbxwrk1++; break; case MBOX_WRITE_RAM_WORD_EXTENDED: + if (IS_24XX(isp)) { + uint32_t *lptr = (uint32_t *)ptr; + mbs.param[2] = lptr[0]; + mbs.param[3] = lptr[0] >> 16; + lptr++; + ptr = (uint16_t *)lptr; + } else { + mbs.param[2] = *ptr++; + } offset = isp->isp_mbxwrk1; offset |= isp->isp_mbxwrk8 << 16; - - mbs.param[2] = *ptr++; mbs.param[1] = offset; mbs.param[8] = offset >> 16; - isp->isp_mbxwrk1 = ++offset; + offset++; + isp->isp_mbxwrk1 = offset; isp->isp_mbxwrk8 = offset >> 16; break; case MBOX_READ_RAM_WORD_EXTENDED: + if (IS_24XX(isp)) { + uint32_t *lptr = (uint32_t *)ptr; + uint32_t val = isp->isp_mboxtmp[2]; + val |= (isp->isp_mboxtmp[3]) << 16; + *lptr++ = val; + ptr = (uint16_t *)lptr; + } else { + *ptr++ = isp->isp_mboxtmp[2]; + } offset = isp->isp_mbxwrk1; offset |= isp->isp_mbxwrk8 << 16; - - *ptr++ = isp->isp_mboxtmp[2]; mbs.param[1] = offset; mbs.param[8] = offset >> 16; - isp->isp_mbxwrk1 = ++offset; + offset++; + isp->isp_mbxwrk1 = offset; isp->isp_mbxwrk8 = offset >> 16; break; } @@ -6830,7 +6875,7 @@ ISPOPMAP(0x00, 0x00), /* 0x0c: */ ISPOPMAP(0x10f, 0x01), /* 0x0d: MBOX_WRITE_RAM_WORD_EXTENDED */ ISPOPMAP(0x01, 0x05), /* 0x0e: MBOX_CHECK_FIRMWARE */ - ISPOPMAP(0x10f, 0x05), /* 0x0f: MBOX_READ_RAM_WORD_EXTENDED */ + ISPOPMAP(0x103, 0x0d), /* 0x0f: MBOX_READ_RAM_WORD_EXTENDED */ ISPOPMAP(0x1f, 0x11), /* 0x10: MBOX_INIT_REQ_QUEUE */ ISPOPMAP(0x2f, 0x21), /* 0x11: MBOX_INIT_RES_QUEUE */ ISPOPMAP(0x0f, 0x01), /* 0x12: MBOX_EXECUTE_IOCB */ @@ -6962,13 +7007,13 @@ "MAILBOX REG TEST", "VERIFY CHECKSUM", "ABOUT FIRMWARE", - "LOAD RAM", + "LOAD RAM (2100)", "DUMP RAM", + "LOAD RISC RAM", + NULL, "WRITE RAM WORD EXTENDED", - NULL, + "CHECK FIRMWARE", "READ RAM WORD EXTENDED", - "CHECK FIRMWARE", - NULL, "INIT REQUEST QUEUE", "INIT RESULT QUEUE", "EXECUTE IOCB", ==== //depot/projects/mjacob-dev/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.158 2011/08/13 23:34:17 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.159 2011/11/16 02:52:24 mjacob Exp $"); #include #include @@ -1458,6 +1458,7 @@ imushp->error = EINVAL; return; } + isp_prt(imushp->isp, ISP_LOGDEBUG0, "request/result area @ 0x%jx/0x%jx", (uintmax_t) segs->ds_addr, (uintmax_t) segs->ds_len); imushp->isp->isp_rquest = imushp->vbase; imushp->isp->isp_rquest_dma = segs->ds_addr; segs->ds_addr += ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(imushp->isp)); @@ -1487,6 +1488,7 @@ imushp->error = EINVAL; return; } + isp_prt(imushp->isp, ISP_LOGDEBUG0, "scdma @ 0x%jx/0x%jx", (uintmax_t) segs->ds_addr, (uintmax_t) segs->ds_len); FCPARAM(imushp->isp, imushp->chan)->isp_scdma = segs->ds_addr; FCPARAM(imushp->isp, imushp->chan)->isp_scratch = imushp->vbase; } ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfi.c#7 (text) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.62 2011/11/09 21:53:49 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.63 2011/11/16 15:39:27 jhb Exp $"); #include "opt_mfi.h" @@ -117,7 +117,7 @@ static void mfi_issue_cmd_xscale(struct mfi_softc *sc,uint32_t bus_add,uint32_t frame_cnt); static void mfi_issue_cmd_ppc(struct mfi_softc *sc,uint32_t bus_add,uint32_t frame_cnt); -static SYSCTL_NODE(_hw, OID_AUTO, mfi, CTLFLAG_RD, 0, "MFI driver parameters"); +SYSCTL_NODE(_hw, OID_AUTO, mfi, CTLFLAG_RD, 0, "MFI driver parameters"); static int mfi_event_locale = MFI_EVT_LOCALE_ALL; TUNABLE_INT("hw.mfi.event_locale", &mfi_event_locale); SYSCTL_INT(_hw_mfi, OID_AUTO, event_locale, CTLFLAG_RW, &mfi_event_locale, @@ -484,15 +484,8 @@ mtx_unlock(&sc->mfi_io_lock); /* - * Set up the interrupt handler. XXX This should happen in - * mfi_pci.c + * Set up the interrupt handler. */ - sc->mfi_irq_rid = 0; - if ((sc->mfi_irq = bus_alloc_resource_any(sc->mfi_dev, SYS_RES_IRQ, - &sc->mfi_irq_rid, RF_SHAREABLE | RF_ACTIVE)) == NULL) { - device_printf(sc->mfi_dev, "Cannot allocate interrupt\n"); - return (EINVAL); - } if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq, INTR_MPSAFE|INTR_TYPE_BIO, NULL, mfi_intr, sc, &sc->mfi_intr)) { device_printf(sc->mfi_dev, "Cannot set up interrupt\n"); ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfi_cam.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_cam.c,v 1.7 2011/10/13 20:06:19 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_cam.c,v 1.8 2011/11/16 15:39:27 jhb Exp $"); #include "opt_mfi.h" @@ -45,6 +45,7 @@ #include #include #include +#include #include #include ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfi_debug.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_debug.c,v 1.3 2006/10/16 04:18:38 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_debug.c,v 1.4 2011/11/16 18:42:39 kib Exp $"); #include "opt_mfi.h" @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfi_disk.c#2 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_disk.c,v 1.8 2008/11/17 23:30:19 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_disk.c,v 1.9 2011/11/16 15:39:27 jhb Exp $"); #include "opt_mfi.h" @@ -35,6 +35,7 @@ #include #include #include +#include #include #include ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfi_pci.c#2 (text) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_pci.c,v 1.16 2010/03/02 17:34:11 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_pci.c,v 1.17 2011/11/16 15:39:27 jhb Exp $"); /* PCI/PCI-X/PCIe bus interface for the LSI MegaSAS controllers */ @@ -66,6 +66,7 @@ #include #include #include +#include #include #include @@ -107,6 +108,11 @@ DRIVER_MODULE(mfi, pci, mfi_pci_driver, mfi_devclass, 0, 0); MODULE_VERSION(mfi, 1); +static int mfi_msi = 0; +TUNABLE_INT("hw.mfi.msi", &mfi_msi); +SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0, + "Enable use of MSI interrupts"); + struct mfi_ident { uint16_t vendor; uint16_t device; @@ -169,7 +175,7 @@ struct mfi_softc *sc; struct mfi_ident *m; uint32_t command; - int error; + int count, error; sc = device_get_softc(dev); bzero(sc, sizeof(*sc)); @@ -226,6 +232,20 @@ goto out; } + /* Allocate IRQ resource. */ + sc->mfi_irq_rid = 0; + count = 1; + if (mfi_msi && pci_alloc_msi(sc->mfi_dev, &count) == 0) { + device_printf(sc->mfi_dev, "Using MSI\n"); + sc->mfi_irq_rid = 1; + } + if ((sc->mfi_irq = bus_alloc_resource_any(sc->mfi_dev, SYS_RES_IRQ, + &sc->mfi_irq_rid, RF_SHAREABLE | RF_ACTIVE)) == NULL) { + device_printf(sc->mfi_dev, "Cannot allocate interrupt\n"); + error = EINVAL; + goto out; + } + error = mfi_attach(sc); out: if (error) { @@ -280,6 +300,8 @@ bus_release_resource(sc->mfi_dev, SYS_RES_MEMORY, sc->mfi_regs_rid, sc->mfi_regs_resource); } + if (sc->mfi_irq_rid != 0) + pci_release_msi(sc->mfi_dev); return; } ==== //depot/projects/mjacob-dev/sys/dev/mfi/mfivar.h#4 (text) ==== @@ -54,7 +54,7 @@ #define _MFIVAR_H #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfivar.h,v 1.15 2011/10/29 06:26:49 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfivar.h,v 1.16 2011/11/16 15:39:27 jhb Exp $"); #include #include @@ -395,6 +395,7 @@ (sc)->mfi_bhandle, (reg)) MALLOC_DECLARE(M_MFIBUF); +SYSCTL_DECL(_hw_mfi); #define MFI_CMD_TIMEOUT 30 #define MFI_MAXPHYS (128 * 1024) ==== //depot/projects/mjacob-dev/sys/dev/msk/if_msk.c#7 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.118 2011/10/17 19:49:00 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.119 2011/11/16 19:25:26 yongari Exp $"); #include #include @@ -700,7 +700,7 @@ { struct msk_ring_data *rd; struct msk_rxdesc *rxd; - int i, prod; + int i, nbuf, prod; MSK_IF_LOCK_ASSERT(sc_if); @@ -710,11 +710,18 @@ rd = &sc_if->msk_rdata; bzero(rd->msk_rx_ring, sizeof(struct msk_rx_desc) * MSK_RX_RING_CNT); - prod = sc_if->msk_cdata.msk_rx_prod; - i = 0; + for (i = prod = 0; i < MSK_RX_RING_CNT; i++) { + rxd = &sc_if->msk_cdata.msk_rxdesc[prod]; + rxd->rx_m = NULL; + rxd->rx_le = &rd->msk_rx_ring[prod]; + MSK_INC(prod, MSK_RX_RING_CNT); + } + nbuf = MSK_RX_BUF_CNT; + prod = 0; /* Have controller know how to compute Rx checksum. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && (sc_if->msk_ifp->if_capenable & IFCAP_RXCSUM) != 0) { +#ifdef MSK_64BIT_DMA rxd = &sc_if->msk_cdata.msk_rxdesc[prod]; rxd->rx_m = NULL; rxd->rx_le = &rd->msk_rx_ring[prod]; @@ -723,15 +730,21 @@ rxd->rx_le->msk_control = htole32(OP_TCPSTART | HW_OWNER); MSK_INC(prod, MSK_RX_RING_CNT); MSK_INC(sc_if->msk_cdata.msk_rx_cons, MSK_RX_RING_CNT); - i++; - } - for (; i < MSK_RX_RING_CNT; i++) { +#endif rxd = &sc_if->msk_cdata.msk_rxdesc[prod]; rxd->rx_m = NULL; rxd->rx_le = &rd->msk_rx_ring[prod]; + rxd->rx_le->msk_addr = htole32(ETHER_HDR_LEN << 16 | + ETHER_HDR_LEN); + rxd->rx_le->msk_control = htole32(OP_TCPSTART | HW_OWNER); + MSK_INC(prod, MSK_RX_RING_CNT); + MSK_INC(sc_if->msk_cdata.msk_rx_cons, MSK_RX_RING_CNT); + nbuf--; + } + for (i = 0; i < nbuf; i++) { if (msk_newbuf(sc_if, prod) != 0) return (ENOBUFS); >>> TRUNCATED FOR MAIL (1000 lines) <<<