From owner-p4-projects@FreeBSD.ORG Sun Feb 10 01:06:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7282B16A41A; Sun, 10 Feb 2008 01:06:02 +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 2D8B916A46B for ; Sun, 10 Feb 2008 01:06:02 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E36913C457 for ; Sun, 10 Feb 2008 01:06:02 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1A161tm026119 for ; Sun, 10 Feb 2008 01:06:01 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1A1610O026116 for perforce@freebsd.org; Sun, 10 Feb 2008 01:06:01 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 10 Feb 2008 01:06:01 GMT Message-Id: <200802100106.m1A1610O026116@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 135132 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 01:06:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=135132 Change 135132 by kmacy@kmacy:storage:toehead on 2008/02/10 01:05:03 t3_cancel_ubuf should be checking against SBS_CANTRCVMORE Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#10 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#10 (text+ko) ==== @@ -384,13 +384,14 @@ struct ddp_state *p = &toep->tp_ddp_state; int ubuf_pending = t3_ddp_ubuf_pending(toep); struct socket *so = toeptoso(toep); + int err = 0, count=0; if (p->ubuf == NULL) return; SOCKBUF_LOCK_ASSERT(&so->so_rcv); p->cancel_ubuf = 1; - while (ubuf_pending && !(so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED))) { + while (ubuf_pending && !(so->so_rcv.sb_state & SBS_CANTRCVMORE)) { #ifdef T3_TRACE T3_TRACE3(TB(p), "t3_cancel_ubuf: flags0 0x%x flags1 0x%x get_tcb_count %d", @@ -405,17 +406,18 @@ p->get_tcb_count); if (p->get_tcb_count == 0) t3_cancel_ddpbuf(toep, p->cur_buf); - else { - int err = 0, count=0; - while (p->get_tcb_count && !(so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED))) { - if (count & 0xffff) - CTR4(KTR_TCB, "waiting err=%d get_tcb_count=%d timeo=%d so=%p\n", - err, p->get_tcb_count, so->so_rcv.sb_timeo, so); - count++; - err = sbwait(&so->so_rcv); - } + else + CTR5(KTR_TOM, "waiting err=%d get_tcb_count=%d timeo=%d so=%p SBS_CANTRCVMORE=%d", + err, p->get_tcb_count, so->so_rcv.sb_timeo, so, + !!(so->so_rcv.sb_state & SBS_CANTRCVMORE)); + + while (p->get_tcb_count && !(so->so_rcv.sb_state & SBS_CANTRCVMORE)) { + if (count & 0xfffffff) + CTR5(KTR_TOM, "waiting err=%d get_tcb_count=%d timeo=%d so=%p count=%d", + err, p->get_tcb_count, so->so_rcv.sb_timeo, so, count); + count++; + err = sbwait(&so->so_rcv); } - ubuf_pending = t3_ddp_ubuf_pending(toep); } p->cancel_ubuf = 0; From owner-p4-projects@FreeBSD.ORG Sun Feb 10 06:39:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4F4116A468; Sun, 10 Feb 2008 06:39:50 +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 523C616A417 for ; Sun, 10 Feb 2008 06:39:50 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B02413C442 for ; Sun, 10 Feb 2008 06:39:50 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1A6dovh062387 for ; Sun, 10 Feb 2008 06:39:50 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1A6dnPY062383 for perforce@freebsd.org; Sun, 10 Feb 2008 06:39:49 GMT (envelope-from sephe@FreeBSD.org) Date: Sun, 10 Feb 2008 06:39:49 GMT Message-Id: <200802100639.m1A6dnPY062383@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135134 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 06:39:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=135134 Change 135134 by sephe@sephe_enigma:sam_wifi on 2008/02/10 06:38:58 Add et(4) for AGERE ET1310 fastE and gigE. Add truephy for AGERE TruePHY. Jumbo frame support will be added later. m_defrag() on TX path will be changed to m_collapse() later. Tested with gigE part. Sponsored by: iXsystems Affected files ... .. //depot/projects/wifi/sys/conf/files#64 edit .. //depot/projects/wifi/sys/conf/files.i386#33 edit .. //depot/projects/wifi/sys/dev/et/bitops.h#1 add .. //depot/projects/wifi/sys/dev/et/if_et.c#1 add .. //depot/projects/wifi/sys/dev/et/if_etreg.h#1 add .. //depot/projects/wifi/sys/dev/et/if_etvar.h#1 add .. //depot/projects/wifi/sys/dev/mii/miidevs#13 edit .. //depot/projects/wifi/sys/dev/mii/truephy.c#1 add .. //depot/projects/wifi/sys/dev/mii/truephyreg.h#1 add .. //depot/projects/wifi/sys/modules/Makefile#47 edit .. //depot/projects/wifi/sys/modules/et/Makefile#1 add .. //depot/projects/wifi/sys/modules/mii/Makefile#7 edit Differences ... ==== //depot/projects/wifi/sys/conf/files#64 (text+ko) ==== @@ -808,6 +808,7 @@ dev/mii/ruephy.c optional miibus | ruephy dev/mii/tdkphy.c optional miibus | tdkphy dev/mii/tlphy.c optional miibus | tlphy +dev/mii/truephy.c optional miibus | truephy dev/mii/ukphy.c optional miibus | mii dev/mii/ukphy_subr.c optional miibus | mii dev/mii/xmphy.c optional miibus | xmphy ==== //depot/projects/wifi/sys/conf/files.i386#33 (text+ko) ==== @@ -181,6 +181,7 @@ dev/ed/if_ed_wd80x3.c optional ed isa dev/ed/if_ed_hpp.c optional ed isa ed_hpp dev/ed/if_ed_sic.c optional ed isa ed_sic +dev/et/if_et.c optional et pci dev/fb/fb.c optional fb | vga dev/fb/vga.c optional vga dev/fdc/fdc.c optional fdc ==== //depot/projects/wifi/sys/dev/mii/miidevs#13 (text+ko) ==== @@ -49,6 +49,7 @@ * mangled accordingly to compensate. */ +oui AGERE 0x00a0bc Agere Systems oui ALTIMA 0x0010a9 Altima Communications oui AMD 0x00001a Advanced Micro Devices oui BROADCOM 0x001018 Broadcom Corporation @@ -102,6 +103,9 @@ * List of known models. Grouped by oui. */ +/* Agere Systems PHYs */ +model AGERE ET1011C 0x0004 ET1011C 10/100/1000baseT PHY + /* Altima Communications PHYs */ model xxALTIMA AC101 0x0021 AC101 10/100 media interface model xxALTIMA AC101L 0x0012 AC101L 10/100 media interface ==== //depot/projects/wifi/sys/modules/Makefile#47 (text+ko) ==== @@ -77,6 +77,7 @@ ${_elink} \ ${_em} \ en \ + et \ ${_ep} \ ${_ex} \ ${_exca} \ ==== //depot/projects/wifi/sys/modules/mii/Makefile#7 (text+ko) ==== @@ -7,8 +7,8 @@ SRCS+= e1000phy.c exphy.c gentbi.c icsphy.c inphy.c ip1000phy.c SRCS+= lxtphy.c miibus_if.c miibus_if.h mii.c miidevs.h mii_physubr.c SRCS+= mlphy.c nsgphy.c nsphy.c nsphyter.c pci_if.h pnaphy.c qsphy.c -SRCS+= rgephy.c rlphy.c ruephy.c tdkphy.c tlphy.c ukphy.c ukphy_subr.c -SRCS+= xmphy.c +SRCS+= rgephy.c rlphy.c ruephy.c tdkphy.c tlphy.c truephy.c +SRCS+= ukphy.c ukphy_subr.c xmphy.c EXPORT_SYMS= mii_mediachg \ mii_phy_probe \ From owner-p4-projects@FreeBSD.ORG Sun Feb 10 08:06:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85C7516A46C; Sun, 10 Feb 2008 08:06:23 +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 4A4EE16A469 for ; Sun, 10 Feb 2008 08:06:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3118D13C461 for ; Sun, 10 Feb 2008 08:06:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1A86NnG069496 for ; Sun, 10 Feb 2008 08:06:23 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1A86L3w069493 for perforce@freebsd.org; Sun, 10 Feb 2008 08:06:21 GMT (envelope-from sephe@FreeBSD.org) Date: Sun, 10 Feb 2008 08:06:21 GMT Message-Id: <200802100806.m1A86L3w069493@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135137 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 08:06:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=135137 Change 135137 by sephe@sephe_enigma:sam_wifi on 2008/02/10 08:06:11 IFC Affected files ... .. //depot/projects/wifi/ObsoleteFiles.inc#26 integrate .. //depot/projects/wifi/UPDATING#38 integrate .. //depot/projects/wifi/bin/date/date.c#3 integrate .. //depot/projects/wifi/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/wifi/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/wifi/crypto/openssh/FREEBSD-upgrade#6 integrate .. //depot/projects/wifi/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/wifi/etc/namedb/named.root#3 integrate .. //depot/projects/wifi/include/pthread_np.h#5 integrate .. //depot/projects/wifi/lib/libc/include/namespace.h#4 integrate .. //depot/projects/wifi/lib/libc/include/un-namespace.h#4 integrate .. //depot/projects/wifi/lib/libc/stdlib/malloc.c#12 integrate .. //depot/projects/wifi/lib/libfetch/common.c#4 integrate .. //depot/projects/wifi/lib/libfetch/fetch.3#7 integrate .. //depot/projects/wifi/lib/libfetch/ftp.c#8 integrate .. //depot/projects/wifi/lib/libfetch/http.c#8 integrate .. //depot/projects/wifi/lib/libkse/Makefile#2 integrate .. //depot/projects/wifi/lib/libkse/kse.map#2 integrate .. //depot/projects/wifi/lib/libkse/thread/thr_mutex.c#2 integrate .. //depot/projects/wifi/lib/libthr/Makefile#17 integrate .. //depot/projects/wifi/lib/libthr/pthread.map#12 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_mutex.c#11 integrate .. //depot/projects/wifi/lib/msun/ld128/s_exp2l.c#2 integrate .. //depot/projects/wifi/lib/msun/ld80/s_exp2l.c#2 integrate .. //depot/projects/wifi/lib/msun/src/e_exp.c#3 integrate .. //depot/projects/wifi/lib/msun/src/e_expf.c#7 integrate .. //depot/projects/wifi/lib/msun/src/s_exp2.c#3 integrate .. //depot/projects/wifi/lib/msun/src/s_exp2f.c#3 integrate .. //depot/projects/wifi/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_logb.c#4 integrate .. //depot/projects/wifi/lib/msun/src/s_truncl.c#3 integrate .. //depot/projects/wifi/sbin/ipfw/ipfw.8#25 integrate .. //depot/projects/wifi/sbin/md5/md5.c#4 integrate .. //depot/projects/wifi/share/man/man4/ciss.4#5 integrate .. //depot/projects/wifi/sys/boot/ofw/libofw/ofw_console.c#5 integrate .. //depot/projects/wifi/sys/dev/ciss/ciss.c#23 integrate .. //depot/projects/wifi/sys/fs/coda/cnode.h#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_namecache.c#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_subr.c#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_venus.c#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vfsops.c#5 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vnops.c#5 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/wifi/sys/fs/nullfs/null_vfsops.c#17 integrate .. //depot/projects/wifi/sys/kern/kern_descrip.c#32 integrate .. //depot/projects/wifi/sys/kern/kern_lock.c#24 integrate .. //depot/projects/wifi/sys/kern/kern_rwlock.c#14 integrate .. //depot/projects/wifi/sys/kern/subr_sleepqueue.c#18 integrate .. //depot/projects/wifi/sys/kern/subr_turnstile.c#15 integrate .. //depot/projects/wifi/sys/kern/uipc_shm.c#3 integrate .. //depot/projects/wifi/sys/kern/vfs_subr.c#47 integrate .. //depot/projects/wifi/sys/netgraph/netflow/netflow.c#16 integrate .. //depot/projects/wifi/sys/netgraph/ng_base.c#29 integrate .. //depot/projects/wifi/sys/netgraph/ng_ppp.c#14 integrate .. //depot/projects/wifi/sys/netgraph/ng_pppoe.c#13 integrate .. //depot/projects/wifi/sys/netinet/in_rmx.c#8 integrate .. //depot/projects/wifi/sys/netinet/ip_carp.c#20 integrate .. //depot/projects/wifi/sys/netinet/ip_id.c#5 integrate .. //depot/projects/wifi/sys/nfs4client/nfs4_vfsops.c#14 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_bio.c#23 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_subs.c#14 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_vfsops.c#22 integrate .. //depot/projects/wifi/sys/nfsclient/nfsnode.h#13 integrate .. //depot/projects/wifi/sys/sys/lockmgr.h#13 integrate .. //depot/projects/wifi/sys/sys/param.h#36 integrate .. //depot/projects/wifi/sys/sys/proc.h#39 integrate .. //depot/projects/wifi/sys/sys/user.h#12 integrate .. //depot/projects/wifi/tools/regression/netinet/ip_id_period/ip_id_period.py#1 branch .. //depot/projects/wifi/tools/regression/pthread/mutex_islocked_np/Makefile#2 delete .. //depot/projects/wifi/tools/regression/pthread/mutex_islocked_np/mutex_islocked_np.c#2 delete .. //depot/projects/wifi/tools/regression/pthread/mutex_isowned_np/Makefile#1 branch .. //depot/projects/wifi/tools/regression/pthread/mutex_isowned_np/mutex_isowned_np.c#1 branch .. //depot/projects/wifi/usr.bin/gzip/znew#2 integrate .. //depot/projects/wifi/usr.bin/ministat/ministat.c#2 integrate .. //depot/projects/wifi/usr.bin/netstat/netstat.h#13 integrate .. //depot/projects/wifi/usr.bin/netstat/route.c#8 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat.c#2 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat_basic.c#2 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat_files.c#3 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat_kstack.c#2 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat_threads.c#2 integrate .. //depot/projects/wifi/usr.bin/procstat/procstat_vm.c#2 integrate .. //depot/projects/wifi/usr.bin/sed/compile.c#5 integrate .. //depot/projects/wifi/usr.bin/sed/defs.h#3 integrate .. //depot/projects/wifi/usr.bin/sed/main.c#8 integrate .. //depot/projects/wifi/usr.bin/sed/process.c#7 integrate .. //depot/projects/wifi/usr.bin/uniq/uniq.c#3 integrate .. //depot/projects/wifi/usr.sbin/bootparamd/Makefile#2 integrate .. //depot/projects/wifi/usr.sbin/bootparamd/Makefile.inc#2 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/add/pkg_add.1#7 integrate Differences ... ==== //depot/projects/wifi/ObsoleteFiles.inc#26 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.127 2008/01/26 20:23:25 brueffer Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.130 2008/02/06 19:45:25 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -3945,7 +3945,9 @@ .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64" OLD_FILES+=usr/share/man/man8/boot_i386.8.gz .endif +.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "sparc64" OLD_FILES+=usr/share/man/man8/ofwdump.8.gz +.endif OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz OLD_FILES+=usr/share/man/man9/VFS_START.9.gz OLD_FILES+=usr/share/man/man9/cpu_critical_exit.9.gz ==== //depot/projects/wifi/UPDATING#38 (text+ko) ==== @@ -22,6 +22,10 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080208: + Belatedly note the addition of m_collapse for compacting + mbuf chains. + 20080126: The fts(3) structures have been changed to use adequate integer types for their members and so to be able to cope @@ -969,4 +973,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.517 2008/01/26 17:09:39 yar Exp $ +$FreeBSD: src/UPDATING,v 1.518 2008/02/08 21:24:58 sam Exp $ ==== //depot/projects/wifi/bin/date/date.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.47 2005/01/10 08:39:21 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.48 2008/02/07 16:04:24 ru Exp $"); #include #include @@ -186,8 +186,10 @@ const char *dot, *t; int century; + lt = localtime(&tval); + lt->tm_isdst = -1; /* divine correct DST */ + if (fmt != NULL) { - lt = localtime(&tval); t = strptime(p, fmt, lt); if (t == NULL) { fprintf(stderr, "Failed conversion of ``%s''" @@ -208,8 +210,6 @@ badformat(); } - lt = localtime(&tval); - if (dot != NULL) { /* .ss */ dot++; /* *dot++ = '\0'; */ if (strlen(dot) != 2) @@ -264,9 +264,6 @@ } } - /* Let mktime() decide whether summer time is in effect. */ - lt->tm_isdst = -1; - /* convert broken-down time to GMT clock time */ if ((tval = mktime(lt)) == -1) errx(1, "nonexistent time"); ==== //depot/projects/wifi/crypto/openssh/FREEBSD-Xlist#2 (text+ko) ==== @@ -1,10 +1,9 @@ -$FreeBSD: src/crypto/openssh/FREEBSD-Xlist,v 1.3 2004/02/26 10:37:34 des Exp $ +$FreeBSD: src/crypto/openssh/FREEBSD-Xlist,v 1.4 2008/02/06 23:14:24 des Exp $ *.0 */.cvsignore -.cvsignore -autom4te* -config.h.in -configure -contrib -regress/*.[0-9] -stamp-h.in +*autom4te* +*config.h.in +*configure +*contrib +*regress/*.[0-9] +*stamp-h.in ==== //depot/projects/wifi/crypto/openssh/FREEBSD-upgrade#6 (text+ko) ==== @@ -12,12 +12,12 @@ 2) Unpack the tarball in a suitable directory. + $ tar xf openssh-X.YpZ.tar.gz \ + -X /usr/src/crypto/openssh/FREEBSD-Xlist + 3) Remove trash: - $ sh -c 'while read glob ; do rm -rvf $glob ; done' \ - -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.162 2008/02/06 02:59:54 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.164 2008/02/08 08:02:34 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -315,7 +315,8 @@ * trials (each deallocation is a trial), so the actual average threshold * for clearing the cache is somewhat lower. */ -# define LAZY_FREE_NPROBES 5 +# define LAZY_FREE_NPROBES_2POW_MIN 2 +# define LAZY_FREE_NPROBES_2POW_MAX 3 #endif /* @@ -929,30 +930,24 @@ static void *arena_palloc(arena_t *arena, size_t alignment, size_t size, size_t alloc_size); static size_t arena_salloc(const void *ptr); +#ifdef MALLOC_LAZY_FREE +static void arena_dalloc_lazy_hard(arena_t *arena, arena_chunk_t *chunk, + void *ptr, size_t pageind, arena_chunk_map_t *mapelm, unsigned slot); +#endif +static void arena_dalloc_large(arena_t *arena, arena_chunk_t *chunk, + void *ptr); static void arena_ralloc_resize_shrink(arena_t *arena, arena_chunk_t *chunk, void *ptr, size_t size, size_t oldsize); static bool arena_ralloc_resize_grow(arena_t *arena, arena_chunk_t *chunk, void *ptr, size_t size, size_t oldsize); static bool arena_ralloc_resize(void *ptr, size_t size, size_t oldsize); static void *arena_ralloc(void *ptr, size_t size, size_t oldsize); -#ifdef MALLOC_LAZY_FREE -static void arena_dalloc_lazy_hard(arena_t *arena, arena_chunk_t *chunk, - void *ptr, size_t pageind, arena_chunk_map_t *mapelm); -#endif -static void arena_dalloc_large(arena_t *arena, arena_chunk_t *chunk, - void *ptr); static bool arena_new(arena_t *arena); static arena_t *arenas_extend(unsigned ind); static void *huge_malloc(size_t size, bool zero); static void *huge_palloc(size_t alignment, size_t size); static void *huge_ralloc(void *ptr, size_t size, size_t oldsize); static void huge_dalloc(void *ptr); -static void *imalloc(size_t size); -static void *ipalloc(size_t alignment, size_t size); -static void *icalloc(size_t size); -static size_t isalloc(const void *ptr); -static void *iralloc(void *ptr, size_t size); -static void idalloc(void *ptr); static void malloc_print_stats(void); static bool malloc_init_hard(void); @@ -2312,6 +2307,7 @@ == 0) { memset((void *)((uintptr_t)chunk + ((run_ind + i) << pagesize_2pow)), 0, pagesize); + /* CHUNK_MAP_UNTOUCHED is cleared below. */ } } @@ -2379,6 +2375,8 @@ * Initialize the map to contain one maximal free untouched * run. */ + memset(chunk->map, (CHUNK_MAP_LARGE | CHUNK_MAP_POS_MASK), + arena_chunk_header_npages); memset(&chunk->map[arena_chunk_header_npages], CHUNK_MAP_UNTOUCHED, (chunk_npages - arena_chunk_header_npages)); @@ -2498,7 +2496,8 @@ if (chunk->map[i] & CHUNK_MAP_DIRTY) { size_t npages; - chunk->map[i] = 0; + chunk->map[i] = (CHUNK_MAP_LARGE | + CHUNK_MAP_POS_MASK); chunk->ndirty--; arena->ndirty--; /* Find adjacent dirty run(s). */ @@ -2507,7 +2506,8 @@ (chunk->map[i - 1] & CHUNK_MAP_DIRTY); npages++) { i--; - chunk->map[i] = 0; + chunk->map[i] = (CHUNK_MAP_LARGE + | CHUNK_MAP_POS_MASK); chunk->ndirty--; arena->ndirty--; } @@ -2556,7 +2556,9 @@ size_t i; for (i = 0; i < run_pages; i++) { - chunk->map[run_ind + i] = CHUNK_MAP_DIRTY; + assert((chunk->map[run_ind + i] & CHUNK_MAP_DIRTY) == + 0); + chunk->map[run_ind + i] |= CHUNK_MAP_DIRTY; chunk->ndirty++; arena->ndirty++; } @@ -3005,6 +3007,28 @@ return (arena_malloc_large(arena, size, zero)); } +static inline void * +imalloc(size_t size) +{ + + assert(size != 0); + + if (size <= arena_maxclass) + return (arena_malloc(choose_arena(), size, false)); + else + return (huge_malloc(size, false)); +} + +static inline void * +icalloc(size_t size) +{ + + if (size <= arena_maxclass) + return (arena_malloc(choose_arena(), size, true)); + else + return (huge_malloc(size, true)); +} + /* Only handles large allocations that require more than page alignment. */ static void * arena_palloc(arena_t *arena, size_t alignment, size_t size, size_t alloc_size) @@ -3084,6 +3108,101 @@ return (ret); } +static inline void * +ipalloc(size_t alignment, size_t size) +{ + void *ret; + size_t ceil_size; + + /* + * Round size up to the nearest multiple of alignment. + * + * This done, we can take advantage of the fact that for each small + * size class, every object is aligned at the smallest power of two + * that is non-zero in the base two representation of the size. For + * example: + * + * Size | Base 2 | Minimum alignment + * -----+----------+------------------ + * 96 | 1100000 | 32 + * 144 | 10100000 | 32 + * 192 | 11000000 | 64 + * + * Depending on runtime settings, it is possible that arena_malloc() + * will further round up to a power of two, but that never causes + * correctness issues. + */ + ceil_size = (size + (alignment - 1)) & (-alignment); + /* + * (ceil_size < size) protects against the combination of maximal + * alignment and size greater than maximal alignment. + */ + if (ceil_size < size) { + /* size_t overflow. */ + return (NULL); + } + + if (ceil_size <= pagesize || (alignment <= pagesize + && ceil_size <= arena_maxclass)) + ret = arena_malloc(choose_arena(), ceil_size, false); + else { + size_t run_size; + + /* + * We can't achieve sub-page alignment, so round up alignment + * permanently; it makes later calculations simpler. + */ + alignment = PAGE_CEILING(alignment); + ceil_size = PAGE_CEILING(size); + /* + * (ceil_size < size) protects against very large sizes within + * pagesize of SIZE_T_MAX. + * + * (ceil_size + alignment < ceil_size) protects against the + * combination of maximal alignment and ceil_size large enough + * to cause overflow. This is similar to the first overflow + * check above, but it needs to be repeated due to the new + * ceil_size value, which may now be *equal* to maximal + * alignment, whereas before we only detected overflow if the + * original size was *greater* than maximal alignment. + */ + if (ceil_size < size || ceil_size + alignment < ceil_size) { + /* size_t overflow. */ + return (NULL); + } + + /* + * Calculate the size of the over-size run that arena_palloc() + * would need to allocate in order to guarantee the alignment. + */ + if (ceil_size >= alignment) + run_size = ceil_size + alignment - pagesize; + else { + /* + * It is possible that (alignment << 1) will cause + * overflow, but it doesn't matter because we also + * subtract pagesize, which in the case of overflow + * leaves us with a very large run_size. That causes + * the first conditional below to fail, which means + * that the bogus run_size value never gets used for + * anything important. + */ + run_size = (alignment << 1) - pagesize; + } + + if (run_size <= arena_maxclass) { + ret = arena_palloc(choose_arena(), alignment, ceil_size, + run_size); + } else if (alignment <= chunksize) + ret = huge_malloc(ceil_size, false); + else + ret = huge_palloc(alignment, ceil_size); + } + + assert(((uintptr_t)ret & (alignment - 1)) == 0); + return (ret); +} + /* Return the size of the allocation pointed to by ptr. */ static size_t arena_salloc(const void *ptr) @@ -3099,12 +3218,11 @@ chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(ptr); pageind = (((uintptr_t)ptr - (uintptr_t)chunk) >> pagesize_2pow); mapelm = chunk->map[pageind]; - if (mapelm != CHUNK_MAP_LARGE) { + if ((mapelm & CHUNK_MAP_LARGE) == 0) { arena_run_t *run; /* Small allocation size is in the run header. */ - assert(mapelm <= CHUNK_MAP_POS_MASK); - pageind -= mapelm; + pageind -= (mapelm & CHUNK_MAP_POS_MASK); run = (arena_run_t *)((uintptr_t)chunk + (pageind << pagesize_2pow)); assert(run->magic == ARENA_RUN_MAGIC); @@ -3127,166 +3245,38 @@ return (ret); } -static void -arena_ralloc_resize_shrink(arena_t *arena, arena_chunk_t *chunk, void *ptr, - size_t size, size_t oldsize) +static inline size_t +isalloc(const void *ptr) { - extent_node_t *node, key; + size_t ret; + arena_chunk_t *chunk; - assert(size < oldsize); - - /* - * Shrink the run, and make trailing pages available for other - * allocations. - */ - key.addr = (void *)((uintptr_t)ptr); -#ifdef MALLOC_BALANCE - arena_lock_balance(arena); -#else - malloc_spin_lock(&arena->lock); -#endif - node = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, &key); - assert(node != NULL); - arena_run_trim_tail(arena, chunk, node, (arena_run_t *)ptr, oldsize, - size, true); -#ifdef MALLOC_STATS - arena->stats.allocated_large -= oldsize - size; -#endif - malloc_spin_unlock(&arena->lock); -} - -static bool -arena_ralloc_resize_grow(arena_t *arena, arena_chunk_t *chunk, void *ptr, - size_t size, size_t oldsize) -{ - extent_node_t *nodeC, key; - - /* Try to extend the run. */ - assert(size > oldsize); - key.addr = (void *)((uintptr_t)ptr + oldsize); -#ifdef MALLOC_BALANCE - arena_lock_balance(arena); -#else - malloc_spin_lock(&arena->lock); -#endif - nodeC = RB_FIND(extent_tree_ad_s, &arena->runs_avail_ad, &key); - if (nodeC != NULL && oldsize + nodeC->size >= size) { - extent_node_t *nodeA, *nodeB; - - /* - * The next run is available and sufficiently large. Split the - * following run, then merge the first part with the existing - * allocation. This results in a bit more tree manipulation - * than absolutely necessary, but it substantially simplifies - * the code. - */ - arena_run_split(arena, (arena_run_t *)nodeC->addr, size - - oldsize, false, false); - - key.addr = ptr; - nodeA = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, - &key); - assert(nodeA != NULL); - - key.addr = (void *)((uintptr_t)ptr + oldsize); - nodeB = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, - &key); - assert(nodeB != NULL); - - nodeA->size += nodeB->size; - - RB_REMOVE(extent_tree_ad_s, &arena->runs_alloced_ad, nodeB); - arena_chunk_node_dealloc(chunk, nodeB); - -#ifdef MALLOC_STATS - arena->stats.allocated_large += size - oldsize; -#endif - malloc_spin_unlock(&arena->lock); - return (false); - } - malloc_spin_unlock(&arena->lock); - - return (true); -} + assert(ptr != NULL); -/* - * Try to resize a large allocation, in order to avoid copying. This will - * always fail if growing an object, and the following run is already in use. - */ -static bool -arena_ralloc_resize(void *ptr, size_t size, size_t oldsize) -{ - arena_chunk_t *chunk; - arena_t *arena; - chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(ptr); - arena = chunk->arena; - assert(arena->magic == ARENA_MAGIC); + if (chunk != ptr) { + /* Region. */ + assert(chunk->arena->magic == ARENA_MAGIC); - if (size < oldsize) { - arena_ralloc_resize_shrink(arena, chunk, ptr, size, oldsize); - return (false); + ret = arena_salloc(ptr); } else { - return (arena_ralloc_resize_grow(arena, chunk, ptr, size, - oldsize)); - } -} + extent_node_t *node, key; -static void * -arena_ralloc(void *ptr, size_t size, size_t oldsize) -{ - void *ret; + /* Chunk (huge allocation). */ - /* Try to avoid moving the allocation. */ - if (size < small_min) { - if (oldsize < small_min && - ffs((int)(pow2_ceil(size) >> (TINY_MIN_2POW + 1))) - == ffs((int)(pow2_ceil(oldsize) >> (TINY_MIN_2POW + 1)))) - goto IN_PLACE; /* Same size class. */ - } else if (size <= small_max) { - if (oldsize >= small_min && oldsize <= small_max && - (QUANTUM_CEILING(size) >> opt_quantum_2pow) - == (QUANTUM_CEILING(oldsize) >> opt_quantum_2pow)) - goto IN_PLACE; /* Same size class. */ - } else if (size <= bin_maxclass) { - if (oldsize > small_max && oldsize <= bin_maxclass && - pow2_ceil(size) == pow2_ceil(oldsize)) - goto IN_PLACE; /* Same size class. */ - } else if (oldsize > bin_maxclass && oldsize <= arena_maxclass) { - size_t psize; + malloc_mutex_lock(&huge_mtx); - assert(size > bin_maxclass); - psize = PAGE_CEILING(size); + /* Extract from tree of huge allocations. */ + key.addr = __DECONST(void *, ptr); + node = RB_FIND(extent_tree_ad_s, &huge, &key); + assert(node != NULL); - if (psize == oldsize) - goto IN_PLACE; /* Same size class. */ + ret = node->size; - if (arena_ralloc_resize(ptr, psize, oldsize) == false) - goto IN_PLACE; + malloc_mutex_unlock(&huge_mtx); } - /* - * If we get here, then size and oldsize are different enough that we - * need to move the object. In that case, fall back to allocating new - * space and copying. - */ - ret = arena_malloc(choose_arena(), size, false); - if (ret == NULL) - return (NULL); - - /* Junk/zero-filling were already done by arena_malloc(). */ - if (size < oldsize) - memcpy(ret, ptr, size); - else - memcpy(ret, ptr, oldsize); - idalloc(ptr); return (ret); -IN_PLACE: - if (opt_junk && size < oldsize) - memset((void *)((uintptr_t)ptr + size), 0x5a, oldsize - size); - else if (opt_zero && size > oldsize) - memset((void *)((uintptr_t)ptr + oldsize), 0, size - oldsize); - return (ptr); } static inline void @@ -3297,8 +3287,7 @@ arena_bin_t *bin; size_t size; - assert(mapelm <= CHUNK_MAP_POS_MASK); - pageind -= mapelm; + pageind -= (mapelm & CHUNK_MAP_POS_MASK); run = (arena_run_t *)((uintptr_t)chunk + (pageind << pagesize_2pow)); assert(run->magic == ARENA_RUN_MAGIC); @@ -3360,7 +3349,7 @@ size_t pageind, arena_chunk_map_t *mapelm) { void **free_cache = arena->free_cache; - unsigned i, slot; + unsigned i, nprobes, slot; if (__isthreaded == false || opt_lazy_free_2pow < 0) { malloc_spin_lock(&arena->lock); @@ -3369,7 +3358,9 @@ return; } - for (i = 0; i < LAZY_FREE_NPROBES; i++) { + nprobes = (1U << LAZY_FREE_NPROBES_2POW_MIN) + PRN(lazy_free, + (LAZY_FREE_NPROBES_2POW_MAX - LAZY_FREE_NPROBES_2POW_MIN)); + for (i = 0; i < nprobes; i++) { slot = PRN(lazy_free, opt_lazy_free_2pow); if (atomic_cmpset_ptr((uintptr_t *)&free_cache[slot], (uintptr_t)NULL, (uintptr_t)ptr)) { @@ -3377,15 +3368,15 @@ } } - arena_dalloc_lazy_hard(arena, chunk, ptr, pageind, mapelm); + arena_dalloc_lazy_hard(arena, chunk, ptr, pageind, mapelm, slot); } static void arena_dalloc_lazy_hard(arena_t *arena, arena_chunk_t *chunk, void *ptr, - size_t pageind, arena_chunk_map_t *mapelm) + size_t pageind, arena_chunk_map_t *mapelm, unsigned slot) { void **free_cache = arena->free_cache; - unsigned i, slot; + unsigned i; malloc_spin_lock(&arena->lock); arena_dalloc_small(arena, chunk, ptr, pageind, *mapelm); @@ -3486,9 +3477,8 @@ pageind = (((uintptr_t)ptr - (uintptr_t)chunk) >> pagesize_2pow); mapelm = &chunk->map[pageind]; - if (*mapelm != CHUNK_MAP_LARGE) { + if ((*mapelm & CHUNK_MAP_LARGE) == 0) { /* Small allocation. */ - assert(*mapelm <= CHUNK_MAP_POS_MASK); #ifdef MALLOC_LAZY_FREE arena_dalloc_lazy(arena, chunk, ptr, pageind, mapelm); #else @@ -3502,6 +3492,197 @@ } } +static inline void +idalloc(void *ptr) +{ + arena_chunk_t *chunk; + + assert(ptr != NULL); + + chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(ptr); + if (chunk != ptr) + arena_dalloc(chunk->arena, chunk, ptr); + else + huge_dalloc(ptr); +} + +static void +arena_ralloc_resize_shrink(arena_t *arena, arena_chunk_t *chunk, void *ptr, + size_t size, size_t oldsize) +{ + extent_node_t *node, key; + + assert(size < oldsize); + + /* + * Shrink the run, and make trailing pages available for other + * allocations. + */ + key.addr = (void *)((uintptr_t)ptr); +#ifdef MALLOC_BALANCE + arena_lock_balance(arena); +#else + malloc_spin_lock(&arena->lock); +#endif + node = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, &key); + assert(node != NULL); + arena_run_trim_tail(arena, chunk, node, (arena_run_t *)ptr, oldsize, + size, true); +#ifdef MALLOC_STATS + arena->stats.allocated_large -= oldsize - size; +#endif + malloc_spin_unlock(&arena->lock); +} + +static bool +arena_ralloc_resize_grow(arena_t *arena, arena_chunk_t *chunk, void *ptr, + size_t size, size_t oldsize) +{ + extent_node_t *nodeC, key; + + /* Try to extend the run. */ + assert(size > oldsize); + key.addr = (void *)((uintptr_t)ptr + oldsize); +#ifdef MALLOC_BALANCE + arena_lock_balance(arena); +#else + malloc_spin_lock(&arena->lock); +#endif + nodeC = RB_FIND(extent_tree_ad_s, &arena->runs_avail_ad, &key); + if (nodeC != NULL && oldsize + nodeC->size >= size) { + extent_node_t *nodeA, *nodeB; + + /* + * The next run is available and sufficiently large. Split the + * following run, then merge the first part with the existing + * allocation. This results in a bit more tree manipulation + * than absolutely necessary, but it substantially simplifies + * the code. + */ + arena_run_split(arena, (arena_run_t *)nodeC->addr, size - + oldsize, false, false); + + key.addr = ptr; + nodeA = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, + &key); + assert(nodeA != NULL); + + key.addr = (void *)((uintptr_t)ptr + oldsize); + nodeB = RB_FIND(extent_tree_ad_s, &arena->runs_alloced_ad, + &key); + assert(nodeB != NULL); + + nodeA->size += nodeB->size; + + RB_REMOVE(extent_tree_ad_s, &arena->runs_alloced_ad, nodeB); + arena_chunk_node_dealloc(chunk, nodeB); + +#ifdef MALLOC_STATS + arena->stats.allocated_large += size - oldsize; +#endif + malloc_spin_unlock(&arena->lock); + return (false); + } + malloc_spin_unlock(&arena->lock); + + return (true); +} + +/* + * Try to resize a large allocation, in order to avoid copying. This will + * always fail if growing an object, and the following run is already in use. + */ +static bool +arena_ralloc_resize(void *ptr, size_t size, size_t oldsize) +{ + arena_chunk_t *chunk; + arena_t *arena; + + chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(ptr); + arena = chunk->arena; + assert(arena->magic == ARENA_MAGIC); + + if (size < oldsize) { + arena_ralloc_resize_shrink(arena, chunk, ptr, size, oldsize); + return (false); + } else { + return (arena_ralloc_resize_grow(arena, chunk, ptr, size, + oldsize)); + } +} + +static void * +arena_ralloc(void *ptr, size_t size, size_t oldsize) +{ + void *ret; + size_t copysize; + + /* Try to avoid moving the allocation. */ + if (size < small_min) { + if (oldsize < small_min && + ffs((int)(pow2_ceil(size) >> (TINY_MIN_2POW + 1))) + == ffs((int)(pow2_ceil(oldsize) >> (TINY_MIN_2POW + 1)))) + goto IN_PLACE; /* Same size class. */ + } else if (size <= small_max) { + if (oldsize >= small_min && oldsize <= small_max && + (QUANTUM_CEILING(size) >> opt_quantum_2pow) + == (QUANTUM_CEILING(oldsize) >> opt_quantum_2pow)) + goto IN_PLACE; /* Same size class. */ + } else if (size <= bin_maxclass) { + if (oldsize > small_max && oldsize <= bin_maxclass && + pow2_ceil(size) == pow2_ceil(oldsize)) + goto IN_PLACE; /* Same size class. */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Feb 10 08:38:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC45D16A420; Sun, 10 Feb 2008 08:38:59 +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 59A9316A417 for ; Sun, 10 Feb 2008 08:38:59 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 41A6113C442 for ; Sun, 10 Feb 2008 08:38:59 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1A8cxcU071509 for ; Sun, 10 Feb 2008 08:38:59 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1A8cvUx071506 for perforce@freebsd.org; Sun, 10 Feb 2008 08:38:57 GMT (envelope-from sephe@FreeBSD.org) Date: Sun, 10 Feb 2008 08:38:57 GMT Message-Id: <200802100838.m1A8cvUx071506@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135138 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 08:39:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=135138 Change 135138 by sephe@sephe_enigma:sam_wifi on 2008/02/10 08:38:11 IFC Affected files ... .. //depot/projects/wifi/sys/dev/usb/ehci.c#20 integrate Differences ... ==== //depot/projects/wifi/sys/dev/usb/ehci.c#20 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.58 2008/01/24 12:34:25 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.59 2008/02/10 07:34:16 kib Exp $"); #include #include @@ -68,6 +68,7 @@ #include #include #include +#include #include #if defined(DIAGNOSTIC) && defined(__i386__) && defined(__FreeBSD__) #include From owner-p4-projects@FreeBSD.ORG Sun Feb 10 11:53:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D9F516A46C; Sun, 10 Feb 2008 11:53:27 +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 1F15216A417 for ; Sun, 10 Feb 2008 11:53:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0DD9513C474 for ; Sun, 10 Feb 2008 11:53:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1ABrQSR003744 for ; Sun, 10 Feb 2008 11:53:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1ABrQSw003741 for perforce@freebsd.org; Sun, 10 Feb 2008 11:53:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 10 Feb 2008 11:53:26 GMT Message-Id: <200802101153.m1ABrQSw003741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 135146 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 11:53:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=135146 Change 135146 by hselasky@hselasky_laptop001 on 2008/02/10 11:53:05 Add more documentation to "usb_transfer.c". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#112 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#112 (text+ko) ==== @@ -68,6 +68,11 @@ #ifdef USB_DEBUG +/*------------------------------------------------------------------------* + * usbd_dump_iface + * + * This function dumps information about an USB interface. + *------------------------------------------------------------------------*/ void usbd_dump_iface(struct usbd_interface *iface) { @@ -80,6 +85,11 @@ return; } +/*------------------------------------------------------------------------* + * usbd_dump_device + * + * This function dumps information about an USB device. + *------------------------------------------------------------------------*/ void usbd_dump_device(struct usbd_device *udev) { @@ -96,6 +106,11 @@ return; } +/*------------------------------------------------------------------------* + * usbd_dump_queue + * + * This function dumps the USB transfer that are queued up on an USB pipe. + *------------------------------------------------------------------------*/ void usbd_dump_queue(struct usbd_pipe *pipe) { @@ -108,6 +123,11 @@ return; } +/*------------------------------------------------------------------------* + * usbd_dump_pipe + * + * This function dumps information about an USB pipe. + *------------------------------------------------------------------------*/ void usbd_dump_pipe(struct usbd_pipe *pipe) { @@ -129,6 +149,11 @@ return; } +/*------------------------------------------------------------------------* + * usbd_dump_xfer + * + * This function dumps information about an USB transfer. + *------------------------------------------------------------------------*/ void usbd_dump_xfer(struct usbd_xfer *xfer) { @@ -182,8 +207,16 @@ EA_MASK = (UE_DIR_IN | UE_DIR_OUT | UE_ADDR), }; + /* + * According to the USB specification not all bits are used + * for the endpoint address. Mask away the reserved bits: + */ ea_val &= EA_MASK; + /* + * Iterate accross all the USB pipes searching for a match + * based on the endpoint address: + */ for (; pipe != pipe_end; pipe++) { if (pipe->edesc == NULL) { @@ -195,7 +228,9 @@ } } - /* do the mask and check the value */ + /* + * The default pipe is always present and is checked separately: + */ if ((udev->default_pipe.edesc) && ((udev->default_pipe.edesc->bEndpointAddress & EA_MASK) == ea_val)) { pipe = &udev->default_pipe; @@ -272,8 +307,11 @@ type_val = (setup->type & UE_XFERTYPE); } - /* NOTE: pipes are searched from the beginning */ - + /* + * Iterate accross all the USB pipes searching for a match + * based on the endpoint address. Note that we are searching + * the pipes from the beginning of the "udev->pipes" array. + */ for (; pipe != pipe_end; pipe++) { if ((pipe->edesc == NULL) || @@ -393,7 +431,13 @@ } /*------------------------------------------------------------------------* - * usbd_transfer_setup_sub - transfer setup subroutine + * usbd_transfer_setup_sub - transfer setup subroutine + * + * This function must be called from the "xfer_setup" callback of the + * USB Host or Device controller driver when setting up an USB + * transfer. This function will setup correct packet sizes, buffer + * sizes, flags and more, that are stored in the "usbd_xfer" + * structure. *------------------------------------------------------------------------*/ void usbd_transfer_setup_sub(struct usbd_setup_params *parm) @@ -412,8 +456,10 @@ uint8_t type; uint8_t zmps; - /* sanity check */ - + /* + * Sanity check. The following parameters must be initialized before + * calling this function. + */ if ((parm->hc_max_packet_size == 0) || (parm->hc_max_packet_count == 0) || (parm->hc_max_frame_size == 0)) { @@ -779,10 +825,15 @@ /*------------------------------------------------------------------------* * usbd_transfer_setup - setup an array of USB transfers * - * NOTE: must always call unsetup after setup + * NOTE: You must always call "usbd_transfer_unsetup" after calling + * "usbd_transfer_setup" if success was returned. + * + * The idea is that the USB device driver should pre-allocate all its + * transfers by one call to this function. * - * The idea is that the USB device driver should pre-allocate all - * its transfers by one call to this function. + * Return values: + * 0: Success + * Else: Failure *------------------------------------------------------------------------*/ usbd_status_t usbd_transfer_setup(struct usbd_device *udev, @@ -856,7 +907,10 @@ while (1) { if (buf) { - + /* + * Initialize the "usbd_memory_info" structure, + * which is common for all our USB transfers. + */ info = USBD_ADD_BYTES(buf, 0); info->memory_base = buf; @@ -875,6 +929,8 @@ LIST_INIT(&(info->done_head)); + /* create a callback thread */ + if (usb_thread_create (&usbd_callback_intr_td, info, &(info->done_thread), "USB interrupt thread")) { @@ -898,12 +954,8 @@ } else { parm.curr_setup_sub = &(setup->md); } - + /* skip USB transfers without callbacks: */ if (parm.curr_setup_sub->callback == NULL) { - /* - * Skip USB transfers without - * callbacks ! - */ continue; } /* see if there is a matching endpoint */ @@ -920,11 +972,15 @@ /* store current setup pointer */ parm.curr_setup = setup; - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); if (buf) { + /* + * Common initialization of the + * "usbd_xfer" structure. + */ xfer = USBD_ADD_BYTES(buf, parm.size[0]); ppxfer[n] = xfer; @@ -940,7 +996,13 @@ usb_callout_init_mtx(&xfer->timeout_handle, xfer->usb_mtx, CALLOUT_RETURNUNLOCKED); } else { - /* dummy xfer */ + /* + * Setup a dummy xfer, hence we are + * writing to the "usbd_xfer" + * structure pointed to by "xfer" + * before we have allocated any + * memory: + */ xfer = &dummy; bzero(&dummy, sizeof(dummy)); refcount++; @@ -951,11 +1013,24 @@ xfer->pipe = pipe; if (buf) { + /* + * Increment the pipe refcount. This + * basically prevents setting a new + * configuration and alternate setting + * when USB transfers are in use on + * the given interface. Search the USB + * code for "pipe->refcount" if you + * want more information. + */ xfer->pipe->refcount++; } parm.methods = xfer->pipe->methods; parm.curr_xfer = xfer; + /* + * Call the Host or Device controller transfer setup + * routine: + */ (udev->bus->methods->xfer_setup) (&parm); if (parm.err) { @@ -970,7 +1045,7 @@ /* no transfers - nothing to do ! */ goto done; } - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); /* store offset temporarily */ @@ -992,7 +1067,7 @@ parm.size[0] += ((uint8_t *)parm.dma_tag_p) - ((uint8_t *)0); - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); /* store offset temporarily */ @@ -1001,7 +1076,7 @@ parm.size[0] += ((uint8_t *)parm.dma_page_ptr) - ((uint8_t *)0); - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); /* store offset temporarily */ @@ -1020,7 +1095,7 @@ parm.size[2] = parm.size[0]; - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); parm.size[6] = parm.size[0]; @@ -1028,7 +1103,7 @@ parm.size[0] += ((uint8_t *)parm.xfer_length_ptr) - ((uint8_t *)0); - /* align data to 8 byte boundary */ + /* align data properly */ parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN - 1)); /* allocate zeroed memory */ @@ -1084,7 +1159,10 @@ if (bus->methods->get_dma_delay) { (bus->methods->get_dma_delay) (bus, &temp); - /* round up and convert to milliseconds */ + /* + * Round up and convert to milliseconds. Note that we use + * 1024 milliseconds per second. to save a division. + */ temp += 0x3FF; temp /= 0x400; } @@ -1125,10 +1203,7 @@ pc++; } - /* - * free DMA maps in all - * "xfer->frbuffers" - */ + /* free DMA maps in all "xfer->frbuffers" */ pc = info->xfer_page_cache_start; while (pc != info->xfer_page_cache_end) { usbd_pc_dmamap_destroy(pc); @@ -1140,10 +1215,8 @@ info->dma_tag_max); /* - * free the "memory_base" last, - * hence the "info" structure is - * contained within the - * "memory_base"! + * free the "memory_base" last, hence the "info" structure is + * contained within the "memory_base"! */ free(info->memory_base, M_USB); return; @@ -1152,9 +1225,9 @@ /*------------------------------------------------------------------------* * usbd_transfer_unsetup - unsetup/free an array of USB transfers * - * NOTE: if the transfer was in progress, the callback will - * called with "xfer->error=USBD_ERR_CANCELLED", before this - * function returns + * NOTE: All USB transfers in progress will get called back passing + * the error code "USBD_ERR_CANCELLED" before this function + * returns. *------------------------------------------------------------------------*/ void usbd_transfer_unsetup(struct usbd_xfer **pxfer, uint16_t n_setup) @@ -1245,6 +1318,16 @@ /*------------------------------------------------------------------------* * usbd_std_root_transfer - factored out code + * + * This function is basically used for the Virtual Root HUB, end can + * emulate control, bulk and interrupt endpoints. Data is exchanged + * using the "std->ptr" and "std->len" fields, that allows kernel + * virtual memory to be transferred. All state is kept in the + * structure pointed to by the "std" argument passed to this + * function. The "func" argument points to a function that is called + * back in the various states, so that the application using this + * function can get a chance to select the outcome. The "func" + * function is allowed to sleep, exiting all mutexes. *------------------------------------------------------------------------*/ void usbd_std_root_transfer(struct usbd_std_root_transfer *std, @@ -1270,7 +1353,9 @@ /* signal that we plan to do the callback */ xfer->usb_thread = td; + /* check for control transfer */ if (xfer->flags_int.control_xfr) { + /* check if we are transferring the SETUP packet */ if (xfer->flags_int.control_hdr) { /* copy out the USB request */ @@ -1314,8 +1399,7 @@ if (std->err) { goto done; } - /* transfer data */ - + /* Transfer data. Iterate accross all frames. */ while (xfer->aframes != xfer->nframes) { len = xfer->frlengths[xfer->aframes]; @@ -1355,6 +1439,7 @@ if (std->err) { goto done; } + /* check if the control transfer is complete */ if (xfer->flags_int.control_xfr && !xfer->flags_int.control_act) { @@ -1385,7 +1470,15 @@ } /*------------------------------------------------------------------------* - * usbd_control_transfer_init + * usbd_control_transfer_init - factored out code + * + * In USB Device Mode we have to wait for the SETUP packet which + * containst the "usb_device_request_t" structure, before we can + * transfer any data. In USB Host Mode we already have the SETUP + * packet at the moment the USB transfer is started. This leads us to + * having to setup the USB transfer at two different places in + * time. This function just contains factored out control transfer + * initialisation code, so that we don't duplicate the code. *------------------------------------------------------------------------*/ static void usbd_control_transfer_init(struct usbd_xfer *xfer) @@ -1412,8 +1505,13 @@ /*------------------------------------------------------------------------* * usbd_start_hardware_sub * - * To support split control transfers we need a special wrapper which - * this function implements. + * This function handles initialisation of control transfers. Control + * transfers are special in that regard that they can both transmit + * and receive data. + * + * Return values: + * 0: Success + * Else: Failure *------------------------------------------------------------------------*/ static uint8_t usbd_start_hardware_sub(struct usbd_xfer *xfer) @@ -1530,10 +1628,10 @@ /* time to execute the STATUS stage */ xfer->flags_int.control_act = 0; } - return (0); + return (0); /* success */ error: - return (1); + return (1); /* failure */ } /*------------------------------------------------------------------------* @@ -1556,6 +1654,8 @@ /*------------------------------------------------------------------------* * usbd_start_hardware - start USB hardware for the given transfer + * + * This function should only be called from the USB callback. *------------------------------------------------------------------------*/ void usbd_start_hardware(struct usbd_xfer *xfer) @@ -1874,6 +1974,9 @@ /*------------------------------------------------------------------------* * usbd_bdma_pre_sync + * + * This function handles DMA synchronisation that must be done before + * an USB transfer is started. *------------------------------------------------------------------------*/ void usbd_bdma_pre_sync(struct usbd_xfer *xfer) @@ -1908,6 +2011,9 @@ /*------------------------------------------------------------------------* * usbd_bdma_post_sync + * + * This function handles DMA synchronisation that must be done after + * an USB transfer is complete. *------------------------------------------------------------------------*/ void usbd_bdma_post_sync(struct usbd_xfer *xfer) @@ -1943,7 +2049,7 @@ * NOTE: Calling this function more than one time will only * result in a single transfer start, until the USB transfer * completes. - * NOTE: if "use_polling" is set in "xfer->flags", then this + * NOTE: If "use_polling" is set in "xfer->flags", then this * function will spin until transfer is completed *------------------------------------------------------------------------*/ void @@ -2848,6 +2954,9 @@ /*------------------------------------------------------------------------* * usbd_do_request_callback + * + * This function is the USB callback for generic USB Host control + * transfers. *------------------------------------------------------------------------*/ static void usbd_do_request_callback(struct usbd_xfer *xfer) @@ -2869,6 +2978,9 @@ /*------------------------------------------------------------------------* * usbd_handle_request_callback + * + * This function is the USB callback for generic USB Device control + * transfers. *------------------------------------------------------------------------*/ static void usbd_handle_request_callback(struct usbd_xfer *xfer) @@ -3897,7 +4009,7 @@ /*------------------------------------------------------------------------* * usbd_clear_data_toggle - factored out code * - * NOTE: the job of this function is not to reset the hardware data toggle. + * NOTE: the intention of this function is not to reset the hardware data toggle. *------------------------------------------------------------------------*/ void usbd_clear_data_toggle(struct usbd_device *udev, struct usbd_pipe *pipe) @@ -3922,6 +4034,22 @@ * Return values: * 0: In progress * Else: Finished + * + * Clear stall config example: + * + * static const struct usbd_config my_clearstall = { + * .type = UE_CONTROL, + * .endpoint = 0, + * .direction = UE_DIR_ANY, + * .interval = 50, //50 milliseconds + * .bufsize = sizeof(usb_device_request_t), + * .mh.timeout = 1000, //1.000 seconds + * .mh.flags = { }, + * .mh.callback = &my_clear_stall_callback, //** + * }; + * + * ** "my_clear_stall_callback" calls "usbd_clear_stall_callback" + * passing the correct parameters. *------------------------------------------------------------------------*/ uint8_t usbd_clear_stall_callback(struct usbd_xfer *xfer1, @@ -3988,20 +4116,6 @@ return (1); /* Clear Stall Finished */ } -/* Clear stall config (example): - * - * static const struct usbd_config my_clearstall = { - * .type = UE_CONTROL, - * .endpoint = 0, - * .direction = UE_DIR_ANY, - * .interval = 50, //50 milliseconds - * .bufsize = sizeof(usb_device_request_t), - * .mh.timeout = 1000, //1.000 seconds - * .mh.flags = { }, - * .mh.callback = &my_clear_stall_callback, - * }; - */ - /*------------------------------------------------------------------------* * usbd_do_poll * From owner-p4-projects@FreeBSD.ORG Sun Feb 10 15:01:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8166016A419; Sun, 10 Feb 2008 15:01:03 +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 46F2D16A417 for ; Sun, 10 Feb 2008 15:01:03 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 48AE913C457 for ; Sun, 10 Feb 2008 15:01:03 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AF12if026963 for ; Sun, 10 Feb 2008 15:01:02 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AF12qW026960 for perforce@freebsd.org; Sun, 10 Feb 2008 15:01:02 GMT (envelope-from rrs@cisco.com) Date: Sun, 10 Feb 2008 15:01:02 GMT Message-Id: <200802101501.m1AF12qW026960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135149 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 15:01:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=135149 Change 135149 by rrs@rrs-mips2-jnpr on 2008/02/10 15:00:22 Fixes all warning during buildworld (elfos.h elf.h) Fixes typ casting fo mibII.c and yppaswdd_server.c Adds a conf with the enet Updates my conf to what I am using to now Adds debug prints to init_main.c by commenting out the if boot debug lines. Affected files ... .. //depot/projects/mips2-jnpr/src/contrib/bsnmp/snmp_mibII/mibII.c#2 edit .. //depot/projects/mips2-jnpr/src/contrib/gcc/config/elfos.h#2 edit .. //depot/projects/mips2-jnpr/src/contrib/gcc/config/mips/elf.h#2 edit .. //depot/projects/mips2-jnpr/src/sys/kern/init_main.c#2 edit .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs#11 edit .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs2#1 add .. //depot/projects/mips2-jnpr/src/usr.sbin/rpc.yppasswdd/yppasswdd_server.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/contrib/bsnmp/snmp_mibII/mibII.c#2 (text+ko) ==== @@ -1044,7 +1044,7 @@ break; case RTM_IFINFO: - ifm = (struct if_msghdr *)rtm; + ifm = (struct if_msghdr *)((void *)rtm); mib_extract_addrs(ifm->ifm_addrs, (u_char *)(ifm + 1), addrs); if ((ifp = mib_find_if_sys(ifm->ifm_index)) == NULL) break; ==== //depot/projects/mips2-jnpr/src/contrib/gcc/config/elfos.h#2 (text+ko) ==== @@ -79,11 +79,14 @@ /* Output #ident as a .ident. */ - +#ifndef ASM_OUTPUT_IDENT #define ASM_OUTPUT_IDENT(FILE, NAME) \ fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME); +#endif +#ifndef IDENT_ASM_OP #define IDENT_ASM_OP "\t.ident\t" +#endif #undef SET_ASM_OP #define SET_ASM_OP "\t.set\t" @@ -194,8 +197,9 @@ #define ASCII_DATA_ASM_OP "\t.ascii\t" /* Support a read-only data section. */ +#ifndef READONLY_DATA_SECTION_ASM_OP #define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rodata" - +#endif /* On svr4, we *do* have support for the .init and .fini sections, and we can put stuff in there to be executed before and after `main'. We let crtstuff.c and other files know this by defining the following symbols. @@ -281,7 +285,7 @@ #endif /* Write the extra assembler code needed to declare an object properly. */ - +#ifndef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ do \ { \ @@ -301,7 +305,7 @@ ASM_OUTPUT_LABEL (FILE, NAME); \ } \ while (0) - +#endif /* Output the size directive for a decl in rest_of_decl_compilation in the case where we did not do so before the initializer. Once we find the error_mark_node, we know that the value of ==== //depot/projects/mips2-jnpr/src/contrib/gcc/config/mips/elf.h#2 (text+ko) ==== @@ -51,4 +51,7 @@ #define NO_IMPLICIT_EXTERN_C 1 +#ifdef HANDLE_PRAGMA_PACK_PUSH_POP +#undef HANDLE_PRAGMA_PACK_PUSH_POP +#endif #define HANDLE_PRAGMA_PACK_PUSH_POP 1 ==== //depot/projects/mips2-jnpr/src/sys/kern/init_main.c#2 (text+ko) ==== @@ -633,7 +633,7 @@ break; for (next = path; *next != '\0' && *next != ':'; next++) /* nothing */ ; - if (bootverbose) + /* if (bootverbose)*/ printf("start_init: trying %.*s\n", (int)(next - path), path); @@ -698,7 +698,7 @@ mtx_unlock(&Giant); return; } - if (error != ENOENT) + /* if (error != ENOENT)*/ printf("exec %.*s: error %d\n", (int)(next - path), path, error); } ==== //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs#11 (text+ko) ==== @@ -79,6 +79,6 @@ # # Use the following for RFS in mem-device -#options MD_ROOT +options MD_ROOT # options ROOTDEVNAME = \"ufs:md0\" -#options MD_ROOT_SIZE = 25200 +options MD_ROOT_SIZE = 25200 ==== //depot/projects/mips2-jnpr/src/usr.sbin/rpc.yppasswdd/yppasswdd_server.c#2 (text+ko) ==== @@ -820,7 +820,7 @@ yp_error("pw_tmp() failed"); return &result; } - if (pw_copy(pfd, tfd, (struct passwd *)&argp->newpw, NULL) == -1) { + if (pw_copy(pfd, tfd, (struct passwd *)((void *)&argp->newpw), NULL) == -1) { pw_fini(); yp_error("pw_copy() failed"); return &result; @@ -858,7 +858,7 @@ pw_fini(); if (inplace) { - if ((rval = update_inplace((struct passwd *)&argp->newpw, + if ((rval = update_inplace((struct passwd *)((void *)&argp->newpw), argp->domain))) { yp_error("inplace update failed -- rebuilding maps"); } From owner-p4-projects@FreeBSD.ORG Sun Feb 10 15:15:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1A7016A419; Sun, 10 Feb 2008 15:15:18 +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 87B7F16A418 for ; Sun, 10 Feb 2008 15:15:18 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 729F213C442 for ; Sun, 10 Feb 2008 15:15:18 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AFFItK029487 for ; Sun, 10 Feb 2008 15:15:18 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AFFIQt029484 for perforce@freebsd.org; Sun, 10 Feb 2008 15:15:18 GMT (envelope-from rrs@cisco.com) Date: Sun, 10 Feb 2008 15:15:18 GMT Message-Id: <200802101515.m1AFFIQt029484@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 15:15:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=135150 Change 135150 by rrs@rrs-mips2-jnpr on 2008/02/10 15:14:31 Adds some build notes in prep for Bruce Beare... some "helpful" hints so to speak. Affected files ... .. //depot/projects/mips2-jnpr/src/buildnotes#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Feb 10 19:54:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BDE816A421; Sun, 10 Feb 2008 19:54:17 +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 3893116A419 for ; Sun, 10 Feb 2008 19:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2C9A113C448 for ; Sun, 10 Feb 2008 19:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AJsGCC068654 for ; Sun, 10 Feb 2008 19:54:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AJsG21068651 for perforce@freebsd.org; Sun, 10 Feb 2008 19:54:16 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 19:54:16 GMT Message-Id: <200802101954.m1AJsG21068651@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135166 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 19:54:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=135166 Change 135166 by jb@jb_freebsd1 on 2008/02/10 19:53:18 Tidy. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#11 (text+ko) ==== @@ -103,7 +103,6 @@ kmem_free(hdlr, 0); } -/*ARGSUSED*/ void dtrace_toxic_ranges(void (*func)(uintptr_t base, uintptr_t limit)) { From owner-p4-projects@FreeBSD.ORG Sun Feb 10 19:54:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0695416A513; Sun, 10 Feb 2008 19:54:17 +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 4999816A41B for ; Sun, 10 Feb 2008 19:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 55A4913C455 for ; Sun, 10 Feb 2008 19:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AJsHNS068661 for ; Sun, 10 Feb 2008 19:54:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AJsHmu068658 for perforce@freebsd.org; Sun, 10 Feb 2008 19:54:17 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 19:54:17 GMT Message-Id: <200802101954.m1AJsHmu068658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 19:54:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=135167 Change 135167 by jb@jb_freebsd1 on 2008/02/10 19:53:55 Limit the buffer size on amd64 only for now. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#37 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#37 (text) ==== @@ -10363,6 +10363,7 @@ #else int i; +#if defined(__amd64__) /* * FreeBSD isn't good at limiting the amount of memory we * ask to malloc, so let's place a limit here before trying @@ -10370,6 +10371,7 @@ */ if (size > physmem * PAGE_SIZE / (128 * (mp_maxid + 1))) return(ENOMEM); +#endif ASSERT(MUTEX_HELD(&dtrace_lock)); for (i = 0; i <= mp_maxid; i++) { From owner-p4-projects@FreeBSD.ORG Sun Feb 10 20:12:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64F3916A420; Sun, 10 Feb 2008 20:12:36 +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 2B0B816A417 for ; Sun, 10 Feb 2008 20:12:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3775D13C4D1 for ; Sun, 10 Feb 2008 20:12:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AKCam4070968 for ; Sun, 10 Feb 2008 20:12:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AKCaU9070965 for perforce@freebsd.org; Sun, 10 Feb 2008 20:12:36 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 20:12:36 GMT Message-Id: <200802102012.m1AKCaU9070965@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135168 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 20:12:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=135168 Change 135168 by jb@jb_freebsd1 on 2008/02/10 20:12:09 Early days on i386. Some tests don't work yet. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#23 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#23 (text+ko) ==== @@ -279,6 +279,34 @@ ${TESTSRCDIR}/tst/common/predicates/tst.predcache.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh \ +.if ${MACHINE_ARCH} == "i386" + +# -------------------------------------------------------------------------------- +# This test causes i386 to go kaboom in a big way. There is a problem in the +# fbt exception code which needs to be fixed. + +NOTWORK+= \ + ${TESTSRCDIR}/tst/common/fbtprovider/tst.tailcall.d + +# Some tests that don't complete on i386.... :-/ + +NOTWORK+= ${TESTSRCDIR}/tst/common/funcs/tst.chill.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.create.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exec.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.execfail.ENOENT.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.execfail.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitcore.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitexit.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.sigwait.c +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d +NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh +NOTWORK+= ${TESTSRCDIR}/tst/common/struct/tst.StructDataTypes.d +NOTWORK+= ${TESTSRCDIR}/tst/common/union/tst.UnionDataTypes.d + +.endif + # -------------------------------------------------------------------------------- # Interrupt priority isn't relevant on FreeBSD. From owner-p4-projects@FreeBSD.ORG Sun Feb 10 20:12:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C301116A523; Sun, 10 Feb 2008 20:12:36 +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 66BE616A421 for ; Sun, 10 Feb 2008 20:12:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7257813C4FF for ; Sun, 10 Feb 2008 20:12:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AKCaqs070975 for ; Sun, 10 Feb 2008 20:12:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AKCaGK070971 for perforce@freebsd.org; Sun, 10 Feb 2008 20:12:36 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 20:12:36 GMT Message-Id: <200802102012.m1AKCaGK070971@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135169 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 20:12:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=135169 Change 135169 by jb@jb_freebsd1 on 2008/02/10 20:12:28 Add the fbt exception handling code. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_asm.S#6 edit .. //depot/projects/dtrace/src/sys/i386/i386/exception.s#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_asm.S#6 (text+ko) ==== @@ -30,11 +30,120 @@ #include #include +#include "assym.s" + + .globl calltrap + .type calltrap,@function + ENTRY(dtrace_invop_start) + + pushl %eax /* push %eax -- may be return value */ + pushl %esp /* push stack pointer */ + addl $48, (%esp) /* adjust to incoming args */ + pushl 40(%esp) /* push calling EIP */ + + /* + * Call dtrace_invop to let it check if the exception was + * a fbt one. The return value in %eax will tell us what + * dtrace_invop wants us to do. + */ + call dtrace_invop + + /* + * We pushed 3 times for the arguments to dtrace_invop, + * so we need to increment the stack pointer to get rid of + * those values. + */ + addl $12, %esp + cmpl $DTRACE_INVOP_PUSHL_EBP, %eax + je invop_push + cmpl $DTRACE_INVOP_POPL_EBP, %eax + je invop_pop + cmpl $DTRACE_INVOP_LEAVE, %eax + je invop_leave + cmpl $DTRACE_INVOP_NOP, %eax + je invop_nop + + /* When all else fails handle the trap in the usual way. */ + jmpl *dtrace_invop_calltrap_addr + +invop_push: + /* + * We must emulate a "pushl %ebp". To do this, we pull the stack + * down 4 bytes, and then store the base pointer. + */ + popal + subl $4, %esp /* make room for %ebp */ + pushl %eax /* push temp */ + movl 8(%esp), %eax /* load calling EIP */ + incl %eax /* increment over LOCK prefix */ + movl %eax, 4(%esp) /* store calling EIP */ + movl 12(%esp), %eax /* load calling CS */ + movl %eax, 8(%esp) /* store calling CS */ + movl 16(%esp), %eax /* load calling EFLAGS */ + movl %eax, 12(%esp) /* store calling EFLAGS */ + movl %ebp, 16(%esp) /* push %ebp */ + popl %eax /* pop off temp */ + iret /* Return from interrupt. */ +invop_pop: + /* + * We must emulate a "popl %ebp". To do this, we do the opposite of + * the above: we remove the %ebp from the stack, and squeeze up the + * saved state from the trap. + */ + popal + pushl %eax /* push temp */ + movl 16(%esp), %ebp /* pop %ebp */ + movl 12(%esp), %eax /* load calling EFLAGS */ + movl %eax, 16(%esp) /* store calling EFLAGS */ + movl 8(%esp), %eax /* load calling CS */ + movl %eax, 12(%esp) /* store calling CS */ + movl 4(%esp), %eax /* load calling EIP */ + incl %eax /* increment over LOCK prefix */ + movl %eax, 8(%esp) /* store calling EIP */ + popl %eax /* pop off temp */ + addl $4, %esp /* adjust stack pointer */ + iret /* Return from interrupt. */ +invop_leave: + /* + * We must emulate a "leave", which is the same as a "movl %ebp, %esp" + * followed by a "popl %ebp". This looks similar to the above, but + * requires two temporaries: one for the new base pointer, and one + * for the staging register. + */ + popa + pushl %eax /* push temp */ + pushl %ebx /* push temp */ + movl %ebp, %ebx /* set temp to old %ebp */ + movl (%ebx), %ebp /* pop %ebp */ + movl 16(%esp), %eax /* load calling EFLAGS */ + movl %eax, (%ebx) /* store calling EFLAGS */ + movl 12(%esp), %eax /* load calling CS */ + movl %eax, -4(%ebx) /* store calling CS */ + movl 8(%esp), %eax /* load calling EIP */ + incl %eax /* increment over LOCK prefix */ + movl %eax, -8(%ebx) /* store calling EIP */ + movl %ebx, -4(%esp) /* temporarily store new %esp */ + popl %ebx /* pop off temp */ + popl %eax /* pop off temp */ + movl -12(%esp), %esp /* set stack pointer */ + subl $8, %esp /* adjust for three pushes, one pop */ + iret /* return from interrupt */ +invop_nop: + /* + * We must emulate a "nop". This is obviously not hard: we need only + * advance the %eip by one. + */ + popa + incl (%esp) + iret /* return from interrupt */ + + END(dtrace_invop_start) + /* void dtrace_invop_init(void) */ ENTRY(dtrace_invop_init) - /* XXX */ + movl $dtrace_invop_start, dtrace_invop_jump_addr ret END(dtrace_invop_init) @@ -42,7 +151,7 @@ void dtrace_invop_uninit(void) */ ENTRY(dtrace_invop_uninit) - /* XXX */ + movl $0, dtrace_invop_jump_addr ret END(dtrace_invop_uninit) ==== //depot/projects/dtrace/src/sys/i386/i386/exception.s#14 (text+ko) ==== @@ -36,6 +36,7 @@ #include "opt_apic.h" #include "opt_hwpmc_hooks.h" +#include "opt_kdtrace.h" #include "opt_npx.h" #include @@ -45,7 +46,23 @@ #include "assym.s" #define SEL_RPL_MASK 0x0003 +#define GSEL_KPL 0x0020 /* GSEL(GCODE_SEL, SEL_KPL) */ +#ifdef KDTRACE_HOOKS + .bss + .globl dtrace_invop_jump_addr + .align 4 + .type dtrace_invop_jump_addr, @object + .size dtrace_invop_jump_addr, 4 +dtrace_invop_jump_addr: + .zero 4 + .globl dtrace_invop_calltrap_addr + .align 4 + .type dtrace_invop_calltrap_addr, @object + .size dtrace_invop_calltrap_addr, 4 +dtrace_invop_calltrap_addr: + .zero 8 +#endif .text #ifdef HWPMC_HOOKS ENTRY(start_exceptions) @@ -95,8 +112,6 @@ pushl $0; TRAP(T_OFLOW) IDTVEC(bnd) pushl $0; TRAP(T_BOUND) -IDTVEC(ill) - pushl $0; TRAP(T_PRIVINFLT) IDTVEC(dna) pushl $0; TRAP(T_DNA) IDTVEC(fpusegm) @@ -153,6 +168,43 @@ jmp doreti /* + * Privileged instruction fault. + */ + SUPERALIGN_TEXT +IDTVEC(ill) + /* Check if there is no DTrace hook registered. */ + cmpl $0,dtrace_invop_jump_addr + je norm_ill + + /* Check if this is a user fault. */ + cmpl $GSEL_KPL, 4(%esp) /* Check the code segment. */ + + /* If so, just handle it as a normal trap. */ + jne norm_ill + + /* + * This is a kernel instruction fault that might have been caused + * by a DTrace provider. + */ + pushal /* Push all registers onto the stack. */ + + /* + * Set our jump address for the jump back in the event that + * the exception wasn't caused by DTrace at all. + */ + movl $norm_ill, dtrace_invop_calltrap_addr + + /* Jump to the code hooked in by DTrace. */ + jmpl *dtrace_invop_jump_addr + + /* + * Process the instruction fault in the normal way. + */ +norm_ill: + pushl $0 + TRAP(T_PRIVINFLT) + +/* * SYSCALL CALL GATE (old entry point for a.out binaries) * * The intersegment call has been set up to specify one dummy parameter. From owner-p4-projects@FreeBSD.ORG Sun Feb 10 20:47:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD7CE16A420; Sun, 10 Feb 2008 20:47:15 +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 3C06016A417 for ; Sun, 10 Feb 2008 20:47:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2123413C45B for ; Sun, 10 Feb 2008 20:47:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AKlExA080329 for ; Sun, 10 Feb 2008 20:47:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AKlE2T079093 for perforce@freebsd.org; Sun, 10 Feb 2008 20:47:14 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 20:47:14 GMT Message-Id: <200802102047.m1AKlE2T079093@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135170 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 20:47:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=135170 Change 135170 by jb@jb_freebsd1 on 2008/02/10 20:46:50 Return ENOENT rather than EINVAL in case an CPU is referenced which isn't present. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#19 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#19 (text+ko) ==== @@ -178,7 +178,7 @@ curcpu, desc.dtbd_cpu); if (desc.dtbd_cpu < 0 || desc.dtbd_cpu >= NCPU) - return (EINVAL); + return (ENOENT); mutex_enter(&dtrace_lock); From owner-p4-projects@FreeBSD.ORG Sun Feb 10 20:49:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D1DEE16A420; Sun, 10 Feb 2008 20:49:17 +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 7C80016A419 for ; Sun, 10 Feb 2008 20:49:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 700B813C45D for ; Sun, 10 Feb 2008 20:49:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AKnHgP082109 for ; Sun, 10 Feb 2008 20:49:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AKnHSj082106 for perforce@freebsd.org; Sun, 10 Feb 2008 20:49:17 GMT (envelope-from jb@freebsd.org) Date: Sun, 10 Feb 2008 20:49:17 GMT Message-Id: <200802102049.m1AKnHSj082106@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135171 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 20:49:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=135171 Change 135171 by jb@jb_freebsd1 on 2008/02/10 20:49:14 Add another check that the requested CPU is not only within range but actually exists. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#20 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#20 (text+ko) ==== @@ -179,6 +179,8 @@ if (desc.dtbd_cpu < 0 || desc.dtbd_cpu >= NCPU) return (ENOENT); + if (pcpu_find(desc.dtbd_cpu) == NULL) + return (ENOENT); mutex_enter(&dtrace_lock); From owner-p4-projects@FreeBSD.ORG Sun Feb 10 21:34:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CD1516A41B; Sun, 10 Feb 2008 21:34:05 +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 D64A116A418 for ; Sun, 10 Feb 2008 21:34:04 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA2AE13C458 for ; Sun, 10 Feb 2008 21:34:04 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1ALY4Ds086122 for ; Sun, 10 Feb 2008 21:34:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1ALY4Vt086119 for perforce@freebsd.org; Sun, 10 Feb 2008 21:34:04 GMT (envelope-from marcel@freebsd.org) Date: Sun, 10 Feb 2008 21:34:04 GMT Message-Id: <200802102134.m1ALY4Vt086119@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135172 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 21:34:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=135172 Change 135172 by marcel@marcel_xcllnt on 2008/02/10 21:33:26 Add GEOM_PART_BSD by default. Affected files ... .. //depot/projects/powerpc/sys/powerpc/conf/XSERVE#5 edit Differences ... ==== //depot/projects/powerpc/sys/powerpc/conf/XSERVE#5 (text+ko) ==== @@ -9,6 +9,7 @@ options DDB options FFS options GDB +options GEOM_PART_BSD options GEOM_PART_GPT options INET options INET6 From owner-p4-projects@FreeBSD.ORG Sun Feb 10 22:07:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6AE816A46B; Sun, 10 Feb 2008 22:07:43 +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 63AFB16A41A for ; Sun, 10 Feb 2008 22:07:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C8EF13C45E for ; Sun, 10 Feb 2008 22:07:42 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1AM7eks088597 for ; Sun, 10 Feb 2008 22:07:40 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1AM7d2c088594 for perforce@freebsd.org; Sun, 10 Feb 2008 22:07:39 GMT (envelope-from marcel@freebsd.org) Date: Sun, 10 Feb 2008 22:07:39 GMT Message-Id: <200802102207.m1AM7d2c088594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135174 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Feb 2008 22:07:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=135174 Change 135174 by marcel@marcel_xcllnt on 2008/02/10 22:07:04 Refactor the SMP code to take into account the future integration of the BookE support. Abstract access to OFW, behind CPU-specific functions. This makes powerpc/powerpc/mp_machdep.c CPU-independent. Put the CPU-specific functions in powerpc/aim/mp_cpudep.c Introduce struct cpuref for the handshake between these two. Apple hardware doesn't implement the start-cpu OF call, so remove it again and instead copy the logic from NetBSD. Affected files ... .. //depot/projects/powerpc/sys/conf/files.powerpc#14 edit .. //depot/projects/powerpc/sys/powerpc/aim/locore.S#3 edit .. //depot/projects/powerpc/sys/powerpc/aim/mp_cpudep.c#1 add .. //depot/projects/powerpc/sys/powerpc/aim/ofw_machdep.c#4 edit .. //depot/projects/powerpc/sys/powerpc/include/ofw_machdep.h#3 edit .. //depot/projects/powerpc/sys/powerpc/include/pcpu.h#9 edit .. //depot/projects/powerpc/sys/powerpc/include/smp.h#5 edit .. //depot/projects/powerpc/sys/powerpc/powerpc/mp_machdep.c#14 edit Differences ... ==== //depot/projects/powerpc/sys/conf/files.powerpc#14 (text+ko) ==== @@ -63,6 +63,7 @@ powerpc/aim/locore.S optional aim no-obj powerpc/aim/machdep.c optional aim powerpc/aim/mmu_oea.c optional aim +powerpc/aim/mp_cpudep.c optional smp powerpc/aim/nexus.c optional aim powerpc/aim/ofw_machdep.c optional aim powerpc/aim/ofwmagic.S optional aim ==== //depot/projects/powerpc/sys/powerpc/aim/locore.S#3 (text+ko) ==== @@ -188,19 +188,14 @@ */ .globl __start_ap __start_ap: - li 8,0 - li 9,0x100 - mtctr 9 -1: - dcbf 0,8 - icbi 0,8 - addi 8,8,0x20 - bdnz 1b +#if 0 + li 0,0 + mtmsr 0 - sync isync - bl mi_startup + bl powerpc_smp_ap_init +#endif 9: b 9b ==== //depot/projects/powerpc/sys/powerpc/aim/ofw_machdep.c#4 (text+ko) ==== @@ -278,33 +278,6 @@ } void -OF_start_cpu(phandle_t cpu, void (*entry)(void *), void *arg) -{ - static struct { - cell_t name; - cell_t nargs; - cell_t nreturns; - cell_t cpu; - cell_t entry; - cell_t arg; - } args = { - (cell_t)"start-cpu", - 3, - 0 - }; - - printf("XXX: %s: cpu=%x, entry=%p, arg=%p...", __func__, cpu, - entry, arg); - - args.cpu = (cell_t)cpu; - args.entry = (cell_t)entry; - args.arg = (cell_t)arg; - openfirmware(&args); - - printf(" ok\n"); -} - -void OF_getetheraddr(device_t dev, u_char *addr) { phandle_t node; ==== //depot/projects/powerpc/sys/powerpc/include/ofw_machdep.h#3 (text+ko) ==== @@ -32,6 +32,5 @@ int OF_decode_addr(phandle_t, int, bus_space_tag_t *, bus_space_handle_t *); void OF_getetheraddr(device_t dev, u_char *addr); -void OF_start_cpu(phandle_t, void (*)(void *), void *); #endif /* _MACHINE_OFW_MACHDEP_H_ */ ==== //depot/projects/powerpc/sys/powerpc/include/pcpu.h#9 (text+ko) ==== @@ -40,6 +40,7 @@ int pc_inside_intr; \ struct pmap *pc_curpmap; /* current pmap */ \ struct thread *pc_fputhread; /* current fpu user */ \ + uintptr_t pc_hwref; \ int pc_bsp:1; \ int pc_awake:1; \ uint32_t pc_ipimask; \ ==== //depot/projects/powerpc/sys/powerpc/include/smp.h#5 (text+ko) ==== @@ -45,6 +45,16 @@ void ipi_selected(cpumask_t cpus, int ipi); void ipi_self(int ipi); +struct cpuref { + uintptr_t cr_hwref; + u_int cr_cpuid; +}; + +int powerpc_smp_first_cpu(struct cpuref *); +int powerpc_smp_get_bsp(struct cpuref *); +int powerpc_smp_next_cpu(struct cpuref *); +int powerpc_smp_start_cpu(struct pcpu *); + #endif /* !LOCORE */ #endif /* _KERNEL */ #endif /* !_MACHINE_SMP_H */ ==== //depot/projects/powerpc/sys/powerpc/powerpc/mp_machdep.c#14 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Marcel Moolenaar + * Copyright (c) 2006-2008 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/mp_machdep.c,v 1.13 2006/05/16 14:32:17 phk Exp $"); +__FBSDID("$FreeBSD$"); #include #include #include #include +#include #include #include @@ -39,9 +40,6 @@ #include #include -#include -#include - #include "pic_if.h" extern void __start_ap(void *); @@ -56,29 +54,14 @@ void cpu_mp_setmaxid(void) { - char buf[8]; - phandle_t dev, root; - int res; + struct cpuref cpuref; + int error; mp_ncpus = 0; - - /* - * Count the actual number of processors listed in the OFW - * device tree. - */ - root = OF_peer(0); - dev = OF_child(root); - while (dev != 0) { - res = OF_getprop(dev, "name", buf, sizeof(buf)); - if (res < 0 || strcmp(buf, "cpus") != 0) { - dev = OF_peer(dev); - continue; - } - for (dev = OF_child(dev); dev != 0; dev = OF_peer(dev)) { - res = OF_getprop(dev, "device_type", buf, sizeof(buf)); - if (res > 0 && strcmp(buf, "cpu") == 0) - mp_ncpus++; - } + error = powerpc_smp_first_cpu(&cpuref); + while (!error) { + mp_ncpus++; + error = powerpc_smp_next_cpu(&cpuref); } /* Sanity. */ if (mp_ncpus == 0) @@ -86,7 +69,7 @@ /* * Set the largest cpuid we're going to use. This is necessary - * for * VM initialization. + * for VM initialization. */ mp_maxid = min(mp_ncpus, MAXCPU) - 1; } @@ -104,58 +87,39 @@ void cpu_mp_start(void) { - char buf[8]; + struct cpuref bsp, cpu; struct pcpu *pc; - ihandle_t inst; - phandle_t bsp, chosen, dev, root; - int cpuid, res; + int error; - /* Get the p-handle of the BSP. */ - chosen = OF_finddevice("/chosen"); - res = OF_getprop(chosen, "cpu", &inst, sizeof(inst)); - bsp = (res > 0) ? OF_instance_to_package(inst) : -1; + error = powerpc_smp_get_bsp(&bsp); + KASSERT(error == 0, ("Don't know BSP")); + KASSERT(bsp.cr_cpuid == 0, ("%s: cpuid != 0", __func__)); - root = OF_peer(0); - dev = OF_child(root); - while (dev != 0) { - res = OF_getprop(dev, "name", buf, sizeof(buf)); - if (res > 0 && !strcmp(buf, "cpus")) - break; - dev = OF_peer(dev); - } - KASSERT(dev != 0, ("%s: dev == 0", __func__)); - for (dev = OF_child(dev); dev != 0; dev = OF_peer(dev)) { - res = OF_getprop(dev, "device_type", buf, sizeof(buf)); - if (res < 0 || strcmp(buf, "cpu") != 0) - continue; - res = OF_getprop(dev, "reg", &cpuid, sizeof(cpuid)); - if (res < 0) - continue; - cpuid &= 0xff; - if (cpuid >= MAXCPU) { + error = powerpc_smp_first_cpu(&cpu); + while (!error) { + if (cpu.cr_cpuid >= MAXCPU) { printf("SMP: cpu%d: skipped -- ID out of range\n", - cpuid); - continue; + cpu.cr_cpuid); + goto next; } - if (all_cpus & (1 << cpuid)) { - printf("SMP: cpu%d: skipped - duplicate ID\n", cpuid); - continue; + if (all_cpus & (1 << cpu.cr_cpuid)) { + printf("SMP: cpu%d: skipped - duplicate ID\n", + cpu.cr_cpuid); + goto next; } - if (dev != bsp) { + if (cpu.cr_cpuid != bsp.cr_cpuid) { pc = (struct pcpu *)malloc(sizeof(*pc), M_SMP, M_WAITOK); - pcpu_init(pc, cpuid, sizeof(*pc)); + pcpu_init(pc, cpu.cr_cpuid, sizeof(*pc)); } else { - KASSERT(cpuid == 0, ("%s: cpuid != 0", __func__)); pc = pcpup; pc->pc_bsp = 1; } - all_cpus |= 1 << cpuid; - if (pc->pc_bsp) - continue; + pc->pc_hwref = cpu.cr_hwref; + all_cpus |= 1 << cpu.cr_cpuid; - /* Start AP */ - OF_start_cpu(dev, __start_ap, pc); + next: + error = powerpc_smp_next_cpu(&cpu); } } @@ -185,13 +149,22 @@ if (mp_ncpus <= 1) return; - if (mp_ipi_test != 1) - printf("SMP: WARNING: sending of a test IPI failed\n"); + if (mp_ipi_test != 1) { + printf("SMP: ERROR: sending of a test IPI failed\n"); + return; + } cpus = 0; smp_cpus = 0; SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { cpus++; + if (!pc->pc_bsp) { + printf("Waking up CPU %d (dev=%u)\n", pc->pc_cpuid, + pc->pc_hwref); + powerpc_smp_start_cpu(pc); + } else + pc->pc_awake = 1; + if (pc->pc_awake) smp_cpus++; } From owner-p4-projects@FreeBSD.ORG Mon Feb 11 03:08:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58E9B16A41B; Mon, 11 Feb 2008 03:08:34 +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 1DDD816A419 for ; Mon, 11 Feb 2008 03:08:34 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 09C7813C467 for ; Mon, 11 Feb 2008 03:08:34 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B38XpD022157 for ; Mon, 11 Feb 2008 03:08:33 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B38X61022154 for perforce@freebsd.org; Mon, 11 Feb 2008 03:08:33 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 03:08:33 GMT Message-Id: <200802110308.m1B38X61022154@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 03:08:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=135186 Change 135186 by sephe@sephe_zealot:sam_wifi on 2008/02/11 03:07:52 Promote change_channel() in ieee80211_scan.c to public interface ieee80211_set_channel(); more things would be done in this function Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#62 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#89 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#99 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#65 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#20 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#64 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#62 (text+ko) ==== @@ -1225,3 +1225,10 @@ ieeerates[IFM_SUBTYPE(mword)] : 0; #undef N } + +void +ieee80211_set_channel(struct ieee80211com *ic, struct ieee80211_channel *c) +{ + ic->ic_curchan = c; + ic->ic_set_channel(ic); +} ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#89 (text+ko) ==== @@ -1757,9 +1757,10 @@ /* * Monitor and wds modes can switch directly. */ - ic->ic_curchan = ic->ic_des_chan; if (ic->ic_state == IEEE80211_S_RUN) - ic->ic_set_channel(ic); + ieee80211_set_channel(ic, ic->ic_des_chan); + else + ic->ic_curchan = ic->ic_des_chan; } else { /* * Need to go through the state machine in case we ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#99 (text+ko) ==== @@ -542,9 +542,8 @@ ieee80211_setbsschan(struct ieee80211com *ic, struct ieee80211_channel *c) { ic->ic_bsschan = c; - ic->ic_curchan = ic->ic_bsschan; - ic->ic_curmode = ieee80211_chan2mode(ic->ic_curchan); - ic->ic_set_channel(ic); + ic->ic_curmode = ieee80211_chan2mode(ic->ic_bsschan); + ieee80211_set_channel(ic, ic->ic_bsschan); } /* ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#65 (text+ko) ==== @@ -953,8 +953,7 @@ ic->ic_bsschan = chan; ic->ic_prevchan = ic->ic_curchan; - ic->ic_curchan = chan; - ic->ic_set_channel(ic); + ieee80211_set_channel(ic, chan); /* NB: do not need to reset ERP state 'cuz we're in sta mode */ } ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#20 (text+ko) ==== @@ -232,14 +232,6 @@ return (scan != NULL); } -static void -change_channel(struct ieee80211com *ic, - struct ieee80211_channel *chan) -{ - ic->ic_curchan = chan; - ic->ic_set_channel(ic); -} - static char channel_type(const struct ieee80211_channel *c) { @@ -742,7 +734,7 @@ /* * Potentially change channel and phy mode. */ - change_channel(ic, chan); + ieee80211_set_channel(ic, chan); /* * Scan curchan. Drivers for "intelligent hardware" @@ -768,7 +760,7 @@ /* return to the bss channel */ if (ic->ic_bsschan != IEEE80211_CHAN_ANYC && ic->ic_curchan != ic->ic_bsschan) - change_channel(ic, ic->ic_bsschan); + ieee80211_set_channel(ic, ic->ic_bsschan); /* clear internal flags and any indication of a pick */ SCAN_PRIVATE(ss)->ss_iflags &= ~ISCAN_REP; ss->ss_flags &= ~IEEE80211_SCAN_GOTPICK; ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#64 (text+ko) ==== @@ -428,6 +428,8 @@ int ieee, int flags); int ieee80211_setmode(struct ieee80211com *, enum ieee80211_phymode); enum ieee80211_phymode ieee80211_chan2mode(const struct ieee80211_channel *); +void ieee80211_set_channel(struct ieee80211com *, + struct ieee80211_channel *); /* * Key update synchronization methods. XXX should not be visible. From owner-p4-projects@FreeBSD.ORG Mon Feb 11 03:43:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB02E16A46B; Mon, 11 Feb 2008 03:43:11 +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 8754616A421 for ; Mon, 11 Feb 2008 03:43:11 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7368013C4D5 for ; Mon, 11 Feb 2008 03:43:11 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B3hBRB024448 for ; Mon, 11 Feb 2008 03:43:11 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B3hB6l024445 for perforce@freebsd.org; Mon, 11 Feb 2008 03:43:11 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 03:43:11 GMT Message-Id: <200802110343.m1B3hB6l024445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135189 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 03:43:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=135189 Change 135189 by sephe@sephe_zealot:sam_wifi on 2008/02/11 03:42:55 - Embed current channel's rate table in ieee80211com - When set current channel (no matter whether channel switching really happens or not), update current channel's rate table accordingly Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#63 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#90 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#65 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#63 (text+ko) ==== @@ -191,7 +191,7 @@ ic->ic_bsschan = IEEE80211_CHAN_ANYC; ic->ic_prevchan = NULL; /* arbitrarily pick the first channel */ - ic->ic_curchan = &ic->ic_channels[0]; + ieee80211_update_curchan(ic, &ic->ic_channels[0]); /* fillin well-known rate sets if driver has not specified */ DEFAULTRATES(IEEE80211_MODE_11B, ieee80211_rateset_11b); @@ -1227,8 +1227,15 @@ } void +ieee80211_update_curchan(struct ieee80211com *ic, struct ieee80211_channel *c) +{ + ic->ic_curchan = c; + ic->ic_currates = ieee80211_get_ratetable(c); +} + +void ieee80211_set_channel(struct ieee80211com *ic, struct ieee80211_channel *c) { - ic->ic_curchan = c; + ieee80211_update_curchan(ic, c); ic->ic_set_channel(ic); } ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#90 (text+ko) ==== @@ -1760,7 +1760,7 @@ if (ic->ic_state == IEEE80211_S_RUN) ieee80211_set_channel(ic, ic->ic_des_chan); else - ic->ic_curchan = ic->ic_des_chan; + ieee80211_update_curchan(ic, ic->ic_des_chan); } else { /* * Need to go through the state machine in case we @@ -1775,7 +1775,7 @@ * been specified fix the current channel so * there is immediate feedback; e.g. via ifconfig. */ - ic->ic_curchan = ic->ic_des_chan; + ieee80211_update_curchan(ic, ic->ic_des_chan); } } return error; ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#65 (text+ko) ==== @@ -85,6 +85,7 @@ #define IEEE80211_TU_TO_MS(x) (((x) * 1024) / 1000) #define IEEE80211_TU_TO_TICKS(x)(((x) * 1024 * hz) / (1000 * 1000)) +struct ieee80211_rate_table; struct ieee80211_aclator; struct sysctl_ctx_list; @@ -145,6 +146,8 @@ uint8_t ic_chan_avail[IEEE80211_CHAN_BYTES]; uint8_t ic_chan_active[IEEE80211_CHAN_BYTES]; uint8_t ic_chan_scan[IEEE80211_CHAN_BYTES]; + /* current channel ratetable */ + const struct ieee80211_rate_table *ic_currates; struct ieee80211_channel *ic_curchan; /* current channel */ struct ieee80211_channel *ic_bsschan; /* bss channel */ struct ieee80211_channel *ic_prevchan; /* previous channel */ @@ -430,6 +433,8 @@ enum ieee80211_phymode ieee80211_chan2mode(const struct ieee80211_channel *); void ieee80211_set_channel(struct ieee80211com *, struct ieee80211_channel *); +void ieee80211_update_curchan(struct ieee80211com *, + struct ieee80211_channel *); /* * Key update synchronization methods. XXX should not be visible. From owner-p4-projects@FreeBSD.ORG Mon Feb 11 03:47:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7548B16A41A; Mon, 11 Feb 2008 03:47:16 +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 3AAE316A418 for ; Mon, 11 Feb 2008 03:47:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1AA8A13C44B for ; Mon, 11 Feb 2008 03:47:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B3lG2b024671 for ; Mon, 11 Feb 2008 03:47:16 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B3lFkb024668 for perforce@freebsd.org; Mon, 11 Feb 2008 03:47:15 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 03:47:15 GMT Message-Id: <200802110347.m1B3lFkb024668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135191 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 03:47:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=135191 Change 135191 by sephe@sephe_zealot:sam_wifi on 2008/02/11 03:47:00 Current channel's rate table is in ieee80211com now. Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#34 edit .. //depot/projects/wifi/sys/dev/ral/rt2560var.h#11 edit .. //depot/projects/wifi/sys/dev/ral/rt2661.c#25 edit .. //depot/projects/wifi/sys/dev/ral/rt2661var.h#9 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#34 (text) ==== @@ -1488,7 +1488,7 @@ desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (ieee80211_rate2phytype(sc->sc_currates, rate) == IEEE80211_T_OFDM) { + if (ieee80211_rate2phytype(ic->ic_currates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RT2560_TX_OFDM); plcp_length = len & 0xfff; @@ -1626,7 +1626,7 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2560_TX_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, rate, + dur = ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); *(uint16_t *)wh->i_dur = htole16(dur); @@ -1811,12 +1811,12 @@ rtsrate = IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2; - dur = ieee80211_ack_duration(sc->sc_currates, + dur = ieee80211_ack_duration(ic->ic_currates, rtsrate, ic->ic_flags) - + ieee80211_compute_duration(sc->sc_currates, + + ieee80211_compute_duration(ic->ic_currates, m0->m_pkthdr.len + IEEE80211_CRC_LEN, rate, ic->ic_flags) - + ieee80211_ack_duration(sc->sc_currates, + + ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); m = rt2560_get_rts(sc, wh, dur); @@ -1923,7 +1923,7 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2560_TX_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, rate, + dur = ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -2229,7 +2229,6 @@ chan = ieee80211_chan2ieee(ic, c); if (chan == 0 || chan == IEEE80211_CHAN_ANY) return; - sc->sc_currates = ieee80211_get_ratetable(c); if (IEEE80211_IS_CHAN_2GHZ(c)) power = min(sc->txpow[chan - 1], 31); ==== //depot/projects/wifi/sys/dev/ral/rt2560var.h#11 (text) ==== @@ -165,7 +165,6 @@ #define RT2560_F_PRIO_OACTIVE 0x2 #define RT2560_F_DATA_OACTIVE 0x4 int sc_flags; - const struct ieee80211_rate_table *sc_currates; }; int rt2560_attach(device_t, int); ==== //depot/projects/wifi/sys/dev/ral/rt2661.c#25 (text) ==== @@ -1356,7 +1356,7 @@ desc->plcp_service = 4; len += IEEE80211_CRC_LEN; - if (ieee80211_rate2phytype(sc->sc_currates, rate) == IEEE80211_T_OFDM) { + if (ieee80211_rate2phytype(ic->ic_currates, rate) == IEEE80211_T_OFDM) { desc->flags |= htole32(RT2661_TX_OFDM); plcp_length = len & 0xfff; @@ -1442,7 +1442,7 @@ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2661_TX_NEED_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, + dur = ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); *(uint16_t *)wh->i_dur = htole16(dur); @@ -1567,12 +1567,12 @@ rtsrate = IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2; - dur = ieee80211_ack_duration(sc->sc_currates, + dur = ieee80211_ack_duration(ic->ic_currates, rtsrate, ic->ic_flags) - + ieee80211_compute_duration(sc->sc_currates, + + ieee80211_compute_duration(ic->ic_currates, m0->m_pkthdr.len + IEEE80211_CRC_LEN, rate, ic->ic_flags) - + ieee80211_ack_duration(sc->sc_currates, + + ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); m = rt2661_get_rts(sc, wh, dur); @@ -1676,7 +1676,7 @@ if (!noack && !IEEE80211_IS_MULTICAST(wh->i_addr1)) { flags |= RT2661_TX_NEED_ACK; - dur = ieee80211_ack_duration(sc->sc_currates, rate, + dur = ieee80211_ack_duration(ic->ic_currates, rate, ic->ic_flags); *(uint16_t *)wh->i_dur = htole16(dur); } @@ -2137,8 +2137,6 @@ if (chan == 0 || chan == IEEE80211_CHAN_ANY) return; - sc->sc_currates = ieee80211_get_ratetable(c); - /* select the appropriate RF settings based on what EEPROM says */ rfprog = (sc->rfprog == 0) ? rt2661_rf5225_1 : rt2661_rf5225_2; ==== //depot/projects/wifi/sys/dev/ral/rt2661var.h#9 (text) ==== @@ -168,7 +168,6 @@ int sc_txtap_len; #define RAL_INPUT_RUNNING 1 int sc_flags; - const struct ieee80211_rate_table *sc_currates; }; int rt2661_attach(device_t, int); From owner-p4-projects@FreeBSD.ORG Mon Feb 11 04:38:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76E4816A420; Mon, 11 Feb 2008 04:38:11 +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 3B9F916A419 for ; Mon, 11 Feb 2008 04:38:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 215A913C4E7 for ; Mon, 11 Feb 2008 04:38:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B4cBQi028661 for ; Mon, 11 Feb 2008 04:38:11 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B4cA2j028658 for perforce@freebsd.org; Mon, 11 Feb 2008 04:38:10 GMT (envelope-from sam@freebsd.org) Date: Mon, 11 Feb 2008 04:38:10 GMT Message-Id: <200802110438.m1B4cA2j028658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 135192 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 04:38:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=135192 Change 135192 by sam@sam_ebb on 2008/02/11 04:37:28 purge dead code Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_scan_sta.c#18 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_scan_sta.c#18 (text+ko) ==== @@ -1641,131 +1641,8 @@ /* * Module glue. */ -#if 0 -IEEE80211_SCANNER_MODULE(sta, IEEE80211_M_STA, sta_default, 1); -IEEE80211_SCANNER_MODULE(adhoc, IEEE80211_M_IBSS, adhoc_default, 1); -IEEE80211_SCANNER_MODULE(adhoc, IEEE80211_M_AHDEMO, adhoc_default, 1); -IEEE80211_SCANNER_MODULE(ap, IEEE80211_M_HOSTAP, ap_default, 1); -static int -wlan_scan_modevent(module_t mod, int type, void *unused) -{ - switch (type) { - case MOD_LOAD: - ieee80211_scanner_register(IEEE80211_M_STA, &sta_default); - ieee80211_scanner_register(IEEE80211_M_IBSS, &adhoc_default); - ieee80211_scanner_register(IEEE80211_M_AHDEMO, &adhoc_default); - ieee80211_scanner_register(IEEE80211_M_HOSTAP, &ap_default); - return 0; - case MOD_UNLOAD: - case MOD_QUIESCE: - if (nrefs) { - printf("wlan_scan: still in use (%u dynamic refs)\n", - nrefs); - return EBUSY; - } - if (type == MOD_UNLOAD) { - ieee80211_scanner_unregister_all(&sta_default); - ieee80211_scanner_unregister_all(&adhoc_default); - ieee80211_scanner_unregister_all(&ap_default); - } - return 0; - } - return EINVAL; -} -static moduledata_t wlan_scan_mod = { - "wlan_scan_sta", - wlan_scan_modevent, - 0 -}; -DECLARE_MODULE(wlan_scan_sta, wlan_scan_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); -MODULE_VERSION(wlan_scan_sta, 1); -MODULE_DEPEND(wlan_scan_sta, wlan, 1, 1, 1); -#endif -#if 0 -typedef void (*scanner_setup)(int); -SET_DECLARE(scanner_set, scanner_setup); - -static int -wlan_scan_modevent(module_t mod, int type, void *unused) -{ - scanner_setup * const *iter, f; - - switch (type) { - case MOD_LOAD: - SET_FOREACH(iter, scanner_set) { - f = (void*) *iter; - f(type); - } - return 0; - case MOD_UNLOAD: - case MOD_QUIESCE: - if (nrefs) { - printf("wlan_scan: still in use (%u dynamic refs)\n", - nrefs); - return EBUSY; - } - if (type == MOD_UNLOAD) { - SET_FOREACH(iter, scanner_set) { - f = (void*) *iter; - f(type); - } - } - return 0; - } - return EINVAL; -} -static moduledata_t wlan_scan_mod = { - "wlan_scan_sta", - wlan_scan_modevent, - 0 -}; -DECLARE_MODULE(wlan_scan_sta, wlan_scan_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); -MODULE_VERSION(wlan_scan_sta, 1); -MODULE_DEPEND(wlan_scan_sta, wlan, 1, 1, 1); - -static void -sta_modevent(int type) -{ - if (type == MOD_LOAD) - ieee80211_scanner_register(IEEE80211_M_STA, &sta_default); - else - ieee80211_scanner_unregister(IEEE80211_M_STA, &sta_default); -} -TEXT_SET(scanner_set, sta_modevent); - -static void -ibss_modevent(int type) -{ - if (type == MOD_LOAD) - ieee80211_scanner_register(IEEE80211_M_IBSS, &adhoc_default); - else - ieee80211_scanner_unregister(IEEE80211_M_IBSS, &adhoc_default); -} -TEXT_SET(scanner_set, ibss_modevent); - -static void -ahdemo_modevent(int type) -{ - if (type == MOD_LOAD) - ieee80211_scanner_register(IEEE80211_M_AHDEMO, &adhoc_default); - else - ieee80211_scanner_unregister(IEEE80211_M_AHDEMO, &adhoc_default); -} -TEXT_SET(scanner_set, ahdemo_modevent); - -static void -ap_modevent(int type) -{ - if (type == MOD_LOAD) - ieee80211_scanner_register(IEEE80211_M_HOSTAP, &ap_default); - else - ieee80211_scanner_unregister(IEEE80211_M_HOSTAP, &ap_default); -} -TEXT_SET(scanner_set, ap_modevent); -#else IEEE80211_SCANNER_MODULE(sta, 1); IEEE80211_SCANNER_ALG(sta, IEEE80211_M_STA, sta_default); IEEE80211_SCANNER_ALG(ibss, IEEE80211_M_IBSS, adhoc_default); IEEE80211_SCANNER_ALG(ahdemo, IEEE80211_M_AHDEMO, adhoc_default); IEEE80211_SCANNER_ALG(ap, IEEE80211_M_HOSTAP, ap_default); -#endif From owner-p4-projects@FreeBSD.ORG Mon Feb 11 04:44:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9747416A419; Mon, 11 Feb 2008 04:44:19 +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 5CAE516A417 for ; Mon, 11 Feb 2008 04:44:19 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 452ED13C4EC for ; Mon, 11 Feb 2008 04:44:19 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B4iJuM028927 for ; Mon, 11 Feb 2008 04:44:19 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B4iJvC028924 for perforce@freebsd.org; Mon, 11 Feb 2008 04:44:19 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 04:44:19 GMT Message-Id: <200802110444.m1B4iJvC028924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135193 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 04:44:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=135193 Change 135193 by sephe@sephe_zealot:sam_wifi on 2008/02/11 04:43:42 Reorder rate field in rate table; this probably could save us some space. Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_phy.c#8 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_phy.c#8 (text+ko) ==== @@ -84,13 +84,13 @@ uint8_t rateCodeToIndex[256]; /* back mapping */ struct { uint8_t phy; /* CCK/OFDM/TURBO */ - uint32_t rateKbps; /* transfer rate in kbs */ uint8_t shortPreamble; /* mask for enabling short * preamble in CCK rate code */ uint8_t dot11Rate; /* value for supported rates * info element of MLME */ uint8_t ctlRateIndex; /* index of next lower basic * rate; used for dur. calcs */ + uint32_t rateKbps; /* transfer rate in kbs */ uint16_t lpAckDuration; /* long preamble ACK dur. */ uint16_t spAckDuration; /* short preamble ACK dur. */ } info[32]; @@ -112,13 +112,13 @@ 4, /* number of rates, XXX no PBCC */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 1 Mb */ { CCK, 1000, 0x00, (0x80| 2), 0 }, -/* 2 Mb */ { CCK, 2000, 0x04, (0x80| 4), 1 }, -/* 5.5 Mb */ { CCK, 5500, 0x04, (0x80|11), 1 }, -/* 11 Mb */ { CCK, 11000, 0x04, (0x80|22), 1 }, -/* 22 Mb */ { PBCC, 22000, 0x04, 44, 3 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 1 Mb */ { CCK, 0x00, (0x80| 2), 0, 1000 }, +/* 2 Mb */ { CCK, 0x04, (0x80| 4), 1, 2000 }, +/* 5.5 Mb */ { CCK, 0x04, (0x80|11), 1, 5500 }, +/* 11 Mb */ { CCK, 0x04, (0x80|22), 1, 11000 }, +/* 22 Mb */ { PBCC, 0x04, 44, 3, 22000 } }, }; @@ -127,20 +127,20 @@ 12, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 1 Mb */ { CCK, 1000, 0x00, (0x80| 2), 0 }, -/* 2 Mb */ { CCK, 2000, 0x04, (0x80| 4), 1 }, -/* 5.5 Mb */ { CCK, 5500, 0x04, (0x80|11), 2 }, -/* 11 Mb */ { CCK, 11000, 0x04, (0x80|22), 3 }, -/* 6 Mb */ { OFDM, 6000, 0x00, 12, 4 }, -/* 9 Mb */ { OFDM, 9000, 0x00, 18, 4 }, -/* 12 Mb */ { OFDM, 12000, 0x00, 24, 6 }, -/* 18 Mb */ { OFDM, 18000, 0x00, 36, 6 }, -/* 24 Mb */ { OFDM, 24000, 0x00, 48, 8 }, -/* 36 Mb */ { OFDM, 36000, 0x00, 72, 8 }, -/* 48 Mb */ { OFDM, 48000, 0x00, 96, 8 }, -/* 54 Mb */ { OFDM, 54000, 0x00, 108, 8 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 1 Mb */ { CCK, 0x00, (0x80| 2), 0, 1000 }, +/* 2 Mb */ { CCK, 0x04, (0x80| 4), 1, 2000 }, +/* 5.5 Mb */ { CCK, 0x04, (0x80|11), 2, 5500 }, +/* 11 Mb */ { CCK, 0x04, (0x80|22), 3, 11000 }, +/* 6 Mb */ { OFDM, 0x00, 12, 4, 6000 }, +/* 9 Mb */ { OFDM, 0x00, 18, 4, 9000 }, +/* 12 Mb */ { OFDM, 0x00, 24, 6, 12000 }, +/* 18 Mb */ { OFDM, 0x00, 36, 6, 18000 }, +/* 24 Mb */ { OFDM, 0x00, 48, 8, 24000 }, +/* 36 Mb */ { OFDM, 0x00, 72, 8, 36000 }, +/* 48 Mb */ { OFDM, 0x00, 96, 8, 48000 }, +/* 54 Mb */ { OFDM, 0x00, 108, 8, 54000 } }, }; @@ -148,16 +148,16 @@ 8, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 6 Mb */ { OFDM, 6000, 0x00, (0x80|12), 0 }, -/* 9 Mb */ { OFDM, 9000, 0x00, 18, 0 }, -/* 12 Mb */ { OFDM, 12000, 0x00, (0x80|24), 2 }, -/* 18 Mb */ { OFDM, 18000, 0x00, 36, 2 }, -/* 24 Mb */ { OFDM, 24000, 0x00, (0x80|48), 4 }, -/* 36 Mb */ { OFDM, 36000, 0x00, 72, 4 }, -/* 48 Mb */ { OFDM, 48000, 0x00, 96, 4 }, -/* 54 Mb */ { OFDM, 54000, 0x00, 108, 4 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 6 Mb */ { OFDM, 0x00, (0x80|12), 0, 6000 }, +/* 9 Mb */ { OFDM, 0x00, 18, 0, 9000 }, +/* 12 Mb */ { OFDM, 0x00, (0x80|24), 2, 12000 }, +/* 18 Mb */ { OFDM, 0x00, 36, 2, 18000 }, +/* 24 Mb */ { OFDM, 0x00, (0x80|48), 4, 24000 }, +/* 36 Mb */ { OFDM, 0x00, 72, 4, 36000 }, +/* 48 Mb */ { OFDM, 0x00, 96, 4, 48000 }, +/* 54 Mb */ { OFDM, 0x00, 108, 4, 54000 } }, }; @@ -165,16 +165,16 @@ 8, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 6 Mb */ { OFDM, 3000, 0x00, (0x80| 6), 0 }, -/* 9 Mb */ { OFDM, 4500, 0x00, 9, 0 }, -/* 12 Mb */ { OFDM, 6000, 0x00, (0x80|12), 2 }, -/* 18 Mb */ { OFDM, 9000, 0x00, 18, 2 }, -/* 24 Mb */ { OFDM, 12000, 0x00, (0x80|24), 4 }, -/* 36 Mb */ { OFDM, 18000, 0x00, 36, 4 }, -/* 48 Mb */ { OFDM, 24000, 0x00, 48, 4 }, -/* 54 Mb */ { OFDM, 27000, 0x00, 54, 4 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 6 Mb */ { OFDM, 0x00, (0x80| 6), 0, 3000 }, +/* 9 Mb */ { OFDM, 0x00, 9, 0, 4500 }, +/* 12 Mb */ { OFDM, 0x00, (0x80|12), 2, 6000 }, +/* 18 Mb */ { OFDM, 0x00, 18, 2, 9000 }, +/* 24 Mb */ { OFDM, 0x00, (0x80|24), 4, 12000 }, +/* 36 Mb */ { OFDM, 0x00, 36, 4, 18000 }, +/* 48 Mb */ { OFDM, 0x00, 48, 4, 24000 }, +/* 54 Mb */ { OFDM, 0x00, 54, 4, 27000 } }, }; @@ -182,16 +182,16 @@ 8, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 6 Mb */ { OFDM, 1500, 0x00, (0x80| 3), 0 }, -/* 9 Mb */ { OFDM, 2250, 0x00, 4, 0 }, -/* 12 Mb */ { OFDM, 3000, 0x00, (0x80| 6), 2 }, -/* 18 Mb */ { OFDM, 4500, 0x00, 9, 2 }, -/* 24 Mb */ { OFDM, 6000, 0x00, (0x80|12), 4 }, -/* 36 Mb */ { OFDM, 9000, 0x00, 18, 4 }, -/* 48 Mb */ { OFDM, 12000, 0x00, 24, 4 }, -/* 54 Mb */ { OFDM, 13500, 0x00, 27, 4 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 6 Mb */ { OFDM, 0x00, (0x80| 3), 0, 1500 }, +/* 9 Mb */ { OFDM, 0x00, 4, 0, 2250 }, +/* 12 Mb */ { OFDM, 0x00, (0x80| 6), 2, 3000 }, +/* 18 Mb */ { OFDM, 0x00, 9, 2, 4500 }, +/* 24 Mb */ { OFDM, 0x00, (0x80|12), 4, 6000 }, +/* 36 Mb */ { OFDM, 0x00, 18, 4, 9000 }, +/* 48 Mb */ { OFDM, 0x00, 24, 4, 12000 }, +/* 54 Mb */ { OFDM, 0x00, 27, 4, 13500 } }, }; @@ -199,15 +199,15 @@ 7, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 6 Mb */ { TURBO, 6000, 0x00, (0x80|12), 0 }, -/* 12 Mb */ { TURBO, 12000, 0x00, (0x80|24), 1 }, -/* 18 Mb */ { TURBO, 18000, 0x00, 36, 1 }, -/* 24 Mb */ { TURBO, 24000, 0x00, (0x80|48), 3 }, -/* 36 Mb */ { TURBO, 36000, 0x00, 72, 3 }, -/* 48 Mb */ { TURBO, 48000, 0x00, 96, 3 }, -/* 54 Mb */ { TURBO, 54000, 0x00, 108, 3 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 6 Mb */ { TURBO, 0x00, (0x80|12), 0, 6000 }, +/* 12 Mb */ { TURBO, 0x00, (0x80|24), 1, 12000 }, +/* 18 Mb */ { TURBO, 0x00, 36, 1, 18000 }, +/* 24 Mb */ { TURBO, 0x00, (0x80|48), 3, 24000 }, +/* 36 Mb */ { TURBO, 0x00, 72, 3, 36000 }, +/* 48 Mb */ { TURBO, 0x00, 96, 3, 48000 }, +/* 54 Mb */ { TURBO, 0x00, 108, 3, 54000 } }, }; @@ -215,16 +215,16 @@ 8, /* number of rates */ { 0 }, { -/* short ctrl */ -/* Preamble dot11Rate Rate */ -/* 6 Mb */ { TURBO, 6000, 0x00, (0x80|12), 0 }, -/* 9 Mb */ { TURBO, 9000, 0x00, 18, 0 }, -/* 12 Mb */ { TURBO, 12000, 0x00, (0x80|24), 2 }, -/* 18 Mb */ { TURBO, 18000, 0x00, 36, 2 }, -/* 24 Mb */ { TURBO, 24000, 0x00, (0x80|48), 4 }, -/* 36 Mb */ { TURBO, 36000, 0x00, 72, 4 }, -/* 48 Mb */ { TURBO, 48000, 0x00, 96, 4 }, -/* 54 Mb */ { TURBO, 54000, 0x00, 108, 4 } +/* short ctrl */ +/* Preamble dot11Rate Rate */ +/* 6 Mb */ { TURBO, 0x00, (0x80|12), 0, 6000 }, +/* 9 Mb */ { TURBO, 0x00, 18, 0, 9000 }, +/* 12 Mb */ { TURBO, 0x00, (0x80|24), 2, 12000 }, +/* 18 Mb */ { TURBO, 0x00, 36, 2, 18000 }, +/* 24 Mb */ { TURBO, 0x00, (0x80|48), 4, 24000 }, +/* 36 Mb */ { TURBO, 0x00, 72, 4, 36000 }, +/* 48 Mb */ { TURBO, 0x00, 96, 4, 48000 }, +/* 54 Mb */ { TURBO, 0x00, 108, 4, 54000 } }, }; From owner-p4-projects@FreeBSD.ORG Mon Feb 11 04:50:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1019516A41A; Mon, 11 Feb 2008 04:50:26 +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 C98E516A418 for ; Mon, 11 Feb 2008 04:50:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3A4513C447 for ; Mon, 11 Feb 2008 04:50:25 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B4oPo7038092 for ; Mon, 11 Feb 2008 04:50:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B4oP5K038089 for perforce@freebsd.org; Mon, 11 Feb 2008 04:50:25 GMT (envelope-from sam@freebsd.org) Date: Mon, 11 Feb 2008 04:50:25 GMT Message-Id: <200802110450.m1B4oP5K038089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 135194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 04:50:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=135194 Change 135194 by sam@sam_ebb on 2008/02/11 04:49:54 o hookup station inactivity timeout to ht support; the new ieee80211_ht_node_age routine handles HT-related work o move station resource aging work to an ic_node_age method that drivers can override (default method ages power save and wds q's and calls ieee80211_ht_node_age for HT nodes) o add drain mechanism for forcibly reclaiming resources held at the net80211 layer: ieee80211_drain can be called to do this and per-station work is done with ic_node_drain method that drivers can hook o add some comments Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ht.c#14 edit .. //depot/projects/vap/sys/net80211/ieee80211_ht.h#10 edit .. //depot/projects/vap/sys/net80211/ieee80211_node.c#27 edit .. //depot/projects/vap/sys/net80211/ieee80211_var.h#28 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#14 (text+ko) ==== @@ -87,9 +87,9 @@ int ieee80211_ampdu_age = -1; /* threshold for ampdu reorder q (ms) */ #endif int ieee80211_recv_bar_ena = 1; -int ieee80211_addba_timeout = -1; -int ieee80211_addba_backoff = -1; -int ieee80211_addba_maxtries = 3; +int ieee80211_addba_timeout = -1; /* timeout waiting for ADDBA response */ +int ieee80211_addba_backoff = -1; /* backoff after max ADDBA requests */ +int ieee80211_addba_maxtries = 3; /* max ADDBA requests before backoff */ /* * Setup HT parameters that depends on the clock frequency. @@ -813,6 +813,45 @@ IEEE80211_NODE_AMPDU); } +/* + * Age out HT resources for a station. + */ +void +ieee80211_ht_node_age(struct ieee80211_node *ni) +{ +#ifdef IEEE80211_AMPDU_AGE + struct ieee80211vap *vap = ni->ni_vap; + uint8_t tid; +#endif + + KASSERT(ni->ni_flags & IEEE80211_NODE_HT, ("not an HT sta")); + +#ifdef IEEE80211_AMPDU_AGE + for (tid = 0; tid < WME_NUM_TID; tid++) { + struct ieee80211_rx_ampdu *rap; + + rap = &ni->ni_rx_ampdu[tid]; + if ((rap->rxa_flags & IEEE80211_AGGR_XCHGPEND) == 0) + continue; + if (rap->rxa_qframes == 0) + continue; + /* + * Check for frames sitting too long in the reorder queue. + * See above for more details on what's happening here. + */ + /* XXX honor batimeout? */ + if (ticks - rap->rxa_age > ieee80211_ampdu_age) { + /* + * Too long since we received the first + * frame; flush the reorder buffer. + */ + vap->iv_stats.is_ampdu_rx_age += rap->rxa_qframes; + ampdu_rx_flush(ni, rap); + } + } +#endif /* IEEE80211_AMPDU_AGE */ +} + static struct ieee80211_channel * findhtchan(struct ieee80211com *ic, struct ieee80211_channel *c, int htflags) { ==== //depot/projects/vap/sys/net80211/ieee80211_ht.h#10 (text+ko) ==== @@ -162,6 +162,7 @@ void ieee80211_recv_bar(struct ieee80211_node *, struct mbuf *); void ieee80211_ht_node_init(struct ieee80211_node *, const uint8_t *); void ieee80211_ht_node_cleanup(struct ieee80211_node *); +void ieee80211_ht_node_age(struct ieee80211_node *); struct ieee80211_channel *ieee80211_ht_adjust_channel(struct ieee80211com *, struct ieee80211_channel *, int); ==== //depot/projects/vap/sys/net80211/ieee80211_node.c#27 (text+ko) ==== @@ -70,6 +70,7 @@ static struct ieee80211_node *node_alloc(struct ieee80211_node_table *); static void node_cleanup(struct ieee80211_node *); static void node_free(struct ieee80211_node *); +static void node_age(struct ieee80211_node *); static int8_t node_getrssi(const struct ieee80211_node *); static void node_getsignal(const struct ieee80211_node *, int8_t *, int8_t *); static void node_getmimoinfo(const struct ieee80211_node *, @@ -101,6 +102,8 @@ ic->ic_node_alloc = node_alloc; ic->ic_node_free = node_free; ic->ic_node_cleanup = node_cleanup; + ic->ic_node_age = node_age; + ic->ic_node_drain = node_age; /* NB: same as age */ ic->ic_node_getrssi = node_getrssi; ic->ic_node_getsignal = node_getsignal; ic->ic_node_getmimoinfo = node_getmimoinfo; @@ -884,6 +887,33 @@ FREE(ni, M_80211_NODE); } +static void +node_age(struct ieee80211_node *ni) +{ + struct ieee80211vap *vap = ni->ni_vap; +#if 0 + IEEE80211_NODE_LOCK_ASSERT(&ic->ic_sta); +#endif + /* + * Age frames on the power save queue. + */ + if (ieee80211_node_saveq_age(ni) != 0 && + IEEE80211_NODE_SAVEQ_QLEN(ni) == 0 && + vap->iv_set_tim != NULL) + vap->iv_set_tim(ni, 0); + /* + * Age frames on the wds pending queue. + */ + if (IEEE80211_NODE_WDSQ_QLEN(ni) != 0) + ieee80211_node_wdsq_age(ni); + /* + * Age out HT resources (e.g. frames on the + * A-MPDU reorder queues). + */ + if (ni->ni_associd != 0 && (ni->ni_flags & IEEE80211_NODE_HT)) + ieee80211_ht_node_age(ni); +} + static int8_t node_getrssi(const struct ieee80211_node *ni) { @@ -1757,8 +1787,9 @@ * process each node only once. */ static void -ieee80211_timeout_stations(struct ieee80211_node_table *nt) +ieee80211_timeout_stations(struct ieee80211com *ic) { + struct ieee80211_node_table *nt = &ic->ic_sta; struct ieee80211vap *vap; struct ieee80211_node *ni; u_int gen; @@ -1795,7 +1826,7 @@ /* * Free fragment if not needed anymore * (last fragment older than 1s). - * XXX doesn't belong here + * XXX doesn't belong here, move to node_age */ if (ni->ni_rxfrag[0] != NULL && ticks > ni->ni_rxfragstamp + hz) { @@ -1807,6 +1838,7 @@ /* * Special case ourself; we may be idle for extended periods * of time and regardless reclaiming our state is wrong. + * XXX run ic_node_age */ if (ni == vap->iv_bss) continue; @@ -1814,17 +1846,9 @@ (vap->iv_opmode == IEEE80211_M_IBSS || vap->iv_opmode == IEEE80211_M_AHDEMO)) { /* - * Age frames on the power save queue. + * Age/drain resources held by the station. */ - if (ieee80211_node_saveq_age(ni) != 0 && - IEEE80211_NODE_SAVEQ_QLEN(ni) == 0 && - vap->iv_set_tim != NULL) - vap->iv_set_tim(ni, 0); - /* - * Age frames on the wds pending queue. - */ - if (IEEE80211_NODE_WDSQ_QLEN(ni) != 0) - ieee80211_node_wdsq_age(ni); + ic->ic_node_age(ni); /* * Probe the station before time it out. We * send a null data frame which may not be @@ -1899,6 +1923,56 @@ } /* + * Aggressively reclaim resources. This should be used + * only in a critical situation to reclaim mbuf resources. + */ +void +ieee80211_drain(struct ieee80211com *ic) +{ + struct ieee80211_node_table *nt = &ic->ic_sta; + struct ieee80211vap *vap; + struct ieee80211_node *ni; + + IEEE80211_NODE_LOCK(nt); + TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { + /* + * Ignore entries for which have yet to receive an + * authentication frame. These are transient and + * will be reclaimed when the last reference to them + * goes away (when frame xmits complete). + */ + vap = ni->ni_vap; + /* + * Only process stations when in RUN state. This + * insures, for example, that we don't timeout an + * inactive station during CAC. Note that CSA state + * is actually handled in ieee80211_node_timeout as + * it applies to more than timeout processing. + */ + if (vap->iv_state != IEEE80211_S_RUN) + continue; + /* XXX can vap be NULL? */ + if ((vap->iv_opmode == IEEE80211_M_HOSTAP || + vap->iv_opmode == IEEE80211_M_STA) && + (ni->ni_flags & IEEE80211_NODE_AREF) == 0) + continue; + /* + * Free fragments. + * XXX doesn't belong here, move to node_drain + */ + if (ni->ni_rxfrag[0] != NULL) { + m_freem(ni->ni_rxfrag[0]); + ni->ni_rxfrag[0] = NULL; + } + /* + * Drain resources held by the station. + */ + ic->ic_node_drain(ni); + } + IEEE80211_NODE_UNLOCK(nt); +} + +/* * Per-ieee80211com inactivity timer callback. */ void @@ -1917,7 +1991,7 @@ */ if ((ic->ic_flags & IEEE80211_F_CSAPENDING) == 0) { ieee80211_scan_timeout(ic); - ieee80211_timeout_stations(&ic->ic_sta); + ieee80211_timeout_stations(ic); IEEE80211_LOCK(ic); ieee80211_erp_timeout(ic); ==== //depot/projects/vap/sys/net80211/ieee80211_var.h#28 (text+ko) ==== @@ -222,6 +222,8 @@ struct ieee80211_node* (*ic_node_alloc)(struct ieee80211_node_table *); void (*ic_node_free)(struct ieee80211_node *); void (*ic_node_cleanup)(struct ieee80211_node *); + void (*ic_node_age)(struct ieee80211_node *); + void (*ic_node_drain)(struct ieee80211_node *); int8_t (*ic_node_getrssi)(const struct ieee80211_node*); void (*ic_node_getsignal)(const struct ieee80211_node*, int8_t *, int8_t *); @@ -536,6 +538,7 @@ const struct ieee80211_channel *); void ieee80211_announce(struct ieee80211com *); void ieee80211_announce_channels(struct ieee80211com *); +void ieee80211_drain(struct ieee80211com *); void ieee80211_media_init(struct ieee80211com *, ifm_change_cb_t, ifm_stat_cb_t); struct ieee80211com *ieee80211_find_vap(const uint8_t mac[IEEE80211_ADDR_LEN]); From owner-p4-projects@FreeBSD.ORG Mon Feb 11 05:32:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EC2A16A41B; Mon, 11 Feb 2008 05:32:09 +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 B686D16A418 for ; Mon, 11 Feb 2008 05:32:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FB5F13C4EE for ; Mon, 11 Feb 2008 05:32:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1B5W8Po041688 for ; Mon, 11 Feb 2008 05:32:08 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1B5W8eS041685 for perforce@freebsd.org; Mon, 11 Feb 2008 05:32:08 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 11 Feb 2008 05:32:08 GMT Message-Id: <200802110532.m1B5W8eS041685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 135195 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 05:32:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=135195 Change 135195 by kmacy@kmacy:storage:toehead on 2008/02/11 05:32:02 work around apparent 32k limitation in T3 in t3_push_frames add debugging info for wr_ack Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#19 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#19 (text+ko) ==== @@ -299,9 +299,8 @@ struct mbuf *tail, *m0, *last; struct t3cdev *cdev; struct tom_data *d; - int bytes, count, total_bytes; + int i, bytes, count, total_bytes; bus_dma_segment_t segs[TX_MAX_SEGS], *segp; - segp = segs; if (tp->t_state == TCPS_SYN_SENT || tp->t_state == TCPS_CLOSED) { DPRINTF("tcp state=%d\n", tp->t_state); @@ -314,6 +313,7 @@ return (0); } + INP_LOCK_ASSERT(tp->t_inpcb); SOCKBUF_LOCK(&so->so_snd); d = TOM_DATA(TOE_DEV(so)); @@ -337,12 +337,14 @@ toep->tp_m_last = NULL; while (toep->tp_wr_avail && (tail != NULL)) { count = bytes = 0; + segp = segs; if ((m0 = m_gethdr(M_NOWAIT, MT_DATA)) == NULL) { SOCKBUF_UNLOCK(&so->so_snd); return (0); } while ((mbuf_wrs[count + 1] <= toep->tp_wr_avail) - && (tail != NULL) && (count < TX_MAX_SEGS)) { + && (tail != NULL) && (count < TX_MAX_SEGS) && + (bytes + tail->m_len) <= 8*PAGE_SIZE /* XXX the card will wedge with larger requests */) { bytes += tail->m_len; count++; last = tail; @@ -359,27 +361,27 @@ segp++; tail = tail->m_next; } - DPRINTF("wr_avail=%d mbuf_wrs[%d]=%d tail=%p\n", - toep->tp_wr_avail, count, mbuf_wrs[count], tail); if (tail) { so->so_snd.sb_sndptr = tail; toep->tp_m_last = NULL; } else toep->tp_m_last = so->so_snd.sb_sndptr = last; + DPRINTF("toep->tp_m_last=%p\n", toep->tp_m_last); so->so_snd.sb_sndptroff += bytes; total_bytes += bytes; toep->tp_write_seq += bytes; - + CTR6(KTR_TOM, "t3_push_frames: wr_avail=%d mbuf_wrs[%d]=%d tail=%p sndptr=%p sndptroff=%d", + toep->tp_wr_avail, count, mbuf_wrs[count], tail, so->so_snd.sb_sndptr, so->so_snd.sb_sndptroff); + if (tail) + CTR4(KTR_TOM, "t3_push_frames: total_bytes=%d tp_m_last=%p tailbuf=%p snd_una=0x%08x", + total_bytes, toep->tp_m_last, tail->m_data, tp->snd_una); + else + CTR3(KTR_TOM, "t3_push_frames: total_bytes=%d tp_m_last=%p snd_una=0x%08x", + total_bytes, toep->tp_m_last, tp->snd_una); - SOCKBUF_UNLOCK(&so->so_snd); - - /* - * XXX can drop socket buffer lock here - */ - toep->tp_wr_avail -= mbuf_wrs[count]; toep->tp_wr_unacked += mbuf_wrs[count]; @@ -387,7 +389,29 @@ m_set_priority(m0, mkprio(CPL_PRIORITY_DATA, toep)); m_set_sgl(m0, segs); m_set_sgllen(m0, count); - /* + + i = 0; + while (i < count) { + if ((count - i) >= 3) { + CTR6(KTR_TOM, + "t3_push_frames: pa=0x%zx len=%d pa=0x%zx len=%d pa=0x%zx len=%d", + segs[i].ds_addr, segs[i].ds_len, segs[i + 1].ds_addr, segs[i + 1].ds_len, + segs[i + 2].ds_addr, segs[i + 2].ds_len); + i += 3; + } else if ((count - i) == 2) { + CTR4(KTR_TOM, + "t3_push_frames: pa=0x%zx len=%d pa=0x%zx len=%d", + segs[i].ds_addr, segs[i].ds_len, segs[i + 1].ds_addr, segs[i + 1].ds_len); + i += 2; + } else { + CTR2(KTR_TOM, "t3_push_frames: pa=0x%zx len=%d", + segs[i].ds_addr, segs[i].ds_len); + i++; + } + + } + + /* * remember credits used */ m0->m_pkthdr.csum_data = mbuf_wrs[count]; @@ -406,11 +430,8 @@ bytes, count); l2t_send(cdev, m0, toep->tp_l2t); - if (toep->tp_wr_avail && (tail != NULL)) - SOCKBUF_LOCK(&so->so_snd); } - - SOCKBUF_UNLOCK_ASSERT(&so->so_snd); + SOCKBUF_UNLOCK(&so->so_snd); return (total_bytes); } @@ -1949,8 +1970,8 @@ toep->tp_delack_mode = hdr->dack_mode; toep->tp_delack_seq = tp->rcv_nxt; } - - DPRINTF("appending mbuf=%p pktlen=%d m_len=%d len=%d\n", m, m->m_pkthdr.len, m->m_len, len); + CTR6(KTR_TOM, "appending mbuf=%p pktlen=%d m_len=%d len=%d rcv_nxt=0x%x enqueued_bytes=%d", + m, m->m_pkthdr.len, m->m_len, len, tp->rcv_nxt, toep->tp_enqueued_bytes); if (len < m->m_pkthdr.len) m->m_pkthdr.len = m->m_len = len; @@ -1982,7 +2003,7 @@ #endif - DPRINTF("sb_cc=%d sb_mbcnt=%d\n", + CTR2(KTR_TOM, "sb_cc=%d sb_mbcnt=%d", so->so_rcv.sb_cc, so->so_rcv.sb_mbcnt); if (__predict_true((so->so_state & SS_NOFDREF) == 0)) @@ -3665,7 +3686,7 @@ u32 snd_una = ntohl(hdr->snd_una); int bytes = 0; - DPRINTF("wr_ack: snd_una=%u credits=%d\n", snd_una, credits); + CTR2(KTR_SPARE2, "wr_ack: snd_una=%u credits=%d", snd_una, credits); INP_LOCK(tp->t_inpcb); @@ -3675,7 +3696,8 @@ while (credits) { struct mbuf *p = peek_wr(toep); - DPRINTF("p->credits=%d p->bytes=%d\n", p->m_pkthdr.csum_data, p->m_pkthdr.len) ; + CTR2(KTR_TOM, + "wr_ack: p->credits=%d p->bytes=%d\n", p->m_pkthdr.csum_data, p->m_pkthdr.len); if (__predict_false(!p)) { log(LOG_ERR, "%u WR_ACK credits for TID %u with " @@ -3735,7 +3757,7 @@ toep->tp_flags &= ~TP_TX_WAIT_IDLE; } if (bytes) { - DPRINTF("sbdrop(%d)\n", bytes); + CTR1(KTR_SPARE2, "wr_ack: sbdrop(%d)", bytes); SOCKBUF_LOCK(&so->so_snd); sbdrop_locked(&so->so_snd, bytes); sowwakeup_locked(so); @@ -3757,9 +3779,6 @@ { struct toepcb *toep = (struct toepcb *)ctx; - DPRINTF("do_wr_ack\n"); - dump_toepcb(toep); - VALIDATE_SOCK(so); wr_ack(toep, m); From owner-p4-projects@FreeBSD.ORG Mon Feb 11 10:33:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B84916A41B; Mon, 11 Feb 2008 10:33:00 +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 E785D16A417 for ; Mon, 11 Feb 2008 10:32:59 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF73213C457 for ; Mon, 11 Feb 2008 10:32:59 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1BAWxDk080631 for ; Mon, 11 Feb 2008 10:32:59 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1BAWx73080628 for perforce@freebsd.org; Mon, 11 Feb 2008 10:32:59 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 10:32:59 GMT Message-Id: <200802111032.m1BAWx73080628@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135205 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 10:33:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=135205 Change 135205 by sephe@sephe_zealot:sam_wifi on 2008/02/11 10:32:44 Before add real txpower limit support to 2560 part, force channel TX power to 24(dBm?) Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#35 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#35 (text) ==== @@ -2230,6 +2230,7 @@ if (chan == 0 || chan == IEEE80211_CHAN_ANY) return; +#if 0 if (IEEE80211_IS_CHAN_2GHZ(c)) power = min(sc->txpow[chan - 1], 31); else @@ -2237,6 +2238,9 @@ /* adjust txpower using ifconfig settings */ power -= (100 - ic->ic_txpowlimit) / 8; +#else + power = 24; +#endif DPRINTFN(2, ("setting channel to %u, txpower to %u\n", chan, power)); From owner-p4-projects@FreeBSD.ORG Mon Feb 11 10:43:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24BD616A49C; Mon, 11 Feb 2008 10:43:12 +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 D61EA16A420 for ; Mon, 11 Feb 2008 10:43:11 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD79913C4CE for ; Mon, 11 Feb 2008 10:43:11 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1BAhBZl081079 for ; Mon, 11 Feb 2008 10:43:11 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1BAhBmG081075 for perforce@freebsd.org; Mon, 11 Feb 2008 10:43:11 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 11 Feb 2008 10:43:11 GMT Message-Id: <200802111043.m1BAhBmG081075@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 10:43:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=135207 Change 135207 by sephe@sephe_zealot:sam_wifi on 2008/02/11 10:43:04 - Build rate table when STA is going to associate BSS, the calculation is according to the BSS's basic rate set. - Set ic_currates to ic_dynrates if operating as STA and 802.11 state machine has ticked to RUN. How to handle rate table when NIC operates in IBSS mode is not clear to me yet (starter of IBSS does not need to calculate rate table dynamicly, while as a member of IBSS, dynamic calculation should be done) HT, half and quarter dynamic rate table setting up need more work, now default HT, half and quarter rate tables are simply duplicated. Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#64 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#91 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#100 edit .. //depot/projects/wifi/sys/net80211/ieee80211_phy.c#9 edit .. //depot/projects/wifi/sys/net80211/ieee80211_phy.h#5 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#66 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#21 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#66 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#64 (text+ko) ==== @@ -295,6 +295,7 @@ ieee80211_crypto_detach(ic); ieee80211_power_detach(ic); ieee80211_node_detach(ic); + ieee80211_phy_detach(ic); ifmedia_removeall(&ic->ic_media); IEEE80211_LOCK_DESTROY(ic); @@ -1234,8 +1235,11 @@ } void -ieee80211_set_channel(struct ieee80211com *ic, struct ieee80211_channel *c) +ieee80211_set_channel(struct ieee80211com *ic, struct ieee80211_channel *c, + int dynrt) { ieee80211_update_curchan(ic, c); + if (dynrt && ic->ic_dynrates != NULL) + ic->ic_currates = ic->ic_dynrates; ic->ic_set_channel(ic); } ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#91 (text+ko) ==== @@ -1758,7 +1758,7 @@ * Monitor and wds modes can switch directly. */ if (ic->ic_state == IEEE80211_S_RUN) - ieee80211_set_channel(ic, ic->ic_des_chan); + ieee80211_set_channel(ic, ic->ic_des_chan, 0); else ieee80211_update_curchan(ic, ic->ic_des_chan); } else { ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#100 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include +#include #include @@ -541,9 +542,17 @@ void ieee80211_setbsschan(struct ieee80211com *ic, struct ieee80211_channel *c) { + int dynrt = 0; + ic->ic_bsschan = c; ic->ic_curmode = ieee80211_chan2mode(ic->ic_bsschan); - ieee80211_set_channel(ic, ic->ic_bsschan); + + ieee80211_free_dynratetable(ic); + if (ic->ic_opmode == IEEE80211_M_STA /* XXX IBSS */) { + ieee80211_set_dynratetable(ic, ic->ic_bsschan); + dynrt = 1; + } + ieee80211_set_channel(ic, ic->ic_bsschan, dynrt); } /* ==== //depot/projects/wifi/sys/net80211/ieee80211_phy.c#9 (text+ko) ==== @@ -552,3 +552,131 @@ } return txTime; } + +void +ieee80211_free_dynratetable(struct ieee80211com *ic) +{ + if (ic->ic_dynrates != NULL) { + if (ic->ic_currates == ic->ic_dynrates) { + /* + * If ic_currates shadows ic_dynrates, + * reset it to the default rate table + * of the current channel. + */ + ic->ic_currates = + ieee80211_get_ratetable(ic->ic_curchan); + } + + free(ic->ic_dynrates, M_DEVBUF /* XXX */); + ic->ic_dynrates = NULL; + } +} + +/* XXX */ +#define IEEE80211_T_PBCC (IEEE80211_T_HT + 1) + +void +ieee80211_set_dynratetable(struct ieee80211com *ic, + const struct ieee80211_channel *c) +{ + const struct ieee80211_rate_table *rt0; + const struct ieee80211_rateset *rs; + struct ieee80211_rate_table *rt; + int i, cck = -1, ofdm = -1; + + ieee80211_free_dynratetable(ic); + + rt = malloc(sizeof(*rt), M_DEVBUF, M_NOWAIT | M_ZERO); + if (rt == NULL) + return; + ic->ic_dynrates = rt; + + /* XXX HT, half and quarter */ + rt0 = NULL; + if (IEEE80211_IS_CHAN_HALF(c)) + rt0 = &ieee80211_half_table; + else if (IEEE80211_IS_CHAN_QUARTER(c)) + rt0 = &ieee80211_quarter_table; + else if (IEEE80211_IS_CHAN_HTA(c)) + rt0 = &ieee80211_11a_table; + else if (IEEE80211_IS_CHAN_HTG(c)) + rt0 = &ieee80211_11g_table; + if (rt0 != NULL) { + bcopy(rt0, rt, sizeof(rt)); + return; + } + + rs = &ic->ic_bss->ni_rates; + rt->rateCount = rs->rs_nrates; + KASSERT(rt->rateCount <= (sizeof(rt->info) / sizeof(rt->info[0])), + ("oversized rate table\n")); + for (i = 0; i < rs->rs_nrates; ++i) { + uint8_t rate = rs->rs_rates[i] & IEEE80211_RATE_VAL; + int j; + + if (rate == 44) + rt->info[i].phy = IEEE80211_T_PBCC; + else if (rate == 22 || rate < 12) { + rt->info[i].phy = IEEE80211_T_CCK; + if (rate != 2) { + /* + * DS 1Mbps does not support + * short preamble. + */ + rt->info[i].shortPreamble = 0x04; + } + /* All DS/CCK rates are considered mandatory */ + cck = i; + } else { + rt->info[i].phy = IEEE80211_T_OFDM; + + /* 6/12/24Mbps are OFDM mandatory rates */ + if (rate == 12 || rate == 24 || rate == 48) + ofdm = i; + } + + rt->info[i].dot11Rate = rs->rs_rates[i]; + rt->info[i].rateKbps = rate * 500; + + for (j = i; j >= 0; --j) + if (rt->info[j].phy == rt->info[i].phy && + (rt->info[j].dot11Rate & IEEE80211_RATE_BASIC)) { + /* + * Basic rate and same PHY type + */ + rt->info[i].ctlRateIndex = j; + break; + } + if (j < 0) { + switch (rt->info[i].phy) { + case IEEE80211_T_CCK: + rt->info[i].ctlRateIndex = i; + break; + case IEEE80211_T_PBCC: + rt->info[i].ctlRateIndex = cck < 0 ? i : cck; + break; + case IEEE80211_T_OFDM: + rt->info[i].ctlRateIndex = ofdm < 0 ? i : ofdm; + break; + default: + panic("unknown phy %d\n", rt->info[i].phy); + break; + } + } + } + ieee80211_setup_ratetable(rt); + + for (i = 0; i < rt->rateCount; ++i) { + printf("phy %d, rate 0x%02x %u, ctlIdx %d\n", + rt->info[i].phy, + rt->info[i].dot11Rate, rt->info[i].rateKbps, + rt->info[i].ctlRateIndex); + } +} + +void +ieee80211_phy_detach(struct ieee80211com *ic) +{ + ic->ic_currates = NULL; + ieee80211_free_dynratetable(ic); +} ==== //depot/projects/wifi/sys/net80211/ieee80211_phy.h#5 (text+ko) ==== @@ -30,14 +30,17 @@ #ifdef _KERNEL +struct ieee80211com; struct ieee80211_channel; struct ieee80211_rate_table; -/* Initialization functions */ void ieee80211_phy_init(void); +void ieee80211_phy_detach(struct ieee80211com *); const struct ieee80211_rate_table *ieee80211_get_ratetable( const struct ieee80211_channel *); - +void ieee80211_free_dynratetable(struct ieee80211com *); +void ieee80211_set_dynratetable(struct ieee80211com *, + const struct ieee80211_channel *); uint16_t ieee80211_ack_duration(const struct ieee80211_rate_table *, uint8_t, int); uint16_t ieee80211_compute_duration(const struct ieee80211_rate_table *, ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#66 (text+ko) ==== @@ -44,6 +44,7 @@ #include /* XXX for ether_sprintf */ #include +#include /* XXX tunables */ #define AGGRESSIVE_MODE_SWITCH_HYSTERESIS 3 /* pkts / 100ms */ @@ -937,6 +938,10 @@ { struct ieee80211_channel *chan; + KASSERT(ic->ic_opmode == IEEE80211_M_STA, + ("dynamic turbo switching in non-STA opmode(%d)\n", + ic->ic_opmode)); + chan = ieee80211_find_channel(ic, ic->ic_bsschan->ic_freq, newflags); if (chan == NULL) { /* XXX should not happen */ IEEE80211_DPRINTF(ic, IEEE80211_MSG_SUPERG, @@ -953,7 +958,9 @@ ic->ic_bsschan = chan; ic->ic_prevchan = ic->ic_curchan; - ieee80211_set_channel(ic, chan); + ieee80211_free_dynratetable(ic); + ieee80211_set_dynratetable(ic, chan); + ieee80211_set_channel(ic, chan, 1); /* NB: do not need to reset ERP state 'cuz we're in sta mode */ } ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#21 (text+ko) ==== @@ -734,7 +734,7 @@ /* * Potentially change channel and phy mode. */ - ieee80211_set_channel(ic, chan); + ieee80211_set_channel(ic, chan, 0); /* * Scan curchan. Drivers for "intelligent hardware" @@ -759,8 +759,11 @@ ic->ic_lastscan = ticks; /* return to the bss channel */ if (ic->ic_bsschan != IEEE80211_CHAN_ANYC && - ic->ic_curchan != ic->ic_bsschan) - ieee80211_set_channel(ic, ic->ic_bsschan); + ic->ic_curchan != ic->ic_bsschan) { + ieee80211_set_channel(ic, ic->ic_bsschan, + ic->ic_opmode == IEEE80211_M_STA && + ic->ic_state == IEEE80211_S_RUN); + } /* clear internal flags and any indication of a pick */ SCAN_PRIVATE(ss)->ss_iflags &= ~ISCAN_REP; ss->ss_flags &= ~IEEE80211_SCAN_GOTPICK; ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#66 (text+ko) ==== @@ -148,6 +148,8 @@ uint8_t ic_chan_scan[IEEE80211_CHAN_BYTES]; /* current channel ratetable */ const struct ieee80211_rate_table *ic_currates; + /* negociated rate table */ + struct ieee80211_rate_table *ic_dynrates; struct ieee80211_channel *ic_curchan; /* current channel */ struct ieee80211_channel *ic_bsschan; /* bss channel */ struct ieee80211_channel *ic_prevchan; /* previous channel */ @@ -432,7 +434,7 @@ int ieee80211_setmode(struct ieee80211com *, enum ieee80211_phymode); enum ieee80211_phymode ieee80211_chan2mode(const struct ieee80211_channel *); void ieee80211_set_channel(struct ieee80211com *, - struct ieee80211_channel *); + struct ieee80211_channel *, int); void ieee80211_update_curchan(struct ieee80211com *, struct ieee80211_channel *); From owner-p4-projects@FreeBSD.ORG Mon Feb 11 20:14:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A87D016A41B; Mon, 11 Feb 2008 20:14:22 +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 6C81C16A419 for ; Mon, 11 Feb 2008 20:14:22 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 623A013C45E for ; Mon, 11 Feb 2008 20:14:22 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1BKEM5s057168 for ; Mon, 11 Feb 2008 20:14:22 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1BKEM5H057160 for perforce@freebsd.org; Mon, 11 Feb 2008 20:14:22 GMT (envelope-from rrs@cisco.com) Date: Mon, 11 Feb 2008 20:14:22 GMT Message-Id: <200802112014.m1BKEM5H057160@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135218 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 20:14:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=135218 Change 135218 by rrs@rrs-mips2-jnpr-2 on 2008/02/11 20:13:45 Work around (option) for the Cavium emulator. The telnet console to the emulator runs in cooked (line input) mode, this causes ddb to get confused about its character inputs. This change flushes the input line after single-character input (the pager) and tosses '\r' input. Submitted by: bbeare Reviewed by: rrs Approved by: rrs Affected files ... .. //depot/projects/mips2-jnpr/src/sys/Makefile#2 edit .. //depot/projects/mips2-jnpr/src/sys/conf/options.mips#4 edit .. //depot/projects/mips2-jnpr/src/sys/ddb/db_output.c#2 edit .. //depot/projects/mips2-jnpr/src/sys/kern/tty_cons.c#2 edit .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs2#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/Makefile#2 (text+ko) ==== @@ -38,4 +38,9 @@ rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscopenamefile +# Tags for vi +ctags ${.CURDIR}/ctags: ${.CURDIR}/cscopenamefile + rm -f ${.CURDIR}/ctags + cd ${.CURDIR}; xargs ctags -a < ${.CURDIR}/cscopenamefile + .include ==== //depot/projects/mips2-jnpr/src/sys/conf/options.mips#4 (text+ko) ==== @@ -21,7 +21,8 @@ KERNVIRTADDR opt_global.h PHYSADDR opt_global.h -TARGET_OCTEON opt_global.h +TARGET_OCTEON opt_global.h +TARGET_EMULATOR opt_ddb.h TICK_USE_YAMON_FREQ opt_global.h TICK_USE_MALTA_RTC opt_global.h ==== //depot/projects/mips2-jnpr/src/sys/ddb/db_output.c#2 (text+ko) ==== @@ -32,6 +32,7 @@ * Printf and character output for debugger. */ +#include "opt_ddb.h" #include __FBSDID("$FreeBSD: src/sys/ddb/db_output.c,v 1.38 2007/12/25 23:06:51 rwatson Exp $"); @@ -217,6 +218,15 @@ done = 0; while (!done) { c = cngetc(); +#ifdef TARGET_EMULATOR +/* + * Work around EMULATOR problem on Cavium. + * telnet to emulator runs in cooked mode. + */ + while (cncheckc() != -1) { + /* nothing */ + } +#endif switch (c) { case 'e': case 'j': ==== //depot/projects/mips2-jnpr/src/sys/kern/tty_cons.c#2 (text+ko) ==== @@ -579,10 +579,19 @@ if (cn_mute) return (-1); +#ifdef TARGET_EMULATOR +/* + * Work around EMULATOR problem on Cavium. + * telnet to emulator runs in cooked mode. + */ + while (((c = cncheckc()) == -1) || (c == '\r')) + ; +#else while ((c = cncheckc()) == -1) ; if (c == '\r') c = '\n'; /* console input is always ICRNL */ +#endif return (c); } ==== //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs2#2 (text+ko) ==== @@ -82,3 +82,6 @@ options MD_ROOT # options ROOTDEVNAME = \"ufs:md0\" options MD_ROOT_SIZE = 25200 + +# Work around for the OCTEON emulator +options TARGET_EMULATOR From owner-p4-projects@FreeBSD.ORG Tue Feb 12 01:19:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38D6116A420; Tue, 12 Feb 2008 01:19:03 +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 BE45416A417 for ; Tue, 12 Feb 2008 01:19:02 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B487413C455 for ; Tue, 12 Feb 2008 01:19:02 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1C1J2Nw098148 for ; Tue, 12 Feb 2008 01:19:02 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1C1J2EL098145 for perforce@freebsd.org; Tue, 12 Feb 2008 01:19:02 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 12 Feb 2008 01:19:02 GMT Message-Id: <200802120119.m1C1J2EL098145@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 135232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 01:19:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=135232 Change 135232 by gonzo@gonzo_jeeves on 2008/02/12 01:18:18 o Replace mips2 crt1.c with juniper's crt1.c. This is required because exec_setregs registers layout in mips2-jnpr tree differs from one in mips2. Juniper's is more logical and less hackerish: it uses a0 and a3 registers to pass unaligned stack address where arguments resides and ps_strings structs. _start from mips2 uses $sp register for getting arguments and does not pass ps_string struct at all. NOTE: This submit is just a copy from //depot/vendor/juniper-mips branch Affected files ... .. //depot/projects/mips2-jnpr/src/lib/csu/mips/crt1.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/lib/csu/mips/crt1.c#2 (text+ko) ==== @@ -1,10 +1,6 @@ -/* LINTLIBRARY */ /*- - * Copyright 2001 David E. O'Brien. - * All rights reserved. * Copyright 1996-1998 John D. Polstra. * All rights reserved. - * Copyright (c) 1997 Jason R. Thorpe. * Copyright (c) 1995 Christopher G. Demetriou * All rights reserved. * @@ -18,12 +14,8 @@ * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: - * This product includes software developed for the - * FreeBSD Project. See http://www.freebsd.org/ for - * information about FreeBSD. - * This product includes software developed for the - * NetBSD Project. See http://www.netbsd.org/ for - * information about NetBSD. + * This product includes software developed by Christopher G. Demetriou + * for the NetBSD Project. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * @@ -37,31 +29,32 @@ * 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: src/lib/csu/alpha/crt1.c,v 1.7.2.1 2000/10/30 20:32:23 obrien */ -#ifndef lint +#include +__FBSDID("$FreeBSD$"); + #ifndef __GNUC__ #error "GCC is needed to compile this file" #endif -#endif /* lint */ #include - #include "libc_private.h" #include "crtbrand.c" -#include struct Struct_Obj_Entry; struct ps_strings; +#ifndef NOSHARED extern int _DYNAMIC; #pragma weak _DYNAMIC +#endif +extern void _init(void); extern void _fini(void); -extern void _init(void); extern int main(int, char **, char **); -extern void _start(int, char **, char **, const struct Struct_Obj_Entry *, - void (*)(void), struct ps_strings *); #ifdef GCRT extern void _mcleanup(void); @@ -72,70 +65,37 @@ char **environ; const char *__progname = ""; -struct ps_strings *__ps_strings; + +void __gccmain(void) {} +void __main(void) {} /* The entry function. */ -__asm(" .text \n" -" .align 8 \n" -" .globl _start \n" -" _start: \n" -" .cpload $25 \n" -" /* Get cleanup routine and main object set by rtld */\n" -" /* Note that a2 is already set to ps_string by _rtld_start */\n" -" /* move a3, a0 */\n" -" /* move t0, a1 */\n" -" /* Get argc, argv from stack */ \n" -" /* lw a0, 0(sp) */\n" -" /* move a1, sp */\n" -" /* addu a1, 4 */\n" -" \n" -" /* Stack should 8bytes aligned */\n" -" /* required by ABI to pass */\n" -" /* 64-bits arguments */\n" -" /* and sp, ~8 */\n" -" /* subu sp, sp, 20 */\n" -" /* sw t0, 16(sp) */\n" -" \n" -" move $7, $4 /* atexit */\n" -" move $8, $5 /* main_obj entry */\n" -" lw $4, 0($29) \n" -" move $5, $29 \n" -" addu $5, 4 \n" -" \n" -" and $29, 0xfffffff8 \n" -" subu $29, $29, 24 /* args slot + cleanup + 4 bytes padding */ \n" -" sw $8, 16($29) \n" -"\n" -" la $25, __start \n" -" nop \n" -" j $25\n"); -/* ARGSUSED */ - void -__start(int argc, char **argv, struct ps_strings *ps_strings, - void (*cleanup)(void), const struct Struct_Obj_Entry *obj __unused) +_start(char **ap, + void (*cleanup)(void), /* from shared loader */ + struct Struct_Obj_Entry *obj, /* from shared loader */ + struct ps_strings *ps_strings) { + int argc; + char **argv; char **env; - const char *s; - env = argv + argc + 1; + argc = * (long *) ap; + argv = ap + 1; + env = ap + 2 + argc; environ = env; - - if (argc > 0 && argv[0] != NULL) { + if(argc > 0 && argv[0] != NULL) { + const char *s; __progname = argv[0]; for (s = __progname; *s != '\0'; s++) if (*s == '/') __progname = s + 1; } - if (ps_strings != (struct ps_strings *)0) - __ps_strings = ps_strings; - +#ifndef NOSHARED if (&_DYNAMIC != NULL) atexit(cleanup); - else - _init_tls(); - +#endif #ifdef GCRT atexit(_mcleanup); #endif @@ -143,7 +103,9 @@ #ifdef GCRT monstartup(&eprol, &etext); #endif +#ifndef NOGPREL _init(); +#endif exit( main(argc, argv, env) ); } @@ -152,5 +114,3 @@ __asm__("eprol:"); __asm__(".previous"); #endif - -__asm__(".ident\t\"$FreeBSD: src/lib/csu/arm/crt1.c,v 1.3 2004/09/23 23:00:51 cognet Exp $\""); From owner-p4-projects@FreeBSD.ORG Tue Feb 12 01:48:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 520DB16A418; Tue, 12 Feb 2008 01:48:37 +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 C607C16A41B for ; Tue, 12 Feb 2008 01:48:36 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 16CDF13C467 for ; Tue, 12 Feb 2008 01:48:36 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1C1mZw9099423 for ; Tue, 12 Feb 2008 01:48:35 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1C1mZlP099420 for perforce@freebsd.org; Tue, 12 Feb 2008 01:48:35 GMT (envelope-from gcooper@FreeBSD.org) Date: Tue, 12 Feb 2008 01:48:35 GMT Message-Id: <200802120148.m1C1mZlP099420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 135237 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 01:48:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=135237 Change 135237 by gcooper@gcooper-starr on 2008/02/12 01:47:59 New client. Fix issues with file dating (crosses fingers). Affected files ... .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/README#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/completion#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/fat#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/file_api_tests.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/README#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/archive_read_open_stream.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/macros.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_db.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_db.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_db_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_db_match.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_db_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd_lexer.l#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd_parser.y#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_freebsd_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_manifest.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_manifest_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo_files.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo_ftp.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo_local_freebsd.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_repo_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_sandbox.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_sandbox.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkg_util.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/libpkg/pkgfile.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/scripts/styleify.pl#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/README#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_add/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_delete/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_info/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_info/match.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_info/pkg_info.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_info/show.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/check.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/common.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/extern.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/gzip.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/gzip.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/pgp.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/pgp_check.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/pgp_sign.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/sha1.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/sign.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/stand.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/stand.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_sign/x509.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_version/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_version/perform.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/contrib/trunk/tools/pkg_version/version.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/archive.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/db/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/db/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/file/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/file/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/file_utils.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/index_handler.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/ipc/INCOMPLETE_SOURCES#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/ipc/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/ipc/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/ipc/client.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/ipc/server.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/plist.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/lib/prototypes.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/add/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/add/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/base.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/base.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/check/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/check/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/clean/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/clean/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/delete/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/delete/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/info/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/info/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/lib/base.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/lib/base.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/show/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/show/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/sign/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/sign/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/update/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/update/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/version/section.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/action/version/section.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/add/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/add/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/check/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/check/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/clean/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/clean/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/create/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/create/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/delete/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/delete/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/info/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/info/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/lib/includes.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/lib/pkg_action_settings.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/lib/pkg_action_settings.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/pkg_action_settings.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/pkg_action_settings.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/show/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/show/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/sign/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/sign/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/update/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/update/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/version/arg_parser.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/ap/version/arg_parser.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/archive.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/db/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/db/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/file/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/file/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/file_utils.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/index_handler.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/ipc/INCOMPLETE_SOURCES#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/ipc/api.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/ipc/api.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/ipc/client.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/ipc/server.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/plist.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/lib/prototypes.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/pkgman/pkgman.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/register/INCOMPLETE_SOURCES#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/register/connection_manage.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/register/db_manage.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/register/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/Makefile.inc#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/fbsd_contents/Makefile#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/fbsd_contents/fbsd_test.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/main.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/pkgfile.c#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/test_bootstrap/test.h#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/usage_tests/pkg_add/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/usage_tests/pkg_delete/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/usage_tests/pkg_info/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/usage_tests/pkg_version/simple_compare_tests.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/pkg_revised/v2/regression_tests/usage_tests/test.sh#1 add .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/README#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/add/main.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/archive_read_open_stream.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/macros.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_freebsd.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_match.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_private.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_contents.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_lexer.l#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_parser.y#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_private.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest_freebsd.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_private.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#3 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#3 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_files.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_ftp.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_local_freebsd.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#3 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#3 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#3 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_util.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkgfile.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/scripts/styleify.pl#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/CHANGELOG#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile.inc#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/README#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/src/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile.inc#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/fbsd_test.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/main.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkg_freebsd_contents.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkgfile.c#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/test.h#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile.inc#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/config.sh.eg#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/Makefile#2 edit .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/main.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/run.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/test.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/Makefile#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/main.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/run.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_delete/test.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/Makefile#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/main.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/match.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/pkg_info.h#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/run.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/show.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_info/test.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/test.sh#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/archive.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/db/api.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/db/api.h#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file/api.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file/api.h#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/file_utils.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/index_handler.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/INCOMPLETE_SOURCES#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/api.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/api.h#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/client.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/ipc/server.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/plist.c#2 delete .. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/lib/prototypes.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/pkg_action_update_arg_parser.c#3 edit Differences ... ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/README#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/completion#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/fat#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/fat/file_api_tests.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/README#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/__template/main.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/add/main.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/archive_read_open_stream.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/macros.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_freebsd.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_match.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_db_private.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_contents.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_lexer.l#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_parser.y#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_freebsd_private.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_manifest_freebsd.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_private.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_files.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_ftp.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_local_freebsd.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_util.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkgfile.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/scripts/styleify.pl#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/CHANGELOG#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/README#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/src/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/fbsd_contents/fbsd_test.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/main.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkg_freebsd_contents.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/pkgfile.c#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tests/test.h#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/config.sh.eg#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/trunk/tools/pkg_add/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/revised_fbsd_pkgtools/pkg_revised/v2/pkgman/ap/update/pkg_action_update_arg_parser.c#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Feb 12 01:55:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6411316A46B; Tue, 12 Feb 2008 01:55:06 +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 9642716A41B for ; Tue, 12 Feb 2008 01:55:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8C27213C46E for ; Tue, 12 Feb 2008 01:55:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1C1t5a9099709 for ; Tue, 12 Feb 2008 01:55:05 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1C1t5Ew099702 for perforce@freebsd.org; Tue, 12 Feb 2008 01:55:05 GMT (envelope-from gcooper@FreeBSD.org) Date: Tue, 12 Feb 2008 01:55:05 GMT Message-Id: <200802120155.m1C1t5Ew099702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 135238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 01:55:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=135238 Change 135238 by gcooper@gcooper-starr on 2008/02/12 01:54:18 Eliminate mystery cruft. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/LOCATIONS#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/README#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/arg_parser.h\pkg_action_clean_arg_parser.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/fat/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/fat/README#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/fat/file_api_tests.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/Makefile.com#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/Makefile.inc1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/Makefile.targ#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/lib/libc/db#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/Makefile.inc#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/Makefile.inc#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/README#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/add.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/extract.c#4 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/futil.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/perform.c#6 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/add/pkg_add.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/create.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/perform.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/pkg_create.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/create/pl.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/delete/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/delete/delete.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/delete/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/delete/perform.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/delete/pkg_delete.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/info.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/perform.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/pkg_info.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/info/show.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/Makefile#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/add_del.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/deps.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/exec.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/file.c#9 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/global.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/lib.h#6 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/match.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/msg.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/pen.c#6 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/pkgwrap.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/plist.c#12 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/str.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/url.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/lib/version.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/prof_scripts/prof_postprocess.pl#4 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/prof_scripts/prof_process.pl#5 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/prof_scripts/run_prof.sh#7 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/README#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/check.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/common.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/extern.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/gzip.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/gzip.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/pgp.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/pgp_check.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/pgp_sign.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/pkg_sign.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/sha1.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/sign.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/stand.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/stand.h#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/sign/x509.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/tkpkg#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/Makefile#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/main.c#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/perform.c#3 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/pkg_version.1#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/test-pkg_version.sh#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/usr/src/usr.sbin/pkg_install/version/version.h#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Feb 12 04:59:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AEF216A41A; Tue, 12 Feb 2008 04:59:21 +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 9E21116A418 for ; Tue, 12 Feb 2008 04:59:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8C61913C45B for ; Tue, 12 Feb 2008 04:59:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1C4xKaD023983 for ; Tue, 12 Feb 2008 04:59:20 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1C4xIhf023980 for perforce@freebsd.org; Tue, 12 Feb 2008 04:59:18 GMT (envelope-from jb@freebsd.org) Date: Tue, 12 Feb 2008 04:59:18 GMT Message-Id: <200802120459.m1C4xIhf023980@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 04:59:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=135239 Change 135239 by jb@jb_freebsd1 on 2008/02/12 04:58:33 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#4 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#57 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/disks/chapter.sgml#13 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#13 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#17 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#15 integrate .. //depot/projects/dtrace/ports/MOVED#65 integrate .. //depot/projects/dtrace/ports/Mk/bsd.lua.mk#10 integrate .. //depot/projects/dtrace/ports/UPDATING#53 integrate .. //depot/projects/dtrace/src/UPDATING#25 integrate .. //depot/projects/dtrace/src/contrib/ncurses/FREEBSD-upgrade#3 integrate .. //depot/projects/dtrace/src/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/dtrace/src/contrib/ncurses/MANIFEST#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/NEWS#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/dist.mk#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/form/frm_driver.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/include/curses.h.in#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/include/ncurses_defs#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/man/curs_clear.3x#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/dtrace/src/contrib/ncurses/man/man_db.renames#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/man/manlinks.sed#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/man/toe.1m#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/misc/terminfo.src#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/MKlib_gen.sh#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/MKunctrl.awk#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_addch.c#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_getch.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_insch.c#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_newterm.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_newwin.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_set_term.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_slk.c#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_slkclear.c#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/lib_slkinit.c#5 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/resizeterm.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/curses.priv.h#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/tinfo/lib_data.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/ncurses/tinfo/lib_setup.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/progs/infocmp.c#6 integrate .. //depot/projects/dtrace/src/contrib/ncurses/progs/toe.c#6 integrate .. //depot/projects/dtrace/src/contrib/pf/man/pf.conf.5#6 integrate .. //depot/projects/dtrace/src/lib/libc/sys/access.2#7 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2f.c#8 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_expm1.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_expm1f.c#5 integrate .. //depot/projects/dtrace/src/lib/ncurses/ncurses/Makefile#5 integrate .. //depot/projects/dtrace/src/lib/ncurses/ncurses/ncurses_cfg.h#4 integrate .. //depot/projects/dtrace/src/sbin/mount_nfs/mount_nfs.8#5 integrate .. //depot/projects/dtrace/src/sbin/mount_nfs/mount_nfs.c#6 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#30 integrate .. //depot/projects/dtrace/src/share/man/man4/ciss.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/geom_lvm.4#1 branch .. //depot/projects/dtrace/src/share/man/man5/fstab.5#6 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/ofw/Makefile#3 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#39 integrate .. //depot/projects/dtrace/src/sys/conf/files#69 integrate .. //depot/projects/dtrace/src/sys/conf/files.sparc64#9 integrate .. //depot/projects/dtrace/src/sys/conf/options#39 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#38 edit .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ehci.c#12 integrate .. //depot/projects/dtrace/src/sys/fs/coda/cnode.h#3 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_kernel.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_namecache.c#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_namecache.h#3 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_psdev.c#4 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_subr.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_venus.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vfsops.c#6 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vnops.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vnops.h#3 integrate .. //depot/projects/dtrace/src/sys/geom/lvm/g_lvm.c#1 branch .. //depot/projects/dtrace/src/sys/geom/lvm/g_lvm.h#1 branch .. //depot/projects/dtrace/src/sys/i386/i386/geode.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_machdep.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#20 integrate .. //depot/projects/dtrace/src/sys/modules/geom/Makefile#8 integrate .. //depot/projects/dtrace/src/sys/modules/geom/geom_lvm/Makefile#1 branch .. //depot/projects/dtrace/src/sys/nfsclient/nfs_bio.c#8 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_subs.c#11 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfsnode.h#7 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/md_var.h#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/sys/lockmgr.h#14 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#39 integrate .. //depot/projects/dtrace/src/sys/sys/user.h#8 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/znew#2 integrate .. //depot/projects/dtrace/src/usr.bin/netstat/route.c#11 integrate .. //depot/projects/dtrace/src/usr.bin/procstat/procstat_files.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/sed/compile.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/sed/defs.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/sed/main.c#6 integrate .. //depot/projects/dtrace/src/usr.bin/sed/process.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/timed.8#5 integrate .. //depot/projects/dtrace/src/usr.sbin/traceroute6/traceroute6.8#4 integrate .. //depot/projects/dtrace/src/usr.sbin/traceroute6/traceroute6.c#7 integrate .. //depot/projects/dtrace/www/el/Makefile#1 branch .. //depot/projects/dtrace/www/el/Makefile.inc#1 branch .. //depot/projects/dtrace/www/el/doc/Makefile#1 branch .. //depot/projects/dtrace/www/en/Makefile#7 integrate .. //depot/projects/dtrace/www/en/docproj/translations.sgml#11 integrate .. //depot/projects/dtrace/www/es/docproj/current.sgml#4 integrate .. //depot/projects/dtrace/www/es/docproj/doc-set.sgml#4 integrate .. //depot/projects/dtrace/www/es/index.xsl#8 integrate .. //depot/projects/dtrace/www/es/internet.sgml#6 integrate .. //depot/projects/dtrace/www/es/platforms/Makefile#3 integrate .. //depot/projects/dtrace/www/es/platforms/alpha.sgml#4 integrate .. //depot/projects/dtrace/www/es/platforms/index.sgml#5 integrate .. //depot/projects/dtrace/www/es/platforms/pc98.sgml#4 integrate .. //depot/projects/dtrace/www/es/send-pr.sgml#5 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#4 (text+ko) ==== @@ -21,7 +21,7 @@ Ç ÏìÜäá Ôåêìçñßùóçò ôïõ &os; - $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.4 2008/02/03 02:34:48 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.5 2008/02/10 09:46:58 keramida Exp $ 1995 @@ -1206,7 +1206,7 @@ - + ÅãêáôÜóôáóç @@ -1228,7 +1228,6 @@ áñ÷åßùí DOS), èá âñåßôå ðáñáêÜôù ìåñéêÝò óõóôÜóåéò ó÷åôéêÜ ìå ôï ðïéåò äéáíïìÝò íá êáôåâÜóåôå: - base/ @@ -1254,7 +1253,7 @@ ÐëÞñåéò ïäçãßåò ó÷åôéêÜ ìå ôç äéáäéêáóßá êáèùò êáé ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ãåíéêÜ ðñïâëÞìáôá êáôÜ ôçí - åãêáôÜóôáóç ìðïñåßôå íá âñåßôå óôï + åãêáôÜóôáóç ìðïñåßôå íá âñåßôå óôï ÊåöÜëáéï ôïõ Åã÷åéñéäßïõ ó÷åôéêÜ ìå ôçí åãêáôÜóôáóç ôïõ &os;. @@ -1348,7 +1347,6 @@ êáëýôåñç. Äåßôå åðßóçò êáé ôï . - @@ -1396,7 +1394,7 @@ åðéëÝîåôå ôçí åêêßíçóç åßôå ôùí &windows; åßôå ôïõ &os;. Áí åãêáôáóôÞóåôå ôá &windows; ìåôÜ ôï &os;, èá óáò óâÞóïõí ôïí äéá÷åéñéóôÞ åêêßíçóçò, ÷ùñßò êáí íá óáò ñùôÞóïõí. Áí óáò óõìâåß, - áõôü äåßôå ôï åðüìåíï ôìÞìá. + áõôü äåßôå ôï åðüìåíï ôìÞìá. @@ -1415,7 +1413,7 @@ Åêôåëþíôáò ôï DOS, ìåôáêéíçèåßôå óôïí êáôÜëïãï tools/ ôçò &os; äéáíïìÞò óáò, êáé øÜîôå ãéá ôï áñ÷åßï bootinst.exe. ÅêôåëÝóôå ôï üðùò öáßíåôáé - ðáñáêÜôù: + ðáñáêÜôù: ...\TOOLS> bootinst.exe boot.bin ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml#4 (text+ko) ==== @@ -4,7 +4,7 @@ The FreeBSD Greek Documentation Project - $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml,v 1.7 2008/02/03 02:53:02 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml,v 1.8 2008/02/10 09:57:13 keramida Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml %SRCID% 1.135 @@ -53,21 +53,21 @@ Linux - Ôï &os; ðáñÝ÷åé binary óõìâáôüôçôá ìå áñêåôÜ Üëëá ëåéôïõñãéêÜ ôýðïõ - &unix;, óõìðåñéëáìâáíïìÝíïõ êáé ôïõ Linux. Óå áõôü ôï óçìåßï, ìðïñåß íá - áíáñùôéÝóôå ãéáôß áêñéâþò ÷ñåéÜæåôáé ôï &os; íá ìðïñåß íá ôñÝîåé - åêôåëÝóéìá Linux; H áðÜíôçóç óå áõôÞ ôçí åñþôçóç åßíáé áñêåôÜ áðëÞ. - ÐïëëÝò åôáéñßåò êáé ðñïãñáììáôéóôÝò áíáðôýóóïõí åöáñìïãÝò ìüíï ãéá - Linux, ìéá êáé åßíáé ðïëý ôçò ìüäáò óôï + Ôï &os; ðáñÝ÷åé binary óõìâáôüôçôá (åêôåëÝóéìùí) ìå áñêåôÜ Üëëá + ëåéôïõñãéêÜ ôýðïõ &unix;, óõìðåñéëáìâáíïìÝíïõ êáé ôïõ Linux. Óå áõôü + ôï óçìåßï, ìðïñåß íá áíáñùôéÝóôå ãéáôß áêñéâþò ÷ñåéÜæåôáé ôï &os; íá + ìðïñåß íá ôñÝîåé åêôåëÝóéìá Linux; H áðÜíôçóç óå áõôÞ ôçí åñþôçóç åßíáé + áñêåôÜ áðëÞ. ÐïëëÝò åôáéñßåò êáé ðñïãñáììáôéóôÝò áíáðôýóóïõí åöáñìïãÝò + ìüíï ãéá Linux, ìéá êáé åßíáé ðïëý ôçò ìüäáò óôï êüóìï ôùí õðïëïãéóôþí. Áõôü áíáãêÜæåé åìÜò ôïõò õðüëïéðïõò, ðïõ - ÷ñçóéìïðïéïýìå ôï &os;, íá ðéÝæïõìå ôéò ßäéåò ôéò åôáéñßåò êáé ôïõò + ÷ñçóéìïðïéïýìå ôï &os;, íá ðéÝæïõìå ôéò ßäéåò áõôÝò åôáéñßåò êáé ðñïãñáììáôéóôÝò íá äçìéïõñãÞóïõí êáíïíéêÝò åêäüóåéò ôùí åöáñìïãþí ôïõò ãéá &os;. Ôï ðñüâëçìá åßíáé, üôé ïé ðåñéóóüôåñåò áðü áõôÝò ôéò åôáéñßåò äåí áíôéëáìâÜíïíôáé ðñáãìáôéêÜ ðüóïé ðåñéóóüôåñïé Üíèñùðïé èá ÷ñçóéìïðïéïýóáí ôï ðñïúüí ôïõò áí åß÷áí åêäüóåéò êáé ãéá &os;, êáé ïé ðåñéóóüôåñåò óõíå÷ßæïõí íá áíáðôýóóïõí ìüíï ãéá Linux. ¶ñá ôé ìðïñåß íá êÜíåé Ýíáò ÷ñÞóôçò ôïõ &os;; Åäþ Ýñ÷åôáé íá âïçèÞóåé ç binary - óõìâáôüôçôá ôïõ &os; ìå ôï Linux + óõìâáôüôçôá ôïõ &os; ìå ôï Linux. Åí óõíôïìßá, ç óõìâáôüôçôá åðéôñÝðåé óôïõò ÷ñÞóôåò ôïõ &os; íá åêôåëÝóïõí ðåñßðïõ ôï 90% üëùí ôùí Linux åöáñìïãþí ÷ùñßò ìåôáôñïðÝò. @@ -130,10 +130,10 @@ KLD (kernel loadable object) - Ç óõìâáôüôçôá ìå åêôåëÝóéìá ôïõ Linux äåí åßíáé åíåñãÞ åî' áñ÷Þò. Ï + Ç óõìâáôüôçôá ìå åêôåëÝóéìá ôïõ Linux äåí åßíáé åíåñãÞ åî' áñ÷Þò. Ï åõêïëüôåñïò ôñüðïò ãéá íá åíåñãïðïéÞóåôå áõôÞ ôç ëåéôïõñãßá åßíáé íá - öïñôþóåôå ôï linux áíôéêåßìåíï KLD (Kernel - LoaDable object). Ìðïñåßôå íá öïñôþóåôå áõôÞ ôç ìïíÜäá ôïõ + öïñôþóåôå ôï KLD (Üñèñùìá) linux (Kernel + LoaDable object). Ìðïñåßôå íá öïñôþóåôå áõôü ôï Üñèñùìá óôïí ðõñÞíá äßíïíôáò ôç ðáñáêÜôù åíôïëÞ ùò root: &prompt.root; kldload linux @@ -156,10 +156,10 @@ COMPAT_LINUX - Áí ãéá êÜðïéï ëüãï äåí èÝëåôå ç äå ìðïñåßôå íá öïñôþóåôå ôï KLD, + Áí ãéá êÜðïéï ëüãï äåí èÝëåôå Þ äå ìðïñåßôå íá öïñôþóåôå ôï KLD, ôüôå ìðïñåßôå íá óõíäÝóåôå óôáôéêÜ ôçí õðïóôÞñéîç åêôåëÝóéìùí ôïõ Linux óôïí ðõñÞíá ìå ôï íá ðñïóèÝóåôå ôçí åðéëïãÞ options - COMPAT_LINUX óôï áñ÷åßùí ñõèìßóåùí ôïõ ðõñÞíá. Óôç óõíÝ÷åéá + COMPAT_LINUX óôï áñ÷åßùí ñõèìßóåùí ôïõ ðõñÞíá. Óôç óõíÝ÷åéá ìðïñåßôå íá åãêáôáóôÞóåôå ôïí íÝï ðõñÞíá üðùò ðåñéãñÜöåôáé óôï . @@ -172,8 +172,8 @@ Áõôü ìðïñåß íá ãßíåé ìå äýï ôñüðïõò. Åßôå ìå ôç ÷ñÞóç ôïõ linux_base port, Þ - ÷åéñïêßíçôá ìå ôçí åãêáôÜóôáóç ôùí - . + ìå ÷åéñïêßíçôç + åãêáôÜóôáóç ôïõò. ÅãêáôÜóôáóç ìÝóù ôïõ linux_base Port @@ -182,20 +182,20 @@ Áõôüò åßíáé êáôÜ ãåíéêÞ ïìïëïãßá ï åõêïëüôåñïò ôñüðïò ãéá ôçí åãêáôÜóôáóç ôùí runtime libraries. Åßíáé ç ßäéá äéáäéêáóßá åãêáôÜóôáóçò ðïõ áêïëïõèåßôáé êáé ãéá ïðïéïäÞðïôå Üëëï port áðü - ôïPorts - Collection. ÁðëÜ êÜíôå ôï ðáñáêÜôù: + ôç ÓõëëïãÞ ôùí + Ports. ÁðëÜ êÜíôå ôï ðáñáêÜôù: &prompt.root; cd /usr/ports/emulators/linux_base-fc4 &prompt.root; make install distclean - Èá ðñÝðåé ôþñá Ý÷åôå êáíïíéêÞ óõìâáôüôçôá ìå åêôåëÝóéìá ôïõ + Èá ðñÝðåé ôþñá íá Ý÷åôå êáíïíéêÞ óõìâáôüôçôá ìå åêôåëÝóéìá ôïõ Linux. ÌåñéêÜ ðñïãñÜììáôá ðáñáðïíéïýíôáé üôé ïé âéâëéïèÞêåò - óõóôÞìáôïò (system libraries) äåí åßíáé óôç ôåëåõôáßá ôïõò Ýêäïóç + óõóôÞìáôïò (system libraries) äåí åßíáé óôç ôåëåõôáßá ôïõò Ýêäïóç. ÃåíéêÜ üìùò, áõôü äåí áðïôåëåß êáíÝíá ðñüâëçìá. Ìðïñïýí íá õðÜñ÷ïõí ðïëëáðëÝò åêäüóåéò ôïõ emulators/linux_base, ðïõ íá - áíôéóôïé÷ïýí óôéò äéáöïñåôéêÝò åêäüóåéò ôùí äéáíïìþí Linux. Èá + áíôéóôïé÷ïýí óôéò äéáöïñåôéêÝò åêäüóåéò ôùí äéáíïìþí Linux. Èá ðñÝðåé íá êÜíåôå åãêáôÜóôáóç ôùí ports ðïõ ðñïáðáéôïýíôáé áðü ôéò åöáñìïãÝò Linux ôéò ïðïßåò èÝëåôå íá åãêáôáóôÞóåôå. @@ -204,51 +204,52 @@ ×åéñïêßíçôç åãêáôÜóôáóç ôùí Libraries - Áí äåí Ý÷åôå åãêáôáóôÞóåé ports collection, - ìðïñåßôå íá åãêáôáóôÞóåôå ôéò âéâëéïèÞêåò ÷åéñïêßíçôá. Èá ÷ñåéáóôåßôå - ôá Linux shared libraries ôá ïðïßá áðáéôåß ôï ðñüãñáììá. + Áí äåí Ý÷åôå åãêáôáóôÞóåé ôçí óõëëïãÞ ôùí ports, + ìðïñåßôå íá åãêáôáóôÞóåôå ôéò âéâëéïèÞêåò ÷åéñïêßíçôá. Èá + ÷ñåéáóôåßôå ôá Linux shared libraries ôá ïðïßá áðáéôåß ôï ðñüãñáììá. Åðßóçò, èá ÷ñåéáóôåß íá äçìéïõñãÞóåôå êáé Ýíáí êáôÜëïãï shadow root, /compat/linux, ãéá ôéò âéâëéïèÞêåò Linux ðïõ èá õðÜñ÷ïõí óôï &os;. ÏðïéáäÞðïôå êïéíÝò âéâëéïèÞêåò (shared libraries) ïé ïðïßåò ÷ñçóéìïðïéïýíôáé áðü - åöáñìïãÝò Linux êáé ôñÝ÷ïõí óôï &os; èá êïéôÜîïõí ðñþôá óå áõôüí ôïí - êáôÜëïãï. ÅðïìÝíùò, áí ìéá åöáñìïãÞ Linux öïñôþóåé ãéá ðáñÜäåéãìá - ôï /lib/libc.so, ôï &os; èá ðñïóðáèÞóåé íá - öïñôþóåé ðñþôá ôï /compat/linux/lib/libc.so, + åöáñìïãÝò Linux êáé åêôåëïýíôáé óôï &os; èá êïéôÜîïõí ðñþôá óå + áõôüí ôïí êáôÜëïãï. ÅðïìÝíùò, áí ìéá åöáñìïãÞ Linux öïñôþóåé ãéá + ðáñÜäåéãìá ôï /lib/libc.so, ôï &os; èá + ðñïóðáèÞóåé íá öïñôþóåé ðñþôá ôï + /compat/linux/lib/libc.so, êáé áí áõôü äåí õðÜñ÷åé, ôüôå èá ðñïóðáèÞóåé íá öïñôþóåé - ôï /lib/libc.so. Ôá shared libraries èá ðñÝðåé + ôï /lib/libc.so. Ôá shared libraries èá ðñÝðåé íá åãêáôáóôáèïýí óôï shadow - tree /compat/linux/lib ðáñÜ óôá ìïíïðÜôéá ðïõ - ðáñïõóéÜæåôáé óôï Linux ôï ld.so. + tree /compat/linux/lib áíôß ãéá ôéò ôïðïèåóßåò + ðïõ áíáöÝñåé ôï ld.so óôï Linux. - ÃåíéêÜ, èá ÷ñåéáóôåß íá ñßîåôå ìéá ìáôéÜ óôá êïéíÝò âéâëéïèÞêåò - ôá ïðïßá ÷ñçóéìïðïéïýíôáé áðü ôá åêôåëÝóéìá ôïõ Linux. Áõôü èá - ÷ñåéáóôåß íá ôï êÜíåôå ìåñéêÝò öïñÝò ìÝ÷ñé íá Ý÷åôå Ýíáí + ÃåíéêÜ, ôïõëÜ÷éóôïí óôéò ðñþôåò óáò åãêáôáóôÜóåéò åöáñìïãþí + Linux, èá ÷ñåéáóôåß íá øÜîåôå ãéá ôéò êïéíÝò âéâëéïèÞêåò áðü ôá + áíôßóôïé÷á åêôåëÝóéìá. ÌåôÜ áðü êÜðïéï äéÜóôçìá èá Ý÷åôå Ýíá éêáíïðïéçôéêü áñéèìü Linux shared libraries óôï óýóôçìÜ óáò êáé - ðëÝïí äå èá ÷ñåéÜæåôáé åðéðëÝïí äïõëåéÜ ðÝñá áðü ôçí åãêáôÜóôáóç ôçò + ðëÝïí äå èá ÷ñåéÜæåôáé åðéðëÝïí åñãáóßá ðÝñá áðü ôçí åãêáôÜóôáóç ôçò åöáñìïãÞò. - ÅðéðëÝïí åãêáôÜóôáóç Shared Libraries + ÅãêáôÜóôáóç Ðñüóèåôùí Shared Libraries shared libraries - Êáé ôé ãßíåôáé óôç ðåñßðôùóç üðùò Ý÷åôå åãêáôáóôÞóåé + Êáé ôé ãßíåôáé óôç ðåñßðôùóç ðïõ Ý÷åôå åãêáôáóôÞóåé ôï linux_base port êáé ïé åöáñìïãÝò óáò áêüìç ðáñáðïíéïýíôáé ãéá shared libraries ðïõ ëåßðïõí; Ðþò ìðïñåßôå íá îÝñåôå ðïéá shared libraries ÷ñåéÜæåôáé êÜðïéá åöáñìïãÞ, êáé ðïõ - ìðïñåßôå íá ôá âñåßôå? ÂáóéêÜ, õðÜñ÷ïõí 2 åðéëïãÝò (ãéá íá + ìðïñåßôå íá ôá âñåßôå; ÂáóéêÜ, õðÜñ÷ïõí 2 åðéëïãÝò (ãéá íá áêïëïõèÞóåôå ôéò ðáñáêÜôù ïäçãßåò èá ðñÝðåé íá åßóôå root óôï óýóôçìÜ óáò). Áí Ý÷åôå ðñüóâáóç óå êÜðïéï ìç÷Üíçìá Linux, ñßîôå ìéá ìáôéÜ óôá - shared libraries ðïõ ÷ñåéÜæåôáé ìéá åöáñìïãÞ, êáé áíôéãñÜøôå óôï + shared libraries ðïõ ÷ñåéÜæåôáé ìéá åöáñìïãÞ, êáé áíôéãñÜøôå ôá óôï &os;. Äåßôå ôï ðáñáêÜôù ðáñÜäåéãìá: - Áò õðïèÝóïõìå üôé óõíäåèÞêáôå óôï ìç÷Üíçìá Linux ìÝóù FTP êáé - áíôéãñÜøáôå ôï åêôåëÝóéìï ôïõ Doom, êáé - ôï âÜëáôå Linux óýóôçìá óôï ïðïßï Ý÷åôå ðñüóâáóç. Ìðïñåßôå óôç + Áò õðïèÝóïõìå üôé êáôåâÜóáôå ìÝóù FTP ôï åêôåëÝóéìï ôïõ + Doom ãéá ôï Linux, êáé ôï âÜëáôå + óôï Linux óýóôçìá óôï ïðïßï Ý÷åôå ðñüóâáóç. Ìðïñåßôå óôç óõíÝ÷åéá íá åëÝãîåôå ðïéá shared libraries ÷ñåéÜæåôáé ç åöáñìïãÞ ìå ôçí åíôïëÞ ldd linuxdoom, üðùò: @@ -260,10 +261,10 @@ symbolic links Èá ÷ñåéáóôåß íá ðÜñåôå üëá ôá áñ÷åßá áðü ôç ôåëåõôáßá óôÞëç, êáé íá ôá áíôéãñÜøåôå óôïí - êáôÜëïãï /compat/linux, ìå ôá ïíüìáôá ôçò - ðñþôçò óôÞëçò íá åßíáé óõìâïëéêïß óýíäåóìïé (symbolic links) ðïõ - óõíäÝïõí óôá ïõóéáóôéêÜ áñ÷åßá. Áõôü óçìáßíåé üôé ðñáêôéêÜ, Ý÷åôå - áõôÜ ôá áñ÷åßá óôï óýóôçìá óáò: + êáôÜëïãï /compat/linux, êáé íá äçìéïõñãÞóåôå + ðñïò áõôÜ ôïõò áíôßóôïé÷ïõò óõìâïëéêïýò äåóìïýò (symbolic links) + ìå ôá ïíüìáôá ôçò ðñþôçò óôÞëçò. Áõôü óçìáßíåé üôé ðñáêôéêÜ, + èá Ý÷åôå áõôÜ ôá áñ÷åßá óôï óýóôçìá óáò: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 @@ -281,7 +282,7 @@ áñ÷åßá èá ðñÝðåé íá êÜíïõí ôç äïõëåéÜ ôïõò. Óáò óõìâïõëåýïõìå üìùò íá áíôéãñÜøåôå ôï shared library áí åßíáé êÜðïéá íåüôåñç Ýêäïóç. Ìðïñåßôå íá äéáãñÜøåôå ôá ðáëéÜ áñ÷åßá, áñêåß üìùò íá - áíáíåþóåôå ôïõò óõìâïëéêïýò óõíäÝóìïõò êáé íá ïäçãïýí óôá íÝá + áíáíåþóåôå ôïõò óõìâïëéêïýò äåóìïýò þóôå íá ïäçãïýí óôá íÝá áñ÷åßá. ÅðïìÝíùò, áí Ý÷åôå ôéò ðáñáêÜôù âéâëéïèÞêåò óôï óýóôçìÜ óáò: @@ -310,7 +311,7 @@
Ï ìç÷áíéóìüò ôùí óõìâïëéêþí óõíäÝóìùí ÷ñåéÜæåôáé - ìüíï ãéá ôéò åöáñìïãÝò ôïõ Linux. Ï + ìüíï ãéá ôéò åöáñìïãÝò ôïõ Linux. Ï runtime linker ôïõ &os; êïéôÜåé ìüíïò ôïõ ãéá ôéò ðéï ðñüóöáôåò åêäüóåéò ôùí âéâëéïèçêþí êáé Ýôóé äå ÷ñåéÜæåôáé íá óáò áðáó÷ïëåß. @@ -328,25 +329,25 @@ ELF binaries - Ôá ELF binaries ÷ñåéÜæïíôáé ìåñéêÝò öïñÝò ëßãç ðåñéóóüôåñç - ôõðïðïßçóç (branding). Áí ðñïóðáèÞóåôå íá ôñÝîåôå Ýíá - áôõðïðïßçôï åêôåëÝóéìï ELF, ôüôå èá óáò åìöáíéóôåß ôï ðáñáêÜôù + Ôá ELF binaries ÷ñåéÜæïíôáé ìåñéêÝò öïñÝò Ýíá áêüìá âÞìá, ôï + branding. Áí ðñïóðáèÞóåôå íá ôñÝîåôå Ýíá + åêôåëÝóéìï ELF ÷ùñßò branding, ôüôå èá óáò åìöáíéóôåß ôï ðáñáêÜôù óöÜëìá: &prompt.user; ./my-linux-elf-binary ELF binary type not known Abort - Ãéá íá âïçèÞóåôå ôïí ðõñÞíá ôïõ &os; íá îå÷ùñßóåé Ýíá &os; ELF áðü - Ýíá ôïõ Linux, ÷ñçóéìïðïéÞóåôå ôçí åíôïëÞ &man.brandelf.1;. + Ãéá íá âïçèÞóåôå ôïí ðõñÞíá ôïõ &os; íá îå÷ùñßóåé Ýíá ELF ôïõ + &os; áðü Ýíá ôïõ Linux, ÷ñçóéìïðïéÞóåôå ôçí åíôïëÞ &man.brandelf.1;. &prompt.user; brandelf -t Linux my-linux-elf-binary GNU toolchain - To GNU toolchain, ïìÜäá ðñüãñáììá GNU, ôïðïèåôåß áõôüìáôá ôá + To GNU toolchain, ïìÜäá ðñüãñáììá GNU, ôïðïèåôåß ðëÝïí áõôüìáôá ôá êáôÜëëçëá ÷áñáêôçñéóôéêÜ óôá åêôåëÝóéìá ELF, åðïìÝíùò ôï ðáñáðÜíù âÞìá - èá ðñÝðåé óéãÜ-óéãÜ óôï ìÝëëïí áêïëïõèåßôå üëï êáé ëéãüôåñï. + èá ÷ñåéÜæåôáé üëï êáé ëéãüôåñï óôï ìÝëëïí. @@ -360,8 +361,8 @@ "hosts" is an invalid keyword Èá ÷ñåéáóôåß íá ñõèìßóåôå - ôï /compat/linux/etc/host.conf êáé íá ðåñéÝ÷åé - ôá: + ôï /compat/linux/etc/host.conf þóôå íá ðåñéÝ÷åé: + order hosts, bind multi on @@ -369,11 +370,11 @@ Ç óåéñÜ åäþ äçëþíåé üôé áñ÷éêÜ åëÝã÷åôáé ôï áñ÷åßï /etc/hosts êáé óôç óõíÝ÷åéá ï DNS server. ¼ôáí ôï /compat/linux/etc/host.conf äåí åßíáé - äéáèÝóéìï, ïé åöáñìïãÝò Linux ÷ñçóéìïðïéïýí áõôü ôïõ &os;'s - /etc/host.conf êáé ðáñáðïíéïýíôáé ãéá ôï ìç - óõìâáôü óõíôáêôéêü ôïõ &os;. Èá ðñÝðåé áí áöáéñÝóåôå - ôï bind áí äåí Ý÷åôå ñõèìßóåé Ýíá name server ìå - ôç ÷ñÞóç ôïõ /etc/resolv.conf. + äéáèÝóéìï, ïé åöáñìïãÝò Linux ÷ñçóéìïðïéïýí ôï + /etc/host.conf ôïõ &os; êáé ðáñáðïíéïýíôáé üôé + ç óýíôáîç ôïõ áñ÷åßïõ äåí åßíáé óùóôÞ. Èá ðñÝðåé íá áöáéñÝóåôå + ôçí áíáöïñÜ óôï bind áí äåí Ý÷åôå ñõèìßóåé Ýíá + name server ìÝóù ôïõ /etc/resolv.conf. @@ -396,63 +397,64 @@ Ôï êåßìåíï áõôü ðåñéãñÜöåé ôç äéáäéêáóßá åãêáôÜóôáóçò ôçò Ýêäïóçò Linux ôïõ &mathematica; 5.X óå Ýíá - óýóôçìá. + óýóôçìá &os;. - Ç Ýêäïóç ôïõ &mathematica; ãéá Linux Þ ç - ìáèçôéêÞ Ýêäïóç &mathematica; ìðïñåß íá - áãïñáóôåß áðåõèåßáò áðü ôç Wolfram óôï - . + Ìðïñåßôå íá áãïñÜóåôå ôçí êáíïíéêÞ Þ ìáèçôéêÞ Ýêäïóç ôïõ + &mathematica; ãéá Linux, áðåõèåßáò áðü ôç + Wolfram óôï . - Ôï ðñüãñáììá åãêáôÜóôáóçò ôïõ &mathematica; + Ôï Ðñüãñáììá ÅãêáôÜóôáóçò ôïõ &mathematica; - Áñ÷éêÜ, èá ðñÝðåé íá ðåßôå óôï &os; üôé ôá Linux binaries ôïõ - &mathematica; êÜíïõí ÷ñÞóç ôïõ Linux ABI. - Ï åõêïëüôåñïò ôñüðïò ãéá íá ôï êÜíåôå áõôü åßíáé ïñßóåôå ôïí ôýðï ôïõ - ELF ùò Linux óå üëåò ôéò åöáñìïãÝò ðïõ äåí åßíáé Þäç ôõðïðïéçìÝíåò, - êÜíïíôáò ÷ñÞóç ôçò åíôïëÞò: + Áñ÷éêÜ, èá ðñÝðåé íá ðåßôå óôï &os; üôé ôá åêôåëÝóéìá ãéá Linux + ôïõ &mathematica; êÜíïõí ÷ñÞóç ôïõ Linux + ABI. Ï åõêïëüôåñïò ôñüðïò ãéá íá ôï êÜíåôå áõôü åßíáé íá ïñßóåôå ôïí + ôýðï ôïõ ELF ùò Linux óå üëåò ôéò åöáñìïãÝò ðïõ äåí åßíáé Þäç + branded, êÜíïíôáò ÷ñÞóç ôçò åíôïëÞò: &prompt.root; sysctl kern.fallback_elf_brand=3 - Áõôü èá êÜíåé ôï &os; íá õðïèÝóåé üôé ELF binaries ðïõ äåí åßíáé - ôõðïðïéçìÝíá üôé êÜíïõí ÷ñÞóç ôïõ Linux ABI êáé Ýôóé èá ìðïñåßôå íá + Áõôü èá êÜíåé ôï &os; íá õðïèÝóåé üôé ôá åêôåëÝóéìá ELF ðïõ äåí + åßíáé branded, êÜíïõí ÷ñÞóç ôïõ Linux ABI êáé Ýôóé èá ìðïñåßôå íá ôñÝîåôå ôï ðñüãñáììá ôçò åãêáôÜóôáóçò áðåõèåßáò áðü ôï CDROM. - Ôþñá, áíôéãñÜøôå ôï áñ÷åßï MathInstaller óôïí óêëçñü - óáò äßóêï: + Ôþñá, áíôéãñÜøôå ôï áñ÷åßï MathInstaller + óôïí óêëçñü óáò äßóêï: &prompt.root; mount /cdrom &prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/ - áíïßîôå ôï áñ÷åßï êáé áíôéêáôáóôÞóôå ôï /bin/sh - óôç ðñþôç ãñáììÞ ìå ôï /compat/linux/bin/sh. Áõôü - èá óéãïõñÝøåé üôé ôï ðñüãñáììá åãêáôÜóôáóçò èá ôñÝ÷åé ìå ôï Ýêäïóç + Áíïßîôå ôï áñ÷åßï êáé áíôéêáôáóôÞóôå ôï /bin/sh + óôç ðñþôç ãñáììÞ ìå ôï /compat/linux/bin/sh. Áõôü + èá óéãïõñÝøåé üôé ôï ðñüãñáììá åãêáôÜóôáóçò èá ôñÝ÷åé ìå ôçí Ýêäïóç &man.sh.1; ãéá Linux. Óôç óõíÝ÷åéá, áíôéêáôáóôÞóôå üëåò ôéò åããñáöÝò - Linux) óå &os;) ìå - Ýíáí åðåîåñãáóôÞ êåéìÝíïõ Þ ìå ôï ðáñáêÜôù script óôçí åðüìåíç åíüôçôá. Áõôü èá ðåé - óôï ðñüãñáììá åãêáôÜóôáóçò ôïõ &mathematica;, - ðïéïò ôñÝ÷åé ôçí åíôïëÞuname -s ãéá íá äéáðéóôþóåé ôï ëåéôïõñãéêü óýóôçìá, - êáé íá áíôéìåôùðßóåé ôï &os; óáí Ýíá ëåéôïõñãéêü ðáñåìöåñÝò ôïõ Linux. + Linux) ìå &os;) ÷ñçóéìïðïéþíôáò + Ýíáí óõíôÜêôç êåéìÝíïõ Þ ìå ôï ðáñáêÜôù script óôçí åðüìåíç åíüôçôá. + Áõôü èá ðåé óôï ðñüãñáììá åãêáôÜóôáóçò ôïõ + &mathematica;, + ôï ïðïßï ôñÝ÷åé ôçí åíôïëÞ uname -s ãéá íá + äéáðéóôþóåé ôï ëåéôïõñãéêü óýóôçìá, + íá áíôéìåôùðßóåé ôï &os; óáí Ýíá ëåéôïõñãéêü ðáñåìöåñÝò ìå ôï Linux. Ç åêôÝëåóç ôïõ MathInstaller èá îåêéíÞóåé ôþñá ôçí åãêáôÜóôáóç ôïõ &mathematica;. - Ôñïðïðïéþíôáò ôá åêôåëÝóéìá ôïõ &mathematica; + Ôñïðïðïéþíôáò ôá ÅêôåëÝóéìá ôïõ &mathematica; Ôá shell scripts ôá ïðïßá äçìéïõñãåß ôï &mathematica; êáôÜ ôç äéáäéêáóßá ôçò åãêáôÜóôáóçò ðñÝðåé íá ôñïðïðïéçèïýí ðñéí ÷ñçóéìïðïéçèïýí. Áí åðéëÝîåôå ôï /usr/local/bin ùò ôïí êáôÜëïãï ãéá ôá åêôåëÝóéìá ôïõ - &mathematica;, èá âñåßôå - ôïõò óõìâïëéêïýò óõíäÝóìïõò (symlinks) óå áõôüí ôïí êáôÜëïãï ïíüìáôá + &mathematica;, èá âñåßôå åêåß + óõìâïëéêïýò äåóìïýò (symlinks) ðñïò ôá áñ÷åßá math, mathematica, Mathematica, êáé MathKernel. Óå êÜèå ðåñßðôùóç áðü ôéò ðáñáðÜíù, áíôéêáôáóôÞóôå ôéò åããñáöÝò Linux) ìå &os;) ìå êÜðïéïí - åðåîåñãáóôÞ êåéìÝíïõ Þ ìå ôï ðáñáêÜôù shell script: + óõíôÜêôç êåéìÝíïõ Þ ìå ôï ðáñáêÜôù shell script: #!/bin/sh cd /usr/local/bin @@ -465,7 +467,7 @@ - Áðïêôþíôáò ôïí êùäéêü ôïõ &mathematica; + Áðïêôþíôáò Êùäéêü ãéá ôï &mathematica; Ethernet @@ -474,51 +476,52 @@ ¼ôáí åêêéíÞóåôå ôï &mathematica; ãéá ðñþôç öïñÜ, èá åñùôçèåßôå ãéá Ýíáí êùäéêü. Áí äåí Ý÷åôå êÜðïéïí - êùäéêü óå áõôü ôï óôÜäéï, ôñÝîôå ôï - ðñüãñáììá mathinfo ðïõ âñßóêåôáé óôïí êáôÜëïãï - åãêáôÜóôáóçò ãéá íá óáò äïèåß ôï machine ID. Ôï - "machine ID" åßíáé åî' ïëïêëÞñïõ âáóéóìÝíï óôç äéåýèõíóç MAC ôçò - êÜñôáò äéêôýïõ ðïõ Ý÷åôå. Áõôü óçìáßíåé üôé äåí ìðïñåßôå íá ôñÝîåôå - ôï - &mathematica; óå Ýíáí Üëëïí õðïëïãéóôÞ. + êùäéêü óå áõôü ôï óôÜäéï, ôñÝîôå ôï ðñüãñáììá + mathinfo ðïõ âñßóêåôáé óôïí êáôÜëïãï åãêáôÜóôáóçò + ãéá íá óáò äïèåß ôï machine ID. Ôï "machine ID" åßíáé + åî' ïëïêëÞñïõ âáóéóìÝíï óôç äéåýèõíóç MAC ôçò êÜñôáò äéêôýïõ ðïõ + Ý÷åôå. Áõôü óçìáßíåé üôé äåí ìðïñåßôå íá ôñÝîåôå ôï + &mathematica; óå Üëëïõò õðïëïãéóôÝò. - ¼ôáí åããñáöåßôå ìå ôç Wolfram, åßôå ìå e-mail, ôçëÝöùíï Þ fax, èá + ¼ôáí åããñáöåßôå óôç Wolfram, ìå e-mail, ôçëÝöùíï Þ fax, èá ÷ñåéáóôåß íá äþóåôå ôï machine ID êáé èá óáò áðáíôÞóïõí - ìå Ýíáí áíôßóôïé÷ï êùäéêü ðïõ èá áðïôåëåßôå áðü ìéá óåéñÜ áñéèìþí. + ìå Ýíáí áíôßóôïé÷ï êùäéêü ðïõ èá áðïôåëåßôáé áðü ìéá óåéñÜ áñéèìþí. - ÔñÝ÷ïíôáò ôï &mathematica; Frontend ìÝóù äéêôýïõ + ÔñÝ÷ïíôáò ôï &mathematica; Frontend ìÝóù Äéêôýïõ Ôï &mathematica; êÜíåé ÷ñÞóç êÜðïéùí åéäéêþí ãñáììáôïóåéñþí ãéá íá åìöáíßóåé ÷áñáêôÞñåò ïé ïðïßïé äåí - õðÜñ÷ïõí óôá óõíçèéóìÝíá óåô. Tï ðñùôüêïëëï X áðáéôåß áõôÝò ôéò + õðÜñ÷ïõí óôá óõíçèéóìÝíá óåô (ïëïêëçñþìáôá, áèñïßóìáôá, ÅëëçíéêÜ + ãñÜììáôá, êëð). To ðñùôüêïëëï X áðáéôåß áõôÝò ïé ãñáììáôïóåéñÝò íá õðÜñ÷ïõí óôï ôïðéêü óýóôçìá. Áõôü óçìáßíåé üôé èá ÷ñåéáóôåß íá áíôéãñÜøåôå ôéò ãñáììáôïóåéñÝò áõôÝò - áðü áí CDROM Þ áðü áðü êÜðïéïí Üëëïí õðïëïãéóôÞ ðïõ Ý÷åé + áðü ôï CDROM Þ áðü áðü êÜðïéïí Üëëïí õðïëïãéóôÞ ðïõ Ý÷åé ôï &mathematica;. ÓõíÞèùò áõôÝò ïé ãñáììáôïóåéñÝò ìðïñïýí íá âñåèïýí ìÝóá óôï êáôÜëïãï /cdrom/Unix/Files/SystemFiles/Fonts ôïõ - CDROM, Þ óôïí êáôÜëïãï /usr/local/mathematica/SystemFiles/Fonts óôïí - ôïðéêü óêëçñü äßóêï. Ïé ïõóéáóôéêÝò ãñáììáôïóåéñÝò âñßóêïíôáé óå õðïêáôáëüãïõò üðùò - Type1 êáé X. ÕðÜñ÷ïõí áñêåôïß ôñüðïé + CDROM, Þ óôïí êáôÜëïãï + /usr/local/mathematica/SystemFiles/Fonts óôïí + ôïðéêü óêëçñü äßóêï. Ïé ðñáãìáôéêÝò ãñáììáôïóåéñÝò âñßóêïíôáé óå + õðïêáôáëüãïõò üðùò Type1 êáé + X. ÕðÜñ÷ïõí áñêåôïß ôñüðïé íá ôéò ÷ñçóéìïðïéÞóåôå, ïé ïðïßïé ðåñéãñÜöïíôáé óôç óõíÝ÷åéá. Ï ðñþôïò ôñüðïò åßíáé íá ôéò áíôéãñÜøåôå ìÝóá óå Ýíáí õðÜñ÷ïíôá êáôÜëïãï óôï /usr/X11R6/lib/X11/fonts. Èá ÷ñåéáóôåß üìùò íá ôñïðïðïéÞóåôå ôï - áñ÷åßï fonts.dir, ìå ôï íá ðñïóèÝóåôå ôá ïíüìáôá + áñ÷åßï fonts.dir, þóôå íá ðñïóèÝóåôå ôá ïíüìáôá ôùí ãñáììáôïóåéñþí ìÝóá óå áõôü, êáé íá áëëÜîåôå ôïí áñéèìü ôùí - ãñáììáôïóåéñþí óôç ðñþôç ãñáììÞ. ÅíáëëáêôéêÜ, èá ðñÝðåé ôñÝîåôå ôçí - åíôïëÞ &man.mkfontdir.1; ìÝóá áðü ôïí êáôÜëïãï áðü üðïõ Ý÷åôå - áíôéãñÜøåé ôéò ãñáììáôïóåéñÝò. + ãñáììáôïóåéñþí óôç ðñþôç ãñáììÞ. ÅíáëëáêôéêÜ, åßíáé óõíÞèùò áñêåôü + íá åêôåëÝóåôå áðëþò ôçí åíôïëÞ &man.mkfontdir.1; ìÝóá óôïí êáôÜëïãï + ðïõ Ý÷åôå áíôéãñÜøåé ôéò ãñáììáôïóåéñÝò. Ï äåýôåñïò ôñüðïò åßíáé íá áíôéãñÜøåôå ôïõò ðáñáðÜíù êáôáëüãïõò - ìÝóá óôï - /usr/X11R6/lib/X11/fonts: + ìÝóá óôï /usr/X11R6/lib/X11/fonts: &prompt.root; cd /usr/X11R6/lib/X11/fonts &prompt.root; mkdir X @@ -538,20 +541,20 @@ &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash - Áí ÷ñçóéìïðïéåßôå &xorg;, ìðïñåßôå íá - öïñôþíåôå ôéò ãñáììáôïóåéñÝò áõôÝò áõôüìáôá ìå ôï íá ðñïóèÝóåôå ôïõò + Áí ÷ñçóéìïðïéåßôå ôï &xorg;, ìðïñåßôå + íá öïñôþíåôå ôéò ãñáììáôïóåéñÝò áõôÝò áõôüìáôá, ðñïóèÝôïíôáò ôïõò íÝïõò êáôáëüãïõò óôï áñ÷åßï xorg.conf. - Ãéá &xfree86;, ôï áñ÷åßï ãéá ôéò - ñõèìßóåéò åßíáé ôï XF86Config. + Ãéá ôïí åîõðçñåôçôÞ &xfree86;, + ôï áñ÷åßï ñõèìßóåùí åßíáé ôï XF86Config. + fonts Áí äåí Ý÷åôå Þäç Ýíáí êáôÜëïãï ìå ôï üíïìá /usr/X11R6/lib/X11/fonts/Type1, ìðïñåßôå íá áëëÜîåôå ôï üíïìá ôïõ MathType1 áðü ôï ðáñáðÜíù - ðáñÜäåéãìá óå - Type1. + ðáñÜäåéãìá óå Type1. @@ -582,7 +585,7 @@ Ôï &maple; åßíáé ìßá åìðïñéêÞ åöáñìïãÞ - ìáèçìáôéêþí ðáñüìïéá ìå ôï &mathematica;. Èá + ìáèçìáôéêþí ðáñüìïéá ìå ôï &mathematica;. Èá ðñÝðåé íá áãïñÜóåôå ôï ëïãéóìéêü áðü ôï êáé óôç óõíÝ÷åéá íá êÜíåôå áßôçóç ãéá ìéá Üäåéá ÷ñÞóçò. Ãéá íá åãêáôáóôÞóåôå ôï ëïãéóìéêü @@ -593,32 +596,34 @@ ÅêôåëÝóôå ôï INSTALL shell script áðü ôï ìÝóï åãêáôÜóôáóçò ðïõ Ý÷åôå. ÅðéëÝîôå RedHat üôáí - åñùôçèåßôå áðü ôï ðñüãñáììá åãêáôÜóôáóçò. ¸íá ôõðéêü ìÝñïò - åãêáôÜóôáóçò åßíáé ï - êáôÜëïãïò /usr/local/maple. + åñùôçèåßôå áðü ôï ðñüãñáììá åãêáôÜóôáóçò. Ï ôõðéêüò êáôÜëïãïò + åßíáé ï /usr/local/maple. + Áí äåí Ý÷åôå áãïñÜóåé áêüìç êÜðïéá Üäåéá ãéá - ôï &maple; ôüôå áãïñÜóôå ìßá áðü ôï - from Maple Waterloo Software + ôï &maple;, áãïñÜóôå ìßá áðü ôï + Maple Waterloo Software () êáé áíôéãñÜøôå ôï áñ÷åßï ðïõ èá óáò äïèåß - óôï /usr/local/maple/license/license.dat. + óôï /usr/local/maple/license/license.dat. + ÅãêáôáóôÞóåôå ôï FLEXlm license - manager ìå ôï íá ôñÝîåôå ôï INSTALL_LIC shell + manager åêôåëþíôáò ôï INSTALL_LIC shell script ôï ïðïßá ðáñÝ÷åôáé ìáæß ìå - ôï &maple;. Äþóôå ôï üíïìá ôïõ - õðïëïãéóôÞ üðïõ äéá÷åéñßæåôáé ôéò Üäåéåò (license server). + ôï &maple;. Äþóôå ôï âáóéêü üíïìá ôïõ + õðïëïãéóôÞ óáò ôï ïðïßï áðáéôåßôáé áðü ôïí + åîõðçñåôçôÞ äéá÷åßñéóçò ôùí áäåéþí (license server). - ÐåñÜóôå ôï patch óôï - /usr/local/maple/bin/maple.system.type ìå ôï - ðáñáêÜôùí ôñüðï: + ×ñçóéìïðïéÞóôå ôï ðáñáêÜôù patch óôï áñ÷åßï + /usr/local/maple/bin/maple.system.type: + ----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 @@ -635,26 +640,25 @@ # We have two Linux implementations, one for Red Hat and ----- snip end of patch ----- - ¸÷åôå óôï íïõ óáò üôé ìåôÜ áðü ôï patch, - ôï "FreeBSD"|\ êáé êáíÝíá Üëëï whitespace äåí èá - ðñÝðåé íá åßíáé ðáñüí. + Óçìåéþóôå üôé ìåôÜ ôï "FreeBSD"|\ + äåí ðñÝðåé íá åìöáíßæåôáé Üëëï êåíü äéÜóôçìá. - Ôï patch áõôü ëÝåé óôï &maple; íá + Ôï patch áõôü ïäçãåß ôï &maple; íá áíáãíùñßóåé ôï &os; óáí Ýíá óýóôçìá Linux. Ôï bin/maple shell script êáëåß ôï - bin/maple.system.type shell script ôï ïðïßï ìå + bin/maple.system.type shell script, ôï ïðïßï ìå ôç óåéñÜ ôïõ êáëåß ôçí åíôïëÞ uname -a - ðñïêåéìÝíïõ íá åíôïðßóôå ôï üíïìá ôïõ ëåéôïõñãéêü - óõóôÞìáôïò. Áíáëüãùò ìå ôï ðïéï ëåéôïõñãéêü èá âñåèåß, èá - ÷ñçóéìïðïéÞóåé êáé ôá áíôßóôïé÷á åêôåëÝóéìá áñ÷åßá. + ðñïêåéìÝíïõ íá åíôïðéóôåß ôï üíïìá ôïõ ëåéôïõñãéêïý + óõóôÞìáôïò. Áíáëüãùò ìå ôï ðïéï ëåéôïõñãéêü âñåèåß, èá + ÷ñçóéìïðïéçèïýí êáé ôá áíôßóôïé÷á åêôåëÝóéìá áñ÷åßá. ÅêêéíÞóôå ôïí license server. - Ôï áêüëïõèï script, ðïõ âñßóêåôáé - óôï /usr/local/etc/rc.d/lmgrd.sh åßíáé Ýíáò - áóöáëÞò ôñüðïò ãéá íá åêêéíÞóåôå ôï lmgrd: + ¸íáò âïëéêüò ôñüðïò ãéá íá åêêéíÞóåôå ôïlmgrd + åßíáé ôï áêüëïõèï script ðïõ âñßóêåôáé óôï + /usr/local/etc/rc.d/lmgrd.sh: ----- snip ------------ @@ -690,7 +694,7 @@ &prompt.user; cd /usr/local/maple/bin &prompt.user; ./xmaple - óå áõôü ôï óçìåßï èá ðñÝðåé íá åßíáé üëá Ýôïéìá êáé íá ìçí Ý÷åôå + Óå áõôü ôï óçìåßï èá ðñÝðåé íá åßíáé üëá Ýôïéìá êáé íá ìçí Ý÷åôå êáíÝíá ðñüâëçìá. Ìçí îå÷Üóåôå üìùò íá óôåßëåôå Ýíá e-mail óôç Maplesoft êáé íá ôïõò ðåßôå üôé èÝëåôå ìéá Ýêäïóç ðïõ íá õðïóôçñßæåôáé åðßóçìá óôï &os;. @@ -698,19 +702,20 @@ - ÊïéíÜ ðñïâëÞìáôá + ÓõíçèéóìÝíá ÐñïâëÞìáôá - Ï FLEXlm license manager ìðïñåß íá - åßíáé ëßãï äýóêïëï íá ôïí êÜíåôå íá äïõëÝøåé. ÅðéðëÝïí ôåêìçñßùóç - ìðïñåßôå íá âñåßôå - óôï . + ºóùò äõóêïëåõôåßôå ìå ôçí ëåéôïõñãßá ôïõ + FLEXlm license manager. ÅðéðëÝïí + ôåêìçñßùóç ìðïñåßôå íá âñåßôå + óôï . + Ôï lmgrd åßíáé ãíùóôü üôé èÝëåé ôï áñ÷åßï - ôçò Üäåéáò íá Ý÷åé óõãêåêñéìÝíç ìïñöÞ áëëéþò èá áðïôý÷åé íá - ôñÝîåé. ¸íá óùóôü áñ÷åßï Üäåéáò ÷ñÞóçò ðñÝðåé åßíáé óå ãåíéêÝò + ôçò Üäåéáò íá Ý÷åé óõãêåêñéìÝíç ìïñöÞ áëëéþò ç åêôÝëåóç ôïõ èá + áðïôý÷åé. ¸íá óùóôü áñ÷åßï Üäåéáò ÷ñÞóçò ðñÝðåé åßíáé óå ãåíéêÝò ãñáììÝò üðùò ôï ðáñáêÜôù: # ======================================================= @@ -726,13 +731,13 @@ SN=XXXXXXXXX - Ï óåéñéáêüò áñéèìüò êáé ôï êëåéäß óôçí èÝóç ôùí - 'X'. Ôï chillig åßíáé ôï + Ï óåéñéáêüò áñéèìüò êáé ôï êëåéäß öáßíïíôáé åäþ ìå + 'X'. Ôï chillig åßíáé ôï üíïìá ôïõ óõóôÞìáôïò. - Ìðïñåßôå íá ôñïðïðïéÞóåôå ôï áñ÷åßá Üäåéáò ÷ñÞóçò, áñêåß íá - ìçí áëëÜîåôå ôçí ãñáììÞ ôïõ FEATURE (ç ïðïßá + Ìðïñåßôå íá ôñïðïðïéÞóåôå ôï áñ÷åßï ôçò Üäåéáò ÷ñÞóçò, áñêåß + íá ìçí áëëÜîåôå ôçí ãñáììÞ FEATURE (ç ïðïßá ðñïóôáôåýåôáé áðü ôï êëåéäß ôçò Üäåéáò). @@ -760,15 +765,15 @@ Ôï êåßìåíï áõôü ðåñéãñÜöåé ôç äéáäéêáóßá åãêáôÜóôáóçò ôçò Linux Ýêäïóçò ôïõ &matlab; 6.5 óå Ýíá óýóôçìá &os;. Äïõëåýåé áñêåôÜ êáëÜ, ìå åîáßñåóç - ôïõ &java.virtual.machine; (äåßôå óôï + ôï &java.virtual.machine; (äåßôå óôï ). - Ç Ýêäïóç Linux ôïõ &matlab; ìðïñåß íá + Ç Linux Ýêäïóç ôïõ &matlab; ìðïñåß íá áãïñáóôåß áðåõèåßáò áðü ôçí åôáéñåßá The MathWorks óôï . Óéãïõñåõôåßôå üôé - èá ðÜñåôå êáé ôï áñ÷åßï ôï ïðïßï èá ðåñéÝ÷åé ôçí Üäåéá ÷ñÞóçò êáèþò - åðßóçò êáé ïäçãßåò. Ìéáò êáé èá åðéêïéíùíÞóåôå ìå ôçí åôáéñåßá, ðåßôå - ôïõò üôé èá èÝëáôå íá õðÜñ÷åé åðßóçò õðïóôÞñéîç ãéá ôï &os; + ðÞñáôå êáé ôï áñ÷åßï ðïõ ðåñéÝ÷åé ôçí Üäåéá ÷ñÞóçò Þ ïäçãßåò ãéá ôï ðùò + íá ôï äçìéïõñãÞóåôå. Ìéá êáé èá åðéêïéíùíÞóåôå ìå ôçí åôáéñåßá, ðåßôå + ôïõò üôé èá èÝëáôå íá õðÜñ÷åé åðßóçò õðïóôÞñéîç ãéá ôï &os;. @@ -790,8 +795,8 @@ Ôï ðñüãñáììá ôçò åãêáôÜóôáóçò åßíáé óå ãñáöéêü ðåñéâÜëëïí. Áí ëáìâÜíåôå óöÜëìáôá ó÷åôéêÜ ìå ôçí ïèüíç, äþóôå ôçí åíôïëÞ: setenv HOME ~USER, - üðïõ USER åßíáé ï ÷ñÞóôçò ðïõ - óõíäåèÞêáôå ìå ôç åíôïëÞ &man.su.1;. + üðïõ USER åßíáé ï ÷ñÞóôçò áðü üðïõ + äþóáôå ôçí åíôïëÞ &man.su.1;. @@ -803,13 +808,14 @@ Ãéá åõêïëüôåñç äéáäéêáóßá åãêáôÜóôáóçò, ïñßóôå ôï ðáñáêÜôù: - set MATLAB=/compat/linux/usr/local/matlab + set MATLAB=/compat/linux/usr/local/matlab + óôç ãñáììÞ åíôïëþí ôïõ êåëýöïõò óáò. - ÔñïðïðïéÞóåôå ôï áñ÷åßï ôçò Üäåéáò (license file) üðùò óáò - ëÝíå ïé ïäçãßåò ðïõ ëÜâáôå ìå ôçí Üäåéá + ÔñïðïðïéÞóåôå ôï áñ÷åßï ôçò Üäåéáò (license file) óýìöùíá ìå + ôéò ïäçãßåò ðïõ ëÜâáôå ìå ôçí Üäåéá ôïõ &matlab;. @@ -821,7 +827,7 @@ - ÏëïêëÞñùóç ôçò åãêáôÜóôáóçò. + ÏëïêëÞñùóç ôçò ÅãêáôÜóôáóçò @@ -843,12 +849,12 @@ - Äçìéïõñãåßóôå ôï áñ÷åßï - åêêßíçóçò /usr/local/etc/rc.d/flexlm.sh. Ôï + ÄçìéïõñãÞóôå ôï áñ÷åßï + åêêßíçóçò /usr/local/etc/rc.d/flexlm.sh. Ôï ðáñÜäåéãìá ðáñáêÜôù åßíáé ìéá ôñïðïðïéçìÝíç Ýêäïóç ôïõ $MATLAB/etc/rc.lm.glnx86. Ïé áëëáãÝò - åßíáé ïé ôïðïèåóßåò ôùí áñ÷åßùí, êáé ç åêêßíçóç license manager - óôï ðåñéâÜëëïí åîïìïßùóçò Linux ðïõ Ý÷åé &os; . + åßíáé óôéò ôïðïèåóßåò ôùí áñ÷åßùí, êáé óôçí åêêßíçóç ôïõ license + manager óôï ðåñéâÜëëïí åîïìïßùóçò Linux ôïõ &os; . #!/bin/sh case "$1" in @@ -875,8 +881,8 @@ &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh - ÐñÝðåé åðßóçò íá áíôéêáôáóôÞóåôå - ôï username ìå Ýíá õðáñêôü üíïìá + ÐñÝðåé åðßóçò íá áíôéêáôáóôÞóåôå ôï ðáñáðÜíù + username ìå Ýíá õðáñêôü üíïìá ÷ñÞóôç ôïõ óõóôÞìáôïò óáò (êáé íá ìçí åßíáé ï root). @@ -891,7 +897,7 @@ - Óýíäåóç ìå ôï ðåñéâÜëëïí ôï &java; Runtime Environment + Óýíäåóç ìå ôï ÐåñéâÜëëïí ôïõ &java; Runtime Environment ÁëëÜîôå ôïí óýíäåóìï ôïõ&java; Runtime Environment (JRE) óå Ýíáí ï ïðïßïò èá äïõëåýåé óôï &os;: @@ -901,7 +907,7 @@ - Äçìéïõñãåßóôå ôï áñ÷åßï åêêßíçóçò ôïõ &matlab; + ÄçìéïõñãÞóôå ôï Script Åêêßíçóçò ôïõ &matlab; @@ -919,23 +925,24 @@ - ÁíÜëïãá ìå ðïéá Ýêäïóç Ý÷åôå áðü ôï - ðáêÝôï emulators/linux_base, - ìðïñåß íá óáò åìöáíéóôïýí ìåñéêÜ óöÜëìáôá üôáí ôñÝîåôå ôï - script. Ãéá íá ôï áðïöýãåôå áõôü, ôñïðïðïéÞóôå ôï - áñ÷åßï /compat/linux/usr/local/matlab/bin/matlab, + ÁíÜëïãá ìå ôçí Ýêäïóç ôïõ + emulators/linux_base, ðïõ Ý÷åôå, + ìðïñåß íá åìöáíéóôïýí ìåñéêÜ óöÜëìáôá üôáí ôñÝîåôå ôï + script. Ãéá íá ôï áðïöýãåôå áõôü, ôñïðïðïéÞóôå ôï áñ÷åßï + /compat/linux/usr/local/matlab/bin/matlab, êáé áëëÜîôå ôç ãñáììÞ ðïõ ëÝåé: if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then - (óôçí Ýêäïóç 13.0.1 âñßóêåôå óôç ãñáììÞ 410) óå áõôÞ ôç ãñáììÞ: + (óôçí Ýêäïóç 13.0.1 âñßóêåôáé óôç ãñáììÞ 410) óå áõôÞ ôç + ãñáììÞ: if test -L $newbase; then - Äçìéïõñãßá áñ÷åßïõ ôåñìáôéóìïý ôïõ &matlab; + Äçìéïõñãßá Script Ôåñìáôéóìïý ôïõ &matlab; Ôá åðüìåíá âÞìáôá ÷ñåéÜæïíôáé ãéá íá ëýóåôå Ýíá ðñüâëçìá ðïõ õðÜñ÷åé ìå ôïí ôåñìáôéóìü ôïõ &matlab;. @@ -944,7 +951,7 @@ ÄçìéïõñãÞóôå ôï áñ÷åßï $MATLAB/toolbox/local/finish.m, êáé - ìÝóá óå áõôü ðñïóèÝóôå ôï ðáñáêÜôù: + ìÝóá óå áõôü ðñïóèÝóôå ìüíï ôç ãñáììÞ: ! $MATLAB/bin/finish.sh @@ -957,13 +964,14 @@ Óôïí ßäéï êáôÜëïãï, èá âñåßôå ôá áñ÷åßá finishsav.m êáé finishdlg.m, ôá ïðïßá èá óáò äßíïõí ôç - äõíáôüôçôá íá óþæåôå ôç äïõëåéÜ óáò ðñéí êëåßóåôå ôï ðñüãñáììá. - ¼ðïéï ðñüêåéôáé íá ÷ñçóéìïðïéÞóåôå, ðñïóèÝóôå ôç ðáñáêÜôù ãñáììÞ - áìÝóùò ìåôÜ ôçí åíôïëÞ save . + äõíáôüôçôá íá óþæåôå ôçí åñãáóßá óáò ðñéí êëåßóåôå ôï ðñüãñáììá. + Áí ðñüêåéôáé íá ÷ñçóéìïðïéÞóåôå êÜðïéï áðü áõôÜ, ðñïóèÝóôå ôïõ + ôçí ðáñáðÜíù ãñáììÞ áìÝóùò ìåôÜ ôçí åíôïëÞ + save . - Äçìéïõñãåßóôå ôï + ÄçìéïõñãÞóôå ôï áñ÷åßï $MATLAB/bin/finish.sh, ôï ïðïßï èá ðåñéÝ÷åé ôá ðáñáêÜôù: @@ -981,7 +989,7 @@ - Using &matlab; + ×ñçóéìïðïéþíôáò ôï &matlab; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Feb 12 12:49:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1EAF16A468; Tue, 12 Feb 2008 12:49:30 +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 6440D16A419 for ; Tue, 12 Feb 2008 12:49:30 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4BD8313C4EA for ; Tue, 12 Feb 2008 12:49:30 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CCnUlv077491 for ; Tue, 12 Feb 2008 12:49:30 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CCnTUh077488 for perforce@freebsd.org; Tue, 12 Feb 2008 12:49:29 GMT (envelope-from rrs@cisco.com) Date: Tue, 12 Feb 2008 12:49:29 GMT Message-Id: <200802121249.m1CCnTUh077488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135250 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 12:49:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=135250 Change 135250 by rrs@rrs-mips2-jnpr on 2008/02/12 12:48:41 Fix the AST code so that k1 is not used and only k0 to get the pcb, use only a0 and t1 which should be saved from the events that led us here. This may still be wrong but with these changes I get through many of the sigaction sets before dying. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#11 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#11 (text+ko) ==== @@ -307,18 +307,18 @@ * Call ast if required */ #define DO_AST \ - GET_CPU_PCPU(k1) \ - lw k1, PC_CURTHREAD(k1); \ - lw t0, TD_FLAGS(k1); \ + GET_CPU_PCPU(k0) \ + move a0, k0; \ + lw a0, PC_CURTHREAD(a0); \ + lw t0, TD_FLAGS(a0); \ and t0, t0, (TDF_ASTPENDING|TDF_NEEDRESCHED); \ beq t0, zero, 27f; \ nop; \ - lw k1, TD_FRAME(k1); \ - lw t0, TF_REG_SR(k1); \ + lw a0, TD_FRAME(a0); \ + lw t0, TF_REG_SR(a0); \ and t0, t0, SR_KSU_USER; \ beq t0, zero, 27f; \ nop; \ - move a0, k1; \ jal ast; \ nop; \ 27: From owner-p4-projects@FreeBSD.ORG Tue Feb 12 13:44:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 73AAD16A421; Tue, 12 Feb 2008 13:44:27 +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 2127416A419 for ; Tue, 12 Feb 2008 13:44:27 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E707F13C4D1 for ; Tue, 12 Feb 2008 13:44:26 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CDiQA5081699 for ; Tue, 12 Feb 2008 13:44:26 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CDiQU1081696 for perforce@freebsd.org; Tue, 12 Feb 2008 13:44:26 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 12 Feb 2008 13:44:26 GMT Message-Id: <200802121344.m1CDiQU1081696@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 135251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 13:44:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=135251 Change 135251 by gonzo@gonzo_jeeves on 2008/02/12 13:44:10 o Remove chunk of debug code Affected files ... .. //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/reloc.c#2 (text+ko) ==== @@ -117,9 +117,6 @@ assert(ELF_R_SYM(rel->r_info) < gotsym); sym = symtab + ELF_R_SYM(rel->r_info); assert(ELF_ST_BIND(sym->st_info) == STB_LOCAL); - if(load_ptr(where) + relocbase == 0x6008ed78) { - assert(where); - } store_ptr(where, load_ptr(where) + relocbase); break; From owner-p4-projects@FreeBSD.ORG Tue Feb 12 13:48:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA08816A4A5; Tue, 12 Feb 2008 13:48:31 +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 6B31816A47F for ; Tue, 12 Feb 2008 13:48:31 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 513C513C4F0 for ; Tue, 12 Feb 2008 13:48:31 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CDmVFZ083831 for ; Tue, 12 Feb 2008 13:48:31 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CDmVkD083828 for perforce@freebsd.org; Tue, 12 Feb 2008 13:48:31 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 12 Feb 2008 13:48:31 GMT Message-Id: <200802121348.m1CDmVkD083828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 135252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 13:48:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=135252 Change 135252 by gonzo@gonzo_jeeves on 2008/02/12 13:47:35 o Fix _rtld_start to conform register values set in exec_setregs o Keep stack 8-bytes aligned Affected files ... .. //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/rtld_start.S#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/libexec/rtld-elf/mips/rtld_start.S#2 (text+ko) ==== @@ -38,7 +38,8 @@ .set noreorder .cpload t9 - addu sp, sp, -12 /* adjust stack pointer */ + addu sp, sp, -16 /* adjust stack pointer */ + /* keep it aligned */ .cprestore 0 /* -> 0(sp) for gp */ /* -> 4(sp) for atexit */ /* -> 8(sp) for obj_main */ @@ -57,7 +58,7 @@ addu a0, a1, a0 /* &_DYNAMIC */ - addu a0, sp, 12 /* sp */ + move a0, s0 /* stack pointer */ addu a1, sp, 4 /* &exit_proc */ addu a2, sp, 8 /* &objp */ addu sp, sp, -16 /* arguments slot */ @@ -65,12 +66,14 @@ nop addu sp, sp, 16 - lw a0, 4(sp) /* our atexit function */ - lw a1, 8(sp) /* obj_main entry */ - addu sp, sp,12 /* readjust stack */ + move a0, s0 /* arguments pointer */ + move a3, s1 /* arguments pointer */ + lw a1, 4(sp) /* our atexit function */ + lw a2, 8(sp) /* obj_main entry */ + addu sp, sp, 16 /* readjust stack */ move t9,v0 move a2,s1 /* restore ps_strings */ - jr t9 /* _start(sp, cleanup, obj); */ + jr t9 /* _start(ap, cleanup, obj, ps_strings); */ nop END(rtld_start) From owner-p4-projects@FreeBSD.ORG Tue Feb 12 17:13:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30EAA16A421; Tue, 12 Feb 2008 17:13:13 +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 CFE3F16A417 for ; Tue, 12 Feb 2008 17:13:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD48113C455 for ; Tue, 12 Feb 2008 17:13:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CHDCGd009796 for ; Tue, 12 Feb 2008 17:13:12 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CHDCfS009759 for perforce@freebsd.org; Tue, 12 Feb 2008 17:13:12 GMT (envelope-from pgj@FreeBSD.org) Date: Tue, 12 Feb 2008 17:13:12 GMT Message-Id: <200802121713.m1CHDCfS009759@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 135261 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 17:13:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=135261 Change 135261 by pgj@disznohal on 2008/02/12 17:12:24 Add initial Hungarian translation of Chapter 16: Mandatory Access Control. Raw translation of Part III is completed =) Affected files ... .. //depot/projects/docproj_hu/books/handbook/mac/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/mac/chapter.sgml#2 (text+ko) ==== @@ -3,470 +3,722 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml,v 1.70 2007/06/27 11:49:40 chinsan Exp $ --> - + + + Tom Rhodes - Written by + Írta: - Mandatory Access Control + Kötelezõ + hozzáférésvezérlés - Synopsis + Áttekintés MAC - Mandatory Access Control + kötelezõ + hozzáférésvezérlés MAC - &os; 5.X introduced new security extensions from the - TrustedBSD project based on the &posix;.1e draft. Two of the most - significant new security mechanisms are file system Access Control - Lists (ACLs) and Mandatory Access Control - (MAC) facilities. Mandatory Access Control allows - new access control modules to be loaded, implementing new security - policies. Some provide protections of a narrow subset of the - system, hardening a particular service. Others provide - comprehensive labeled security across all subjects and objects. - The mandatory part - of the definition comes from the fact that the enforcement of - the controls is done by administrators and the system, and is - not left up to the discretion of users as is done with - discretionary access control (DAC, the standard - file and System V IPC permissions on &os;). + A &os; 5.X változata új biztonsági + bõvítéseket vett a TrustedBSD projektbõl a + &posix;.1e nyomán. A két legjelentõsebb + új biztonsági mechanizmus az + állományrendszerekben megtalálható + hozzáférés-vezérlési + listák (Access Control List, ACL) + és a kötelezõ + hozzáférésvezérlés (Mandatory + Access Control, MAC). A kötelezõ + hozzáférésvezérlés + segítségével olyan új + hozzáférésvezérlési modulok + tölthetõek be, amelyek új biztonsági + házirendeket implementálnak. Némelyek + közülük védelmet nyújtanak a rendszer + egy szûk részének, amivel így egy adott + szolgáltatást bástyáznak alá. + Mások minden részletre kiterjedõ + címkézett biztonságot szolgáltatnak + alanyokon és objektumokon keresztül. A + meghatározás kötelezõ + része onnan fakad, hogy a szabályok + betartatását a rendszergazdák és a + rendszer végzik, és nem bízzák a + felhasználókra, ahogy azt a System V + típusú rendszerekben a szabványos + állományokra és IPC-re + érvényes engedélyeken keresztül a + tetszés szerinti + hozzáférésvezérlés + (Discretionary Access Control, DAC) + teszi. - This chapter will focus on the - Mandatory Access Control Framework (MAC Framework), and a set - of pluggable security policy modules enabling various security - mechanisms. + Ebben a fejezetben a kötelezõ + hozzáférésvezérlést + övezõ keretrendszerre (MAC Framework) + és a különbözõ biztonsági + házirendeket megvalósító + beilleszthetõ modulokra fogunk + összpontosítani. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - What MAC security policy modules are currently - included in &os; and their associated mechanisms. + a &os; jelen pillanatban milyen modulokat tartalmaz a + MAC rendszeren belül és milyen + mechanizmusok tartoznak hozzájuk - What MAC security policy modules implement as - well as the difference between a labeled and non-labeled - policy. + a MAC biztonsági + házirendjeit képezõ modulok miket + valósítanak meg, valamint mint a + különbség a címkézett és + címkézetlen házirendek + között - How to efficiently configure a system to use - the MAC framework. + hogyan kell hatékonyan beállítani + és használni rendszerünkben a + MAC rendszert - How to configure the different security policy modules included with the - MAC framework. + hogyan állítsuk be a MAC + rendszerben található különféle + biztonsági házirendeket képezõ + modulokat - How to implement a more secure environment using the - MAC framework and the examples - shown. + hogyan hozzunk létre a MAC + rendszer segítségével egy + biztonságosabb környezetet, amire + példákat is mutatunk - How to test the MAC configuration - to ensure the framework has been properly implemented. + hogyan teszteljük le a MAC + rendszer beállításait és + bizonyosodjunk meg mûködésének + helyességérõl - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Understand &unix; and &os; basics - (). + a &unix; és a &os; alapjainak ismerete () - Be familiar with - the basics of kernel configuration/compilation - (). + a rendszermag beállításának + és lefordításának ismerete () - Have some familiarity with security and how it - pertains to &os; (). + tisztában lenni az alapvetõ biztonsági + kérdésekkel és azok hatásával + a &os;-n belül () - The improper use of the - information contained herein may cause loss of system access, - aggravation of users, or inability to access the features - provided by X11. More importantly, MAC should not - be relied upon to completely secure a system. The - MAC framework only augments - existing security policy; without sound security practices and - regular security checks, the system will never be completely - secure. + Az itt ismertetésre kerülõ + információk helytelen alkalmazása a rendszer + hozzáférhetõségének teljes + elvesztését, a felhasználók + bosszantását vagy az X11 által + felkínált lehetõségek + kirekesztését eredményezheti. De ami + ennél is fontosabb, hogy a MAC + rendszerre nem úgy kell tekinteni, mint amitõl a + rendszerünk tökéletesen + biztonságossá válik. A + MAC segítségével + csupán a meglevõ biztonsági + házirendeket gyarapítjuk. A szilárd + biztonsági rutin és a rendszeres + ellenõrzések elvégzése + nélkül a rendszerünk valójában + sosem lesz teljesen biztonságos. - It should also be noted that the examples contained - within this chapter are just that, examples. It is not - recommended that these particular settings be rolled out - on a production system. Implementing the various security policy modules takes - a good deal of thought and testing. One who does not fully understand - exactly how everything works may find him or herself going - back through the entire system and reconfiguring many files - or directories. + Valamint hozzá kell tennünk, hogy a fejezetben + bemutatott példák tényleg csak + példák. Senkinek sem tanácsoljuk, hogy az + itt említett beállításokat egy + éles rendszerre is kiterjessze. A + különbözõ biztonsági modulok + felépítése rengeteg gondolkodást + és próbálgatást igényel. Aki + nem érti meg az egész + mûködését, könnyen azon kaphatja + magát, hogy újra végig kell mennie a + rendszeren és egyenként be kell + állítania minden könyvtárat és + állományt. - What Will Not Be Covered + Amivel itt nem foglalkozunk + + Ebben a fejezetben a MAC rendszerrel + kapcsolatban rengeteg biztonsági kérdéssel + foglalkozni fogunk. Azonban az új MAC + biztonsági modulok kifejlesztését + már nem érintjük. Számos olyan + biztonsági modul található a + MAC rendszerben, amelyek rendelkeznek az + új modulok kialakításához és + teszteléséhez szükséges + jellemzõkkel. Ilyenek többek közt a + &man.mac.test.4;, &man.mac.stub.4; és a &man.mac.none.4;. + Ezekrõl a biztonsági modulokról és az + általuk szolgáltatott mechnanizmusokról a + man oldalaik tudnak bõvebb + tájékoztatást adni. - This chapter covers a broad range of security issues relating - to the MAC framework. The - development of new MAC security policy modules - will not be covered. A number of security policy modules included with the - MAC framework have specific characteristics - which are provided for both testing and new module - development. These include the &man.mac.test.4;, - &man.mac.stub.4; and &man.mac.none.4;. - For more information on these security policy modules and the various - mechanisms they provide, please review the manual pages. - Key Terms in this Chapter + A fejezet fontosabb fogalmai - Before reading this chapter, a few key terms must be - explained. This will hopefully clear up any confusion that - may occur and avoid the abrupt introduction of new terms - and information. + A fejezet tartalmának kifejtéséhez + szükségünk lesz néhány fontosabb + alapfogalom tisztázására. + Segítségükkel vélhetõen + sikerül eloszlatni a téma feldolgozása + során felmerülõ + félreértéseket illetve elkerülni az + új fogalmak és információk + váratlan felbukkanását. - - compartment: A compartment is a - set of programs and data to be partitioned or separated, - where users are given explicit access to specific components - of a system. Also, a compartment represents a grouping, - such as a work group, department, project, or topic. Using - compartments, it is possible to implement a need-to-know - security policy. + + alany: Alanynak tekintünk a + rendszerben minden olyan aktív egyedet, ami + információt áramoltat az + objektumok, tehát a + felhasználók, a processzorok, a rendszerben + futó programok stb. között. A &os;-ben + majdnem minden esetben a felhasználók egy + szálon keresztül vezérlik a futó + programokat. - - high water mark: A high water mark - policy is one which permits the raising of security levels - for the purpose of accessing higher level information. In - most cases, the original level is restored after the process - is complete. Currently, the &os; MAC - framework does not have a policy for this, but the definition - is included for completeness. + + címke: A címke egy + olyan biztonsági tulajdonság, ami vonatkozhat + állományokra, könyvtárakra vagy a + rendszer más elemeire. Egy címke + tekinthetõ a bizalmasságot jelzõ + pecsétnek is: ha egy állományra + címkét teszünk, akkor benne megadjuk a + rá vonatkozó biztonsági jellemzõket, + és csak a hozzá hasonló biztonsági + beállításokkal rendelkezõ + állományok, felhasználók, + erõforrások stb. érhetik el. A + címkék jelentését és + értelmezését a házirendek + beállítása határozza meg: + míg egyes házirendek a címkéket + egy objektum sértetlenségének vagy + titkosságának tekintik, addig mások a + hozzáféréssel kapcsolatos + szabályokat rögzítik bennük. - integrity: Integrity, as a key - concept, is the level of trust which can be placed on data. - As the integrity of the data is elevated, so does the ability - to trust that data. + egycímkés: + Egycímkés esetrõl akkor + beszélünk, amikor az adat + áramlásának + szabályozására az egész + állományrendszer egyetlen címkét + alkalmaz. Ha ezt beállítjuk egy + állományrendszernél, de nem adjuk meg + vele együtt a opciót, + akkor az összes állományra ugyanaz a + címke érvényes. - - label: A label is a security - attribute which can be applied to files, directories, or - other items in the system. It could be considered - a confidentiality stamp; when a label is placed on - a file it describes the security properties for that specific - file and will only permit access by files, users, resources, - etc. with a similar security setting. The meaning and - interpretation of label values depends on the policy configuration: while - some policies might treat a label as representing the - integrity or secrecy of an object, other policies might use - labels to hold rules for access. + + erõs vízjel: Az erõs + vízjel házirendje szerint a biztonsági + szint akkor növelhetõ, ha magasabb szintû + információkhoz akarunk hozzájutni. A + legtöbb esetben a folyamatok befejezõdése + után visszaállítódik az eredeti + szint. A &os; MAC rendszere pillanatnyilag + ehhez nem tartalmaz házirendet, de a teljesség + kedvéért megadtuk ennek a + definícióját is. - - level: The increased or decreased - setting of a security attribute. As the level increases, - its security is considered to elevate as well. + + gyenge vízjel: A gyenge + vízjel házirendje szerint a biztonsági + szint csökkenthetõ az alacsonyabb szintû + információk elérése + érdekében. A legtöbb esetben a folyamatok + befejezõdése után + visszaállítódik az eredeti szint. A + &os;-ben ezt a házirendet egyedül a + &man.mac.lomac.4; alkalmazza. - low water mark: A low water mark - policy is one which permits lowering of the security levels - for the purpose of accessing information which is less - secure. In most cases, the original security level of the - user is restored after the process is complete. The only - security policy module in &os; to use this is - &man.mac.lomac.4;. + házirend: Szabályok + olyan gyûjteménye, ami megadja, hogy miként + kell a célokat teljesíteni. Egy + házirend általában + az egyes elemek kezelését rögzíti. + Ebben a fejezetben a házirend + kifejezés alatt a biztonsági + házirendet értjük, tehát + olyan szabályok gyûjteményét, + amelyek az adatok és az információ + áramlását határozzák meg, + továbbá megadják, hogy + közülük ki mihez férhet + hozzá. - multilabel: The - property is a file system option - which can be set in single user mode using the - &man.tunefs.8; utility, during the boot operation - using the &man.fstab.5; file, or during the creation of - a new file system. This option will permit an administrator - to apply different MAC labels on different - objects. This option - only applies to security policy modules which support labeling. + kényesség: + Általában az MLS + tárgyalásakor kerül elõ. Az + kényesség szintjével az adatok + fontosságát vagy titkosságát + szokták jelölni. A kényességi szint + növekedésével növekszik az adat + titkosságának vagy bizalmasságának + szintje. - - object: An object or system - object is an entity through which information flows - under the direction of a subject. - This includes directories, files, fields, screens, keyboards, - memory, magnetic storage, printers or any other data - storage/moving device. Basically, an object is a data container or - a system resource; access to an object - effectively means access to the data. + + objektum: Objektum vagy + rendszerobjektum minden olyan egyed, amelyen + információ folyik keresztül az + alanyok + irányításával. Ezek lehetnek + többek közt könyvtárak, + állományok, mezõk, képernyõk, + billentyûzetek, memória, mágneses + tárolóeszközök, nyomtatók vagy + bármilyen más + adattároló/hordozó eszköz. Az + objektumok alapvetõen adattárolók vagy a + rendszer erõforrásai. Egy + objektum elérésén + gyakorlatilag az adatok elérését + értjük. - policy: A collection of rules - which defines how objectives are to be achieved. A - policy usually documents how certain - items are to be handled. This chapter will - consider the term policy in this - context as a security policy; i.e. - a collection of rules which will control the flow of data - and information and define whom will have access to that - data and information. + rekesz: Egy rekeszbe soroljuk az + elrekeszteni vagy elkülöníteni + kívánt programok és adatok + összeségét, ahol a + felhasználók explicit módon + képesek hozzáférni a rendszer bizonyos + komponenseihez. Emellett a rekesz utalhat egy + tetszõleges csoportosításra is, + például munkacsoportra, osztályra, + projektre vagy témára. A rekeszek + használata elengedhetetlen a biztonsági + házirendek kialakításához. - sensitivity: Usually used when - discussing MLS. A sensitivity level is - a term used to describe how important or secret the data - should be. As the sensitivity level increases, so does the - importance of the secrecy, or confidentiality of the data. + sértetlenség: A + sértetlenség, mint kulcsfogalom, az adatok + megbízhatóságának szintje. + Minél sértetlenebb az adat, annál + inkább tekinthetjük + megbízhatónak. - single label: A single label is - when the entire file system uses one label to - enforce access control over the flow of data. When a file - system has this set, which is any time when the - option is not set, all - files will conform to the same label setting. + szint: Egy biztonsági + tulajdonság megnövelt vagy lecsökkentett + beállítása. A szint + növekedésével együtt a + biztonság mértéke is + növekszik. - subject: a subject is any - active entity that causes information to flow between - objects; e.g. a user, user processor, - system process, etc. On &os;, this is almost always a thread - acting in a process on behalf of a user. + többcímkés: A + vagyis + többcímkés jellemzõ az + állományrendszerek esetén fordulhat + elõ, és a &man.tunefs.8; segédprogrammal + állítható be + egyfelhasználós módban vagy a rendszer + indítása során az &man.fstab.5; + állományon keresztül, esetleg egy új + állományrendszer létrehozásakor. + Ezzel a beállítással a rendszergazda + különféle MAC + címkéket rendelhet különbözõ + objektumokhoz. Ez a beállítás + természetesen csak olyan biztonsági modulok + esetén él, amelyek tudnak + címkézni. - + + - Explanation of MAC + A MAC ismertetése - With all of these new terms in mind, consider how the - MAC framework augments the security of - the system as a whole. The various security policy modules provided by - the MAC framework could be used to - protect the network and file systems, block users from - accessing certain ports and sockets, and more. Perhaps - the best use of the policy modules is to blend them together, by loading - several security policy modules at a time for a multi-layered - security environment. In a multi-layered security environment, - multiple policy modules are in effect to keep security in check. This - is different to a hardening policy, which typically hardens - elements of a system that is used only for specific purposes. - The only downside is administrative overhead in cases of - multiple file system labels, setting network access control - user by user, etc. + Az imént definiált új fogalmak + tükrében most nézzük meg, hogy a + MAC rendszer alkalmazásával + miként javíthatunk rendszerünk + biztonságán. A MAC rendszerhez + készített különbözõ + biztonsági modulok alkalmasak a hálózat + és az állományrendszerek + védelmére, valamint segítségükkel + megakadályozhatjuk, hogy a felhasználók + elérhessenek bizonyos portokat és + csatlakozásokat stb. A házirendeket + formázó modulokat talán együttesen + tudjuk a leghatékonyabban alkalmazni, és ha + egyszerre több modul betöltésével egy + többrétegû védelmi rendszert + alakítunk ki. Ez nem ugyanaz, mint a rendszer + megerõsítése, ahol a rendszer + összetevõit jellemzõ módon csak bizonyos + célok tekintetében edzzük meg. A + módszer egyedüli hátulütõi a + többszörös állományrendszeri + címkékkel, a felhasználónként + beállítandó hálózati + eléréssel stb. járó + adminisztrációs költségek. - These downsides are minimal when compared to the lasting - effect of the framework; for instance, the ability to pick and choose - which policies are required for a specific configuration keeps - performance overhead down. The reduction of support for unneeded - policies can increase the overall performance of the system as well as - offer flexibility of choice. A good implementation would - consider the overall security requirements and effectively implement - the various security policy modules offered by the framework. + Ezek a hátrányok azonban eltörpülnek a + létrehozott rendszer tartósságával + szemben. Például ha képesek vagyunk + megmondani, hogy az adott konfigurációban milyen + házirendek alkalmazására van + szükség, akkor ezzel az adminisztrációs + költségek visszaszoríthatóak. A + szükségtelen házirendek + eltávolításával még + növelhetjük is a rendszer + összteljesítményét, valamint az + így felkínált rugalmasságot. Egy + jó kialakításban figyelembe kell venni az + összes biztonsági elõírást + és hatékonyan megvalósítani ezeket a + rendszer által felajánlott + különféle biztonsági modulokkal. - Thus a system utilizing MAC features - should at least guarantee that a user will not be permitted - to change security attributes at will; all user utilities, - programs and scripts must work within the constraints of - the access rules provided by the selected security policy modules; and - that total control of the MAC access - rules are in the hands of the system administrator. + Ezért tehát a MAC + lehetõségeit kihasználó rendszerekben + legalább annyit meg kell tudni oldani, hogy a + felhasználók ne változtathassák + kedvükre a biztonsági tulajdonságokat. Az + összes felhasználói segédprogramnak, + programnak és szkriptnek a kiválasztott + biztonsági modulokban szereplõ + hozzáférési szabályokkal + kifeszített kereten belül kell mozognia. A + MAC totális + irányítása pedig a rendszergazda + kezében van. - It is the sole duty of the system administrator to - carefully select the correct security policy modules. Some environments - may need to limit access control over the network; in these - cases, the &man.mac.portacl.4;, &man.mac.ifoff.4; and even - &man.mac.biba.4; policy modules might make good starting points. In other - cases, strict confidentiality of file system objects might - be required. Policy modules such as &man.mac.bsdextended.4; - and &man.mac.mls.4; exist for this purpose. + A rendszergazda így egyedül csak a megfelelõ + biztonsági modulok gondos + összeválogatásáért felelõs. + Bizonyos környezetekben szükséges lehet a + hálózaton keresztüli + hozzáférések korlátozása is. + Ilyen esetekben a &man.mac.portacl.4;, &man.mac.ifoff.4; vagy a + &man.mac.biba.4; moduloktól érdemes elindulnunk. + Más esetekben az állományrendszerek + objektumainak bizalmasságát kell csupán + megõriznünk. Erre a célra a + &man.mac.bsdextended.4; és &man.mac.mls.4; modulok a + legalkalmasabbak. - Policy decisions could be made based on network - configuration. Perhaps only certain users should be permitted - access to facilities provided by &man.ssh.1; to access the - network or the Internet. The &man.mac.portacl.4; would be - the policy module of choice for these situations. But what should be - done in the case of file systems? Should all access to certain - directories be severed from other groups or specific - users? Or should we limit user or utility access to specific - files by setting certain objects as classified? + A házirendekhez kapcsolódó + döntések a hálózati + beállítások alapján is + meghozhatóak. Elképzelhetõ, hogy csak bizonyos + felhasználók férhetnek hozzá az + &man.ssh.1; szolgáltatásain keresztül a + hálózathoz vagy az internethez. A + &man.mac.portacl.4; pontosan ilyen helyzetekben tud a + segítségünkre sietni. De mit tegyünk az + állományrendszerek esetén? Vágjunk el + adott felhasználókat vagy csoportokat bizonyos + könyvtáraktól? Vagy korlátozzuk a + felhasználók vagy segédprogramok + hozzáférését adott + állományokhoz bizonyos objektumok bizalmassá + nyilvánításával? - In the file system case, access to objects might be - considered confidential to some users, but not to others. - For an example, a large development team might be broken - off into smaller groups of individuals. Developers in - project A might not be permitted to access objects written - by developers in project B. Yet they might need to access - objects created by developers in project C; that is quite a - situation indeed. Using the different security policy modules provided by - the MAC framework; users could - be divided into these groups and then given access to the - appropriate areas without fear of information - leakage. + Az állományrendszerek esetében az + objektumokat néhány felhasználó + elérheti, mások pedig nem. Például + egy nagyobb fejlesztõcsapat kisebb csoportokra + bontható. Az A projektben résztvevõ + fejlesztõk nem férhetnek hozzá a B projektben + dolgozó fejlesztõk munkájához. Ellenben + szükségük lehet a C projekten + munkálkodó fejlesztõk által + létrehozott objektumokra. Ez egy igen érdekes + helyzet. A MAC rendszer által + felkínált különbözõ + biztonsági modulokra építkezve azonban + könnyedén csoportokba tudjuk szervezni a + felhasználókat, és a megfelelõ + területekhez az információ + kiszivárgása nélkül hozzá tudjuk + õket engedni. - Thus, each security policy module has a unique way of dealing with - the overall security of a system. Module selection should be based - on a well thought out security policy. In many cases, the - overall policy may need to be revised and reimplemented on - the system. Understanding the different security policy modules offered by - the MAC framework will help administrators - choose the best policies for their situations. + Ennek következtében minden egyes biztonsági + modul a maga módján gondoskodik az egész + rendszer biztonságáról. A céljainknak + megfelelõ modulokat egy jól átgondolt + biztonsági házirend alapján válasszuk + ki. Sok esetben az egész házirendet át kell + tekinteni és újra kell alkalmazni a rendszerben. A + MAC által felajánlott + különbözõ biztonsági modulok + megértése segít a rendszergazdáknak + megválasztani az adott helyzetben legjobban + alkalmazható házirendeket. - The default &os; kernel does not include the option for - the MAC framework; thus the following - kernel option must be added before trying any of the examples or - information in this chapter: + A &os; rendszermagja alapból nem tartalmazza a + MAC rendszert. Ezért a fejezetben + szereplõ példák vagy az itt leírtak + kipróbálásához az alábbi + beállítást kell hozzátennünk a + rendszermag beállításait tartalmazó + állományhoz: options MAC - And the kernel will require a rebuild and a reinstall. + Majd fordítsuk és telepítsük + újra a rendszermagot. - While the various manual pages for MAC - policy modules state that they may be built into the kernel, - it is possible to lock the system out of - the network and more. Implementing MAC - is much like implementing a firewall, care must be taken - to prevent being completely locked out of the system. The - ability to revert back to a previous configuration should be - considered while the implementation of MAC - remotely should be done with extreme caution. + Miközben a MAC rendszerhez + készült különbözõ modulok a + saját man oldalaik szerint szintén igénylik + a beépítésüket, vigyázzunk + velük, mert ezzel a rendszerüket pillanatok alatt ki + tudjuk zárni a hálózatból és + így tovább. A MAC alapú + védelem felépítése leginkább + egy tûzfal + összeállításához + hasonlítható, ahol ugyanígy számolni + kell azzal, hogy egy óvatlan paranccsal + kizárhatjuk magunkat a rendszerbõl. Valamilyen + módon mindig próbáljunk gondoskodni a + rendszer elõzõ állapotának + visszaállíthatóságáról, + és a MAC távoli + adminisztrációját mindig nagyfokú + körültekintéssel végezzük. + - Understanding MAC Labels + Bõvebben a MAC címkéirõl - A MAC label is a security attribute - which may be applied to subjects and objects throughout - the system. + A MAC-címke egy olyan + biztonsági tulajdonság, amelyet a rendszerben + található alanyokhoz és objektumokhoz + rendelhetünk. - When setting a label, the user must be able to comprehend - what it is, exactly, that is being done. The attributes - available on an object depend on the policy module loaded, and that - policy modules interpret their attributes in different - ways. If improperly configured due to lack of comprehension, or - the inability to understand the implications, the result will - be the unexpected and perhaps, undesired, behavior of the - system. + Egy címke beállításához a + felhasználónak pontosan ismernie kell, hogy ilyenkor + mi történik. Az objektumokhoz tartozó + tulajdonságok a betöltött moduloktól + függenek, és az egyes modulok eltérõ + módon értelmezik ezeket a tulajdonságokat. + Ha a precíz megértésük + hiányában helytelenül állítjuk be + ezeket, vagy nem vagyunk képesek tisztázni a + velük járó következményeket, akkor + az a rendszerünk kiszámíthatatlan és + valószínûleg kedvezõtlen + viselkedését eredményezi. - The security label on an object is used as a part of a - security access control decision by a policy. With some - policies, the label by itself contains all information necessary - to make a decision; in other models, the labels may be processed - as part of a larger rule set, etc. + A házirendek az objektumhoz rendelt biztonsági + címkéket a hozzáféréssel + kapcsolatos döntések meghozásában + használják fel. Bizonyos házirendek + esetében már maga a címke elegendõ + információt tartalmaz a döntés + megformálásához. Máshol viszont a + címkék egy nagyobb szabályrendszer + részeként dolgozódnak fel stb. - For instance, setting the label of biba/low - on a file will represent a label maintained by the Biba security policy module, - with a value of low. + Például ha egy állományra + beállítjuk a biba/low + címkét, akkor az arra fog utalni, hogy a + címkét a Biba nevû biztonsági modul + kezeli és értéke low. - A few policy modules which support the labeling feature in - &os; offer three specific predefined labels. These - are the low, high, and equal labels. Although they enforce - access control in a different manner with each policy module, you - can be sure that the low label will be the lowest setting, - the equal label will set the subject or object to be disabled - or unaffected, and the high label will enforce the highest - setting available in the Biba and MLS - policy modules. + Az a néhány modul, ami a &os;-ben + támogatja a címkézés + lehetõségét, három speciális + címkét definiál elõre. Ezek rendre a + low (alacsony), high (magas) + és equal (egyezõ) címkék. + Habár az egyes modulok esetén eltérõ + módon képesek vezérelni a + hozzáférést, azt mindig biztosra + vehetjük, hogy a low a legalacsonyabb + érték, az equal címke + hatására az adott alanyt vagy objektumot + érintetlenül hagyják, és a + high értékû címke a Biba + és MLS modulok esetében a + legmagasabb beállítást jelenti. - Within single label file system environments, only one label may be - used on objects. This will enforce one set of - access permissions across the entire system and in many - environments may be all that is required. There are a few - cases where multiple labels may be set on objects - or subjects in the file system. For those cases, the - option may be passed to - &man.tunefs.8;. + Az egycímkés állományrendszerek + használata során az egyes objektumonkhoz csak egyetlen + címkét rendelhetünk hozzá. Ezzel az + egész rendszerben csak egyfajta engedélyt + alkalmazunk, ami sok esetben pontosan elegendõ. + Létezik néhány különleges eset, + amikor az állományrendszerben levõ alanyokhoz + vagy objektumokhoz egyszerre több címkét is + hozzá kell rendelnünk. Ilyenkor a + opciót kell átadnunk a + &man.tunefs.8; segédprogramnak. - In the case of Biba and MLS, a numeric - label may be set to indicate the precise level of hierarchical - control. This numeric level is used to partition or sort - information into different groups of say, classification only - permitting access to that group or a higher group level. + A Biba és az MLS esetében + elõfordulhat, hogy egy numerikus címkével fogjuk + jelölni a hierarchikus irányítás pontos + szintjét. A numerikus szintek használatával + tudjuk az információt különbözõ + csoportokba szétosztani vagy elrendezni, mondjuk + úgy, hogy csak az adott szintû vagy a felette + álló csoportok számára + engedélyezzük a + hozzáférést. - In most cases the administrator will only be setting up a - single label to use throughout the file system. + Az esetek többségében a + rendszergazdának csak egyetlen címkét kell + beállítania az egész + állományrendszerre. - Hey wait, this is similar to DAC! - I thought MAC gave control strictly to the - administrator. That statement still holds true, to some - extent as root is the one in control and who - configures the policies so that users are placed in the - appropriate categories/access levels. Alas, many policy modules can - restrict the root user as well. Basic - control over objects will then be released to the group, but - root may revoke or modify the settings - at any time. This is the hierarchal/clearance model covered - by policies such as Biba and MLS. + Hé, álljunk csak meg! De akkor ez + pont olyan, mint a DAC! Én azt hittem, + hogy a MAC szigorúan a rendszergazda + kezébe adja az irányítást. + Ez az állítás továbbra is + fennáll, mivel bizonyos értelemben a + root lesz az, aki beállítja a + házirendeket, tehát õ mondja meg, hogy a + felhasználók milyen kategóriákba vagy + hozzáférési szintekbe sorolódnak. + Sajna sok biztonsági modul még magát a + root felhasználót is + korlátozza. Az objektumok feletti + irányítás ilyenkor a csoportra száll, + de a root bármikor visszavonhatja vagy + módosíthatja a beállításokat. + Ezzel a hierarchikus/engedély alapú modellel a Biba + és MLS nevû házirendek + foglalkoznak. - Label Configuration + A címkék + beállítása - Virtually all aspects of label policy module configuration - will be performed using the base system utilities. These - commands provide a simple interface for object or subject - configuration or the manipulation and verification of - the configuration. + A címkézéshez kapcsolódó + összes beállítást gyakorlatilag az + alapvetõ rendszerprogramokkal végezhetjük el. + Ezek a parancsok az objektumok és az alanyok + szabályozásához, valamint a + konfiguráció + módosításához és + ellenõrzéséhez adnak egy egyszerû + kezelõfelületet. - All configuration may be done by use of the - &man.setfmac.8; and &man.setpmac.8; utilities. - The setfmac command is used to set - MAC labels on system objects while the - setpmac command is used to set the labels - on system subjects. Observe: + Az összes konfigurációs >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Feb 12 19:47:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4058716A41A; Tue, 12 Feb 2008 19:47:11 +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 DF72C16A417 for ; Tue, 12 Feb 2008 19:47:10 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF7A513C442 for ; Tue, 12 Feb 2008 19:47:10 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CJlAXt024740 for ; Tue, 12 Feb 2008 19:47:10 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CJkuIT024719 for perforce@freebsd.org; Tue, 12 Feb 2008 19:46:56 GMT (envelope-from marcel@freebsd.org) Date: Tue, 12 Feb 2008 19:46:56 GMT Message-Id: <200802121946.m1CJkuIT024719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135269 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 19:47:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=135269 Change 135269 by marcel@marcel_xcllnt on 2008/02/12 19:46:33 IFC @135266 Affected files ... .. //depot/projects/powerpc/LOCKS#2 integrate .. //depot/projects/powerpc/MAINTAINERS#5 integrate .. //depot/projects/powerpc/Makefile#6 integrate .. //depot/projects/powerpc/Makefile.inc1#12 integrate .. //depot/projects/powerpc/ObsoleteFiles.inc#14 integrate .. //depot/projects/powerpc/UPDATING#14 integrate .. //depot/projects/powerpc/bin/date/date.c#2 integrate .. //depot/projects/powerpc/contrib/binutils/libiberty/cp-demangle.c#2 integrate .. //depot/projects/powerpc/contrib/file/FREEBSD-upgrade#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/bFLT#2 delete .. //depot/projects/powerpc/contrib/file/Magdir/chi#2 delete .. //depot/projects/powerpc/contrib/file/Magdir/cvs#2 delete .. //depot/projects/powerpc/contrib/file/Magdir/hdf#2 delete .. //depot/projects/powerpc/contrib/file/Magdir/impulse#2 delete .. //depot/projects/powerpc/contrib/file/Magdir/wordperfect#2 delete .. //depot/projects/powerpc/contrib/file/acconfig.h#2 delete .. //depot/projects/powerpc/contrib/file/magic.c#4 integrate .. //depot/projects/powerpc/contrib/file/missing#2 delete .. //depot/projects/powerpc/contrib/file/stamp-h.in#2 delete .. //depot/projects/powerpc/contrib/libiberty/cp-demangle.c#2 delete .. //depot/projects/powerpc/contrib/ncurses/FREEBSD-upgrade#3 integrate .. //depot/projects/powerpc/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/powerpc/contrib/ncurses/MANIFEST#4 integrate .. //depot/projects/powerpc/contrib/ncurses/NEWS#4 integrate .. //depot/projects/powerpc/contrib/ncurses/dist.mk#4 integrate .. //depot/projects/powerpc/contrib/ncurses/form/frm_driver.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/include/curses.h.in#4 integrate .. //depot/projects/powerpc/contrib/ncurses/include/ncurses_defs#4 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_clear.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/powerpc/contrib/ncurses/man/man_db.renames#4 integrate .. //depot/projects/powerpc/contrib/ncurses/man/manlinks.sed#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/toe.1m#4 integrate .. //depot/projects/powerpc/contrib/ncurses/misc/terminfo.src#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/MKlib_gen.sh#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/MKunctrl.awk#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_addch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_getch.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_insch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_newterm.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_newwin.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_set_term.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_slk.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_slkclear.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_slkinit.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/resizeterm.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/curses.priv.h#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_data.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_setup.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/infocmp.c#4 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/toe.c#4 integrate .. //depot/projects/powerpc/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/powerpc/contrib/openpam/include/security/openpam_version.h#3 integrate .. //depot/projects/powerpc/contrib/pf/man/pf.conf.5#4 integrate .. //depot/projects/powerpc/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/powerpc/crypto/openssh/FREEBSD-upgrade#2 integrate .. //depot/projects/powerpc/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/powerpc/etc/defaults/rc.conf#10 integrate .. //depot/projects/powerpc/etc/devd.conf#5 integrate .. //depot/projects/powerpc/etc/namedb/named.root#3 integrate .. //depot/projects/powerpc/etc/netstart#2 integrate .. //depot/projects/powerpc/etc/periodic/security/100.chksetuid#3 integrate .. //depot/projects/powerpc/etc/rc#3 integrate .. //depot/projects/powerpc/etc/rc.d/dhclient#5 integrate .. //depot/projects/powerpc/etc/rc.d/hostid#3 integrate .. //depot/projects/powerpc/etc/rc.d/ipfw#4 integrate .. //depot/projects/powerpc/etc/rc.d/kerberos#4 integrate .. //depot/projects/powerpc/etc/rc.d/mountcritremote#5 integrate .. //depot/projects/powerpc/etc/rc.d/netif#6 integrate .. //depot/projects/powerpc/etc/rc.d/ppp#4 integrate .. //depot/projects/powerpc/etc/rc.firewall#5 integrate .. //depot/projects/powerpc/etc/rc.subr#7 integrate .. //depot/projects/powerpc/gnu/lib/csu/Makefile#4 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/Makefile#2 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kgdb.h#6 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kld.c#1 branch .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kthr.c#6 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/main.c#3 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/trgt.c#3 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/trgt_i386.c#4 integrate .. //depot/projects/powerpc/include/fts.h#2 integrate .. //depot/projects/powerpc/include/pthread_np.h#4 integrate .. //depot/projects/powerpc/lib/libarchive/Makefile#11 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_tar.c#12 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_ar.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_cpio_newc.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/Makefile#8 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_compat_tar_hardlink.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_write_disk.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_write_format_cpio_newc.c#2 integrate .. //depot/projects/powerpc/lib/libc/gen/Makefile.inc#6 integrate .. //depot/projects/powerpc/lib/libc/gen/Symbol.map#7 integrate .. //depot/projects/powerpc/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/powerpc/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/powerpc/lib/libc/gen/fts.3#3 integrate .. //depot/projects/powerpc/lib/libc/gen/fts.c#3 integrate .. //depot/projects/powerpc/lib/libc/include/namespace.h#2 integrate .. //depot/projects/powerpc/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/powerpc/lib/libc/locale/Makefile.inc#2 integrate .. //depot/projects/powerpc/lib/libc/locale/ascii.c#1 branch .. //depot/projects/powerpc/lib/libc/locale/mblocal.h#3 integrate .. //depot/projects/powerpc/lib/libc/locale/setrunelocale.c#4 integrate .. //depot/projects/powerpc/lib/libc/net/getaddrinfo.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdlib/malloc.3#6 integrate .. //depot/projects/powerpc/lib/libc/stdlib/malloc.c#10 integrate .. //depot/projects/powerpc/lib/libc/sys/access.2#5 integrate .. //depot/projects/powerpc/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/powerpc/lib/libc/sys/flock.2#3 integrate .. //depot/projects/powerpc/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/powerpc/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/powerpc/lib/libelf/gelf_fsize.3#2 integrate .. //depot/projects/powerpc/lib/libfetch/common.c#4 integrate .. //depot/projects/powerpc/lib/libfetch/fetch.3#5 integrate .. //depot/projects/powerpc/lib/libfetch/ftp.c#5 integrate .. //depot/projects/powerpc/lib/libfetch/http.c#5 integrate .. //depot/projects/powerpc/lib/libkse/Makefile#3 integrate .. //depot/projects/powerpc/lib/libkse/kse.map#3 integrate .. //depot/projects/powerpc/lib/libkse/sys/lock.c#3 integrate .. //depot/projects/powerpc/lib/libkse/thread/thr_mutex.c#4 integrate .. //depot/projects/powerpc/lib/libpmc/pmc.3#5 integrate .. //depot/projects/powerpc/lib/librpcsvc/Makefile#2 integrate .. //depot/projects/powerpc/lib/librpcsvc/xcrypt.c#2 integrate .. //depot/projects/powerpc/lib/libthr/Makefile#8 integrate .. //depot/projects/powerpc/lib/libthr/pthread.map#6 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_mutex.c#9 integrate .. //depot/projects/powerpc/lib/msun/ld128/s_exp2l.c#2 integrate .. //depot/projects/powerpc/lib/msun/ld80/s_exp2l.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/e_exp.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/e_expf.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/e_remainder.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/k_cos.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/k_rem_pio2.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_exp2.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_exp2f.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_log1pf.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_logb.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/powerpc/lib/ncurses/ncurses/Makefile#10 integrate .. //depot/projects/powerpc/lib/ncurses/ncurses/ncurses_cfg.h#4 integrate .. //depot/projects/powerpc/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/doc/en_US.ISO8859-1/hardware/article.sgml#7 integrate .. //depot/projects/powerpc/release/doc/share/misc/dev.archlist.txt#10 integrate .. //depot/projects/powerpc/release/fixit.profile#3 integrate .. //depot/projects/powerpc/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/powerpc/sbin/dhclient/dhclient-script#5 integrate .. //depot/projects/powerpc/sbin/ffsinfo/ffsinfo.c#3 integrate .. //depot/projects/powerpc/sbin/fsck_msdosfs/boot.c#3 integrate .. //depot/projects/powerpc/sbin/fsck_msdosfs/fat.c#2 integrate .. //depot/projects/powerpc/sbin/geom/core/geom.8#3 integrate .. //depot/projects/powerpc/sbin/geom/core/geom.c#5 integrate .. //depot/projects/powerpc/sbin/gpt/gpt.8#3 integrate .. //depot/projects/powerpc/sbin/gpt/gpt.c#3 integrate .. //depot/projects/powerpc/sbin/gpt/migrate.c#2 integrate .. //depot/projects/powerpc/sbin/gpt/show.c#3 integrate .. //depot/projects/powerpc/sbin/ifconfig/ifieee80211.c#7 integrate .. //depot/projects/powerpc/sbin/ipfw/ipfw.8#9 integrate .. //depot/projects/powerpc/sbin/ipfw/ipfw2.c#8 integrate .. //depot/projects/powerpc/sbin/iscontrol/misc.c#2 integrate .. //depot/projects/powerpc/sbin/md5/md5.c#2 integrate .. //depot/projects/powerpc/sbin/mount/mount.c#5 integrate .. //depot/projects/powerpc/sbin/mount_nfs/mount_nfs.8#4 integrate .. //depot/projects/powerpc/sbin/mount_nfs/mount_nfs.c#4 integrate .. //depot/projects/powerpc/sbin/natd/natd.8#3 integrate .. //depot/projects/powerpc/sbin/quotacheck/Makefile#2 integrate .. //depot/projects/powerpc/sbin/quotacheck/preen.c#3 integrate .. //depot/projects/powerpc/sbin/quotacheck/quotacheck.8#3 integrate .. //depot/projects/powerpc/sbin/quotacheck/quotacheck.c#6 integrate .. //depot/projects/powerpc/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/powerpc/share/colldef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/powerpc/share/man/man4/Makefile#16 integrate .. //depot/projects/powerpc/share/man/man4/ath.4#4 integrate .. //depot/projects/powerpc/share/man/man4/atkbd.4#2 integrate .. //depot/projects/powerpc/share/man/man4/awi.4#3 integrate .. //depot/projects/powerpc/share/man/man4/axe.4#4 integrate .. //depot/projects/powerpc/share/man/man4/ciss.4#2 integrate .. //depot/projects/powerpc/share/man/man4/coda.4#1 branch .. //depot/projects/powerpc/share/man/man4/dcons.4#2 integrate .. //depot/projects/powerpc/share/man/man4/ed.4#4 integrate .. //depot/projects/powerpc/share/man/man4/geom_lvm.4#1 branch .. //depot/projects/powerpc/share/man/man4/hptiop.4#2 integrate .. //depot/projects/powerpc/share/man/man4/hptrr.4#2 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/snc.4#2 integrate .. //depot/projects/powerpc/share/man/man4/oldcard.4#2 delete .. //depot/projects/powerpc/share/man/man4/puc.4#2 integrate .. //depot/projects/powerpc/share/man/man4/rr232x.4#2 delete .. //depot/projects/powerpc/share/man/man4/sched_4bsd.4#3 integrate .. //depot/projects/powerpc/share/man/man4/sched_ule.4#3 integrate .. //depot/projects/powerpc/share/man/man4/sf.4#3 integrate .. //depot/projects/powerpc/share/man/man4/syncache.4#3 integrate .. //depot/projects/powerpc/share/man/man4/vlan.4#4 integrate .. //depot/projects/powerpc/share/man/man4/wi.4#5 integrate .. //depot/projects/powerpc/share/man/man4/xl.4#3 integrate .. //depot/projects/powerpc/share/man/man5/fstab.5#3 integrate .. //depot/projects/powerpc/share/man/man5/rc.conf.5#10 integrate .. //depot/projects/powerpc/share/man/man7/ports.7#4 integrate .. //depot/projects/powerpc/share/man/man9/BUF_ISLOCKED.9#1 branch .. //depot/projects/powerpc/share/man/man9/BUF_RECURSED.9#1 branch .. //depot/projects/powerpc/share/man/man9/BUF_REFCNT.9#2 delete .. //depot/projects/powerpc/share/man/man9/Makefile#10 integrate .. //depot/projects/powerpc/share/man/man9/lock.9#5 integrate .. //depot/projects/powerpc/share/man/man9/mbuf.9#4 integrate .. //depot/projects/powerpc/share/man/man9/style.9#4 integrate .. //depot/projects/powerpc/share/misc/committers-src.dot#8 integrate .. //depot/projects/powerpc/share/mk/bsd.dep.mk#2 integrate .. //depot/projects/powerpc/share/mk/bsd.own.mk#10 integrate .. //depot/projects/powerpc/share/mklocale/la_LN.US-ASCII.src#2 integrate .. //depot/projects/powerpc/share/msgdef/Makefile#2 integrate .. //depot/projects/powerpc/share/msgdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/powerpc/share/msgdef/ko_KR.eucKR.src#2 integrate .. //depot/projects/powerpc/sys/Makefile#8 integrate .. //depot/projects/powerpc/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/powerpc/sys/amd64/amd64/busdma_machdep.c#7 integrate .. //depot/projects/powerpc/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/powerpc/sys/amd64/amd64/identcpu.c#6 integrate .. //depot/projects/powerpc/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/powerpc/sys/amd64/conf/GENERIC#12 integrate .. //depot/projects/powerpc/sys/amd64/conf/NOTES#10 integrate .. //depot/projects/powerpc/sys/amd64/include/proc.h#2 integrate .. //depot/projects/powerpc/sys/amd64/include/specialreg.h#7 integrate .. //depot/projects/powerpc/sys/amd64/linux32/linux32_machdep.c#8 integrate .. //depot/projects/powerpc/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/powerpc/sys/arm/arm/genassym.c#4 integrate .. //depot/projects/powerpc/sys/arm/arm/locore.S#5 integrate .. //depot/projects/powerpc/sys/arm/arm/pmap.c#11 integrate .. //depot/projects/powerpc/sys/arm/arm/swtch.S#4 integrate .. //depot/projects/powerpc/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/powerpc/sys/arm/include/atomic.h#4 integrate .. //depot/projects/powerpc/sys/arm/include/pmap.h#6 integrate .. //depot/projects/powerpc/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/powerpc/sys/boot/ofw/libofw/ofw_console.c#5 integrate .. //depot/projects/powerpc/sys/boot/powerpc/ofw/Makefile#3 integrate .. //depot/projects/powerpc/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/powerpc/sys/cam/cam_periph.c#6 integrate .. //depot/projects/powerpc/sys/cam/cam_xpt.c#14 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/powerpc/sys/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/powerpc/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/powerpc/sys/compat/opensolaris/sys/kmem.h#3 integrate .. //depot/projects/powerpc/sys/conf/Makefile.arm#4 integrate .. //depot/projects/powerpc/sys/conf/NOTES#18 integrate .. //depot/projects/powerpc/sys/conf/files#21 integrate .. //depot/projects/powerpc/sys/conf/files.amd64#10 integrate .. //depot/projects/powerpc/sys/conf/files.i386#14 integrate .. //depot/projects/powerpc/sys/conf/files.powerpc#15 integrate .. //depot/projects/powerpc/sys/conf/files.sparc64#10 integrate .. //depot/projects/powerpc/sys/conf/kern.post.mk#5 integrate .. //depot/projects/powerpc/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/powerpc/sys/conf/options#21 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/powerpc/sys/ddb/db_capture.c#2 integrate .. //depot/projects/powerpc/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpi.c#12 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpi_cpu.c#10 integrate .. //depot/projects/powerpc/sys/dev/amr/amr.c#7 integrate .. //depot/projects/powerpc/sys/dev/amr/amrreg.h#4 integrate .. //depot/projects/powerpc/sys/dev/amr/amrvar.h#5 integrate .. //depot/projects/powerpc/sys/dev/bfe/if_bfe.c#4 integrate .. //depot/projects/powerpc/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/powerpc/sys/dev/ciss/ciss.c#8 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_sge.c#11 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/powerpc/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/powerpc/sys/dev/hatm/if_hatm_intr.c#3 integrate .. //depot/projects/powerpc/sys/dev/hptiop/hptiop.c#3 integrate .. //depot/projects/powerpc/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_osm_bsd.c#3 integrate .. //depot/projects/powerpc/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/powerpc/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/powerpc/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/powerpc/sys/dev/lge/if_lge.c#7 integrate .. //depot/projects/powerpc/sys/dev/mfi/mfi.c#10 integrate .. //depot/projects/powerpc/sys/dev/mfi/mfireg.h#6 integrate .. //depot/projects/powerpc/sys/dev/mii/amphy.c#7 integrate .. //depot/projects/powerpc/sys/dev/mii/miidevs#11 integrate .. //depot/projects/powerpc/sys/dev/mii/nsphy.c#7 integrate .. //depot/projects/powerpc/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/powerpc/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/powerpc/sys/dev/msk/if_msk.c#11 integrate .. //depot/projects/powerpc/sys/dev/mxge/if_mxge.c#12 integrate .. //depot/projects/powerpc/sys/dev/mxge/if_mxge_var.h#7 integrate .. //depot/projects/powerpc/sys/dev/nfe/if_nfe.c#8 integrate .. //depot/projects/powerpc/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/powerpc/sys/dev/pci/pci.c#15 integrate .. //depot/projects/powerpc/sys/dev/ral/rt2560.c#8 integrate .. //depot/projects/powerpc/sys/dev/ral/rt2560reg.h#3 integrate .. //depot/projects/powerpc/sys/dev/ral/rt2560var.h#4 integrate .. //depot/projects/powerpc/sys/dev/rr232x/LICENSE#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/README#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/array.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/him.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/hptintf.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/ldm.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/list.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/osm.h#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/osm_bsd.c#5 delete .. //depot/projects/powerpc/sys/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/powerpc/sys/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/powerpc/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/powerpc/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/powerpc/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/powerpc/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/powerpc/sys/dev/sk/if_sk.c#9 integrate .. //depot/projects/powerpc/sys/dev/syscons/syscons.c#8 integrate .. //depot/projects/powerpc/sys/dev/ti/if_ti.c#5 integrate .. //depot/projects/powerpc/sys/dev/twe/twe.c#4 integrate .. //depot/projects/powerpc/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/powerpc/sys/dev/usb/if_udav.c#6 integrate .. //depot/projects/powerpc/sys/dev/usb/uark.c#3 integrate .. //depot/projects/powerpc/sys/dev/usb/uftdi.c#4 integrate .. //depot/projects/powerpc/sys/dev/usb/uftdireg.h#2 integrate .. //depot/projects/powerpc/sys/dev/usb/usbdi.c#6 integrate .. //depot/projects/powerpc/sys/dev/wpi/if_wpi.c#4 integrate .. //depot/projects/powerpc/sys/fs/cd9660/cd9660_vfsops.c#5 integrate .. //depot/projects/powerpc/sys/fs/coda/cnode.h#3 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_kernel.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_namecache.c#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_namecache.h#3 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_subr.c#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_venus.c#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_vfsops.c#4 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/powerpc/sys/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/powerpc/sys/fs/fifofs/fifo_vnops.c#10 integrate .. //depot/projects/powerpc/sys/fs/hpfs/hpfs_subr.h#5 integrate .. //depot/projects/powerpc/sys/fs/hpfs/hpfs_vfsops.c#9 integrate .. //depot/projects/powerpc/sys/fs/msdosfs/msdosfs_denode.c#8 integrate .. //depot/projects/powerpc/sys/fs/ntfs/ntfs_subr.c#6 integrate .. //depot/projects/powerpc/sys/fs/nullfs/null_vfsops.c#9 integrate .. //depot/projects/powerpc/sys/fs/nullfs/null_vnops.c#10 integrate .. //depot/projects/powerpc/sys/fs/nwfs/nwfs_node.c#7 integrate .. //depot/projects/powerpc/sys/fs/smbfs/smbfs_node.c#7 integrate .. //depot/projects/powerpc/sys/fs/udf/udf_vfsops.c#9 integrate .. //depot/projects/powerpc/sys/fs/unionfs/union_subr.c#12 integrate .. //depot/projects/powerpc/sys/geom/lvm/g_lvm.c#1 branch .. //depot/projects/powerpc/sys/geom/lvm/g_lvm.h#1 branch .. //depot/projects/powerpc/sys/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/powerpc/sys/gnu/fs/reiserfs/reiserfs_inode.c#4 integrate .. //depot/projects/powerpc/sys/i386/acpica/madt.c#5 integrate .. //depot/projects/powerpc/sys/i386/conf/GENERIC#15 integrate .. //depot/projects/powerpc/sys/i386/conf/NOTES#13 integrate .. //depot/projects/powerpc/sys/i386/i386/busdma_machdep.c#10 integrate .. //depot/projects/powerpc/sys/i386/i386/dump_machdep.c#3 integrate .. //depot/projects/powerpc/sys/i386/i386/geode.c#4 integrate .. //depot/projects/powerpc/sys/i386/i386/minidump_machdep.c#3 integrate .. //depot/projects/powerpc/sys/i386/include/proc.h#6 integrate .. //depot/projects/powerpc/sys/i386/linux/linux_machdep.c#12 integrate .. //depot/projects/powerpc/sys/ia64/ia64/dump_machdep.c#3 integrate .. //depot/projects/powerpc/sys/ia64/ia64/locore.S#3 integrate .. //depot/projects/powerpc/sys/ia64/ia64/machdep.c#13 integrate .. //depot/projects/powerpc/sys/ia64/include/md_var.h#6 integrate .. //depot/projects/powerpc/sys/kern/init_sysent.c#8 integrate .. //depot/projects/powerpc/sys/kern/kern_descrip.c#15 integrate .. //depot/projects/powerpc/sys/kern/kern_jail.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_lock.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_mbuf.c#8 integrate .. //depot/projects/powerpc/sys/kern/kern_rwlock.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_shutdown.c#9 integrate .. //depot/projects/powerpc/sys/kern/kern_timeout.c#8 integrate .. //depot/projects/powerpc/sys/kern/sched_ule.c#13 integrate .. //depot/projects/powerpc/sys/kern/subr_bus.c#9 integrate .. //depot/projects/powerpc/sys/kern/subr_lock.c#9 integrate .. //depot/projects/powerpc/sys/kern/subr_sleepqueue.c#7 integrate .. //depot/projects/powerpc/sys/kern/subr_turnstile.c#7 integrate .. //depot/projects/powerpc/sys/kern/syscalls.c#8 integrate .. //depot/projects/powerpc/sys/kern/syscalls.master#9 integrate .. //depot/projects/powerpc/sys/kern/systrace_args.c#5 integrate .. //depot/projects/powerpc/sys/kern/tty_pty.c#9 integrate .. //depot/projects/powerpc/sys/kern/uipc_cow.c#3 integrate .. //depot/projects/powerpc/sys/kern/uipc_mbuf.c#10 integrate .. //depot/projects/powerpc/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/powerpc/sys/kern/uipc_sockbuf.c#7 integrate .. //depot/projects/powerpc/sys/kern/uipc_socket.c#12 integrate .. //depot/projects/powerpc/sys/kern/uipc_syscalls.c#14 integrate .. //depot/projects/powerpc/sys/kern/vfs_aio.c#11 integrate .. //depot/projects/powerpc/sys/kern/vfs_default.c#8 integrate .. //depot/projects/powerpc/sys/kern/vfs_mount.c#14 integrate .. //depot/projects/powerpc/sys/kern/vfs_subr.c#16 integrate .. //depot/projects/powerpc/sys/modules/Makefile#16 integrate .. //depot/projects/powerpc/sys/modules/cxgb/cxgb/Makefile#3 integrate .. //depot/projects/powerpc/sys/modules/geom/Makefile#5 integrate .. //depot/projects/powerpc/sys/modules/geom/geom_lvm/Makefile#1 branch .. //depot/projects/powerpc/sys/modules/mii/Makefile#5 integrate .. //depot/projects/powerpc/sys/modules/rr232x/Makefile#2 delete .. //depot/projects/powerpc/sys/modules/sf/Makefile#4 integrate .. //depot/projects/powerpc/sys/net/bpf.c#11 integrate .. //depot/projects/powerpc/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/powerpc/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/powerpc/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/powerpc/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/powerpc/sys/netgraph/netflow/ng_netflow.c#3 integrate .. //depot/projects/powerpc/sys/netgraph/netgraph.h#7 integrate .. //depot/projects/powerpc/sys/netgraph/ng_base.c#12 integrate .. //depot/projects/powerpc/sys/netgraph/ng_bpf.c#5 integrate .. //depot/projects/powerpc/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/powerpc/sys/netgraph/ng_ppp.c#10 integrate .. //depot/projects/powerpc/sys/netgraph/ng_pppoe.c#7 integrate .. //depot/projects/powerpc/sys/netgraph/ng_pred1.c#2 integrate .. //depot/projects/powerpc/sys/netgraph/ng_tee.c#5 integrate .. //depot/projects/powerpc/sys/netinet/in.c#10 integrate .. //depot/projects/powerpc/sys/netinet/in_rmx.c#7 integrate .. //depot/projects/powerpc/sys/netinet/ip_carp.c#6 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw.h#7 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw2.c#13 integrate .. //depot/projects/powerpc/sys/netinet/ip_id.c#6 integrate .. //depot/projects/powerpc/sys/netinet/ip_options.c#4 integrate .. //depot/projects/powerpc/sys/netinet/ip_output.c#10 integrate .. //depot/projects/powerpc/sys/netinet/sctp_auth.c#11 integrate .. //depot/projects/powerpc/sys/netinet/sctp_bsd_addr.c#9 integrate .. //depot/projects/powerpc/sys/netinet/sctp_indata.c#14 integrate .. //depot/projects/powerpc/sys/netinet/sctp_input.c#14 integrate .. //depot/projects/powerpc/sys/netinet/sctp_pcb.c#14 integrate .. //depot/projects/powerpc/sys/netinet/sctp_peeloff.c#12 integrate .. //depot/projects/powerpc/sys/netinet/sctputil.c#16 integrate .. //depot/projects/powerpc/sys/netinet/tcp_usrreq.c#15 integrate .. //depot/projects/powerpc/sys/netinet6/in6.c#13 integrate .. //depot/projects/powerpc/sys/netinet6/in6_src.c#11 integrate .. //depot/projects/powerpc/sys/netinet6/ip6_output.c#9 integrate .. //depot/projects/powerpc/sys/netinet6/ip6_var.h#8 integrate .. //depot/projects/powerpc/sys/netinet6/raw_ip6.c#10 integrate .. //depot/projects/powerpc/sys/netinet6/udp6_usrreq.c#12 integrate .. //depot/projects/powerpc/sys/netipsec/ipsec.c#8 integrate .. //depot/projects/powerpc/sys/netipsec/ipsec.h#4 integrate .. //depot/projects/powerpc/sys/netipsec/ipsec6.h#3 integrate .. //depot/projects/powerpc/sys/netncp/ncp_conn.c#6 integrate .. //depot/projects/powerpc/sys/netsmb/smb_conn.c#4 integrate .. //depot/projects/powerpc/sys/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/powerpc/sys/nfs4client/nfs4_vfsops.c#5 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_bio.c#9 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_node.c#6 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_subs.c#9 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_vfsops.c#10 integrate .. //depot/projects/powerpc/sys/nfsclient/nfsnode.h#6 integrate .. //depot/projects/powerpc/sys/pci/amdsmb.c#3 integrate .. //depot/projects/powerpc/sys/pci/if_sf.c#7 delete .. //depot/projects/powerpc/sys/pci/if_sfreg.h#4 delete .. //depot/projects/powerpc/sys/pci/if_wb.c#6 integrate .. //depot/projects/powerpc/sys/pci/nfsmb.c#4 integrate .. //depot/projects/powerpc/sys/powerpc/include/intr_machdep.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/openpicreg.h#7 integrate .. //depot/projects/powerpc/sys/powerpc/include/openpicvar.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/powerpc/sys/powerpc/powermac/hrowpic.c#5 integrate .. //depot/projects/powerpc/sys/powerpc/powermac/openpic_macio.c#4 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/intr_machdep.c#7 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/openpic.c#7 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/pic_if.m#5 integrate .. //depot/projects/powerpc/sys/powerpc/psim/openpic_iobus.c#4 integrate .. //depot/projects/powerpc/sys/security/audit/audit.c#9 integrate .. //depot/projects/powerpc/sys/security/mac_mls/mac_mls.c#8 integrate .. //depot/projects/powerpc/sys/sparc64/conf/GENERIC#12 integrate .. //depot/projects/powerpc/sys/sparc64/include/md_var.h#5 integrate .. //depot/projects/powerpc/sys/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/powerpc/sys/sparc64/sparc64/dump_machdep.c#3 integrate .. //depot/projects/powerpc/sys/sun4v/sun4v/dump_machdep.c#2 integrate .. //depot/projects/powerpc/sys/sys/buf.h#8 integrate .. //depot/projects/powerpc/sys/sys/bus.h#5 integrate .. //depot/projects/powerpc/sys/sys/conf.h#8 integrate .. //depot/projects/powerpc/sys/sys/event.h#5 integrate .. //depot/projects/powerpc/sys/sys/lockmgr.h#8 integrate .. //depot/projects/powerpc/sys/sys/mbuf.h#13 integrate .. //depot/projects/powerpc/sys/sys/param.h#14 integrate .. //depot/projects/powerpc/sys/sys/priv.h#10 integrate .. //depot/projects/powerpc/sys/sys/proc.h#19 integrate .. //depot/projects/powerpc/sys/sys/rwlock.h#6 integrate .. //depot/projects/powerpc/sys/sys/socket.h#9 integrate .. //depot/projects/powerpc/sys/sys/socketvar.h#9 integrate .. //depot/projects/powerpc/sys/sys/syscall.h#8 integrate .. //depot/projects/powerpc/sys/sys/syscall.mk#8 integrate .. //depot/projects/powerpc/sys/sys/sysproto.h#8 integrate .. //depot/projects/powerpc/sys/sys/user.h#7 integrate .. //depot/projects/powerpc/sys/tools/embed_mfs.sh#1 branch .. //depot/projects/powerpc/sys/ufs/ffs/ffs_snapshot.c#11 integrate .. //depot/projects/powerpc/sys/ufs/ffs/ffs_vfsops.c#10 integrate .. //depot/projects/powerpc/sys/ufs/ffs/ffs_vnops.c#13 integrate .. //depot/projects/powerpc/sys/ufs/ufs/ufs_extattr.c#7 integrate .. //depot/projects/powerpc/tools/build/Makefile#2 integrate .. //depot/projects/powerpc/tools/regression/netinet/ip_id_period/ip_id_period.py#1 branch .. //depot/projects/powerpc/tools/regression/pthread/mutex_isowned_np/Makefile#1 branch .. //depot/projects/powerpc/tools/regression/pthread/mutex_isowned_np/mutex_isowned_np.c#1 branch .. //depot/projects/powerpc/tools/regression/sockets/unix_sorflush/Makefile#1 branch .. //depot/projects/powerpc/tools/regression/sockets/unix_sorflush/unix_sorflush.c#1 branch .. //depot/projects/powerpc/tools/sched/schedgraph.py#8 integrate .. //depot/projects/powerpc/tools/tools/crypto/cryptostats.c#2 integrate .. //depot/projects/powerpc/tools/tools/crypto/cryptotest.c#3 integrate .. //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#9 integrate .. //depot/projects/powerpc/usr.bin/file/Makefile#2 integrate .. //depot/projects/powerpc/usr.bin/file/file.1#3 delete .. //depot/projects/powerpc/usr.bin/file/magic.5#3 delete .. //depot/projects/powerpc/usr.bin/fstat/Makefile#3 integrate .. //depot/projects/powerpc/usr.bin/fstat/zfs/Makefile#3 integrate .. //depot/projects/powerpc/usr.bin/gzip/znew#2 integrate .. //depot/projects/powerpc/usr.bin/kdump/Makefile#2 integrate .. //depot/projects/powerpc/usr.bin/kdump/mkioctls#3 integrate .. //depot/projects/powerpc/usr.bin/kdump/mksubr#4 integrate .. //depot/projects/powerpc/usr.bin/logger/logger.c#3 integrate .. //depot/projects/powerpc/usr.bin/ministat/ministat.c#2 integrate .. //depot/projects/powerpc/usr.bin/mklocale/mklocale.1#2 integrate .. //depot/projects/powerpc/usr.bin/mklocale/yacc.y#4 integrate .. //depot/projects/powerpc/usr.bin/mt/mt.1#2 integrate .. //depot/projects/powerpc/usr.bin/netstat/netstat.h#5 integrate .. //depot/projects/powerpc/usr.bin/netstat/route.c#5 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat.c#2 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat_basic.c#2 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat_files.c#3 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat_kstack.c#2 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat_threads.c#2 integrate .. //depot/projects/powerpc/usr.bin/procstat/procstat_vm.c#2 integrate .. //depot/projects/powerpc/usr.bin/sed/compile.c#3 integrate .. //depot/projects/powerpc/usr.bin/sed/defs.h#3 integrate .. //depot/projects/powerpc/usr.bin/sed/main.c#5 integrate .. //depot/projects/powerpc/usr.bin/sed/process.c#6 integrate .. //depot/projects/powerpc/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/powerpc/usr.bin/tar/bsdtar.c#8 integrate .. //depot/projects/powerpc/usr.bin/top/machine.c#6 integrate .. //depot/projects/powerpc/usr.bin/truss/Makefile#3 integrate .. //depot/projects/powerpc/usr.bin/uniq/uniq.c#3 integrate .. //depot/projects/powerpc/usr.bin/xargs/xargs.1#2 integrate .. //depot/projects/powerpc/usr.sbin/Makefile#7 integrate .. //depot/projects/powerpc/usr.sbin/adduser/adduser.8#3 integrate .. //depot/projects/powerpc/usr.sbin/adduser/adduser.sh#5 integrate .. //depot/projects/powerpc/usr.sbin/bootparamd/Makefile#2 integrate .. //depot/projects/powerpc/usr.sbin/bootparamd/Makefile.inc#2 integrate .. //depot/projects/powerpc/usr.sbin/bootparamd/bootparamd/bootparamd.c#3 integrate .. //depot/projects/powerpc/usr.sbin/bootparamd/bootparamd/main.c#3 integrate .. //depot/projects/powerpc/usr.sbin/iostat/iostat.c#8 integrate .. //depot/projects/powerpc/usr.sbin/kbdcontrol/kbdcontrol.1#2 integrate .. //depot/projects/powerpc/usr.sbin/kbdcontrol/kbdmap.5#2 integrate .. //depot/projects/powerpc/usr.sbin/newsyslog/newsyslog.c#2 integrate .. //depot/projects/powerpc/usr.sbin/ofwdump/Makefile#2 integrate .. //depot/projects/powerpc/usr.sbin/ofwdump/ofwdump.8#2 integrate .. //depot/projects/powerpc/usr.sbin/pkg_install/add/pkg_add.1#5 integrate .. //depot/projects/powerpc/usr.sbin/pw/pw.8#3 integrate .. //depot/projects/powerpc/usr.sbin/setfmac/setfmac.c#3 integrate .. //depot/projects/powerpc/usr.sbin/sysinstall/disks.c#2 integrate .. //depot/projects/powerpc/usr.sbin/sysinstall/menus.c#7 integrate .. //depot/projects/powerpc/usr.sbin/timed/timed/timed.8#3 integrate .. //depot/projects/powerpc/usr.sbin/traceroute6/traceroute6.8#2 integrate .. //depot/projects/powerpc/usr.sbin/traceroute6/traceroute6.c#6 integrate .. //depot/projects/powerpc/usr.sbin/watch/watch.c#2 integrate .. //depot/projects/powerpc/usr.sbin/ypserv/yp_main.c#2 integrate .. //depot/projects/powerpc/usr.sbin/ypserv/ypserv.8#2 integrate Differences ... ==== //depot/projects/powerpc/LOCKS#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/LOCKS,v 1.3 2006/01/13 06:51:43 ru Exp $ +$FreeBSD: src/LOCKS,v 1.4 2008/01/24 22:07:03 cperciva Exp $ This file documents formal review/approval requirements that have been approved by core. @@ -10,3 +10,4 @@ src/* RELENG_4_* Requires Security Officer approval. src/* RELENG_5_* Requires Security Officer approval. src/* RELENG_6_* Requires Security Officer approval. +src/* RELENG_7_* Requires Security Officer approval. ==== //depot/projects/powerpc/MAINTAINERS#5 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.145 2007/05/23 21:47:19 jfv Exp $ +$FreeBSD: src/MAINTAINERS,v 1.146 2008/01/26 21:58:52 brueffer Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -33,7 +33,6 @@ ahc(4) gibbs Pre-commit review requested. ahd(4) gibbs Pre-commit review requested. NEWCARD imp Pre-commit review requested. -OLDCARD imp Pre-commit review requested. pci bus imp,jhb Pre-commit review requested. cdboot jhb Pre-commit review requested. pxeboot jhb Pre-commit review requested. ==== //depot/projects/powerpc/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.344 2007/12/13 00:08:02 imp Exp $ +# $FreeBSD: src/Makefile,v 1.345 2008/01/30 19:33:18 jhb Exp $ # # The user-driven targets are: # @@ -75,6 +75,8 @@ # developer convenience only. They are intentionally not documented and # completely subject to change without notice. # +# For more information, see the build(7) manual page. +# TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ check-old check-old-dirs check-old-files check-old-libs \ checkdpadd clean cleandepend cleandir \ ==== //depot/projects/powerpc/Makefile.inc1#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.592 2008/01/16 15:05:49 brueffer Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.598 2008/02/05 15:41:58 des Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -313,8 +313,9 @@ .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These two can depend on any header file. +# XXX - These three can depend on any header file. rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c + rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ @@ -841,8 +842,8 @@ # legacy: Build compatibility shims for the next three targets # legacy: -.if ${BOOTSTRAPPING} < 503000 - @echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \ +.if ${BOOTSTRAPPING} < 600034 && ${BOOTSTRAPPING} != 0 + @echo "ERROR: Source upgrades from versions prior to 6.0 not supported."; \ false .endif .for _tool in tools/build @@ -871,26 +872,6 @@ .endif .endif -.if ${BOOTSTRAPPING} < 600029 -_texinfo= gnu/usr.bin/texinfo -.endif - -.if ${BOOTSTRAPPING} < 600015 -_cap_mkdb= usr.bin/cap_mkdb -.endif - -.if ${BOOTSTRAPPING} < 600018 -_colldef= usr.bin/colldef -.endif - -.if ${BOOTSTRAPPING} < 600017 -_gencat= usr.bin/gencat -.endif - -.if ${BOOTSTRAPPING} < 600016 -_mklocale= usr.bin/mklocale -.endif - .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -900,28 +881,23 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 600020 -_pwd_mkdb= usr.sbin/pwd_mkdb +.if ${BOOTSTRAPPING} < 800013 +_mklocale= usr.bin/mklocale .endif bootstrap-tools: .for _tool in \ + ${_mklocale} \ ${_strfile} \ ${_gperf} \ ${_groff} \ - ${_texinfo} \ - ${_cap_mkdb} \ - ${_colldef} \ - ${_gencat} \ usr.bin/lorder \ usr.bin/makewhatis \ - ${_mklocale} \ usr.bin/rpcgen \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ - ${_crunchgen} \ - ${_pwd_mkdb} + ${_crunchgen} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ==== //depot/projects/powerpc/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.125 2008/01/11 13:41:31 jhb Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.130 2008/02/06 19:45:25 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080126: oldcard.4 removal +OLD_FILES+=usr/share/man/man4/card.4.gz +OLD_FILES+=usr/share/man/man4/oldcard.4.gz +# 20080122: Removed from the tree +OLD_FILES+=usr/share/man/man9/BUF_REFCNT.9.gz # 20080108: Moved to section 2 OLD_FILES+=usr/share/man/man3/shm_open.3.gz OLD_FILES+=usr/share/man/man3/shm_unlink.3.gz @@ -3940,7 +3945,9 @@ .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64" OLD_FILES+=usr/share/man/man8/boot_i386.8.gz .endif +.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "sparc64" OLD_FILES+=usr/share/man/man8/ofwdump.8.gz +.endif OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz OLD_FILES+=usr/share/man/man9/VFS_START.9.gz OLD_FILES+=usr/share/man/man9/cpu_critical_exit.9.gz ==== //depot/projects/powerpc/UPDATING#14 (text+ko) ==== @@ -19,7 +19,37 @@ related kernel options, INVARIANTS, malloc debugging flags in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines - to maximize performance. + to maximize performance. (To disable malloc debugging, run + ln -s aj /etc/malloc.conf.) + +20080211: + The default NFS mount mode has changed from UDP to TCP for + increased reliability. If you rely on (insecurely) NFS + mounting across a firewall you may need to update your + firewall rules. + +20080208: + Belatedly note the addition of m_collapse for compacting + mbuf chains. + +20080126: + The fts(3) structures have been changed to use adequate + integer types for their members and so to be able to cope + with huge file trees. The old fts(3) ABI is preserved + through symbol versioning in libc, so third-party binaries + using fts(3) should still work, although they will not take + advantage of the extended types. At the same time, some + third-party software might fail to build after this change + due to unportable assumptions made in its source code about + fts(3) structure members. Such software should be fixed + by its vendor or, in the worst case, in the ports tree. + FreeBSD_version 800015 marks this change for the unlikely + case that a portable fix is impossible. + +20080123: + To upgrade to -current after this date, you must be running + FreeBSD not older than 6.0-RELEASE. Upgrading to -current + from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems. 20071128: The ADAPTIVE_GIANT kernel option has been retired because its @@ -949,4 +979,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.513 2007/11/28 13:04:11 matteo Exp $ +$FreeBSD: src/UPDATING,v 1.519 2008/02/11 23:23:20 kris Exp $ ==== //depot/projects/powerpc/bin/date/date.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.47 2005/01/10 08:39:21 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.48 2008/02/07 16:04:24 ru Exp $"); #include #include @@ -186,8 +186,10 @@ const char *dot, *t; int century; + lt = localtime(&tval); + lt->tm_isdst = -1; /* divine correct DST */ + if (fmt != NULL) { - lt = localtime(&tval); t = strptime(p, fmt, lt); if (t == NULL) { fprintf(stderr, "Failed conversion of ``%s''" @@ -208,8 +210,6 @@ badformat(); } - lt = localtime(&tval); - if (dot != NULL) { /* .ss */ dot++; /* *dot++ = '\0'; */ if (strlen(dot) != 2) @@ -264,9 +264,6 @@ } } - /* Let mktime() decide whether summer time is in effect. */ - lt->tm_isdst = -1; - /* convert broken-down time to GMT clock time */ if ((tval = mktime(lt)) == -1) errx(1, "nonexistent time"); ==== //depot/projects/powerpc/contrib/binutils/libiberty/cp-demangle.c#2 (text+ko) ==== @@ -2396,6 +2396,8 @@ const char *s; type = cplus_demangle_type (di); + if (type == NULL) + return NULL; /* If we have a type we know how to print, we aren't going to print the type name itself. */ ==== //depot/projects/powerpc/contrib/file/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/file/FREEBSD-upgrade,v 1.7 2007/05/24 22:02:49 obrien Exp $ +$FreeBSD: src/contrib/file/FREEBSD-upgrade,v 1.8 2008/01/30 02:48:24 obrien Exp $ Christos Zoulas `file' originals can be found at: ftp://ftp.astron.com/pub/file/ @@ -17,14 +17,14 @@ rm -f missing depcomp rm -f config.{guess,sub} - cvs import -m "Virgin import of Christos Zoulas's FILE 4.21." \ - src/contrib/file ZOULAS file_4_21 + cvs import -m "Virgin import of Christos Zoulas's FILE 4.23." \ + src/contrib/file ZOULAS file_4_23 Never make local changes to ZOULAS `file'. Christos is very willing to work with us to meet our FreeBSD needs. Thus submit any desired changes to him and wait for the next release and vendor import to get them. - + obrien@NUXI.com 15-Sept-2002 ==== //depot/projects/powerpc/contrib/file/magic.c#4 (text+ko) ==== @@ -218,6 +218,7 @@ */ #ifdef HAVE_UTIMES struct timeval utsbuf[2]; + memset(utsbuf, 0, sizeof(struct timeval) * 2); utsbuf[0].tv_sec = sb->st_atime; utsbuf[1].tv_sec = sb->st_mtime; @@ -225,6 +226,7 @@ #elif defined(HAVE_UTIME_H) || defined(HAVE_SYS_UTIME_H) struct utimbuf utbuf; + memset(&utbuf, 0, sizeof(struct utimbuf)); utbuf.actime = sb->st_atime; utbuf.modtime = sb->st_mtime; (void) utime(name, &utbuf); /* don't care if loses */ ==== //depot/projects/powerpc/contrib/ncurses/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.2 2007/12/30 11:19:29 rafan Exp $ +$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.3 2008/02/11 13:42:45 rafan Exp $ ncurses @@ -18,6 +18,10 @@ src/contrib/ncurses NCURSES v5_6_20061217 The date in the tag can be obtained from contrib/ncurses/dist.mk. +If the version is a snapshot, + + cvs import -m 'Import ncurses 5.6-20080209 snapshot onto the vendor branch' \ + src/contrib/ncurses NCURSES v5_6_20080209 Remove files that are removed in this release in vendor branch (NCURSES) instead of HEAD. ==== //depot/projects/powerpc/contrib/ncurses/MANIFEST#4 (text+ko) ==== @@ -571,6 +571,7 @@ ./man/curs_termattrs.3x ./man/curs_termcap.3x ./man/curs_terminfo.3x +./man/curs_threads.3x ./man/curs_touch.3x ./man/curs_trace.3x ./man/curs_util.3x @@ -810,6 +811,7 @@ ./ncurses/curses.priv.h ./ncurses/fifo_defs.h ./ncurses/llib-lncurses +./ncurses/llib-lncursest ./ncurses/llib-lncursesw ./ncurses/modules ./ncurses/tinfo/MKcaptab.awk ==== //depot/projects/powerpc/contrib/ncurses/NEWS#4 (text+ko) ==== @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1188 2007/12/22 23:56:08 tom Exp $ +-- $Id: NEWS,v 1.1206 2008/02/09 23:49:39 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,54 @@ Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20080209 + + update test programs to build/work with various UNIX curses for + comparisons. This was to reinvestigate statement in X/Open curses + that insnstr and winsnstr perform wrapping. None of the Unix-branded + implementations do this, as noted in manpage (cf: 20040228). + +20080203 + + modify _nc_setupscreen() to set the legacy-coding value the same + for both narrow/wide models. It had been set only for wide model, + but is needed to make unctrl() work with locale in the narrow model. + + improve waddch() and winsch() handling of EILSEQ from mbrtowc() by + using unctrl() to display illegal bytes rather than trying to append + further bytes to make up a valid sequence (reported by Andrey A + Chernov). + + modify unctrl() to check codes in 128-255 range versus isprint(). + If they are not printable, and locale was set, use a "M-" or "~" + sequence. + +20080126 + + improve threading in test/worm.c (wrap refresh calls, and KEY_RESIZE + handling). Now it hangs in napms(), no matter whether nanosleep() + or poll() or select() are used on Linux. + +20080119 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Feb 12 20:59:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F39FB16A476; Tue, 12 Feb 2008 20:59:45 +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 A027E16A469 for ; Tue, 12 Feb 2008 20:59:45 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9193E13C45B for ; Tue, 12 Feb 2008 20:59:45 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CKxjVl044465 for ; Tue, 12 Feb 2008 20:59:45 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CKxjPC044462 for perforce@freebsd.org; Tue, 12 Feb 2008 20:59:45 GMT (envelope-from marcel@freebsd.org) Date: Tue, 12 Feb 2008 20:59:45 GMT Message-Id: <200802122059.m1CKxjPC044462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135279 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 20:59:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=135279 Change 135279 by marcel@marcel_xcllnt on 2008/02/12 20:59:20 IFC @135278 Affected files ... .. //depot/projects/powerpc/include/unistd.h#4 integrate .. //depot/projects/powerpc/lib/libc/sys/readlink.2#3 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_proto.h#8 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscall.h#8 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscalls.c#8 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_sysent.c#8 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/syscalls.master#8 integrate .. //depot/projects/powerpc/sys/kern/init_sysent.c#9 integrate .. //depot/projects/powerpc/sys/kern/syscalls.c#9 integrate .. //depot/projects/powerpc/sys/kern/syscalls.master#10 integrate .. //depot/projects/powerpc/sys/kern/systrace_args.c#6 integrate .. //depot/projects/powerpc/sys/kern/sysv_shm.c#8 integrate .. //depot/projects/powerpc/sys/kern/vfs_syscalls.c#14 integrate .. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/powerpc/sys/powerpc/aim/ofw_machdep.c#5 integrate .. //depot/projects/powerpc/sys/powerpc/conf/NOTES#8 integrate .. //depot/projects/powerpc/sys/sys/ipc.h#5 integrate .. //depot/projects/powerpc/sys/sys/shm.h#5 integrate .. //depot/projects/powerpc/sys/sys/syscall.h#9 integrate .. //depot/projects/powerpc/sys/sys/syscall.mk#9 integrate .. //depot/projects/powerpc/sys/sys/syscallsubr.h#5 integrate .. //depot/projects/powerpc/sys/sys/sysproto.h#9 integrate Differences ... ==== //depot/projects/powerpc/include/unistd.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * $FreeBSD: src/include/unistd.h,v 1.82 2008/01/18 08:48:32 davidxu Exp $ + * $FreeBSD: src/include/unistd.h,v 1.83 2008/02/12 20:09:03 ru Exp $ */ #ifndef _UNISTD_H_ @@ -405,7 +405,7 @@ /* 1003.1-2001 */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE int fchown(int, uid_t, gid_t); -int readlink(const char *, char *, int); +ssize_t readlink(const char *, char *, size_t); #endif #if __POSIX_VISIBLE >= 200112 int gethostname(char *, size_t); ==== //depot/projects/powerpc/lib/libc/sys/readlink.2#3 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/readlink.2,v 1.14 2007/01/09 00:28:15 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/readlink.2,v 1.15 2008/02/12 20:09:03 ru Exp $ .\" -.Dd June 4, 1993 +.Dd February 12, 2008 .Dt READLINK 2 .Os .Sh NAME @@ -38,8 +38,8 @@ .Lb libc .Sh SYNOPSIS .In unistd.h -.Ft int -.Fn readlink "const char *path" "char *buf" "int bufsiz" +.Ft ssize_t +.Fn readlink "const char *path" "char *buf" "size_t bufsiz" .Sh DESCRIPTION The .Fn readlink @@ -58,7 +58,7 @@ .Fa buf . .Sh RETURN VALUES The call returns the count of characters placed in the buffer -if it succeeds, or a -1 if an error occurs, placing the error +if it succeeds, or a \-1 if an error occurs, placing the error code in the global variable .Va errno . .Sh ERRORS ==== //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_proto.h#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.81 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.82 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.96 2008/02/12 20:09:03 ru Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscall.h#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.79 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.80 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.96 2008/02/12 20:09:03 ru Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscalls.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.70 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.71 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.96 2008/02/12 20:09:03 ru Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_sysent.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.80 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.81 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.96 2008/02/12 20:09:03 ru Exp */ #include "opt_compat.h" ==== //depot/projects/powerpc/sys/compat/freebsd32/syscalls.master#8 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.96 2008/02/12 20:09:03 ru Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -132,8 +132,8 @@ 55 AUE_REBOOT NOPROTO { int reboot(int opt); } 56 AUE_REVOKE NOPROTO { int revoke(char *path); } 57 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); } -58 AUE_READLINK NOPROTO { int readlink(char *path, char *buf, \ - int count); } +58 AUE_READLINK NOPROTO { ssize_t readlink(char *path, char *buf, \ + size_t count); } 59 AUE_EXECVE STD { int freebsd32_execve(char *fname, \ u_int32_t *argv, u_int32_t *envv); } 60 AUE_UMASK NOPROTO { int umask(int newmask); } umask \ ==== //depot/projects/powerpc/sys/kern/init_sysent.c#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.232 2008/01/20 23:44:23 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.233 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ #include "opt_compat.h" ==== //depot/projects/powerpc/sys/kern/syscalls.c#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.216 2008/01/20 23:44:23 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.217 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ const char *syscallnames[] = { ==== //depot/projects/powerpc/sys/kern/syscalls.master#10 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -139,8 +139,8 @@ 55 AUE_REBOOT STD { int reboot(int opt); } 56 AUE_REVOKE STD { int revoke(char *path); } 57 AUE_SYMLINK STD { int symlink(char *path, char *link); } -58 AUE_READLINK STD { int readlink(char *path, char *buf, \ - int count); } +58 AUE_READLINK STD { ssize_t readlink(char *path, char *buf, \ + size_t count); } 59 AUE_EXECVE STD { int execve(char *fname, char **argv, \ char **envv); } 60 AUE_UMASK STD { int umask(int newmask); } umask umask_args \ ==== //depot/projects/powerpc/sys/kern/systrace_args.c#6 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.16 2008/01/20 23:44:23 rwatson Exp $ + * $FreeBSD: src/sys/kern/systrace_args.c,v 1.17 2008/02/12 20:11:54 ru Exp $ * This file is part of the DTrace syscall provider. */ @@ -391,7 +391,7 @@ struct readlink_args *p = params; uarg[0] = (intptr_t) p->path; /* char * */ uarg[1] = (intptr_t) p->buf; /* char * */ - iarg[2] = p->count; /* int */ + uarg[2] = p->count; /* size_t */ *n_args = 3; break; } ==== //depot/projects/powerpc/sys/kern/sysv_shm.c#8 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sysv_shm.c,v 1.112 2007/10/24 19:03:55 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sysv_shm.c,v 1.113 2008/02/12 20:55:03 csjp Exp $"); #include "opt_compat.h" #include "opt_sysvipc.h" @@ -545,6 +545,15 @@ mtx_lock(&Giant); switch (cmd) { + /* + * It is possible that kern_shmctl is being called from the Linux ABI + * layer, in which case, we will need to implement IPC_INFO. It should + * be noted that other shmctl calls will be funneled through here for + * Linix binaries as well. + * + * NB: The Linux ABI layer will convert this data to structure(s) more + * consistent with the Linux ABI. + */ case IPC_INFO: memcpy(buf, &shminfo, sizeof(shminfo)); if (bufsz) @@ -639,6 +648,15 @@ struct shmid_ds buf; size_t bufsz; + /* + * The only reason IPC_INFO, SHM_INFO, SHM_STAT exists is to support + * Linux binaries. If we see the call come through the FreeBSD ABI, + * return an error back to the user since we do not to support this. + */ + if (uap->cmd == IPC_INFO || uap->cmd == SHM_INFO || + uap->cmd == SHM_STAT) + return (EINVAL); + /* IPC_SET needs to copyin the buffer before calling kern_shmctl */ if (uap->cmd == IPC_SET) { if ((error = copyin(uap->buf, &buf, sizeof(struct shmid_ds)))) @@ -651,9 +669,6 @@ /* Cases in which we need to copyout */ switch (uap->cmd) { - case IPC_INFO: - case SHM_INFO: - case SHM_STAT: case IPC_STAT: error = copyout(&buf, uap->buf, bufsz); break; ==== //depot/projects/powerpc/sys/kern/vfs_syscalls.c#14 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.448 2008/01/13 14:44:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.449 2008/02/12 20:09:04 ru Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -2307,7 +2307,7 @@ struct readlink_args { char *path; char *buf; - int count; + size_t count; }; #endif int @@ -2316,7 +2316,7 @@ register struct readlink_args /* { char *path; char *buf; - int count; + size_t count; } */ *uap; { @@ -2326,7 +2326,7 @@ int kern_readlink(struct thread *td, char *path, enum uio_seg pathseg, char *buf, - enum uio_seg bufseg, int count) + enum uio_seg bufseg, size_t count) { register struct vnode *vp; struct iovec aiov; ==== //depot/projects/powerpc/sys/powerpc/aim/machdep.c#4 (text+ko) ==== @@ -55,7 +55,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/aim/machdep.c,v 1.107 2007/12/25 17:52:00 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/aim/machdep.c,v 1.108 2008/02/12 20:55:51 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" ==== //depot/projects/powerpc/sys/powerpc/aim/ofw_machdep.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/aim/ofw_machdep.c,v 1.19 2007/12/19 18:00:49 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/aim/ofw_machdep.c,v 1.20 2008/02/12 20:55:51 marcel Exp $"); #include #include ==== //depot/projects/powerpc/sys/powerpc/conf/NOTES#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.11 2007/12/19 18:00:49 marcel Exp $ +# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.12 2008/02/12 19:38:39 marcel Exp $ # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. ==== //depot/projects/powerpc/sys/sys/ipc.h#5 (text+ko) ==== @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * @(#)ipc.h 8.4 (Berkeley) 2/19/95 - * $FreeBSD: src/sys/sys/ipc.h,v 1.25 2005/01/07 02:29:23 imp Exp $ + * $FreeBSD: src/sys/sys/ipc.h,v 1.26 2008/02/12 20:55:03 csjp Exp $ */ /* @@ -100,6 +100,9 @@ #define IPC_SET 1 /* set options */ #define IPC_STAT 2 /* get options */ #if __BSD_VISIBLE +/* + * For Linux compatability. + */ #define IPC_INFO 3 /* get info */ #endif ==== //depot/projects/powerpc/sys/sys/shm.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/sys/shm.h,v 1.24 2005/08/06 07:20:17 csjp Exp $ */ +/* $FreeBSD: src/sys/sys/shm.h,v 1.25 2008/02/12 20:55:03 csjp Exp $ */ /* $NetBSD: shm.h,v 1.15 1994/06/29 06:45:17 cgd Exp $ */ /*- @@ -56,7 +56,7 @@ #define SHM_LOCK 11 #define SHM_UNLOCK 12 -/* ipcs shmctl commands */ +/* ipcs shmctl commands for Linux compatability */ #define SHM_STAT 13 #define SHM_INFO 14 ==== //depot/projects/powerpc/sys/sys/syscall.h#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.213 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/sys/syscall.h,v 1.214 2008/02/12 20:11:53 ru Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ #define SYS_syscall 0 ==== //depot/projects/powerpc/sys/sys/syscall.mk#9 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.168 2008/01/20 23:44:24 rwatson Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp +# $FreeBSD: src/sys/sys/syscall.mk,v 1.169 2008/02/12 20:11:53 ru Exp $ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/powerpc/sys/sys/syscallsubr.h#5 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/syscallsubr.h,v 1.47 2008/01/07 20:05:19 jhb Exp $ + * $FreeBSD: src/sys/sys/syscallsubr.h,v 1.48 2008/02/12 20:09:04 ru Exp $ */ #ifndef _SYS_SYSCALLSUBR_H_ @@ -129,7 +129,7 @@ int data); int kern_pwritev(struct thread *td, int fd, struct uio *auio, off_t offset); int kern_readlink(struct thread *td, char *path, enum uio_seg pathseg, - char *buf, enum uio_seg bufseg, int count); + char *buf, enum uio_seg bufseg, size_t count); int kern_readv(struct thread *td, int fd, struct uio *auio); int kern_recvit(struct thread *td, int s, struct msghdr *mp, enum uio_seg fromseg, struct mbuf **controlp); ==== //depot/projects/powerpc/sys/sys/sysproto.h#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.217 2008/01/20 23:44:24 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp + * $FreeBSD: src/sys/sys/sysproto.h,v 1.218 2008/02/12 20:11:54 ru Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -236,7 +236,7 @@ struct readlink_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; - char count_l_[PADL_(int)]; int count; char count_r_[PADR_(int)]; + char count_l_[PADL_(size_t)]; size_t count; char count_r_[PADR_(size_t)]; }; struct execve_args { char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)]; From owner-p4-projects@FreeBSD.ORG Tue Feb 12 21:03:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 953C216A41A; Tue, 12 Feb 2008 21:03:50 +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 4154516A4C0 for ; Tue, 12 Feb 2008 21:03:50 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC83513C4DB for ; Tue, 12 Feb 2008 21:03:49 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CL3n9q046990 for ; Tue, 12 Feb 2008 21:03:49 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CL3njR046987 for perforce@freebsd.org; Tue, 12 Feb 2008 21:03:49 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 12 Feb 2008 21:03:49 GMT Message-Id: <200802122103.m1CL3njR046987@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135280 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 21:03:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=135280 Change 135280 by swise@swise:vic10:iwarp on 2008/02/12 21:03:35 krping server side works over toe socket. - added more PDBG() stuff - only do a shutdown() to initiate a normal close, and when we get the ec_status() we either close the socket or abort the connection based on the ec_status. - connection aborts don't need any upcalls after doing a soclose(linger==0). - fixed a bug in iwch_modify_qp() - changed ep lock to a spinlock to handle upcall int context Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#2 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 (text+ko) ==== @@ -223,9 +223,9 @@ { enum iwch_ep_state state; - mtx_lock(&epc->lock); + mtx_lock_spin(&epc->lock); state = epc->state; - mtx_unlock(&epc->lock); + mtx_unlock_spin(&epc->lock); return state; } @@ -239,10 +239,10 @@ state_set(struct iwch_ep_common *epc, enum iwch_ep_state new) { - mtx_lock(&epc->lock); + mtx_lock_spin(&epc->lock); PDBG("%s - %s -> %s\n", __FUNCTION__, states[epc->state], states[new]); __state_set(epc, new); - mtx_unlock(&epc->lock); + mtx_unlock_spin(&epc->lock); return; } @@ -255,7 +255,7 @@ if (epc) { memset(epc, 0, size); refcount_init(&epc->refcount, 1); - mtx_init(&epc->lock, "iwch_epc lock", NULL, MTX_DEF); + mtx_init(&epc->lock, "iwch_epc lock", NULL, MTX_SPIN|MTX_DUPOK); cv_init(&epc->waitq, "iwch_epc cv"); } PDBG("%s alloc ep %p\n", __FUNCTION__, epc); @@ -339,6 +339,7 @@ static void close_socket(struct iwch_ep_common *epc) { + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, epc, epc->so, states[epc->state]); SOCK_LOCK(epc->so); epc->so->so_upcall = NULL; epc->so->so_upcallarg = NULL; @@ -349,12 +350,20 @@ } static void +shutdown_socket(struct iwch_ep_common *epc) +{ + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, epc, epc->so, states[epc->state]); + soshutdown(epc->so, SHUT_WR); +} + +static void abort_socket(struct iwch_ep *ep) { struct sockopt sopt; int err; struct linger l; + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); l.l_onoff = 1; l.l_linger = 0; @@ -368,7 +377,6 @@ err = sosetopt(ep->com.so, &sopt); if (err) printf("%s can't set linger to 0, no RST! err %d\n", __FUNCTION__, err); - close_socket(&ep->com); } static void @@ -477,19 +485,11 @@ } static void -abort_connection(struct iwch_ep *ep) -{ - PDBG("%s ep %p\n", __FILE__, ep); - state_set(&ep->com, ABORTING); - abort_socket(ep); -} - -static void close_complete_upcall(struct iwch_ep *ep) { struct iw_cm_event event; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_CLOSE; if (ep->com.cm_id) { @@ -503,11 +503,23 @@ } static void +abort_connection(struct iwch_ep *ep) +{ + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); + state_set(&ep->com, ABORTING); + abort_socket(ep); + close_socket(&ep->com); + close_complete_upcall(ep); + state_set(&ep->com, DEAD); + put_ep(&ep->com); +} + +static void peer_close_upcall(struct iwch_ep *ep) { struct iw_cm_event event; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_DISCONNECT; if (ep->com.cm_id) { @@ -522,7 +534,7 @@ { struct iw_cm_event event; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_CLOSE; event.status = ECONNRESET; @@ -541,7 +553,7 @@ { struct iw_cm_event event; - PDBG("%s ep %p status %d\n", __FUNCTION__, ep, status); + PDBG("%s ep %p so %p state %s status %d\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state], status); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_CONNECT_REPLY; event.status = status; @@ -569,7 +581,7 @@ { struct iw_cm_event event; - PDBG("%s ep %p tid %d\n", __FUNCTION__, ep, ep->hwtid); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_CONNECT_REQUEST; event.local_addr = ep->com.local_addr; @@ -590,7 +602,7 @@ { struct iw_cm_event event; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_ESTABLISHED; if (ep->com.cm_id) { @@ -612,7 +624,7 @@ struct uio uio; int len; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); /* * Stop mpa timer. If it expired, then the state has @@ -765,7 +777,7 @@ struct uio uio; int len; - PDBG("%s ep %p so %p\n", __FUNCTION__, ep, ep->com.so); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); /* * Stop mpa timer. If it expired, then the state has @@ -905,9 +917,9 @@ int disconnect = 1; int release = 0; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); - mtx_lock(&ep->com.lock); + mtx_lock_spin(&ep->com.lock); switch (ep->com.state) { case MPA_REQ_WAIT: __state_set(&ep->com, CLOSING); @@ -962,7 +974,7 @@ default: BUG_ON(1); } - mtx_unlock(&ep->com.lock); + mtx_unlock_spin(&ep->com.lock); if (disconnect) iwch_ep_disconnect(ep, 0, M_NOWAIT); if (release) @@ -978,7 +990,7 @@ int state; state = state_read(&ep->com); - PDBG("%s ep %p state %u\n", __FUNCTION__, ep, state); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); switch (state) { case MPA_REQ_WAIT: stop_ep_timer(ep); @@ -1041,11 +1053,11 @@ struct iwch_qp_attributes attrs; int release = 0; - PDBG("%s ep %p\n", __FUNCTION__, ep); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); BUG_ON(!ep); /* The cm_id may be null if we failed to connect */ - mtx_lock(&ep->com.lock); + mtx_lock_spin(&ep->com.lock); switch (ep->com.state) { case CLOSING: __state_set(&ep->com, MORIBUND); @@ -1070,7 +1082,7 @@ BUG_ON(1); break; } - mtx_unlock(&ep->com.lock); + mtx_unlock_spin(&ep->com.lock); if (release) put_ep(&ep->com); return; @@ -1091,7 +1103,9 @@ static int terminate(struct t3cdev *tdev, struct mbuf *m, void *ctx) { - struct iwch_ep *ep = ctx; + struct toepcb *toep = (struct toepcb *)ctx; + struct socket *so = toeptoso(toep); + struct iwch_ep *ep = so->so_upcallarg; PDBG("%s ep %p\n", __FUNCTION__, ep); m_adj(m, sizeof(struct cpl_rdma_terminate)); @@ -1105,23 +1119,40 @@ static int ec_status(struct t3cdev *tdev, struct mbuf *m, void *ctx) { + struct toepcb *toep = (struct toepcb *)ctx; + struct socket *so = toeptoso(toep); struct cpl_rdma_ec_status *rep = cplhdr(m); - struct iwch_ep *ep = ctx; + struct iwch_ep *ep = so->so_upcallarg; + struct iwch_qp_attributes attrs; + int release; - PDBG("%s ep %p tid %u status %d\n", __FUNCTION__, ep, ep->hwtid, - rep->status); + PDBG("%s ep %p so %p state %s ec_status %d\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state], rep->status); + mtx_lock_spin(&ep->com.lock); + stop_ep_timer(ep); if (rep->status) { - struct iwch_qp_attributes attrs; log(LOG_ERR, "%s BAD CLOSE - Aborting tid %u\n", __FUNCTION__, ep->hwtid); - stop_ep_timer(ep); attrs.next_state = IWCH_QP_STATE_ERROR; iwch_modify_qp(ep->com.qp->rhp, ep->com.qp, IWCH_QP_ATTR_NEXT_STATE, &attrs, 1); - abort_connection(ep); + } else { + if ((ep->com.cm_id) && (ep->com.qp)) { + attrs.next_state = IWCH_QP_STATE_IDLE; + iwch_modify_qp(ep->com.qp->rhp, + ep->com.qp, + IWCH_QP_ATTR_NEXT_STATE, + &attrs, 1); + } + close_complete_upcall(ep); + close_socket(&ep->com); + __state_set(&ep->com, DEAD); + release = 1; } + mtx_unlock_spin(&ep->com.lock); + if (release) + put_ep(&ep->com); return CPL_RET_BUF_DONE; } @@ -1131,9 +1162,8 @@ struct iwch_ep *ep = (struct iwch_ep *)arg; struct iwch_qp_attributes attrs; - mtx_lock(&ep->com.lock); - PDBG("%s ep %p tid %u state %d\n", __FUNCTION__, ep, ep->hwtid, - ep->com.state); + mtx_lock_spin(&ep->com.lock); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); switch (ep->com.state) { case MPA_REQ_SENT: connect_reply_upcall(ep, -ETIMEDOUT); @@ -1153,7 +1183,7 @@ panic("unknown state: %d\n", ep->com.state); } __state_set(&ep->com, CLOSING); - mtx_unlock(&ep->com.lock); + mtx_unlock_spin(&ep->com.lock); abort_connection(ep); put_ep(&ep->com); } @@ -1163,7 +1193,7 @@ { int err; struct iwch_ep *ep = to_ep(cm_id); - PDBG("%s ep %p tid %u\n", __FUNCTION__, ep, ep->hwtid); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); if (state_read(&ep->com) == DEAD) { put_ep(&ep->com); @@ -1189,7 +1219,7 @@ struct iwch_dev *h = to_iwch_dev(cm_id->device); struct iwch_qp *qp = get_qhp(h, conn_param->qpn); - PDBG("%s ep %p so %p\n", __FUNCTION__, ep, ep->com.so); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); if (state_read(&ep->com) == DEAD) return (-ECONNRESET); @@ -1411,7 +1441,10 @@ { int close = 0; - mtx_lock(&ep->com.lock); + mtx_lock_spin(&ep->com.lock); + + BUG_ON(!ep); + BUG_ON(!ep->com.so); PDBG("%s ep %p so %p state %s, abrupt %d\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state], abrupt); @@ -1450,12 +1483,12 @@ break; } out: - mtx_unlock(&ep->com.lock); + mtx_unlock_spin(&ep->com.lock); if (close) { if (abrupt) - abort_socket(ep); + abort_connection(ep); else - close_socket(&ep->com); + shutdown_socket(&ep->com); } return 0; } @@ -1465,7 +1498,7 @@ { struct sockaddr_in *local, *remote; - PDBG("%s ep %p so %p\n", __FUNCTION__, ep, ep->com.so); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); switch (state_read(&ep->com)) { case MPA_REQ_SENT: @@ -1490,11 +1523,11 @@ free(remote, M_SONAME); process_mpa_request(ep); break; - case MPA_REP_SENT: default: - printf("%s Unexpected streaming data." - " ep %p state %d so %p\n", - __FUNCTION__, ep, state_read(&ep->com), ep->com.so); + if (ep->com.so->so_rcv.sb_cc) + printf("%s Unexpected streaming data." + " ep %p state %d so %p\n", + __FUNCTION__, ep, state_read(&ep->com), ep->com.so); break; } return; @@ -1503,7 +1536,7 @@ static void process_connected(struct iwch_ep *ep) { - PDBG("%s ep %p so %p\n", __FUNCTION__, ep, ep->com.so); + PDBG("%s ep %p so %p state %s\n", __FUNCTION__, ep, ep->com.so, states[ep->com.state]); if ((ep->com.so->so_state & SS_ISCONNECTED) && !ep->com.so->so_error) { send_mpa_req(ep); } else { @@ -1615,7 +1648,7 @@ process_close_complete(ep); return; } - + /* rx data */ process_data(ep); return; ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#2 (text+ko) ==== @@ -936,6 +936,7 @@ wakeup(qhp); break; case IWCH_QP_STATE_ERROR: + disconnect=1; goto err; default: ret = -EINVAL; @@ -996,7 +997,7 @@ * an abnormal close (RTS/CLOSING->ERROR). */ if (disconnect) - iwch_ep_disconnect(ep, abort, M_WAITOK); + iwch_ep_disconnect(ep, abort, M_NOWAIT); /* * If free is 1, then we've disassociated the EP from the QP From owner-p4-projects@FreeBSD.ORG Tue Feb 12 21:04:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D4A916A420; Tue, 12 Feb 2008 21:04:51 +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 4A05916A419 for ; Tue, 12 Feb 2008 21:04:51 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3D25C13C448 for ; Tue, 12 Feb 2008 21:04:51 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1CL4pBG047012 for ; Tue, 12 Feb 2008 21:04:51 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1CL4p98047009 for perforce@freebsd.org; Tue, 12 Feb 2008 21:04:51 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 12 Feb 2008 21:04:51 GMT Message-Id: <200802122104.m1CL4p98047009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Feb 2008 21:04:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=135281 Change 135281 by swise@swise:vic10:iwarp on 2008/02/12 21:04:44 TOE fixes to support RDMA connections. - t3_push_frames() will create in-line WRs if possible - sodisconnecting() at the appropriate spots Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#11 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#11 (text+ko) ==== @@ -292,6 +292,8 @@ } } +#define IMM_LEN 64 /* XXX - see WR_LEN in the cxgb driver */ + int t3_push_frames(struct socket *so, int req_completion) { @@ -343,26 +345,49 @@ SOCKBUF_UNLOCK(&so->so_snd); return (0); } - while ((mbuf_wrs[count + 1] <= toep->tp_wr_avail) - && (tail != NULL) && (count < TX_MAX_SEGS)) { - bytes += tail->m_len; - count++; + + /* + * If the data in tail fits as in-line, then + * make an immediate data wr. + */ + if (tail->m_len <= IMM_LEN) { + count = 1; + bytes = tail->m_len; last = tail; - /* - * technically an abuse to be using this for a VA - * but less gross than defining my own structure - * or calling pmap_kextract from here :-| - */ - segp->ds_addr = (bus_addr_t)tail->m_data; - segp->ds_len = tail->m_len; - DPRINTF("count=%d wr_needed=%d ds_addr=%p ds_len=%d\n", - count, mbuf_wrs[count], tail->m_data, tail->m_len); - - segp++; tail = tail->m_next; + m_set_sgl(m0, NULL); + m_set_sgllen(m0, 0); + make_tx_data_wr(so, m0, bytes, tail); + m_append(m0, bytes, mtod(last, caddr_t)); + KASSERT(!m0->m_next, ("bad append")); + } else { + while ((mbuf_wrs[count + 1] <= toep->tp_wr_avail) + && (tail != NULL) && (count < TX_MAX_SEGS)) { + bytes += tail->m_len; + count++; + last = tail; + /* + * technically an abuse to be using this for a VA + * but less gross than defining my own structure + * or calling pmap_kextract from here :-| + */ + segp->ds_addr = (bus_addr_t)tail->m_data; + segp->ds_len = tail->m_len; + DPRINTF("count=%d wr_needed=%d ds_addr=%p ds_len=%d\n", + count, mbuf_wrs[count], tail->m_data, tail->m_len); + + segp++; + tail = tail->m_next; + } + DPRINTF("wr_avail=%d mbuf_wrs[%d]=%d tail=%p\n", + toep->tp_wr_avail, count, mbuf_wrs[count], tail); + + m_set_sgl(m0, segs); + m_set_sgllen(m0, count); + make_tx_data_wr(so, m0, bytes, tail); } - DPRINTF("wr_avail=%d mbuf_wrs[%d]=%d tail=%p\n", - toep->tp_wr_avail, count, mbuf_wrs[count], tail); + m_set_priority(m0, mkprio(CPL_PRIORITY_DATA, toep)); + if (tail) { so->so_snd.sb_sndptr = tail; toep->tp_m_last = NULL; @@ -375,20 +400,11 @@ total_bytes += bytes; toep->tp_write_seq += bytes; - SOCKBUF_UNLOCK(&so->so_snd); - /* - * XXX can drop socket buffer lock here - */ - toep->tp_wr_avail -= mbuf_wrs[count]; toep->tp_wr_unacked += mbuf_wrs[count]; - - make_tx_data_wr(so, m0, bytes, tail); - m_set_priority(m0, mkprio(CPL_PRIORITY_DATA, toep)); - m_set_sgl(m0, segs); - m_set_sgllen(m0, count); + /* * remember credits used */ @@ -2331,7 +2347,7 @@ { struct tcpcb *tp = sototcpcb(so); struct toepcb *toep = tp->t_toe; - int keep = 0, dead = (so->so_state & SS_NOFDREF); + int keep = 0; DPRINTF("do_peer_fin state=%d dead=%d\n", tp->t_state, !!dead); @@ -2376,8 +2392,10 @@ t3_release_offload_resources(toep); if (toep->tp_flags & TP_ABORT_RPL_PENDING) { tp = tcp_close(tp); - } else + } else { enter_timewait(so); + soisdisconnected(so); + } break; default: log(LOG_ERR, @@ -2388,21 +2406,18 @@ if (tp) INP_UNLOCK(tp->t_inpcb); - if (!dead) { - DPRINTF("waking up waiters on %p rcv_notify=%d flags=0x%x\n", so, sb_notify(&so->so_rcv), so->so_rcv.sb_flags); - - sorwakeup(so); - sowwakeup(so); - wakeup(&so->so_timeo); + DPRINTF("waking up waiters on %p rcv_notify=%d flags=0x%x\n", so, sb_notify(&so->so_rcv), so->so_rcv.sb_flags); + soisdisconnecting(so); + #ifdef notyet - /* Do not send POLL_HUP for half duplex close. */ - if ((sk->sk_shutdown & SEND_SHUTDOWN) || - sk->sk_state == TCP_CLOSE) - sk_wake_async(so, 1, POLL_HUP); - else - sk_wake_async(so, 1, POLL_IN); + /* Do not send POLL_HUP for half duplex close. */ + if ((sk->sk_shutdown & SEND_SHUTDOWN) || + sk->sk_state == TCP_CLOSE) + sk_wake_async(so, 1, POLL_HUP); + else + sk_wake_async(so, 1, POLL_IN); #endif - } + out: if (!keep) m_free(m); @@ -2445,8 +2460,10 @@ if (toep->tp_flags & TP_ABORT_RPL_PENDING) { tp = tcp_close(tp); - } else + } else { enter_timewait(so); + soisdisconnected(so); + } break; case TCPS_LAST_ACK: /* @@ -2463,14 +2480,7 @@ #endif soisdisconnecting(so); - if ((so->so_state & SS_NOFDREF) == 0) { - /* - * Wake up lingering close - */ - sowwakeup(so); - sorwakeup(so); - wakeup(&so->so_timeo); - } else if ((so->so_options & SO_LINGER) && so->so_linger == 0 && + if ((so->so_options & SO_LINGER) && so->so_linger == 0 && (toep->tp_flags & TP_ABORT_SHUTDOWN) == 0) { tp = cxgb_tcp_drop(tp, 0); } From owner-p4-projects@FreeBSD.ORG Wed Feb 13 05:24:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3356316A41B; Wed, 13 Feb 2008 05:24:43 +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 D4CE816A419 for ; Wed, 13 Feb 2008 05:24:42 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AE97113C45D for ; Wed, 13 Feb 2008 05:24:42 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1D5Og9p012545 for ; Wed, 13 Feb 2008 05:24:42 GMT (envelope-from obrien@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1D5Ogak012542 for perforce@freebsd.org; Wed, 13 Feb 2008 05:24:42 GMT (envelope-from obrien@freebsd.org) Date: Wed, 13 Feb 2008 05:24:42 GMT Message-Id: <200802130524.m1D5Ogak012542@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to obrien@freebsd.org using -f From: "David E. O'Brien" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135288 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 05:24:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=135288 Change 135288 by obrien@obrien_trang on 2008/02/13 05:24:01 style.Makefile(5) Affected files ... .. //depot/projects/mips2-jnpr/src/lib/libthr/arch/mips/Makefile.inc#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/lib/libthr/arch/mips/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c From owner-p4-projects@FreeBSD.ORG Wed Feb 13 05:25:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55B4116A420; Wed, 13 Feb 2008 05:25:44 +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 0222516A417 for ; Wed, 13 Feb 2008 05:25:44 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E5FB113C43E for ; Wed, 13 Feb 2008 05:25:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1D5PhYP012768 for ; Wed, 13 Feb 2008 05:25:43 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1D5PhxE012757 for perforce@freebsd.org; Wed, 13 Feb 2008 05:25:43 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 05:25:43 GMT Message-Id: <200802130525.m1D5PhxE012757@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135289 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 05:25:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=135289 Change 135289 by sephe@sephe_zealot:sam_wifi on 2008/02/13 05:25:27 Modulize debug prints. Obtained from: DragonFly Affected files ... .. //depot/projects/wifi/sys/dev/bwi/bwimac.c#3 edit .. //depot/projects/wifi/sys/dev/bwi/bwirf.c#4 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#10 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#6 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/bwimac.c#3 (text+ko) ==== @@ -485,10 +485,12 @@ CSR_WRITE_4(sc, BWI_MAC_STATUS, status); if (link_phy) { - DPRINTF(sc, "%s\n", "PHY is linked"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH | BWI_DBG_INIT, + "%s\n", "PHY is linked"); mac->mac_phy.phy_flags |= BWI_PHY_F_LINKED; } else { - DPRINTF(sc, "%s\n", "PHY is unlinked"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH | BWI_DBG_INIT, + "%s\n", "PHY is unlinked"); mac->mac_phy.phy_flags &= ~BWI_PHY_F_LINKED; } } @@ -679,7 +681,8 @@ break; } back: - DPRINTF(sc, "bbp atten: %u, rf atten: %u, ctrl1: %u, ctrl2: %u\n", + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_INIT | BWI_DBG_TXPOWER, + "bbp atten: %u, rf atten: %u, ctrl1: %u, ctrl2: %u\n", tpctl->bbp_atten, tpctl->rf_atten, tpctl->tp_ctrl1, tpctl->tp_ctrl2); } @@ -802,7 +805,8 @@ mac->mac_flags |= BWI_MAC_F_TPCTL_INITED; rf->rf_base_tssi = PHY_READ(mac, 0x29); - DPRINTF(sc, "base tssi %d\n", rf->rf_base_tssi); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_INIT | BWI_DBG_TXPOWER, + "base tssi %d\n", rf->rf_base_tssi); if (abs(rf->rf_base_tssi - rf->rf_idle_tssi) >= 20) { device_printf(sc->sc_dev, "base tssi measure failed\n"); @@ -1127,7 +1131,8 @@ /* Get the number of IVs in the IV image */ hdr = (const struct bwi_fwhdr *)fw->data; n = be32toh(hdr->fw_iv_cnt); - DPRINTF(sc, "IV count %d\n", n); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_INIT | BWI_DBG_FIRMWARE, + "IV count %d\n", n); /* Calculate the IV image size, for later sanity check */ iv_img_size = fw->datasize - sizeof(*hdr); @@ -1530,7 +1535,8 @@ */ val = CSR_READ_4(sc, BWI_MAC_STATUS); if (val & BWI_MAC_STATUS_BSWAP) { - DPRINTF(sc, "%s\n", "need byte swap"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "need byte swap"); mac->mac_flags |= BWI_MAC_F_BSWAP; } @@ -1544,7 +1550,8 @@ BWI_STATE_HI_FLAG_64BIT) { /* 64bit address */ sc->sc_bus_space = BWI_BUS_SPACE_64BIT; - DPRINTF(sc, "%s\n", "64bit bus space"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "64bit bus space"); } else { uint32_t txrx_reg = BWI_TXRX_CTRL_BASE + BWI_TX32_CTRL; @@ -1552,11 +1559,13 @@ if (CSR_READ_4(sc, txrx_reg) & BWI_TXRX32_CTRL_ADDRHI_MASK) { /* 32bit address */ sc->sc_bus_space = BWI_BUS_SPACE_32BIT; - DPRINTF(sc, "%s\n", "32bit bus space"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "32bit bus space"); } else { /* 30bit address */ sc->sc_bus_space = BWI_BUS_SPACE_30BIT; - DPRINTF(sc, "%s\n", "30bit bus space"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "30bit bus space"); } } @@ -1604,7 +1613,8 @@ */ if (sc->sc_nmac != 0 && sc->sc_pci_did != PCI_PRODUCT_BROADCOM_BCM4309) { - DPRINTF(sc, "%s\n", "ignore second MAC"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "ignore second MAC"); return 0; } @@ -1637,7 +1647,8 @@ if (mac->mac_rev < 5) { mac->mac_flags |= BWI_MAC_F_HAS_TXSTATS; - DPRINTF(sc, "%s\n", "has TX stats"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", + "has TX stats"); } device_printf(sc->sc_dev, "MAC: rev %u\n", rev); @@ -1769,12 +1780,14 @@ int txpwr_diff, rf_atten_adj, bbp_atten_adj; if (mac->mac_flags & BWI_MAC_F_TPCTL_ERROR) { - DPRINTF(sc, "%s\n", "tpctl error happened, can't set txpower"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", + "tpctl error happened, can't set txpower"); return; } if (BWI_IS_BRCM_BU4306(sc)) { - DPRINTF(sc, "%s\n", "BU4306, can't set txpower"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", + "BU4306, can't set txpower"); return; } @@ -1784,7 +1797,8 @@ ofdm_tssi = 0; error = bwi_rf_get_latest_tssi(mac, tssi, BWI_COMM_MOBJ_TSSI_DS); if (error) { - DPRINTF(sc, "%s\n", "no DS tssi"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", + "no DS tssi"); if (mac->mac_phy.phy_mode == IEEE80211_MODE_11B) return; @@ -1792,7 +1806,8 @@ error = bwi_rf_get_latest_tssi(mac, tssi, BWI_COMM_MOBJ_TSSI_OFDM); if (error) { - DPRINTF(sc, "%s\n", "no OFDM tssi"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", + "no OFDM tssi"); return; } @@ -1804,7 +1819,8 @@ } bwi_rf_clear_tssi(mac); - DPRINTF(sc, "tssi0 %d, tssi1 %d, tssi2 %d, tssi3 %d\n", + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, + "tssi0 %d, tssi1 %d, tssi2 %d, tssi3 %d\n", tssi[0], tssi[1], tssi[2], tssi[3]); /* @@ -1817,12 +1833,13 @@ if (ofdm_tssi && (HFLAGS_READ(mac) & BWI_HFLAG_PWR_BOOST_DS)) tssi_avg -= 13; - DPRINTF(sc, "tssi avg %d\n", tssi_avg); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "tssi avg %d\n", tssi_avg); error = bwi_rf_tssi2dbm(mac, tssi_avg, &cur_txpwr); if (error) return; - DPRINTF(sc, "current txpower %d\n", cur_txpwr); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "current txpower %d\n", + cur_txpwr); txpwr_diff = rf->rf_txpower_max - cur_txpwr; /* XXX ni_txpower */ @@ -1831,12 +1848,14 @@ (BWI_RF_ATTEN_FACTOR * rf_atten_adj); if (rf_atten_adj == 0 && bbp_atten_adj == 0) { - DPRINTF(sc, "%s\n", "no need to adjust RF/BBP attenuation"); + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", + "no need to adjust RF/BBP attenuation"); /* TODO: LO */ return; } - DPRINTF(sc, "rf atten adjust %d, bbp atten adjust %d\n", + DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, + "rf atten adjust %d, bbp atten adjust %d\n", rf_atten_adj, bbp_atten_adj); bwi_mac_adjust_tpctl(mac, rf_atten_adj, bbp_atten_adj); /* TODO: LO */ ==== //depot/projects/wifi/sys/dev/bwi/bwirf.c#4 (text+ko) ==== @@ -490,7 +490,8 @@ */ rf->rf_lo_gain = (loop2 * 6) - (loop1 * 4) - 11; rf->rf_rx_gain = trsw * 2; - DPRINTF(mac->mac_sc, "lo gain: %u, rx gain: %u\n", + DPRINTF(mac->mac_sc, BWI_DBG_RF | BWI_DBG_INIT, + "lo gain: %u, rx gain: %u\n", rf->rf_lo_gain, rf->rf_rx_gain); #undef SAVE_RF_MAX @@ -934,7 +935,8 @@ else rf->rf_calib = calib; if (rf->rf_calib != 0xffff) { - DPRINTF(sc, "RF calibration value: 0x%04x\n", rf->rf_calib); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_INIT, + "RF calibration value: 0x%04x\n", rf->rf_calib); rf->rf_flags |= BWI_RF_F_INITED; } @@ -1083,7 +1085,8 @@ device_printf(sc->sc_dev, "invalid max txpower in sprom\n"); rf->rf_txpower_max = 74; } - DPRINTF(sc, "max txpower from sprom: %d dBm\n", rf->rf_txpower_max); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "max txpower from sprom: %d dBm\n", rf->rf_txpower_max); /* * Find out region/domain max TX power, which is adjusted @@ -1100,17 +1103,20 @@ ant_gain = 2; } ant_gain *= 4; - DPRINTF(sc, "ant gain %d dBm\n", ant_gain); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "ant gain %d dBm\n", ant_gain); reg_txpower_max = 90 - ant_gain - 6; /* XXX magic number */ - DPRINTF(sc, "region/domain max txpower %d dBm\n", reg_txpower_max); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "region/domain max txpower %d dBm\n", reg_txpower_max); /* * Force max TX power within region/domain TX power limit */ if (rf->rf_txpower_max > reg_txpower_max) rf->rf_txpower_max = reg_txpower_max; - DPRINTF(sc, "max txpower %d dBm\n", rf->rf_txpower_max); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "max txpower %d dBm\n", rf->rf_txpower_max); /* * Create TSSI to TX power mapping @@ -1152,9 +1158,14 @@ } if (phy->phy_mode == IEEE80211_MODE_11G) { - DPRINTF(sc, "%s\n", "use default 11g TSSI map"); + DPRINTF(sc, + BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "%s\n", "use default 11g TSSI map"); txpower_map = bwi_txpower_map_11g; } else { + DPRINTF(sc, + BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "%s\n", "use default 11b TSSI map"); txpower_map = bwi_txpower_map_11b; } @@ -1175,7 +1186,8 @@ * Extract idle TSSI from SPROM. */ val = bwi_read_sprom(sc, BWI_SPROM_IDLE_TSSI); - DPRINTF(sc, "sprom idle tssi: 0x%04x\n", val); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "sprom idle tssi: 0x%04x\n", val); if (phy->phy_mode == IEEE80211_MODE_11A) mask = BWI_SPROM_IDLE_TSSI_MASK_11A; @@ -1191,7 +1203,8 @@ /* * Calculate TX power map, which is indexed by TSSI */ - device_printf(sc->sc_dev, "TSSI-TX power map:\n"); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_ATTACH | BWI_DBG_TXPOWER, + "%s\n", "TSSI-TX power map:"); for (i = 0; i < BWI_TSSI_MAX; ++i) { error = bwi_rf_calc_txpower(&rf->rf_txpower_map0[i], i, pa_params); @@ -1200,13 +1213,22 @@ "bwi_rf_calc_txpower failed\n"); break; } - if (i != 0 && i % 8 == 0) - printf("\n"); - printf("%d ", rf->rf_txpower_map0[i]); + +#ifdef BWI_DEBUG + if (i != 0 && i % 8 == 0) { + _DPRINTF(sc, + BWI_DBG_RF | BWI_DBG_ATTACH | BWI_DBG_TXPOWER, + "%s\n", ""); + } +#endif + _DPRINTF(sc, BWI_DBG_RF | BWI_DBG_ATTACH | BWI_DBG_TXPOWER, + "%d ", rf->rf_txpower_map0[i]); } - printf("\n"); + _DPRINTF(sc, BWI_DBG_RF | BWI_DBG_ATTACH | BWI_DBG_TXPOWER, + "%s\n", ""); back: - DPRINTF(sc, "idle tssi0: %d\n", rf->rf_idle_tssi0); + DPRINTF(sc, BWI_DBG_RF | BWI_DBG_TXPOWER | BWI_DBG_ATTACH, + "idle tssi0: %d\n", rf->rf_idle_tssi0); return error; } @@ -2405,10 +2427,9 @@ lna_gain = __SHIFTOUT(le16toh(hdr->rxh_phyinfo), BWI_RXH_PHYINFO_LNAGAIN); -#if 0 - DPRINTF(mac->mac_sc, "lna_gain %d, phyinfo 0x%04x\n", + DPRINTF(mac->mac_sc, BWI_DBG_RF | BWI_DBG_RX, + "lna_gain %d, phyinfo 0x%04x\n", lna_gain, le16toh(hdr->rxh_phyinfo)); -#endif switch (lna_gain) { case 0: rssi += 27; ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#10 (text+ko) ==== @@ -288,6 +288,15 @@ [108] = { 7, 3 } }; +#ifdef BWI_DEBUG +#ifdef BWI_DEBUG_VERBOSE +static uint32_t bwi_debug = BWI_DBG_ATTACH | BWI_DBG_INIT | BWI_DBG_TXPOWER; +#else +static uint32_t bwi_debug; +#endif +TUNABLE_INT("hw.bwi.debug", (int *)&bwi_debug); +#endif /* BWI_DEBUG */ + static const uint8_t bwi_zero_addr[IEEE80211_ADDR_LEN]; uint16_t @@ -336,6 +345,14 @@ BWI_LOCK_INIT(sc); + /* + * Initialize sysctl variables + */ + sc->sc_fw_version = BWI_FW_VERSION3; + sc->sc_led_idle = (2350 * hz) / 1000; + sc->sc_led_blink = 1; + sc->sc_debug = bwi_debug; + bwi_power_on(sc, 1); error = bwi_bbp_attach(sc); @@ -425,7 +442,7 @@ /* Get locale */ sc->sc_locale = __SHIFTOUT(bwi_read_sprom(sc, BWI_SPROM_CARD_INFO), BWI_SPROM_CARD_INFO_LOCALE); - DPRINTF(sc, "locale: %d\n", sc->sc_locale); + DPRINTF(sc, BWI_DBG_ATTACH, "locale: %d\n", sc->sc_locale); /* * Setup ratesets, phytype, channels and get MAC address @@ -461,12 +478,6 @@ /* XXX use locale */ ieee80211_init_channels(ic, 0, CTRY_DEFAULT, bands, 0, 1); - sc->sc_fw_version = BWI_FW_VERSION3; - - /* Initialize LED vars */ - sc->sc_led_idle = (2350 * hz) / 1000; - sc->sc_led_blink = 1; - ic->ic_ifp = ifp; ic->ic_caps = IEEE80211_C_SHSLOT | IEEE80211_C_SHPREAMBLE | @@ -679,8 +690,9 @@ *type = BWI_ID_HI_REGWIN_TYPE(val); *rev = BWI_ID_HI_REGWIN_REV(val); - DPRINTF(sc, "regwin: type 0x%03x, rev %d, vendor 0x%04x\n", - *type, *rev, __SHIFTOUT(val, BWI_ID_HI_REGWIN_VENDOR_MASK)); + DPRINTF(sc, BWI_DBG_ATTACH, "regwin: type 0x%03x, rev %d, " + "vendor 0x%04x\n", *type, *rev, + __SHIFTOUT(val, BWI_ID_HI_REGWIN_VENDOR_MASK)); } static int @@ -760,7 +772,8 @@ device_printf(sc->sc_dev, "BBP: id 0x%04x, rev 0x%x, pkg %d\n", sc->sc_bbp_id, sc->sc_bbp_rev, sc->sc_bbp_pkg); - DPRINTF(sc, "nregwin %d, cap 0x%08x\n", nregwin, sc->sc_cap); + DPRINTF(sc, BWI_DBG_ATTACH, "nregwin %d, cap 0x%08x\n", + nregwin, sc->sc_cap); /* * Create rest of the regwins @@ -941,7 +954,7 @@ sc->sc_pci_revid > 0x40) sc->sc_card_flags |= BWI_CARD_F_PA_GPIO9; - DPRINTF(sc, "card flags 0x%04x\n", sc->sc_card_flags); + DPRINTF(sc, BWI_DBG_ATTACH, "card flags 0x%04x\n", sc->sc_card_flags); #undef PCI_VENDOR_DELL #undef PCI_VENDOR_APPLE } @@ -1009,14 +1022,14 @@ KASSERT(src >= 0 && src < BWI_CLKSRC_MAX, ("bad src %d", src)); KASSERT(div != 0, ("div zero")); - DPRINTF(sc, "clksrc %s\n", + DPRINTF(sc, BWI_DBG_ATTACH, "clksrc %s\n", src == BWI_CLKSRC_PCI ? "PCI" : (src == BWI_CLKSRC_LP_OSC ? "LP_OSC" : "CS_OSC")); freq->clkfreq_min = bwi_clkfreq[src].freq_min / div; freq->clkfreq_max = bwi_clkfreq[src].freq_max / div; - DPRINTF(sc, "clkfreq min %u, max %u\n", + DPRINTF(sc, BWI_DBG_ATTACH, "clkfreq min %u, max %u\n", freq->clkfreq_min, freq->clkfreq_max); } @@ -1126,8 +1139,6 @@ BWI_LOCK(sc); - DPRINTF(sc, "%s\n", __func__); - bwi_stop(sc); bwi_bbp_power_on(sc, BWI_CLOCK_MODE_FAST); @@ -1388,8 +1399,6 @@ BWI_LOCK(sc); - DPRINTF(sc, "%s\n", __func__); - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { @@ -1452,9 +1461,7 @@ return; } -#if 0 - if_printf(ifp, "intr status 0x%08x\n", intr_status); -#endif + DPRINTF(sc, BWI_DBG_INTR, "intr status 0x%08x\n", intr_status); intr_status &= CSR_READ_4(sc, BWI_MAC_INTR_MASK); if (intr_status == 0) { /* Nothing is interesting */ @@ -1463,9 +1470,7 @@ } txrx_error = 0; -#if 0 - if_printf(ifp, "TX/RX intr"); -#endif + DPRINTF(sc, BWI_DBG_INTR, "%s\n", "TX/RX intr"); for (i = 0; i < BWI_TXRX_NRING; ++i) { uint32_t mask; @@ -1477,9 +1482,8 @@ txrx_intr_status[i] = CSR_READ_4(sc, BWI_TXRX_INTR_STATUS(i)) & mask; -#if 0 - printf(", %d 0x%08x", i, txrx_intr_status[i]); -#endif + _DPRINTF(sc, BWI_DBG_INTR, ", %d 0x%08x", + i, txrx_intr_status[i]); if (txrx_intr_status[i] & BWI_TXRX_INTR_ERROR) { if_printf(ifp, "intr fatal TX/RX (%d) error 0x%08x\n", @@ -1487,9 +1491,7 @@ txrx_error = 1; } } -#if 0 - printf("\n"); -#endif + _DPRINTF(sc, BWI_DBG_INTR, "%s\n", ""); /* * Acknowledge interrupt @@ -3027,10 +3029,9 @@ printf("%02x ", p[i]); } printf("\n"); - - if_printf(ic->ic_ifp, "idx %d, pkt_len %d, buflen %d\n", - idx, pkt_len, m->m_pkthdr.len); #endif + DPRINTF(sc, BWI_DBG_TX, "idx %d, pkt_len %d, buflen %d\n", + idx, pkt_len, m->m_pkthdr.len); /* Setup TX descriptor */ sc->sc_setup_txdesc(sc, rd, idx, paddr, m->m_pkthdr.len); @@ -3102,24 +3103,20 @@ return; } -#if 0 - if_printf(ifp, "acked %d, data_txcnt %d\n", acked, data_txcnt); -#endif - ring_idx = __SHIFTOUT(tx_id, BWI_TXH_ID_RING_MASK); buf_idx = __SHIFTOUT(tx_id, BWI_TXH_ID_IDX_MASK); KASSERT(ring_idx == BWI_TX_DATA_RING, ("ring_idx %d", ring_idx)); KASSERT(buf_idx < BWI_TX_NDESC, ("buf_idx %d", buf_idx)); -#if 0 - if_printf(ifp, "txeof idx %d\n", buf_idx); -#endif tbd = &sc->sc_tx_bdata[ring_idx]; KASSERT(tbd->tbd_used > 0, ("tbd_used %d", tbd->tbd_used)); tbd->tbd_used--; tb = &tbd->tbd_buf[buf_idx]; + DPRINTF(sc, BWI_DBG_TXEOF, "txeof idx %d, " + "acked %d, data_txcnt %d, ni %p\n", + buf_idx, acked, data_txcnt, tb->tb_ni); bus_dmamap_unload(sc->sc_buf_dtag, tb->tb_dmap); @@ -3245,7 +3242,7 @@ val = CSR_READ_4(sc, BWI_PLL_ON_DELAY); sc->sc_pwron_delay = howmany((val + 2) * 1000000, freq.clkfreq_min); - DPRINTF(sc, "power on delay %u\n", sc->sc_pwron_delay); + DPRINTF(sc, BWI_DBG_ATTACH, "power on delay %u\n", sc->sc_pwron_delay); return bwi_regwin_switch(sc, old, NULL); } @@ -3295,7 +3292,8 @@ /* XXX cache this */ busrev = __SHIFTOUT(CSR_READ_4(sc, BWI_ID_LO), BWI_ID_LO_BUSREV_MASK); - DPRINTF(sc, "bus rev %u\n", busrev); + DPRINTF(sc, BWI_DBG_ATTACH | BWI_DBG_INIT | BWI_DBG_MISC, + "bus rev %u\n", busrev); if (busrev == BWI_BUSREV_0) return BWI_STATE_LO_DISABLE1; @@ -3316,10 +3314,12 @@ if ((val & (BWI_STATE_LO_CLOCK | BWI_STATE_LO_RESET | disable_bits)) == BWI_STATE_LO_CLOCK) { - DPRINTF(sc, "%s is enabled\n", bwi_regwin_name(rw)); + DPRINTF(sc, BWI_DBG_ATTACH | BWI_DBG_INIT, "%s is enabled\n", + bwi_regwin_name(rw)); return 1; } else { - DPRINTF(sc, "%s is disabled\n", bwi_regwin_name(rw)); + DPRINTF(sc, BWI_DBG_ATTACH | BWI_DBG_INIT, "%s is disabled\n", + bwi_regwin_name(rw)); return 0; } } @@ -3336,7 +3336,8 @@ * If current regwin is in 'reset' state, it was already disabled. */ if (state_lo & BWI_STATE_LO_RESET) { - DPRINTF(sc, "%s was already disabled\n", bwi_regwin_name(rw)); + DPRINTF(sc, BWI_DBG_ATTACH | BWI_DBG_INIT, + "%s was already disabled\n", bwi_regwin_name(rw)); return; } @@ -3488,7 +3489,7 @@ BWI_LOCK(sc); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - DPRINTF(sc, "%s\n", __func__); + DPRINTF(sc, BWI_DBG_80211, "%s\n", __func__); KASSERT(sc->sc_cur_regwin->rw_type == BWI_REGWIN_T_MAC, ("current regwin type %d", sc->sc_cur_regwin->rw_type)); @@ -3627,8 +3628,9 @@ } } - DPRINTF(sc, "%dth led, act %d, lowact %d\n", - i, led->l_act, led->l_flags & BWI_LED_F_ACTLOW); + DPRINTF(sc, BWI_DBG_LED | BWI_DBG_ATTACH, + "%dth led, act %d, lowact %d\n", i, + led->l_act, led->l_flags & BWI_LED_F_ACTLOW); } callout_init(&sc->sc_led_blink_ch, CALLOUT_MPSAFE); } ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#6 (text+ko) ==== @@ -92,10 +92,25 @@ #define BWI_DEBUG #ifdef BWI_DEBUG -#define DPRINTF(sc, fmt, ...) device_printf(sc->sc_dev, fmt, __VA_ARGS__) -#else -#define DPRINTF(sc, fmt, ...) ((void)0) -#endif + +#define DPRINTF(sc, dbg, fmt, ...) \ +do { \ + if ((sc)->sc_debug & (dbg)) \ + device_printf((sc)->sc_dev, fmt, __VA_ARGS__); \ +} while (0) + +#define _DPRINTF(sc, dbg, fmt, ...) \ +do { \ + if ((sc)->sc_debug & (dbg)) \ + printf(fmt, __VA_ARGS__); \ +} while (0) + +#else /* !BWI_DEBUG */ + +#define DPRINTF(sc, dbg, fmt, ...) ((void)0) +#define _DPRINTF(sc, dbg, fmt, ...) ((void)0) + +#endif /* BWI_DEBUG */ struct bwi_desc32 { /* Little endian */ @@ -512,8 +527,8 @@ }; struct bwi_softc { + struct ieee80211com sc_ic; struct ifnet *sc_ifp; - struct ieee80211com sc_ic; struct ieee80211_amrr sc_amrr; uint32_t sc_flags; /* BWI_F_ */ device_t sc_dev; @@ -615,11 +630,28 @@ int sc_dwell_time; /* milliseconds */ int sc_led_idle; int sc_led_blink; + uint32_t sc_debug; /* BWI_DBG_ */ }; #define BWI_F_BUS_INITED 0x1 #define BWI_F_PROMISC 0x2 +#define BWI_DBG_MAC 0x00000001 +#define BWI_DBG_RF 0x00000002 +#define BWI_DBG_PHY 0x00000004 +#define BWI_DBG_MISC 0x00000008 + +#define BWI_DBG_ATTACH 0x00000010 +#define BWI_DBG_INIT 0x00000020 +#define BWI_DBG_FIRMWARE 0x00000040 +#define BWI_DBG_80211 0x00000080 +#define BWI_DBG_TXPOWER 0x00000100 +#define BWI_DBG_INTR 0x00000200 +#define BWI_DBG_RX 0x00000400 +#define BWI_DBG_TX 0x00000800 +#define BWI_DBG_TXEOF 0x00001000 +#define BWI_DBG_LED 0x00002000 + #define BWI_LOCK_INIT(sc) \ mtx_init(&(sc)->sc_mtx, device_get_nameunit((sc)->sc_dev), \ MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); From owner-p4-projects@FreeBSD.ORG Wed Feb 13 06:55:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FDFE16A421; Wed, 13 Feb 2008 06:55:19 +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 980C016A417 for ; Wed, 13 Feb 2008 06:55:18 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 88F3413C474 for ; Wed, 13 Feb 2008 06:55:18 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1D6tI9E020453 for ; Wed, 13 Feb 2008 06:55:18 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1D6tIRE020450 for perforce@freebsd.org; Wed, 13 Feb 2008 06:55:18 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 06:55:18 GMT Message-Id: <200802130655.m1D6tIRE020450@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135292 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 06:55:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=135292 Change 135292 by sephe@sephe_zealot:sam_wifi on 2008/02/13 06:55:05 - Hook sysctl nodes - Add sysctl variable to disable software TX power calibration - Indentation Obtained from: DragonFly Affected files ... .. //depot/projects/wifi/sys/dev/bwi/bwimac.c#4 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#11 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#7 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/bwimac.c#4 (text+ko) ==== @@ -1779,6 +1779,9 @@ int error, i, ofdm_tssi; int txpwr_diff, rf_atten_adj, bbp_atten_adj; + if (!sc->sc_txpwr_calib) + return; + if (mac->mac_flags & BWI_MAC_F_TPCTL_ERROR) { DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", "tpctl error happened, can't set txpower"); ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#11 (text+ko) ==== @@ -338,6 +338,7 @@ bwi_attach(struct bwi_softc *sc) { struct ieee80211com *ic = &sc->sc_ic; + device_t dev = sc->sc_dev; struct ifnet *ifp; struct bwi_mac *mac; struct bwi_phy *phy; @@ -351,6 +352,7 @@ sc->sc_fw_version = BWI_FW_VERSION3; sc->sc_led_idle = (2350 * hz) / 1000; sc->sc_led_blink = 1; + sc->sc_txpwr_calib = 1; sc->sc_debug = bwi_debug; bwi_power_on(sc, 1); @@ -417,18 +419,42 @@ ifp = sc->sc_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { - device_printf(sc->sc_dev, "can not if_alloc()\n"); + device_printf(dev, "can not if_alloc()\n"); error = ENOSPC; goto fail; } /* set these up early for if_printf use */ - if_initname(ifp, device_get_name(sc->sc_dev), - device_get_unit(sc->sc_dev)); + if_initname(ifp, device_get_name(dev), device_get_unit(dev)); callout_init(&sc->sc_calib_ch, CALLOUT_MPSAFE); callout_init(&sc->sc_amrr_ch, CALLOUT_MPSAFE); + /* + * Add sysctl nodes + */ + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "fw_version", CTLFLAG_RD, &sc->sc_fw_version, 0, + "Firmware version"); + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "led_idle", CTLFLAG_RW, &sc->sc_led_idle, 0, + "# ticks before LED enters idle state"); + SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "led_blink", CTLFLAG_RW, &sc->sc_led_blink, 0, + "Allow LED to blink"); + SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "txpwr_calib", CTLFLAG_RW, &sc->sc_txpwr_calib, 0, + "Enable software TX power calibration"); +#ifdef BWI_DEBUG + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "debug", CTLFLAG_RW, &sc->sc_debug, 0, "Debug flags"); +#endif + ifp->if_softc = sc; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_init = bwi_init; @@ -462,7 +488,7 @@ if (IEEE80211_IS_MULTICAST(ic->ic_myaddr)) { bwi_get_eaddr(sc, BWI_SPROM_11A_EADDR, ic->ic_myaddr); if (IEEE80211_IS_MULTICAST(ic->ic_myaddr)) { - device_printf(sc->sc_dev, + device_printf(dev, "invalid MAC address: %6D\n", ic->ic_myaddr, ":"); } @@ -1548,13 +1574,13 @@ bwi_enable_intrs(sc, BWI_INIT_INTRS); if (sc->sc_blink_led != NULL && sc->sc_led_blink) { - int evt = BWI_LED_EVENT_NONE; + int evt = BWI_LED_EVENT_NONE; - if (tx && rx_data > 0) { - if (sc->sc_rx_rate > sc->sc_tx_rate) - evt = BWI_LED_EVENT_RX; - else - evt = BWI_LED_EVENT_TX; + if (tx && rx_data > 0) { + if (sc->sc_rx_rate > sc->sc_tx_rate) + evt = BWI_LED_EVENT_RX; + else + evt = BWI_LED_EVENT_TX; } else if (tx) { evt = BWI_LED_EVENT_TX; } else if (rx_data > 0) { ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#7 (text+ko) ==== @@ -630,6 +630,7 @@ int sc_dwell_time; /* milliseconds */ int sc_led_idle; int sc_led_blink; + int sc_txpwr_calib; uint32_t sc_debug; /* BWI_DBG_ */ }; @@ -654,11 +655,11 @@ #define BWI_LOCK_INIT(sc) \ mtx_init(&(sc)->sc_mtx, device_get_nameunit((sc)->sc_dev), \ - MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); + MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE) #define BWI_LOCK_DESTROY(sc) mtx_destroy(&(sc)->sc_mtx) -#define BWI_LOCK(sc) mtx_lock(&sc->sc_mtx) -#define BWI_UNLOCK(sc) mtx_unlock(&sc->sc_mtx) -#define BWI_LOCK_ASSERT(sc) mtx_assert(&sc->sc_mtx, MA_OWNED) +#define BWI_LOCK(sc) mtx_lock(&(sc)->sc_mtx) +#define BWI_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) +#define BWI_LOCK_ASSERT(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) int bwi_attach(struct bwi_softc *); int bwi_detach(struct bwi_softc *); From owner-p4-projects@FreeBSD.ORG Wed Feb 13 10:08:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 312E916A468; Wed, 13 Feb 2008 10:08:43 +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 EA67416A417 for ; Wed, 13 Feb 2008 10:08:42 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C528A13C44B for ; Wed, 13 Feb 2008 10:08:42 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DA8gn5045614 for ; Wed, 13 Feb 2008 10:08:42 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DA8gIG045611 for perforce@freebsd.org; Wed, 13 Feb 2008 10:08:42 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 10:08:42 GMT Message-Id: <200802131008.m1DA8gIG045611@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 10:08:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=135295 Change 135295 by sephe@sephe_zealot:sam_wifi on 2008/02/13 10:08:16 Unbreak modules/bwifw building when buildkernel Affected files ... .. //depot/projects/wifi/sys/modules/bwifw/Makefile#3 edit Differences ... ==== //depot/projects/wifi/sys/modules/bwifw/Makefile#3 (text+ko) ==== @@ -21,7 +21,7 @@ # NB: the cutter has v3/v4 pathname prefixes built-in; yech ${FWIMGS}: ${FWCUTTER} ${FWFILE} - ln -s . v3; ${FWCUTTER} -w . ${FWFILE}; rm v3 + ln -sf . v3; ${FWCUTTER} -w . ${FWFILE}; rm v3 ${FWCUTTER}: fwcutter From owner-p4-projects@FreeBSD.ORG Wed Feb 13 10:09:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1E7F16A420; Wed, 13 Feb 2008 10:09:44 +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 4E7CD16A41A for ; Wed, 13 Feb 2008 10:09:44 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 414C113C455 for ; Wed, 13 Feb 2008 10:09:44 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DA9ijI045664 for ; Wed, 13 Feb 2008 10:09:44 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DA9huc045661 for perforce@freebsd.org; Wed, 13 Feb 2008 10:09:43 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 10:09:43 GMT Message-Id: <200802131009.m1DA9huc045661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 10:09:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=135296 Change 135296 by sephe@sephe_zealot:sam_wifi on 2008/02/13 10:08:57 Reflect where it is Affected files ... .. //depot/projects/wifi/sys/dev/bwi/bwimac.c#5 edit .. //depot/projects/wifi/sys/dev/bwi/bwiphy.c#3 edit .. //depot/projects/wifi/sys/dev/bwi/bwirf.c#5 edit .. //depot/projects/wifi/sys/dev/bwi/bwirf.h#2 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#12 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwireg.h#5 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#8 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/bwimac.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwimac.c,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwimac.c,v 1.11 2008/01/15 09:01:13 sephe Exp $ */ #include ==== //depot/projects/wifi/sys/dev/bwi/bwiphy.c#3 (text+ko) ==== @@ -31,7 +31,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwiphy.c,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwiphy.c,v 1.5 2008/01/15 09:01:13 sephe Exp $ + * 1.3 is not merged */ #include ==== //depot/projects/wifi/sys/dev/bwi/bwirf.c#5 (text+ko) ==== @@ -31,7 +31,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwirf.c,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwirf.c,v 1.8 2008/01/15 09:01:13 sephe Exp $ + * 1.6 is not merged */ #include ==== //depot/projects/wifi/sys/dev/bwi/bwirf.h#2 (text+ko) ==== @@ -31,7 +31,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwirf.h,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwirf.h,v 1.2 2007/09/15 09:59:29 sephe Exp $ + * 1.3 is not merged */ #ifndef _BWI_RF_H ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#12 (text+ko) ==== @@ -31,7 +31,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $ + * 1.8 is not merged */ #include ==== //depot/projects/wifi/sys/dev/bwi/if_bwireg.h#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/if_bwireg.h,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/if_bwireg.h,v 1.4 2007/10/19 14:27:04 sephe Exp $ */ #ifndef _IF_BWIREG_H ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#8 (text+ko) ==== @@ -31,7 +31,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/if_bwivar.h,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/if_bwivar.h,v 1.13 2008/01/15 09:01:13 sephe Exp $ + * 1.9 is not merged */ #ifndef _IF_BWIVAR_H From owner-p4-projects@FreeBSD.ORG Wed Feb 13 10:41:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07EB516A46B; Wed, 13 Feb 2008 10:41:20 +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 C0BC516A417 for ; Wed, 13 Feb 2008 10:41:19 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B4A8A13C45E for ; Wed, 13 Feb 2008 10:41:19 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DAfJ5j055132 for ; Wed, 13 Feb 2008 10:41:19 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DAfJ2o055129 for perforce@freebsd.org; Wed, 13 Feb 2008 10:41:19 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 10:41:19 GMT Message-Id: <200802131041.m1DAfJ2o055129@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 10:41:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=135299 Change 135299 by sephe@sephe_zealot:sam_wifi on 2008/02/13 10:41:08 Use NOWAIT under most of the cases, it should be safe in FreeBSD though. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#13 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#13 (text+ko) ==== @@ -1963,7 +1963,7 @@ error = bus_dmamap_load(dtag, rd->rdata_dmap, rd->rdata_desc, size, bwi_dma_ring_addr, &rd->rdata_paddr, - BUS_DMA_WAITOK); + BUS_DMA_NOWAIT); if (error) { device_printf(sc->sc_dev, "can't load DMA mem\n"); bus_dmamem_free(dtag, rd->rdata_desc, rd->rdata_dmap); @@ -1983,7 +1983,11 @@ bus_size_t dma_size; int error; - st = malloc(sizeof(*st), M_DEVBUF, M_WAITOK | M_ZERO); + st = malloc(sizeof(*st), M_DEVBUF, M_NOWAIT | M_ZERO); + if (st == NULL) { + device_printf(sc->sc_dev, "can't allocate txstats data\n"); + return ENOMEM; + } sc->sc_txstats = st; /* @@ -2023,7 +2027,7 @@ error = bus_dmamap_load(st->stats_ring_dtag, st->stats_ring_dmap, st->stats_ring, dma_size, bwi_dma_ring_addr, &st->stats_ring_paddr, - BUS_DMA_WAITOK); + BUS_DMA_NOWAIT); if (error) { device_printf(sc->sc_dev, "can't load txstats ring DMA mem\n"); bus_dmamem_free(st->stats_ring_dtag, st->stats_ring, @@ -2068,7 +2072,7 @@ error = bus_dmamap_load(st->stats_dtag, st->stats_dmap, st->stats, dma_size, bwi_dma_ring_addr, &st->stats_paddr, - BUS_DMA_WAITOK); + BUS_DMA_NOWAIT); if (error) { device_printf(sc->sc_dev, "can't load txstats DMA mem\n"); bus_dmamem_free(st->stats_dtag, st->stats, st->stats_dmap); @@ -2440,7 +2444,7 @@ KASSERT(buf_idx < BWI_RX_NDESC, ("buf_idx %d", buf_idx)); - m = m_getcl(init ? M_WAIT : M_DONTWAIT, MT_DATA, M_PKTHDR); + m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { error = ENOBUFS; @@ -2460,8 +2464,7 @@ * Try to load RX buf into temporary DMA map */ error = bus_dmamap_load_mbuf(sc->sc_buf_dtag, rbd->rbd_tmp_dmap, m, - bwi_dma_buf_addr, &paddr, - init ? BUS_DMA_WAITOK : BUS_DMA_NOWAIT); + bwi_dma_buf_addr, &paddr, BUS_DMA_NOWAIT); if (error) { m_freem(m); From owner-p4-projects@FreeBSD.ORG Wed Feb 13 11:23:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3251816A46B; Wed, 13 Feb 2008 11:23:06 +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 D326C16A418 for ; Wed, 13 Feb 2008 11:23:05 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C81AF13C447 for ; Wed, 13 Feb 2008 11:23:05 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DBN5nW059219 for ; Wed, 13 Feb 2008 11:23:05 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DBN5AF059216 for perforce@freebsd.org; Wed, 13 Feb 2008 11:23:05 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 11:23:05 GMT Message-Id: <200802131123.m1DBN5AF059216@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 11:23:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=135302 Change 135302 by sephe@sephe_zealot:sam_wifi on 2008/02/13 11:22:18 Re-import these two files Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_amrr.c#7 edit .. //depot/projects/wifi/sys/net80211/ieee80211_amrr.h#4 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_amrr.c#7 (text+ko) ==== @@ -51,22 +51,17 @@ ((amn)->amn_retrycnt > (amn)->amn_txcnt / 3) #define is_enough(amn) \ ((amn)->amn_txcnt > 10) +#define is_min_rate(ni) \ + ((ni)->ni_txrate == 0) +#define is_max_rate(ni) \ + ((ni)->ni_txrate == (ni)->ni_rates.rs_nrates - 1) +#define increase_rate(ni) \ + ((ni)->ni_txrate++) +#define decrease_rate(ni) \ + ((ni)->ni_txrate--) #define reset_cnt(amn) \ do { (amn)->amn_txcnt = (amn)->amn_retrycnt = 0; } while (0) -static __inline void -increase_rate(struct ieee80211_amrr *amrr, struct ieee80211_node *ni) -{ - int rix = amrr->amrr_rixmap[ni->ni_txrate]; - ni->ni_txrate = ni->ni_rates.rs_rates[rix+1] & IEEE80211_RATE_VAL; -} -static __inline void -decrease_rate(struct ieee80211_amrr *amrr, struct ieee80211_node *ni) -{ - int rix = amrr->amrr_rixmap[ni->ni_txrate]; - ni->ni_txrate = ni->ni_rates.rs_rates[rix-1] & IEEE80211_RATE_VAL; -} - void ieee80211_amrr_init(struct ieee80211_amrr *amrr, struct ieee80211com *ic, int amin, int amax) @@ -78,19 +73,6 @@ } void -ieee80211_amrr_setrates(struct ieee80211_amrr *amrr, - const struct ieee80211_rateset *rs) -{ - int i; - - memset(amrr->amrr_rixmap, 0xff, sizeof(amrr->amrr_rixmap)); - for (i = 0; i < rs->rs_nrates; i++) - amrr->amrr_rixmap[rs->rs_rates[i] & IEEE80211_RATE_VAL] = i; - amrr->amrr_minrate = rs->rs_rates[0] & IEEE80211_RATE_VAL; - amrr->amrr_maxrate = rs->rs_rates[rs->rs_nrates-1] & IEEE80211_RATE_VAL; -} - -void ieee80211_amrr_node_init(struct ieee80211_amrr *amrr, struct ieee80211_amrr_node *amn) { @@ -112,20 +94,23 @@ if (is_success(amn) && is_enough(amn)) { amn->amn_success++; if (amn->amn_success >= amn->amn_success_threshold && - ni->ni_txrate != amrr->amrr_maxrate) { + !is_max_rate(ni)) { amn->amn_recovery = 1; amn->amn_success = 0; - increase_rate(amrr, ni); + increase_rate(ni); IEEE80211_DPRINTF(amrr->amrr_ic, IEEE80211_MSG_RATECTL, - "AMRR increasing rate %d (txcnt=%d retrycnt=%d)\n", - ni->ni_txrate, amn->amn_txcnt, amn->amn_retrycnt); + "AMRR increasing rate %d (txcnt=%d " + "retrycnt=%d)\n", + ni->ni_rates.rs_rates[ni->ni_txrate] & + IEEE80211_RATE_VAL, + amn->amn_txcnt, amn->amn_retrycnt); need_change = 1; } else { amn->amn_recovery = 0; } } else if (is_failure(amn)) { amn->amn_success = 0; - if (ni->ni_txrate != amrr->amrr_minrate) { + if (!is_min_rate(ni)) { if (amn->amn_recovery) { amn->amn_success_threshold *= 2; if (amn->amn_success_threshold > @@ -136,10 +121,13 @@ amn->amn_success_threshold = amrr->amrr_min_success_threshold; } - decrease_rate(amrr, ni); + decrease_rate(ni); IEEE80211_DPRINTF(amrr->amrr_ic, IEEE80211_MSG_RATECTL, - "AMRR decreasing rate %d (txcnt=%d retrycnt=%d)\n", - ni->ni_txrate, amn->amn_txcnt, amn->amn_retrycnt); + "AMRR decreasing rate %d (txcnt=%d " + "retrycnt=%d)\n", + ni->ni_rates.rs_rates[ni->ni_txrate] & + IEEE80211_RATE_VAL, + amn->amn_txcnt, amn->amn_retrycnt); need_change = 1; } amn->amn_recovery = 0; ==== //depot/projects/wifi/sys/net80211/ieee80211_amrr.h#4 (text+ko) ==== @@ -37,8 +37,6 @@ struct ieee80211_amrr { u_int amrr_min_success_threshold; u_int amrr_max_success_threshold; - uint8_t amrr_rixmap[256]; /* IEEE to h/w rate table ix */ - uint8_t amrr_minrate, amrr_maxrate; struct ieee80211com *amrr_ic; }; @@ -58,8 +56,6 @@ void ieee80211_amrr_init(struct ieee80211_amrr *, struct ieee80211com *ic, int, int); -void ieee80211_amrr_setrates(struct ieee80211_amrr *, - const struct ieee80211_rateset *); void ieee80211_amrr_node_init(struct ieee80211_amrr *, struct ieee80211_amrr_node *); void ieee80211_amrr_choose(struct ieee80211_amrr *, struct ieee80211_node *, From owner-p4-projects@FreeBSD.ORG Wed Feb 13 11:34:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B438D16A479; Wed, 13 Feb 2008 11:34:17 +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 60EF316A41B for ; Wed, 13 Feb 2008 11:34:17 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5490C13C4DD for ; Wed, 13 Feb 2008 11:34:17 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DBYHKD059625 for ; Wed, 13 Feb 2008 11:34:17 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DBYH8X059622 for perforce@freebsd.org; Wed, 13 Feb 2008 11:34:17 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 11:34:17 GMT Message-Id: <200802131134.m1DBYH8X059622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135303 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 11:34:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=135303 Change 135303 by sephe@sephe_zealot:sam_wifi on 2008/02/13 11:34:10 if_timer's usage in dfly (old 802.11 semantic) is different from freebsd's after latest 802.11 overhaul in freebsd Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#14 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#14 (text+ko) ==== @@ -1392,8 +1392,7 @@ tbd->tbd_idx = idx; if (trans) - sc->sc_tx_timer = 5; - ifp->if_timer = 1; + ifp->if_timer = 5; BWI_UNLOCK(sc); } @@ -1403,15 +1402,10 @@ struct bwi_softc *sc = ifp->if_softc; BWI_LOCK(sc); - ifp->if_timer = 0; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) && sc->sc_tx_timer) { - if (--sc->sc_tx_timer == 0) { - if_printf(ifp, "watchdog timeout\n"); - ifp->if_oerrors++; - /* TODO */ - } else { - ifp->if_timer = 1; - } + if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if_printf(ifp, "watchdog timeout\n"); + ifp->if_oerrors++; + /* TODO */ } BWI_UNLOCK(sc); } @@ -3175,7 +3169,7 @@ tb->tb_mbuf = NULL; if (tbd->tbd_used == 0) - sc->sc_tx_timer = 0; + ifp->if_timer = 0; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } From owner-p4-projects@FreeBSD.ORG Wed Feb 13 12:34:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0121B16A41A; Wed, 13 Feb 2008 12:34:25 +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 A315C16A417 for ; Wed, 13 Feb 2008 12:34:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9A22113C44B for ; Wed, 13 Feb 2008 12:34:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DCYObI064980 for ; Wed, 13 Feb 2008 12:34:24 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DCYO7r064977 for perforce@freebsd.org; Wed, 13 Feb 2008 12:34:24 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 12:34:24 GMT Message-Id: <200802131234.m1DCYO7r064977@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135307 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 12:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=135307 Change 135307 by sephe@sephe_zealot:sam_wifi on 2008/02/13 12:33:48 Rename lock assertion macro Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#9 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#9 (text+ko) ==== @@ -660,7 +660,7 @@ #define BWI_LOCK_DESTROY(sc) mtx_destroy(&(sc)->sc_mtx) #define BWI_LOCK(sc) mtx_lock(&(sc)->sc_mtx) #define BWI_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) -#define BWI_LOCK_ASSERT(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) +#define BWI_ASSERT_LOCKED(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) int bwi_attach(struct bwi_softc *); int bwi_detach(struct bwi_softc *); From owner-p4-projects@FreeBSD.ORG Wed Feb 13 13:45:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82CD516A41A; Wed, 13 Feb 2008 13:45:43 +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 2F9A416A418 for ; Wed, 13 Feb 2008 13:45:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 277D613C468 for ; Wed, 13 Feb 2008 13:45:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DDjgx2079239 for ; Wed, 13 Feb 2008 13:45:42 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DDjfp5079227 for perforce@freebsd.org; Wed, 13 Feb 2008 13:45:41 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 13:45:41 GMT Message-Id: <200802131345.m1DDjfp5079227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 13:45:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=135313 Change 135313 by sephe@sephe_zealot:sam_wifi on 2008/02/13 13:45:11 - Use mtx callout for amrr_ch and calib_ch. This has side effect to properly protect TX power calibration. - Release+hold mtx during ieee80211_find_rxnode() + ieee80211_input() Possible races between lock/unlock sequence and ifp/ic's external interfaces need more care thoughts. This commit makes bwi work with freebsd. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#15 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#10 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#15 (text+ko) ==== @@ -428,8 +428,8 @@ /* set these up early for if_printf use */ if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - callout_init(&sc->sc_calib_ch, CALLOUT_MPSAFE); - callout_init(&sc->sc_amrr_ch, CALLOUT_MPSAFE); + callout_init_mtx(&sc->sc_calib_ch, &sc->sc_mtx, 0); + callout_init_mtx(&sc->sc_amrr_ch, &sc->sc_mtx, 0); /* * Add sysctl nodes @@ -564,8 +564,12 @@ struct ifnet *ifp = sc->sc_ifp; int i; + BWI_LOCK(sc); bwi_stop(sc); - callout_stop(&sc->sc_amrr_ch); + BWI_UNLOCK(sc); + + callout_drain(&sc->sc_calib_ch); + callout_drain(&sc->sc_amrr_ch); ieee80211_ifdetach(&sc->sc_ic); for (i = 0; i < sc->sc_nmac; ++i) @@ -581,7 +585,9 @@ void bwi_suspend(struct bwi_softc *sc) { + BWI_LOCK(sc); bwi_stop(sc); + BWI_UNLOCK(sc); } void @@ -599,7 +605,9 @@ int bwi_shutdown(struct bwi_softc *sc) { + BWI_LOCK(sc); bwi_stop(sc); + BWI_UNLOCK(sc); return 0; } @@ -1216,6 +1224,9 @@ if (error) goto back; + /* Clear stop flag before enabling interrupt */ + sc->sc_flags &= ~BWI_F_STOP; + /* Enable intrs */ bwi_enable_intrs(sc, BWI_INIT_INTRS); @@ -1418,8 +1429,9 @@ struct bwi_mac *mac; int i, error, pwr_off = 0; - BWI_LOCK(sc); + BWI_ASSERT_LOCKED(sc); + sc->sc_flags |= BWI_F_STOP; ieee80211_new_state(ic, IEEE80211_S_INIT, -1); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { @@ -1455,7 +1467,6 @@ sc->sc_tx_timer = 0; ifp->if_timer = 0; ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); - BWI_UNLOCK(sc); } void @@ -1469,7 +1480,8 @@ BWI_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || + (sc->sc_flags & BWI_F_STOP)) { BWI_UNLOCK(sc); return; } @@ -1552,8 +1564,13 @@ if (intr_status & BWI_INTR_NOISE) if_printf(ifp, "intr noise\n"); - if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) + if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) { rx_data = sc->sc_rxeof(sc); + if (sc->sc_flags & BWI_F_STOP) { + BWI_UNLOCK(sc); + return; + } + } if (txrx_intr_status[3] & BWI_TXRX_INTR_RX) { sc->sc_txeof_status(sc); @@ -1716,13 +1733,12 @@ struct bwi_softc *sc = arg; struct ieee80211com *ic = &sc->sc_ic; - BWI_LOCK(sc); + BWI_ASSERT_LOCKED(sc); + if (ic->ic_opmode == IEEE80211_M_STA) bwi_iter_func(sc, ic->ic_bss); else ieee80211_iterate_nodes(&ic->ic_sta, bwi_iter_func, sc); - BWI_UNLOCK(sc); - callout_reset(&sc->sc_amrr_ch, hz / 2, bwi_amrr_timeout, sc); } @@ -2617,6 +2633,8 @@ m_adj(m, -IEEE80211_CRC_LEN); + BWI_UNLOCK(sc); + wh = mtod(m, struct ieee80211_frame_min *); ni = ieee80211_find_rxnode(ic, wh); @@ -2627,8 +2645,18 @@ rx_data = 1; sc->sc_rx_rate = rate; } + + BWI_LOCK(sc); next: idx = (idx + 1) % BWI_RX_NDESC; + + if (sc->sc_flags & BWI_F_STOP) { + /* + * Take the fast lane, don't do + * any damage to softc + */ + return -1; + } } rbd->rbd_idx = idx; @@ -2651,10 +2679,10 @@ sizeof(struct bwi_desc32); rx_data = bwi_rxeof(sc, end_idx); - - CSR_WRITE_4(sc, rx_ctrl + BWI_RX32_INDEX, - end_idx * sizeof(struct bwi_desc32)); - + if (rx_data >= 0) { + CSR_WRITE_4(sc, rx_ctrl + BWI_RX32_INDEX, + end_idx * sizeof(struct bwi_desc32)); + } return rx_data; } @@ -3530,6 +3558,8 @@ struct bwi_softc *sc = xsc; struct ieee80211com *ic = &sc->sc_ic; + BWI_ASSERT_LOCKED(sc); + if (ic->ic_state == IEEE80211_S_RUN) { struct bwi_mac *mac; ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#10 (text+ko) ==== @@ -637,6 +637,7 @@ #define BWI_F_BUS_INITED 0x1 #define BWI_F_PROMISC 0x2 +#define BWI_F_STOP 0x4 #define BWI_DBG_MAC 0x00000001 #define BWI_DBG_RF 0x00000002 From owner-p4-projects@FreeBSD.ORG Wed Feb 13 13:46:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B380416A41B; Wed, 13 Feb 2008 13:46:44 +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 775C016A41A for ; Wed, 13 Feb 2008 13:46:44 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5792113C448 for ; Wed, 13 Feb 2008 13:46:44 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DDkiMX079911 for ; Wed, 13 Feb 2008 13:46:44 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DDkiLl079908 for perforce@freebsd.org; Wed, 13 Feb 2008 13:46:44 GMT (envelope-from rrs@cisco.com) Date: Wed, 13 Feb 2008 13:46:44 GMT Message-Id: <200802131346.m1DDkiLl079908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 13:46:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=135314 Change 135314 by rrs@rrs-mips2-jnpr on 2008/02/13 13:46:20 Adds emulator option Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs#12 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs#12 (text+ko) ==== @@ -82,3 +82,5 @@ options MD_ROOT # options ROOTDEVNAME = \"ufs:md0\" options MD_ROOT_SIZE = 25200 + +options TARGET_EMULATOR From owner-p4-projects@FreeBSD.ORG Wed Feb 13 14:54:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68A0716A46E; Wed, 13 Feb 2008 14:54:57 +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 1436416A46C for ; Wed, 13 Feb 2008 14:54:57 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0A1A313C455 for ; Wed, 13 Feb 2008 14:54:57 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DEsuhv087605 for ; Wed, 13 Feb 2008 14:54:56 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DEssHc087602 for perforce@freebsd.org; Wed, 13 Feb 2008 14:54:54 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Feb 2008 14:54:54 GMT Message-Id: <200802131454.m1DEssHc087602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135316 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 14:54:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=135316 Change 135316 by sephe@sephe_enigma:sam_wifi on 2008/02/13 14:54:18 IFC Affected files ... .. //depot/projects/wifi/UPDATING#39 integrate .. //depot/projects/wifi/contrib/ncurses/FREEBSD-upgrade#3 integrate .. //depot/projects/wifi/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/wifi/contrib/ncurses/MANIFEST#4 integrate .. //depot/projects/wifi/contrib/ncurses/NEWS#4 integrate .. //depot/projects/wifi/contrib/ncurses/dist.mk#4 integrate .. //depot/projects/wifi/contrib/ncurses/form/frm_driver.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/include/curses.h.in#4 integrate .. //depot/projects/wifi/contrib/ncurses/include/ncurses_defs#4 integrate .. //depot/projects/wifi/contrib/ncurses/man/curs_clear.3x#3 integrate .. //depot/projects/wifi/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/wifi/contrib/ncurses/man/man_db.renames#4 integrate .. //depot/projects/wifi/contrib/ncurses/man/manlinks.sed#3 integrate .. //depot/projects/wifi/contrib/ncurses/man/toe.1m#4 integrate .. //depot/projects/wifi/contrib/ncurses/misc/terminfo.src#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/MKlib_gen.sh#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/MKunctrl.awk#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_addch.c#3 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_getch.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_insch.c#3 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_newterm.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_newwin.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_set_term.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_slk.c#3 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_slkclear.c#3 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_slkinit.c#3 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/resizeterm.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/curses.priv.h#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/wifi/contrib/ncurses/ncurses/tinfo/lib_data.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/tinfo/lib_setup.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/progs/infocmp.c#4 integrate .. //depot/projects/wifi/contrib/ncurses/progs/toe.c#4 integrate .. //depot/projects/wifi/contrib/pf/man/pf.conf.5#10 integrate .. //depot/projects/wifi/include/unistd.h#10 integrate .. //depot/projects/wifi/lib/libc/sys/access.2#5 integrate .. //depot/projects/wifi/lib/libc/sys/readlink.2#3 integrate .. //depot/projects/wifi/lib/libthr/arch/amd64/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/arm/include/pthread_md.h#4 integrate .. //depot/projects/wifi/lib/libthr/arch/i386/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/arch/ia64/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/arch/powerpc/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/arch/sparc64/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/arch/sparc64/include/pthread_md.h#3 integrate .. //depot/projects/wifi/lib/msun/amd64/Makefile.inc#7 integrate .. //depot/projects/wifi/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/wifi/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/wifi/lib/msun/ld128/s_exp2l.c#3 integrate .. //depot/projects/wifi/lib/msun/ld80/s_exp2l.c#3 integrate .. //depot/projects/wifi/lib/msun/src/e_remainder.c#3 integrate .. //depot/projects/wifi/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_exp2.c#4 integrate .. //depot/projects/wifi/lib/msun/src/s_exp2f.c#4 integrate .. //depot/projects/wifi/lib/ncurses/ncurses/Makefile#9 integrate .. //depot/projects/wifi/lib/ncurses/ncurses/ncurses_cfg.h#4 integrate .. //depot/projects/wifi/sbin/mount_nfs/mount_nfs.8#7 integrate .. //depot/projects/wifi/sbin/mount_nfs/mount_nfs.c#8 integrate .. //depot/projects/wifi/share/man/man4/Makefile#46 integrate .. //depot/projects/wifi/share/man/man4/geom_lvm.4#1 branch .. //depot/projects/wifi/share/man/man4/mxge.4#5 integrate .. //depot/projects/wifi/share/man/man5/fstab.5#4 integrate .. //depot/projects/wifi/share/man/man9/Makefile#26 integrate .. //depot/projects/wifi/sys/amd64/amd64/busdma_machdep.c#17 integrate .. //depot/projects/wifi/sys/amd64/linux32/linux32_machdep.c#16 integrate .. //depot/projects/wifi/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/wifi/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/wifi/sys/cam/cam_periph.c#10 integrate .. //depot/projects/wifi/sys/compat/freebsd32/freebsd32_proto.h#16 integrate .. //depot/projects/wifi/sys/compat/freebsd32/freebsd32_syscall.h#16 integrate .. //depot/projects/wifi/sys/compat/freebsd32/freebsd32_syscalls.c#16 integrate .. //depot/projects/wifi/sys/compat/freebsd32/freebsd32_sysent.c#16 integrate .. //depot/projects/wifi/sys/compat/freebsd32/syscalls.master#17 integrate .. //depot/projects/wifi/sys/conf/NOTES#50 integrate .. //depot/projects/wifi/sys/conf/files#65 integrate .. //depot/projects/wifi/sys/conf/files.sparc64#21 integrate .. //depot/projects/wifi/sys/conf/options#44 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_cpu.c#14 integrate .. //depot/projects/wifi/sys/dev/twe/twe.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/ehci.c#21 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.c#11 integrate .. //depot/projects/wifi/sys/fs/coda/cnode.h#4 integrate .. //depot/projects/wifi/sys/fs/coda/coda_fbsd.c#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_kernel.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_namecache.c#3 delete .. //depot/projects/wifi/sys/fs/coda/coda_namecache.h#3 delete .. //depot/projects/wifi/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_psdev.c#4 integrate .. //depot/projects/wifi/sys/fs/coda/coda_psdev.h#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_subr.c#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_venus.c#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vfsops.c#6 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vfsops.h#3 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vnops.c#6 integrate .. //depot/projects/wifi/sys/fs/coda/coda_vnops.h#3 integrate .. //depot/projects/wifi/sys/fs/ntfs/ntfs_subr.c#10 integrate .. //depot/projects/wifi/sys/geom/lvm/g_lvm.c#1 branch .. //depot/projects/wifi/sys/geom/lvm/g_lvm.h#1 branch .. //depot/projects/wifi/sys/i386/i386/busdma_machdep.c#16 integrate .. //depot/projects/wifi/sys/i386/i386/geode.c#6 integrate .. //depot/projects/wifi/sys/i386/linux/linux_machdep.c#16 integrate .. //depot/projects/wifi/sys/kern/init_sysent.c#21 integrate .. //depot/projects/wifi/sys/kern/syscalls.c#21 integrate .. //depot/projects/wifi/sys/kern/syscalls.master#22 integrate .. //depot/projects/wifi/sys/kern/systrace_args.c#6 integrate .. //depot/projects/wifi/sys/kern/sysv_shm.c#13 integrate .. //depot/projects/wifi/sys/kern/vfs_syscalls.c#29 integrate .. //depot/projects/wifi/sys/modules/coda/Makefile#3 integrate .. //depot/projects/wifi/sys/modules/geom/Makefile#7 integrate .. //depot/projects/wifi/sys/modules/geom/geom_lvm/Makefile#1 branch .. //depot/projects/wifi/sys/nfsclient/nfs_diskless.c#8 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_socket.c#23 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_subs.c#15 integrate .. //depot/projects/wifi/sys/nfsclient/nfsm_subs.h#5 integrate .. //depot/projects/wifi/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/wifi/sys/powerpc/aim/ofw_machdep.c#2 integrate .. //depot/projects/wifi/sys/powerpc/conf/NOTES#7 integrate .. //depot/projects/wifi/sys/powerpc/include/intr_machdep.h#6 integrate .. //depot/projects/wifi/sys/powerpc/include/openpicreg.h#2 integrate .. //depot/projects/wifi/sys/powerpc/include/openpicvar.h#5 integrate .. //depot/projects/wifi/sys/powerpc/powermac/hrowpic.c#6 integrate .. //depot/projects/wifi/sys/powerpc/powermac/openpic_macio.c#4 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/intr_machdep.c#8 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/openpic.c#6 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/pic_if.m#5 integrate .. //depot/projects/wifi/sys/powerpc/psim/openpic_iobus.c#4 integrate .. //depot/projects/wifi/sys/sparc64/include/md_var.h#3 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/wifi/sys/sys/ipc.h#3 integrate .. //depot/projects/wifi/sys/sys/lockmgr.h#14 integrate .. //depot/projects/wifi/sys/sys/shm.h#7 integrate .. //depot/projects/wifi/sys/sys/syscall.h#20 integrate .. //depot/projects/wifi/sys/sys/syscall.mk#20 integrate .. //depot/projects/wifi/sys/sys/syscallsubr.h#15 integrate .. //depot/projects/wifi/sys/sys/sysproto.h#20 integrate .. //depot/projects/wifi/usr.bin/netstat/route.c#9 integrate .. //depot/projects/wifi/usr.sbin/timed/timed/timed.8#3 integrate .. //depot/projects/wifi/usr.sbin/traceroute6/traceroute6.8#4 integrate .. //depot/projects/wifi/usr.sbin/traceroute6/traceroute6.c#6 integrate Differences ... ==== //depot/projects/wifi/UPDATING#39 (text+ko) ==== @@ -22,6 +22,12 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080211: + The default NFS mount mode has changed from UDP to TCP for + increased reliability. If you rely on (insecurely) NFS + mounting across a firewall you may need to update your + firewall rules. + 20080208: Belatedly note the addition of m_collapse for compacting mbuf chains. @@ -973,4 +979,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.518 2008/02/08 21:24:58 sam Exp $ +$FreeBSD: src/UPDATING,v 1.519 2008/02/11 23:23:20 kris Exp $ ==== //depot/projects/wifi/contrib/ncurses/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.2 2007/12/30 11:19:29 rafan Exp $ +$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.3 2008/02/11 13:42:45 rafan Exp $ ncurses @@ -18,6 +18,10 @@ src/contrib/ncurses NCURSES v5_6_20061217 The date in the tag can be obtained from contrib/ncurses/dist.mk. +If the version is a snapshot, + + cvs import -m 'Import ncurses 5.6-20080209 snapshot onto the vendor branch' \ + src/contrib/ncurses NCURSES v5_6_20080209 Remove files that are removed in this release in vendor branch (NCURSES) instead of HEAD. ==== //depot/projects/wifi/contrib/ncurses/MANIFEST#4 (text+ko) ==== @@ -571,6 +571,7 @@ ./man/curs_termattrs.3x ./man/curs_termcap.3x ./man/curs_terminfo.3x +./man/curs_threads.3x ./man/curs_touch.3x ./man/curs_trace.3x ./man/curs_util.3x @@ -810,6 +811,7 @@ ./ncurses/curses.priv.h ./ncurses/fifo_defs.h ./ncurses/llib-lncurses +./ncurses/llib-lncursest ./ncurses/llib-lncursesw ./ncurses/modules ./ncurses/tinfo/MKcaptab.awk ==== //depot/projects/wifi/contrib/ncurses/NEWS#4 (text+ko) ==== @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1188 2007/12/22 23:56:08 tom Exp $ +-- $Id: NEWS,v 1.1206 2008/02/09 23:49:39 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,54 @@ Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20080209 + + update test programs to build/work with various UNIX curses for + comparisons. This was to reinvestigate statement in X/Open curses + that insnstr and winsnstr perform wrapping. None of the Unix-branded + implementations do this, as noted in manpage (cf: 20040228). + +20080203 + + modify _nc_setupscreen() to set the legacy-coding value the same + for both narrow/wide models. It had been set only for wide model, + but is needed to make unctrl() work with locale in the narrow model. + + improve waddch() and winsch() handling of EILSEQ from mbrtowc() by + using unctrl() to display illegal bytes rather than trying to append + further bytes to make up a valid sequence (reported by Andrey A + Chernov). + + modify unctrl() to check codes in 128-255 range versus isprint(). + If they are not printable, and locale was set, use a "M-" or "~" + sequence. + +20080126 + + improve threading in test/worm.c (wrap refresh calls, and KEY_RESIZE + handling). Now it hangs in napms(), no matter whether nanosleep() + or poll() or select() are used on Linux. + +20080119 + + fixes to build with --disable-ext-funcs + + add manpage for use_window and use_screen. + + add set_tabsize() and set_escdelay() functions. + +20080112 + + remove recursive-mutex definitions, finish threading demo for worm.c + + remove a redundant adjustment of lines in resizeterm.c's + adjust_window() which caused occasional misadjustment of stdscr when + softkeys were used. + +20080105 + + several improvements to terminfo entries based on xterm #230 -TD + + modify MKlib_gen.sh to handle keyname/key_name prototypes, so the + "link_test" builds properly. + + fix for toe command-line options -u/-U to ensure filename is given. + + fix allocation-size for command-line parsing in infocmp from 20070728 + (report by Miroslav Lichvar) + + improve resizeterm() by moving ripped-off lines, and repainting the + soft-keys (report by Katarina Machalkova) + + add clarification in wclear's manpage noting that the screen will be + cleared even if a subwindow is cleared (prompted by Christer Enfors + question). + + change test/ncurses.c soft-key tests to work with KEY_RESIZE. + 20071222 + continue implementing support for threading demo by adding mutex for delwin(). ==== //depot/projects/wifi/contrib/ncurses/dist.mk#4 (text+ko) ==== @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.620 2007/12/22 20:41:31 tom Exp $ +# $Id: dist.mk,v 1.629 2008/02/09 15:32:57 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 NCURSES_MINOR = 6 -NCURSES_PATCH = 20071222 +NCURSES_PATCH = 20080209 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) ==== //depot/projects/wifi/contrib/ncurses/form/frm_driver.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * + * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: frm_driver.c,v 1.85 2007/11/24 21:32:53 tom Exp $") +MODULE_ID("$Id: frm_driver.c,v 1.86 2008/01/19 20:11:03 tom Exp $") /*---------------------------------------------------------------------------- This is the core module of the form library. It contains the majority @@ -676,7 +676,7 @@ new_bp[new_buflen] = myZEROS; } -#if USE_WIDEC_SUPPORT +#if USE_WIDEC_SUPPORT && NCURSES_EXT_FUNCS if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR) result = FALSE; #endif ==== //depot/projects/wifi/contrib/ncurses/include/curses.h.in#4 (text+ko) ==== @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * + * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -32,7 +32,7 @@ * and: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: curses.h.in,v 1.181 2007/11/18 00:32:03 tom Exp $ */ +/* $Id: curses.h.in,v 1.183 2008/01/19 20:03:48 tom Exp $ */ #ifndef __NCURSES_H #define __NCURSES_H @@ -827,7 +827,6 @@ /* * These functions are extensions - not in X/Open Curses. */ -#undef NCURSES_EXT_FUNCS #if @NCURSES_EXT_FUNCS@ #undef NCURSES_EXT_FUNCS #define NCURSES_EXT_FUNCS @NCURSES_PATCH@ @@ -841,6 +840,8 @@ extern NCURSES_EXPORT(int) keyok (int, bool); extern NCURSES_EXPORT(int) resize_term (int, int); extern NCURSES_EXPORT(int) resizeterm (int, int); +extern NCURSES_EXPORT(int) set_escdelay (int); +extern NCURSES_EXPORT(int) set_tabsize (int); extern NCURSES_EXPORT(int) use_default_colors (void); extern NCURSES_EXPORT(int) use_extended_names (bool); extern NCURSES_EXPORT(int) use_legacy_coding (int); ==== //depot/projects/wifi/contrib/ncurses/include/ncurses_defs#4 (text+ko) ==== @@ -1,6 +1,6 @@ -# $Id: ncurses_defs,v 1.35 2007/10/06 21:18:16 tom Exp $ +# $Id: ncurses_defs,v 1.38 2008/02/10 00:12:03 tom Exp $ ############################################################################## -# Copyright (c) 2000-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 2000-2007,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -46,6 +46,8 @@ HAVE_BSD_SIGNAL_H HAVE_BTOWC HAVE_BUILTIN_H +HAVE_CHGAT 1 +HAVE_COLOR_SET 1 HAVE_DIRENT_H HAVE_ERRNO HAVE_FCNTL_H @@ -58,6 +60,7 @@ HAVE_GETEUID HAVE_GETMAXX 1 HAVE_GETNSTR +HAVE_GETPARX 1 HAVE_GETOPT_H HAVE_GETTIMEOFDAY HAVE_GETTTYNAM ==== //depot/projects/wifi/contrib/ncurses/man/curs_clear.3x#3 (text+ko) ==== @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998,2005 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_clear.3x,v 1.10 2005/10/01 19:34:43 tom Exp $ +.\" $Id: curs_clear.3x,v 1.11 2007/12/29 15:58:38 tom Exp $ .TH curs_clear 3X "" .na .hy 0 @@ -105,6 +105,12 @@ That fact is not documented in other implementations, and may not be true of implementations which were not derived from SVr4 source. +.PP +Not obvious from the description, +most implementations clear the screen after \fBwclear\fP +even for a subwindow or derived window. +If you do not want to clear the screen during the next \fBwrefresh\fP, +use \fBwerase\fP instead. .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X) .\"# ==== //depot/projects/wifi/contrib/ncurses/man/man_db.renames#4 (text+ko) ==== @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: man_db.renames,v 0.39 2007/04/07 23:06:31 tom Exp $ +# $Id: man_db.renames,v 0.40 2008/01/19 18:28:50 tom Exp $ # Manual-page renamings for the man_db program # # Files: @@ -84,6 +84,7 @@ curs_termattrs.3x termattrs.3ncurses curs_termcap.3x termcap.3ncurses curs_terminfo.3x terminfo.3ncurses +curs_threads.3x threads.3ncurses curs_touch.3x touch.3ncurses curs_trace.3x trace.3ncurses curs_util.3x util.3ncurses @@ -116,9 +117,9 @@ form_win.3x win.3form infocmp.1m infocmp.1 infotocap.1m infotocap.1 +key_defined.3x key_defined.3ncurses keybound.3x keybound.3ncurses keyok.3x keyok.3ncurses -key_defined.3x key_defined.3ncurses legacy_coding.3x legacy_coding.3ncurses menu.3x menu.3menu menu_attributes.3x attributes.3menu ==== //depot/projects/wifi/contrib/ncurses/man/manlinks.sed#3 (text+ko) ==== @@ -1,6 +1,6 @@ -# $Id: manlinks.sed,v 1.12 2003/12/20 13:17:56 tom Exp $ +# $Id: manlinks.sed,v 1.13 2008/01/19 23:31:17 tom Exp $ ############################################################################## -# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc. # +# Copyright (c) 2000-2003,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -35,6 +35,7 @@ /\.\\"/d /^\.br/d /^\.sp/d +/typedef/d s/^\.IX// s/\\f.//g s/[:,]/ /g ==== //depot/projects/wifi/contrib/ncurses/man/toe.1m#4 (text+ko) ==== @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: toe.1m,v 1.20 2006/12/24 17:20:37 tom Exp $ +.\" $Id: toe.1m,v 1.21 2008/01/05 20:57:16 tom Exp $ .TH @TOE@ 1M "" .ds n 5 .ds d @TERMINFO@ @@ -37,10 +37,14 @@ .br .SH DESCRIPTION .PP -With no options, \fBtoe\fR lists all available terminal types by primary name -with descriptions. File arguments specify the directories to be scanned; if no -such arguments are given, your default terminfo directory is scanned. If you -also specify the \fB-h\fR option, a directory header will be issued as each +With no options, +\fBtoe\fR lists all available terminal types by primary name +with descriptions. +File arguments specify the directories to be scanned; if no +such arguments are given, +your default terminfo directory is scanned. +If you also specify the \fB-h\fR option, +a directory header will be issued as each directory is entered. .PP There are other options intended for use by terminfo file maintainers: @@ -50,16 +54,25 @@ rather than only the first one that it finds. .TP \fB-u\fR \fIfile\fR -says to issue a report on dependencies in the given file. This report condenses -the `use' relation: each line consists of the primary name of a terminal that -has use capabilities, followed by a colon, followed by the +says to write a report to the standard output, +listing dependencies in the given terminfo/termcap source file. +The report condenses the `use' relation: +each line consists of the primary name of a terminal that +has use capabilities, +followed by a colon, +followed by the whitespace-separated primary names of all terminals which occur in those use -capabilities, followed by a newline +capabilities, +followed by a newline .TP \fB-U\fR \fIfile\fR -says to issue a report on reverse dependencies in the given file. This report -reverses the `use' relation: each line consists of the primary name of a -terminal that occurs in use capabilities, followed by a colon, followed by the +says to write a report to the standard output, +listing reverse dependencies in the given terminfo/termcap source file. +The report reverses the `use' relation: +each line consists of the primary name of a +terminal that occurs in use capabilities, +followed by a colon, +followed by the whitespace-separated primary names of all terminals which depend on it, followed by a newline. .TP @@ -70,7 +83,8 @@ interpreted as for \fB@TIC@\fR(1M). .TP \fB-V\fR -reports the version of ncurses which was used in this program, and exits. +reports the version of ncurses which was used in this program, +and exits. .SH FILES .TP 5 \fB\*d/?/*\fR ==== //depot/projects/wifi/contrib/ncurses/misc/terminfo.src#4 (text+ko) ==== @@ -6,8 +6,8 @@ # Report bugs and new terminal descriptions to # bug-ncurses@gnu.org # -# $Revision: 1.318 $ -# $Date: 2007/11/03 19:02:01 $ +# $Revision: 1.326 $ +# $Date: 2007/11/12 00:22:07 $ # # The original header is preserved below for reference. It is noted that there # is a "newer" version which differs in some cosmetic details (but actually @@ -3017,10 +3017,8 @@ cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h, indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v43, -# This is the most common alias for xterm-new. xterm-xfree86|xterm terminal emulator (XFree86), - use=xterm-new, -# use=xterm-old, + use=xterm-xf86-v44, # This version reflects the current xterm features. xterm-new|modern xterm terminal emulator, @@ -3048,7 +3046,16 @@ # The meta key may also be used as a modifier in this scheme, adding another # bit to the parameter. xterm+pcfkeys|fragment for PC-style fkeys, - use=xterm+pcf2, use=xterm+pcc2, + use=xterm+app, use=xterm+pcf2, use=xterm+pcc2, + use=xterm+pce2, +# +xterm+noapp|fragment with cursor keys in normal mode, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, + khome=\E[H, + +xterm+app|fragment with cursor keys in application mode, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, + khome=\EOH, # # The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27) # and revised in patch #167 (2002/8/24). Some other terminal emulators copied @@ -3071,28 +3078,39 @@ # that might apply to xterm+pcfkeys with different values of that resource. xterm+pcc3|fragment with modifyCursorKeys:3, kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B, - kri=\E[>1;2A, kDN=\E[>1;2B, kDN5=\E[>1;5B, kDN6=\E[>1;6B, - kLFT5=\E[>1;5D, kLFT6=\E[>1;6D, kRIT5=\E[>1;5C, - kRIT6=\E[>1;6C, kUP=\E[>1;2A, kUP5=\E[>1;5A, - kUP6=\E[>1;6A, + kri=\E[>1;2A, kDN=\E[>1;2B, kDN3=\E[>1;3B, kDN4=\E[>1;4B, + kDN5=\E[>1;5B, kDN6=\E[>1;6B, kDN7=\E[>1;7B, + kLFT3=\E[>1;3D, kLFT4=\E[>1;4D, kLFT5=\E[>1;5D, + kLFT6=\E[>1;6D, kLFT7=\E[>1;7D, kRIT3=\E[>1;3C, + kRIT4=\E[>1;4C, kRIT5=\E[>1;5C, kRIT6=\E[>1;6C, + kRIT7=\E[>1;7C, kUP=\E[>1;2A, kUP3=\E[>1;3A, + kUP4=\E[>1;4A, kUP5=\E[>1;5A, kUP6=\E[>1;6A, + kUP7=\E[>1;7A, xterm+pcc2|fragment with modifyCursorKeys:2, kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A, - kDN=\E[1;2B, kDN5=\E[1;5B, kDN6=\E[1;6B, kLFT5=\E[1;5D, - kLFT6=\E[1;6D, kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP=\E[1;2A, - kUP5=\E[1;5A, kUP6=\E[1;6A, + kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, + kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D, + kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D, + kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C, + kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A, + kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A, xterm+pcc1|fragment with modifyCursorKeys:1, kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B, - kDN5=\E[5B, kDN6=\E[6B, kLFT5=\E[5D, kLFT6=\E[6D, - kRIT5=\E[5C, kRIT6=\E[6C, kUP=\E[2A, kUP5=\E[5A, - kUP6=\E[6A, + kDN3=\E[3B, kDN4=\E[4B, kDN5=\E[5B, kDN6=\E[6B, kDN7=\E[7B, + kLFT3=\E[3D, kLFT4=\E[4D, kLFT5=\E[5D, kLFT6=\E[6D, + kLFT7=\E[7D, kRIT3=\E[3C, kRIT4=\E[4C, kRIT5=\E[5C, + kRIT6=\E[6C, kRIT7=\E[7C, kUP=\E[2A, kUP3=\E[3A, + kUP4=\E[4A, kUP5=\E[5A, kUP6=\E[6A, kUP7=\E[7A, xterm+pcc0|fragment with modifyCursorKeys:0, kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B, - kDN5=\EO5B, kDN6=\EO6B, kLFT5=\EO5D, kLFT6=\EO6D, - kRIT5=\EO5C, kRIT6=\EO6C, kUP=\EO2A, kUP5=\EO5A, - kUP6=\EO6A, + kDN3=\EO3B, kDN4=\EO4B, kDN5=\EO5B, kDN6=\EO6B, kDN7=\EO7B, + kLFT3=\EO3D, kLFT4=\EO4D, kLFT5=\EO5D, kLFT6=\EO6D, + kLFT7=\EO7D, kRIT3=\EO3C, kRIT4=\EO4C, kRIT5=\EO5C, + kRIT6=\EO6C, kRIT7=\EO7C, kUP=\EO2A, kUP3=\EO3A, + kUP4=\EO4A, kUP5=\EO5A, kUP6=\EO6A, kUP7=\EO7A, # # Here are corresponding fragments from xterm patch #216: @@ -3136,6 +3154,32 @@ kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, # +# Chunks from xterm #230: +xterm+pce2|fragment with modifyCursorKeys:2, + kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, + kNXT=\E[6;2~, kPRV=\E[5;2~, kich1=\E[2~, knp=\E[6~, + kpp=\E[5~, kDC3=\E[3;3~, kDC4=\E[3;4~, kDC5=\E[3;5~, + kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F, kEND4=\E[1;4F, + kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F, + kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H, + kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~, + kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kNXT3=\E[6;3~, + kNXT4=\E[6;4~, kNXT5=\E[6;5~, kNXT6=\E[6;6~, + kNXT7=\E[6;7~, kPRV3=\E[5;3~, kPRV4=\E[5;4~, + kPRV5=\E[5;5~, kPRV6=\E[5;6~, kPRV7=\E[5;7~, + use=xterm+edit, + +xterm+edit|fragment for 6-key editing-keypad, + kdch1=\E[3~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, + use=xterm+pc+edit, + +xterm+pc+edit|fragment for pc-style editing keypad, + kend=\E[4~, khome=\E[1~, + +xterm+vt+edit|fragment for vt220-style editing keypad, + kfnd=\E[1~, kslt=\E[4~, + +# # Those chunks use the new-style (the xterm oldFunctionKeys resource is false). # Alternatively, the same scheme with old-style function keys as in xterm-r6 # is shown here (because that is used in mrxvt and mlterm): @@ -3163,8 +3207,8 @@ flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H, - kdch1=\E[3~, kmous=\E[M, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, - meml=\El, memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, + kmous=\E[M, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El, + memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, @@ -3310,7 +3354,8 @@ kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - use=xterm-basic, use=vt220+keypad, + use=xterm+app, use=xterm+edit, use=xterm-basic, + use=vt220+keypad, xterm-vt52|xterm emulating dec vt52, cols#80, it#8, lines#24, @@ -3321,11 +3366,11 @@ kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, xterm-noapp|xterm with cursor keys in normal mode, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rmcup@, - rmkx=\E>, smcup@, smkx=\E=, use=xterm, + rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp, + use=xterm, xterm-24|vs100|xterms|xterm terminal emulator (X Window System), - lines#24, use=xterm, + lines#24, use=xterm-old, # This is xterm for ncurses. xterm|xterm terminal emulator (X Window System), @@ -3349,7 +3394,7 @@ # # xterm with bold instead of underline xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, - smso=\E[7m, smul=\E[1m, use=xterm, + smso=\E[7m, smul=\E[1m, use=xterm-old, # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) # (kterm should not invoke DEC Graphics as the alternate character set # -- Kenji Rikitake) @@ -21607,6 +21652,15 @@ # 2007-11-03 # * correct acsc strings for h19 and z100 (Benjamin Sittler) # +# 2007-11-11 +# * use xterm-xf86-v44 for "xterm-xfree86", reflecting changes to +# xterm starting with patch #216 -TD +# * make legacy xterm entries such as xterm-24 inherit from xterm-old, +# to match xterm #230 -TD +# * extend xterm+pccX entries to match xterm #230 -TD +# * add xterm+app, xterm+noapp, from xterm #230 -TD +# * add/use xterm+pce2 from xterm #230, in xterm+pcfkeys -TD +# # The following sets edit modes for GNU EMACS. # Local Variables: # fill-prefix:"\t" ==== //depot/projects/wifi/contrib/ncurses/ncurses/base/MKlib_gen.sh#4 (text+ko) ==== @@ -2,10 +2,10 @@ # # MKlib_gen.sh -- generate sources from curses.h macro definitions # -# ($Id: MKlib_gen.sh,v 1.29 2007/08/18 13:17:14 tom Exp $) +# ($Id: MKlib_gen.sh,v 1.30 2008/01/05 23:21:10 tom Exp $) # ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -422,4 +422,5 @@ | sed \ -e 's/^.*T_CALLED.*returnCode( \([a-z].*) \));/ return \1;/' \ -e 's/^.*T_CALLED.*returnCode( \((wmove.*) \));/ return \1;/' \ + -e 's/gen_//' \ | sed -f $ED4 ==== //depot/projects/wifi/contrib/ncurses/ncurses/base/MKunctrl.awk#4 (text+ko) ==== @@ -1,6 +1,6 @@ -# $Id: MKunctrl.awk,v 1.14 2007/07/28 21:13:21 tom Exp $ +# $Id: MKunctrl.awk,v 1.21 2008/02/03 20:24:30 tom Exp $ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -27,13 +27,20 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey 1997 +# Author: Thomas E. Dickey (1997-on) # BEGIN { print "/* generated by MKunctrl.awk */" print "" print "#include " + print "#include " + print "" + print "#if USE_WIDEC_SUPPORT" + print "#if HAVE_WCTYPE_H" + print "#include " + print "#endif" + print "#endif" print "" print "#undef unctrl" print "" @@ -69,6 +76,12 @@ } else if (ch >= 128 && ch < 160) { part = sprintf("~\\%03o", ch - 64); offset = offset + 3; + } else if (ch == 255) { + part = "~?"; + offset = offset + 3; + } else if (ch >= 160) { + part = sprintf("M-\\%03o", ch - 128); + offset = offset + 4; } else { gap = gap " " part = sprintf("\\%03o", ch); @@ -88,14 +101,13 @@ blob = blob "\""; print "" - print "#if NCURSES_EXT_FUNCS" if (bigstrings) { - blob = blob "\n#if NCURSES_EXT_FUNCS" + blob = blob "\n/* printable values in 128-255 range */" printf "static const short unctrl_c1[] = {" } else { printf "static const char* const unctrl_c1[] = {" } - for ( ch = 128; ch < 160; ch++ ) { + for ( ch = 128; ch < 256; ch++ ) { gap = "," if ((ch % 8) == 0) { if (ch != 128) @@ -111,7 +123,7 @@ if (((ch + 1) % 8) != 0) gap = gap " " } else { - if (ch >= 128 && ch < 160) { + if (ch >= 128) { printf "\"\\%03o\"", ch gap = gap " " } @@ -123,8 +135,7 @@ } } print "};" - print "#endif /* NCURSES_EXT_FUNCS */" - blob = blob "\"\n#endif /* NCURSES_EXT_FUNCS */\n" + blob = blob "\"\n" print "" if (bigstrings) { @@ -134,22 +145,41 @@ } else { stringname = "unctrl" } - print "\tint check = ChCharOf(ch);" - print "\tconst char *result;" - print "" - print "\tif (check >= 0 && check < (int)SIZEOF(unctrl_table)) {" - print "#if NCURSES_EXT_FUNCS" - print "\t\tif ((SP != 0)" - print "\t\t && (SP->_legacy_coding > 1)" - print "\t\t && (check >= 128)" - print "\t\t && (check < 160))" + print "\tint check = ChCharOf(ch);" + print "\tconst char *result;" + print "" + print "\tif (check >= 0 && check < (int)SIZEOF(unctrl_table)) {" + print "#if NCURSES_EXT_FUNCS" + print "\t\tif ((SP != 0)" + print "\t\t && (SP->_legacy_coding > 1)" + print "\t\t && (check >= 128)" + print "\t\t && (check < 160))" + printf "\t\t\tresult = %s_c1[check - 128];\n", stringname; + print "\t\telse" + print "#if USE_WIDEC_SUPPORT" + print "\t\tif ((check >= 160)" + print "\t\t && (check < 256)" + print "\t\t && ((SP != 0)" + print "\t\t && ((SP->_legacy_coding > 0)" + print "\t\t || (SP->_legacy_coding == 0" + print "\t\t && (isprint(check) || iswprint(check))))))" + printf "\t\t\tresult = %s_c1[check - 128];\n", stringname; + print "\t\telse" + print "#else" + print "\t\tif ((check >= 160)" + print "\t\t && (check < 256)" + print "\t\t && ((SP != 0)" + print "\t\t && ((SP->_legacy_coding > 0)" + print "\t\t || (SP->_legacy_coding == 0" + print "\t\t && isprint(check)))))" printf "\t\t\tresult = %s_c1[check - 128];\n", stringname; - print "\t\telse" - print "#endif /* NCURSES_EXT_FUNCS */" + print "\t\telse" + print "#endif /* USE_WIDEC_SUPPORT */" + print "#endif /* NCURSES_EXT_FUNCS */" printf "\t\t\tresult = %s_table[check];\n", stringname; - print "\t} else {" - print "\t\tresult = 0;" - print "\t}" - print "\treturn (NCURSES_CONST char *)result;" - print "}" + print "\t} else {" + print "\t\tresult = 0;" + print "\t}" + print "\treturn (NCURSES_CONST char *)result;" + print "}" } ==== //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_addch.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -36,7 +36,7 @@ #include #include -MODULE_ID("$Id: lib_addch.c,v 1.104 2006/10/14 20:31:19 tom Exp $") +MODULE_ID("$Id: lib_addch.c,v 1.108 2008/02/03 18:50:27 tom Exp $") static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT); @@ -219,17 +219,15 @@ attr_t attrs = AttrOf(CHDEREF(ch)); SetChar(CHDEREF(ch), result, attrs); WINDOW_EXT(win, addch_used) = 0; - } else { - if (len == -1) { - /* - * An error occurred. We could either discard everything, - * or assume that the error was in the previous input. - * Try the latter. - */ - TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error")); - buffer[0] = CharOf(CHDEREF(ch)); - WINDOW_EXT(win, addch_used) = 1; - } + } else if (len == -1) { + /* + * An error occurred. We could either discard everything, + * or assume that the error was in the previous input. + * Try the latter. + */ + TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error")); + /* handle this with unctrl() */ + WINDOW_EXT(win, addch_used) = 0; } return len; } @@ -264,13 +262,16 @@ if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) { int len = _nc_build_wch(win, CHREF(ch)); - if (len > 0) { + if (len >= -1) { + /* handle EILSEQ */ if (is8bits(CharOf(ch))) { const char *s = unctrl((chtype) CharOf(ch)); if (s[1] != 0) { return waddstr(win, s); } } + if (len == -1) + return waddch(win, ' '); } else { return OK; } ==== //depot/projects/wifi/contrib/ncurses/ncurses/base/lib_getch.c#4 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Feb 13 15:53:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C7AA16A46E; Wed, 13 Feb 2008 15:53:59 +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 3145A16A46C for ; Wed, 13 Feb 2008 15:53:59 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29D5C13C4D3 for ; Wed, 13 Feb 2008 15:53:59 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DFrwOY092792 for ; Wed, 13 Feb 2008 15:53:58 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DFrwGU092789 for perforce@freebsd.org; Wed, 13 Feb 2008 15:53:58 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 13 Feb 2008 15:53:58 GMT Message-Id: <200802131553.m1DFrwGU092789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 135322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 15:53:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=135322 Change 135322 by zec@zec_tca51 on 2008/02/13 15:53:11 Unbreak the AMD64 build by fixing a few unportable pointer arithmetic hacks, and by using the V_hostname macro instead of a global hostname in platform-specific (mini)dump routines. Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/dump_machdep.c#2 edit .. //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#3 edit .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#57 edit .. //depot/projects/vimage/src/sys/sys/sysctl.h#15 edit Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/dump_machdep.c#2 (text+ko) ==== @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.12 2006/04/21 04:24:50 peter Exp $"); +#include "opt_vimage.h" + #include #include #include @@ -34,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -109,6 +112,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX */ bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, KERNELDUMPMAGIC, sizeof(kdh->magic)); @@ -118,7 +122,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, V_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#3 (text) ==== @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.2 2006/12/05 11:31:33 ru Exp $"); +#include "opt_vimage.h" + #include #include #include @@ -34,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -85,6 +88,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX */ bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, KERNELDUMPMAGIC, sizeof(kdh->magic)); @@ -94,7 +98,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, V_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#57 (text+ko) ==== @@ -624,7 +624,7 @@ mapentry->name != NULL; mapentry++) { if (strcmp(symstr, mapentry->name) == 0) { lookup->symvalue = - (int) curvnet->mod_data[vml->vml_modinfo->vmi_id]; /* XXX */ + (u_long) curvnet->mod_data[vml->vml_modinfo->vmi_id]; lookup->symvalue += mapentry->offset; lookup->symsize = mapentry->size; return 0; ==== //depot/projects/vimage/src/sys/sys/sysctl.h#15 (text+ko) ==== @@ -419,23 +419,21 @@ */ #ifdef VIMAGE #define SYSCTL_RESOLVE_V_ARG1() do { \ - void *ptr; \ + char *cp; \ switch (subs) { \ case V_NET: \ - ptr = TD_TO_VNET(curthread)->mod_data[mod]; \ - arg1 = (void *) ((int) ptr + (int) arg1); \ + cp = (char *) TD_TO_VNET(curthread)->mod_data[mod]; \ break; \ case V_PROCG: \ - ptr = TD_TO_VPROCG(curthread); \ - arg1 = (void *) ((int) ptr + (int) arg1); \ + cp = (char *) TD_TO_VPROCG(curthread); \ break; \ case V_CPU: \ - ptr = TD_TO_VCPU(curthread); \ - arg1 = (void *) ((int) ptr + (int) arg1); \ + cp = (char *) TD_TO_VCPU(curthread); \ break; \ default: \ panic("unsupported module id %d", subs); \ } \ + arg1 = cp + (size_t) arg1; \ } while (0) #endif From owner-p4-projects@FreeBSD.ORG Wed Feb 13 16:52:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A19FD16A418; Wed, 13 Feb 2008 16:52:01 +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 668D716A421 for ; Wed, 13 Feb 2008 16:52:01 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5F4F413C447 for ; Wed, 13 Feb 2008 16:52:01 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DGq1Re006471 for ; Wed, 13 Feb 2008 16:52:01 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DGq1lw006468 for perforce@freebsd.org; Wed, 13 Feb 2008 16:52:01 GMT (envelope-from swise@FreeBSD.org) Date: Wed, 13 Feb 2008 16:52:01 GMT Message-Id: <200802131652.m1DGq1lw006468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135327 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 16:52:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=135327 Change 135327 by swise@swise:vic10:iwarp on 2008/02/13 16:51:46 Always call t3_send_reset() with inp lock held. Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 (text+ko) ==== @@ -2349,7 +2349,7 @@ struct toepcb *toep = tp->t_toe; int keep = 0; - DPRINTF("do_peer_fin state=%d dead=%d\n", tp->t_state, !!dead); + DPRINTF("do_peer_fin state=%d\n", tp->t_state); #ifdef T3_TRACE T3_TRACE0(TIDTB(sk),"do_peer_fin:"); @@ -2360,13 +2360,16 @@ goto out; } + INP_INFO_WLOCK(&tcbinfo); + INP_LOCK(tp->t_inpcb); if (toep->tp_ulp_mode == ULP_MODE_TCPDDP) { keep = handle_peer_close_data(so, m); - if (keep < 0) + if (keep < 0) { + INP_INFO_WUNLOCK(&tcbinfo); + INP_UNLOCK(tp->t_inpcb); return; + } } - INP_INFO_WLOCK(&tcbinfo); - INP_LOCK(tp->t_inpcb); if (TCPS_HAVERCVDFIN(tp->t_state) == 0) socantrcvmore(so); switch (tp->t_state) { From owner-p4-projects@FreeBSD.ORG Wed Feb 13 18:31:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CAD3616A468; Wed, 13 Feb 2008 18:31:52 +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 905AF16A41B for ; Wed, 13 Feb 2008 18:31:52 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ED5113C457 for ; Wed, 13 Feb 2008 18:31:52 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DIVq6n021011 for ; Wed, 13 Feb 2008 18:31:52 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DIVqsH021008 for perforce@freebsd.org; Wed, 13 Feb 2008 18:31:52 GMT (envelope-from rrs@cisco.com) Date: Wed, 13 Feb 2008 18:31:52 GMT Message-Id: <200802131831.m1DIVqsH021008@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 18:31:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=135338 Change 135338 by rrs@rrs-mips2-jnpr on 2008/02/13 18:31:00 Purge the rest of k0 use from DO_AST Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#12 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#12 (text+ko) ==== @@ -307,8 +307,7 @@ * Call ast if required */ #define DO_AST \ - GET_CPU_PCPU(k0) \ - move a0, k0; \ + GET_CPU_PCPU(a0) \ lw a0, PC_CURTHREAD(a0); \ lw t0, TD_FLAGS(a0); \ and t0, t0, (TDF_ASTPENDING|TDF_NEEDRESCHED); \ From owner-p4-projects@FreeBSD.ORG Wed Feb 13 20:25:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 96CC416A479; Wed, 13 Feb 2008 20:25:24 +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 51C9716A41B for ; Wed, 13 Feb 2008 20:25:24 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4652113C448 for ; Wed, 13 Feb 2008 20:25:24 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DKPOcY035297 for ; Wed, 13 Feb 2008 20:25:24 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DKPNVZ035294 for perforce@freebsd.org; Wed, 13 Feb 2008 20:25:23 GMT (envelope-from thioretic@FreeBSD.org) Date: Wed, 13 Feb 2008 20:25:23 GMT Message-Id: <200802132025.m1DKPNVZ035294@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 135342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 20:25:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=135342 Change 135342 by thioretic@thioretic on 2008/02/13 20:25:23 Basic NewBus IO subsystem API is outlined by now. Plus(?) some additional helper functions to be implemented. Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/kern/subr_busio.c#10 edit .. //depot/projects/soc2007/thioretic_gidl2/sys/bus.h#10 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/kern/subr_busio.c#10 (text+ko) ==== @@ -34,14 +34,14 @@ struct ior { u_int32_t type; //see sys/ior_types.h void* data; -#define IORS_NONE 0 -#define IORS_ENQUEUED 1<<0 -#define IORS_OWNED 1<<1 +#define IORS_NONE (0) +#define IORS_ENQUEUED (1<<1) +#define IORS_OWNED (1<<2) +#define IORS_PAUSED (1<<3) u_int32_t state; -#define IORF_DONE 1<<0 -#define IORF_INVALIDATE 1<<1 -#define IORF_RETRY 1<<2 -#define IORF_TODESTROY 1<<3 +#define IORF_DONE (1<<0) +#define IORF_INVALIDATE (1<<1) +#define IORF_RETRY (1<<2) u_int32_t flags; ior_link_list_t parents; int children; @@ -72,6 +72,7 @@ struct mtx guard_mtx; }; +#define IOR_QUEUES_NUM 1 static ior_queue ior_queues[IOR_QUEUES_NUM]; static struct mtx iors_list_mtx; @@ -215,7 +216,7 @@ if (qid == IOR_QUEUES_NUM) return (1); - if (r->state != IORS_ENQUEUED){ + if (r->state & IORS_OWNED){ mtx_unlock (&q.guard_mtx); ior_unlock (r); goto retry; @@ -224,7 +225,9 @@ q.todo = TAILQ_NEXT(r, link); mtx_unlock (&q.guard_mtx); - r->state = IORS_OWNED; + ior_dequeue (r); + r->state |= IORS_OWNED; + ior_unlock (r); if (ior_get_flags(r) >= IORF_DONE) @@ -238,7 +241,7 @@ ior_t ior_create (device_t origin, int type, void* data, ior_t* parents, int pcount, char* path, - int enqueue, int queue_id){ + /*int enqueue,*/ int prio){ ior_t new_ior; ior_link_t pil, pils; int i, error = 0; @@ -274,10 +277,10 @@ new_ior->children = 0; new_ior->origin = new_ior->curdev = origin; + new_ior->queue_id = -1; - if (enqueue){ - ior_enqueue_adv (new_ior, queue_id); - } + /*if (enqueue)*/ + ior_enqueue_adv (new_ior, queue_id); return (new_ior); @@ -295,7 +298,7 @@ TAILQ_REMOVE (&r->parents, il, link); } - mtx_destroy (r->guard_spin_mtx); + mtx_destroy (r->guard_mtx); free (r); } @@ -306,8 +309,6 @@ if (r->children) return (0); - ior_add_flags (r, IORF_TODESTROY); - ior_lock (r); while (dev = TAILQ_NEXT(r->curdev)){ @@ -320,7 +321,7 @@ } int -ior_abort (ior_t r, u_int32_t flags){ +ior_complete (ior_t r, u_int32_t flags){ if (ior_destroy (r)){ ior_add_flags (r, flags); return (1); @@ -328,22 +329,12 @@ return (0); } -static void -ior_set_state (ior_t r, u_int32_t val){ - r->state = val; -} - -static u_int32_t -ior_get_state (ior_t r){ - return (r->state); -} - void ior_set_flags (ior_t r, u_int32_t val){ r->flags = val; } void -ior_add_flag (ior_t r, u_int32_t val){ +ior_add_flags (ior_t r, u_int32_t val){ r->flags |= val; } @@ -352,7 +343,7 @@ return (r->flags); } -int +static int ior_set_path (ior_t r, device_t origin, char* path){ int i = 0, error = 0, path_len; device_t *dev_path = NULL; @@ -416,13 +407,13 @@ return (0); } -void +static void ior_enqueue_adv (ior_t r, int queue_id){ ior_queue q = ior_queues[queue_id]; ior_lock (r); - if (r->state >= IORS_ENQUEUED){ + if (r->state & IORS_ENQUEUED){ ior_unlock (r); return (); } @@ -435,29 +426,29 @@ mtx_unlock (&q.guard_mtx); - r->queue_id = queue_id + 1; - r->state = IORS_ENQUEUED; + r->queue_id = queue_id; + r->state |= IORS_ENQUEUED; ior_unlock (r); wakeup_one (&work_kthreads_to_wait_on); } -void +static void ior_enqueue (ior_t r) { - return (ior_enqueue_adv (r, IOR_QUEUE_DEF)); + return (ior_enqueue_adv (r, r->queue_id != -1 ? r->queue_id : IOR_PRIO_DEF)); } static int -ior_dequeue_adv (ior_t r, int queue_id){ +ior_dequeue (ior_t r){ int error = 0; - ior_queue q = ior_queues[queue_id]; + ior_queue q = ior_queues[r->queue_id]; ior_lock (r); - if (r->state != IORS_ENQUEUED || r->children){ - ior_unlock (r); - return (1); + if (!(r->state & IORS_ENQUEUED)){ + ior_unlock (r); + return (1); } mtx_lock (&q.guard_mtx); @@ -468,18 +459,13 @@ mtx_unlock (&q.quard_mtx); - r->state = IORS_NONE; + r->state ^= IORS_ENQUEUED; ior_unlock (r); return (error); } -int -ior_dequeue (ior_t r) { - return (ior_dequeue_adv (r, r->queue_id)); -} - static void ior_lock (ior_t r){ mtx_lock (&r->guard_mtx); @@ -501,10 +487,15 @@ } r->curdev = nextdev; - IOR_DO (r->curdev->device_ptr, r); + IOR_DO (r->curdev->device_ptr, r); /*can change r->state to IORS_PAUSED|IORS_OWNED;*/ - if (ior_get_state(r) == IORS_NONE) + ior_lock (r); + if (r->state & IORS_PAUSED){ + r->state ^= IORS_OWNED; + ior_unlock (r); return(); + } + ior_unlock (r); if ((nextdev = TAILQ_NEXT(r->curdev, link)) && (device_get_flags(nextdev->device_ptr) & DF_ENQUEUEIORS)) @@ -527,14 +518,39 @@ r->curdev = nextdev; IOR_DONE (r->curdev->device_ptr, r); - if (ior_get_flags(r) & IORF_TODESTOY){ - ior_destroy_async (r); - return; + ior_lock (r); + if (r->state & IORS_PAUSED){ + r->state ^= IORS_OWNED; + ior_unlock (r); + return(); } - + ior_unlock (r); + if ((nextdev = TAILQ_PREV(r->curdev, devicelink_list, link)) && (device_get_flags(nextdev->device_ptr) & DF_ENQUEUEIORS)) break; } ior_enqueue_adv (r, r->queue_id); } + +void +ior_pause (ior_t r){ + r->state |= IORS_PAUSED; +} + +void +ior_resume (ior_t r){ + ior_lock (r); + if (r->state & IORS_OWNED){ + r->state ^= IORS_PAUSED; + ior_unlock (r); + } else { + ior_unlock (r); + ior_enqueue(r); + } +} + +void +ior_set_priority (ior_t r, int prio){ + r->queue_id = prio; +} ==== //depot/projects/soc2007/thioretic_gidl2/sys/bus.h#10 (text+ko) ==== @@ -713,7 +713,7 @@ bus_space_write_region_stream_8(rman_get_bustag(r), rman_get_bushandle(r), (o), (d), (c)) /** - * event support functions + * EVENTS SUPPORT API */ #define EV_ATTACH 0 #define EV_DETACH 1 @@ -727,11 +727,11 @@ #define REL_CHILD (1<<29) #define REL_PARENT (1<<30) #define EVP_ENQALWAYS (1<<31) -/** - * event_pref array is an array of event settings. - * includes: - * what devices should receive the event (children and/or parents) - * what enqueued events should be dequeued +/* + event_pref array is an array of event settings. + includes: + what devices should receive the event (children and/or parents) + what enqueued events should be dequeued */ uint32_t event_pref[32] = @@ -743,24 +743,40 @@ REL_CHILD | REL_PARENT, /* EV_SHUTDOWN */ /* TODO */ }; -#define IOR_QUEUES_NUM 1 -#define IOR_QUEUE_DEF 0 + +/** + * BUS IO SUBSYSTEM API + */ struct ior; typedef struct ior* ior_t; +/* + ior_create() and ior_destroy() should be used by origin device + */ ior_t ior_create (device_t origin, int type, void* data, - ior_t *parents, int pcount, char* path, - int enqueue, int queue_id); + ior_t *parents, int pcount, char* path, int prio); int ior_destroy (ior_t r); void ior_set_flags (ior_t r, u_int32_t val); void ior_add_flags (ior_t r, u_int32_t val); u_int32_t ior_get_flags (ior_t r); -int ior_set_path (ior_t r, device_t origin, char* path); -int ior_get_path (ior_t r, device_t** dev_path, int* path_len); -void ior_enqueue_adv (ior_t r, int queue_id); -void ior_enqueue (ior_t r); -int ior_dequeue (ior_t r); +int ior_get_path (ior_t r, device_t** dev_path, int* path_len); +/* + ior_pause() and ior_resume() should be used to revoke an ior + from bus io subsystem for delayed processing so that we don't need + to make a working thread to sleep. + ior_pause() should be called JUST within ior_do() and ior_done() + functions + */ +void ior_pause (ior_t r); +void ior_resume (ior_t r); +/* + ior_complete() is to be used by non-endpoint devices to stop an ior processing. + The ior flags are set to >= IORF_DONE. + */ +int ior_complete (ior_t r, u_int32_t flags); +void ior_set_priority (ior_t r, int prio); +#define IOR_PRIO_DEF 0 #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Wed Feb 13 23:02:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCF6616A50F; Wed, 13 Feb 2008 23:02:13 +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 A18E316A4F4 for ; Wed, 13 Feb 2008 23:02:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8E99913C461 for ; Wed, 13 Feb 2008 23:02:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1DN2DOh055697 for ; Wed, 13 Feb 2008 23:02:13 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1DN2D9d055694 for perforce@freebsd.org; Wed, 13 Feb 2008 23:02:13 GMT (envelope-from jhb@freebsd.org) Date: Wed, 13 Feb 2008 23:02:13 GMT Message-Id: <200802132302.m1DN2D9d055694@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 23:02:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=135352 Change 135352 by jhb@jhb_mutex on 2008/02/13 23:01:15 Add missing assertions and KTR logging to thread_lock(). This is why I wasn't getting assertion failures when thread_lock() recursed on a non-recursive spin mutex. Affected files ... .. //depot/projects/smpng/sys/kern/kern_mutex.c#151 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_mutex.c#151 (text+ko) ==== @@ -498,7 +498,6 @@ int i, contested; uint64_t waittime; - contested = i = 0; waittime = 0; tid = (uintptr_t)curthread; @@ -506,6 +505,15 @@ retry: spinlock_enter(); m = td->td_lock; + KASSERT(m->mtx_lock != MTX_DESTROYED, + ("thread_lock() of destroyed mutex @ %s:%d", file, line)); + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + ("thread_lock() of sleep mutex %s @ %s:%d", + m->lock_object.lo_name, file, line)); + if (mtx_owned(m)) + KASSERT((m->lock_object.lo_flags & LO_RECURSABLE) != 0, + ("thread_lock: recursed on non-recursive mutex %s @ %s:%d\n", + m->lock_object.lo_name, file, line)); WITNESS_CHECKORDER(&m->lock_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE, file, line); while (!_obtain_lock(m, tid)) { @@ -538,6 +546,8 @@ if (m->mtx_recurse == 0) lock_profile_obtain_lock_success(&m->lock_object, contested, waittime, (file), (line)); + LOCK_LOG_LOCK("LOCK", &m->lock_object, opts, m->mtx_recurse, file, + line); WITNESS_LOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); } From owner-p4-projects@FreeBSD.ORG Wed Feb 13 23:38:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A86DA16A480; Wed, 13 Feb 2008 23:38:11 +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 658F616A477 for ; Wed, 13 Feb 2008 23:38:11 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.155]) by mx1.freebsd.org (Postfix) with ESMTP id E05E113C4DD for ; Wed, 13 Feb 2008 23:38:10 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: by fg-out-1718.google.com with SMTP id 16so127657fgg.35 for ; Wed, 13 Feb 2008 15:38:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=fXI54GXs3qXDtRk5YeAgaUHltAiJjNynOOcqwREDlaQ=; b=ADbCLTN8W9YhuX+TtQA0vLa0IiELO5NNSi2TrO9g83F8lu3Zy1CR6+f0F4/SeglfCvMrwxFMEyh2bT77Sl0CipJ5BNBAlSgbykLDTAJTb7ok61BlNWSg2yjBvwAR55VcYlQGgkvx/xAUHGb4lIbcsjTBDu9wmNckRSaoJd8sTbU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=D3XVWxGJzWOh4EUq9vor+nGsONJ/ybp/zUPpTptRpxAkTj6FyUaV79CYrnfVpyXlzgFQPylkpHbDtlm/LUDJmJSxodCrBVEWiauprE2hsZpG2Qi4IvpgvAX+OoNhiRjvzrXE2O/yMjz8zT01wa02qICp3PTbfXbwimtj8WiI9Bg= Received: by 10.86.70.8 with SMTP id s8mr506978fga.29.1202944209325; Wed, 13 Feb 2008 15:10:09 -0800 (PST) Received: by 10.86.30.17 with HTTP; Wed, 13 Feb 2008 15:10:09 -0800 (PST) Message-ID: <3bbf2fe10802131510h400d0777yd758bfbaf780f895@mail.gmail.com> Date: Thu, 14 Feb 2008 00:10:09 +0100 From: "Attilio Rao" Sender: asmrookie@gmail.com To: "John Baldwin" In-Reply-To: <200802132302.m1DN2D9d055694@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200802132302.m1DN2D9d055694@repoman.freebsd.org> X-Google-Sender-Auth: 21c0fc529d6a4f08 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2008 23:38:12 -0000 2008/2/14, John Baldwin : > http://perforce.freebsd.org/chv.cgi?CH=135352 > > Change 135352 by jhb@jhb_mutex on 2008/02/13 23:01:15 > > Add missing assertions and KTR logging to thread_lock(). This is > why I wasn't getting assertion failures when thread_lock() recursed > on a non-recursive spin mutex. > > Affected files ... > > .. //depot/projects/smpng/sys/kern/kern_mutex.c#151 edit > > Differences ... > > ==== //depot/projects/smpng/sys/kern/kern_mutex.c#151 (text+ko) ==== > > @@ -498,7 +498,6 @@ > int i, contested; > uint64_t waittime; > > - > contested = i = 0; > waittime = 0; > tid = (uintptr_t)curthread; > @@ -506,6 +505,15 @@ > retry: > spinlock_enter(); > m = td->td_lock; > + KASSERT(m->mtx_lock != MTX_DESTROYED, > + ("thread_lock() of destroyed mutex @ %s:%d", file, line)); > + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, > + ("thread_lock() of sleep mutex %s @ %s:%d", > + m->lock_object.lo_name, file, line)); > + if (mtx_owned(m)) > + KASSERT((m->lock_object.lo_flags & LO_RECURSABLE) != 0, > + ("thread_lock: recursed on non-recursive mutex %s @ %s:%d\n", > + m->lock_object.lo_name, file, line)); > WITNESS_CHECKORDER(&m->lock_object, Wouldn't be better to check against LC_SPINLOCK for the lock class? Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-p4-projects@FreeBSD.ORG Thu Feb 14 04:24:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9572116A41B; Thu, 14 Feb 2008 04:24:05 +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 409D016A419 for ; Thu, 14 Feb 2008 04:24:05 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 230BF13C442 for ; Thu, 14 Feb 2008 04:24:05 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1E4O4Vx091217 for ; Thu, 14 Feb 2008 04:24:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1E4NoWS091210 for perforce@freebsd.org; Thu, 14 Feb 2008 04:23:50 GMT (envelope-from marcel@freebsd.org) Date: Thu, 14 Feb 2008 04:23:50 GMT Message-Id: <200802140423.m1E4NoWS091210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135362 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 04:24:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=135362 Change 135362 by marcel@marcel_xcllnt on 2008/02/14 04:23:40 IFC @135360 Affected files ... .. //depot/projects/e500/LOCKS#2 integrate .. //depot/projects/e500/MAINTAINERS#3 integrate .. //depot/projects/e500/Makefile#5 integrate .. //depot/projects/e500/Makefile.inc1#8 integrate .. //depot/projects/e500/ObsoleteFiles.inc#8 integrate .. //depot/projects/e500/UPDATING#7 integrate .. //depot/projects/e500/bin/date/date.c#2 integrate .. //depot/projects/e500/contrib/binutils/libiberty/cp-demangle.c#2 integrate .. //depot/projects/e500/contrib/file/FREEBSD-upgrade#3 integrate .. //depot/projects/e500/contrib/file/Magdir/bFLT#2 delete .. //depot/projects/e500/contrib/file/Magdir/chi#2 delete .. //depot/projects/e500/contrib/file/Magdir/cvs#2 delete .. //depot/projects/e500/contrib/file/Magdir/hdf#2 delete .. //depot/projects/e500/contrib/file/Magdir/impulse#2 delete .. //depot/projects/e500/contrib/file/Magdir/wordperfect#2 delete .. //depot/projects/e500/contrib/file/acconfig.h#2 delete .. //depot/projects/e500/contrib/file/magic.c#4 integrate .. //depot/projects/e500/contrib/file/missing#2 delete .. //depot/projects/e500/contrib/file/stamp-h.in#2 delete .. //depot/projects/e500/contrib/libiberty/cp-demangle.c#2 delete .. //depot/projects/e500/contrib/ncurses/FREEBSD-upgrade#3 integrate .. //depot/projects/e500/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/e500/contrib/ncurses/MANIFEST#3 integrate .. //depot/projects/e500/contrib/ncurses/NEWS#3 integrate .. //depot/projects/e500/contrib/ncurses/dist.mk#3 integrate .. //depot/projects/e500/contrib/ncurses/form/frm_driver.c#3 integrate .. //depot/projects/e500/contrib/ncurses/include/curses.h.in#3 integrate .. //depot/projects/e500/contrib/ncurses/include/ncurses_defs#3 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_clear.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/e500/contrib/ncurses/man/man_db.renames#3 integrate .. //depot/projects/e500/contrib/ncurses/man/manlinks.sed#2 integrate .. //depot/projects/e500/contrib/ncurses/man/toe.1m#3 integrate .. //depot/projects/e500/contrib/ncurses/misc/terminfo.src#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/MKlib_gen.sh#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/MKunctrl.awk#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_addch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_getch.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_insch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_newterm.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_newwin.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_set_term.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_slk.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_slkclear.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_slkinit.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/resizeterm.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/curses.priv.h#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_data.c#3 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_setup.c#3 integrate .. //depot/projects/e500/contrib/ncurses/progs/infocmp.c#3 integrate .. //depot/projects/e500/contrib/ncurses/progs/toe.c#3 integrate .. //depot/projects/e500/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/e500/contrib/openpam/include/security/openpam_version.h#3 integrate .. //depot/projects/e500/contrib/pf/man/pf.conf.5#5 integrate .. //depot/projects/e500/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/e500/crypto/openssh/FREEBSD-upgrade#2 integrate .. //depot/projects/e500/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/e500/etc/defaults/rc.conf#6 integrate .. //depot/projects/e500/etc/devd.conf#3 integrate .. //depot/projects/e500/etc/namedb/named.root#3 integrate .. //depot/projects/e500/etc/netstart#2 integrate .. //depot/projects/e500/etc/periodic/security/100.chksetuid#3 integrate .. //depot/projects/e500/etc/rc#2 integrate .. //depot/projects/e500/etc/rc.d/dhclient#3 integrate .. //depot/projects/e500/etc/rc.d/hostid#3 integrate .. //depot/projects/e500/etc/rc.d/ipfw#2 integrate .. //depot/projects/e500/etc/rc.d/kerberos#4 integrate .. //depot/projects/e500/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/e500/etc/rc.d/netif#3 integrate .. //depot/projects/e500/etc/rc.d/ppp#3 integrate .. //depot/projects/e500/etc/rc.firewall#3 integrate .. //depot/projects/e500/etc/rc.subr#5 integrate .. //depot/projects/e500/gnu/lib/csu/Makefile#4 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/Makefile#2 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/kgdb.h#5 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/kld.c#1 branch .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/kthr.c#4 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/main.c#3 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/trgt.c#3 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/trgt_i386.c#3 integrate .. //depot/projects/e500/include/fts.h#2 integrate .. //depot/projects/e500/include/pthread_np.h#4 integrate .. //depot/projects/e500/include/unistd.h#3 integrate .. //depot/projects/e500/lib/libarchive/Makefile#5 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_tar.c#7 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_ar.c#4 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_cpio_newc.c#3 integrate .. //depot/projects/e500/lib/libarchive/test/Makefile#5 integrate .. //depot/projects/e500/lib/libarchive/test/test_compat_tar_hardlink.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_write_disk.c#6 integrate .. //depot/projects/e500/lib/libarchive/test/test_write_format_cpio_newc.c#2 integrate .. //depot/projects/e500/lib/libc/gen/Makefile.inc#5 integrate .. //depot/projects/e500/lib/libc/gen/Symbol.map#4 integrate .. //depot/projects/e500/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/e500/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/e500/lib/libc/gen/fts.3#2 integrate .. //depot/projects/e500/lib/libc/gen/fts.c#2 integrate .. //depot/projects/e500/lib/libc/include/namespace.h#2 integrate .. //depot/projects/e500/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/e500/lib/libc/locale/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libc/locale/ascii.c#1 branch .. //depot/projects/e500/lib/libc/locale/mblocal.h#3 integrate .. //depot/projects/e500/lib/libc/locale/setrunelocale.c#3 integrate .. //depot/projects/e500/lib/libc/net/getaddrinfo.c#3 integrate .. //depot/projects/e500/lib/libc/stdlib/malloc.3#5 integrate .. //depot/projects/e500/lib/libc/stdlib/malloc.c#7 integrate .. //depot/projects/e500/lib/libc/sys/access.2#4 integrate .. //depot/projects/e500/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/e500/lib/libc/sys/flock.2#2 integrate .. //depot/projects/e500/lib/libc/sys/readlink.2#2 integrate .. //depot/projects/e500/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/e500/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/e500/lib/libelf/gelf_fsize.3#2 integrate .. //depot/projects/e500/lib/libfetch/common.c#4 integrate .. //depot/projects/e500/lib/libfetch/fetch.3#4 integrate .. //depot/projects/e500/lib/libfetch/ftp.c#4 integrate .. //depot/projects/e500/lib/libfetch/http.c#5 integrate .. //depot/projects/e500/lib/libkse/Makefile#3 integrate .. //depot/projects/e500/lib/libkse/kse.map#3 integrate .. //depot/projects/e500/lib/libkse/sys/lock.c#3 integrate .. //depot/projects/e500/lib/libkse/thread/thr_mutex.c#4 integrate .. //depot/projects/e500/lib/libpmc/pmc.3#3 integrate .. //depot/projects/e500/lib/librpcsvc/Makefile#2 integrate .. //depot/projects/e500/lib/librpcsvc/xcrypt.c#2 integrate .. //depot/projects/e500/lib/libthr/Makefile#7 integrate .. //depot/projects/e500/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/e500/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/ia64/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/projects/e500/lib/libthr/pthread.map#6 integrate .. //depot/projects/e500/lib/libthr/thread/thr_mutex.c#6 integrate .. //depot/projects/e500/lib/msun/Makefile#7 integrate .. //depot/projects/e500/lib/msun/amd64/Makefile.inc#4 integrate .. //depot/projects/e500/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/e500/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/e500/lib/msun/ld128/s_exp2l.c#2 integrate .. //depot/projects/e500/lib/msun/ld80/s_exp2l.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_exp.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_expf.c#3 integrate .. //depot/projects/e500/lib/msun/src/e_remainder.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/e500/lib/msun/src/k_cos.c#2 integrate .. //depot/projects/e500/lib/msun/src/k_rem_pio2.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_ceill.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_exp2.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_exp2f.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_floorl.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_log1pf.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_logb.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/e500/lib/ncurses/ncurses/Makefile#6 integrate .. //depot/projects/e500/lib/ncurses/ncurses/ncurses_cfg.h#3 integrate .. //depot/projects/e500/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/doc/en_US.ISO8859-1/hardware/article.sgml#7 integrate .. //depot/projects/e500/release/doc/share/misc/dev.archlist.txt#6 integrate .. //depot/projects/e500/release/fixit.profile#3 integrate .. //depot/projects/e500/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/e500/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/e500/sbin/dhclient/dhclient-script#3 integrate .. //depot/projects/e500/sbin/ffsinfo/ffsinfo.c#2 integrate .. //depot/projects/e500/sbin/fsck_msdosfs/boot.c#3 integrate .. //depot/projects/e500/sbin/fsck_msdosfs/fat.c#2 integrate .. //depot/projects/e500/sbin/geom/core/geom.8#3 integrate .. //depot/projects/e500/sbin/geom/core/geom.c#5 integrate .. //depot/projects/e500/sbin/gpt/gpt.8#3 integrate .. //depot/projects/e500/sbin/gpt/gpt.c#3 integrate .. //depot/projects/e500/sbin/gpt/migrate.c#2 integrate .. //depot/projects/e500/sbin/gpt/show.c#3 integrate .. //depot/projects/e500/sbin/ifconfig/ifieee80211.c#4 integrate .. //depot/projects/e500/sbin/ipfw/ipfw.8#5 integrate .. //depot/projects/e500/sbin/ipfw/ipfw2.c#7 integrate .. //depot/projects/e500/sbin/iscontrol/misc.c#2 integrate .. //depot/projects/e500/sbin/md5/md5.c#2 integrate .. //depot/projects/e500/sbin/mount/mount.c#3 integrate .. //depot/projects/e500/sbin/mount_nfs/mount_nfs.8#2 integrate .. //depot/projects/e500/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/e500/sbin/natd/natd.8#4 integrate .. //depot/projects/e500/sbin/quotacheck/Makefile#2 integrate .. //depot/projects/e500/sbin/quotacheck/preen.c#3 integrate .. //depot/projects/e500/sbin/quotacheck/quotacheck.8#2 integrate .. //depot/projects/e500/sbin/quotacheck/quotacheck.c#4 integrate .. //depot/projects/e500/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/e500/share/colldef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/e500/share/man/man4/Makefile#10 integrate .. //depot/projects/e500/share/man/man4/ath.4#3 integrate .. //depot/projects/e500/share/man/man4/atkbd.4#2 integrate .. //depot/projects/e500/share/man/man4/awi.4#2 integrate .. //depot/projects/e500/share/man/man4/axe.4#4 integrate .. //depot/projects/e500/share/man/man4/ciss.4#2 integrate .. //depot/projects/e500/share/man/man4/coda.4#1 branch .. //depot/projects/e500/share/man/man4/dcons.4#2 integrate .. //depot/projects/e500/share/man/man4/ed.4#3 integrate .. //depot/projects/e500/share/man/man4/geom_lvm.4#1 branch .. //depot/projects/e500/share/man/man4/hptiop.4#2 integrate .. //depot/projects/e500/share/man/man4/hptrr.4#2 integrate .. //depot/projects/e500/share/man/man4/man4.i386/snc.4#2 integrate .. //depot/projects/e500/share/man/man4/mxge.4#3 integrate .. //depot/projects/e500/share/man/man4/oldcard.4#2 delete .. //depot/projects/e500/share/man/man4/puc.4#2 integrate .. //depot/projects/e500/share/man/man4/rr232x.4#2 delete .. //depot/projects/e500/share/man/man4/sched_4bsd.4#3 integrate .. //depot/projects/e500/share/man/man4/sched_ule.4#3 integrate .. //depot/projects/e500/share/man/man4/sf.4#2 integrate .. //depot/projects/e500/share/man/man4/syncache.4#3 integrate .. //depot/projects/e500/share/man/man4/vlan.4#3 integrate .. //depot/projects/e500/share/man/man4/wi.4#3 integrate .. //depot/projects/e500/share/man/man4/xl.4#2 integrate .. //depot/projects/e500/share/man/man5/fstab.5#3 integrate .. //depot/projects/e500/share/man/man5/rc.conf.5#7 integrate .. //depot/projects/e500/share/man/man7/ports.7#4 integrate .. //depot/projects/e500/share/man/man9/BUF_ISLOCKED.9#1 branch .. //depot/projects/e500/share/man/man9/BUF_RECURSED.9#1 branch .. //depot/projects/e500/share/man/man9/BUF_REFCNT.9#2 delete .. //depot/projects/e500/share/man/man9/Makefile#5 integrate .. //depot/projects/e500/share/man/man9/lock.9#4 integrate .. //depot/projects/e500/share/man/man9/mbuf.9#2 integrate .. //depot/projects/e500/share/man/man9/style.9#3 integrate .. //depot/projects/e500/share/misc/committers-src.dot#6 integrate .. //depot/projects/e500/share/mk/bsd.dep.mk#2 integrate .. //depot/projects/e500/share/mk/bsd.own.mk#8 integrate .. //depot/projects/e500/share/mklocale/la_LN.US-ASCII.src#2 integrate .. //depot/projects/e500/share/msgdef/Makefile#2 integrate .. //depot/projects/e500/share/msgdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/e500/share/msgdef/ko_KR.eucKR.src#2 integrate .. //depot/projects/e500/sys/Makefile#3 integrate .. //depot/projects/e500/sys/amd64/acpica/madt.c#3 integrate .. //depot/projects/e500/sys/amd64/amd64/busdma_machdep.c#5 integrate .. //depot/projects/e500/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/e500/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/e500/sys/amd64/conf/GENERIC#10 integrate .. //depot/projects/e500/sys/amd64/conf/NOTES#7 integrate .. //depot/projects/e500/sys/amd64/include/proc.h#2 integrate .. //depot/projects/e500/sys/amd64/include/specialreg.h#5 integrate .. //depot/projects/e500/sys/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/e500/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/arm/arm/genassym.c#4 integrate .. //depot/projects/e500/sys/arm/arm/locore.S#3 integrate .. //depot/projects/e500/sys/arm/arm/pmap.c#8 integrate .. //depot/projects/e500/sys/arm/arm/swtch.S#4 integrate .. //depot/projects/e500/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/e500/sys/arm/include/atomic.h#3 integrate .. //depot/projects/e500/sys/arm/include/pmap.h#4 integrate .. //depot/projects/e500/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/e500/sys/boot/ofw/libofw/ofw_console.c#3 integrate .. //depot/projects/e500/sys/boot/powerpc/ofw/Makefile#6 integrate .. //depot/projects/e500/sys/boot/powerpc/ofw/conf.c#4 integrate .. //depot/projects/e500/sys/cam/cam_periph.c#3 integrate .. //depot/projects/e500/sys/cam/cam_xpt.c#8 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/e500/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/e500/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/e500/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/e500/sys/compat/opensolaris/sys/kmem.h#3 integrate .. //depot/projects/e500/sys/conf/Makefile.arm#4 integrate .. //depot/projects/e500/sys/conf/NOTES#11 integrate .. //depot/projects/e500/sys/conf/files#12 integrate .. //depot/projects/e500/sys/conf/files.amd64#7 integrate .. //depot/projects/e500/sys/conf/files.i386#8 integrate .. //depot/projects/e500/sys/conf/files.powerpc#14 integrate .. //depot/projects/e500/sys/conf/files.sparc64#4 integrate .. //depot/projects/e500/sys/conf/kern.post.mk#2 integrate .. //depot/projects/e500/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/e500/sys/conf/options#10 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/e500/sys/ddb/db_capture.c#2 integrate .. //depot/projects/e500/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/e500/sys/dev/acpica/acpi.c#6 integrate .. //depot/projects/e500/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/e500/sys/dev/amr/amr.c#3 integrate .. //depot/projects/e500/sys/dev/amr/amrreg.h#2 integrate .. //depot/projects/e500/sys/dev/amr/amrvar.h#3 integrate .. //depot/projects/e500/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/e500/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/e500/sys/dev/ciss/ciss.c#7 integrate .. //depot/projects/e500/sys/dev/cxgb/cxgb_sge.c#8 integrate .. //depot/projects/e500/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/e500/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/e500/sys/dev/hatm/if_hatm_intr.c#3 integrate .. //depot/projects/e500/sys/dev/hptiop/hptiop.c#3 integrate .. //depot/projects/e500/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/e500/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_osm_bsd.c#3 integrate .. //depot/projects/e500/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/e500/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/e500/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/e500/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/e500/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/e500/sys/dev/mfi/mfi.c#6 integrate .. //depot/projects/e500/sys/dev/mfi/mfireg.h#4 integrate .. //depot/projects/e500/sys/dev/mii/amphy.c#3 integrate .. //depot/projects/e500/sys/dev/mii/miidevs#7 integrate .. //depot/projects/e500/sys/dev/mii/nsphy.c#3 integrate .. //depot/projects/e500/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/e500/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/e500/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/e500/sys/dev/mxge/if_mxge.c#8 integrate .. //depot/projects/e500/sys/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/e500/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/e500/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/e500/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/e500/sys/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/e500/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/e500/sys/dev/pci/pci.c#6 integrate .. //depot/projects/e500/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/e500/sys/dev/ral/rt2560reg.h#3 integrate .. //depot/projects/e500/sys/dev/ral/rt2560var.h#3 integrate .. //depot/projects/e500/sys/dev/rr232x/LICENSE#2 delete .. //depot/projects/e500/sys/dev/rr232x/README#2 delete .. //depot/projects/e500/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/e500/sys/dev/rr232x/array.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/him.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/hptintf.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/e500/sys/dev/rr232x/ldm.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/list.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/e500/sys/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/osm.h#2 delete .. //depot/projects/e500/sys/dev/rr232x/osm_bsd.c#3 delete .. //depot/projects/e500/sys/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/e500/sys/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/e500/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/e500/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/e500/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/e500/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/e500/sys/dev/sk/if_sk.c#5 integrate .. //depot/projects/e500/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/e500/sys/dev/syscons/syscons.c#5 integrate .. //depot/projects/e500/sys/dev/syscons/syscons.h#4 integrate .. //depot/projects/e500/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/e500/sys/dev/twe/twe.c#2 integrate .. //depot/projects/e500/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/e500/sys/dev/usb/if_udav.c#6 integrate .. //depot/projects/e500/sys/dev/usb/uark.c#4 integrate .. //depot/projects/e500/sys/dev/usb/uftdi.c#4 integrate .. //depot/projects/e500/sys/dev/usb/uftdireg.h#2 integrate .. //depot/projects/e500/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/e500/sys/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/e500/sys/fs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/e500/sys/fs/coda/cnode.h#3 integrate .. //depot/projects/e500/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_kernel.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_namecache.c#2 delete .. //depot/projects/e500/sys/fs/coda/coda_namecache.h#3 delete .. //depot/projects/e500/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/e500/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_subr.c#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_venus.c#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_vfsops.c#4 integrate .. //depot/projects/e500/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/e500/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/e500/sys/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/e500/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/e500/sys/fs/hpfs/hpfs_subr.h#3 integrate .. //depot/projects/e500/sys/fs/hpfs/hpfs_vfsops.c#4 integrate .. //depot/projects/e500/sys/fs/msdosfs/msdosfs_denode.c#4 integrate .. //depot/projects/e500/sys/fs/ntfs/ntfs_subr.c#3 integrate .. //depot/projects/e500/sys/fs/nullfs/null_vfsops.c#5 integrate .. //depot/projects/e500/sys/fs/nullfs/null_vnops.c#6 integrate .. //depot/projects/e500/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/e500/sys/fs/smbfs/smbfs_node.c#4 integrate .. //depot/projects/e500/sys/fs/udf/udf_vfsops.c#5 integrate .. //depot/projects/e500/sys/fs/unionfs/union_subr.c#6 integrate .. //depot/projects/e500/sys/geom/lvm/g_lvm.c#1 branch .. //depot/projects/e500/sys/geom/lvm/g_lvm.h#1 branch .. //depot/projects/e500/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/e500/sys/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/e500/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#3 integrate .. //depot/projects/e500/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/e500/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/e500/sys/i386/conf/NOTES#7 integrate .. //depot/projects/e500/sys/i386/i386/busdma_machdep.c#6 integrate .. //depot/projects/e500/sys/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/i386/i386/geode.c#3 integrate .. //depot/projects/e500/sys/i386/i386/minidump_machdep.c#2 integrate .. //depot/projects/e500/sys/i386/include/proc.h#3 integrate .. //depot/projects/e500/sys/i386/linux/linux_machdep.c#6 integrate .. //depot/projects/e500/sys/ia64/ia64/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/ia64/ia64/locore.S#3 integrate .. //depot/projects/e500/sys/ia64/ia64/machdep.c#8 integrate .. //depot/projects/e500/sys/ia64/include/md_var.h#3 integrate .. //depot/projects/e500/sys/kern/init_sysent.c#4 integrate .. //depot/projects/e500/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/e500/sys/kern/kern_jail.c#5 integrate .. //depot/projects/e500/sys/kern/kern_lock.c#5 integrate .. //depot/projects/e500/sys/kern/kern_mbuf.c#6 integrate .. //depot/projects/e500/sys/kern/kern_module.c#3 integrate .. //depot/projects/e500/sys/kern/kern_mutex.c#7 integrate .. //depot/projects/e500/sys/kern/kern_rwlock.c#8 integrate .. //depot/projects/e500/sys/kern/kern_shutdown.c#6 integrate .. //depot/projects/e500/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/e500/sys/kern/sched_ule.c#8 integrate .. //depot/projects/e500/sys/kern/subr_bus.c#6 integrate .. //depot/projects/e500/sys/kern/subr_lock.c#8 integrate .. //depot/projects/e500/sys/kern/subr_sleepqueue.c#7 integrate .. //depot/projects/e500/sys/kern/subr_turnstile.c#6 integrate .. //depot/projects/e500/sys/kern/syscalls.c#4 integrate .. //depot/projects/e500/sys/kern/syscalls.master#5 integrate .. //depot/projects/e500/sys/kern/systrace_args.c#4 integrate .. //depot/projects/e500/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/e500/sys/kern/tty_pty.c#5 integrate .. //depot/projects/e500/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/e500/sys/kern/uipc_mbuf.c#5 integrate .. //depot/projects/e500/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/e500/sys/kern/uipc_sockbuf.c#6 integrate .. //depot/projects/e500/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/e500/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/e500/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/e500/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/e500/sys/kern/vfs_default.c#4 integrate .. //depot/projects/e500/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/e500/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/e500/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/e500/sys/modules/Makefile#8 integrate .. //depot/projects/e500/sys/modules/coda/Makefile#3 integrate .. //depot/projects/e500/sys/modules/coda5/Makefile#3 integrate .. //depot/projects/e500/sys/modules/cxgb/cxgb/Makefile#4 integrate .. //depot/projects/e500/sys/modules/geom/Makefile#3 integrate .. //depot/projects/e500/sys/modules/geom/geom_lvm/Makefile#1 branch .. //depot/projects/e500/sys/modules/mii/Makefile#3 integrate .. //depot/projects/e500/sys/modules/rr232x/Makefile#2 delete .. //depot/projects/e500/sys/modules/sf/Makefile#2 integrate .. //depot/projects/e500/sys/net/bpf.c#7 integrate .. //depot/projects/e500/sys/net/route.c#8 integrate .. //depot/projects/e500/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/e500/sys/net80211/ieee80211_ht.h#4 integrate .. //depot/projects/e500/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/e500/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/e500/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/e500/sys/netgraph/netgraph.h#5 integrate .. //depot/projects/e500/sys/netgraph/ng_base.c#8 integrate .. //depot/projects/e500/sys/netgraph/ng_bpf.c#3 integrate .. //depot/projects/e500/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/e500/sys/netgraph/ng_ppp.c#5 integrate .. //depot/projects/e500/sys/netgraph/ng_pppoe.c#4 integrate .. //depot/projects/e500/sys/netgraph/ng_pred1.c#2 integrate .. //depot/projects/e500/sys/netgraph/ng_tee.c#2 integrate .. //depot/projects/e500/sys/netinet/in.c#6 integrate .. //depot/projects/e500/sys/netinet/in_rmx.c#4 integrate .. //depot/projects/e500/sys/netinet/ip_carp.c#5 integrate .. //depot/projects/e500/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/e500/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/e500/sys/netinet/ip_id.c#4 integrate .. //depot/projects/e500/sys/netinet/ip_options.c#5 integrate .. //depot/projects/e500/sys/netinet/ip_output.c#6 integrate .. //depot/projects/e500/sys/netinet/sctp_auth.c#7 integrate .. //depot/projects/e500/sys/netinet/sctp_bsd_addr.c#6 integrate .. //depot/projects/e500/sys/netinet/sctp_indata.c#8 integrate .. //depot/projects/e500/sys/netinet/sctp_input.c#7 integrate .. //depot/projects/e500/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/e500/sys/netinet/sctp_peeloff.c#6 integrate .. //depot/projects/e500/sys/netinet/sctputil.c#8 integrate .. //depot/projects/e500/sys/netinet/tcp_usrreq.c#8 integrate .. //depot/projects/e500/sys/netinet6/in6.c#7 integrate .. //depot/projects/e500/sys/netinet6/in6_src.c#5 integrate .. //depot/projects/e500/sys/netinet6/ip6_output.c#5 integrate .. //depot/projects/e500/sys/netinet6/ip6_var.h#5 integrate .. //depot/projects/e500/sys/netinet6/raw_ip6.c#6 integrate .. //depot/projects/e500/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/e500/sys/netipsec/ipsec.c#5 integrate .. //depot/projects/e500/sys/netipsec/ipsec.h#4 integrate .. //depot/projects/e500/sys/netipsec/ipsec6.h#3 integrate .. //depot/projects/e500/sys/netncp/ncp_conn.c#3 integrate .. //depot/projects/e500/sys/netsmb/smb_conn.c#2 integrate .. //depot/projects/e500/sys/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/e500/sys/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/e500/sys/nfs4client/nfs4_vnops.c#4 integrate .. //depot/projects/e500/sys/nfsclient/nfs_bio.c#7 integrate .. //depot/projects/e500/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/e500/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/e500/sys/nfsclient/nfs_socket.c#6 integrate .. //depot/projects/e500/sys/nfsclient/nfs_subs.c#5 integrate .. //depot/projects/e500/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/e500/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/e500/sys/nfsclient/nfsm_subs.h#2 integrate .. //depot/projects/e500/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/e500/sys/pci/amdsmb.c#2 integrate .. //depot/projects/e500/sys/pci/if_sf.c#3 delete .. //depot/projects/e500/sys/pci/if_sfreg.h#2 delete .. //depot/projects/e500/sys/pci/if_wb.c#3 integrate .. //depot/projects/e500/sys/pci/nfsmb.c#3 integrate .. //depot/projects/e500/sys/powerpc/aim/machdep.c#7 integrate .. //depot/projects/e500/sys/powerpc/aim/ofw_machdep.c#6 integrate .. //depot/projects/e500/sys/powerpc/conf/NOTES#6 integrate .. //depot/projects/e500/sys/powerpc/include/intr_machdep.h#4 integrate .. //depot/projects/e500/sys/powerpc/include/openpicreg.h#2 integrate .. //depot/projects/e500/sys/powerpc/include/openpicvar.h#3 integrate .. //depot/projects/e500/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/e500/sys/powerpc/powermac/hrowpic.c#3 integrate .. //depot/projects/e500/sys/powerpc/powermac/openpic_macio.c#3 integrate .. //depot/projects/e500/sys/powerpc/powerpc/intr_machdep.c#5 integrate .. //depot/projects/e500/sys/powerpc/powerpc/openpic.c#3 integrate .. //depot/projects/e500/sys/powerpc/powerpc/pic_if.m#3 integrate .. //depot/projects/e500/sys/powerpc/psim/openpic_iobus.c#3 integrate .. //depot/projects/e500/sys/security/audit/audit.c#7 integrate .. //depot/projects/e500/sys/security/mac_mls/mac_mls.c#5 integrate .. //depot/projects/e500/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/e500/sys/sparc64/include/md_var.h#2 integrate .. //depot/projects/e500/sys/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/e500/sys/sparc64/sparc64/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/sun4v/sun4v/dump_machdep.c#2 integrate .. //depot/projects/e500/sys/sys/buf.h#3 integrate .. //depot/projects/e500/sys/sys/bus.h#2 integrate .. //depot/projects/e500/sys/sys/conf.h#4 integrate .. //depot/projects/e500/sys/sys/event.h#2 integrate .. //depot/projects/e500/sys/sys/ipc.h#2 integrate .. //depot/projects/e500/sys/sys/lock.h#3 integrate .. //depot/projects/e500/sys/sys/lockmgr.h#4 integrate .. //depot/projects/e500/sys/sys/mbuf.h#5 integrate .. //depot/projects/e500/sys/sys/module.h#2 integrate .. //depot/projects/e500/sys/sys/param.h#8 integrate .. //depot/projects/e500/sys/sys/priv.h#5 integrate .. //depot/projects/e500/sys/sys/proc.h#10 integrate .. //depot/projects/e500/sys/sys/rwlock.h#4 integrate .. //depot/projects/e500/sys/sys/shm.h#2 integrate .. //depot/projects/e500/sys/sys/socket.h#5 integrate .. //depot/projects/e500/sys/sys/socketvar.h#3 integrate .. //depot/projects/e500/sys/sys/syscall.h#4 integrate .. //depot/projects/e500/sys/sys/syscall.mk#4 integrate .. //depot/projects/e500/sys/sys/syscallsubr.h#4 integrate .. //depot/projects/e500/sys/sys/sysproto.h#4 integrate .. //depot/projects/e500/sys/sys/user.h#4 integrate .. //depot/projects/e500/sys/tools/embed_mfs.sh#1 branch .. //depot/projects/e500/sys/ufs/ffs/ffs_snapshot.c#5 integrate .. //depot/projects/e500/sys/ufs/ffs/ffs_vfsops.c#5 integrate .. //depot/projects/e500/sys/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/e500/sys/ufs/ufs/ufs_extattr.c#4 integrate .. //depot/projects/e500/tools/build/Makefile#2 integrate .. //depot/projects/e500/tools/regression/netinet/ip_id_period/ip_id_period.py#1 branch .. //depot/projects/e500/tools/regression/pthread/mutex_isowned_np/Makefile#1 branch .. //depot/projects/e500/tools/regression/pthread/mutex_isowned_np/mutex_isowned_np.c#1 branch .. //depot/projects/e500/tools/regression/sockets/unix_sorflush/Makefile#1 branch .. //depot/projects/e500/tools/regression/sockets/unix_sorflush/unix_sorflush.c#1 branch .. //depot/projects/e500/tools/sched/schedgraph.py#4 integrate .. //depot/projects/e500/tools/tools/crypto/cryptostats.c#2 integrate .. //depot/projects/e500/tools/tools/crypto/cryptotest.c#2 integrate .. //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#7 integrate .. //depot/projects/e500/usr.bin/file/Makefile#2 integrate .. //depot/projects/e500/usr.bin/file/file.1#3 delete .. //depot/projects/e500/usr.bin/file/magic.5#3 delete .. //depot/projects/e500/usr.bin/fstat/Makefile#3 integrate .. //depot/projects/e500/usr.bin/fstat/zfs/Makefile#2 integrate .. //depot/projects/e500/usr.bin/gzip/znew#2 integrate .. //depot/projects/e500/usr.bin/kdump/Makefile#2 integrate .. //depot/projects/e500/usr.bin/kdump/mkioctls#3 integrate .. //depot/projects/e500/usr.bin/kdump/mksubr#2 integrate .. //depot/projects/e500/usr.bin/logger/logger.c#2 integrate .. //depot/projects/e500/usr.bin/ministat/ministat.c#2 integrate .. //depot/projects/e500/usr.bin/mklocale/mklocale.1#2 integrate .. //depot/projects/e500/usr.bin/mklocale/yacc.y#3 integrate .. //depot/projects/e500/usr.bin/mt/mt.1#2 integrate .. //depot/projects/e500/usr.bin/netstat/netstat.h#5 integrate .. //depot/projects/e500/usr.bin/netstat/route.c#4 integrate .. //depot/projects/e500/usr.bin/procstat/procstat.c#2 integrate .. //depot/projects/e500/usr.bin/procstat/procstat_basic.c#2 integrate .. //depot/projects/e500/usr.bin/procstat/procstat_files.c#2 integrate .. //depot/projects/e500/usr.bin/procstat/procstat_kstack.c#2 integrate .. //depot/projects/e500/usr.bin/procstat/procstat_threads.c#2 integrate .. //depot/projects/e500/usr.bin/procstat/procstat_vm.c#2 integrate .. //depot/projects/e500/usr.bin/sed/compile.c#3 integrate .. //depot/projects/e500/usr.bin/sed/defs.h#3 integrate .. //depot/projects/e500/usr.bin/sed/main.c#4 integrate .. //depot/projects/e500/usr.bin/sed/process.c#3 integrate .. //depot/projects/e500/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/e500/usr.bin/tar/bsdtar.c#6 integrate .. //depot/projects/e500/usr.bin/top/machine.c#6 integrate .. //depot/projects/e500/usr.bin/truss/Makefile#2 integrate .. //depot/projects/e500/usr.bin/uniq/uniq.c#3 integrate .. //depot/projects/e500/usr.bin/xargs/xargs.1#2 integrate .. //depot/projects/e500/usr.sbin/Makefile#5 integrate .. //depot/projects/e500/usr.sbin/adduser/adduser.8#3 integrate .. //depot/projects/e500/usr.sbin/adduser/adduser.sh#3 integrate .. //depot/projects/e500/usr.sbin/bootparamd/Makefile#2 integrate .. //depot/projects/e500/usr.sbin/bootparamd/Makefile.inc#2 integrate .. //depot/projects/e500/usr.sbin/bootparamd/bootparamd/bootparamd.c#3 integrate .. //depot/projects/e500/usr.sbin/bootparamd/bootparamd/main.c#3 integrate .. //depot/projects/e500/usr.sbin/iostat/iostat.c#6 integrate .. //depot/projects/e500/usr.sbin/kbdcontrol/kbdcontrol.1#2 integrate .. //depot/projects/e500/usr.sbin/kbdcontrol/kbdmap.5#2 integrate .. //depot/projects/e500/usr.sbin/newsyslog/newsyslog.c#2 integrate .. //depot/projects/e500/usr.sbin/ofwdump/Makefile#2 integrate .. //depot/projects/e500/usr.sbin/ofwdump/ofwdump.8#2 integrate .. //depot/projects/e500/usr.sbin/pkg_install/add/pkg_add.1#4 integrate .. //depot/projects/e500/usr.sbin/portsnap/phttpget/phttpget.c#3 integrate .. //depot/projects/e500/usr.sbin/pw/pw.8#2 integrate .. //depot/projects/e500/usr.sbin/setfmac/setfmac.c#2 integrate .. //depot/projects/e500/usr.sbin/sysinstall/disks.c#2 integrate .. //depot/projects/e500/usr.sbin/sysinstall/menus.c#6 integrate .. //depot/projects/e500/usr.sbin/timed/timed/timed.8#3 integrate .. //depot/projects/e500/usr.sbin/traceroute6/traceroute6.8#2 integrate .. //depot/projects/e500/usr.sbin/traceroute6/traceroute6.c#4 integrate .. //depot/projects/e500/usr.sbin/watch/watch.c#2 integrate .. //depot/projects/e500/usr.sbin/ypserv/yp_main.c#2 integrate .. //depot/projects/e500/usr.sbin/ypserv/ypserv.8#2 integrate Differences ... ==== //depot/projects/e500/LOCKS#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/LOCKS,v 1.3 2006/01/13 06:51:43 ru Exp $ +$FreeBSD: src/LOCKS,v 1.4 2008/01/24 22:07:03 cperciva Exp $ This file documents formal review/approval requirements that have been approved by core. @@ -10,3 +10,4 @@ src/* RELENG_4_* Requires Security Officer approval. src/* RELENG_5_* Requires Security Officer approval. src/* RELENG_6_* Requires Security Officer approval. +src/* RELENG_7_* Requires Security Officer approval. ==== //depot/projects/e500/MAINTAINERS#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.145 2007/05/23 21:47:19 jfv Exp $ +$FreeBSD: src/MAINTAINERS,v 1.146 2008/01/26 21:58:52 brueffer Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -33,7 +33,6 @@ ahc(4) gibbs Pre-commit review requested. ahd(4) gibbs Pre-commit review requested. NEWCARD imp Pre-commit review requested. -OLDCARD imp Pre-commit review requested. pci bus imp,jhb Pre-commit review requested. cdboot jhb Pre-commit review requested. pxeboot jhb Pre-commit review requested. ==== //depot/projects/e500/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.344 2007/12/13 00:08:02 imp Exp $ +# $FreeBSD: src/Makefile,v 1.345 2008/01/30 19:33:18 jhb Exp $ # # The user-driven targets are: # @@ -75,6 +75,8 @@ # developer convenience only. They are intentionally not documented and # completely subject to change without notice. # +# For more information, see the build(7) manual page. +# TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ check-old check-old-dirs check-old-files check-old-libs \ checkdpadd clean cleandepend cleandir \ ==== //depot/projects/e500/Makefile.inc1#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.592 2008/01/16 15:05:49 brueffer Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.598 2008/02/05 15:41:58 des Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -313,8 +313,9 @@ .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These two can depend on any header file. +# XXX - These three can depend on any header file. rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c + rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ @@ -841,8 +842,8 @@ # legacy: Build compatibility shims for the next three targets # legacy: -.if ${BOOTSTRAPPING} < 503000 - @echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \ +.if ${BOOTSTRAPPING} < 600034 && ${BOOTSTRAPPING} != 0 + @echo "ERROR: Source upgrades from versions prior to 6.0 not supported."; \ false .endif .for _tool in tools/build @@ -871,26 +872,6 @@ .endif .endif -.if ${BOOTSTRAPPING} < 600029 -_texinfo= gnu/usr.bin/texinfo -.endif - -.if ${BOOTSTRAPPING} < 600015 -_cap_mkdb= usr.bin/cap_mkdb -.endif - -.if ${BOOTSTRAPPING} < 600018 -_colldef= usr.bin/colldef -.endif - -.if ${BOOTSTRAPPING} < 600017 -_gencat= usr.bin/gencat -.endif - -.if ${BOOTSTRAPPING} < 600016 -_mklocale= usr.bin/mklocale -.endif - .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -900,28 +881,23 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 600020 -_pwd_mkdb= usr.sbin/pwd_mkdb +.if ${BOOTSTRAPPING} < 800013 +_mklocale= usr.bin/mklocale .endif bootstrap-tools: .for _tool in \ + ${_mklocale} \ ${_strfile} \ ${_gperf} \ ${_groff} \ - ${_texinfo} \ - ${_cap_mkdb} \ - ${_colldef} \ - ${_gencat} \ usr.bin/lorder \ usr.bin/makewhatis \ - ${_mklocale} \ usr.bin/rpcgen \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ - ${_crunchgen} \ - ${_pwd_mkdb} + ${_crunchgen} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ==== //depot/projects/e500/ObsoleteFiles.inc#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.125 2008/01/11 13:41:31 jhb Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.130 2008/02/06 19:45:25 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080126: oldcard.4 removal +OLD_FILES+=usr/share/man/man4/card.4.gz +OLD_FILES+=usr/share/man/man4/oldcard.4.gz +# 20080122: Removed from the tree +OLD_FILES+=usr/share/man/man9/BUF_REFCNT.9.gz # 20080108: Moved to section 2 OLD_FILES+=usr/share/man/man3/shm_open.3.gz OLD_FILES+=usr/share/man/man3/shm_unlink.3.gz @@ -3940,7 +3945,9 @@ .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64" OLD_FILES+=usr/share/man/man8/boot_i386.8.gz .endif +.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "sparc64" OLD_FILES+=usr/share/man/man8/ofwdump.8.gz +.endif OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz OLD_FILES+=usr/share/man/man9/VFS_START.9.gz OLD_FILES+=usr/share/man/man9/cpu_critical_exit.9.gz ==== //depot/projects/e500/UPDATING#7 (text+ko) ==== @@ -19,7 +19,37 @@ related kernel options, INVARIANTS, malloc debugging flags in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines - to maximize performance. + to maximize performance. (To disable malloc debugging, run + ln -s aj /etc/malloc.conf.) + +20080211: + The default NFS mount mode has changed from UDP to TCP for + increased reliability. If you rely on (insecurely) NFS + mounting across a firewall you may need to update your + firewall rules. + +20080208: + Belatedly note the addition of m_collapse for compacting + mbuf chains. + +20080126: + The fts(3) structures have been changed to use adequate + integer types for their members and so to be able to cope + with huge file trees. The old fts(3) ABI is preserved + through symbol versioning in libc, so third-party binaries + using fts(3) should still work, although they will not take + advantage of the extended types. At the same time, some + third-party software might fail to build after this change + due to unportable assumptions made in its source code about + fts(3) structure members. Such software should be fixed + by its vendor or, in the worst case, in the ports tree. + FreeBSD_version 800015 marks this change for the unlikely + case that a portable fix is impossible. + +20080123: + To upgrade to -current after this date, you must be running + FreeBSD not older than 6.0-RELEASE. Upgrading to -current + from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems. 20071128: The ADAPTIVE_GIANT kernel option has been retired because its @@ -949,4 +979,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.513 2007/11/28 13:04:11 matteo Exp $ +$FreeBSD: src/UPDATING,v 1.519 2008/02/11 23:23:20 kris Exp $ ==== //depot/projects/e500/bin/date/date.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.47 2005/01/10 08:39:21 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/date/date.c,v 1.48 2008/02/07 16:04:24 ru Exp $"); #include #include @@ -186,8 +186,10 @@ const char *dot, *t; int century; + lt = localtime(&tval); + lt->tm_isdst = -1; /* divine correct DST */ + if (fmt != NULL) { - lt = localtime(&tval); t = strptime(p, fmt, lt); if (t == NULL) { fprintf(stderr, "Failed conversion of ``%s''" @@ -208,8 +210,6 @@ badformat(); } - lt = localtime(&tval); - if (dot != NULL) { /* .ss */ dot++; /* *dot++ = '\0'; */ if (strlen(dot) != 2) @@ -264,9 +264,6 @@ } } - /* Let mktime() decide whether summer time is in effect. */ - lt->tm_isdst = -1; - /* convert broken-down time to GMT clock time */ if ((tval = mktime(lt)) == -1) errx(1, "nonexistent time"); ==== //depot/projects/e500/contrib/binutils/libiberty/cp-demangle.c#2 (text+ko) ==== @@ -2396,6 +2396,8 @@ const char *s; type = cplus_demangle_type (di); + if (type == NULL) + return NULL; /* If we have a type we know how to print, we aren't going to print the type name itself. */ ==== //depot/projects/e500/contrib/file/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/file/FREEBSD-upgrade,v 1.7 2007/05/24 22:02:49 obrien Exp $ +$FreeBSD: src/contrib/file/FREEBSD-upgrade,v 1.8 2008/01/30 02:48:24 obrien Exp $ Christos Zoulas `file' originals can be found at: ftp://ftp.astron.com/pub/file/ @@ -17,14 +17,14 @@ rm -f missing depcomp rm -f config.{guess,sub} - cvs import -m "Virgin import of Christos Zoulas's FILE 4.21." \ - src/contrib/file ZOULAS file_4_21 + cvs import -m "Virgin import of Christos Zoulas's FILE 4.23." \ + src/contrib/file ZOULAS file_4_23 Never make local changes to ZOULAS `file'. Christos is very willing to work with us to meet our FreeBSD needs. Thus submit any desired changes to him and wait for the next release and vendor import to get them. - + obrien@NUXI.com 15-Sept-2002 ==== //depot/projects/e500/contrib/file/magic.c#4 (text+ko) ==== @@ -218,6 +218,7 @@ */ #ifdef HAVE_UTIMES struct timeval utsbuf[2]; + memset(utsbuf, 0, sizeof(struct timeval) * 2); utsbuf[0].tv_sec = sb->st_atime; utsbuf[1].tv_sec = sb->st_mtime; @@ -225,6 +226,7 @@ #elif defined(HAVE_UTIME_H) || defined(HAVE_SYS_UTIME_H) struct utimbuf utbuf; + memset(&utbuf, 0, sizeof(struct utimbuf)); utbuf.actime = sb->st_atime; utbuf.modtime = sb->st_mtime; (void) utime(name, &utbuf); /* don't care if loses */ ==== //depot/projects/e500/contrib/ncurses/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.2 2007/12/30 11:19:29 rafan Exp $ +$FreeBSD: src/contrib/ncurses/FREEBSD-upgrade,v 1.3 2008/02/11 13:42:45 rafan Exp $ ncurses @@ -18,6 +18,10 @@ src/contrib/ncurses NCURSES v5_6_20061217 The date in the tag can be obtained from contrib/ncurses/dist.mk. +If the version is a snapshot, + + cvs import -m 'Import ncurses 5.6-20080209 snapshot onto the vendor branch' \ + src/contrib/ncurses NCURSES v5_6_20080209 Remove files that are removed in this release in vendor branch (NCURSES) instead of HEAD. ==== //depot/projects/e500/contrib/ncurses/MANIFEST#3 (text+ko) ==== @@ -571,6 +571,7 @@ ./man/curs_termattrs.3x ./man/curs_termcap.3x ./man/curs_terminfo.3x +./man/curs_threads.3x ./man/curs_touch.3x ./man/curs_trace.3x ./man/curs_util.3x @@ -810,6 +811,7 @@ ./ncurses/curses.priv.h ./ncurses/fifo_defs.h ./ncurses/llib-lncurses +./ncurses/llib-lncursest ./ncurses/llib-lncursesw ./ncurses/modules ./ncurses/tinfo/MKcaptab.awk ==== //depot/projects/e500/contrib/ncurses/NEWS#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Feb 14 05:04:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2621116A421; Thu, 14 Feb 2008 05:04:49 +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 C658316A41A for ; Thu, 14 Feb 2008 05:04:48 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A838D13C45A for ; Thu, 14 Feb 2008 05:04:48 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1E54mPW003715 for ; Thu, 14 Feb 2008 05:04:48 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1E54kBo003712 for perforce@freebsd.org; Thu, 14 Feb 2008 05:04:46 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 05:04:46 GMT Message-Id: <200802140504.m1E54kBo003712@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135363 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 05:04:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=135363 Change 135363 by jb@jb_freebsd1 on 2008/02/14 05:04:17 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/compiz-fusion/Makefile#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/compiz-fusion/article.sgml#1 branch .. //depot/projects/dtrace/ports/LEGAL#34 integrate .. //depot/projects/dtrace/ports/MOVED#66 integrate .. //depot/projects/dtrace/ports/Mk/bsd.xfce.mk#2 integrate .. //depot/projects/dtrace/src/include/unistd.h#10 integrate .. //depot/projects/dtrace/src/lib/libc/sys/readlink.2#5 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/amd64/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/arm/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/arm/include/pthread_md.h#5 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/i386/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/ia64/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/powerpc/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/sparc64/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/sparc64/include/pthread_md.h#5 integrate .. //depot/projects/dtrace/src/lib/msun/Makefile#11 integrate .. //depot/projects/dtrace/src/lib/msun/amd64/Makefile.inc#6 integrate .. //depot/projects/dtrace/src/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/dtrace/src/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/dtrace/src/lib/msun/ld128/s_exp2l.c#3 integrate .. //depot/projects/dtrace/src/lib/msun/ld80/s_exp2l.c#3 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_remainder.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_remainderf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2.c#7 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2f.c#9 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#5 integrate .. //depot/projects/dtrace/src/lib/ncurses/ncurses/Makefile#6 integrate .. //depot/projects/dtrace/src/sbin/mount_nfs/mount_nfs.8#6 integrate .. //depot/projects/dtrace/src/share/man/man4/hptrr.4#3 integrate .. //depot/projects/dtrace/src/share/man/man4/mxge.4#6 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#26 integrate .. //depot/projects/dtrace/src/share/man/man9/lock.9#10 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/busdma_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/cam/cam_periph.c#7 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#20 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#20 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#20 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#20 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#20 integrate .. //depot/projects/dtrace/src/sys/conf/files#70 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/sk/if_sk.c#16 integrate .. //depot/projects/dtrace/src/sys/dev/sk/if_skreg.h#11 integrate .. //depot/projects/dtrace/src/sys/dev/syscons/syscons.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/twe/twe.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdi.c#9 integrate .. //depot/projects/dtrace/src/sys/fs/coda/cnode.h#4 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_namecache.c#3 delete .. //depot/projects/dtrace/src/sys/fs/coda/coda_namecache.h#4 delete .. //depot/projects/dtrace/src/sys/fs/coda/coda_psdev.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_subr.c#4 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_subr.h#3 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vnops.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vnops.h#4 integrate .. //depot/projects/dtrace/src/sys/fs/ntfs/ntfs_subr.c#7 integrate .. //depot/projects/dtrace/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/i386/busdma_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/kern_module.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/kern_mutex.c#18 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#18 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/sysv_shm.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#20 integrate .. //depot/projects/dtrace/src/sys/modules/coda/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/coda5/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#25 edit .. //depot/projects/dtrace/src/sys/modules/dtrace/dtmalloc/Makefile#1 add .. //depot/projects/dtrace/src/sys/net/route.c#13 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_vnops.c#10 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_socket.c#16 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_subs.c#12 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfsm_subs.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/ofw_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/NOTES#12 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/intr_machdep.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/openpicreg.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/openpicvar.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/hrowpic.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/openpic_macio.c#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/intr_machdep.c#8 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/openpic.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/pic_if.m#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/psim/openpic_iobus.c#5 integrate .. //depot/projects/dtrace/src/sys/sys/buf.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/ipc.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/lock.h#9 integrate .. //depot/projects/dtrace/src/sys/sys/lockmgr.h#15 integrate .. //depot/projects/dtrace/src/sys/sys/malloc.h#5 edit .. //depot/projects/dtrace/src/sys/sys/module.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#40 integrate .. //depot/projects/dtrace/src/sys/sys/shm.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#19 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#19 integrate .. //depot/projects/dtrace/src/sys/sys/syscallsubr.h#10 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#19 integrate .. //depot/projects/dtrace/src/usr.sbin/portsnap/phttpget/phttpget.c#7 integrate .. //depot/projects/dtrace/www/en/docs/books.sgml#11 integrate .. //depot/projects/dtrace/www/en/gifs/Makefile#7 integrate .. //depot/projects/dtrace/www/en/gifs/freebsd-basics-cover-front-145.png#1 branch .. //depot/projects/dtrace/www/en/publish.sgml#8 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/schedule.sgml#12 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#39 integrate .. //depot/projects/dtrace/www/share/sgml/release.ent#19 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.53 2006/10/23 15:07:00 yar Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.54 2008/02/12 07:25:23 gabor Exp $ SUBDIR = SUBDIR+= 5-roadmap @@ -7,6 +7,7 @@ SUBDIR+= casestudy-argentina.com SUBDIR+= checkpoint SUBDIR+= committers-guide +SUBDIR+= compiz-fusion SUBDIR+= console-server SUBDIR+= contributing SUBDIR+= contributing-ports ==== //depot/projects/dtrace/ports/LEGAL#34 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.565 2008/02/09 02:01:05 tabthorpe Exp $ +# $FreeBSD: ports/LEGAL,v 1.566 2008/02/13 21:16:26 arved Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -364,6 +364,7 @@ jsdk20-solaris2-sparc* java/jsdk No commercial use jude-community-*.zip devel/jude-community License restrictions kaffe-* java/kaffe Restrictive copyright +komodo-* editors/komodo-edit Distribution not permitted KASH3-* math/kash3 Not for commercial distribution or use KDE/ICONS-* x11-themes/kde-icons-* Unclear about licensing ==== //depot/projects/dtrace/ports/MOVED#66 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1536 2008/02/10 23:14:07 alepulver Exp $ +# $FreeBSD: ports/MOVED,v 1.1538 2008/02/13 14:57:31 sat Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3361,3 +3361,6 @@ net/cactid|net-mgmt/cacti-spine|2008-01-27|project was renamed x11-wm/wmii-devel|x11-wm/wmii|2008-01-29|Development version no longer necessary devel/wxGlade-devel||2008-02-11|Has expired: has been the same version as wxGlade for a long time; use it instead +sysutils/sge|sysutils/sge60|2008-02-12|Splitting into 6.0 and 6.1 versions +mail/linux-netscape-messenger|mail/thunderbird|2008-02-13|Abandoned by AOL +www/linux-netscape-navigator|www/firefox|2008-02-13|Abandoned by AOL ==== //depot/projects/dtrace/ports/Mk/bsd.xfce.mk#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.xfce.mk,v 1.2 2007/04/11 16:26:45 oliver Exp $ +# $FreeBSD: ports/Mk/bsd.xfce.mk,v 1.3 2008/02/12 18:10:56 oliver Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Xfce_Pre_Include) @@ -15,33 +15,33 @@ _USE_XFCE_ALL= configenv libexo libgui libutil libmcs mcsmanager panel \ thunar wm xfdev -MASTER_SITE_SUBDIR?= xfce-4.4.1 +MASTER_SITE_SUBDIR?= xfce-4.4.2 configenv_CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include -L${LOCALBASE}/lib" -libexo_BUILD_DEPENDS= libexo>=0.3.2:${PORTSDIR}/x11/libexo -libexo_RUN_DEPENDS= libexo>=0.3.2:${PORTSDIR}/x11/libexo +libexo_BUILD_DEPENDS= libexo>=0.3.4:${PORTSDIR}/x11/libexo +libexo_RUN_DEPENDS= libexo>=0.3.4:${PORTSDIR}/x11/libexo -libgui_BUILD_DEPENDS= libxfce4gui>=4.4.1:${PORTSDIR}/x11-toolkits/libxfce4gui -libgui_RUN_DEPENDS= libxfce4gui>=4.4.1:${PORTSDIR}/x11-toolkits/libxfce4gui +libgui_BUILD_DEPENDS= libxfce4gui>=4.4.2:${PORTSDIR}/x11-toolkits/libxfce4gui +libgui_RUN_DEPENDS= libxfce4gui>=4.4.2:${PORTSDIR}/x11-toolkits/libxfce4gui -libutil_BUILD_DEPENDS= libxfce4util>=4.4.1:${PORTSDIR}/x11/libxfce4util -libutil_RUN_DEPENDS= libxfce4util>=4.4.1:${PORTSDIR}/x11/libxfce4util +libutil_BUILD_DEPENDS= libxfce4util>=4.4.2:${PORTSDIR}/x11/libxfce4util +libutil_RUN_DEPENDS= libxfce4util>=4.4.2:${PORTSDIR}/x11/libxfce4util -libmcs_BUILD_DEPENDS= libxfce4mcs>=4.4.1:${PORTSDIR}/x11/libxfce4mcs -libmcs_RUN_DEPENDS= libxfce4mcs>=4.4.1:${PORTSDIR}/x11/libxfce4mcs +libmcs_BUILD_DEPENDS= libxfce4mcs>=4.4.2:${PORTSDIR}/x11/libxfce4mcs +libmcs_RUN_DEPENDS= libxfce4mcs>=4.4.2:${PORTSDIR}/x11/libxfce4mcs -mcsmanager_BUILD_DEPENDS= xfce4-mcs-manager>=4.4.1:${PORTSDIR}/sysutils/xfce4-mcs-manager -mcsmanager_RUN_DEPENDS= xfce4-mcs-manager>=4.4.1:${PORTSDIR}/sysutils/xfce4-mcs-manager +mcsmanager_BUILD_DEPENDS= xfce4-mcs-manager>=4.4.2:${PORTSDIR}/sysutils/xfce4-mcs-manager +mcsmanager_RUN_DEPENDS= xfce4-mcs-manager>=4.4.2:${PORTSDIR}/sysutils/xfce4-mcs-manager -panel_BUILD_DEPENDS= xfce4-panel>=4.4.1:${PORTSDIR}/x11-wm/xfce4-panel -panel_RUN_DEPENDS= xfce4-panel>=4.4.1:${PORTSDIR}/x11-wm/xfce4-panel +panel_BUILD_DEPENDS= xfce4-panel>=4.4.2:${PORTSDIR}/x11-wm/xfce4-panel +panel_RUN_DEPENDS= xfce4-panel>=4.4.2:${PORTSDIR}/x11-wm/xfce4-panel -thunar_BUILD_DEPENDS= Thunar>=0.8.0:${PORTSDIR}/x11-fm/thunar -thunar_RUN_DEPENDS= Thunar>=0.8.0:${PORTSDIR}/x11-fm/thunar +thunar_BUILD_DEPENDS= Thunar>=0.9.0:${PORTSDIR}/x11-fm/thunar +thunar_RUN_DEPENDS= Thunar>=0.9.0:${PORTSDIR}/x11-fm/thunar -wm_BUILD_DEPENDS= xfce4-wm>=4.4.1:${PORTSDIR}/x11-wm/xfce4-wm -wm_RUN_DEPENDS= xfce4-wm>=4.4.1:${PORTSDIR}/x11-wm/xfce4-wm +wm_BUILD_DEPENDS= xfce4-wm>=4.4.2:${PORTSDIR}/x11-wm/xfce4-wm +wm_RUN_DEPENDS= xfce4-wm>=4.4.2:${PORTSDIR}/x11-wm/xfce4-wm xfdev_RUN_DEPENDS= xfce4-dev-tools:${PORTSDIR}/devel/xfce4-dev-tools ==== //depot/projects/dtrace/src/include/unistd.h#10 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * $FreeBSD: src/include/unistd.h,v 1.82 2008/01/18 08:48:32 davidxu Exp $ + * $FreeBSD: src/include/unistd.h,v 1.83 2008/02/12 20:09:03 ru Exp $ */ #ifndef _UNISTD_H_ @@ -405,7 +405,7 @@ /* 1003.1-2001 */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE int fchown(int, uid_t, gid_t); -int readlink(const char *, char *, int); +ssize_t readlink(const char *, char *, size_t); #endif #if __POSIX_VISIBLE >= 200112 int gethostname(char *, size_t); ==== //depot/projects/dtrace/src/lib/libc/sys/readlink.2#5 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/readlink.2,v 1.14 2007/01/09 00:28:15 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/readlink.2,v 1.15 2008/02/12 20:09:03 ru Exp $ .\" -.Dd June 4, 1993 +.Dd February 12, 2008 .Dt READLINK 2 .Os .Sh NAME @@ -38,8 +38,8 @@ .Lb libc .Sh SYNOPSIS .In unistd.h -.Ft int -.Fn readlink "const char *path" "char *buf" "int bufsiz" +.Ft ssize_t +.Fn readlink "const char *path" "char *buf" "size_t bufsiz" .Sh DESCRIPTION The .Fn readlink @@ -58,7 +58,7 @@ .Fa buf . .Sh RETURN VALUES The call returns the count of characters placed in the buffer -if it succeeds, or a -1 if an error occurs, placing the error +if it succeeds, or a \-1 if an error occurs, placing the error code in the global variable .Va errno . .Sh ERRORS ==== //depot/projects/dtrace/src/lib/libthr/arch/amd64/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.2 2005/04/02 01:19:57 davidxu Exp $ +#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.3 2008/02/13 05:25:42 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/arm/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/arm/Makefile.inc,v 1.2 2005/04/07 22:06:05 cognet Exp $ +# $FreeBSD: src/lib/libthr/arch/arm/Makefile.inc,v 1.3 2008/02/13 05:25:42 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/arm/include/pthread_md.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * (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: src/lib/libthr/arch/arm/include/pthread_md.h,v 1.4 2006/12/15 11:52:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/arm/include/pthread_md.h,v 1.5 2008/02/13 05:12:04 obrien Exp $ */ /* @@ -43,9 +43,9 @@ * Variant II tcb, first two members are required by rtld. */ struct tcb { - struct tcb *tcb_self; /* required by rtld */ - void *tcb_dtv; /* required by rtld */ - struct pthread *tcb_thread; /* our hook */ + struct tcb *tcb_self; /* required by rtld */ + void *tcb_dtv; /* required by rtld */ + struct pthread *tcb_thread; /* our hook */ void *tcb_spare[1]; }; ==== //depot/projects/dtrace/src/lib/libthr/arch/i386/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.2 2005/04/02 01:19:58 davidxu Exp $ +# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.3 2008/02/13 05:25:43 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/ia64/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/ia64/Makefile.inc,v 1.2 2005/04/02 01:19:58 davidxu Exp $ +# $FreeBSD: src/lib/libthr/arch/ia64/Makefile.inc,v 1.3 2008/02/13 05:25:43 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/powerpc/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/powerpc/Makefile.inc,v 1.2 2005/04/02 01:19:59 davidxu Exp $ +# $FreeBSD: src/lib/libthr/arch/powerpc/Makefile.inc,v 1.3 2008/02/13 05:25:43 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/sparc64/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/sparc64/Makefile.inc,v 1.3 2005/04/02 01:19:59 davidxu Exp $ +# $FreeBSD: src/lib/libthr/arch/sparc64/Makefile.inc,v 1.4 2008/02/13 05:25:43 obrien Exp $ -.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} SRCS+= pthread_md.c ==== //depot/projects/dtrace/src/lib/libthr/arch/sparc64/include/pthread_md.h#5 (text+ko) ==== @@ -24,7 +24,7 @@ * (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: src/lib/libthr/arch/sparc64/include/pthread_md.h,v 1.2 2006/12/15 11:52:01 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/sparc64/include/pthread_md.h,v 1.3 2008/02/13 05:12:05 obrien Exp $ */ /* @@ -44,9 +44,9 @@ * %g7 points to the structure. */ struct tcb { - struct tcb *tcb_self; /* required by rtld */ - void *tcb_dtv; /* required by rtld */ - struct pthread *tcb_thread; /* our hook */ + struct tcb *tcb_self; /* required by rtld */ + void *tcb_dtv; /* required by rtld */ + struct pthread *tcb_thread; /* our hook */ void *tcb_spare[1]; }; ==== //depot/projects/dtrace/src/lib/msun/Makefile#11 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.1beta 93/09/24 -# $FreeBSD: src/lib/msun/Makefile,v 1.86 2008/01/18 21:43:10 das Exp $ +# $FreeBSD: src/lib/msun/Makefile,v 1.87 2008/02/13 16:56:52 bde Exp $ # # ==================================================== # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -46,12 +46,12 @@ k_cos.c k_cosf.c k_rem_pio2.c k_sin.c k_sinf.c \ k_tan.c k_tanf.c \ s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c \ - s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c s_ceill.c \ + s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c \ s_copysign.c s_copysignf.c s_cos.c s_cosf.c \ s_csqrt.c s_csqrtf.c s_erf.c s_erff.c \ s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c \ s_finite.c s_finitef.c \ - s_floor.c s_floorf.c s_floorl.c s_fma.c s_fmaf.c \ + s_floor.c s_floorf.c s_fma.c s_fmaf.c \ s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \ s_fminf.c s_fminl.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ @@ -62,8 +62,8 @@ s_nexttowardf.c s_remquo.c s_remquof.c \ s_rint.c s_rintf.c s_round.c s_roundf.c s_roundl.c \ s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \ - s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c s_tan.c \ - s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c s_truncl.c \ + s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c \ + s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \ w_cabs.c w_cabsf.c w_drem.c w_dremf.c # Location of fpmath.h and _fpmath.h @@ -78,8 +78,9 @@ COMMON_SRCS+= s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c .if ${LDBL_PREC} != 53 # If long double != double use these; otherwise, we alias the double versions. -COMMON_SRCS+= s_exp2l.c s_fmal.c s_frexpl.c s_logbl.c s_nanl.c \ - s_nextafterl.c s_nexttoward.c s_rintl.c s_scalbnl.c +COMMON_SRCS+= s_ceill.c s_exp2l.c s_floorl.c s_fmal.c s_frexpl.c \ + s_logbl.c s_nanl.c s_nextafterl.c s_nexttoward.c s_rintl.c \ + s_scalbnl.c s_truncl.c .endif # C99 complex functions ==== //depot/projects/dtrace/src/lib/msun/amd64/Makefile.inc#6 (text+ko) ==== @@ -1,7 +1,8 @@ -# $FreeBSD: src/lib/msun/amd64/Makefile.inc,v 1.7 2008/01/14 02:12:07 das Exp $ +# $FreeBSD: src/lib/msun/amd64/Makefile.inc,v 1.8 2008/02/13 06:01:48 bde Exp $ ARCH_SRCS = e_sqrt.S e_sqrtf.S s_llrint.S s_llrintf.S s_llrintl.S \ s_logbl.S s_lrint.S s_lrintf.S s_lrintl.S \ - s_remquo.S s_remquof.S s_rintl.S s_scalbn.S s_scalbnf.S s_scalbnl.S + e_remainder.S e_remainderf.S s_remquo.S s_remquof.S \ + s_rintl.S s_scalbn.S s_scalbnf.S s_scalbnl.S LDBL_PREC = 64 SYM_MAPS += ${.CURDIR}/amd64/Symbol.map ==== //depot/projects/dtrace/src/lib/msun/ld128/s_exp2l.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/ld128/s_exp2l.c,v 1.2 2008/02/07 03:17:05 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/ld128/s_exp2l.c,v 1.3 2008/02/13 10:44:44 bde Exp $"); #include #include @@ -371,7 +371,7 @@ if (u.xbits.manh != 0 || u.xbits.manl != 0 || (hx & 0x8000) == 0) - return (x); /* x is NaN or +Inf */ + return (x + x); /* x is NaN or +Inf */ else return (0.0); /* x is -Inf */ } ==== //depot/projects/dtrace/src/lib/msun/ld80/s_exp2l.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/ld80/s_exp2l.c,v 1.2 2008/02/07 03:17:05 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/ld80/s_exp2l.c,v 1.3 2008/02/13 10:44:44 bde Exp $"); #include #include @@ -226,7 +226,7 @@ if (ix >= BIAS + 14) { /* |x| >= 16384 or x is NaN */ if (ix == BIAS + LDBL_MAX_EXP) { if (u.xbits.man != 1ULL << 63 || (hx & 0x8000) == 0) - return (x); /* x is NaN or +Inf */ + return (x + x); /* x is +Inf or NaN */ else return (0.0); /* x is -Inf */ } ==== //depot/projects/dtrace/src/lib/msun/src/e_remainder.c#4 (text+ko) ==== @@ -11,9 +11,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_remainder.c,v 1.10 2005/02/04 18:26:06 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_remainder.c,v 1.11 2008/02/12 17:11:36 bde Exp $"); /* __ieee754_remainder(x,p) * Return : @@ -48,7 +47,7 @@ if((hx>=0x7ff00000)|| /* x not finite */ ((hp>=0x7ff00000)&& /* p is NaN */ (((hp-0x7ff00000)|lp)!=0))) - return (x*p)/(x*p); + return ((long double)x*p)/((long double)x*p); if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p); /* now x < 2p */ @@ -68,6 +67,7 @@ } } GET_HIGH_WORD(hx,x); + if ((hx&0x7fffffff)==0) hx = 0; SET_HIGH_WORD(x,hx^sx); return x; } ==== //depot/projects/dtrace/src/lib/msun/src/e_remainderf.c#4 (text+ko) ==== @@ -13,9 +13,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_remainderf.c,v 1.7 2002/05/28 18:15:04 alfred Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_remainderf.c,v 1.8 2008/02/12 17:11:36 bde Exp $"); #include "math.h" #include "math_private.h" @@ -40,7 +39,7 @@ if(hp==0) return (x*p)/(x*p); /* p = 0 */ if((hx>=0x7f800000)|| /* x not finite */ ((hp>0x7f800000))) /* p is NaN */ - return (x*p)/(x*p); + return ((long double)x*p)/((long double)x*p); if (hp<=0x7effffff) x = __ieee754_fmodf(x,p+p); /* now x < 2p */ @@ -60,6 +59,7 @@ } } GET_FLOAT_WORD(hx,x); + if ((hx&0x7fffffff)==0) hx = 0; SET_FLOAT_WORD(x,hx^sx); return x; } ==== //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#4 (text+ko) ==== @@ -11,9 +11,8 @@ * From: @(#)s_ceil.c 5.1 93/09/24 */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.4 2005/04/28 19:45:55 stefanf Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); /* * ceill(x) @@ -63,7 +62,7 @@ if (huge + x > 0.0) if (u.bits.exp > 0 || (u.bits.manh | u.bits.manl) != 0) - u.e = u.bits.sign ? 0.0 : 1.0; + u.e = u.bits.sign ? -0.0 : 1.0; } else { uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1); if (((u.bits.manh & m) | u.bits.manl) == 0) @@ -100,3 +99,7 @@ } return (u.e); } + +#if LDBL_MANT_DIG == 53 +__weak_reference(ceil, ceill); +#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_exp2.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_exp2.c,v 1.5 2008/02/07 03:17:05 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_exp2.c,v 1.6 2008/02/13 10:44:44 bde Exp $"); #include @@ -351,7 +351,7 @@ if(ix >= 0x7ff00000) { GET_LOW_WORD(lx,x); if(((ix & 0xfffff) | lx) != 0 || (hx & 0x80000000) == 0) - return (x); /* x is NaN or +Inf */ + return (x + x); /* x is NaN or +Inf */ else return (0.0); /* x is -Inf */ } ==== //depot/projects/dtrace/src/lib/msun/src/s_exp2f.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_exp2f.c,v 1.6 2008/02/11 05:20:02 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_exp2f.c,v 1.8 2008/02/13 10:44:44 bde Exp $"); #include @@ -93,7 +93,7 @@ float exp2f(float x) { - double tv, twopk, z; + double tv, twopk, u, z; float t; uint32_t hx, htv, ix, i0; int32_t k; @@ -104,7 +104,7 @@ if(ix >= 0x43000000) { /* |x| >= 128 */ if(ix >= 0x7f800000) { if ((ix & 0x7fffff) != 0 || (hx & 0x80000000) == 0) - return (x); /* x is NaN or +Inf */ + return (x + x); /* x is NaN or +Inf */ else return (0.0); /* x is -Inf */ } @@ -124,12 +124,13 @@ i0 &= TBLSIZE - 1; t -= redux; z = x - t; + INSERT_WORDS(twopk, 0x3ff00000 + k, 0); /* Compute r = exp2(y) = exp2ft[i0] * p(z). */ tv = exp2ft[i0]; - tv = tv + tv * (z * (P1 + z * (P2 + z * (P3 + z * P4)))); + u = tv * z; + tv = tv + u * (P1 + z * P2) + u * (z * z) * (P3 + z * P4); /* Scale by 2**(k>>20). */ - INSERT_WORDS(twopk, 0x3ff00000 + k, 0); return (tv * twopk); } ==== //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#4 (text+ko) ==== @@ -11,9 +11,8 @@ * From: @(#)s_floor.c 5.1 93/09/24 */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.4 2005/04/28 19:45:55 stefanf Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.7 2008/02/13 18:16:43 bde Exp $"); /* * floorl(x) @@ -100,3 +99,7 @@ } return (u.e); } + +#if LDBL_MANT_DIG == 53 +__weak_reference(floor, floorl); +#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#5 (text+ko) ==== @@ -11,9 +11,8 @@ * From: @(#)s_floor.c 5.1 93/09/24 */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.5 2008/02/08 01:45:52 bde Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); /* * truncl(x) @@ -67,3 +66,7 @@ } return (u.e); } + +#if LDBL_MANT_DIG == 53 +__weak_reference(trunc, truncl); +#endif ==== //depot/projects/dtrace/src/lib/ncurses/ncurses/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/ncurses/ncurses/Makefile,v 1.95 2008/02/11 13:39:36 rafan Exp $ +# $FreeBSD: src/lib/ncurses/ncurses/Makefile,v 1.96 2008/02/13 14:34:39 rafan Exp $ SHLIBDIR?= /lib @@ -841,7 +841,6 @@ curs_terminfo.3 tigetnum.3 \ curs_terminfo.3 tigetstr.3 \ curs_terminfo.3 tparm.3 \ - curs_terminfo.3 tputs.3 \ curs_terminfo.3 vid_attr.3 \ curs_terminfo.3 vid_puts.3 \ curs_terminfo.3 vidattr.3 \ ==== //depot/projects/dtrace/src/sbin/mount_nfs/mount_nfs.8#6 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95 -.\" $FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.48 2008/02/11 23:23:21 kris Exp $ +.\" $FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.50 2008/02/12 09:24:11 ceri Exp $ .\" -.Dd December 25, 2005 +.Dd February 11, 2008 .Dt MOUNT_NFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ .Nd mount NFS file systems .Sh SYNOPSIS .Nm -.Op Fl 23bcdiLlNPsTU +.Op Fl 234bcdiLlNPsTU .Op Fl a Ar maxreadahead .Op Fl D Ar deadthresh .Op Fl g Ar maxgroups ==== //depot/projects/dtrace/src/share/man/man4/hptrr.4#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" (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: src/share/man/man4/hptrr.4,v 1.2 2008/02/06 03:30:13 scottl Exp $ +.\" $FreeBSD: src/share/man/man4/hptrr.4,v 1.3 2008/02/13 18:32:44 brueffer Exp $ .\" .Dd December 14, 2007 .Dt HPTRR 4 @@ -108,7 +108,7 @@ The .Nm device driver first appeared in -.Fx 5.3 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/dtrace/src/share/man/man4/mxge.4#6 (text+ko) ==== @@ -29,9 +29,9 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.\" $FreeBSD: src/share/man/man4/mxge.4,v 1.8 2008/01/04 12:55:54 gabor Exp $ +.\" $FreeBSD: src/share/man/man4/mxge.4,v 1.9 2008/02/13 08:09:55 brueffer Exp $ .\" -.Dd September 15, 2006 +.Dd February 13, 2008 .Dt MXGE 4 .Os .Sh NAME @@ -53,6 +53,8 @@ if_mxge_load="YES" mxge_ethp_z8e_load="YES" mxge_eth_z8e_load="YES" +mxge_rss_ethp_z8e_load="YES" +mxge_rss_eth_z8e_load="YES" .Ed .Sh DESCRIPTION The @@ -60,7 +62,8 @@ driver provides support for PCI Express 10 Gigabit Ethernet adapters based on the Myricom LANai Z8E chip. The driver supports Transmit/Receive checksum offload, -Jumbo Frames as well as TCP segmentation offload (TSO). +Jumbo Frames, TCP segmentation offload (TSO) as well +as Large Receive Offload (LRO). For further hardware information, see .Pa http://www.myri.com/ . .Pp @@ -106,12 +109,44 @@ The default value is 30. .It Va hw.mxge.skip_pio_read This value determines whether or not the driver may omit doing a -pio read in the interrupt handler which ensures that the interrupt +PIO read in the interrupt handler which ensures that the interrupt line has been deasserted when using xPIC interrupts. A non-zero value may result in lower CPU overhead, however it may also result in spurious interrupts. The default value is 0. +This tunable has no effect when the device is +using MSI or MSI-X interrupts. +.It Va hw.mxge.max_slices +This value determines the maximum number of slices the driver +will attempt to use. +The default value is 1. +A slice is comprised +of a set of receive queues and an associated interrupt thread. +When using multiple slices, the NIC hashes traffic to different slices +based on the value of +.Va hw.mxge.rss_hash_type . +Using multiple slices requires that your motherboard and Myri10GE NIC +both be capable of MSI-X. +Older Myri10GE NICs can be field upgraded to add +MSI-X using the "10G NIC Tool Kit" for FreeBSD which is available from +.Pa http://www.myri.com/scs/download-10g-tools.html . +.Pp +.It Va hw.mxge.rss_hash_type +This value determines how incoming traffic is steered to different +slices. +This tunable is ignored when using just a single slice. +The legal values for this tunable are: +.Bl -tag -width "XXXX" +.It 1 +Hash on the source and destination IPv4 addresses. +.It 2 +Hash on source and destination IPv4 addresses and if the packet +is TCP, then also hash on the TCP source and destination ports. +.It 4 +Hash on the TCP or UDP source ports. +This is the default value. +.El .El .Sh DIAGNOSTICS .Bl -diag @@ -121,7 +156,8 @@ A fatal initialization error has occurred. .It "mxge%d: Could not find firmware image %s" The appropriate firmware kld module was not installed. -This is a fatal initialization error. +This is a non-fatal initialization error, but will +result in running in a reduced performance mode. .El .Sh SUPPORT For general information and support, ==== //depot/projects/dtrace/src/share/man/man9/Makefile#26 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.324 2008/01/22 21:26:35 attilio Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.326 2008/02/13 21:54:16 attilio Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -712,10 +712,10 @@ ktr.9 CTR3.9 \ ktr.9 CTR4.9 \ ktr.9 CTR5.9 -MLINKS+=lock.9 lockcount.9 \ - lock.9 lockdestroy.9 \ +MLINKS+=lock.9 lockdestroy.9 \ lock.9 lockinit.9 \ lock.9 lockmgr.9 \ + lock.9 lockmgr_assert.9 \ lock.9 lockmgr_disown.9 \ lock.9 lockmgr_printinfo.9 \ lock.9 lockmgr_recursed.9 \ @@ -909,7 +909,6 @@ rman.9 rman_await_resource.9 \ rman.9 rman_deactivate_resource.9 \ rman.9 rman_fini.9 \ - rman.9 rman_fini.9 \ rman.9 rman_get_bushandle.9 \ rman.9 rman_get_bustag.9 \ rman.9 rman_get_device.9 \ ==== //depot/projects/dtrace/src/share/man/man9/lock.9#10 (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.23 2008/02/06 00:50:51 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.24 2008/02/13 21:54:16 attilio Exp $ .\" -.Dd February 6, 2008 +.Dd February 13, 2008 .Dt LOCK 9 .Os .Sh NAME @@ -36,7 +36,8 @@ .Nm lockstatus , .Nm lockmgr_disown , .Nm lockmgr_printinfo , -.Nm lockmgr_recursed +.Nm lockmgr_recursed , +.Nm lockmgr_assert .Nd "lockmgr family of functions" .Sh SYNOPSIS .In sys/types.h @@ -55,6 +56,11 @@ .Fn lockmgr_printinfo "struct lock *lkp" .Ft int .Fn lockmgr_recursed "struct lock *lkp" +.Pp +.Cd "options INVARIANTS" +.Cd "options INVARIANT_SUPPORT" +.Ft void +.Fn lockmgr_assert "struct lock *lkp" "int what" .Sh DESCRIPTION The .Fn lockinit @@ -202,6 +208,69 @@ .Fn lockmgr_recursed function returns true if the lock is recursed, 0 otherwise. +.Pp +When compiled with +.Cd "options INVARIANTS" +and +.Cd "options INVARIANT_SUPPORT" , +the +.Fn lockmgr_assert +function tests +.Fa lkp +for the assertions specified in +.Fa what , +and panics if they are not met. +One of the following assertions must be specified: +.Bl -tag -width ".Dv KA_UNLOCKED" +.It Dv KA_LOCKED +Assert that the current thread has either a shared or an exclusive lock on the +.Vt lkp +lock pointed to by the first argument. +.It Dv KA_SLOCKED +Assert that the current thread has a shared lock on the +.Vt lkp +lock pointed to by the first argument. +.It Dv KA_XLOCKED +Assert that the current thread has an exclusive lock on the +.Vt lkp +lock pointed to by the first argument. +.It Dv KA_UNLOCKED +Assert that the current thread has no lock on the +.Vt lkp +lock pointed to by the first argument. +.It Dv KA_HELD +Assert that the a not specified thread has a lock on the +.Vt lkp +lock pointed to by the first argument. +.It Dv KA_UNHELD +Assert that no thread has a lock on the +.Vt lkp +lock pointed to by the first argument. +.El +.Pp +In addition, one of the following optional assertions can be used with +either an +.Dv KA_LOCKED , +.Dv KA_SLOCKED , +or +.Dv KA_XLOCKED +assertion: +.Bl -tag -width ".Dv KA_NOTRECURSED" +.It Dv KA_RECURSED +Assert that the current thread has a recursed lock on +.Fa lkp . >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Feb 14 05:17:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49C7116A41A; Thu, 14 Feb 2008 05:17:02 +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 D6B3016A418 for ; Thu, 14 Feb 2008 05:17:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BA43E13C455 for ; Thu, 14 Feb 2008 05:17:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1E5H1eY005033 for ; Thu, 14 Feb 2008 05:17:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1E5H1V1005028 for perforce@freebsd.org; Thu, 14 Feb 2008 05:17:01 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 05:17:01 GMT Message-Id: <200802140517.m1E5H1V1005028@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 05:17:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=135364 Change 135364 by jb@jb_freebsd1 on 2008/02/14 05:16:28 Regen after the IFC. Affected files ... .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#22 edit .. //depot/projects/dtrace/src/sys/kern/syscalls.c#21 edit .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#17 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/init_sysent.c#22 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.233 2008/02/12 20:11:54 ru Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ ==== //depot/projects/dtrace/src/sys/kern/syscalls.c#21 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.217 2008/02/12 20:11:54 ru Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.237 2008/02/12 20:09:04 ru Exp */ ==== //depot/projects/dtrace/src/sys/kern/systrace_args.c#17 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.17 2008/02/12 20:11:54 ru Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -2892,3 +2892,4727 @@ break; }; } +static void +systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) +{ + const char *p = NULL; + switch (sysnum) { + /* nosys */ + case 0: + break; + /* sys_exit */ + case 1: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* fork */ + case 2: + break; + /* read */ + case 3: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "void *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* write */ + case 4: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "const void *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* open */ + case 5: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* close */ + case 6: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* wait4 */ + case 7: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "struct rusage *"; + break; + default: + break; + }; + break; + /* link */ + case 9: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + default: + break; + }; + break; + /* unlink */ + case 10: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* chdir */ + case 12: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* fchdir */ + case 13: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* mknod */ + case 14: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* chmod */ + case 15: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* chown */ + case 16: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* obreak */ + case 17: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* getpid */ + case 20: + break; + /* mount */ + case 21: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "caddr_t"; + break; + default: + break; + }; + break; + /* unmount */ + case 22: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* setuid */ + case 23: + switch(ndx) { + case 0: + p = "uid_t"; + break; + default: + break; + }; + break; + /* getuid */ + case 24: + break; + /* geteuid */ + case 25: + break; + /* ptrace */ + case 26: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "pid_t"; + break; + case 2: + p = "caddr_t"; + break; + case 3: + p = "int"; + break; + default: + break; + }; + break; + /* recvmsg */ + case 27: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct msghdr *"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* sendmsg */ + case 28: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct msghdr *"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* recvfrom */ + case 29: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "caddr_t"; + break; + case 2: + p = "size_t"; + break; + case 3: + p = "int"; + break; + case 4: + p = "struct sockaddr *__restrict"; + break; + case 5: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* accept */ + case 30: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* getpeername */ + case 31: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* getsockname */ + case 32: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct sockaddr *__restrict"; + break; + case 2: + p = "__socklen_t *__restrict"; + break; + default: + break; + }; + break; + /* access */ + case 33: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* chflags */ + case 34: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* fchflags */ + case 35: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* sync */ + case 36: + break; + /* kill */ + case 37: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* getppid */ + case 39: + break; + /* dup */ + case 41: + switch(ndx) { + case 0: + p = "u_int"; + break; + default: + break; + }; + break; + /* pipe */ + case 42: + break; + /* getegid */ + case 43: + break; + /* profil */ + case 44: + switch(ndx) { + case 0: + p = "caddr_t"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "size_t"; + break; + case 3: + p = "u_int"; + break; + default: + break; + }; + break; + /* ktrace */ + case 45: + switch(ndx) { + case 0: + p = "const char *"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + case 3: + p = "int"; + break; + default: + break; + }; + break; + /* getgid */ + case 47: + break; + /* getlogin */ + case 49: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "u_int"; + break; + default: + break; + }; + break; + /* setlogin */ + case 50: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* acct */ + case 51: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* sigaltstack */ + case 53: + switch(ndx) { + case 0: + p = "stack_t *"; + break; + case 1: + p = "stack_t *"; + break; + default: + break; + }; + break; + /* ioctl */ + case 54: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_long"; + break; + case 2: + p = "caddr_t"; + break; + default: + break; + }; + break; + /* reboot */ + case 55: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* revoke */ + case 56: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* symlink */ + case 57: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + default: + break; + }; + break; + /* readlink */ + case 58: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char *"; + break; + case 2: + p = "size_t"; + break; + default: + break; + }; + break; + /* execve */ + case 59: + switch(ndx) { + case 0: + p = "char *"; + break; + case 1: + p = "char **"; + break; + case 2: + p = "char **"; + break; + default: + break; + }; + break; + /* umask */ + case 60: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* chroot */ + case 61: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* msync */ + case 65: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* vfork */ + case 66: + break; + /* sbrk */ + case 69: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* sstk */ + case 70: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* ovadvise */ + case 72: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* munmap */ + case 73: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + default: + break; + }; + break; + /* mprotect */ + case 74: + switch(ndx) { + case 0: + p = "const void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* madvise */ + case 75: + switch(ndx) { + case 0: + p = "void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* mincore */ + case 78: + switch(ndx) { + case 0: + p = "const void *"; + break; + case 1: + p = "size_t"; + break; + case 2: + p = "char *"; + break; + default: + break; + }; + break; + /* getgroups */ + case 79: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "gid_t *"; + break; + default: + break; + }; + break; + /* setgroups */ + case 80: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "gid_t *"; + break; + default: + break; + }; + break; + /* getpgrp */ + case 81: + break; + /* setpgid */ + case 82: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* setitimer */ + case 83: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "struct itimerval *"; + break; + case 2: + p = "struct itimerval *"; + break; + default: + break; + }; + break; + /* swapon */ + case 85: + switch(ndx) { + case 0: + p = "char *"; + break; + default: + break; + }; + break; + /* getitimer */ + case 86: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "struct itimerval *"; + break; + default: + break; + }; + break; + /* getdtablesize */ + case 89: + break; + /* dup2 */ + case 90: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "u_int"; + break; + default: + break; + }; + break; + /* fcntl */ + case 92: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "long"; + break; + default: + break; + }; + break; + /* select */ + case 93: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "fd_set *"; + break; + case 2: + p = "fd_set *"; + break; + case 3: + p = "fd_set *"; + break; + case 4: + p = "struct timeval *"; + break; + default: + break; + }; + break; + /* fsync */ + case 95: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* setpriority */ + case 96: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* socket */ + case 97: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* connect */ + case 98: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "caddr_t"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* getpriority */ + case 100: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Feb 14 05:19:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F82716A468; Thu, 14 Feb 2008 05:19:04 +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 D914216A41B for ; Thu, 14 Feb 2008 05:19:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCC5713C447 for ; Thu, 14 Feb 2008 05:19:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1E5J3dv005167 for ; Thu, 14 Feb 2008 05:19:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1E5J3vh005164 for perforce@freebsd.org; Thu, 14 Feb 2008 05:19:03 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 05:19:03 GMT Message-Id: <200802140519.m1E5J3vh005164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 05:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=135365 Change 135365 by jb@jb_freebsd1 on 2008/02/14 05:18:11 Oops.. a few things slipped in with the last IFC. Affected files ... .. //depot/projects/dtrace/src/sys/sys/malloc.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/malloc.h#6 (text+ko) ==== @@ -85,10 +85,7 @@ */ #define DTMALLOC_PROBE_MALLOC 0 #define DTMALLOC_PROBE_FREE 1 -#define DTMALLOC_PROBE_CONTIGMALLOC 2 -#define DTMALLOC_PROBE_CONTIGFREE 3 -#define DTMALLOC_PROBE_REALLOC 4 -#define DTMALLOC_PROBE_MAX 5 +#define DTMALLOC_PROBE_MAX 2 struct malloc_type_internal { uint32_t mti_probes[DTMALLOC_PROBE_MAX]; From owner-p4-projects@FreeBSD.ORG Thu Feb 14 05:19:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7058716A524; Thu, 14 Feb 2008 05:19:04 +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 0880016A420 for ; Thu, 14 Feb 2008 05:19:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E11A113C44B for ; Thu, 14 Feb 2008 05:19:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1E5J3oV005173 for ; Thu, 14 Feb 2008 05:19:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1E5J39C005170 for perforce@freebsd.org; Thu, 14 Feb 2008 05:19:03 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 05:19:03 GMT Message-Id: <200802140519.m1E5J39C005170@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 05:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=135366 Change 135366 by jb@jb_freebsd1 on 2008/02/14 05:18:40 Add probes for the dtmalloc DTrace provider. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_malloc.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_malloc.c#7 (text+ko) ==== @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_malloc.c,v 1.162 2007/06/27 13:39:38 rwatson Exp $"); #include "opt_ddb.h" +#include "opt_kdtrace.h" #include "opt_vm.h" #include @@ -86,6 +87,12 @@ #include +#ifdef KDTRACE_HOOKS +#include + +dtrace_malloc_probe_func_t dtrace_malloc_probe; +#endif + /* * When realloc() is called, if the new size is sufficiently smaller than * the old size, realloc() will allocate a new, smaller block to avoid @@ -255,6 +262,15 @@ } if (zindx != -1) mtsp->mts_size |= 1 << zindx; + +#ifdef KDTRACE_HOOKS + if (dtrace_malloc_probe != NULL && + mtip->mti_probes[DTMALLOC_PROBE_MALLOC] != 0) + (dtrace_malloc_probe)(mtip->mti_probes[DTMALLOC_PROBE_MALLOC], + (uintptr_t) mtp, (uintptr_t) mtip, + (uintptr_t) mtsp, size, zindx); +#endif + critical_exit(); } @@ -283,6 +299,15 @@ mtsp = &mtip->mti_stats[curcpu]; mtsp->mts_memfreed += size; mtsp->mts_numfrees++; + +#ifdef KDTRACE_HOOKS + if (dtrace_malloc_probe != NULL && + mtip->mti_probes[DTMALLOC_PROBE_MALLOC] != 0) + (dtrace_malloc_probe)(mtip->mti_probes[DTMALLOC_PROBE_FREE], + (uintptr_t) mtp, (uintptr_t) mtip, + (uintptr_t) mtsp, size, 0); +#endif + critical_exit(); } @@ -804,6 +829,40 @@ SYSCTL_INT(_kern, OID_AUTO, malloc_count, CTLFLAG_RD, &kmemcount, 0, "Count of kernel malloc types"); +void +malloc_type_list(malloc_type_list_func_t *func, void *arg) +{ + struct malloc_type *mtp, **bufmtp; + int count, i; + size_t buflen; + + mtx_lock(&malloc_mtx); +restart: + mtx_assert(&malloc_mtx, MA_OWNED); + count = kmemcount; + mtx_unlock(&malloc_mtx); + + buflen = sizeof(struct malloc_type *) * count; + bufmtp = malloc(buflen, M_TEMP, M_WAITOK); + + mtx_lock(&malloc_mtx); + + if (count < kmemcount) { + free(bufmtp, M_TEMP); + goto restart; + } + + for (mtp = kmemstatistics, i = 0; mtp != NULL; mtp = mtp->ks_next, i++) + bufmtp[i] = mtp; + + mtx_unlock(&malloc_mtx); + + for (i = 0; i < count; i++) + (func)(bufmtp[i], arg); + + free(bufmtp, M_TEMP); +} + #ifdef DDB DB_SHOW_COMMAND(malloc, db_show_malloc) { From owner-p4-projects@FreeBSD.ORG Thu Feb 14 15:49:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA81916A592; Thu, 14 Feb 2008 15:49:18 +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 69F3C16A502 for ; Thu, 14 Feb 2008 15:49:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1075813C474 for ; Thu, 14 Feb 2008 15:49:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 924711A4D9E; Thu, 14 Feb 2008 07:49:07 -0800 (PST) From: John Baldwin To: Kip Macy Date: Thu, 14 Feb 2008 10:32:33 -0500 User-Agent: KMail/1.9.7 References: <200802080420.m184Kvmf077416@repoman.freebsd.org> In-Reply-To: <200802080420.m184Kvmf077416@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802141032.33861.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 15:49:19 -0000 On Thursday 07 February 2008 11:20:57 pm Kip Macy wrote: > http://perforce.freebsd.org/chv.cgi?CH=135010 > > Change 135010 by kmacy@kmacy:storage:toehead on 2008/02/08 04:20:17 > > add opt_global.h to dependencies > > Affected files ... > > .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 edit > > Differences ... > > ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 (text+ko) ==== > > @@ -5,7 +5,8 @@ > KMOD= tom > SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c > SRCS+= cxgb_ddp.c cxgb_vm.c > -SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h opt_tcpdebug.h opt_ddb.h > +SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h > +SRCS+= opt_tcpdebug.h opt_ddb.h opt_global.h > SRCS+= device_if.h bus_if.h pci_if.h > > #CFLAGS+= -DDEBUG_PRINT -DDEBUG > That's kind of odd. Do you have an explicit #include "opt_global.h" somewhere? -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Feb 14 15:49:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F27E016A5A6; Thu, 14 Feb 2008 15:49:18 +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 6FC1B16A503 for ; Thu, 14 Feb 2008 15:49:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 2B3C913C448 for ; Thu, 14 Feb 2008 15:49:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 9CF381A4D9F; Thu, 14 Feb 2008 07:49:08 -0800 (PST) From: John Baldwin To: Warner Losh Date: Thu, 14 Feb 2008 10:38:20 -0500 User-Agent: KMail/1.9.7 References: <200802080917.m189HF0o016528@repoman.freebsd.org> In-Reply-To: <200802080917.m189HF0o016528@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802141038.20967.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 15:49:19 -0000 On Friday 08 February 2008 04:17:15 am Warner Losh wrote: > http://perforce.freebsd.org/chv.cgi?CH=135027 > > Change 135027 by imp@imp_lighthouse on 2008/02/08 09:16:43 > > First cut at implementing gonzo's suggestions for AST handling. > > Affected files ... > > .. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#10 edit > .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#12 edit > .. //depot/projects/mips2-jnpr/src/sys/mips/mips/genassym.c#6 edit > .. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#13 edit > .. //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#10 edit > > Differences ... > > ==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#10 (text+ko) ==== > > @@ -304,6 +304,26 @@ > .align 3 > > /* > + * Call ast if required > + */ > +#define DO_AST \ > + GET_CPU_PCPU(k1) \ > + lw k1, PC_CURTHREAD(k1); \ > + lw t0, TD_FLAGS(k1); \ > + and t0, t0, (TDF_ASTPENDING|TDF_NEEDRESCHED); \ > + beq t0, zero, 27f; \ > + nop; \ > + lw k1, TD_FRAME(k1); \ > + lw t0, TF_REG_SR(k1); \ > + and t0, t0, SR_KSU_USER; \ > + beq t0, zero, 27f; \ > + nop; \ > + move a0, k1; \ > + jal ast; \ > + nop; \ > +27: > + > +/* > * XXX retain dialects XXX I'm not a MIPS asm expert, but I don't think you are disabling interrupts here like you need to do. Specifically, an interrupt might set an AST (e.g. hardclock() can set one for a pending SIGPROF or SIGALRM, or you can get an IPI to forward a signal sent from another CPU in SMP) so you have to do the check like this (psuedo-code): intr_disable(); while (td->td_flags & (TDF_ASTPENDING|TDF_NEEDRESCHED)) { intr_enable(); ast(); intr_disable(); } eret/reti/iret, etc. It also seems you are missing the loop above as well so that after ast returns you branch back up and check the flags again in case you got an interrupt that set an AST while you were in ast() with interrupts enabled. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Feb 14 17:06:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E6F0616A468; Thu, 14 Feb 2008 17:06:48 +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 93DEE16A419 for ; Thu, 14 Feb 2008 17:06:48 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9342613C4CE for ; Thu, 14 Feb 2008 17:06:48 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EH6mT5099167 for ; Thu, 14 Feb 2008 17:06:48 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EH6mGB099164 for perforce@freebsd.org; Thu, 14 Feb 2008 17:06:48 GMT (envelope-from swise@FreeBSD.org) Date: Thu, 14 Feb 2008 17:06:48 GMT Message-Id: <200802141706.m1EH6mGB099164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135385 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 17:06:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=135385 Change 135385 by swise@swise:vic10:iwarp on 2008/02/14 17:06:05 RDMA kernel API test tool. This submit creates a kernel test harness for easily creating test programs that use the RDMA kernel api. The harness allows loading a single test program as a kernel syscall, then calling it and passing params ala argc/argv. tools/test/rdma/kern/module - common test harness code and useful rdma functions that each test unit compiles into its module. tools/test/rdma/kern/tests - each subdir in this directory is a test unit that builds into a syscall module. The module system call is always named rdma_test. tools/test/rdma/kernel/call/call.c - program to load the test unit module, and call its syscall passing in the command line parameters, then unloads the module. Affected files ... .. //depot/projects/iwarp/tools/test/rdma/kern/Makefile#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/call/Makefile#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/call/call.c#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/args.c#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/args.h#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/inet_addr.c#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/inet_aton.h#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/test.h#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/module/testmod.c#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/tests/Makefile#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/tests/rdma_bind/Makefile#1 add .. //depot/projects/iwarp/tools/test/rdma/kern/tests/rdma_bind/rdma_bind.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Feb 14 17:10:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B221916A469; Thu, 14 Feb 2008 17:10:54 +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 7747A16A420 for ; Thu, 14 Feb 2008 17:10:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 76E7813C461 for ; Thu, 14 Feb 2008 17:10:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EHAsoa099371 for ; Thu, 14 Feb 2008 17:10:54 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EHAsOi099368 for perforce@freebsd.org; Thu, 14 Feb 2008 17:10:54 GMT (envelope-from swise@FreeBSD.org) Date: Thu, 14 Feb 2008 17:10:54 GMT Message-Id: <200802141710.m1EHAsOi099368@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135386 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 17:10:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=135386 Change 135386 by swise@swise:vic10:iwarp on 2008/02/14 17:09:59 Added prereq includes. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/ib_addr.h#5 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/ib_addr.h#5 (text+ko) ==== @@ -30,10 +30,16 @@ #if !defined(IB_ADDR_H) #define IB_ADDR_H -#include +#include +#include +#include + #include #include +#include + + #define MAX_ADDR_LEN ETHER_ADDR_LEN /* XXX doesn't support IB! */ struct rdma_addr_client { From owner-p4-projects@FreeBSD.ORG Thu Feb 14 17:10:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 122D516A534; Thu, 14 Feb 2008 17:10:55 +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 B352316A46B for ; Thu, 14 Feb 2008 17:10:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9AAD013C465 for ; Thu, 14 Feb 2008 17:10:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EHAsmR099377 for ; Thu, 14 Feb 2008 17:10:54 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EHAshR099374 for perforce@freebsd.org; Thu, 14 Feb 2008 17:10:54 GMT (envelope-from swise@FreeBSD.org) Date: Thu, 14 Feb 2008 17:10:54 GMT Message-Id: <200802141710.m1EHAshR099374@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 135387 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 17:10:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=135387 Change 135387 by swise@swise:vic10:iwarp on 2008/02/14 17:10:31 krping: turn off debug Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#9 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#9 (text+ko) ==== @@ -58,7 +58,7 @@ #define PFX "krping: " -static int debug = 1; +static int debug = 0; #define DEBUG_LOG if (debug) printf MODULE_AUTHOR("Steve Wise"); From owner-p4-projects@FreeBSD.ORG Thu Feb 14 17:29:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4248916A418; Thu, 14 Feb 2008 17:29:14 +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 E38B116A469 for ; Thu, 14 Feb 2008 17:29:13 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CBE5713C467 for ; Thu, 14 Feb 2008 17:29:13 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EHTDTM001191 for ; Thu, 14 Feb 2008 17:29:13 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EHTDZj001188 for perforce@freebsd.org; Thu, 14 Feb 2008 17:29:13 GMT (envelope-from sam@freebsd.org) Date: Thu, 14 Feb 2008 17:29:13 GMT Message-Id: <200802141729.m1EHTDZj001188@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 135389 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 17:29:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=135389 Change 135389 by sam@sam_ebb on 2008/02/14 17:28:58 o fix mbuf leak: some clients send ADDBA to reset a BA stream so we cannot blindly zero the state block, use IEEE80211_AGGR_RUNNING to mark if we've been running and purge the reorder buffer o while here add an assert to codify an obscure assumption Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ht.c#15 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#15 (text+ko) ==== @@ -283,19 +283,6 @@ } /* - * Start A-MPDU rx/re-order processing for the specified TID. - */ -static void -ampdu_rx_start(struct ieee80211_rx_ampdu *rap, int bufsiz, int start) -{ - memset(rap, 0, sizeof(*rap)); - rap->rxa_wnd = (bufsiz == 0) ? - IEEE80211_AGGR_BAWMAX : min(bufsiz, IEEE80211_AGGR_BAWMAX); - rap->rxa_start = start; - rap->rxa_flags |= IEEE80211_AGGR_XCHGPEND; -} - -/* * Purge all frames in the A-MPDU re-order queue. */ static void @@ -320,13 +307,33 @@ } /* + * Start A-MPDU rx/re-order processing for the specified TID. + */ +static void +ampdu_rx_start(struct ieee80211_rx_ampdu *rap, int bufsiz, int start) +{ + if (rap->rxa_flags & IEEE80211_AGGR_RUNNING) { + /* + * AMPDU previously setup and not terminated with a DELBA, + * flush the reorder q's in case anything remains. + */ + ampdu_rx_purge(rap); + } + memset(rap, 0, sizeof(*rap)); + rap->rxa_wnd = (bufsiz == 0) ? + IEEE80211_AGGR_BAWMAX : min(bufsiz, IEEE80211_AGGR_BAWMAX); + rap->rxa_start = start; + rap->rxa_flags |= IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND; +} + +/* * Stop A-MPDU rx processing for the specified TID. */ static void ampdu_rx_stop(struct ieee80211_rx_ampdu *rap) { - rap->rxa_flags &= ~IEEE80211_AGGR_XCHGPEND; ampdu_rx_purge(rap); + rap->rxa_flags &= ~(IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND); } /* @@ -464,6 +471,10 @@ */ if (rap->rxa_qframes != 0) { int n = rap->rxa_qframes, j; + + /* NB: this loop assumes i > 0 and/or rxa_m[0] is NULL */ + KASSERT(rap->rxa_m[0] == NULL, + ("%s: BA window slot 0 occupied", __func__)); for (j = i+1; j < rap->rxa_wnd; j++) { if (rap->rxa_m[j] != NULL) { rap->rxa_m[j-i] = rap->rxa_m[j]; From owner-p4-projects@FreeBSD.ORG Thu Feb 14 18:32:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3297016A420; Thu, 14 Feb 2008 18:32:20 +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 EC34C16A418 for ; Thu, 14 Feb 2008 18:32:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE5D713C44B for ; Thu, 14 Feb 2008 18:32:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EIWJdT013024 for ; Thu, 14 Feb 2008 18:32:19 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EIWJ9U013021 for perforce@freebsd.org; Thu, 14 Feb 2008 18:32:19 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 14 Feb 2008 18:32:19 GMT Message-Id: <200802141832.m1EIWJ9U013021@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 135390 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 18:32:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=135390 Change 135390 by gonzo@gonzo_jeeves on 2008/02/14 18:32:01 o Fix MCHECK exception in mips_TBIAP by generating sequential bogus address values instead of using only one for every TLB entry. Tested by: rrs Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#7 (text+ko) ==== @@ -473,7 +473,7 @@ _MFC0 t4, COP_0_TLB_HI # Get current PID move t2, a0 mfc0 t1, COP_0_TLB_WIRED - li v0, MIPS_KSEG0_START # invalid address + li v0, MIPS_KSEG0_START + 0x0fff0000 # invalid address mfc0 t3, COP_0_TLB_PG_MASK # save current pgMask # do {} while (t1 < t2) @@ -495,6 +495,7 @@ tlbwi # invalidate the TLB entry 2: addu t1, t1, 1 + addu v0, 1 << (PAGE_SHIFT + 1) bne t1, t2, 1b nop From owner-p4-projects@FreeBSD.ORG Thu Feb 14 18:34:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 871FD16A421; Thu, 14 Feb 2008 18:34:22 +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 346FA16A41A for ; Thu, 14 Feb 2008 18:34:22 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3696F13C469 for ; Thu, 14 Feb 2008 18:34:22 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EIYMX7013294 for ; Thu, 14 Feb 2008 18:34:22 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EIYLF6013291 for perforce@freebsd.org; Thu, 14 Feb 2008 18:34:21 GMT (envelope-from rrs@cisco.com) Date: Thu, 14 Feb 2008 18:34:21 GMT Message-Id: <200802141834.m1EIYLF6013291@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135391 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 18:34:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=135391 Change 135391 by rrs@rrs-mips2-jnpr on 2008/02/14 18:33:29 Assure that when we hit an excpetion we DO get the right SX/UX bits set for Octeon. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#15 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#15 (text+ko) ==== @@ -59,6 +59,7 @@ #include #include #include +#include #include #include "assym.s" @@ -264,6 +265,7 @@ mfc0 a0, COP_0_STATUS_REG ;\ li a2, ~(SR_INT_ENAB | SR_EXL | SR_KSU_MASK) ;\ and a0, a0, a2 ;\ + or a0, a0, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) ; \ mtc0 a0, COP_0_STATUS_REG #else #define CLEAR_STATUS \ @@ -471,6 +473,9 @@ la gp, _C_LABEL(_gp) # switch to kernel GP # Turn off fpu and enter kernel mode and t0, a0, ~(SR_COP_1_BIT | SR_EXL | SR_KSU_MASK | SR_INT_ENAB) +#ifdef TARGET_OCTEON + or t0, t0, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) +#endif mtc0 t0, COP_0_STATUS_REG addu a0, k1, U_PCB_REGS ITLBNOPFIX From owner-p4-projects@FreeBSD.ORG Thu Feb 14 18:46:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 933B016A421; Thu, 14 Feb 2008 18:46:38 +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 4108016A41B for ; Thu, 14 Feb 2008 18:46:38 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 43DC813C458 for ; Thu, 14 Feb 2008 18:46:38 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EIkbM0013960 for ; Thu, 14 Feb 2008 18:46:38 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EIkaO3013957 for perforce@freebsd.org; Thu, 14 Feb 2008 18:46:36 GMT (envelope-from rrs@cisco.com) Date: Thu, 14 Feb 2008 18:46:36 GMT Message-Id: <200802141846.m1EIkaO3013957@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135392 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 18:46:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=135392 Change 135392 by rrs@rrs-mips2-jnpr on 2008/02/14 18:45:46 Adds T_MCHECK Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/trap.h#5 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/trap.h#5 (text+ko) ==== @@ -65,6 +65,7 @@ #define T_FPE 15 /* Floating point exception */ #define T_IWATCH 16 /* Inst. Watch address reference */ #define T_DWATCH 23 /* Data Watch address reference */ +#define T_MCHECK 24 /* Received an MCHECK */ #define T_VCED 31 /* Virtual coherency data */ #define T_USER 0x20 /* user-mode flag or'ed with type */ From owner-p4-projects@FreeBSD.ORG Thu Feb 14 18:47:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4BD316A468; Thu, 14 Feb 2008 18:47:39 +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 980D816A41A for ; Thu, 14 Feb 2008 18:47:39 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9A25D13C457 for ; Thu, 14 Feb 2008 18:47:39 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EIld8u014051 for ; Thu, 14 Feb 2008 18:47:39 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EIld53014048 for perforce@freebsd.org; Thu, 14 Feb 2008 18:47:39 GMT (envelope-from rrs@cisco.com) Date: Thu, 14 Feb 2008 18:47:39 GMT Message-Id: <200802141847.m1EIld53014048@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rrs@cisco.com using -f From: "Randall R. Stewart" To: Perforce Change Reviews Cc: Subject: PERFORCE change 135393 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 18:47:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=135393 Change 135393 by rrs@rrs-mips2-jnpr on 2008/02/14 18:46:43 Adds M_CHECK handler in trap() Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#12 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#12 (text+ko) ==== @@ -38,7 +38,6 @@ * from: @(#)trap.c 8.5 (Berkeley) 1/11/94 * JNPR: trap.c,v 1.13.2.2 2007/08/29 10:03:49 girish */ - #include __FBSDID("$FreeBSD$"); @@ -96,10 +95,9 @@ #include #include -#define TRAP_DEBUG 0 -#if TRAP_DEBUG -int trap_debug = 0; +#ifdef TRAP_DEBUG +int trap_debug = 1; #endif extern unsigned onfault_table[]; @@ -115,7 +113,7 @@ static void log_bad_page_fault(char *, struct trapframe *, int); static void log_frame_dump(struct trapframe *frame); static void get_mapping_info(vm_offset_t, pd_entry_t **, pt_entry_t **); -#if TRAP_DEBUG +#ifdef TRAP_DEBUG static void trap_frame_dump(struct trapframe *frame); #endif extern char edata[]; @@ -342,7 +340,7 @@ disableintr(); } -#if TRAP_DEBUG +#ifdef TRAP_DEBUG if (trap_debug) { static vm_offset_t last_badvaddr = 0; static vm_offset_t this_badvaddr = 0; @@ -361,7 +359,7 @@ printf("cpuid = %d\n", PCPU_GET(cpuid)); #endif MachTLBGetPID(pid); - printf("badaddr = %p, pc = %p, ra = %p, sp = %p, sr = 0x%x, pid = %d, ASID = 0x%x\n", + printf("badaddr = %p, pc = %p, ra = %p, sp = %p, sr = 0x%x, pid = %d, ASID = 0x%x\n", trapframe->badvaddr, trapframe->pc, trapframe->ra, trapframe->sp, trapframe->sr, (curproc ? curproc->p_pid : -1), pid); @@ -395,6 +393,12 @@ #endif switch (type) { + case T_MCHECK: +#ifdef DDB + kdb_trap(type, 0, trapframe); +#endif + panic("MCHECK\n"); + break; case T_TLB_MOD: /* check for kernel address */ if (KERNLAND(trapframe->badvaddr)) { @@ -557,9 +561,9 @@ --p->p_lock; PROC_UNLOCK(p); #ifdef VMFAULT_TRACE - printf("vm_fault(%x (pmap %x), %x (%x), %x, %d) -> %x at pc %x\n", - map, &vm->vm_pmap, va, trapframe->badvaddr, ftype, flag, - rv, trapframe->pc); + printf("vm_fault(%x (pmap %x), %x (%x), %x, %d) -> %x at pc %x\n", + map, &vm->vm_pmap, va, trapframe->badvaddr, ftype, flag, + rv, trapframe->pc); #endif if (rv == KERN_SUCCESS) { @@ -588,10 +592,6 @@ case T_ADDR_ERR_LD+T_USER: /* misaligned or kseg access */ case T_ADDR_ERR_ST+T_USER: /* misaligned or kseg access */ -#if TRAP_DEBUG - printf("+++ ADDR_ERR+USER: type = %d, badvaddr = %x\n", type, - trapframe->badvaddr); -#endif if (allow_unaligned_acc) { int mode; @@ -654,7 +654,7 @@ tpc = trapframe->pc; /* Remember if restart */ if (DELAYBRANCH(trapframe->cause)) { /* Check BD bit */ locr0->pc = MipsEmulateBranch(locr0, trapframe->pc, 0, - 0); + 0); } else { locr0->pc += sizeof(int); } @@ -695,10 +695,10 @@ args[3] = locr0->a3; nsaved = 4; } - #if TRAP_DEBUG printf("SYSCALL #%d pid:%u\n", code, p->p_pid); #endif + if (p->p_sysent->sv_mask) code &= p->p_sysent->sv_mask; @@ -752,7 +752,6 @@ locr0 = td->td_frame; #endif trapdebug_enter(locr0, -code); - switch (i) { case 0: if (quad_syscall && code != SYS_lseek) { @@ -951,7 +950,7 @@ case T_ADDR_ERR_LD: /* misaligned access */ case T_ADDR_ERR_ST: /* misaligned access */ -#if TRAP_DEBUG +#ifdef TRAP_DEBUG printf("+++ ADDR_ERR: type = %d, badvaddr = %x\n", type, trapframe->badvaddr); #endif @@ -1007,7 +1006,7 @@ else printf("kernel mode)\n"); -#if TRAP_DEBUG +#ifdef TRAP_DEBUG printf("badvaddr = %p, pc = %p, ra = %p, sr = 0x%x\n", trapframe->badvaddr, trapframe->pc, trapframe->ra, trapframe->sr); @@ -1554,7 +1553,7 @@ #endif } -#if TRAP_DEBUG +#ifdef TRAP_DEBUG static void trap_frame_dump(struct trapframe *frame) { From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:46:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B12DE16A4A1; Thu, 14 Feb 2008 20:46:45 +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 3B5EE16A496 for ; Thu, 14 Feb 2008 20:46:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 27C6E13C4EC for ; Thu, 14 Feb 2008 20:46:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKkiNp023382 for ; Thu, 14 Feb 2008 20:46:44 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKkinv023379 for perforce@freebsd.org; Thu, 14 Feb 2008 20:46:44 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Feb 2008 20:46:44 GMT Message-Id: <200802142046.m1EKkinv023379@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:46:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=135400 Change 135400 by jhb@jhb_mutex on 2008/02/14 20:46:23 A hack to debug more sleepq problems. Affected files ... .. //depot/projects/smpng/sys/kern/kern_timeout.c#34 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_timeout.c#34 (text+ko) ==== @@ -521,6 +521,8 @@ mtx_unlock_spin(&callout_lock); if (sq_locked) sleepq_release(&callout_wait); + if (c == &curthread->td_slpcallout) + panic("aww crap"); return (0); } From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:47:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC64F16A473; Thu, 14 Feb 2008 20:47:46 +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 9987F16A4C4 for ; Thu, 14 Feb 2008 20:47:46 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E41313C45D for ; Thu, 14 Feb 2008 20:47:46 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKlkKj032328 for ; Thu, 14 Feb 2008 20:47:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKlkq5032325 for perforce@freebsd.org; Thu, 14 Feb 2008 20:47:46 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:47:46 GMT Message-Id: <200802142047.m1EKlkq5032325@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:47:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=135401 Change 135401 by jb@jb_freebsd1 on 2008/02/14 20:47:19 Add the malloc probe definitions. Affected files ... .. //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#13 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#13 (text+ko) ==== @@ -85,6 +85,12 @@ /* Global variable in kern_exit.c */ extern dtrace_execexit_func_t dtrace_fasttrap_exit; +/* The dtmalloc provider hooks into malloc. */ +typedef void (*dtrace_malloc_probe_func_t)(u_int32_t, uintptr_t arg0, + uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4); + +extern dtrace_malloc_probe_func_t dtrace_malloc_probe; + /* * Functions which allow the dtrace module to check that the kernel * hooks have been compiled with sufficient space for it's private From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:48:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F36A16A46D; Thu, 14 Feb 2008 20:48:48 +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 C6A5616A468 for ; Thu, 14 Feb 2008 20:48:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CB31313C457 for ; Thu, 14 Feb 2008 20:48:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKmlAs032365 for ; Thu, 14 Feb 2008 20:48:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKmlGq032362 for perforce@freebsd.org; Thu, 14 Feb 2008 20:48:47 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:48:47 GMT Message-Id: <200802142048.m1EKmlGq032362@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:48:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=135402 Change 135402 by jb@jb_freebsd1 on 2008/02/14 20:48:17 Add the dtmalloc provider to the list of dependencies so that it gets loaded automatically. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/dtraceall/dtraceall.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/dtraceall/dtraceall.c#6 (text+ko) ==== @@ -64,6 +64,7 @@ MODULE_DEPEND(dtraceall, cyclic, 1, 1, 1); MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); +MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1); #if defined(__amd64__) || defined(__i386__) MODULE_DEPEND(dtraceall, fbt, 1, 1, 1); #endif From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:50:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5AEF016A420; Thu, 14 Feb 2008 20:50:50 +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 07C8616A419 for ; Thu, 14 Feb 2008 20:50:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0C20713C469 for ; Thu, 14 Feb 2008 20:50:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKonrE032529 for ; Thu, 14 Feb 2008 20:50:49 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKon2F032526 for perforce@freebsd.org; Thu, 14 Feb 2008 20:50:49 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:50:49 GMT Message-Id: <200802142050.m1EKon2F032526@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135403 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:50:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=135403 Change 135403 by jb@jb_freebsd1 on 2008/02/14 20:50:09 Add a definition for printt() --- a function to print a 'type' based on a pointer to a thing of 'type' and an array dimension. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#34 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#34 (text) ==== @@ -408,6 +408,7 @@ #define DTRACEACT_PRINTA 4 /* printa() action */ #define DTRACEACT_LIBACT 5 /* library-controlled action */ #define DTRACEACT_PRINTM 6 /* printm() action */ +#define DTRACEACT_PRINTT 7 /* printt() action */ #define DTRACEACT_PROC 0x0100 #define DTRACEACT_USTACK (DTRACEACT_PROC + 1) From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:52:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B86A16A419; Thu, 14 Feb 2008 20:52:52 +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 3FFD216A417 for ; Thu, 14 Feb 2008 20:52:52 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 44E3D13C46A for ; Thu, 14 Feb 2008 20:52:52 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKqqT5032674 for ; Thu, 14 Feb 2008 20:52:52 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKqq60032671 for perforce@freebsd.org; Thu, 14 Feb 2008 20:52:52 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:52:52 GMT Message-Id: <200802142052.m1EKqq60032671@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135404 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=135404 Change 135404 by jb@jb_freebsd1 on 2008/02/14 20:52:23 WIP to implement the printt() action. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#39 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#39 (text) ==== @@ -4513,7 +4513,7 @@ uintptr_t *typeref = (uintptr_t *) P2ROUNDUP(mstate->dtms_scratch_ptr, sizeof(uintptr_t)); size_t scratch_size = ((uintptr_t) typeref - mstate->dtms_scratch_ptr) + size; - /* type, length and address */ + /* address, length, type */ typeref[0] = tupregs[0].dttk_value; typeref[1] = tupregs[1].dttk_value; typeref[2] = tupregs[2].dttk_value; @@ -6064,6 +6064,43 @@ break; } + case DTRACEACT_PRINTT: { + /* The DIF returns a 'typeref'. */ + uintptr_t *typeref = (uintptr_t *)(uintptr_t) val; + + /* Get the size from the typeref. */ + size = typeref[1]; + + /* + * Check if the size exceeds the allocated + * buffer size. + */ + if (size + sizeof(uintptr_t) > dp->dtdo_rtype.dtdt_size) { + /* Flag a drop! */ + *flags |= CPU_DTRACE_DROP; + continue; + } + + /* Store the size in the buffer first. */ + DTRACE_STORE(uintptr_t, tomax, + valoffs, size); + + /* + * Offset the buffer address to the start + * of the data. + */ + valoffs += sizeof(uintptr_t); + + /* + * Reset to the memory address rather than + * the typeref array, then let the BYREF + * code below do the work to store the + * memory data in the buffer. + */ + val = typeref[0]; + break; + } + case DTRACEACT_CHILL: if (dtrace_priv_kernel_destructive(state)) dtrace_action_chill(&mstate, val); @@ -9860,6 +9897,10 @@ size = dp->dtdo_rtype.dtdt_size; break; + case DTRACEACT_PRINTT: + size = dp->dtdo_rtype.dtdt_size; + break; + case DTRACEACT_COMMIT: { dtrace_action_t *act = ecb->dte_action; From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:53:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB72216A498; Thu, 14 Feb 2008 20:53:53 +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 8FF3A16A480 for ; Thu, 14 Feb 2008 20:53:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9200613C4E7 for ; Thu, 14 Feb 2008 20:53:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKrrf0032734 for ; Thu, 14 Feb 2008 20:53:53 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKrrdI032730 for perforce@freebsd.org; Thu, 14 Feb 2008 20:53:53 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Feb 2008 20:53:53 GMT Message-Id: <200802142053.m1EKrrdI032730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:53:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=135405 Change 135405 by jhb@jhb_mutex on 2008/02/14 20:53:35 - Add 'show callouts' - add test case for pause issue. Affected files ... .. //depot/projects/smpng/sys/kern/kern_timeout.c#35 edit .. //depot/projects/smpng/sys/modules/crash/crash.c#50 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_timeout.c#35 (text+ko) ==== @@ -37,6 +37,8 @@ #include __FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.108 2007/11/22 12:15:54 attilio Exp $"); +#include "opt_ddb.h" + #include #include #include @@ -48,6 +50,10 @@ #include #include #include +#ifdef DDB +#include +#include +#endif static int avg_depth; SYSCTL_INT(_debug, OID_AUTO, to_avg_depth, CTLFLAG_RD, &avg_depth, 0, @@ -712,3 +718,71 @@ return; } #endif /* APM_FIXUP_CALLTODO */ + +#ifdef DDB +#if 0 +static void +db_print_ticks(int ticks) +{ + int h, m, s; + + s = ticks / hz; + m = s / 60; + h = m / 60; + + if (h > 0) + printf("%02d:", h); + else + printf(" "); + if (m > 0) + printf("%02d:", m % 60); + else + printf(" "); + if (s > 0) + printf("%02d.%-4d", s % 60, ticks % hz); + else + printf(" %4d", ticks); +} +#endif + +DB_SHOW_COMMAND(callouts, db_show_callouts) +{ + struct callout *c; + int bucket, callouts, sticks; + + /* First, count the number of callouts. */ + callouts = 0; + for (bucket = 0; bucket < callwheelsize; bucket++) { + TAILQ_FOREACH(c, &callwheel[bucket], c_links.tqe) { + callouts++; + } + } + + sticks = softticks; + do { + bucket = sticks & callwheelmask; + TAILQ_FOREACH(c, &callwheel[bucket], c_links.tqe) { + if (c->c_time < sticks) + continue; + if (c->c_time > sticks) + break; +#if 1 + db_printf("%9d ", c->c_time - softticks); +#else + db_print_ticks(c->c_time - softticks); + db_printf(" "); +#endif + db_printsym((db_expr_t)c->c_func, DB_STGY_PROC); + db_printf("(%p)", c->c_arg); + if (c->c_lock) + db_printf(" lock %p (%s)", c->c_lock, + c->c_lock->lo_name); + db_printf("\n"); + callouts--; + if (db_pager_quit) + return; + } + sticks++; + } while (callouts > 0); +} +#endif /* DDB */ ==== //depot/projects/smpng/sys/modules/crash/crash.c#50 (text+ko) ==== @@ -89,6 +89,15 @@ /* Events. */ +static void +pause_forever(void *dummy) +{ + + for (;;) + pause("foo", 1); +} +CRASH_EVENT("pause in an endless loop", pause_forever); + static int race_wchan; static void From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:54:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1527816A476; Thu, 14 Feb 2008 20:54:55 +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 CEBD216A474 for ; Thu, 14 Feb 2008 20:54:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D3E4713C4E5 for ; Thu, 14 Feb 2008 20:54:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKssT0032788 for ; Thu, 14 Feb 2008 20:54:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKss53032785 for perforce@freebsd.org; Thu, 14 Feb 2008 20:54:54 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:54:54 GMT Message-Id: <200802142054.m1EKss53032785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:54:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=135406 Change 135406 by jb@jb_freebsd1 on 2008/02/14 20:54:39 Oops. The printm() data comes back with the size as a uintptr_t. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#13 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#13 (text) ==== @@ -804,9 +804,9 @@ dt_print_memory(dtrace_hdl_t *dtp, FILE *fp, caddr_t addr) { int quiet = (dtp->dt_options[DTRACEOPT_QUIET] != DTRACEOPT_UNSET); - size_t nbytes = *((uint64_t *) addr); + size_t nbytes = *((uintptr_t *) addr); - return (dt_print_bytes(dtp, fp, addr + sizeof(uint64_t), + return (dt_print_bytes(dtp, fp, addr + sizeof(uintptr_t), nbytes, 50, quiet, 1)); } From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:55:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D81816A418; Thu, 14 Feb 2008 20:55: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 1201B16A478 for ; Thu, 14 Feb 2008 20:55:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 167E513C46B for ; Thu, 14 Feb 2008 20:55:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKttsQ032894 for ; Thu, 14 Feb 2008 20:55:55 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKttm5032891 for perforce@freebsd.org; Thu, 14 Feb 2008 20:55:55 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:55:55 GMT Message-Id: <200802142055.m1EKttm5032891@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135407 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:55:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=135407 Change 135407 by jb@jb_freebsd1 on 2008/02/14 20:55:18 WIP for the printm() action. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h#6 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#20 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#25 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h#6 (text) ==== @@ -236,8 +236,10 @@ D_LQUANT_MATCHBASE, /* lquantize() mismatch on base */ D_LQUANT_MATCHLIM, /* lquantize() mismatch on limit */ D_LQUANT_MATCHSTEP, /* lquantize() mismatch on step */ - D_PRINTM_ADDR, /* printm() address bad type */ - D_PRINTM_SIZE /* printm() size bad type */ + D_PRINTM_ADDR, /* printm() memref bad type */ + D_PRINTM_SIZE, /* printm() size bad type */ + D_PRINTT_ADDR, /* printt() typeref bad type */ + D_PRINTT_SIZE /* printt() size bad type */ } dt_errtag_t; extern const char *dt_errtag(dt_errtag_t); ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#20 (text) ==== @@ -431,6 +431,7 @@ #define DT_ACT_UADDR DT_ACT(27) /* uaddr() action */ #define DT_ACT_SETOPT DT_ACT(28) /* setopt() action */ #define DT_ACT_PRINTM DT_ACT(29) /* printm() action */ +#define DT_ACT_PRINTT DT_ACT(30) /* printt() action */ /* * Sentinel to tell freopen() to restore the saved stdout. This must not ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#25 (text) ==== @@ -316,6 +316,8 @@ &dt_idops_func, "void(@, ...)" }, { "printm", DT_IDENT_ACTFUNC, 0, DT_ACT_PRINTM, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_func, "void(size_t, uintptr_t *)" }, +{ "printt", DT_IDENT_ACTFUNC, 0, DT_ACT_PRINTT, DT_ATTR_STABCMN, DT_VERS_1_0, + &dt_idops_func, "void(size_t, uintptr_t *)" }, { "probefunc", DT_IDENT_SCALAR, 0, DIF_VAR_PROBEFUNC, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "string" }, { "probemod", DT_IDENT_SCALAR, 0, DIF_VAR_PROBEMOD, @@ -396,6 +398,8 @@ &dt_idops_func, "void(@, size_t)" }, { "trunc", DT_IDENT_ACTFUNC, 0, DT_ACT_TRUNC, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_func, "void(...)" }, +{ "typeref", DT_IDENT_FUNC, 0, DIF_SUBR_TYPEREF, DT_ATTR_STABCMN, DT_VERS_1_1, + &dt_idops_func, "uintptr_t *(void *, size_t)" }, { "uaddr", DT_IDENT_ACTFUNC, 0, DT_ACT_UADDR, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, { "ucaller", DT_IDENT_SCALAR, 0, DIF_VAR_UCALLER, DT_ATTR_STABCMN, From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:57:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79ECB16A473; Thu, 14 Feb 2008 20:57:01 +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 3B43C16A417 for ; Thu, 14 Feb 2008 20:57:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 27A7513C474 for ; Thu, 14 Feb 2008 20:57:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKv0mR032966 for ; Thu, 14 Feb 2008 20:57:00 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKv0bE032959 for perforce@freebsd.org; Thu, 14 Feb 2008 20:57:00 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:57:00 GMT Message-Id: <200802142057.m1EKv0bE032959@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:57:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=135408 Change 135408 by jb@jb_freebsd1 on 2008/02/14 20:56:37 Add the dtmalloc provider to trace kernel malloc and free on a per-malloc_type basis rather than by function. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtmalloc/dtmalloc.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:57:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 454E216A530; Thu, 14 Feb 2008 20:57:01 +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 60C2116A46C for ; Thu, 14 Feb 2008 20:57:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C26613C4CE for ; Thu, 14 Feb 2008 20:57:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKv127032972 for ; Thu, 14 Feb 2008 20:57:01 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKv1NS032969 for perforce@freebsd.org; Thu, 14 Feb 2008 20:57:01 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Feb 2008 20:57:01 GMT Message-Id: <200802142057.m1EKv1NS032969@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135409 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:57:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=135409 Change 135409 by jhb@jhb_mutex on 2008/02/14 20:56:51 Compiling is overrated. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#51 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#51 (text+ko) ==== @@ -90,7 +90,7 @@ /* Events. */ static void -pause_forever(void *dummy) +pause_forever(void) { for (;;) From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:58:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6DAC16A41A; Thu, 14 Feb 2008 20:58:02 +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 8C36916A417 for ; Thu, 14 Feb 2008 20:58:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 782A613C4DD for ; Thu, 14 Feb 2008 20:58:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKw2nV033098 for ; Thu, 14 Feb 2008 20:58:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKw25n033095 for perforce@freebsd.org; Thu, 14 Feb 2008 20:58:02 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:58:02 GMT Message-Id: <200802142058.m1EKw25n033095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:58:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=135410 Change 135410 by jb@jb_freebsd1 on 2008/02/14 20:57:32 Add a commented out CFLAG for debugging. Affected files ... .. //depot/projects/dtrace/src/cddl/usr.sbin/dtrace/Makefile#8 edit Differences ... ==== //depot/projects/dtrace/src/cddl/usr.sbin/dtrace/Makefile#8 (text+ko) ==== @@ -20,6 +20,8 @@ .PATH: ${OPENSOLARIS_USR_DISTDIR}/cmd/dtrace +#CFLAGS+= -DNEED_ERRLOC + #YFLAGS+= -d LDFLAGS+= -pthread \ From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:59:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DBA616A473; Thu, 14 Feb 2008 20:59:04 +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 AB21516A46B for ; Thu, 14 Feb 2008 20:59:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A963013C457 for ; Thu, 14 Feb 2008 20:59:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKx39x033153 for ; Thu, 14 Feb 2008 20:59:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKx3iq033150 for perforce@freebsd.org; Thu, 14 Feb 2008 20:59:03 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 20:59:03 GMT Message-Id: <200802142059.m1EKx3iq033150@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:59:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=135411 Change 135411 by jb@jb_freebsd1 on 2008/02/14 20:58:10 WIP for the printt() action. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_cc.c#10 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_cg.c#11 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_cc.c#10 (text) ==== @@ -965,8 +965,8 @@ if (dt_node_is_pointer(addr) == 0) { dnerror(addr, D_PRINTM_ADDR, - "tracemem( ) argument #2 is incompatible with " - "prototype:\n\tprototype: integer\n" + "printm( ) argument #2 is incompatible with " + "prototype:\n\tprototype: pointer\n" "\t argument: %s\n", dt_node_type_name(addr, n, sizeof (n))); } @@ -976,7 +976,38 @@ ap->dtad_kind = DTRACEACT_PRINTM; ap->dtad_difo->dtdo_rtype.dtdt_flags |= DIF_TF_BYREF; - ap->dtad_difo->dtdo_rtype.dtdt_size = size->dn_value + sizeof(uint64_t); + ap->dtad_difo->dtdo_rtype.dtdt_size = size->dn_value + sizeof(uintptr_t); +} + +static void +dt_action_printt(dtrace_hdl_t *dtp, dt_node_t *dnp, dtrace_stmtdesc_t *sdp) +{ + dtrace_actdesc_t *ap = dt_stmt_action(dtp, sdp); + + dt_node_t *size = dnp->dn_args; + dt_node_t *addr = dnp->dn_args->dn_list; + + char n[DT_TYPE_NAMELEN]; + + if (dt_node_is_posconst(size) == 0) { + dnerror(size, D_PRINTT_SIZE, "printt( ) argument #1 must " + "be a non-zero positive integral constant expression\n"); + } + + if (dt_node_is_pointer(addr) == 0) { + dnerror(addr, D_PRINTT_ADDR, + "printt( ) argument #2 is incompatible with " + "prototype:\n\tprototype: pointer\n" + "\t argument: %s\n", + dt_node_type_name(addr, n, sizeof (n))); + } + + dt_cg(yypcb, addr); + ap->dtad_difo = dt_as(yypcb); + ap->dtad_kind = DTRACEACT_PRINTT; + + ap->dtad_difo->dtdo_rtype.dtdt_flags |= DIF_TF_BYREF; + ap->dtad_difo->dtdo_rtype.dtdt_size = size->dn_value + sizeof(uintptr_t); } static void @@ -1048,6 +1079,9 @@ case DT_ACT_PRINTM: dt_action_printm(dtp, dnp->dn_expr, sdp); break; + case DT_ACT_PRINTT: + dt_action_printt(dtp, dnp->dn_expr, sdp); + break; case DT_ACT_RAISE: dt_action_raise(dtp, dnp->dn_expr, sdp); break; ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_cg.c#11 (text) ==== @@ -1801,6 +1801,13 @@ dt_idkind_name(idp->di_kind), idp->di_name); } + if (idp->di_id == DIF_SUBR_TYPEREF) { + dt_node_t *size = dnp->dn_args; + char buf[64]; + ctf_type_name(size->dn_ctfp, size->dn_type, buf, sizeof (buf)); +printf("%s(%d); %s %s( ) '%s'<----- DIF_SUBR_TYPEREF\n",__func__,__LINE__,dt_idkind_name(idp->di_kind), idp->di_name,buf); + } + dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp); if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1) From owner-p4-projects@FreeBSD.ORG Thu Feb 14 20:59:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B973116A538; Thu, 14 Feb 2008 20:59:04 +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 C825E16A46D for ; Thu, 14 Feb 2008 20:59:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CD3B313C4E8 for ; Thu, 14 Feb 2008 20:59:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EKx3oM033159 for ; Thu, 14 Feb 2008 20:59:03 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EKx3Ow033156 for perforce@freebsd.org; Thu, 14 Feb 2008 20:59:03 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Feb 2008 20:59:03 GMT Message-Id: <200802142059.m1EKx3Ow033156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 20:59:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=135412 Change 135412 by jhb@jhb_mutex on 2008/02/14 20:58:59 Bind to CPU 1 as I think we need to be running concurrent with softclock() to pull this off. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#52 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#52 (text+ko) ==== @@ -92,9 +92,22 @@ static void pause_forever(void) { + struct thread *td; + /* + * Bind to CPU 1 so that softclock can run ok on CPU 0. + */ + td = curthread; + thread_lock(td); + sched_bind(td, 1); + thread_unlock(td); + for (;;) pause("foo", 1); + + thread_lock(td); + sched_unbind(td); + thread_unlock(td); } CRASH_EVENT("pause in an endless loop", pause_forever); From owner-p4-projects@FreeBSD.ORG Thu Feb 14 21:00:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44BDF16A421; Thu, 14 Feb 2008 21:00:05 +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 09B3A16A41A for ; Thu, 14 Feb 2008 21:00:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0570913C46B for ; Thu, 14 Feb 2008 21:00:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EL04wR033270 for ; Thu, 14 Feb 2008 21:00:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EL041g033267 for perforce@freebsd.org; Thu, 14 Feb 2008 21:00:04 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 21:00:04 GMT Message-Id: <200802142100.m1EL041g033267@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135413 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 21:00:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=135413 Change 135413 by jb@jb_freebsd1 on 2008/02/14 21:00:02 Fix a silly mistake which blew up the 'free' probe. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_malloc.c#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_malloc.c#8 (text+ko) ==== @@ -264,11 +264,13 @@ mtsp->mts_size |= 1 << zindx; #ifdef KDTRACE_HOOKS - if (dtrace_malloc_probe != NULL && - mtip->mti_probes[DTMALLOC_PROBE_MALLOC] != 0) - (dtrace_malloc_probe)(mtip->mti_probes[DTMALLOC_PROBE_MALLOC], - (uintptr_t) mtp, (uintptr_t) mtip, - (uintptr_t) mtsp, size, zindx); + if (dtrace_malloc_probe != NULL) { + uint32_t probe_id = mtip->mti_probes[DTMALLOC_PROBE_MALLOC]; + if (probe_id != 0) + (dtrace_malloc_probe)(probe_id, + (uintptr_t) mtp, (uintptr_t) mtip, + (uintptr_t) mtsp, size, zindx); + } #endif critical_exit(); @@ -301,11 +303,13 @@ mtsp->mts_numfrees++; #ifdef KDTRACE_HOOKS - if (dtrace_malloc_probe != NULL && - mtip->mti_probes[DTMALLOC_PROBE_MALLOC] != 0) - (dtrace_malloc_probe)(mtip->mti_probes[DTMALLOC_PROBE_FREE], - (uintptr_t) mtp, (uintptr_t) mtip, - (uintptr_t) mtsp, size, 0); + if (dtrace_malloc_probe != NULL) { + uint32_t probe_id = mtip->mti_probes[DTMALLOC_PROBE_FREE]; + if (probe_id != 0) + (dtrace_malloc_probe)(probe_id, + (uintptr_t) mtp, (uintptr_t) mtip, + (uintptr_t) mtsp, size, 0); + } #endif critical_exit(); From owner-p4-projects@FreeBSD.ORG Thu Feb 14 21:21:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB16716A41A; Thu, 14 Feb 2008 21:21:28 +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 6F0D516A417 for ; Thu, 14 Feb 2008 21:21:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 724A413C45A for ; Thu, 14 Feb 2008 21:21:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1ELLStt036272 for ; Thu, 14 Feb 2008 21:21:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1ELLR7b036269 for perforce@freebsd.org; Thu, 14 Feb 2008 21:21:27 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 21:21:27 GMT Message-Id: <200802142121.m1ELLR7b036269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135414 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 21:21:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=135414 Change 135414 by jb@jb_freebsd1 on 2008/02/14 21:20:34 IFC Affected files ... .. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#19 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_hypot.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_hypotf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_pow.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_powf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ceil.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_floor.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_trunc.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#6 integrate .. //depot/projects/dtrace/src/share/man/man4/sk.4#5 integrate .. //depot/projects/dtrace/src/share/man/man9/lock.9#11 integrate .. //depot/projects/dtrace/src/sys/dev/coretemp/coretemp.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#9 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#15 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/pmap.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#25 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#26 integrate .. //depot/projects/dtrace/src/usr.bin/netstat/route.c#12 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.c#7 integrate .. //depot/projects/dtrace/www/en/search/search.sgml#6 integrate .. //depot/projects/dtrace/www/share/sgml/advisories.xml#17 integrate Differences ... ==== //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#19 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.70 2008/02/06 20:43:19 des Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.71 2008/02/14 12:37:58 des Exp $ */ #include "namespace.h" @@ -876,5 +876,5 @@ if (__predict_false(ret)) return (ret); } - return ((*mutex)->m_lock.m_owner == TID(curthread)); + return ((*mutex)->m_owner == curthread); } ==== //depot/projects/dtrace/src/lib/msun/src/e_hypot.c#4 (text+ko) ==== @@ -11,9 +11,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.9 2005/02/04 18:26:05 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.10 2008/02/14 13:44:03 bde Exp $"); /* __ieee754_hypot(x,y) * @@ -68,7 +67,8 @@ if(ha > 0x5f300000) { /* a>2**500 */ if(ha >= 0x7ff00000) { /* Inf or NaN */ u_int32_t low; - w = a+b; /* for sNaN */ + /* Use original arg order iff result is NaN; quieten sNaNs. */ + w = fabs(x+0.0)+fabs(y+0.0); GET_LOW_WORD(low,a); if(((ha&0xfffff)|low)==0) w = a; GET_LOW_WORD(low,b); ==== //depot/projects/dtrace/src/lib/msun/src/e_hypotf.c#4 (text+ko) ==== @@ -13,9 +13,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.9 2002/05/28 18:15:03 alfred Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.10 2008/02/14 13:44:03 bde Exp $"); #include "math.h" #include "math_private.h" @@ -37,7 +36,8 @@ k=0; if(ha > 0x58800000) { /* a>2**50 */ if(ha >= 0x7f800000) { /* Inf or NaN */ - w = a+b; /* for sNaN */ + /* Use original arg order iff result is NaN; quieten sNaNs. */ + w = fabsf(x+0.0F)+fabsf(y+0.0F); if(ha == 0x7f800000) w = a; if(hb == 0x7f800000) w = b; return w; ==== //depot/projects/dtrace/src/lib/msun/src/e_pow.c#4 (text+ko) ==== @@ -9,9 +9,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_pow.c,v 1.11 2005/02/04 18:26:06 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_pow.c,v 1.13 2008/02/14 12:56:35 bde Exp $"); /* __ieee754_pow(x,y) return x**y * @@ -110,10 +109,10 @@ /* y==zero: x**0 = 1 */ if((iy|ly)==0) return one; - /* +-NaN return x+y */ + /* y!=zero: result is NaN if either arg is NaN */ if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) || iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0))) - return x+y; + return (x+0.0)+(y+0.0); /* determine if y is an odd int when x < 0 * yisint = 0 ... y is not an integer ==== //depot/projects/dtrace/src/lib/msun/src/e_powf.c#4 (text+ko) ==== @@ -13,9 +13,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_powf.c,v 1.12 2004/06/01 19:33:30 bde Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_powf.c,v 1.15 2008/02/14 12:56:35 bde Exp $"); #include "math.h" #include "math_private.h" @@ -47,8 +46,8 @@ lg2_l = 1.42860654e-06, /* 0x35bfbe8c */ ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */ cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */ -cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */ -cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */ +cp_h = 9.6191406250e-01, /* 0x3f764000 =12b cp */ +cp_l = -1.1736857402e-04, /* 0xb8f623c6 =tail of cp_h */ ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */ ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/ ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/ @@ -68,10 +67,10 @@ /* y==zero: x**0 = 1 */ if(iy==0) return one; - /* +-NaN return x+y */ + /* y!=zero: result is NaN if either arg is NaN */ if(ix > 0x7f800000 || iy > 0x7f800000) - return x+y; + return (x+0.0F)+(y+0.0F); /* determine if y is an odd int when x < 0 * yisint = 0 ... y is not an integer ==== //depot/projects/dtrace/src/lib/msun/src/s_ceil.c#4 (text+ko) ==== @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.9 2003/07/23 04:53:46 peter Exp $"; +static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.10 2008/02/14 15:10:33 bde Exp $"; #endif /* @@ -70,3 +70,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(ceil, ceill); +#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#5 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.9 2008/02/14 15:10:33 bde Exp $"); /* * ceill(x) @@ -99,7 +99,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(ceil, ceill); -#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_floor.c#4 (text+ko) ==== @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floor.c,v 1.9 2003/07/23 04:53:46 peter Exp $"; +static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floor.c,v 1.10 2008/02/14 15:10:34 bde Exp $"; #endif /* @@ -71,3 +71,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(floor, floorl); +#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#5 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.7 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.8 2008/02/14 15:10:34 bde Exp $"); /* * floorl(x) @@ -99,7 +99,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(floor, floorl); -#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_trunc.c#4 (text+ko) ==== @@ -11,7 +11,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.1 2004/06/20 09:25:43 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.2 2008/02/14 15:10:34 bde Exp $"); /* * trunc(x) @@ -59,3 +59,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(trunc, truncl); +#endif ==== //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#6 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.9 2008/02/14 15:10:34 bde Exp $"); /* * truncl(x) @@ -66,7 +66,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(trunc, truncl); -#endif ==== //depot/projects/dtrace/src/share/man/man4/sk.4#5 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sk.4,v 1.30 2007/01/30 08:40:04 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/sk.4,v 1.31 2008/02/14 10:01:48 brueffer Exp $ .\" -.Dd July 16, 2005 +.Dd February 14, 2008 .Dt SK 4 .Os .Sh NAME @@ -191,17 +191,28 @@ .It SMC 9452TX single port, 1000baseT adapter .El +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt before booting the kernel or stored in +.Xr loader.conf 5 . +.Bl -tag -width xxxxxx +.It Va hw.skc.jumbo_disable +Disable jumbo frame support. +Systems with less memory can set it to a non-zero value to save memory. +The default value is 0. +.El .Sh SYSCTL VARIABLES The following variable is available as both .Xr sysctl 8 variable and .Xr loader 8 tunable: -.Bl -tag -width indent +.Bl -tag -width xxxxxx .It Va dev.skc.%d.int_mod -.Pp This variable controls interrupt moderation. -The accepted range is 10 to 10000, default value is 100 microseconds. +The accepted range is 10 to 10000. +The default value is 100 microseconds. The interface has to be brought down and up again before a change takes effect. .El .Sh DIAGNOSTICS ==== //depot/projects/dtrace/src/share/man/man9/lock.9#11 (text+ko) ==== @@ -24,7 +24,7 @@ .\" 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.24 2008/02/13 21:54:16 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.25 2008/02/14 19:39:09 brueffer Exp $ .\" .Dd February 13, 2008 .Dt LOCK 9 @@ -239,7 +239,7 @@ .Vt lkp lock pointed to by the first argument. .It Dv KA_HELD -Assert that the a not specified thread has a lock on the +Assert that an unspecified thread has a lock on the .Vt lkp lock pointed to by the first argument. .It Dv KA_UNHELD @@ -260,16 +260,18 @@ Assert that the current thread has a recursed lock on .Fa lkp . .It Dv KA_NOTRECURSED -Assert that the current thread has not a recursed lock on +Assert that the current thread does not have a recursed lock on .Fa lkp . .El .Pp -It also worths note that +Note that .Dv KA_HELD and .Dv KA_UNHELD -usage is highly discouraged. They are intended to cater a bad behaviour -introduced by buffer cache locks handling and hopefully they will be +usage is highly discouraged. +They are intended to cater a bad behaviour +introduced by buffer cache lock handling. +They will hopefully be made useless by revisiting such locks. .Sh RETURN VALUES The ==== //depot/projects/dtrace/src/sys/dev/coretemp/coretemp.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $ + * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $ * */ @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $"); #include #include @@ -143,6 +143,15 @@ cpu_model += ((cpu_id >> 16) & 0xf) << 4; cpu_mask = cpu_id & 15; + /* + * Some CPUs, namely the PIII, don't have thermal sensors, but + * report them when the CPUID check is performed in + * coretemp_identify(). This leads to a later GPF when the sensor + * is queried via a MSR, so we stop here. + */ + if (cpu_model < 0xe) + return (ENXIO); + #if 0 /* * XXXrpaulo: I have this CPU model and when it returns from C3 * coretemp continues to function properly. ==== //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#14 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.46 2008/02/14 00:09:59 gallatin Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.47 2008/02/14 16:24:14 gallatin Exp $"); #include #include @@ -2685,7 +2685,7 @@ } valid = stats->valid; - if (!sc->msi_enabled) { + if (sc->legacy_irq) { /* lower legacy IRQ */ *sc->irq_deassert = 0; if (!mxge_deassert_wait) @@ -2705,6 +2705,8 @@ mxge_clean_rx_done(ss); send_done_count = be32toh(stats->send_done_count); } + if (sc->legacy_irq && mxge_deassert_wait) + mb(); } while (*((volatile uint8_t *) &stats->valid)); if (__predict_false(stats->stats_updated)) { @@ -4035,9 +4037,9 @@ count = pci_msi_count(sc->dev); if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) { rid = 1; - sc->msi_enabled = 1; } else { rid = 0; + sc->legacy_irq = 1; } sc->irq_res = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); @@ -4047,7 +4049,7 @@ } if (mxge_verbose) device_printf(sc->dev, "using %s irq %ld\n", - sc->msi_enabled ? "MSI" : "INTx", + sc->legacy_irq ? "INTx" : "MSI", rman_get_start(sc->irq_res)); err = bus_setup_intr(sc->dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, @@ -4057,8 +4059,8 @@ mxge_intr, &sc->ss[0], &sc->ih); if (err != 0) { bus_release_resource(sc->dev, SYS_RES_IRQ, - sc->msi_enabled ? 1 : 0, sc->irq_res); - if (sc->msi_enabled) + sc->legacy_irq ? 0 : 1, sc->irq_res); + if (!sc->legacy_irq) pci_release_msi(sc->dev); } return err; @@ -4099,8 +4101,8 @@ { bus_teardown_intr(sc->dev, sc->irq_res, sc->ih); bus_release_resource(sc->dev, SYS_RES_IRQ, - sc->msi_enabled ? 1 : 0, sc->irq_res); - if (sc->msi_enabled) + sc->legacy_irq ? 0 : 1, sc->irq_res); + if (!sc->legacy_irq) pci_release_msi(sc->dev); } ==== //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#9 (text+ko) ==== @@ -25,7 +25,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.19 2008/02/14 00:09:59 gallatin Exp $ +$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.20 2008/02/14 16:24:14 gallatin Exp $ ***************************************************************************/ @@ -206,7 +206,7 @@ mxge_dma_t cmd_dma; mxge_dma_t zeropad_dma; struct pci_dev *pdev; - int msi_enabled; + int legacy_irq; int link_state; unsigned int rdma_tags_available; int intr_coal_delay; ==== //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#15 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.229 2008/02/04 02:21:33 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.230 2008/02/14 18:46:50 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -100,6 +100,9 @@ #include +/* XXX fc.i kluge (quick fix) */ +extern int ia64_icache_sync_kluge; + u_int64_t processor_frequency; u_int64_t bus_frequency; u_int64_t itc_frequency; @@ -218,6 +221,9 @@ } break; case 0x20: + /* XXX fc.i kluge (quick fix) */ + ia64_icache_sync_kluge = 1; + family_name = "Itanium 2"; switch (model) { case 0x00: ==== //depot/projects/dtrace/src/sys/ia64/ia64/pmap.c#13 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.196 2008/01/03 07:34:33 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.197 2008/02/14 18:46:50 marcel Exp $"); #include #include @@ -118,6 +118,9 @@ /* XXX move to a header. */ extern uint64_t ia64_gateway_page[]; +/* XXX fc.i kluge (quick fix) */ +int ia64_icache_sync_kluge; + MALLOC_DEFINE(M_PMAP, "PMAP", "PMAP Structures"); #ifndef PMAP_SHPGPERPROC @@ -1183,6 +1186,7 @@ pmap_set_pte(struct ia64_lpte *pte, vm_offset_t va, vm_offset_t pa, boolean_t wired, boolean_t managed) { + vm_offset_t lim; pte->pte &= PTE_PROT_MASK | PTE_PL_MASK | PTE_AR_MASK | PTE_ED; pte->pte |= PTE_PRESENT | PTE_MA_WB; @@ -1193,6 +1197,15 @@ pte->itir = PAGE_SHIFT << 2; pte->tag = ia64_ttag(va); + + /* XXX fc.i kluge (quick fix) */ + if (ia64_icache_sync_kluge) { + lim = va + PAGE_SIZE; + while (va < lim) { + __asm __volatile("fc.i %0" :: "r"(va)); + va += 32; + } + } } /* ==== //depot/projects/dtrace/src/sys/kern/kern_descrip.c#21 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.322 2008/02/09 05:16:25 marcus Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.323 2008/02/14 11:44:31 simon Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2050,7 +2050,7 @@ int error; *vpp = NULL; - if ((error = _fget(td, fd, &fp, 0, 0)) != 0) + if ((error = _fget(td, fd, &fp, flags, 0)) != 0) return (error); if (fp->f_vnode == NULL) { error = EINVAL; ==== //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#25 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.266 2008/02/03 15:54:40 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.267 2008/02/14 11:44:31 simon Exp $"); #include "opt_sctp.h" #include "opt_compat.h" @@ -1796,20 +1796,23 @@ goto out; vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - obj = vp->v_object; - if (obj != NULL) { - /* - * Temporarily increase the backing VM object's reference - * count so that a forced reclamation of its vnode does not - * immediately destroy it. - */ - VM_OBJECT_LOCK(obj); - if ((obj->flags & OBJ_DEAD) == 0) { - vm_object_reference_locked(obj); - VM_OBJECT_UNLOCK(obj); - } else { - VM_OBJECT_UNLOCK(obj); - obj = NULL; + if (vp->v_type == VREG) { + obj = vp->v_object; + if (obj != NULL) { + /* + * Temporarily increase the backing VM + * object's reference count so that a forced + * reclamation of its vnode does not + * immediately destroy it. + */ + VM_OBJECT_LOCK(obj); + if ((obj->flags & OBJ_DEAD) == 0) { + vm_object_reference_locked(obj); + VM_OBJECT_UNLOCK(obj); + } else { + VM_OBJECT_UNLOCK(obj); + obj = NULL; + } } } VOP_UNLOCK(vp, 0); ==== //depot/projects/dtrace/src/sys/kern/vfs_mount.c#26 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.273 2008/01/24 12:34:28 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.274 2008/02/14 17:04:31 yar Exp $"); #include #include @@ -1723,10 +1723,11 @@ strcpy(path, ROOTNAME); error = kernel_vmount( - MNT_RDONLY | MNT_ROOTFS, + MNT_ROOTFS, "fstype", vfsname, "fspath", "/", "from", path, + "ro", NULL, NULL); if (error == 0) { /* @@ -2213,7 +2214,7 @@ /* * Plain argument. * - * If length is -1, use printf. + * If length is -1, treat value as a C string. */ struct mntarg * mount_arg(struct mntarg *ma, const char *name, const void *val, int len) @@ -2300,7 +2301,7 @@ if (cp == NULL) break; vp = va_arg(ap, const void *); - ma = mount_arg(ma, cp, vp, -1); + ma = mount_arg(ma, cp, vp, (vp != NULL ? -1 : 0)); } va_end(ap); ==== //depot/projects/dtrace/src/usr.bin/netstat/route.c#12 (text+ko) ==== @@ -38,7 +38,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.bin/netstat/route.c,v 1.87 2008/02/11 20:34:27 marius Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/netstat/route.c,v 1.88 2008/02/14 20:01:52 jhb Exp $"); #include #include @@ -164,11 +164,13 @@ return; } - kget(rtree, rt_tables); + if (kget(rtree, rt_tables) != 0) + return; for (i = 0; i <= AF_MAX; i++) { if ((rnh = rt_tables[i]) == 0) continue; - kget(rnh, head); + if (kget(rnh, head) != 0) + continue; if (i == AF_UNSPEC) { if (Aflag && af == 0) { printf("Netmasks:\n"); @@ -269,10 +271,14 @@ size_cols_tree(struct radix_node *rn) { again: - kget(rn, rnode); + if (kget(rn, rnode) != 0) + return; + if (!(rnode.rn_flags & RNF_ACTIVE)) + return; if (rnode.rn_bit < 0) { if ((rnode.rn_flags & RNF_ROOT) == 0) { - kget(rn, rtentry); + if (kget(rn, rtentry) != 0) + return; size_cols_rtentry(&rtentry); } if ((rn = rnode.rn_dupedkey)) @@ -299,7 +305,8 @@ * Don't print protocol-cloned routes unless -a. */ if (rt->rt_flags & RTF_WASCLONED && !aflag) { - kget(rt->rt_parent, parent); + if (kget(rt->rt_parent, parent) != 0) + return; if (parent.rt_flags & RTF_PRCLONING) return; } @@ -335,9 +342,11 @@ } if (rt->rt_ifp) { if (rt->rt_ifp != lastif) { - kget(rt->rt_ifp, ifnet); + if (kget(rt->rt_ifp, ifnet) == 0) + len = strlen(ifnet.if_xname); + else + len = strlen("---"); lastif = rt->rt_ifp; - len = strlen(ifnet.if_xname); wid_if = MAX(len, wid_if); } if (rt->rt_rmx.rmx_expire) { @@ -398,7 +407,8 @@ kgetsa(struct sockaddr *dst) { - kget(dst, pt_u.u_sa); + if (kget(dst, pt_u.u_sa) != 0) + return (NULL); if (pt_u.u_sa.sa_len > sizeof (pt_u.u_sa)) kread((u_long)dst, (char *)pt_u.u_data, pt_u.u_sa.sa_len); return (&pt_u.u_sa); @@ -409,7 +419,10 @@ { again: - kget(rn, rnode); + if (kget(rn, rnode) != 0) + return; + if (!(rnode.rn_flags & RNF_ACTIVE)) + return; if (rnode.rn_bit < 0) { if (Aflag) printf("%-8.8lx ", (u_long)rn); @@ -418,10 +431,11 @@ printf("(root node)%s", rnode.rn_dupedkey ? " =>\n" : "\n"); } else if (do_rtent) { - kget(rn, rtentry); - p_rtentry(&rtentry); - if (Aflag) - p_rtnode(); + if (kget(rn, rtentry) == 0) { + p_rtentry(&rtentry); + if (Aflag) + p_rtnode(); + } } else { p_sockaddr(kgetsa((struct sockaddr *)rnode.rn_key), NULL, 0, 44); @@ -459,16 +473,19 @@ printf("%6.6s %8.8lx : %8.8lx", nbuf, (u_long)rnode.rn_left, (u_long)rnode.rn_right); } while (rm) { - kget(rm, rmask); + if (kget(rm, rmask) != 0) + break; sprintf(nbuf, " %d refs, ", rmask.rm_refs); printf(" mk = %8.8lx {(%d),%s", (u_long)rm, -1 - rmask.rm_bit, rmask.rm_refs ? nbuf : " "); if (rmask.rm_flags & RNF_NORMAL) { struct radix_node rnode_aux; printf(" , "); - kget(rmask.rm_leaf, rnode_aux); - p_sockaddr(kgetsa((struct sockaddr *)rnode_aux.rn_mask), + if (kget(rmask.rm_leaf, rnode_aux) == 0) + p_sockaddr(kgetsa((struct sockaddr *)rnode_aux.rn_mask), NULL, 0, -1); + else + p_sockaddr(NULL, NULL, 0, -1); } else p_sockaddr(kgetsa((struct sockaddr *)rmask.rm_mask), NULL, 0, -1); @@ -572,6 +589,9 @@ static char workbuf[128]; const char *cp; + if (sa == NULL) + return ("null"); + switch(sa->sa_family) { case AF_INET: { @@ -729,7 +749,8 @@ * Don't print protocol-cloned routes unless -a. */ if (rt->rt_flags & RTF_WASCLONED && !aflag) { - kget(rt->rt_parent, parent); + if (kget(rt->rt_parent, parent) != 0) + return; if (parent.rt_flags & RTF_PRCLONING) return; } @@ -756,9 +777,12 @@ } if (rt->rt_ifp) { if (rt->rt_ifp != lastif) { - kget(rt->rt_ifp, ifnet); + if (kget(rt->rt_ifp, ifnet) == 0) + strlcpy(prettyname, ifnet.if_xname, + sizeof(prettyname)); + else + strlcpy(prettyname, "---", sizeof(prettyname)); lastif = rt->rt_ifp; - strlcpy(prettyname, ifnet.if_xname, sizeof(prettyname)); } printf("%*.*s", wid_if, wid_if, prettyname); if (rt->rt_rmx.rmx_expire) { ==== //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.c#7 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: rpcbind.c,v 1.3 2002/11/08 00:16:40 fvdl Exp $ */ -/* $FreeBSD: src/usr.sbin/rpcbind/rpcbind.c,v 1.19 2007/11/07 10:53:39 kevlo Exp $ */ +/* $FreeBSD: src/usr.sbin/rpcbind/rpcbind.c,v 1.20 2008/02/14 20:12:23 yar Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -250,7 +250,7 @@ int aicode; int addrlen; int nhostsbak; - int checkbind; + int bound; struct sockaddr *sa; u_int32_t host_addr[4]; /* IPv4 or IPv6 */ struct sockaddr_un sun; @@ -340,7 +340,7 @@ /* * Bind to specific IPs if asked to */ - checkbind = 1; + bound = 0; while (nhostsbak > 0) { --nhostsbak; /* @@ -423,7 +423,7 @@ freeaddrinfo(res); continue; } else - checkbind++; + bound = 1; (void)umask(oldmask); /* Copy the address */ @@ -467,7 +467,7 @@ goto error; } } - if (!checkbind) + if (!bound) return 1; } else { oldmask = umask(S_IXUSR|S_IXGRP|S_IXOTH); ==== //depot/projects/dtrace/www/en/search/search.sgml#6 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -9,20 +9,20 @@

FreeBSD Search Services


==== //depot/projects/dtrace/www/share/sgml/advisories.xml#17 (text+ko) ==== @@ -2,7 +2,7 @@ - $FreeBSD: www/share/sgml/advisories.xml,v 1.216 2008/01/15 01:30:33 hrs Exp $ + $FreeBSD: www/share/sgml/advisories.xml,v 1.218 2008/02/14 12:21:12 simon Exp $ @@ -10,9 +10,33 @@ 2008 + 2 + + + 14 + + + FreeBSD-SA-08:04.ipsec + + + + FreeBSD-SA-08:03.sendfile + + + + + 1 + 18 + + + FreeBSD 6.3-RELEASE + + + + 14 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Feb 14 21:23:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 124F916A41A; Thu, 14 Feb 2008 21:23:31 +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 CB3F016A419 for ; Thu, 14 Feb 2008 21:23:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D063413C4CE for ; Thu, 14 Feb 2008 21:23:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1ELNU1D036450 for ; Thu, 14 Feb 2008 21:23:30 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1ELNUgc036447 for perforce@freebsd.org; Thu, 14 Feb 2008 21:23:30 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Feb 2008 21:23:30 GMT Message-Id: <200802142123.m1ELNUgc036447@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 135416 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 21:23:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=135416 Change 135416 by jhb@jhb_mutex on 2008/02/14 21:23:12 Bah, merge fixes so this branch boots. Affected files ... .. //depot/projects/smpng/sys/dev/syscons/syscons.h#19 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#35 edit Differences ... ==== //depot/projects/smpng/sys/dev/syscons/syscons.h#19 (text+ko) ==== @@ -28,7 +28,7 @@ * (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: src/sys/dev/syscons/syscons.h,v 1.89 2007/12/29 21:55:24 wkoszek Exp $ + * $FreeBSD: src/sys/dev/syscons/syscons.h,v 1.90 2008/02/13 23:38:08 jhb Exp $ */ #ifndef _DEV_SYSCONS_SYSCONS_H_ @@ -517,7 +517,8 @@ #define ISSIGVALID(sig) ((sig) > 0 && (sig) < NSIG) #define SC_VIDEO_LOCKINIT(sc) \ - mtx_init(&(sc)->video_mtx, "syscons video lock", NULL,MTX_SPIN); + mtx_init(&(sc)->video_mtx, "syscons video lock", NULL, \ + MTX_SPIN | MTX_RECURSE); #define SC_VIDEO_LOCK(sc) \ do { \ if (!cold) \ ==== //depot/projects/smpng/sys/kern/subr_sleepqueue.c#35 (text+ko) ==== @@ -177,7 +177,7 @@ for (i = 0; i < SC_TABLESIZE; i++) { LIST_INIT(&sleepq_chains[i].sc_queues); mtx_init(&sleepq_chains[i].sc_lock, "sleepq chain", NULL, - MTX_SPIN); + MTX_SPIN | MTX_RECURSE); #ifdef SLEEPQUEUE_PROFILING snprintf(chain_name, sizeof(chain_name), "%d", i); chain_oid = SYSCTL_ADD_NODE(NULL, From owner-p4-projects@FreeBSD.ORG Thu Feb 14 22:23:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4806316A420; Thu, 14 Feb 2008 22:23:33 +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 0DC2716A419 for ; Thu, 14 Feb 2008 22:23:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 12D5113C46B for ; Thu, 14 Feb 2008 22:23:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1EMNW8g041029 for ; Thu, 14 Feb 2008 22:23:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1EMNWms041026 for perforce@freebsd.org; Thu, 14 Feb 2008 22:23:32 GMT (envelope-from jb@freebsd.org) Date: Thu, 14 Feb 2008 22:23:32 GMT Message-Id: <200802142223.m1EMNWms041026@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 22:23:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=135419 Change 135419 by jb@jb_freebsd1 on 2008/02/14 22:22:52 Revise the stability definitions. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtmalloc/dtmalloc.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtmalloc/dtmalloc.c#2 (text+ko) ==== @@ -51,11 +51,11 @@ }; static dtrace_pattr_t dtmalloc_attr = { -{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_COMMON }, +{ DTRACE_STABILITY_STABLE, DTRACE_STABILITY_STABLE, DTRACE_CLASS_COMMON }, +{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, -{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, -{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_COMMON }, -{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA }, +{ DTRACE_STABILITY_STABLE, DTRACE_STABILITY_STABLE, DTRACE_CLASS_COMMON }, +{ DTRACE_STABILITY_STABLE, DTRACE_STABILITY_STABLE, DTRACE_CLASS_COMMON }, }; static dtrace_pops_t dtmalloc_pops = { From owner-p4-projects@FreeBSD.ORG Thu Feb 14 23:42:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AA3216A420; Thu, 14 Feb 2008 23:42:55 +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 D415216A419 for ; Thu, 14 Feb 2008 23:42:54 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outJ.internet-mail-service.net (outJ.internet-mail-service.net [216.240.47.233]) by mx1.freebsd.org (Postfix) with ESMTP id D0A1713C46E for ; Thu, 14 Feb 2008 23:42:54 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.40) with ESMTP; Thu, 14 Feb 2008 15:29:12 -0800 Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id BA8D612721C; Thu, 14 Feb 2008 15:29:11 -0800 (PST) Message-ID: <47B4CEC9.9050502@elischer.org> Date: Thu, 14 Feb 2008 15:29:13 -0800 From: Julian Elischer User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: John Baldwin References: <200802142046.m1EKkinv023379@repoman.freebsd.org> In-Reply-To: <200802142046.m1EKkinv023379@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 23:42:55 -0000 John Baldwin wrote: > http://perforce.freebsd.org/chv.cgi?CH=135400 > > Change 135400 by jhb@jhb_mutex on 2008/02/14 20:46:23 > > A hack to debug more sleepq problems. > > Affected files ... > > .. //depot/projects/smpng/sys/kern/kern_timeout.c#34 edit > > Differences ... > > ==== //depot/projects/smpng/sys/kern/kern_timeout.c#34 (text+ko) ==== > > @@ -521,6 +521,8 @@ > mtx_unlock_spin(&callout_lock); > if (sq_locked) > sleepq_release(&callout_wait); > + if (c == &curthread->td_slpcallout) > + panic("aww crap"); > return (0); > } > such style such grace sush... From owner-p4-projects@FreeBSD.ORG Fri Feb 15 00:46:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B89416A46D; Fri, 15 Feb 2008 00:46:43 +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 3DFBE16A419; Fri, 15 Feb 2008 00:46:43 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 6B4C113C4CE; Fri, 15 Feb 2008 00:46:42 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <47B4E0F1.6060006@FreeBSD.org> Date: Fri, 15 Feb 2008 01:46:41 +0100 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: John Baldwin References: <200802080420.m184Kvmf077416@repoman.freebsd.org> <200802141032.33861.jhb@freebsd.org> In-Reply-To: <200802141032.33861.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , Kip Macy Subject: Re: PERFORCE change 135010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 00:46:43 -0000 John Baldwin wrote: > On Thursday 07 February 2008 11:20:57 pm Kip Macy wrote: >> http://perforce.freebsd.org/chv.cgi?CH=135010 >> >> Change 135010 by kmacy@kmacy:storage:toehead on 2008/02/08 04:20:17 >> >> add opt_global.h to dependencies >> >> Affected files ... >> >> .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 edit >> >> Differences ... >> >> ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 (text+ko) ==== >> >> @@ -5,7 +5,8 @@ >> KMOD= tom >> SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c >> SRCS+= cxgb_ddp.c cxgb_vm.c >> -SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h opt_tcpdebug.h opt_ddb.h >> +SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h >> +SRCS+= opt_tcpdebug.h opt_ddb.h opt_global.h >> SRCS+= device_if.h bus_if.h pci_if.h >> >> #CFLAGS+= -DDEBUG_PRINT -DDEBUG >> > > That's kind of odd. Do you have an explicit #include "opt_global.h" somewhere? > It also doesn't work :) The problem is that if you build a kernel+module with INVARIANTS+INVARIANT_SUPPORT set, then remove both options, rerun config, make depend, make all, the module is not rebuilt and fails to load. Kris From owner-p4-projects@FreeBSD.ORG Fri Feb 15 02:44:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05A5516A41B; Fri, 15 Feb 2008 02:44:07 +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 85A5116A41A for ; Fri, 15 Feb 2008 02:44:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7989513C455 for ; Fri, 15 Feb 2008 02:44:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F2i6XG082383 for ; Fri, 15 Feb 2008 02:44:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F2i5VD082364 for perforce@freebsd.org; Fri, 15 Feb 2008 02:44:05 GMT (envelope-from jb@freebsd.org) Date: Fri, 15 Feb 2008 02:44:05 GMT Message-Id: <200802150244.m1F2i5VD082364@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 02:44:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=135421 Change 135421 by jb@jb_freebsd1 on 2008/02/15 02:43:14 Add an option to allow CTF data to be loaded with the ELF file. The CTF data has type information and for functions, the list or arguments too. This list is useful for the DTrace Function Boundary Trace (fbt) provider so that it can set the types for the functions it probes. Without this information, the arguments are uintptr_t's and have to be cast to a usable type. The CTF data is probably useful for DDB too and it may be useful even if the DTrace hooks aren't in the kernel. Of course the CTF data needs to be present as an ELF section in the file and it it isn't there, well, umm, life still needs to go on. So DDB_CTF tells the kernel to load TF data if it is there. Affected files ... .. //depot/projects/dtrace/src/sys/conf/options#40 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/options#40 (text+ko) ==== @@ -50,6 +50,7 @@ DDB DDB_CAPTURE_DEFAULTBUFSIZE opt_ddb.h DDB_CAPTURE_MAXBUFSIZE opt_ddb.h +DDB_CTF opt_ddb.h DDB_NUMSYM opt_ddb.h GDB KDB opt_global.h From owner-p4-projects@FreeBSD.ORG Fri Feb 15 02:46:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62B7F16A46C; Fri, 15 Feb 2008 02:46:09 +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 24F9F16A418 for ; Fri, 15 Feb 2008 02:46:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 17E6113C4D5 for ; Fri, 15 Feb 2008 02:46:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F2k8Mw082495 for ; Fri, 15 Feb 2008 02:46:08 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F2k8vb082492 for perforce@freebsd.org; Fri, 15 Feb 2008 02:46:08 GMT (envelope-from jb@freebsd.org) Date: Fri, 15 Feb 2008 02:46:08 GMT Message-Id: <200802150246.m1F2k8vb082492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 02:46:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=135422 Change 135422 by jb@jb_freebsd1 on 2008/02/15 02:45:51 Add the DDB_CTF option to get CTF data loaded. On i386, buffer my printfs plz. k. thks. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#33 edit .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#30 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#33 (text+ko) ==== @@ -70,6 +70,7 @@ # Debugging for use in -current options KDB # Enable kernel debugger support. options DDB # Support DDB. +options DDB_CTF # Load CTF data too. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS ==== //depot/projects/dtrace/src/sys/i386/conf/GENERIC#30 (text+ko) ==== @@ -63,11 +63,13 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options AUDIT # Security event auditing +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KDTRACE_HOOKS # DTrace hooks required to load DTrace modules # Debugging for use in -current options KDB # Enable kernel debugger support. options DDB # Support DDB. +options DDB_CTF # Load CTF data too. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS From owner-p4-projects@FreeBSD.ORG Fri Feb 15 04:50:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 46D3316A469; Fri, 15 Feb 2008 04:50:17 +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 E804C16A41A for ; Fri, 15 Feb 2008 04:50:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF12213C442 for ; Fri, 15 Feb 2008 04:50:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F4oGQb000912 for ; Fri, 15 Feb 2008 04:50:16 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F4oGPj000909 for perforce@freebsd.org; Fri, 15 Feb 2008 04:50:16 GMT (envelope-from sephe@FreeBSD.org) Date: Fri, 15 Feb 2008 04:50:16 GMT Message-Id: <200802150450.m1F4oGPj000909@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 04:50:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=135423 Change 135423 by sephe@sephe_zealot:sam_wifi on 2008/02/15 04:49:16 Don't include multicast packets into TX rate control calculation. Noticed by: sam Obtained from: DragonFly Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#16 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#16 (text+ko) ==== @@ -32,7 +32,6 @@ * SUCH DAMAGE. * * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $ - * 1.8 is not merged */ #include @@ -118,7 +117,7 @@ static void bwi_stop(struct bwi_softc *); static int bwi_newbuf(struct bwi_softc *, int, int); static int bwi_encap(struct bwi_softc *, int, struct mbuf *, - struct ieee80211_node *); + struct ieee80211_node **); static void bwi_init_rxdesc_ring32(struct bwi_softc *, uint32_t, bus_addr_t, int, int); @@ -1383,7 +1382,7 @@ } wh = NULL; /* Catch any invalid use */ - if (bwi_encap(sc, idx, m, ni) != 0) { + if (bwi_encap(sc, idx, m, &ni) != 0) { /* 'm' is freed in bwi_encap() if we reach here */ if (ni != NULL) ieee80211_free_node(ni); @@ -2922,9 +2921,10 @@ static int bwi_encap(struct bwi_softc *sc, int idx, struct mbuf *m, - struct ieee80211_node *ni) + struct ieee80211_node **ni0) { struct ieee80211com *ic = &sc->sc_ic; + struct ieee80211_node *ni = *ni0; struct bwi_ring_data *rd = &sc->sc_tx_rdata[BWI_TX_DATA_RING]; struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING]; struct bwi_txbuf *tb = &tbd->tbd_buf[idx]; @@ -2935,7 +2935,7 @@ uint32_t mac_ctrl; uint16_t phy_ctrl; bus_addr_t paddr; - int pkt_len, error; + int pkt_len, error, mcast_pkt = 0; #if 0 const uint8_t *p; int i; @@ -2954,9 +2954,10 @@ * Find TX rate */ bzero(tb->tb_rate_idx, sizeof(tb->tb_rate_idx)); - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { rate = rate_fb = ic->ic_mcast_rate; - else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { + mcast_pkt = 1; + } else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { rate = ni->ni_rates.rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL; rate_fb = (ni->ni_txrate > 0) ? @@ -2999,7 +3000,7 @@ bcopy(wh->i_fc, hdr->txh_fc, sizeof(hdr->txh_fc)); bcopy(wh->i_addr1, hdr->txh_addr1, sizeof(hdr->txh_addr1)); - if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { + if (!mcast_pkt) { uint16_t dur; uint8_t ack_rate; @@ -3070,6 +3071,11 @@ bus_dmamap_sync(sc->sc_buf_dtag, tb->tb_dmap, BUS_DMASYNC_PREWRITE); + if (mcast_pkt) { + /* Don't involve mcast packets into TX rate control */ + ieee80211_free_node(ni); + *ni0 = ni = NULL; + } tb->tb_mbuf = m; tb->tb_ni = ni; From owner-p4-projects@FreeBSD.ORG Fri Feb 15 05:18:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF86F16A420; Fri, 15 Feb 2008 05:18:47 +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 A50B216A41A for ; Fri, 15 Feb 2008 05:18:47 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 71E6413C442 for ; Fri, 15 Feb 2008 05:18:47 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F5Iloa004101 for ; Fri, 15 Feb 2008 05:18:47 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F5IlqL004098 for perforce@freebsd.org; Fri, 15 Feb 2008 05:18:47 GMT (envelope-from sephe@FreeBSD.org) Date: Fri, 15 Feb 2008 05:18:47 GMT Message-Id: <200802150518.m1F5IlqL004098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135424 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 05:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=135424 Change 135424 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:18:04 Auto load bwi_v3 firmware module Suggested by: sam Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#5 (text+ko) ==== @@ -250,4 +250,5 @@ MODULE_VERSION(if_bwi, 1); MODULE_DEPEND(if_bwi, wlan, 1, 1, 1); /* 802.11 media layer */ MODULE_DEPEND(if_bwi, firmware, 1, 1, 1); /* firmware support */ +MODULE_DEPEND(if_bwi, bwi_v3_fw, 1, 1, 1); /* v3 firmwares */ MODULE_DEPEND(if_bwi, wlan_amrr, 1, 1, 1); From owner-p4-projects@FreeBSD.ORG Fri Feb 15 05:19:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A487016A421; Fri, 15 Feb 2008 05:19:33 +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 6758E16A41A; Fri, 15 Feb 2008 05:19:33 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 07D9613C442; Fri, 15 Feb 2008 05:19:32 +0000 (UTC) (envelope-from sam@errno.com) Received: from Macintosh-2.local ([10.0.0.196]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m1F5JW1d013082 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 Feb 2008 21:19:32 -0800 (PST) (envelope-from sam@errno.com) Message-ID: <47B520E4.4000604@errno.com> Date: Thu, 14 Feb 2008 21:19:32 -0800 From: Sam Leffler Organization: Errno Consulting User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Sepherosa Ziehau References: <200802150450.m1F4oGPj000909@repoman.freebsd.org> In-Reply-To: <200802150450.m1F4oGPj000909@repoman.freebsd.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 05:19:33 -0000 Sepherosa Ziehau wrote: > http://perforce.freebsd.org/chv.cgi?CH=135423 > > Change 135423 by sephe@sephe_zealot:sam_wifi on 2008/02/15 04:49:16 > > Don't include multicast packets into TX rate control calculation. > > Noticed by: sam > Obtained from: DragonFly I didn't get this from dfly. Also, my change handled ACM which yours cannot if you are basing decisions on mcast. Finally you appear to be freeing the node in the start path instead of on tx done which is wrong--you must keep the node around to do things like TXCB. I suggest you just apply my patch. Sam > > Affected files ... > > .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#16 edit > > Differences ... > > ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#16 (text+ko) ==== > > @@ -32,7 +32,6 @@ > * SUCH DAMAGE. > * > * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $ > - * 1.8 is not merged > */ > > #include > @@ -118,7 +117,7 @@ > static void bwi_stop(struct bwi_softc *); > static int bwi_newbuf(struct bwi_softc *, int, int); > static int bwi_encap(struct bwi_softc *, int, struct mbuf *, > - struct ieee80211_node *); > + struct ieee80211_node **); > > static void bwi_init_rxdesc_ring32(struct bwi_softc *, uint32_t, > bus_addr_t, int, int); > @@ -1383,7 +1382,7 @@ > } > wh = NULL; /* Catch any invalid use */ > > - if (bwi_encap(sc, idx, m, ni) != 0) { > + if (bwi_encap(sc, idx, m, &ni) != 0) { > /* 'm' is freed in bwi_encap() if we reach here */ > if (ni != NULL) > ieee80211_free_node(ni); > @@ -2922,9 +2921,10 @@ > > static int > bwi_encap(struct bwi_softc *sc, int idx, struct mbuf *m, > - struct ieee80211_node *ni) > + struct ieee80211_node **ni0) > { > struct ieee80211com *ic = &sc->sc_ic; > + struct ieee80211_node *ni = *ni0; > struct bwi_ring_data *rd = &sc->sc_tx_rdata[BWI_TX_DATA_RING]; > struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING]; > struct bwi_txbuf *tb = &tbd->tbd_buf[idx]; > @@ -2935,7 +2935,7 @@ > uint32_t mac_ctrl; > uint16_t phy_ctrl; > bus_addr_t paddr; > - int pkt_len, error; > + int pkt_len, error, mcast_pkt = 0; > #if 0 > const uint8_t *p; > int i; > @@ -2954,9 +2954,10 @@ > * Find TX rate > */ > bzero(tb->tb_rate_idx, sizeof(tb->tb_rate_idx)); > - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) > + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { > rate = rate_fb = ic->ic_mcast_rate; > - else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { > + mcast_pkt = 1; > + } else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { > rate = ni->ni_rates.rs_rates[ni->ni_txrate] & > IEEE80211_RATE_VAL; > rate_fb = (ni->ni_txrate > 0) ? > @@ -2999,7 +3000,7 @@ > bcopy(wh->i_fc, hdr->txh_fc, sizeof(hdr->txh_fc)); > bcopy(wh->i_addr1, hdr->txh_addr1, sizeof(hdr->txh_addr1)); > > - if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { > + if (!mcast_pkt) { > uint16_t dur; > uint8_t ack_rate; > > @@ -3070,6 +3071,11 @@ > > bus_dmamap_sync(sc->sc_buf_dtag, tb->tb_dmap, BUS_DMASYNC_PREWRITE); > > + if (mcast_pkt) { > + /* Don't involve mcast packets into TX rate control */ > + ieee80211_free_node(ni); > + *ni0 = ni = NULL; > + } > tb->tb_mbuf = m; > tb->tb_ni = ni; > > > From owner-p4-projects@FreeBSD.ORG Fri Feb 15 05:46:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 277B916A46B; Fri, 15 Feb 2008 05:46:17 +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 C8B2E16A468 for ; Fri, 15 Feb 2008 05:46:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AC52213C46E for ; Fri, 15 Feb 2008 05:46:16 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F5kGxI005455 for ; Fri, 15 Feb 2008 05:46:16 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F5kGTc005452 for perforce@freebsd.org; Fri, 15 Feb 2008 05:46:16 GMT (envelope-from sephe@FreeBSD.org) Date: Fri, 15 Feb 2008 05:46:16 GMT Message-Id: <200802150546.m1F5kGTc005452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 05:46:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=135425 Change 135425 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:45:20 Revert previous two changes. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 (text+ko) ==== @@ -32,6 +32,7 @@ * SUCH DAMAGE. * * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $ + * 1.8 is not merged */ #include @@ -117,7 +118,7 @@ static void bwi_stop(struct bwi_softc *); static int bwi_newbuf(struct bwi_softc *, int, int); static int bwi_encap(struct bwi_softc *, int, struct mbuf *, - struct ieee80211_node **); + struct ieee80211_node *); static void bwi_init_rxdesc_ring32(struct bwi_softc *, uint32_t, bus_addr_t, int, int); @@ -1382,7 +1383,7 @@ } wh = NULL; /* Catch any invalid use */ - if (bwi_encap(sc, idx, m, &ni) != 0) { + if (bwi_encap(sc, idx, m, ni) != 0) { /* 'm' is freed in bwi_encap() if we reach here */ if (ni != NULL) ieee80211_free_node(ni); @@ -2921,10 +2922,9 @@ static int bwi_encap(struct bwi_softc *sc, int idx, struct mbuf *m, - struct ieee80211_node **ni0) + struct ieee80211_node *ni) { struct ieee80211com *ic = &sc->sc_ic; - struct ieee80211_node *ni = *ni0; struct bwi_ring_data *rd = &sc->sc_tx_rdata[BWI_TX_DATA_RING]; struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING]; struct bwi_txbuf *tb = &tbd->tbd_buf[idx]; @@ -2935,7 +2935,7 @@ uint32_t mac_ctrl; uint16_t phy_ctrl; bus_addr_t paddr; - int pkt_len, error, mcast_pkt = 0; + int pkt_len, error; #if 0 const uint8_t *p; int i; @@ -2954,10 +2954,9 @@ * Find TX rate */ bzero(tb->tb_rate_idx, sizeof(tb->tb_rate_idx)); - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) rate = rate_fb = ic->ic_mcast_rate; - mcast_pkt = 1; - } else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { + else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { rate = ni->ni_rates.rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL; rate_fb = (ni->ni_txrate > 0) ? @@ -3000,7 +2999,7 @@ bcopy(wh->i_fc, hdr->txh_fc, sizeof(hdr->txh_fc)); bcopy(wh->i_addr1, hdr->txh_addr1, sizeof(hdr->txh_addr1)); - if (!mcast_pkt) { + if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { uint16_t dur; uint8_t ack_rate; @@ -3071,11 +3070,6 @@ bus_dmamap_sync(sc->sc_buf_dtag, tb->tb_dmap, BUS_DMASYNC_PREWRITE); - if (mcast_pkt) { - /* Don't involve mcast packets into TX rate control */ - ieee80211_free_node(ni); - *ni0 = ni = NULL; - } tb->tb_mbuf = m; tb->tb_ni = ni; ==== //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 (text+ko) ==== @@ -250,5 +250,4 @@ MODULE_VERSION(if_bwi, 1); MODULE_DEPEND(if_bwi, wlan, 1, 1, 1); /* 802.11 media layer */ MODULE_DEPEND(if_bwi, firmware, 1, 1, 1); /* firmware support */ -MODULE_DEPEND(if_bwi, bwi_v3_fw, 1, 1, 1); /* v3 firmwares */ MODULE_DEPEND(if_bwi, wlan_amrr, 1, 1, 1); From owner-p4-projects@FreeBSD.ORG Fri Feb 15 05:53:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BDCB16A420; Fri, 15 Feb 2008 05:53:25 +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 C385D16A41B for ; Fri, 15 Feb 2008 05:53:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6B3313C44B for ; Fri, 15 Feb 2008 05:53:24 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1F5rOUT005737 for ; Fri, 15 Feb 2008 05:53:24 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1F5rON0005734 for perforce@freebsd.org; Fri, 15 Feb 2008 05:53:24 GMT (envelope-from sephe@FreeBSD.org) Date: Fri, 15 Feb 2008 05:53:24 GMT Message-Id: <200802150553.m1F5rON0005734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 05:53:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=135426 Change 135426 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:52:45 Do TX rate control only for packets that need MAC level ack Obtained from: sam Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#18 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#18 (text+ko) ==== @@ -3175,13 +3175,17 @@ ni = tb->tb_ni; if (tb->tb_ni != NULL) { struct bwi_node *bn = (struct bwi_node *) tb->tb_ni; + const struct bwi_txbuf_hdr *hdr = + mtod(tb->tb_mbuf, const struct bwi_txbuf_hdr *); - /* XXX only for unicast frames */ - /* Feed back 'acked and data_txcnt' */ - if (acked) - bn->amn.amn_success++; - bn->amn.amn_txcnt++; - bn->amn.amn_retrycnt += data_txcnt-1; + /* NB: update rate control only for unicast frames */ + if (hdr->txh_mac_ctrl & htole32(BWI_TXH_MAC_C_ACK)) { + /* Feed back 'acked and data_txcnt' */ + if (acked) + bn->amn.amn_success++; + bn->amn.amn_txcnt++; + bn->amn.amn_retrycnt += data_txcnt-1; + } /* * Do any tx complete callback. Note this must From owner-p4-projects@FreeBSD.ORG Fri Feb 15 06:14:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF38F16A41B; Fri, 15 Feb 2008 06:14:29 +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 B494B16A418 for ; Fri, 15 Feb 2008 06:14:29 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from ns.kevlo.org (kevlo.org [220.128.136.52]) by mx1.freebsd.org (Postfix) with ESMTP id 3330213C4D1 for ; Fri, 15 Feb 2008 06:14:28 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from [127.0.0.1] (kevlo.org [220.128.136.52]) by ns.kevlo.org (8.14.2/8.14.2) with ESMTP id m1F5v6PU029325; Fri, 15 Feb 2008 13:57:07 +0800 (CST) (envelope-from kevlo@FreeBSD.org) From: Kevin Lo To: Sepherosa Ziehau In-Reply-To: <200802150546.m1F5kGTc005452@repoman.freebsd.org> References: <200802150546.m1F5kGTc005452@repoman.freebsd.org> Content-Type: text/plain Date: Fri, 15 Feb 2008 13:59:11 +0800 Message-Id: <1203055151.6252.2.camel@monet> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 06:14:30 -0000 Sepherosa Ziehau wrote: > http://perforce.freebsd.org/chv.cgi?CH=135425 > > Change 135425 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:45:20 > > Revert previous two changes. > > Affected files ... > > .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 edit > .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 edit Is there anything wrong with loading bwi_v3 firmware module? Kevin From owner-p4-projects@FreeBSD.ORG Fri Feb 15 06:31:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F7CB16A46C; Fri, 15 Feb 2008 06:31:15 +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 5257C16A419 for ; Fri, 15 Feb 2008 06:31:15 +0000 (UTC) (envelope-from sepherosa@gmail.com) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.183]) by mx1.freebsd.org (Postfix) with ESMTP id ECFB013C45B for ; Fri, 15 Feb 2008 06:31:14 +0000 (UTC) (envelope-from sepherosa@gmail.com) Received: by py-out-1112.google.com with SMTP id u52so742548pyb.10 for ; Thu, 14 Feb 2008 22:31:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=XIb7Rm6hNEOMf3eJE7O6OMPbV7J9JW/D9nfbjlE6L+o=; b=L0kQf3Dao2OVqzsFEYAAs1Y218OtV8WkowvvsdWLDtTTzhY6wvZHsscUDXkukCPJgaTwxwa/ZSdbjJ7WG4lJXLevFacXn+QjS6Ahvjb5jX6AaBvl2HOxUdPCnZt5H5sRgcWK4nDwClIzhtSbsQbsLfFJUCm/QAwIjYl8kHKJ/GU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=ffwf1nbTk9mDReuNanSXAgHRuuF1LYUysh3ufj2JoH2f/5j2tki6vWJoMY6kmRQwDgkNwf5D0tUoDYO5dxBxRc2jxS07XTgAROliFsHKLJgfQkfya8qbgnDdNycN7xyO8jHdbQRnisevjTBD6Bn9pvGfLvhvcjSs/Zckl4KD/tc= Received: by 10.142.131.18 with SMTP id e18mr1968832wfd.36.1203055561854; Thu, 14 Feb 2008 22:06:01 -0800 (PST) Received: by 10.142.171.7 with HTTP; Thu, 14 Feb 2008 22:06:01 -0800 (PST) Message-ID: Date: Fri, 15 Feb 2008 14:06:01 +0800 From: "Sepherosa Ziehau" Sender: sepherosa@gmail.com To: "Kevin Lo" In-Reply-To: <1203055151.6252.2.camel@monet> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200802150546.m1F5kGTc005452@repoman.freebsd.org> <1203055151.6252.2.camel@monet> X-Google-Sender-Auth: 4567ca64243d52db Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 06:31:16 -0000 On Fri, Feb 15, 2008 at 1:59 PM, Kevin Lo wrote: > Sepherosa Ziehau wrote: > > http://perforce.freebsd.org/chv.cgi?CH=135425 > > > > Change 135425 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:45:20 > > > > Revert previous two changes. > > > > Affected files ... > > > > .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 edit > > .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 edit > > Is there anything wrong with loading bwi_v3 firmware module? You can not load if_bwi without bwi_v3 (it is still not known whether the firmware could be included in the base system yet) Best Regards, sephe -- Live Free or Die From owner-p4-projects@FreeBSD.ORG Fri Feb 15 06:32:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A56B16A46C; Fri, 15 Feb 2008 06:32:41 +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 5D11916A41A; Fri, 15 Feb 2008 06:32:41 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 2588113C442; Fri, 15 Feb 2008 06:32:40 +0000 (UTC) (envelope-from sam@errno.com) Received: from Macintosh-2.local ([10.0.0.196]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m1F6WeHW013489 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 Feb 2008 22:32:40 -0800 (PST) (envelope-from sam@errno.com) Message-ID: <47B53208.5080205@errno.com> Date: Thu, 14 Feb 2008 22:32:40 -0800 From: Sam Leffler Organization: Errno Consulting User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Kevin Lo References: <200802150546.m1F5kGTc005452@repoman.freebsd.org> <1203055151.6252.2.camel@monet> In-Reply-To: <1203055151.6252.2.camel@monet> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: Sepherosa Ziehau , Perforce Change Reviews Subject: Re: PERFORCE change 135425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 06:32:41 -0000 Kevin Lo wrote: > Sepherosa Ziehau wrote: >> http://perforce.freebsd.org/chv.cgi?CH=135425 >> >> Change 135425 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:45:20 >> >> Revert previous two changes. >> >> Affected files ... >> >> .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 edit >> .. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 edit > > Is there anything wrong with loading bwi_v3 firmware module? > > Kevin > > Using a module dependency to load the means firmware_get doesn't get chance to do it as was intended. I think the problem is really that we need to fixup naming of bwi_v3.ko so the driver can locate it--either by changing the name requested in the first firmware_get or possibly by adding a symlink to the .ko. Sam From owner-p4-projects@FreeBSD.ORG Fri Feb 15 14:57:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5438916A4D2; Fri, 15 Feb 2008 14:57:53 +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 B12FF16A417; Fri, 15 Feb 2008 14:57:52 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id D1F3913C4F4; Fri, 15 Feb 2008 14:57:51 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8s) with ESMTP id 232035548-1834499 for multiple; Fri, 15 Feb 2008 09:55:49 -0500 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m1FEvfsK099789; Fri, 15 Feb 2008 09:57:41 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Kris Kennaway Date: Fri, 15 Feb 2008 09:52:38 -0500 User-Agent: KMail/1.9.7 References: <200802080420.m184Kvmf077416@repoman.freebsd.org> <200802141032.33861.jhb@freebsd.org> <47B4E0F1.6060006@FreeBSD.org> In-Reply-To: <47B4E0F1.6060006@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802150952.39027.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 15 Feb 2008 09:57:41 -0500 (EST) X-Virus-Scanned: ClamAV 0.91.2/5830/Fri Feb 15 08:07:34 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews , ru@freebsd.org, Kip Macy Subject: Re: PERFORCE change 135010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 14:57:53 -0000 On Thursday 14 February 2008 07:46:41 pm Kris Kennaway wrote: > John Baldwin wrote: > > On Thursday 07 February 2008 11:20:57 pm Kip Macy wrote: > >> http://perforce.freebsd.org/chv.cgi?CH=135010 > >> > >> Change 135010 by kmacy@kmacy:storage:toehead on 2008/02/08 04:20:17 > >> > >> add opt_global.h to dependencies > >> > >> Affected files ... > >> > >> .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 edit > >> > >> Differences ... > >> > >> ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 (text+ko) ==== > >> > >> @@ -5,7 +5,8 @@ > >> KMOD= tom > >> SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c > >> SRCS+= cxgb_ddp.c cxgb_vm.c > >> -SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h opt_tcpdebug.h opt_ddb.h > >> +SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h > >> +SRCS+= opt_tcpdebug.h opt_ddb.h opt_global.h > >> SRCS+= device_if.h bus_if.h pci_if.h > >> > >> #CFLAGS+= -DDEBUG_PRINT -DDEBUG > >> > > > > That's kind of odd. Do you have an explicit #include "opt_global.h" somewhere? > > > > It also doesn't work :) > > The problem is that if you build a kernel+module with > INVARIANTS+INVARIANT_SUPPORT set, then remove both options, rerun > config, make depend, make all, the module is not rebuilt and fails to load. Ah, that is a bug in the 'make depend' stuff. We explicitly enforce a dependency for kernels in kern.post.mk. Try this instead perhaps: Index: kmod.mk =================================================================== RCS file: /usr/cvs/src/sys/conf/kmod.mk,v retrieving revision 1.221 diff -u -r1.221 kmod.mk --- kmod.mk 19 Nov 2007 16:24:10 -0000 1.221 +++ kmod.mk 15 Feb 2008 14:50:03 -0000 @@ -428,6 +428,9 @@ assym.s: @/kern/genassym.sh .endif sh @/kern/genassym.sh genassym.o > ${.TARGET} +.if defined(KERNBUILDDIR) +genassym.o: opt_global.h +.endif .if exists(@) genassym.o: @/${MACHINE_ARCH}/${MACHINE_ARCH}/genassym.c .endif @@ -439,6 +442,10 @@ lint: ${SRCS} ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c} +.if defined(KERNBUILDDIR) +${OBJS}: opt_global.h +.endif + .include cleandepend: cleanilinks BTW, reading kmod.mk the submit above only works if .depend doesn't exist. It won't work if you have run 'make depend' because of this: .if !exists(${.OBJDIR}/${DEPENDFILE}) ${OBJS}: ${SRCS:M*.h} .endif -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Feb 15 19:07:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF68416A469; Fri, 15 Feb 2008 19:07:02 +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 7C9E716A421 for ; Fri, 15 Feb 2008 19:07:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A72F13C465 for ; Fri, 15 Feb 2008 19:07:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1FJ72Y4011001 for ; Fri, 15 Feb 2008 19:07:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1FJ72Gl010998 for perforce@freebsd.org; Fri, 15 Feb 2008 19:07:02 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Feb 2008 19:07:02 GMT Message-Id: <200802151907.m1FJ72Gl010998@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 135454 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 19:07:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=135454 Change 135454 by hselasky@hselasky_laptop001 on 2008/02/15 19:06:48 All static functions in "usb_transfer.c" should have a prototype now. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#113 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#113 (text+ko) ==== @@ -55,17 +55,27 @@ /* prototypes */ -static void usbd_pipe_enter_wrapper(struct usbd_xfer *xfer); static void usbd_compute_max_frame_size(struct usbd_xfer *xfer); +static uint32_t usbd_get_dma_delay(struct usbd_bus *bus); +static void usbd_transfer_unsetup_sub(struct usbd_memory_info *info, uint8_t needs_delay); +static void usbd_control_transfer_init(struct usbd_xfer *xfer); static uint8_t usbd_start_hardware_sub(struct usbd_xfer *xfer); static void usbd_premature_callback(struct usbd_xfer *xfer, usbd_status_t error); +static void usbd_pipe_enter_wrapper(struct usbd_xfer *xfer); +static void usbd_bdma_work_loop(struct usbd_memory_info *info); +static void usbd_callback_intr_sched(struct usbd_memory_info *info); +static void usbd_callback_intr_td_sub(struct usbd_xfer **xfer, uint8_t dropcount); +static void usbd_callback_intr_td(void *arg); +static void usbd_dma_delay_done_cb(struct usbd_xfer *xfer); static void usbd_delayed_transfer_start(void *arg); -static void usbd_bdma_work_loop(struct usbd_memory_info *info); +static void usbd_do_request_callback(struct usbd_xfer *xfer); +static void usbd_handle_request_callback(struct usbd_xfer *xfer); +static usbd_status_t usbd_handle_set_config(struct usbd_xfer *xfer, uint8_t conf_no); +static usbd_status_t usbd_handle_set_stall_sub(struct usbd_device *udev, uint8_t ea_val, uint8_t do_stall); +static usbd_status_t usbd_handle_set_stall(struct usbd_xfer *xfer, uint8_t ep, uint8_t do_stall); +static uint8_t usbd_handle_get_stall(struct usbd_device *udev, uint8_t ea_val); +static usbd_status_t usbd_handle_remote_wakeup(struct usbd_xfer *xfer, uint8_t is_on); static usbd_status_t usbd_handle_request(struct usbd_xfer *xfer); -static void usbd_callback_intr_td(void *arg); -static void usbd_transfer_unsetup_sub(struct usbd_memory_info *info, uint8_t need_delay); -static void usbd_callback_intr_sched(struct usbd_memory_info *info); - #ifdef USB_DEBUG /*------------------------------------------------------------------------* From owner-p4-projects@FreeBSD.ORG Fri Feb 15 19:10:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0494816A420; Fri, 15 Feb 2008 19:10:06 +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 A642216A418 for ; Fri, 15 Feb 2008 19:10:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8DE2813C459 for ; Fri, 15 Feb 2008 19:10:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1FJA5cf011131 for ; Fri, 15 Feb 2008 19:10:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1FJA5xV011128 for perforce@freebsd.org; Fri, 15 Feb 2008 19:10:05 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Feb 2008 19:10:05 GMT Message-Id: <200802151910.m1FJA5xV011128@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 135455 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 19:10:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=135455 Change 135455 by hselasky@hselasky_laptop001 on 2008/02/15 19:09:52 Compile fix: "/*" inside comment. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#114 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#114 (text+ko) ==== @@ -4055,7 +4055,7 @@ * .bufsize = sizeof(usb_device_request_t), * .mh.timeout = 1000, //1.000 seconds * .mh.flags = { }, - * .mh.callback = &my_clear_stall_callback, //** + * .mh.callback = &my_clear_stall_callback, // ** * }; * * ** "my_clear_stall_callback" calls "usbd_clear_stall_callback" From owner-p4-projects@FreeBSD.ORG Fri Feb 15 19:18:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0833B16A46B; Fri, 15 Feb 2008 19:18:15 +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 C157716A420 for ; Fri, 15 Feb 2008 19:18:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AB04513C467 for ; Fri, 15 Feb 2008 19:18:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1FJIEXN012358 for ; Fri, 15 Feb 2008 19:18:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1FJIEOA012355 for perforce@freebsd.org; Fri, 15 Feb 2008 19:18:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Feb 2008 19:18:14 GMT Message-Id: <200802151918.m1FJIEOA012355@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 135456 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 19:18:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=135456 Change 135456 by hselasky@hselasky_laptop001 on 2008/02/15 19:18:01 All static functions in "usb_subr.c" should now have a prototype. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#95 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#95 (text+ko) ==== @@ -72,6 +72,36 @@ #include #include +/* prototypes */ + +static void usbd_trim_spaces(char *p); +static void usbd_finish_vp_info(struct usbd_device *udev); +static void usbd_printBCD(char *p, uint16_t p_len, uint16_t bcd); +static void usbd_fill_pipe_data(struct usbd_device *udev, uint8_t iface_index, usb_endpoint_descriptor_t *edesc, struct usbd_pipe *pipe); +static uint8_t usbd_find_best_slot(uint32_t *ptr, uint8_t start, uint8_t end); +static void usbd_fs_isoc_schedule_init_sub(struct usbd_fs_isoc_schedule *fss); +static void usbd_free_pipe_data(struct usbd_device *udev, uint8_t iface_index, uint8_t iface_mask); +static void usbd_free_iface_data(struct usbd_device *udev);; +static void usbd_reset_probed(struct usbd_device *udev);; +static void usbd_detach_device_sub(struct usbd_device *udev, device_t *ppdev, uint8_t free_subdev);; +static uint8_t usbd_probe_and_attach_sub(struct usbd_device *udev, struct usb_attach_arg *uaa, device_t *ppdev);; +static void usbd_suspend_resume_sub(struct usbd_device *udev, device_t dev, uint8_t do_suspend); + +#ifdef __FreeBSD__ +static int32_t usbd_m_copy_in_cb(void *arg, void *src, uint32_t count); +static void usbd_pc_alloc_mem_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error); + +#else +static int32_t usbd_m_copy_in_cb(void *arg, caddr_t src, uint32_t count); +static void usbd_pc_alloc_mem_cb(struct usbd_page_cache *pc, bus_dma_segment_t *segs, int nseg, int error); + +#endif +static void usbd_config_td_thread(void *arg);; +static void usbd_config_td_dummy_cmd(struct usbd_config_td_softc *sc, struct usbd_config_td_cc *cc, uint16_t reference); +static void usbd_bus_mem_flush_all_cb(struct usbd_bus *bus, struct usbd_page_cache *pc, struct usbd_page *pg, uint32_t size, uint32_t align); +static void usbd_bus_mem_alloc_all_cb(struct usbd_bus *bus, struct usbd_page_cache *pc, struct usbd_page *pg, uint32_t size, uint32_t align); +static void usbd_bus_mem_free_all_cb(struct usbd_bus *bus, struct usbd_page_cache *pc, struct usbd_page *pg, uint32_t size, uint32_t align); + #ifdef USBVERBOSE /* * Descriptions of of known vendors and devices ("products"). From owner-p4-projects@FreeBSD.ORG Fri Feb 15 20:39:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16CE316A46B; Fri, 15 Feb 2008 20:39:39 +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 CEBD116A41A for ; Fri, 15 Feb 2008 20:39:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA7FE13C44B for ; Fri, 15 Feb 2008 20:39:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1FKdcIW017739 for ; Fri, 15 Feb 2008 20:39:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1FKdcRr017736 for perforce@freebsd.org; Fri, 15 Feb 2008 20:39:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Feb 2008 20:39:38 GMT Message-Id: <200802152039.m1FKdcRr017736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 135460 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 20:39:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=135460 Change 135460 by hselasky@hselasky_laptop001 on 2008/02/15 20:38:43 Add documentation to all function is "usb_subr.c". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#96 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#96 (text+ko) ==== @@ -118,6 +118,12 @@ #include "usbdevs_data.h" #endif /* USBVERBOSE */ +/*------------------------------------------------------------------------* + * usbd_trim_spaces + * + * This function removes spaces at the beginning and the end of the string + * pointed to by the "p" argument. + *------------------------------------------------------------------------*/ static void usbd_trim_spaces(char *p) { @@ -136,6 +142,12 @@ return; } +/*------------------------------------------------------------------------* + * usbd_finish_vp_info + * + * This function checks the manufacturer and product strings and will + * fill in defaults for missing strings. + *------------------------------------------------------------------------*/ static void usbd_finish_vp_info(struct usbd_device *udev) { @@ -210,6 +222,13 @@ return; } +/*------------------------------------------------------------------------* + * usbd_printBCD + * + * This function will print the version number "bcd" to the string + * pointed to by "p" having a maximum length of "p_len" bytes + * including the terminating zero. + *------------------------------------------------------------------------*/ static void usbd_printBCD(char *p, uint16_t p_len, uint16_t bcd) { @@ -219,6 +238,14 @@ return; } +/*------------------------------------------------------------------------* + * usbd_devinfo + * + * This function will dump information from the device descriptor + * belonging to the USB device pointed to by "udev", to the string + * pointed to by "dst_ptr" having a maximum length of "dst_len" bytes + * including the terminating zero. + *------------------------------------------------------------------------*/ void usbd_devinfo(struct usbd_device *udev, char *dst_ptr, uint16_t dst_len) { @@ -246,6 +273,11 @@ return; } +/*------------------------------------------------------------------------* + * usbd_errstr + * + * This function converts an USB error code into a string. + *------------------------------------------------------------------------*/ const char * usbd_errstr(usbd_status_t err) { @@ -256,7 +288,12 @@ USBD_STATUS_DESC[err] : "unknown error!"; } -/* Delay for a certain number of ms */ +/*------------------------------------------------------------------------* + * usb_delay_ms + * + * This function will delay the code by the passed number of + * milliseconds. + *------------------------------------------------------------------------*/ void usb_delay_ms(struct usbd_bus *bus, uint32_t ms) { @@ -271,7 +308,12 @@ #endif } -/* Delay given a device handle. */ +/*------------------------------------------------------------------------* + * usbd_delay_ms + * + * This function will delay the code by the passed number of + * milliseconds. + *------------------------------------------------------------------------*/ void usbd_delay_ms(struct usbd_device *udev, uint32_t ms) { @@ -281,7 +323,10 @@ /*------------------------------------------------------------------------* * usbd_pause_mtx - factored out code * - * NOTE: number of milliseconds per second is 1024 for sake of optimisation + * This function will delay the code by the passed number of + * milliseconds. The passed mutex "mtx" will be dropped while + * waiting. The number of milliseconds per second is 1024 for sake of + * optimisation. *------------------------------------------------------------------------*/ void usbd_pause_mtx(struct mtx *mtx, uint32_t ms) @@ -303,6 +348,18 @@ return; } +/*------------------------------------------------------------------------* + * usbd_desc_foreach + * + * This function is the safe way to iterate across the USB config + * descriptor. It contains several checks against invalid + * descriptors. If the "desc" argument passed to this function is + * "NULL" the first descriptor, if any, will be returned. + * + * Return values: + * NULL: End of descriptors + * Else: Next descriptor after "desc" + *------------------------------------------------------------------------*/ usb_descriptor_t * usbd_desc_foreach(usb_config_descriptor_t *cd, usb_descriptor_t *desc) { @@ -325,6 +382,16 @@ (desc->bLength >= sizeof(*desc))) ? desc : NULL); } +/*------------------------------------------------------------------------* + * usbd_find_idesc + * + * This function will return the interface descriptor, if any, that + * has index "iface_index" and alternate index "alt_index". + * + * Return values: + * NULL: End of descriptors + * Else: A valid interface descriptor + *------------------------------------------------------------------------*/ usb_interface_descriptor_t * usbd_find_idesc(usb_config_descriptor_t *cd, uint8_t iface_index, uint8_t alt_index) @@ -363,6 +430,16 @@ return (NULL); } +/*------------------------------------------------------------------------* + * usbd_find_edesc + * + * This function will return the endpoint descriptor for the passed + * interface index, alternate index and endpoint index. + * + * Return values: + * NULL: End of descriptors + * Else: A valid endpoint descriptor + *------------------------------------------------------------------------*/ usb_endpoint_descriptor_t * usbd_find_edesc(usb_config_descriptor_t *cd, uint8_t iface_index, uint8_t alt_index, uint8_t ep_index) @@ -403,12 +480,17 @@ /*------------------------------------------------------------------------* * usbd_find_descriptor * - * This function will lookup the first descriptor that matches - * the criteria given by the arguments "type" and "subtype". Descriptors - * will only be searched within the interface having the index "iface_index". - * It is possible to specify the last descriptor returned by this function - * as the "id" argument. That way one can search for multiple descriptors - * matching the same criteria. + * This function will lookup the first descriptor that matches the + * criteria given by the arguments "type" and "subtype". Descriptors + * will only be searched within the interface having the index + * "iface_index". If the "id" argument points to an USB descriptor, + * it will be skipped before the search is started. This allows + * searching for multiple descriptors using the same criteria. Else + * the search is started after the interface descriptor. + * + * Return values: + * NULL: End of descriptors + * Else: A descriptor matching the criteria *------------------------------------------------------------------------*/ void * usbd_find_descriptor(struct usbd_device *udev, void *id, uint8_t iface_index, @@ -448,6 +530,15 @@ return (NULL); } +/*------------------------------------------------------------------------* + * usbd_get_no_alts + * + * Return value: + * Number of alternate settings for the given "ifaceno". + * + * NOTE: The returned can be larger than the actual number of + * alternate settings. + *------------------------------------------------------------------------*/ uint16_t usbd_get_no_alts(usb_config_descriptor_t *cd, uint8_t ifaceno) { @@ -468,6 +559,12 @@ return (n); } +/*------------------------------------------------------------------------* + * usbd_fill_pipe_data + * + * This function will initialize the USB pipe structure pointed to by + * the "pipe" argument. + *------------------------------------------------------------------------*/ static void usbd_fill_pipe_data(struct usbd_device *udev, uint8_t iface_index, usb_endpoint_descriptor_t *edesc, struct usbd_pipe *pipe) @@ -516,6 +613,12 @@ * */ +/*------------------------------------------------------------------------* + * usbd_find_best_slot + * + * Return value: + * The best Transaction Translation slot for an interrupt endpoint. + *------------------------------------------------------------------------*/ static uint8_t usbd_find_best_slot(uint32_t *ptr, uint8_t start, uint8_t end) { @@ -536,6 +639,18 @@ return (y); } +/*------------------------------------------------------------------------* + * usbd_intr_schedule_adjust + * + * This function will update the bandwith usage for the microframe + * having index "slot" by "len" bytes. "len" can be negative. If the + * "slot" argument is greater or equal to "USB_HS_MICRO_FRAMES_MAX" + * the "slot" argument will be replaced by the slot having least used + * bandwidth. + * + * Returns: + * The slot on which the bandwidth update was done. + *------------------------------------------------------------------------*/ uint8_t usbd_intr_schedule_adjust(struct usbd_device *udev, int16_t len, uint8_t slot) { @@ -572,6 +687,12 @@ return (slot); } +/*------------------------------------------------------------------------* + * usbd_fs_isoc_schedule_init_sub + * + * This function initialises an USB FULL speed isochronous schedule + * entry. + *------------------------------------------------------------------------*/ static void usbd_fs_isoc_schedule_init_sub(struct usbd_fs_isoc_schedule *fss) { @@ -582,6 +703,12 @@ return; } +/*------------------------------------------------------------------------* + * usbd_fs_isoc_schedule_init_all + * + * This function will reset the complete USB FULL speed isochronous + * bandwidth schedule. + *------------------------------------------------------------------------*/ void usbd_fs_isoc_schedule_init_all(struct usbd_fs_isoc_schedule *fss) { @@ -594,6 +721,21 @@ return; } +/*------------------------------------------------------------------------* + * usbd_fs_isoc_schedule_isoc_time_expand + * + * This function does multiple things. First of all it will expand the + * passed isochronous time, which is the return value. Then it will + * store where the current FULL speed isochronous schedule is + * positioned in time and where the end is. See "pp_start" and + * "pp_end" arguments. + * + * Returns: + * Expanded version of "isoc_time". + * + * NOTE: This function depends on being called regularly with + * intervals less than "USB_ISOC_TIME_MAX". + *------------------------------------------------------------------------*/ uint16_t usbd_fs_isoc_schedule_isoc_time_expand(struct usbd_device *udev, struct usbd_fs_isoc_schedule **pp_start, @@ -641,6 +783,16 @@ return (isoc_time); } + +/*------------------------------------------------------------------------* + * usbd_fs_isoc_schedule_alloc + * + * This function will allocate bandwidth for the isochronous FULL + * speed schedule. + * + * Returns: + * Microframe slot where the transaction will start. + *------------------------------------------------------------------------*/ uint8_t usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, uint16_t len) { @@ -674,8 +826,12 @@ /*------------------------------------------------------------------------* * usbd_free_pipe_data * - * NOTE: The interface pipes should not be in use when - * this function is called ! + * This function will free USB pipe data for the given interface + * index. Hence we do not have any dynamic allocations we simply clear + * "pipe->edesc" to indicate that the USB pipe structure can be + * reused. The pipes belonging to the given interface should not be in + * use when this function is called and no check is performed to + * prevent this. *------------------------------------------------------------------------*/ static void usbd_free_pipe_data(struct usbd_device *udev, @@ -696,6 +852,11 @@ /*------------------------------------------------------------------------* * usbd_fill_iface_data + * + * This function will fill in interface data and allocate USB pipes + * for all the endpoints that belong to the given interface. This + * function is typically called when setting the configuration or when + * setting an alternate interface. *------------------------------------------------------------------------*/ usbd_status_t usbd_fill_iface_data(struct usbd_device *udev, @@ -784,6 +945,12 @@ return (USBD_ERR_INVAL); } +/*------------------------------------------------------------------------* + * usbd_free_iface_data + * + * This function will free all USB interfaces and USB pipes belonging + * to an USB device. + *------------------------------------------------------------------------*/ static void usbd_free_iface_data(struct usbd_device *udev) { @@ -821,9 +988,9 @@ * usbd_set_config_no * * This function will search all the configuration descriptors for a - * matching configuration number. It is recommended to use - * the function "usbd_set_config_index()" when the configuration - * number does not matter. + * matching configuration number. It is recommended to use the + * function "usbd_set_config_index()" when the configuration number + * does not matter. * * - USB config 0 * - USB interfaces @@ -864,6 +1031,9 @@ /*------------------------------------------------------------------------* * usbd_set_config_index + * + * This function selects configuration by index, independent of the + * actual configuration number. *------------------------------------------------------------------------*/ usbd_status_t usbd_set_config_index(struct usbd_device *udev, uint8_t index, uint8_t msg) @@ -1014,6 +1184,14 @@ return (err); } +/*------------------------------------------------------------------------* + * usbd_set_alt_interface_index + * + * This function will select an alternate interface index for the + * given interface index. The interface should not be in use when this + * function is called. That means there should be no open USB + * transfers. Else an error is returned. + *------------------------------------------------------------------------*/ usbd_status_t usbd_set_alt_interface_index(struct usbd_device *udev, uint8_t iface_index, uint8_t alt_index) @@ -1037,6 +1215,13 @@ return (err); } +/*------------------------------------------------------------------------* + * usbd_fill_deviceinfo + * + * This function dumps information about an USB device to the + * structure pointed to by the "di" argument. It is used by some + * IOCTLs. + *------------------------------------------------------------------------*/ int usbd_fill_deviceinfo(struct usbd_device *udev, struct usb_device_info *di) { @@ -1117,6 +1302,12 @@ return (0); } +/*------------------------------------------------------------------------* + * usbd_reset_probed + * + * This function will reset the "udev->probed" variable to its default + * value, typically when drivers have been unloaded. + *------------------------------------------------------------------------*/ static void usbd_reset_probed(struct usbd_device *udev) { @@ -1125,6 +1316,12 @@ return; } +/*------------------------------------------------------------------------* + * usbd_detach_device_sub + * + * This function will try to detach an USB device. If it fails a panic + * will result. + *------------------------------------------------------------------------*/ static void usbd_detach_device_sub(struct usbd_device *udev, device_t *ppdev, uint8_t free_subdev) @@ -1480,6 +1677,9 @@ /*------------------------------------------------------------------------* * usbd_suspend_resume_sub + * + * This function is called when the suspend or resume methods should + * be executed on an USB device. *------------------------------------------------------------------------*/ static void usbd_suspend_resume_sub(struct usbd_device *udev, device_t dev, uint8_t do_suspend) @@ -1842,7 +2042,7 @@ /*------------------------------------------------------------------------* * usbd_free_device * - * This function is NULL safe. + * This function is NULL safe and will free an USB device. *------------------------------------------------------------------------*/ void usbd_free_device(struct usbd_device *udev) @@ -1893,6 +2093,17 @@ return; } +/*------------------------------------------------------------------------* + * usbd_ref_device + * + * This function increments the reference count on the USB device at + * index "index" so that it cannot be freed before the reference count + * reaches zero. + * + * Return values: + * NULL: USB device not present. + * Else: Refcount incremented on the given USB device. + *------------------------------------------------------------------------*/ struct usbd_device * usbd_ref_device(struct usbd_bus *bus, uint8_t index) { @@ -1917,6 +2128,12 @@ return (udev); } +/*------------------------------------------------------------------------* + * usbd_unref_device + * + * This function will release the reference count by one unit for the + * given USB device. + *------------------------------------------------------------------------*/ void usbd_unref_device(struct usbd_device *udev) { @@ -1946,6 +2163,16 @@ return; } +/*------------------------------------------------------------------------* + * usbd_get_iface + * + * This function is the safe way to get the USB interface structure + * pointer by interface index. + * + * Return values: + * NULL: Interface not present. + * Else: Pointer to USB interface structure. + *------------------------------------------------------------------------*/ struct usbd_interface * usbd_get_iface(struct usbd_device *udev, uint8_t iface_index) { @@ -1960,6 +2187,12 @@ return (iface); } +/*------------------------------------------------------------------------* + * usbd_set_device_desc + * + * This function can be called at probe or attach to set the USB + * device supplied textual description for the given device. + *------------------------------------------------------------------------*/ void usbd_set_device_desc(device_t dev) { @@ -2006,9 +2239,11 @@ } /*------------------------------------------------------------------------* - * allocate mbufs to an usbd interface queue + * usbd_alloc_mbufs - allocate mbufs to an usbd interface queue * - * returns a pointer that eventually should be passed to "free()" + * Returns: + * A pointer that should be passed to "free()" when the buffer(s) + * should be released. *------------------------------------------------------------------------*/ void * usbd_alloc_mbufs(struct malloc_type *type, struct usbd_ifqueue *ifq, @@ -2295,7 +2530,7 @@ } /*------------------------------------------------------------------------* - * usbd_pc_alloc_mem_cb + * usbd_pc_alloc_mem_cb - BUS-DMA callback function *------------------------------------------------------------------------*/ static void usbd_pc_alloc_mem_cb(void *arg, bus_dma_segment_t *segs, @@ -2536,7 +2771,7 @@ } /*------------------------------------------------------------------------* - * usbd_pc_dmamap_create + * usbd_pc_dmamap_create - create a DMA map * * Returns: * 0: Success @@ -2637,7 +2872,7 @@ } /*------------------------------------------------------------------------* - * usbd_pc_alloc_mem_cb + * usbd_pc_alloc_mem_cb - BUS-DMA callback function *------------------------------------------------------------------------*/ static void usbd_pc_alloc_mem_cb(struct usbd_page_cache *pc, bus_dma_segment_t *segs, @@ -2902,7 +3137,7 @@ } /*------------------------------------------------------------------------* - * usbd_pc_dmamap_create + * usbd_pc_dmamap_create - create a DMA map * * Returns: * 0: Success @@ -3034,7 +3269,9 @@ /*------------------------------------------------------------------------* - * usbd_config_thread + * usbd_config_thread + * + * This function is the dispatcher in the USB config thread system. *------------------------------------------------------------------------*/ static void usbd_config_td_thread(void *arg) @@ -3140,7 +3377,7 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_setup + * usbd_config_td_setup * * NOTE: the structure pointed to by "ctd" must be zeroed before calling * this function! @@ -3188,7 +3425,7 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_dummy_cmd + * usbd_config_td_dummy_cmd - a NOP *------------------------------------------------------------------------*/ static void usbd_config_td_dummy_cmd(struct usbd_config_td_softc *sc, @@ -3199,7 +3436,10 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_stop + * usbd_config_td_stop + * + * This function will tear down an USB config thread, waiting for the + * currently executing command to return. * * NOTE: If the structure pointed to by "ctd" is all zero, * this function does nothing. @@ -3243,7 +3483,7 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_unsetup + * usbd_config_td_unsetup * * NOTE: If the structure pointed to by "ctd" is all zero, * this function does nothing. @@ -3261,7 +3501,18 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_queue_command + * usbd_config_td_queue_command + * + * This function will enter a command into the config thread queue for + * execution. The "command_qcount" gives the maximum number of + * equivalent commands that will be kept on the queue before queueing + * the next command. "command_ref" is the reference count for the + * current command which is passed on to the "command_post_func" + * function. This parameter can be used to make a command + * unique. "command_pre_func" is called from this function when we + * have the final queue element. "command_post_func" is called from + * the USB config thread when the command reaches the beginning of the + * USB config thread queue. *------------------------------------------------------------------------*/ void usbd_config_td_queue_command(struct usbd_config_td *ctd, @@ -3350,7 +3601,7 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_is_gone + * usbd_config_td_is_gone * * Return values: * 0: config thread is running @@ -3365,7 +3616,7 @@ } /*------------------------------------------------------------------------* - * usbd_config_td_sleep + * usbd_config_td_sleep * * NOTE: this function can only be called from the config thread * @@ -3402,7 +3653,7 @@ } /*------------------------------------------------------------------------* - * usbd_ether_get_mbuf - get a new ethernet mbuf + * usbd_ether_get_mbuf - get a new ethernet aligned mbuf *------------------------------------------------------------------------*/ struct mbuf * usbd_ether_get_mbuf(void) @@ -3441,7 +3692,12 @@ } /*------------------------------------------------------------------------* - * usbd_isoc_time_expand - expand time counter from 7-bit to 16-bit + * usbd_isoc_time_expand + * + * This function will expand the time counter from 7-bit to 16-bit. + * + * Returns: + * 16-bit isochronous time counter. *------------------------------------------------------------------------*/ uint16_t usbd_isoc_time_expand(struct usbd_bus *bus, uint16_t isoc_time_curr) From owner-p4-projects@FreeBSD.ORG Sat Feb 16 03:26:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBDE616A418; Sat, 16 Feb 2008 03:26:50 +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 9FB2F16A41B for ; Sat, 16 Feb 2008 03:26:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9C29B13C43E for ; Sat, 16 Feb 2008 03:26:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G3QoK8071339 for ; Sat, 16 Feb 2008 03:26:50 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G3QnAp071336 for perforce@freebsd.org; Sat, 16 Feb 2008 03:26:49 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 16 Feb 2008 03:26:49 GMT Message-Id: <200802160326.m1G3QnAp071336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 135473 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 03:26:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=135473 Change 135473 by kmacy@kmacy:entropy:iwarp on 2008/02/16 03:26:22 Integrate support for firmware rev 5.0 and with support for the T3C chip Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_ael1002.c#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_common.h#3 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_mc5.c#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_regs.h#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_t3_cpl.h#4 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_t3_hw.c#5 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_tcb.h#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_version.h#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_vsc8211.c#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_xgmac.c#2 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_adapter.h#13 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_ioctl.h#3 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_main.c#15 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_offload.c#17 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_osdep.h#8 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_sge.c#13 edit .. //depot/projects/iwarp/sys/dev/cxgb/t3cdev.h#5 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#3 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#11 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#5 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_defs.h#9 integrate .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_listen.c#4 integrate .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#6 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#8 edit .. //depot/projects/iwarp/sys/modules/cxgb/cxgb/Makefile#7 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_ael1002.c#2 (text+ko) ==== @@ -36,6 +36,9 @@ #include #endif +#undef msleep +#define msleep t3_os_sleep + enum { AEL100X_TX_DISABLE = 9, AEL100X_TX_CONFIG1 = 0xc002, @@ -52,9 +55,9 @@ { int tx_on_gpio = phy->addr == 0 ? F_GPIO7_OUT_VAL : F_GPIO2_OUT_VAL; - t3_os_sleep(100); + msleep(100); t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, 0, tx_on_gpio); - t3_os_sleep(30); + msleep(30); } static int ael1002_power_down(struct cphy *phy, int enable) @@ -115,7 +118,6 @@ #ifdef C99_NOT_SUPPORTED static struct cphy_ops ael1002_ops = { - NULL, ael1002_reset, ael1002_intr_noop, ael1002_intr_noop, @@ -141,11 +143,14 @@ }; #endif -void t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, - const struct mdio_ops *mdio_ops) +int t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, + const struct mdio_ops *mdio_ops) { - cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops); + cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops, + SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE, + "10GBASE-XR"); ael100x_txon(phy); + return 0; } static int ael1006_reset(struct cphy *phy, int wait) @@ -188,7 +193,6 @@ #ifdef C99_NOT_SUPPORTED static struct cphy_ops ael1006_ops = { - NULL, ael1006_reset, ael1006_intr_enable, ael1006_intr_disable, @@ -214,16 +218,18 @@ }; #endif -void t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, - const struct mdio_ops *mdio_ops) +int t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, + const struct mdio_ops *mdio_ops) { - cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops); + cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops, + SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE, + "10GBASE-SR"); ael100x_txon(phy); + return 0; } #ifdef C99_NOT_SUPPORTED static struct cphy_ops qt2045_ops = { - NULL, ael1006_reset, ael1006_intr_enable, ael1006_intr_disable, @@ -249,12 +255,14 @@ }; #endif -void t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, - const struct mdio_ops *mdio_ops) +int t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, + const struct mdio_ops *mdio_ops) { unsigned int stat; - cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops); + cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops, + SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_TP, + "10GBASE-CX4"); /* * Some cards where the PHY is supposed to be at address 0 actually @@ -263,6 +271,7 @@ if (!phy_addr && !mdio_read(phy, MDIO_DEV_PMA_PMD, MII_BMSR, &stat) && stat == 0xffff) phy->addr = 1; + return 0; } static int xaui_direct_reset(struct cphy *phy, int wait) @@ -300,7 +309,6 @@ #ifdef C99_NOT_SUPPORTED static struct cphy_ops xaui_direct_ops = { - NULL, xaui_direct_reset, ael1002_intr_noop, ael1002_intr_noop, @@ -326,8 +334,11 @@ }; #endif -void t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, - const struct mdio_ops *mdio_ops) +int t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, + const struct mdio_ops *mdio_ops) { - cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops); + cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops, + SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_TP, + "10GBASE-CX4"); + return 0; } ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_common.h#3 (text+ko) ==== @@ -98,9 +98,9 @@ (((x) >> S_TP_VERSION_MICRO) & M_TP_VERSION_MICRO) enum { - FW_VERSION_MAJOR = 4, - FW_VERSION_MINOR = 7, - FW_VERSION_MICRO = 1 + FW_VERSION_MAJOR = 5, + FW_VERSION_MINOR = 0, + FW_VERSION_MICRO = 0 }; enum { @@ -157,10 +157,10 @@ }; struct port_type_info { - void (*phy_prep)(struct cphy *phy, adapter_t *adapter, int phy_addr, - const struct mdio_ops *ops); - unsigned int caps; - const char *desc; + int (*phy_prep)(struct cphy *phy, adapter_t *adapter, int phy_addr, + const struct mdio_ops *ops); + + }; struct mc5_stats { @@ -508,7 +508,6 @@ /* PHY operations */ struct cphy_ops { - void (*destroy)(struct cphy *phy); int (*reset)(struct cphy *phy, int wait); int (*intr_enable)(struct cphy *phy); @@ -530,7 +529,9 @@ /* A PHY instance */ struct cphy { int addr; /* PHY address */ + unsigned int caps; /* PHY capabilities */ adapter_t *adapter; /* associated adapter */ + const char *desc; /* PHY description */ unsigned long fifo_errors; /* FIFO over/under-flows */ const struct cphy_ops *ops; /* PHY operations */ int (*mdio_read)(adapter_t *adapter, int phy_addr, int mmd_addr, @@ -555,10 +556,13 @@ /* Convenience initializer */ static inline void cphy_init(struct cphy *phy, adapter_t *adapter, int phy_addr, struct cphy_ops *phy_ops, - const struct mdio_ops *mdio_ops) + const struct mdio_ops *mdio_ops, unsigned int caps, + const char *desc) { phy->adapter = adapter; phy->addr = phy_addr; + phy->caps = caps; + phy->desc = desc; phy->ops = phy_ops; if (mdio_ops) { phy->mdio_read = mdio_ops->read; @@ -667,11 +671,12 @@ int t3_read_flash(adapter_t *adapter, unsigned int addr, unsigned int nwords, u32 *data, int byte_oriented); int t3_get_tp_version(adapter_t *adapter, u32 *vers); -int t3_check_tpsram_version(adapter_t *adapter); +int t3_check_tpsram_version(adapter_t *adapter, int *must_load); int t3_check_tpsram(adapter_t *adapter, const u8 *tp_ram, unsigned int size); int t3_load_fw(adapter_t *adapter, const const u8 *fw_data, unsigned int size); +int t3_load_boot(adapter_t *adapter, u8 *boot_data, unsigned int size); int t3_get_fw_version(adapter_t *adapter, u32 *vers); -int t3_check_fw_version(adapter_t *adapter); +int t3_check_fw_version(adapter_t *adapter, int *must_load); int t3_init_hw(adapter_t *adapter, u32 fw_params); void mac_prep(struct cmac *mac, adapter_t *adapter, int index); void early_hw_init(adapter_t *adapter, const struct adapter_info *ai); @@ -769,18 +774,21 @@ int t3_vsc7323_set_addr(adapter_t *adap, u8 addr[6], int port); int t3_vsc7323_enable(adapter_t *adap, int port, int which); int t3_vsc7323_disable(adapter_t *adap, int port, int which); + +int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert); + const struct mac_stats *t3_vsc7323_update_stats(struct cmac *mac); -void t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); -void t3_vsc8211_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_vsc8211_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); -void t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); -void t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); -void t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); -void t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops); #endif /* __CHELSIO_COMMON_H */ ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 (text+ko) ==== @@ -74,6 +74,8 @@ #define FW_WROPCODE_MNGT 0x1D #define FW_MNGTOPCODE_PKTSCHED_SET 0x00 +#define FW_MNGTOPCODE_WRC_SET 0x01 +#define FW_MNGTOPCODE_TUNNEL_CR_FLUSH 0x02 /* Maximum size of a WR sent from the host, limited by the SGE. * ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_mc5.c#2 (text+ko) ==== @@ -384,7 +384,7 @@ return err; } -/* +/** * read_mc5_range - dump a part of the memory managed by MC5 * @mc5: the MC5 handle * @start: the start address for the dump @@ -425,8 +425,11 @@ #define MC5_INT_FATAL (F_PARITYERR | F_REQQPARERR | F_DISPQPARERR) -/* - * MC5 interrupt handler +/** + * t3_mc5_intr_handler - MC5 interrupt handler + * @mc5: the MC5 handle + * + * The MC5 interrupt handler. */ void t3_mc5_intr_handler(struct mc5 *mc5) { @@ -462,6 +465,16 @@ t3_write_reg(adap, A_MC5_DB_INT_CAUSE, cause); } + +/** + * t3_mc5_prep - initialize the SW state for MC5 + * @adapter: the adapter + * @mc5: the MC5 handle + * @mode: whether the TCAM will be in 72- or 144-bit mode + * + * Initialize the SW state associated with MC5. Among other things + * this determines the size of the attached TCAM. + */ void __devinit t3_mc5_prep(adapter_t *adapter, struct mc5 *mc5, int mode) { #define K * 1024 ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 (text+ko) ==== @@ -221,6 +221,16 @@ return 0; } +static int mv88e1xxx_set_speed_duplex(struct cphy *phy, int speed, int duplex) +{ + int err = t3_set_phy_speed_duplex(phy, speed, duplex); + + /* PHY needs reset for new settings to take effect */ + if (!err) + err = mv88e1xxx_reset(phy, 0); + return err; +} + static int mv88e1xxx_downshift_set(struct cphy *cphy, int downshift_enable) { /* @@ -258,7 +268,6 @@ #ifdef C99_NOT_SUPPORTED static struct cphy_ops mv88e1xxx_ops = { - NULL, mv88e1xxx_reset, mv88e1xxx_intr_enable, mv88e1xxx_intr_disable, @@ -268,7 +277,7 @@ mv88e1xxx_autoneg_restart, t3_phy_advertise, mv88e1xxx_set_loopback, - t3_set_phy_speed_duplex, + mv88e1xxx_set_speed_duplex, mv88e1xxx_get_link_status, mv88e1xxx_power_down, }; @@ -283,20 +292,28 @@ .autoneg_restart = mv88e1xxx_autoneg_restart, .advertise = t3_phy_advertise, .set_loopback = mv88e1xxx_set_loopback, - .set_speed_duplex = t3_set_phy_speed_duplex, + .set_speed_duplex = mv88e1xxx_set_speed_duplex, .get_link_status = mv88e1xxx_get_link_status, .power_down = mv88e1xxx_power_down, }; #endif -void t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, +int t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops) { - cphy_init(phy, adapter, phy_addr, &mv88e1xxx_ops, mdio_ops); + int err; + + cphy_init(phy, adapter, phy_addr, &mv88e1xxx_ops, mdio_ops, + SUPPORTED_10baseT_Full | SUPPORTED_100baseT_Full | + SUPPORTED_1000baseT_Full | SUPPORTED_Autoneg | SUPPORTED_MII | + SUPPORTED_TP | SUPPORTED_IRQ, "10/100/1000BASE-T"); /* Configure copper PHY transmitter as class A to reduce EMI. */ - mdio_write(phy, 0, MV88E1XXX_EXTENDED_ADDR, 0xb); - mdio_write(phy, 0, MV88E1XXX_EXTENDED_DATA, 0x8004); - - mv88e1xxx_downshift_set(phy, 1); /* Enable downshift */ + err = mdio_write(phy, 0, MV88E1XXX_EXTENDED_ADDR, 0xb); + + if (!err) + err = mdio_write(phy, 0, MV88E1XXX_EXTENDED_DATA, 0x8004); + if (!err) + err = mv88e1xxx_downshift_set(phy, 1); /* Enable downshift */ + return err; } ==== //depot/projects/iwarp/sys/dev/cxgb/common/cxgb_regs.h#2 (text+ko) ==== @@ -35,6 +35,38 @@ #define A_SG_CONTROL 0x0 +#define S_CONGMODE 29 +#define V_CONGMODE(x) ((x) << S_CONGMODE) +#define F_CONGMODE V_CONGMODE(1U) + +#define S_TNLFLMODE 28 +#define V_TNLFLMODE(x) ((x) << S_TNLFLMODE) +#define F_TNLFLMODE V_TNLFLMODE(1U) + +#define S_FATLPERREN 27 +#define V_FATLPERREN(x) ((x) << S_FATLPERREN) +#define F_FATLPERREN V_FATLPERREN(1U) + +#define S_URGTNL 26 +#define V_URGTNL(x) ((x) << S_URGTNL) +#define F_URGTNL V_URGTNL(1U) + +#define S_NEWNOTIFY 25 +#define V_NEWNOTIFY(x) ((x) << S_NEWNOTIFY) +#define F_NEWNOTIFY V_NEWNOTIFY(1U) + +#define S_AVOIDCQOVFL 24 +#define V_AVOIDCQOVFL(x) ((x) << S_AVOIDCQOVFL) +#define F_AVOIDCQOVFL V_AVOIDCQOVFL(1U) + +#define S_OPTONEINTMULTQ 23 +#define V_OPTONEINTMULTQ(x) ((x) << S_OPTONEINTMULTQ) +#define F_OPTONEINTMULTQ V_OPTONEINTMULTQ(1U) + +#define S_CQCRDTCTRL 22 +#define V_CQCRDTCTRL(x) ((x) << S_CQCRDTCTRL) +#define F_CQCRDTCTRL V_CQCRDTCTRL(1U) + #define S_EGRENUPBP 21 #define V_EGRENUPBP(x) ((x) << S_EGRENUPBP) #define F_EGRENUPBP V_EGRENUPBP(1U) @@ -94,26 +126,6 @@ #define V_GLOBALENABLE(x) ((x) << S_GLOBALENABLE) #define F_GLOBALENABLE V_GLOBALENABLE(1U) -#define S_URGTNL 26 -#define V_URGTNL(x) ((x) << S_URGTNL) -#define F_URGTNL V_URGTNL(1U) - -#define S_NEWNOTIFY 25 -#define V_NEWNOTIFY(x) ((x) << S_NEWNOTIFY) -#define F_NEWNOTIFY V_NEWNOTIFY(1U) - -#define S_AVOIDCQOVFL 24 -#define V_AVOIDCQOVFL(x) ((x) << S_AVOIDCQOVFL) -#define F_AVOIDCQOVFL V_AVOIDCQOVFL(1U) - -#define S_OPTONEINTMULTQ 23 -#define V_OPTONEINTMULTQ(x) ((x) << S_OPTONEINTMULTQ) -#define F_OPTONEINTMULTQ V_OPTONEINTMULTQ(1U) - -#define S_CQCRDTCTRL 22 -#define V_CQCRDTCTRL(x) ((x) << S_CQCRDTCTRL) -#define F_CQCRDTCTRL V_CQCRDTCTRL(1U) - #define A_SG_KDOORBELL 0x4 #define S_SELEGRCNTX 31 @@ -366,11 +378,6 @@ #define A_SG_EGR_PRI_CNT 0x50 -#define S_EGRPRICNT 0 -#define M_EGRPRICNT 0x1f -#define V_EGRPRICNT(x) ((x) << S_EGRPRICNT) -#define G_EGRPRICNT(x) (((x) >> S_EGRPRICNT) & M_EGRPRICNT) - #define S_EGRERROPCODE 24 #define M_EGRERROPCODE 0xff #define V_EGRERROPCODE(x) ((x) << S_EGRERROPCODE) @@ -386,6 +393,11 @@ #define V_EGRLOOPCODE(x) ((x) << S_EGRLOOPCODE) #define G_EGRLOOPCODE(x) (((x) >> S_EGRLOOPCODE) & M_EGRLOOPCODE) +#define S_EGRPRICNT 0 +#define M_EGRPRICNT 0x1f +#define V_EGRPRICNT(x) ((x) << S_EGRPRICNT) +#define G_EGRPRICNT(x) (((x) >> S_EGRPRICNT) & M_EGRPRICNT) + #define A_SG_EGR_RCQ_DRB_THRSH 0x54 #define S_HIRCQDRBTHRSH 16 @@ -407,6 +419,56 @@ #define A_SG_INT_CAUSE 0x5c +#define S_HIRCQPARITYERROR 31 +#define V_HIRCQPARITYERROR(x) ((x) << S_HIRCQPARITYERROR) +#define F_HIRCQPARITYERROR V_HIRCQPARITYERROR(1U) + +#define S_LORCQPARITYERROR 30 +#define V_LORCQPARITYERROR(x) ((x) << S_LORCQPARITYERROR) +#define F_LORCQPARITYERROR V_LORCQPARITYERROR(1U) + +#define S_HIDRBPARITYERROR 29 +#define V_HIDRBPARITYERROR(x) ((x) << S_HIDRBPARITYERROR) +#define F_HIDRBPARITYERROR V_HIDRBPARITYERROR(1U) + +#define S_LODRBPARITYERROR 28 +#define V_LODRBPARITYERROR(x) ((x) << S_LODRBPARITYERROR) +#define F_LODRBPARITYERROR V_LODRBPARITYERROR(1U) + +#define S_FLPARITYERROR 22 +#define M_FLPARITYERROR 0x3f +#define V_FLPARITYERROR(x) ((x) << S_FLPARITYERROR) +#define G_FLPARITYERROR(x) (((x) >> S_FLPARITYERROR) & M_FLPARITYERROR) + +#define S_ITPARITYERROR 20 +#define M_ITPARITYERROR 0x3 +#define V_ITPARITYERROR(x) ((x) << S_ITPARITYERROR) +#define G_ITPARITYERROR(x) (((x) >> S_ITPARITYERROR) & M_ITPARITYERROR) + +#define S_IRPARITYERROR 19 +#define V_IRPARITYERROR(x) ((x) << S_IRPARITYERROR) +#define F_IRPARITYERROR V_IRPARITYERROR(1U) + +#define S_RCPARITYERROR 18 +#define V_RCPARITYERROR(x) ((x) << S_RCPARITYERROR) +#define F_RCPARITYERROR V_RCPARITYERROR(1U) + +#define S_OCPARITYERROR 17 +#define V_OCPARITYERROR(x) ((x) << S_OCPARITYERROR) +#define F_OCPARITYERROR V_OCPARITYERROR(1U) + +#define S_CPPARITYERROR 16 +#define V_CPPARITYERROR(x) ((x) << S_CPPARITYERROR) +#define F_CPPARITYERROR V_CPPARITYERROR(1U) + +#define S_R_REQ_FRAMINGERROR 15 +#define V_R_REQ_FRAMINGERROR(x) ((x) << S_R_REQ_FRAMINGERROR) +#define F_R_REQ_FRAMINGERROR V_R_REQ_FRAMINGERROR(1U) + +#define S_UC_REQ_FRAMINGERROR 14 +#define V_UC_REQ_FRAMINGERROR(x) ((x) << S_UC_REQ_FRAMINGERROR) +#define F_UC_REQ_FRAMINGERROR V_UC_REQ_FRAMINGERROR(1U) + #define S_HICTLDRBDROPERR 13 #define V_HICTLDRBDROPERR(x) ((x) << S_HICTLDRBDROPERR) #define F_HICTLDRBDROPERR V_HICTLDRBDROPERR(1U) @@ -582,6 +644,10 @@ #define A_PCIX_INT_CAUSE 0x84 #define A_PCIX_CFG 0x88 +#define S_DMASTOPEN 19 +#define V_DMASTOPEN(x) ((x) << S_DMASTOPEN) +#define F_DMASTOPEN V_DMASTOPEN(1U) + #define S_CLIDECEN 18 #define V_CLIDECEN(x) ((x) << S_CLIDECEN) #define F_CLIDECEN V_CLIDECEN(1U) @@ -721,16 +787,175 @@ #define V_SLEEPMODE0(x) ((x) << S_SLEEPMODE0) #define F_SLEEPMODE0 V_SLEEPMODE0(1U) +#define A_PCIX_STAT0 0x98 + +#define S_PIOREQFIFOLEVEL 26 +#define M_PIOREQFIFOLEVEL 0x3f +#define V_PIOREQFIFOLEVEL(x) ((x) << S_PIOREQFIFOLEVEL) +#define G_PIOREQFIFOLEVEL(x) (((x) >> S_PIOREQFIFOLEVEL) & M_PIOREQFIFOLEVEL) + +#define S_RFINIST 24 +#define M_RFINIST 0x3 +#define V_RFINIST(x) ((x) << S_RFINIST) +#define G_RFINIST(x) (((x) >> S_RFINIST) & M_RFINIST) + +#define S_RFRESPRDST 22 +#define M_RFRESPRDST 0x3 +#define V_RFRESPRDST(x) ((x) << S_RFRESPRDST) +#define G_RFRESPRDST(x) (((x) >> S_RFRESPRDST) & M_RFRESPRDST) + +#define S_TARCST 19 +#define M_TARCST 0x7 +#define V_TARCST(x) ((x) << S_TARCST) +#define G_TARCST(x) (((x) >> S_TARCST) & M_TARCST) + +#define S_TARXST 16 +#define M_TARXST 0x7 +#define V_TARXST(x) ((x) << S_TARXST) +#define G_TARXST(x) (((x) >> S_TARXST) & M_TARXST) + +#define S_WFREQWRST 13 +#define M_WFREQWRST 0x7 +#define V_WFREQWRST(x) ((x) << S_WFREQWRST) +#define G_WFREQWRST(x) (((x) >> S_WFREQWRST) & M_WFREQWRST) + +#define S_WFRESPFIFOEMPTY 12 +#define V_WFRESPFIFOEMPTY(x) ((x) << S_WFRESPFIFOEMPTY) +#define F_WFRESPFIFOEMPTY V_WFRESPFIFOEMPTY(1U) + +#define S_WFREQFIFOEMPTY 11 +#define V_WFREQFIFOEMPTY(x) ((x) << S_WFREQFIFOEMPTY) +#define F_WFREQFIFOEMPTY V_WFREQFIFOEMPTY(1U) + +#define S_RFRESPFIFOEMPTY 10 +#define V_RFRESPFIFOEMPTY(x) ((x) << S_RFRESPFIFOEMPTY) +#define F_RFRESPFIFOEMPTY V_RFRESPFIFOEMPTY(1U) + +#define S_RFREQFIFOEMPTY 9 +#define V_RFREQFIFOEMPTY(x) ((x) << S_RFREQFIFOEMPTY) +#define F_RFREQFIFOEMPTY V_RFREQFIFOEMPTY(1U) + +#define S_PIORESPFIFOLEVEL 7 +#define M_PIORESPFIFOLEVEL 0x3 +#define V_PIORESPFIFOLEVEL(x) ((x) << S_PIORESPFIFOLEVEL) +#define G_PIORESPFIFOLEVEL(x) (((x) >> S_PIORESPFIFOLEVEL) & M_PIORESPFIFOLEVEL) + +#define S_CFRESPFIFOEMPTY 6 +#define V_CFRESPFIFOEMPTY(x) ((x) << S_CFRESPFIFOEMPTY) +#define F_CFRESPFIFOEMPTY V_CFRESPFIFOEMPTY(1U) + +#define S_CFREQFIFOEMPTY 5 +#define V_CFREQFIFOEMPTY(x) ((x) << S_CFREQFIFOEMPTY) +#define F_CFREQFIFOEMPTY V_CFREQFIFOEMPTY(1U) + +#define S_VPDRESPFIFOEMPTY 4 +#define V_VPDRESPFIFOEMPTY(x) ((x) << S_VPDRESPFIFOEMPTY) +#define F_VPDRESPFIFOEMPTY V_VPDRESPFIFOEMPTY(1U) + +#define S_VPDREQFIFOEMPTY 3 +#define V_VPDREQFIFOEMPTY(x) ((x) << S_VPDREQFIFOEMPTY) +#define F_VPDREQFIFOEMPTY V_VPDREQFIFOEMPTY(1U) + +#define S_PIO_RSPPND 2 +#define V_PIO_RSPPND(x) ((x) << S_PIO_RSPPND) +#define F_PIO_RSPPND V_PIO_RSPPND(1U) + +#define S_DLYTRNPND 1 +#define V_DLYTRNPND(x) ((x) << S_DLYTRNPND) +#define F_DLYTRNPND V_DLYTRNPND(1U) + +#define S_SPLTRNPND 0 +#define V_SPLTRNPND(x) ((x) << S_SPLTRNPND) +#define F_SPLTRNPND V_SPLTRNPND(1U) + +#define A_PCIX_STAT1 0x9c + +#define S_WFINIST 26 +#define M_WFINIST 0xf +#define V_WFINIST(x) ((x) << S_WFINIST) +#define G_WFINIST(x) (((x) >> S_WFINIST) & M_WFINIST) + +#define S_ARBST 23 +#define M_ARBST 0x7 +#define V_ARBST(x) ((x) << S_ARBST) +#define G_ARBST(x) (((x) >> S_ARBST) & M_ARBST) + +#define S_PMIST 21 +#define M_PMIST 0x3 +#define V_PMIST(x) ((x) << S_PMIST) +#define G_PMIST(x) (((x) >> S_PMIST) & M_PMIST) + +#define S_CALST 19 +#define M_CALST 0x3 +#define V_CALST(x) ((x) << S_CALST) +#define G_CALST(x) (((x) >> S_CALST) & M_CALST) + +#define S_CFREQRDST 17 +#define M_CFREQRDST 0x3 +#define V_CFREQRDST(x) ((x) << S_CFREQRDST) +#define G_CFREQRDST(x) (((x) >> S_CFREQRDST) & M_CFREQRDST) + +#define S_CFINIST 15 +#define M_CFINIST 0x3 +#define V_CFINIST(x) ((x) << S_CFINIST) +#define G_CFINIST(x) (((x) >> S_CFINIST) & M_CFINIST) + +#define S_CFRESPRDST 13 +#define M_CFRESPRDST 0x3 +#define V_CFRESPRDST(x) ((x) << S_CFRESPRDST) +#define G_CFRESPRDST(x) (((x) >> S_CFRESPRDST) & M_CFRESPRDST) + +#define S_INICST 10 +#define M_INICST 0x7 +#define V_INICST(x) ((x) << S_INICST) +#define G_INICST(x) (((x) >> S_INICST) & M_INICST) + +#define S_INIXST 7 +#define M_INIXST 0x7 +#define V_INIXST(x) ((x) << S_INIXST) +#define G_INIXST(x) (((x) >> S_INIXST) & M_INIXST) + +#define S_INTST 4 +#define M_INTST 0x7 +#define V_INTST(x) ((x) << S_INTST) +#define G_INTST(x) (((x) >> S_INTST) & M_INTST) + +#define S_PIOST 2 +#define M_PIOST 0x3 +#define V_PIOST(x) ((x) << S_PIOST) +#define G_PIOST(x) (((x) >> S_PIOST) & M_PIOST) + +#define S_RFREQRDST 0 +#define M_RFREQRDST 0x3 +#define V_RFREQRDST(x) ((x) << S_RFREQRDST) +#define G_RFREQRDST(x) (((x) >> S_RFREQRDST) & M_RFREQRDST) + /* registers for module PCIE0 */ #define PCIE0_BASE_ADDR 0x80 #define A_PCIE_INT_ENABLE 0x80 -#define S_BISTERR 15 +#define S_BISTERR 19 #define M_BISTERR 0xff #define V_BISTERR(x) ((x) << S_BISTERR) #define G_BISTERR(x) (((x) >> S_BISTERR) & M_BISTERR) +#define S_TXPARERR 18 +#define V_TXPARERR(x) ((x) << S_TXPARERR) +#define F_TXPARERR V_TXPARERR(1U) + +#define S_RXPARERR 17 +#define V_RXPARERR(x) ((x) << S_RXPARERR) +#define F_RXPARERR V_RXPARERR(1U) + +#define S_RETRYLUTPARERR 16 +#define V_RETRYLUTPARERR(x) ((x) << S_RETRYLUTPARERR) +#define F_RETRYLUTPARERR V_RETRYLUTPARERR(1U) + +#define S_RETRYBUFPARERR 15 +#define V_RETRYBUFPARERR(x) ((x) << S_RETRYBUFPARERR) +#define F_RETRYBUFPARERR V_RETRYBUFPARERR(1U) + #define S_PCIE_MSIXPARERR 12 #define M_PCIE_MSIXPARERR 0x7 #define V_PCIE_MSIXPARERR(x) ((x) << S_PCIE_MSIXPARERR) @@ -787,6 +1012,18 @@ #define A_PCIE_INT_CAUSE 0x84 #define A_PCIE_CFG 0x88 +#define S_PCIE_DMASTOPEN 24 +#define V_PCIE_DMASTOPEN(x) ((x) << S_PCIE_DMASTOPEN) +#define F_PCIE_DMASTOPEN V_PCIE_DMASTOPEN(1U) + +#define S_PRIORITYINTA 23 +#define V_PRIORITYINTA(x) ((x) << S_PRIORITYINTA) +#define F_PRIORITYINTA V_PRIORITYINTA(1U) + +#define S_INIFULLPKT 22 +#define V_INIFULLPKT(x) ((x) << S_INIFULLPKT) +#define F_INIFULLPKT V_INIFULLPKT(1U) + #define S_ENABLELINKDWNDRST 21 #define V_ENABLELINKDWNDRST(x) ((x) << S_ENABLELINKDWNDRST) #define F_ENABLELINKDWNDRST V_ENABLELINKDWNDRST(1U) @@ -825,15 +1062,37 @@ #define V_CRSTWRMMODE(x) ((x) << S_CRSTWRMMODE) #define F_CRSTWRMMODE V_CRSTWRMMODE(1U) -#define S_PRIORITYINTA 23 -#define V_PRIORITYINTA(x) ((x) << S_PRIORITYINTA) -#define F_PRIORITYINTA V_PRIORITYINTA(1U) +#define A_PCIE_MODE 0x8c + +#define S_TAR_STATE 29 +#define M_TAR_STATE 0x7 +#define V_TAR_STATE(x) ((x) << S_TAR_STATE) +#define G_TAR_STATE(x) (((x) >> S_TAR_STATE) & M_TAR_STATE) + +#define S_RF_STATEINI 26 +#define M_RF_STATEINI 0x7 +#define V_RF_STATEINI(x) ((x) << S_RF_STATEINI) +#define G_RF_STATEINI(x) (((x) >> S_RF_STATEINI) & M_RF_STATEINI) + +#define S_CF_STATEINI 23 +#define M_CF_STATEINI 0x7 +#define V_CF_STATEINI(x) ((x) << S_CF_STATEINI) +#define G_CF_STATEINI(x) (((x) >> S_CF_STATEINI) & M_CF_STATEINI) + +#define S_PIO_STATEPL 20 +#define M_PIO_STATEPL 0x7 +#define V_PIO_STATEPL(x) ((x) << S_PIO_STATEPL) +#define G_PIO_STATEPL(x) (((x) >> S_PIO_STATEPL) & M_PIO_STATEPL) -#define S_INIFULLPKT 22 -#define V_INIFULLPKT(x) ((x) << S_INIFULLPKT) -#define F_INIFULLPKT V_INIFULLPKT(1U) +#define S_PIO_STATEISC 18 +#define M_PIO_STATEISC 0x3 +#define V_PIO_STATEISC(x) ((x) << S_PIO_STATEISC) +#define G_PIO_STATEISC(x) (((x) >> S_PIO_STATEISC) & M_PIO_STATEISC) -#define A_PCIE_MODE 0x8c +#define S_NUMFSTTRNSEQRX 10 +#define M_NUMFSTTRNSEQRX 0xff +#define V_NUMFSTTRNSEQRX(x) ((x) << S_NUMFSTTRNSEQRX) +#define G_NUMFSTTRNSEQRX(x) (((x) >> S_NUMFSTTRNSEQRX) & M_NUMFSTTRNSEQRX) #define S_LNKCNTLSTATE 2 #define M_LNKCNTLSTATE 0xff @@ -848,10 +1107,76 @@ #define V_LNKINITIAL(x) ((x) << S_LNKINITIAL) #define F_LNKINITIAL V_LNKINITIAL(1U) -#define S_NUMFSTTRNSEQRX 10 -#define M_NUMFSTTRNSEQRX 0xff -#define V_NUMFSTTRNSEQRX(x) ((x) << S_NUMFSTTRNSEQRX) -#define G_NUMFSTTRNSEQRX(x) (((x) >> S_NUMFSTTRNSEQRX) & M_NUMFSTTRNSEQRX) +#define A_PCIE_STAT 0x90 + +#define S_INI_STATE 28 +#define M_INI_STATE 0xf +#define V_INI_STATE(x) ((x) << S_INI_STATE) +#define G_INI_STATE(x) (((x) >> S_INI_STATE) & M_INI_STATE) + +#define S_WF_STATEINI 24 +#define M_WF_STATEINI 0xf +#define V_WF_STATEINI(x) ((x) << S_WF_STATEINI) +#define G_WF_STATEINI(x) (((x) >> S_WF_STATEINI) & M_WF_STATEINI) + +#define S_PLM_REQFIFOCNT 22 +#define M_PLM_REQFIFOCNT 0x3 +#define V_PLM_REQFIFOCNT(x) ((x) << S_PLM_REQFIFOCNT) +#define G_PLM_REQFIFOCNT(x) (((x) >> S_PLM_REQFIFOCNT) & M_PLM_REQFIFOCNT) + +#define S_ER_REQFIFOEMPTY 21 +#define V_ER_REQFIFOEMPTY(x) ((x) << S_ER_REQFIFOEMPTY) +#define F_ER_REQFIFOEMPTY V_ER_REQFIFOEMPTY(1U) + +#define S_WF_RSPFIFOEMPTY 20 +#define V_WF_RSPFIFOEMPTY(x) ((x) << S_WF_RSPFIFOEMPTY) +#define F_WF_RSPFIFOEMPTY V_WF_RSPFIFOEMPTY(1U) + +#define S_WF_REQFIFOEMPTY 19 +#define V_WF_REQFIFOEMPTY(x) ((x) << S_WF_REQFIFOEMPTY) +#define F_WF_REQFIFOEMPTY V_WF_REQFIFOEMPTY(1U) + +#define S_RF_RSPFIFOEMPTY 18 +#define V_RF_RSPFIFOEMPTY(x) ((x) << S_RF_RSPFIFOEMPTY) +#define F_RF_RSPFIFOEMPTY V_RF_RSPFIFOEMPTY(1U) + +#define S_RF_REQFIFOEMPTY 17 +#define V_RF_REQFIFOEMPTY(x) ((x) << S_RF_REQFIFOEMPTY) +#define F_RF_REQFIFOEMPTY V_RF_REQFIFOEMPTY(1U) + +#define S_RF_ACTEMPTY 16 +#define V_RF_ACTEMPTY(x) ((x) << S_RF_ACTEMPTY) +#define F_RF_ACTEMPTY V_RF_ACTEMPTY(1U) + +#define S_PIO_RSPFIFOCNT 11 +#define M_PIO_RSPFIFOCNT 0x1f +#define V_PIO_RSPFIFOCNT(x) ((x) << S_PIO_RSPFIFOCNT) +#define G_PIO_RSPFIFOCNT(x) (((x) >> S_PIO_RSPFIFOCNT) & M_PIO_RSPFIFOCNT) + +#define S_PIO_REQFIFOCNT 5 +#define M_PIO_REQFIFOCNT 0x3f +#define V_PIO_REQFIFOCNT(x) ((x) << S_PIO_REQFIFOCNT) +#define G_PIO_REQFIFOCNT(x) (((x) >> S_PIO_REQFIFOCNT) & M_PIO_REQFIFOCNT) + +#define S_CF_RSPFIFOEMPTY 4 +#define V_CF_RSPFIFOEMPTY(x) ((x) << S_CF_RSPFIFOEMPTY) +#define F_CF_RSPFIFOEMPTY V_CF_RSPFIFOEMPTY(1U) + +#define S_CF_REQFIFOEMPTY 3 +#define V_CF_REQFIFOEMPTY(x) ((x) << S_CF_REQFIFOEMPTY) +#define F_CF_REQFIFOEMPTY V_CF_REQFIFOEMPTY(1U) + +#define S_CF_ACTEMPTY 2 +#define V_CF_ACTEMPTY(x) ((x) << S_CF_ACTEMPTY) +#define F_CF_ACTEMPTY V_CF_ACTEMPTY(1U) + +#define S_VPD_RSPFIFOEMPTY 1 +#define V_VPD_RSPFIFOEMPTY(x) ((x) << S_VPD_RSPFIFOEMPTY) +#define F_VPD_RSPFIFOEMPTY V_VPD_RSPFIFOEMPTY(1U) + +#define S_VPD_REQFIFOEMPTY 0 +#define V_VPD_REQFIFOEMPTY(x) ((x) << S_VPD_REQFIFOEMPTY) +#define F_VPD_REQFIFOEMPTY V_VPD_REQFIFOEMPTY(1U) #define A_PCIE_CAL 0x90 @@ -883,8 +1208,37 @@ #define G_ZIN(x) (((x) >> S_ZIN) & M_ZIN) #define A_PCIE_WOL 0x94 + +#define S_CF_RSPSTATE 12 +#define M_CF_RSPSTATE 0x3 +#define V_CF_RSPSTATE(x) ((x) << S_CF_RSPSTATE) +#define G_CF_RSPSTATE(x) (((x) >> S_CF_RSPSTATE) & M_CF_RSPSTATE) + +#define S_RF_RSPSTATE 10 +#define M_RF_RSPSTATE 0x3 +#define V_RF_RSPSTATE(x) ((x) << S_RF_RSPSTATE) +#define G_RF_RSPSTATE(x) (((x) >> S_RF_RSPSTATE) & M_RF_RSPSTATE) + +#define S_PME_STATE 7 +#define M_PME_STATE 0x7 +#define V_PME_STATE(x) ((x) << S_PME_STATE) +#define G_PME_STATE(x) (((x) >> S_PME_STATE) & M_PME_STATE) + +#define S_INT_STATE 4 +#define M_INT_STATE 0x7 +#define V_INT_STATE(x) ((x) << S_INT_STATE) +#define G_INT_STATE(x) (((x) >> S_INT_STATE) & M_INT_STATE) + #define A_PCIE_PEX_CTRL0 0x98 +#define S_CPLTIMEOUTRETRY 31 +#define V_CPLTIMEOUTRETRY(x) ((x) << S_CPLTIMEOUTRETRY) +#define F_CPLTIMEOUTRETRY V_CPLTIMEOUTRETRY(1U) + +#define S_STRICTTSMN 30 +#define V_STRICTTSMN(x) ((x) << S_STRICTTSMN) +#define F_STRICTTSMN V_STRICTTSMN(1U) + #define S_NUMFSTTRNSEQ 22 #define M_NUMFSTTRNSEQ 0xff #define V_NUMFSTTRNSEQ(x) ((x) << S_NUMFSTTRNSEQ) @@ -903,26 +1257,8 @@ #define V_CPLPNDCHKEN(x) ((x) << S_CPLPNDCHKEN) #define F_CPLPNDCHKEN V_CPLPNDCHKEN(1U) -#define S_CPLTIMEOUTRETRY 31 -#define V_CPLTIMEOUTRETRY(x) ((x) << S_CPLTIMEOUTRETRY) -#define F_CPLTIMEOUTRETRY V_CPLTIMEOUTRETRY(1U) - -#define S_STRICTTSMN 30 -#define V_STRICTTSMN(x) ((x) << S_STRICTTSMN) -#define F_STRICTTSMN V_STRICTTSMN(1U) - #define A_PCIE_PEX_CTRL1 0x9c -#define S_T3A_DLLPTIMEOUTLMT 11 -#define M_T3A_DLLPTIMEOUTLMT 0xfffff -#define V_T3A_DLLPTIMEOUTLMT(x) ((x) << S_T3A_DLLPTIMEOUTLMT) -#define G_T3A_DLLPTIMEOUTLMT(x) (((x) >> S_T3A_DLLPTIMEOUTLMT) & M_T3A_DLLPTIMEOUTLMT) - -#define S_T3A_ACKLAT 0 -#define M_T3A_ACKLAT 0x7ff -#define V_T3A_ACKLAT(x) ((x) << S_T3A_ACKLAT) -#define G_T3A_ACKLAT(x) (((x) >> S_T3A_ACKLAT) & M_T3A_ACKLAT) - #define S_RXPHYERREN 31 #define V_RXPHYERREN(x) ((x) << S_RXPHYERREN) #define F_RXPHYERREN V_RXPHYERREN(1U) @@ -937,34 +1273,48 @@ #define V_ACKLAT(x) ((x) << S_ACKLAT) #define G_ACKLAT(x) (((x) >> S_ACKLAT) & M_ACKLAT) +#define S_T3A_DLLPTIMEOUTLMT 11 +#define M_T3A_DLLPTIMEOUTLMT 0xfffff +#define V_T3A_DLLPTIMEOUTLMT(x) ((x) << S_T3A_DLLPTIMEOUTLMT) +#define G_T3A_DLLPTIMEOUTLMT(x) (((x) >> S_T3A_DLLPTIMEOUTLMT) & M_T3A_DLLPTIMEOUTLMT) + +#define S_T3A_ACKLAT 0 +#define M_T3A_ACKLAT 0x7ff +#define V_T3A_ACKLAT(x) ((x) << S_T3A_ACKLAT) +#define G_T3A_ACKLAT(x) (((x) >> S_T3A_ACKLAT) & M_T3A_ACKLAT) + #define A_PCIE_PEX_CTRL2 0xa0 -#define S_PMEXITL1REQ 29 +#define S_LNKCNTLDETDIR 30 +#define V_LNKCNTLDETDIR(x) ((x) << S_LNKCNTLDETDIR) +#define F_LNKCNTLDETDIR V_LNKCNTLDETDIR(1U) + +#define S_ENTERL1REN 29 +#define V_ENTERL1REN(x) ((x) << S_ENTERL1REN) +#define F_ENTERL1REN V_ENTERL1REN(1U) + +#define S_PMEXITL1REQ 28 #define V_PMEXITL1REQ(x) ((x) << S_PMEXITL1REQ) #define F_PMEXITL1REQ V_PMEXITL1REQ(1U) -#define S_PMTXIDLE 28 +#define S_PMTXIDLE 27 #define V_PMTXIDLE(x) ((x) << S_PMTXIDLE) #define F_PMTXIDLE V_PMTXIDLE(1U) -#define S_PCIMODELOOP 27 +#define S_PCIMODELOOP 26 #define V_PCIMODELOOP(x) ((x) << S_PCIMODELOOP) #define F_PCIMODELOOP V_PCIMODELOOP(1U) -#define S_L1ASPMTXRXL0STIME 15 +#define S_L1ASPMTXRXL0STIME 14 #define M_L1ASPMTXRXL0STIME 0xfff #define V_L1ASPMTXRXL0STIME(x) ((x) << S_L1ASPMTXRXL0STIME) #define G_L1ASPMTXRXL0STIME(x) (((x) >> S_L1ASPMTXRXL0STIME) & M_L1ASPMTXRXL0STIME) -#define S_L0SIDLETIME 4 +#define S_L0SIDLETIME 3 #define M_L0SIDLETIME 0x7ff #define V_L0SIDLETIME(x) ((x) << S_L0SIDLETIME) #define G_L0SIDLETIME(x) (((x) >> S_L0SIDLETIME) & M_L0SIDLETIME) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Feb 16 03:28:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3249D16A421; Sat, 16 Feb 2008 03:28:53 +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 EBD0116A418 for ; Sat, 16 Feb 2008 03:28:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D0F6813C459 for ; Sat, 16 Feb 2008 03:28:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G3SqY5071402 for ; Sat, 16 Feb 2008 03:28:52 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G3SqtR071399 for perforce@freebsd.org; Sat, 16 Feb 2008 03:28:52 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 16 Feb 2008 03:28:52 GMT Message-Id: <200802160328.m1G3SqtR071399@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 135474 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 03:28:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=135474 Change 135474 by kmacy@kmacy:entropy:iwarp on 2008/02/16 03:28:11 add new firmware - remove old Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/iwarp/sys/dev/cxgb/t3fw-5.0.0.bin.gz.uu#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Feb 16 04:03:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3F4016A41A; Sat, 16 Feb 2008 04:03:30 +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 90D2B16A46C for ; Sat, 16 Feb 2008 04:03:30 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8FDDB13C469 for ; Sat, 16 Feb 2008 04:03:30 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G43UYi074306 for ; Sat, 16 Feb 2008 04:03:30 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G43Uol074303 for perforce@freebsd.org; Sat, 16 Feb 2008 04:03:30 GMT (envelope-from sephe@FreeBSD.org) Date: Sat, 16 Feb 2008 04:03:30 GMT Message-Id: <200802160403.m1G43Uol074303@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135475 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 04:03:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=135475 Change 135475 by sephe@sephe_zealot:sam_wifi on 2008/02/16 04:02:51 Merge following changes from dfly: - Try adjusting TX power as much as possible when doing the initial TX power calibration. Also the second TX power calibration happens 1 second after the initial TX power calibration. if streams are pushed immediately after NIC is brought up, this makes thing work much better for most of the 4306 BBP, whose default TX power seems to be far away from the max TX power. - Add some experimental (commented out) code to force TX power downgrade. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/bwimac.c#6 edit .. //depot/projects/wifi/sys/dev/bwi/bwimac.h#2 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#19 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#11 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/bwimac.c#6 (text+ko) ==== @@ -1771,7 +1771,7 @@ * http://bcm-specs.sipsolutions.net/RecalculateTransmissionPower */ void -bwi_mac_calibrate_txpower(struct bwi_mac *mac) +bwi_mac_calibrate_txpower(struct bwi_mac *mac, enum bwi_txpwrcb_type type) { struct bwi_softc *sc = mac->mac_sc; struct bwi_rf *rf = &mac->mac_rf; @@ -1803,15 +1803,28 @@ DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", "no DS tssi"); - if (mac->mac_phy.phy_mode == IEEE80211_MODE_11B) - return; + if (mac->mac_phy.phy_mode == IEEE80211_MODE_11B) { + if (type == BWI_TXPWR_FORCE) { + rf_atten_adj = 0; + bbp_atten_adj = 1; + goto calib; + } else { + return; + } + } error = bwi_rf_get_latest_tssi(mac, tssi, BWI_COMM_MOBJ_TSSI_OFDM); if (error) { DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", "no OFDM tssi"); - return; + if (type == BWI_TXPWR_FORCE) { + rf_atten_adj = 0; + bbp_atten_adj = 1; + goto calib; + } else { + return; + } } for (i = 0; i < 4; ++i) { @@ -1847,8 +1860,15 @@ txpwr_diff = rf->rf_txpower_max - cur_txpwr; /* XXX ni_txpower */ rf_atten_adj = -howmany(txpwr_diff, 8); - bbp_atten_adj = -(txpwr_diff / 2) - - (BWI_RF_ATTEN_FACTOR * rf_atten_adj); + if (type == BWI_TXPWR_INIT) { + /* + * Move toward EEPROM max TX power as fast as we can + */ + bbp_atten_adj = -txpwr_diff; + } else { + bbp_atten_adj = -(txpwr_diff / 2); + } + bbp_atten_adj -= (BWI_RF_ATTEN_FACTOR * rf_atten_adj); if (rf_atten_adj == 0 && bbp_atten_adj == 0) { DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "%s\n", @@ -1857,6 +1877,7 @@ return; } +calib: DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_TXPOWER, "rf atten adjust %d, bbp atten adjust %d\n", rf_atten_adj, bbp_atten_adj); ==== //depot/projects/wifi/sys/dev/bwi/bwimac.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwimac.h,v 1.1 2007/09/08 06:15:54 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwimac.h,v 1.2 2008/02/15 11:15:38 sephe Exp $ */ #ifndef _BWI_MAC_H @@ -48,7 +48,8 @@ void bwi_mac_updateslot(struct bwi_mac *, int); void bwi_mac_set_promisc(struct bwi_mac *, int); -void bwi_mac_calibrate_txpower(struct bwi_mac *); +void bwi_mac_calibrate_txpower(struct bwi_mac *, + enum bwi_txpwrcb_type); void bwi_mac_set_tpctl_11bg(struct bwi_mac *, const struct bwi_tpctl *); void bwi_mac_init_tpctl_11bg(struct bwi_mac *); ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#19 (text+ko) ==== @@ -1664,7 +1664,12 @@ mac = (struct bwi_mac *)sc->sc_cur_regwin; /* Initial TX power calibration */ - bwi_mac_calibrate_txpower(mac); + bwi_mac_calibrate_txpower(mac, BWI_TXPWR_INIT); +#ifdef notyet + sc->sc_txpwrcb_type = BWI_TXPWR_FORCE; +#else + sc->sc_txpwrcb_type = BWI_TXPWR_CALIB; +#endif if (ic->ic_opmode == IEEE80211_M_STA) { /* fake a join to init the tx rate */ @@ -1684,10 +1689,8 @@ back: error = sc->sc_newstate(ic, nstate, arg); - if (nstate == IEEE80211_S_RUN) { - /* XXX 15 seconds */ - callout_reset(&sc->sc_calib_ch, hz * 15, bwi_calibrate, sc); - } + if (nstate == IEEE80211_S_RUN) + callout_reset(&sc->sc_calib_ch, hz, bwi_calibrate, sc); BWI_UNLOCK(sc); return error; @@ -3571,8 +3574,10 @@ ("current regwin type %d", sc->sc_cur_regwin->rw_type)); mac = (struct bwi_mac *)sc->sc_cur_regwin; - if (ic->ic_opmode != IEEE80211_M_MONITOR) - bwi_mac_calibrate_txpower(mac); + if (ic->ic_opmode != IEEE80211_M_MONITOR) { + bwi_mac_calibrate_txpower(mac, sc->sc_txpwrcb_type); + sc->sc_txpwrcb_type = BWI_TXPWR_CALIB; + } /* XXX 15 seconds */ callout_reset(&sc->sc_calib_ch, hz * 15, bwi_calibrate, sc); ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#11 (text+ko) ==== @@ -62,6 +62,12 @@ #define BWI_LED_EVENT_RX 2 #define BWI_LED_SLOWDOWN(dur) (dur) = (((dur) * 3) / 2) +enum bwi_txpwrcb_type { + BWI_TXPWR_INIT = 0, + BWI_TXPWR_FORCE = 1, + BWI_TXPWR_CALIB = 2 +}; + #define BWI_NOISE_FLOOR -95 /* TODO: noise floor calc */ #define BWI_FRAME_MIN_LEN(hdr) \ ((hdr) + sizeof(struct ieee80211_frame_ack) + IEEE80211_CRC_LEN) @@ -571,6 +577,7 @@ int sc_rx_rate; int sc_tx_rate; + enum bwi_txpwrcb_type sc_txpwrcb_type; int sc_led_blinking; int sc_led_ticks; From owner-p4-projects@FreeBSD.ORG Sat Feb 16 05:26:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7660016A41B; Sat, 16 Feb 2008 05:26:02 +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 217DB16A417 for ; Sat, 16 Feb 2008 05:26:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B14013C43E for ; Sat, 16 Feb 2008 05:26:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G5Q17R089254 for ; Sat, 16 Feb 2008 05:26:01 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G5Q0OR089244 for perforce@freebsd.org; Sat, 16 Feb 2008 05:26:00 GMT (envelope-from sephe@FreeBSD.org) Date: Sat, 16 Feb 2008 05:26:00 GMT Message-Id: <200802160526.m1G5Q0OR089244@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135476 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 05:26:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=135476 Change 135476 by sephe@sephe_zealot:sam_wifi on 2008/02/16 05:25:46 Turn on BWI_DEBUG_VERBOSE by default Affected files ... .. //depot/projects/wifi/sys/modules/bwi/Makefile#2 edit Differences ... ==== //depot/projects/wifi/sys/modules/bwi/Makefile#2 (text+ko) ==== @@ -7,4 +7,6 @@ SRCS = if_bwi.c if_bwi_pci.c bwimac.c bwiphy.c bwirf.c SRCS += device_if.h bus_if.h pci_if.h opt_inet.h +CFLAGS += -DBWI_DEBUG_VERBOSE + .include From owner-p4-projects@FreeBSD.ORG Sat Feb 16 08:00:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1799C16A41B; Sat, 16 Feb 2008 08:00:44 +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 B898A16A417 for ; Sat, 16 Feb 2008 08:00:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCCEC13C455 for ; Sat, 16 Feb 2008 08:00:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G80hZL099482 for ; Sat, 16 Feb 2008 08:00:43 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G80hVf099479 for perforce@freebsd.org; Sat, 16 Feb 2008 08:00:43 GMT (envelope-from sephe@FreeBSD.org) Date: Sat, 16 Feb 2008 08:00:43 GMT Message-Id: <200802160800.m1G80hVf099479@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 08:00:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=135480 Change 135480 by sephe@sephe_zealot:sam_wifi on 2008/02/16 08:00:42 For MAC rev >= 5, if PHY error interrupt comes then reset the device but leave 802.11 state machine untouched. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/bwimac.c#7 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#20 edit .. //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#12 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/bwimac.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/bwimac.c,v 1.11 2008/01/15 09:01:13 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/bwimac.c,v 1.13 2008/02/15 11:15:38 sephe Exp $ */ #include @@ -1649,6 +1649,8 @@ mac->mac_flags |= BWI_MAC_F_HAS_TXSTATS; DPRINTF(sc, BWI_DBG_MAC | BWI_DBG_ATTACH, "%s\n", "has TX stats"); + } else { + mac->mac_flags |= BWI_MAC_F_PHYE_RESET; } device_printf(sc->sc_dev, "MAC: rev %u\n", rev); ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#20 (text+ko) ==== @@ -31,8 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $ - * 1.8 is not merged + * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.19 2008/02/15 11:15:38 sephe Exp $ */ #include @@ -51,6 +50,7 @@ #include #include #include +#include #include #include @@ -96,6 +96,7 @@ static void bwi_init(void *); static int bwi_ioctl(struct ifnet *, u_long, caddr_t); static void bwi_start(struct ifnet *); +static void bwi_start_locked(struct ifnet *); static void bwi_watchdog(struct ifnet *); static void bwi_scan_start(struct ieee80211com *); static void bwi_set_channel(struct ieee80211com *); @@ -115,7 +116,10 @@ static void bwi_rx_radiotap(struct bwi_softc *, struct mbuf *, struct bwi_rxbuf_hdr *, const void *, int, int); -static void bwi_stop(struct bwi_softc *); +static void bwi_restart(void *, int); +static void bwi_newstate_begin(struct bwi_softc *, enum ieee80211_state); +static void bwi_init_statechg(struct bwi_softc *, int); +static void bwi_stop(struct bwi_softc *, int); static int bwi_newbuf(struct bwi_softc *, int, int); static int bwi_encap(struct bwi_softc *, int, struct mbuf *, struct ieee80211_node *); @@ -348,6 +352,15 @@ BWI_LOCK_INIT(sc); /* + * Initialize taskq and various tasks + */ + sc->sc_tq = taskqueue_create("bwi_taskq", M_NOWAIT | M_ZERO, + taskqueue_thread_enqueue, &sc->sc_tq); + taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", + device_get_nameunit(dev)); + TASK_INIT(&sc->sc_restart_task, 0, bwi_restart, sc); + + /* * Initialize sysctl variables */ sc->sc_fw_version = BWI_FW_VERSION3; @@ -565,7 +578,7 @@ int i; BWI_LOCK(sc); - bwi_stop(sc); + bwi_stop(sc, 1); BWI_UNLOCK(sc); callout_drain(&sc->sc_calib_ch); @@ -576,6 +589,7 @@ bwi_mac_detach(&sc->sc_mac[i]); bwi_dma_free(sc); if_free(ifp); + taskqueue_free(sc->sc_tq); BWI_LOCK_DESTROY(sc); @@ -586,7 +600,7 @@ bwi_suspend(struct bwi_softc *sc) { BWI_LOCK(sc); - bwi_stop(sc); + bwi_stop(sc, 1); BWI_UNLOCK(sc); } @@ -606,7 +620,7 @@ bwi_shutdown(struct bwi_softc *sc) { BWI_LOCK(sc); - bwi_stop(sc); + bwi_stop(sc, 1); BWI_UNLOCK(sc); return 0; } @@ -1166,7 +1180,12 @@ static void bwi_init(void *xsc) { - struct bwi_softc *sc = xsc; + bwi_init_statechg(xsc, 1); +} + +static void +bwi_init_statechg(struct bwi_softc *sc, int statechg) +{ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; struct bwi_mac *mac; @@ -1174,7 +1193,7 @@ BWI_LOCK(sc); - bwi_stop(sc); + bwi_stop(sc, statechg); bwi_bbp_power_on(sc, BWI_CLOCK_MODE_FAST); @@ -1233,15 +1252,24 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - if (ic->ic_opmode != IEEE80211_M_MONITOR) { - if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL) - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + if (statechg) { + if (ic->ic_opmode != IEEE80211_M_MONITOR) { + if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL) + ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + } else { + ieee80211_new_state(ic, IEEE80211_S_RUN, -1); + } } else { - ieee80211_new_state(ic, IEEE80211_S_RUN, -1); + /* XXX */ + if (ic->ic_state != IEEE80211_S_INIT) + bwi_set_channel(ic); + ieee80211_new_state(ic, ic->ic_state, -1); } back: if (error) - bwi_stop(sc); + bwi_stop(sc, 1); + else + bwi_start_locked(ifp); BWI_UNLOCK(sc); } @@ -1285,7 +1313,7 @@ bwi_init(sc); } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) - bwi_stop(sc); + bwi_stop(sc, 1); } break; default: @@ -1308,6 +1336,16 @@ bwi_start(struct ifnet *ifp) { struct bwi_softc *sc = ifp->if_softc; + + BWI_LOCK(sc); + bwi_start_locked(ifp); + BWI_UNLOCK(sc); +} + +static void +bwi_start_locked(struct ifnet *ifp) +{ + struct bwi_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING]; struct ieee80211_frame *wh; @@ -1317,12 +1355,9 @@ struct mbuf *m; int trans, idx; - BWI_LOCK(sc); if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - BWI_UNLOCK(sc); + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; - } trans = 0; idx = tbd->tbd_idx; @@ -1404,7 +1439,6 @@ if (trans) ifp->if_timer = 5; - BWI_UNLOCK(sc); } static void @@ -1416,13 +1450,13 @@ if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { if_printf(ifp, "watchdog timeout\n"); ifp->if_oerrors++; - /* TODO */ + taskqueue_enqueue(sc->sc_tq, &sc->sc_restart_task); } BWI_UNLOCK(sc); } static void -bwi_stop(struct bwi_softc *sc) +bwi_stop(struct bwi_softc *sc, int statechg) { struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; @@ -1432,7 +1466,10 @@ BWI_ASSERT_LOCKED(sc); sc->sc_flags |= BWI_F_STOP; - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + if (statechg) + ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + else + bwi_newstate_begin(sc, IEEE80211_S_INIT); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { KASSERT(sc->sc_cur_regwin->rw_type == BWI_REGWIN_T_MAC, @@ -1473,6 +1510,7 @@ bwi_intr(void *xsc) { struct bwi_softc *sc = xsc; + struct bwi_mac *mac; struct ifnet *ifp = sc->sc_ic.ic_ifp; uint32_t intr_status; uint32_t txrx_intr_status[BWI_TXRX_NRING]; @@ -1502,6 +1540,10 @@ return; } + KASSERT(sc->sc_cur_regwin->rw_type == BWI_REGWIN_T_MAC, + ("current regwin type %d", sc->sc_cur_regwin->rw_type)); + mac = (struct bwi_mac *)sc->sc_cur_regwin; + txrx_error = 0; DPRINTF(sc, BWI_DBG_INTR, "%s\n", "TX/RX intr"); for (i = 0; i < BWI_TXRX_NRING; ++i) { @@ -1537,18 +1579,21 @@ /* Disable all interrupts */ bwi_disable_intrs(sc, BWI_ALL_INTRS); - if (intr_status & BWI_INTR_PHY_TXERR) - if_printf(ifp, "intr PHY TX error\n"); + if (intr_status & BWI_INTR_PHY_TXERR) { + if (mac->mac_flags & BWI_MAC_F_PHYE_RESET) { + if_printf(ifp, "intr PHY TX error\n"); + taskqueue_enqueue(sc->sc_tq, &sc->sc_restart_task); + BWI_UNLOCK(sc); + return; + } + } if (txrx_error) { /* TODO: reset device */ } - if (intr_status & BWI_INTR_TBTT) { - KASSERT(sc->sc_cur_regwin->rw_type == BWI_REGWIN_T_MAC, - ("current regwin type %d", sc->sc_cur_regwin->rw_type)); - bwi_mac_config_ps((struct bwi_mac *)sc->sc_cur_regwin); - } + if (intr_status & BWI_INTR_TBTT) + bwi_mac_config_ps(mac); if (intr_status & BWI_INTR_EO_ATIM) if_printf(ifp, "EO_ATIM\n"); @@ -1633,6 +1678,20 @@ { } +static void +bwi_newstate_begin(struct bwi_softc *sc, enum ieee80211_state nstate) +{ + BWI_ASSERT_LOCKED(sc); + + callout_stop(&sc->sc_calib_ch); + callout_stop(&sc->sc_amrr_ch); + + bwi_led_newstate(sc, nstate); + + if (nstate == IEEE80211_S_INIT) + sc->sc_txpwrcb_type = BWI_TXPWR_INIT; +} + static int bwi_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg) { @@ -1644,10 +1703,7 @@ BWI_LOCK(sc); - callout_stop(&sc->sc_calib_ch); - callout_stop(&sc->sc_amrr_ch); - - bwi_led_newstate(sc, nstate); + bwi_newstate_begin(sc, nstate); if (nstate == IEEE80211_S_INIT) goto back; @@ -4041,3 +4097,12 @@ } return txtime; } + +static void +bwi_restart(void *xsc, int pending) +{ + struct bwi_softc *sc = xsc; + + if_printf(sc->sc_ifp, "%s begin\n", __func__); + bwi_init_statechg(xsc, 0); +} ==== //depot/projects/wifi/sys/dev/bwi/if_bwivar.h#12 (text+ko) ==== @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/dev/netif/bwi/if_bwivar.h,v 1.13 2008/01/15 09:01:13 sephe Exp $ + * $DragonFly: src/sys/dev/netif/bwi/if_bwivar.h,v 1.14 2008/02/15 11:15:38 sephe Exp $ * 1.9 is not merged */ @@ -476,6 +476,7 @@ #define BWI_MAC_F_ENABLED 0x10 #define BWI_MAC_F_LOCKED 0x20 /* for debug */ #define BWI_MAC_F_TPCTL_ERROR 0x40 +#define BWI_MAC_F_PHYE_RESET 0x80 #define BWI_CREATE_MAC(mac, sc, id, rev) \ do { \ @@ -608,6 +609,9 @@ struct bwi_rx_radiotap_hdr sc_rx_th; int sc_rx_th_len; + struct taskqueue *sc_tq; + struct task sc_restart_task; + int (*sc_newstate) (struct ieee80211com *, enum ieee80211_state, int); From owner-p4-projects@FreeBSD.ORG Sat Feb 16 08:37:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2338016A41A; Sat, 16 Feb 2008 08:37:24 +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 DCE2316A418 for ; Sat, 16 Feb 2008 08:37:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E2FD413C467 for ; Sat, 16 Feb 2008 08:37:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1G8bNWV003109 for ; Sat, 16 Feb 2008 08:37:23 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1G8bNwJ003106 for perforce@freebsd.org; Sat, 16 Feb 2008 08:37:23 GMT (envelope-from sephe@FreeBSD.org) Date: Sat, 16 Feb 2008 08:37:23 GMT Message-Id: <200802160837.m1G8bNwJ003106@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 135481 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 08:37:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=135481 Change 135481 by sephe@sephe_zealot:sam_wifi on 2008/02/16 08:36:49 Don't claim that we are successful with the current rate picked up by amrr even if all transmission at the current rate failed. Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#21 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#21 (text+ko) ==== @@ -3018,9 +3018,16 @@ else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { rate = ni->ni_rates.rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL; - rate_fb = (ni->ni_txrate > 0) ? - ni->ni_rates.rs_rates[ni->ni_txrate-1] & - IEEE80211_RATE_VAL : rate; + tb->tb_rate_idx[0] = ni->ni_txrate; + + if (ni->ni_txrate > 0) { + rate_fb = ni->ni_rates.rs_rates[ni->ni_txrate - 1] & + IEEE80211_RATE_VAL; + tb->tb_rate_idx[1] = ni->ni_txrate - 1; + } else { + rate_fb = rate; + tb->tb_rate_idx[1] = tb->tb_rate_idx[0]; + } } else rate = rate_fb = ic->ic_fixed_rate; @@ -3240,7 +3247,9 @@ /* NB: update rate control only for unicast frames */ if (hdr->txh_mac_ctrl & htole32(BWI_TXH_MAC_C_ACK)) { /* Feed back 'acked and data_txcnt' */ - if (acked) + if (acked && + (data_txcnt <= BWI_SHRETRY_FB || + tb->tb_rate_idx[0] == tb->tb_rate_idx[1])) bn->amn.amn_success++; bn->amn.amn_txcnt++; bn->amn.amn_retrycnt += data_txcnt-1; From owner-p4-projects@FreeBSD.ORG Sat Feb 16 19:03:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91A7516A46B; Sat, 16 Feb 2008 19:03:43 +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 3EA9616A41B for ; Sat, 16 Feb 2008 19:03:43 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D89E13C4CC for ; Sat, 16 Feb 2008 19:03:43 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GJ3gwk026287 for ; Sat, 16 Feb 2008 19:03:42 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GJ3g1Z026284 for perforce@freebsd.org; Sat, 16 Feb 2008 19:03:42 GMT (envelope-from sam@freebsd.org) Date: Sat, 16 Feb 2008 19:03:42 GMT Message-Id: <200802161903.m1GJ3g1Z026284@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 135509 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 19:03:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=135509 Change 135509 by sam@sam_ebb on 2008/02/16 19:03:03 count output packets Affected files ... .. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#22 edit Differences ... ==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#22 (text+ko) ==== @@ -1393,6 +1393,7 @@ /* TODO: PS */ + ifp->if_opackets++; BPF_MTAP(ifp, m); m = ieee80211_encap(ic, m, ni); From owner-p4-projects@FreeBSD.ORG Sat Feb 16 21:41:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BE5516A46B; Sat, 16 Feb 2008 21:41:43 +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 40F6116A420 for ; Sat, 16 Feb 2008 21:41:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2319613C467 for ; Sat, 16 Feb 2008 21:41:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GLfhrR048220 for ; Sat, 16 Feb 2008 21:41:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GLfgkj048217 for perforce@freebsd.org; Sat, 16 Feb 2008 21:41:42 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 21:41:42 GMT Message-Id: <200802162141.m1GLfgkj048217@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 21:41:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=135517 Change 135517 by marcel@marcel_jnpr on 2008/02/16 21:41:02 Save U-Boot's registers at startup and restore them when performing a syscall. This way we don't have to compile code specially to avoid using those registers. Otherwise we have to encode knowledge of those registers in at least 4 makefiles and introduce a build knob to enable it all. This does not allow us to build everything with a single build world. Affected files ... .. //depot/projects/e500/lib/libstand/Makefile#7 edit .. //depot/projects/e500/sys/boot/Makefile#4 edit .. //depot/projects/e500/sys/boot/ficl/Makefile#5 edit .. //depot/projects/e500/sys/boot/powerpc/Makefile#5 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#5 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/start.S#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/Makefile#6 edit Differences ... ==== //depot/projects/e500/lib/libstand/Makefile#7 (text+ko) ==== @@ -6,8 +6,6 @@ # quite large. # -.include - LIB= stand NO_PROFILE= NO_PIC= @@ -29,9 +27,6 @@ .endif .if ${MACHINE_ARCH} == "powerpc" CFLAGS+= -msoft-float -D_STANDALONE -. if ${MK_UBOOT} != "no" -CFLAGS+= -ffixed-r14 -ffixed-r29 -. endif .endif .if ${MACHINE_ARCH} == "amd64" CFLAGS+= -m32 -I. ==== //depot/projects/e500/sys/boot/Makefile#4 (text+ko) ==== @@ -13,18 +13,13 @@ .endif # Build Open Firmware library. -.if ${MACHINE_ARCH} == "sparc64" +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64" SUBDIR+= ofw .endif +# Build U-Boot library. .if ${MACHINE_ARCH} == "powerpc" -. if ${MK_UBOOT} != "no" -# Build U-Boot library. SUBDIR+= uboot -. else -# Build Open Firmware library. -SUBDIR+= ofw -. endif .endif # Pick the machine-dependent subdir based on the target architecture. ==== //depot/projects/e500/sys/boot/ficl/Makefile#5 (text+ko) ==== @@ -1,8 +1,6 @@ # $FreeBSD: src/sys/boot/ficl/Makefile,v 1.45 2007/10/15 14:20:24 nyan Exp $ # -.include - .PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \ prefix.c search.c stack.c tools.c vm.c words.c @@ -19,15 +17,6 @@ .endif .if ${MACHINE_ARCH} == "powerpc" CFLAGS+= -msoft-float -. if ${MK_UBOOT} != "no" -# -# Important notice: registers dedicated for U-Boot must NOT be used by the -# loader code, as we are going to jump between loader(8) and U-Boot code back -# and forth safely. For PowerPC these are r14 and r29, but always make -# sure in the U-Boot cpu/{CPU}/config.mk, e.g. cpu/mpc85xx/config.mk -# -CFLAGS+= -ffixed-r14 -ffixed-r29 -. endif .endif .if ${MACHINE} == "pc98" CFLAGS+= -Os -DPC98 ==== //depot/projects/e500/sys/boot/powerpc/Makefile#5 (text+ko) ==== @@ -1,11 +1,5 @@ # $FreeBSD: src/sys/boot/powerpc/Makefile,v 1.2 2007/12/17 22:19:44 marcel Exp $ -.include - -.if ${MK_UBOOT} != "no" -SUBDIR= uboot -.else -SUBDIR= ofw -.endif +SUBDIR= ofw uboot .include ==== //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#5 (text+ko) ==== @@ -61,13 +61,7 @@ CLEANFILES+= vers.c loader.help -# -# Important notice: registers dedicated for U-Boot must NOT be used by the -# loader code, as we are going to jump between loader(8) and U-Boot code back -# and forth safely. For PowerPC these are r14 and r29, but always make -# sure in the U-Boot cpu/{CPU}/config.mk, e.g. cpu/mpc85xx/config.mk -# -CFLAGS+= -ffreestanding -ffixed-r14 -ffixed-r29 +CFLAGS+= -ffreestanding LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc ==== //depot/projects/e500/sys/boot/powerpc/uboot/start.S#3 (text+ko) ==== @@ -38,17 +38,41 @@ lis %r1, stack@ha addi %r1, %r1, stack@l addi %r1, %r1, (STACK_SIZE - 32) + /* Save U-Boot's r14 and r29 */ + lis %r11, saved_regs@ha + addi %r11, %r11, saved_regs@l + stw %r14, 0(%r11) + stw %r29, 4(%r11) b main /* * syscall() */ ENTRY(syscall) + stwu %r1, -16(%r1) + mflr %r0 + stw %r14, 8(%r1) + stw %r29, 12(%r1) + stw %r0, 20(%r1) + /* Restore U-Boot's r14 and r29 */ + lis %r11, saved_regs@ha + addi %r11, %r11, saved_regs@l + lwz %r14, 0(%r11) + lwz %r29, 4(%r11) + /* Call into u-Boot */ lis %r11, syscall_ptr@ha addi %r11, %r11, syscall_ptr@l lwz %r11, 0(%r11) mtctr %r11 - bctr + bctrl + /* Epilogue */ + lwz %r11, 0(%r1) + lwz %r0, 4(%r11) + mtlr %r0 + lwz %r14, 8(%r1) + lwz %r29, 12(%r1) + mr %r1, %r11 + blr /* * Data section @@ -60,3 +84,7 @@ GLOBAL(syscall_ptr) .long 0 +GLOBAL(saved_regs) + .long 0 /* R14 */ + .long 0 /* R29 */ + ==== //depot/projects/e500/sys/boot/uboot/lib/Makefile#6 (text+ko) ==== @@ -12,16 +12,6 @@ CFLAGS+= -ffreestanding -.if ${MACHINE_ARCH} == "powerpc" -# -# Important notice: registers dedicated for U-Boot must NOT be used by the -# loader code, as we are going to jump between loader(8) and U-Boot code back -# and forth safely. For PowerPC these are r14 and r29, but always make -# sure in the U-Boot cpu/{CPU}/config.mk, e.g. cpu/mpc85xx/config.mk -# -CFLAGS+= -ffixed-r14 -ffixed-r29 -.endif - .ifdef(BOOT_DISK_DEBUG) # Make the disk code more talkative CFLAGS+= -DDISK_DEBUG From owner-p4-projects@FreeBSD.ORG Sat Feb 16 21:43:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C060A16A41A; Sat, 16 Feb 2008 21:43:45 +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 85B7C16A418 for ; Sat, 16 Feb 2008 21:43:45 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 68C1513C465 for ; Sat, 16 Feb 2008 21:43:45 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GLhjJA048370 for ; Sat, 16 Feb 2008 21:43:45 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GLhjDU048367 for perforce@freebsd.org; Sat, 16 Feb 2008 21:43:45 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 21:43:45 GMT Message-Id: <200802162143.m1GLhjDU048367@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135518 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 21:43:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=135518 Change 135518 by marcel@marcel_jnpr on 2008/02/16 21:43:32 MK_UBOOT is no more. Affected files ... .. //depot/projects/e500/share/mk/bsd.own.mk#9 edit Differences ... ==== //depot/projects/e500/share/mk/bsd.own.mk#9 (text+ko) ==== @@ -262,7 +262,6 @@ SYSCONS \ TCSH \ TOOLCHAIN \ - UBOOT \ USB \ WPA_SUPPLICANT_EAPOL .if defined(NO_${var}) @@ -381,8 +380,7 @@ .for var in \ BIND_LIBS \ HESIOD \ - IDEA \ - UBOOT + IDEA .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:07:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD2EF16A421; Sat, 16 Feb 2008 22:07:53 +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 55FF416A418; Sat, 16 Feb 2008 22:07:53 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by mx1.freebsd.org (Postfix) with ESMTP id BF74313C442; Sat, 16 Feb 2008 22:07:52 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from localhost (unknown [127.0.0.1]) by mail.semihalf.com (Postfix) with ESMTP id 8B2CF1439F; Sat, 16 Feb 2008 23:16:03 +0100 (CET) Received: from mail.semihalf.com ([127.0.0.1]) by localhost (mail.semihalf.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19719-01; Sat, 16 Feb 2008 23:16:02 +0100 (CET) Message-ID: <47B75EB3.2020001@semihalf.com> Date: Sat, 16 Feb 2008 23:07:47 +0100 From: Rafal Jaworowski MIME-Version: 1.0 To: Marcel Moolenaar References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> In-Reply-To: <200802162141.m1GLfgkj048217@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at semihalf.com Cc: Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:07:54 -0000 Marcel Moolenaar wrote: > http://perforce.freebsd.org/chv.cgi?CH=135517 > > Change 135517 by marcel@marcel_jnpr on 2008/02/16 21:41:02 > > Save U-Boot's registers at startup and restore them when > performing a syscall. This way we don't have to compile > code specially to avoid using those registers. Otherwise > we have to encode knowledge of those registers in at least > 4 makefiles and introduce a build knob to enable it all. > This does not allow us to build everything with a single > build world. > Hi Marcel, I'm not quite sure this is sufficient... I already had a similar save/restore in place, but there is some general problem with U-Boot that leads to hangs (experienced): - U-Boot does not handle interrupts so there's no context save/restore of exceptions, other than very few cases - there's one paricular asynchronous way for U-Boot code to regain control without those dedicated r14/29 regs saved: decrementer, which can hit anytime while in the app code, and which usually leads to hangs/corruption as U-Boot code use them blindly - without better handling of U-Boot exeptions such save/restore done only at the external app level will not be safe I'm afraid.. Rafal PS. I guess it would be good to synchronise somehow the work, as we seem to tackle the same pieces, which is a waste of resources. From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:31:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B47816A469; Sat, 16 Feb 2008 22:31:49 +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 43BDA16A420; Sat, 16 Feb 2008 22:31:49 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpoutm.mac.com (smtpoutm.mac.com [17.148.16.75]) by mx1.freebsd.org (Postfix) with ESMTP id 1DC0413C455; Sat, 16 Feb 2008 22:31:49 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (asmtp007-s [10.150.69.70]) by smtpoutm.mac.com (Xserve/smtpout012/MantshX 4.0) with ESMTP id m1GMVms1027490; Sat, 16 Feb 2008 14:31:49 -0800 (PST) Received: from macbook-pro.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mac.com (Xserve/asmtp007/MantshX 4.0) with ESMTP id m1GMVlEl022025 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 16 Feb 2008 14:31:47 -0800 (PST) Message-Id: <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> From: Marcel Moolenaar To: Rafal Jaworowski In-Reply-To: <47B75EB3.2020001@semihalf.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Sat, 16 Feb 2008 14:31:47 -0800 References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> <47B75EB3.2020001@semihalf.com> X-Mailer: Apple Mail (2.919.2) Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:31:49 -0000 On Feb 16, 2008, at 2:07 PM, Rafal Jaworowski wrote: > Marcel Moolenaar wrote: >> http://perforce.freebsd.org/chv.cgi?CH=135517 >> >> Change 135517 by marcel@marcel_jnpr on 2008/02/16 21:41:02 >> >> Save U-Boot's registers at startup and restore them when >> performing a syscall. This way we don't have to compile >> code specially to avoid using those registers. Otherwise >> we have to encode knowledge of those registers in at least >> 4 makefiles and introduce a build knob to enable it all. >> This does not allow us to build everything with a single >> build world. >> > > Hi Marcel, > > I'm not quite sure this is sufficient... I already had a similar > save/restore > in place, but there is some general problem with U-Boot that leads > to hangs > (experienced): Interesting, I didn't see any such problems with 1.3.2-rc1. > - U-Boot does not handle interrupts so there's no context save/ > restore of > exceptions, other than very few cases > > - there's one paricular asynchronous way for U-Boot code to regain > control > without those dedicated r14/29 regs saved: decrementer, which can > hit anytime > while in the app code, and which usually leads to hangs/corruption > as U-Boot > code use them blindly It's really best if U-Boot deals with that. > PS. I guess it would be good to synchronise somehow the work, as we > seem to > tackle the same pieces, which is a waste of resources. Yes, definitely... -- Marcel Moolenaar xcllnt@mac.com From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:50:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B9C316A41B; Sat, 16 Feb 2008 22:50:59 +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 C3E9B16A419 for ; Sat, 16 Feb 2008 22:50:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A32DE13C46A for ; Sat, 16 Feb 2008 22:50:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GMowl3064146 for ; Sat, 16 Feb 2008 22:50:58 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GMovJl064143 for perforce@freebsd.org; Sat, 16 Feb 2008 22:50:57 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 22:50:57 GMT Message-Id: <200802162250.m1GMovJl064143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:50:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=135529 Change 135529 by marcel@marcel_xcllnt on 2008/02/16 22:50:43 IFC @135528 Affected files ... .. //depot/projects/e500/lib/libc/resolv/res_comp.c#3 integrate .. //depot/projects/e500/lib/libdisk/disk.c#2 integrate .. //depot/projects/e500/lib/libthr/thread/thr_mutex.c#7 integrate .. //depot/projects/e500/lib/msun/src/e_hypot.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_hypotf.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_pow.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_powf.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_ceil.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_ceill.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_floor.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_floorl.c#3 integrate .. //depot/projects/e500/lib/msun/src/s_trunc.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_truncl.c#3 integrate .. //depot/projects/e500/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate .. //depot/projects/e500/share/man/man4/sk.4#2 integrate .. //depot/projects/e500/share/man/man9/lock.9#5 integrate .. //depot/projects/e500/share/man/man9/pci.9#3 integrate .. //depot/projects/e500/share/misc/committers-src.dot#7 integrate .. //depot/projects/e500/sys/amd64/amd64/dump_machdep.c#3 integrate .. //depot/projects/e500/sys/amd64/amd64/minidump_machdep.c#3 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#6 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/conf.c#3 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/help.uboot#2 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/ldscript.powerpc#2 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/metadata.c#3 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/start.S#4 integrate .. //depot/projects/e500/sys/boot/powerpc/uboot/version#3 integrate .. //depot/projects/e500/sys/boot/uboot/Makefile#2 integrate .. //depot/projects/e500/sys/boot/uboot/common/Makefile.inc#2 integrate .. //depot/projects/e500/sys/boot/uboot/common/main.c#4 integrate .. //depot/projects/e500/sys/boot/uboot/lib/Makefile#7 integrate .. //depot/projects/e500/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/e500/sys/boot/uboot/lib/console.c#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/e500/sys/boot/uboot/lib/devicename.c#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/e500/sys/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/e500/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/module.c#2 integrate .. //depot/projects/e500/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/reboot.c#3 integrate .. //depot/projects/e500/sys/boot/uboot/lib/time.c#3 integrate .. //depot/projects/e500/sys/dev/acpica/acpi_cpu.c#6 integrate .. //depot/projects/e500/sys/dev/acpica/acpi_thermal.c#4 integrate .. //depot/projects/e500/sys/dev/coretemp/coretemp.c#4 integrate .. //depot/projects/e500/sys/dev/mxge/if_mxge.c#9 integrate .. //depot/projects/e500/sys/dev/mxge/if_mxge_var.h#7 integrate .. //depot/projects/e500/sys/fs/coda/cnode.h#4 integrate .. //depot/projects/e500/sys/fs/coda/coda_psdev.c#4 integrate .. //depot/projects/e500/sys/fs/coda/coda_vnops.c#4 integrate .. //depot/projects/e500/sys/geom/geom_disk.c#2 integrate .. //depot/projects/e500/sys/i386/i386/dump_machdep.c#3 integrate .. //depot/projects/e500/sys/i386/i386/minidump_machdep.c#3 integrate .. //depot/projects/e500/sys/ia64/conf/GENERIC#7 integrate .. //depot/projects/e500/sys/ia64/ia64/machdep.c#9 integrate .. //depot/projects/e500/sys/ia64/ia64/pmap.c#8 integrate .. //depot/projects/e500/sys/kern/kern_descrip.c#7 integrate .. //depot/projects/e500/sys/kern/kern_lock.c#6 integrate .. //depot/projects/e500/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/e500/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/e500/sys/kern/vfs_default.c#5 integrate .. //depot/projects/e500/sys/kern/vfs_mount.c#7 integrate .. //depot/projects/e500/sys/powerpc/conf/GENERIC#9 integrate .. //depot/projects/e500/sys/sys/buf.h#4 integrate .. //depot/projects/e500/sys/sys/conf.h#5 integrate .. //depot/projects/e500/sys/sys/lockmgr.h#5 integrate .. //depot/projects/e500/sys/sys/param.h#9 integrate .. //depot/projects/e500/sys/sys/priv.h#6 integrate .. //depot/projects/e500/sys/ufs/ffs/ffs_vnops.c#7 integrate .. //depot/projects/e500/tools/regression/security/open_to_operation/Makefile#1 branch .. //depot/projects/e500/tools/regression/security/open_to_operation/open_to_operation.c#1 branch .. //depot/projects/e500/usr.bin/netstat/route.c#5 integrate .. //depot/projects/e500/usr.sbin/rpcbind/rpcbind.c#5 integrate Differences ... ==== //depot/projects/e500/lib/libc/resolv/res_comp.c#3 (text) ==== @@ -69,7 +69,7 @@ static const char rcsid[] = "$Id: res_comp.c,v 1.3.18.2 2005/07/28 07:38:11 marka Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/resolv/res_comp.c,v 1.4 2007/06/03 17:20:27 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/resolv/res_comp.c,v 1.5 2008/02/16 00:16:49 delphij Exp $"); #include "port_before.h" #include @@ -140,6 +140,7 @@ #define PERIOD 0x2e #define hyphenchar(c) ((c) == 0x2d) #define bslashchar(c) ((c) == 0x5c) +#define underscorechar(c) ((c) == 0x5f) #define periodchar(c) ((c) == PERIOD) #define asterchar(c) ((c) == 0x2a) #define alphachar(c) (((c) >= 0x41 && (c) <= 0x5a) \ @@ -147,7 +148,7 @@ #define digitchar(c) ((c) >= 0x30 && (c) <= 0x39) #define borderchar(c) (alphachar(c) || digitchar(c)) -#define middlechar(c) (borderchar(c) || hyphenchar(c)) +#define middlechar(c) (borderchar(c) || hyphenchar(c) || underscorechar(c)) #define domainchar(c) ((c) > 0x20 && (c) < 0x7f) int ==== //depot/projects/e500/lib/libdisk/disk.c#2 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.127 2006/04/25 20:42:15 maxim Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.128 2008/02/15 21:19:15 antoine Exp $"); #include #include @@ -189,10 +189,10 @@ Disk_Names() { int disk_cnt; - static char **disks; + char **disks; int error; size_t listsize; - char *disklist; + char *disklist, *disk1, *disk2; error = sysctlbyname("kern.disks", NULL, &listsize, NULL, 0); if (error) { @@ -206,7 +206,7 @@ disks = malloc(sizeof *disks * (1 + MAX_NO_DISKS)); if (disks == NULL) return NULL; - disklist = (char *)malloc(listsize + 1); + disk1 = disklist = (char *)malloc(listsize + 1); if (disklist == NULL) { free(disks); return NULL; @@ -220,11 +220,20 @@ return NULL; } for (disk_cnt = 0; disk_cnt < MAX_NO_DISKS; disk_cnt++) { - disks[disk_cnt] = strsep(&disklist, " "); - if (disks[disk_cnt] == NULL) + disk2 = strsep(&disk1, " "); + if (disk2 == NULL) break; + disks[disk_cnt] = strdup(disk2); + if (disks[disk_cnt] == NULL) { + for (disk_cnt--; disk_cnt >= 0; disk_cnt--) + free(disks[disk_cnt]); + free(disklist); + free(disks); + return (NULL); + } } qsort(disks, disk_cnt, sizeof(char*), qstrcmp); + free(disklist); return disks; } ==== //depot/projects/e500/lib/libthr/thread/thr_mutex.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.70 2008/02/06 20:43:19 des Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.71 2008/02/14 12:37:58 des Exp $ */ #include "namespace.h" @@ -876,5 +876,5 @@ if (__predict_false(ret)) return (ret); } - return ((*mutex)->m_lock.m_owner == TID(curthread)); + return ((*mutex)->m_owner == curthread); } ==== //depot/projects/e500/lib/msun/src/e_hypot.c#2 (text+ko) ==== @@ -11,9 +11,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.9 2005/02/04 18:26:05 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.10 2008/02/14 13:44:03 bde Exp $"); /* __ieee754_hypot(x,y) * @@ -68,7 +67,8 @@ if(ha > 0x5f300000) { /* a>2**500 */ if(ha >= 0x7ff00000) { /* Inf or NaN */ u_int32_t low; - w = a+b; /* for sNaN */ + /* Use original arg order iff result is NaN; quieten sNaNs. */ + w = fabs(x+0.0)+fabs(y+0.0); GET_LOW_WORD(low,a); if(((ha&0xfffff)|low)==0) w = a; GET_LOW_WORD(low,b); ==== //depot/projects/e500/lib/msun/src/e_hypotf.c#2 (text+ko) ==== @@ -13,9 +13,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.9 2002/05/28 18:15:03 alfred Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.10 2008/02/14 13:44:03 bde Exp $"); #include "math.h" #include "math_private.h" @@ -37,7 +36,8 @@ k=0; if(ha > 0x58800000) { /* a>2**50 */ if(ha >= 0x7f800000) { /* Inf or NaN */ - w = a+b; /* for sNaN */ + /* Use original arg order iff result is NaN; quieten sNaNs. */ + w = fabsf(x+0.0F)+fabsf(y+0.0F); if(ha == 0x7f800000) w = a; if(hb == 0x7f800000) w = b; return w; ==== //depot/projects/e500/lib/msun/src/e_pow.c#2 (text+ko) ==== @@ -9,9 +9,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_pow.c,v 1.11 2005/02/04 18:26:06 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_pow.c,v 1.13 2008/02/14 12:56:35 bde Exp $"); /* __ieee754_pow(x,y) return x**y * @@ -110,10 +109,10 @@ /* y==zero: x**0 = 1 */ if((iy|ly)==0) return one; - /* +-NaN return x+y */ + /* y!=zero: result is NaN if either arg is NaN */ if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) || iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0))) - return x+y; + return (x+0.0)+(y+0.0); /* determine if y is an odd int when x < 0 * yisint = 0 ... y is not an integer ==== //depot/projects/e500/lib/msun/src/e_powf.c#2 (text+ko) ==== @@ -13,9 +13,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_powf.c,v 1.12 2004/06/01 19:33:30 bde Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_powf.c,v 1.15 2008/02/14 12:56:35 bde Exp $"); #include "math.h" #include "math_private.h" @@ -47,8 +46,8 @@ lg2_l = 1.42860654e-06, /* 0x35bfbe8c */ ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */ cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */ -cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */ -cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */ +cp_h = 9.6191406250e-01, /* 0x3f764000 =12b cp */ +cp_l = -1.1736857402e-04, /* 0xb8f623c6 =tail of cp_h */ ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */ ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/ ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/ @@ -68,10 +67,10 @@ /* y==zero: x**0 = 1 */ if(iy==0) return one; - /* +-NaN return x+y */ + /* y!=zero: result is NaN if either arg is NaN */ if(ix > 0x7f800000 || iy > 0x7f800000) - return x+y; + return (x+0.0F)+(y+0.0F); /* determine if y is an odd int when x < 0 * yisint = 0 ... y is not an integer ==== //depot/projects/e500/lib/msun/src/s_ceil.c#2 (text+ko) ==== @@ -10,9 +10,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.9 2003/07/23 04:53:46 peter Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.11 2008/02/15 07:01:40 bde Exp $"); /* * ceil(x) @@ -23,6 +22,8 @@ * Inexact flag raised if x not equal to ceil(x). */ +#include + #include "math.h" #include "math_private.h" @@ -70,3 +71,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(ceil, ceill); +#endif ==== //depot/projects/e500/lib/msun/src/s_ceill.c#3 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.9 2008/02/14 15:10:33 bde Exp $"); /* * ceill(x) @@ -99,7 +99,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(ceil, ceill); -#endif ==== //depot/projects/e500/lib/msun/src/s_floor.c#2 (text+ko) ==== @@ -10,9 +10,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floor.c,v 1.9 2003/07/23 04:53:46 peter Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/s_floor.c,v 1.11 2008/02/15 07:01:40 bde Exp $"); /* * floor(x) @@ -23,6 +22,8 @@ * Inexact flag raised if x not equal to floor(x). */ +#include + #include "math.h" #include "math_private.h" @@ -71,3 +72,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(floor, floorl); +#endif ==== //depot/projects/e500/lib/msun/src/s_floorl.c#3 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.7 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.8 2008/02/14 15:10:34 bde Exp $"); /* * floorl(x) @@ -99,7 +99,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(floor, floorl); -#endif ==== //depot/projects/e500/lib/msun/src/s_trunc.c#2 (text+ko) ==== @@ -11,7 +11,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.1 2004/06/20 09:25:43 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.3 2008/02/15 07:01:40 bde Exp $"); /* * trunc(x) @@ -22,6 +22,8 @@ * Inexact flag raised if x not equal to trunc(x). */ +#include + #include "math.h" #include "math_private.h" @@ -59,3 +61,7 @@ INSERT_WORDS(x,i0,i1); return x; } + +#if LDBL_MANT_DIG == 53 +__weak_reference(trunc, truncl); +#endif ==== //depot/projects/e500/lib/msun/src/s_truncl.c#3 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.8 2008/02/13 18:16:43 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.9 2008/02/14 15:10:34 bde Exp $"); /* * truncl(x) @@ -66,7 +66,3 @@ } return (u.e); } - -#if LDBL_MANT_DIG == 53 -__weak_reference(trunc, truncl); -#endif ==== //depot/projects/e500/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 (text+ko) ==== @@ -20,7 +20,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1078 2008/01/01 23:58:18 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1079 2008/02/16 15:52:39 bmah Exp $ 2000 @@ -229,6 +229,15 @@ Contributed Software + AMD has been updated from 6.0.10 + to 6.1.5. &merged; + + awk has been updated from 1 May + 2007 release to the 23 October 2007 release. &merged; + + CVS has been updated from 1.11.17 + to 1.11.22. + IPFilter has been updated from 4.1.23 to 4.1.28. @@ -236,7 +245,10 @@ v408 to v416.
ncurses has been updated from - 5.6-20061217 to 5.6-20071222. + 5.6-20061217 to 5.6-20080209.
+ + OpenPAM has been updated from the + Figwort release to the Hydrangea release. &merged; sendmail has been updated from 8.14.1 to 8.14.2. &merged; ==== //depot/projects/e500/share/man/man4/sk.4#2 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sk.4,v 1.30 2007/01/30 08:40:04 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/sk.4,v 1.31 2008/02/14 10:01:48 brueffer Exp $ .\" -.Dd July 16, 2005 +.Dd February 14, 2008 .Dt SK 4 .Os .Sh NAME @@ -191,17 +191,28 @@ .It SMC 9452TX single port, 1000baseT adapter .El +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt before booting the kernel or stored in +.Xr loader.conf 5 . +.Bl -tag -width xxxxxx +.It Va hw.skc.jumbo_disable +Disable jumbo frame support. +Systems with less memory can set it to a non-zero value to save memory. +The default value is 0. +.El .Sh SYSCTL VARIABLES The following variable is available as both .Xr sysctl 8 variable and .Xr loader 8 tunable: -.Bl -tag -width indent +.Bl -tag -width xxxxxx .It Va dev.skc.%d.int_mod -.Pp This variable controls interrupt moderation. -The accepted range is 10 to 10000, default value is 100 microseconds. +The accepted range is 10 to 10000. +The default value is 100 microseconds. The interface has to be brought down and up again before a change takes effect. .El .Sh DIAGNOSTICS ==== //depot/projects/e500/share/man/man9/lock.9#5 (text+ko) ==== @@ -24,7 +24,7 @@ .\" 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.24 2008/02/13 21:54:16 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.25 2008/02/14 19:39:09 brueffer Exp $ .\" .Dd February 13, 2008 .Dt LOCK 9 @@ -239,7 +239,7 @@ .Vt lkp lock pointed to by the first argument. .It Dv KA_HELD -Assert that the a not specified thread has a lock on the +Assert that an unspecified thread has a lock on the .Vt lkp lock pointed to by the first argument. .It Dv KA_UNHELD @@ -260,16 +260,18 @@ Assert that the current thread has a recursed lock on .Fa lkp . .It Dv KA_NOTRECURSED -Assert that the current thread has not a recursed lock on +Assert that the current thread does not have a recursed lock on .Fa lkp . .El .Pp -It also worths note that +Note that .Dv KA_HELD and .Dv KA_UNHELD -usage is highly discouraged. They are intended to cater a bad behaviour -introduced by buffer cache locks handling and hopefully they will be +usage is highly discouraged. +They are intended to cater a bad behaviour +introduced by buffer cache lock handling. +They will hopefully be made useless by revisiting such locks. .Sh RETURN VALUES The ==== //depot/projects/e500/share/man/man9/pci.9#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/pci.9,v 1.10 2007/09/30 11:05:13 marius Exp $ +.\" $FreeBSD: src/share/man/man9/pci.9,v 1.11 2008/02/15 23:56:33 danger Exp $ .\" .Dd September 30, 2007 .Dt PCI 9 @@ -153,7 +153,7 @@ full functionality to the user. .It Dv PCI_POWERSTATE_D1 Class-specific low-power state in which device context may or -may not be lot. +may not be lost. Busses in this state cannot do anything to the bus, to force devices to lose context. .It Dv PCI_POWERSTATE_D2 ==== //depot/projects/e500/share/misc/committers-src.dot#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-src.dot,v 1.71 2008/02/05 19:23:22 antoine Exp $ +# $FreeBSD: src/share/misc/committers-src.dot,v 1.72 2008/02/15 18:40:45 olli Exp $ # This file is meant to list all FreeBSD src committers and describe the # mentor-mentee relationships between them. @@ -128,6 +128,7 @@ netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2005/03/31"] njl [label="Nate Lawson\nnjl@FreeBSD.org\n2002/08/07"] obrien [label="David E. O'Brien\nobrien@FreeBSD.org\n1996/10/29"] +olli [label="Oliver Fromme\nolli@FreeBSD.org\n2008/02/14"] onoe [label="Atsushi Onoe\nonoe@FreeBSD.org\n2000/07/21"] peadar [label="Peter Edwards\npeadar@FreeBSD.org\n2004/03/08"] peter [label="Peter Wemm\npeter@FreeBSD.org\n????/??/??"] @@ -215,6 +216,7 @@ des -> anholt des -> hmp des -> mike +des -> olli des -> ru dwmalone -> fanf ==== //depot/projects/e500/sys/amd64/amd64/dump_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.13 2008/01/28 19:04:06 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.14 2008/02/15 06:26:25 scottl Exp $"); #include #include @@ -177,6 +177,7 @@ uint64_t pgs; size_t counter, sz, chunk; int i, c, error, twiddle; + u_int maxdumppgs; error = 0; /* catch case in which chunk size is 0 */ counter = 0; /* Update twiddle every 16MB */ @@ -184,13 +185,16 @@ va = 0; pgs = mdp->md_size / PAGE_SIZE; pa = mdp->md_start; + maxdumppgs = di->maxiosize / PAGE_SIZE; + if (maxdumppgs == 0) /* seatbelt */ + maxdumppgs = 1; printf(" chunk %d: %ldMB (%ld pages)", seqnr, PG2MB(pgs), pgs); while (pgs) { chunk = pgs; - if (chunk > MAXDUMPPGS) - chunk = MAXDUMPPGS; + if (chunk > maxdumppgs) + chunk = maxdumppgs; sz = chunk << PAGE_SHIFT; counter += sz; if (counter >> 24) { ==== //depot/projects/e500/sys/amd64/amd64/minidump_machdep.c#3 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.3 2008/01/28 19:04:06 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.4 2008/02/15 06:26:25 scottl Exp $"); #include #include @@ -122,7 +122,11 @@ { size_t len; int error, i, c; + u_int maxdumpsz; + maxdumpsz = di->maxiosize; + if (maxdumpsz == 0) /* seatbelt */ + maxdumpsz = PAGE_SIZE; error = 0; if ((sz % PAGE_SIZE) != 0) { printf("size not page aligned\n"); @@ -143,7 +147,7 @@ return (error); } while (sz) { - len = (MAXDUMPPGS * PAGE_SIZE) - fragsz; + len = maxdumpsz - fragsz; if (len > sz) len = sz; counter += len; @@ -165,7 +169,7 @@ fragsz += len; pa += len; sz -= len; - if (fragsz == (MAXDUMPPGS * PAGE_SIZE)) { + if (fragsz == maxdumpsz) { error = blk_flush(di); if (error) return (error); ==== //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#6 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/conf.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/help.uboot#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/ldscript.powerpc#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/metadata.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/start.S#4 (text+ko) ==== ==== //depot/projects/e500/sys/boot/powerpc/uboot/version#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/Makefile#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/common/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/common/main.c#4 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/Makefile#7 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/api_public.h#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/console.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/copy.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/devicename.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/disk.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/elf_freebsd.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/glue.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/libuboot.h#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/module.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/net.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/reboot.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/boot/uboot/lib/time.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/dev/acpica/acpi_cpu.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.69 2008/02/12 15:26:59 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.70 2008/02/16 02:00:25 rpaulo Exp $"); #include "opt_acpi.h" #include @@ -590,7 +590,7 @@ return; /* Validate and allocate resources for C3 (P_LVL3). */ - if (AcpiGbl_FADT.C3Latency <= 1000) { + if (AcpiGbl_FADT.C3Latency <= 1000 && !(cpu_quirks & CPU_QUIRK_NO_C3)) { gas.Address = sc->cpu_p_blk + 5; acpi_bus_alloc_gas(sc->cpu_dev, &cx_ptr->res_type, &sc->cpu_rid, &gas, &cx_ptr->p_lvlx, RF_SHAREABLE); ==== //depot/projects/e500/sys/dev/acpica/acpi_thermal.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.67 2007/12/31 15:56:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.69 2008/02/16 07:15:34 ume Exp $"); #include "opt_acpi.h" #include @@ -173,6 +173,8 @@ static struct proc *acpi_tz_proc; ACPI_LOCK_DECL(thermal, "ACPI thermal zone"); +static int acpi_tz_cooling_unit = -1; + static int acpi_tz_probe(device_t dev) { @@ -206,17 +208,7 @@ sc->tz_cooling_proc_running = FALSE; sc->tz_cooling_active = FALSE; sc->tz_cooling_updated = FALSE; - - /* - * Always attempt to enable passive cooling for tz0. Users can enable - * it for other zones manually for now. - * - * XXX We need to test if multiple zones conflict with each other - * since cpufreq currently sets all CPUs to the given frequency whereas - * it's possible for different thermal zones to specify independent - * settings for multiple CPUs. - */ - sc->tz_cooling_enabled = (device_get_unit(dev) == 0); + sc->tz_cooling_enabled = FALSE; /* * Parse the current state of the thermal zone and build control @@ -325,16 +317,25 @@ } } - /* Create a thread to handle passive cooling for each zone if enabled. */ + /* + * Create a thread to handle passive cooling for 1st zone which + * has _PSV, _TSP, _TC1 and _TC2. Users can enable it for other + * zones manually for now. + * + * XXX We enable only one zone to avoid multiple zones conflict + * with each other since cpufreq currently sets all CPUs to the + * given frequency whereas it's possible for different thermal + * zones to specify independent settings for multiple CPUs. + */ + if (acpi_tz_cooling_unit < 0 && acpi_tz_cooling_is_available(sc)) + sc->tz_cooling_enabled = TRUE; if (sc->tz_cooling_enabled) { - if (acpi_tz_cooling_is_available(sc)) { - error = acpi_tz_cooling_thread_start(sc); - if (error != 0) { - sc->tz_cooling_enabled = FALSE; - goto out; - } - } else + error = acpi_tz_cooling_thread_start(sc); + if (error != 0) { sc->tz_cooling_enabled = FALSE; + goto out; + } + acpi_tz_cooling_unit = device_get_unit(dev); } /* @@ -528,7 +529,8 @@ } /* Handle user override of active mode */ - if (sc->tz_requested != TZ_ACTIVE_NONE && sc->tz_requested < newactive) + if (sc->tz_requested != TZ_ACTIVE_NONE && (newactive == TZ_ACTIVE_NONE + || sc->tz_requested < newactive)) newactive = sc->tz_requested; /* update temperature-related flags */ ==== //depot/projects/e500/sys/dev/coretemp/coretemp.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $ + * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $ * */ @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $"); #include #include @@ -143,6 +143,15 @@ cpu_model += ((cpu_id >> 16) & 0xf) << 4; cpu_mask = cpu_id & 15; + /* + * Some CPUs, namely the PIII, don't have thermal sensors, but + * report them when the CPUID check is performed in + * coretemp_identify(). This leads to a later GPF when the sensor + * is queried via a MSR, so we stop here. + */ + if (cpu_model < 0xe) + return (ENXIO); + #if 0 /* * XXXrpaulo: I have this CPU model and when it returns from C3 * coretemp continues to function properly. ==== //depot/projects/e500/sys/dev/mxge/if_mxge.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.46 2008/02/14 00:09:59 gallatin Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.47 2008/02/14 16:24:14 gallatin Exp $"); #include #include @@ -2685,7 +2685,7 @@ } valid = stats->valid; - if (!sc->msi_enabled) { + if (sc->legacy_irq) { /* lower legacy IRQ */ *sc->irq_deassert = 0; if (!mxge_deassert_wait) @@ -2705,6 +2705,8 @@ mxge_clean_rx_done(ss); send_done_count = be32toh(stats->send_done_count); } + if (sc->legacy_irq && mxge_deassert_wait) + mb(); } while (*((volatile uint8_t *) &stats->valid)); if (__predict_false(stats->stats_updated)) { @@ -4035,9 +4037,9 @@ count = pci_msi_count(sc->dev); if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) { rid = 1; - sc->msi_enabled = 1; } else { rid = 0; + sc->legacy_irq = 1; } sc->irq_res = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); @@ -4047,7 +4049,7 @@ } if (mxge_verbose) device_printf(sc->dev, "using %s irq %ld\n", - sc->msi_enabled ? "MSI" : "INTx", + sc->legacy_irq ? "INTx" : "MSI", rman_get_start(sc->irq_res)); err = bus_setup_intr(sc->dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, @@ -4057,8 +4059,8 @@ mxge_intr, &sc->ss[0], &sc->ih); if (err != 0) { bus_release_resource(sc->dev, SYS_RES_IRQ, - sc->msi_enabled ? 1 : 0, sc->irq_res); - if (sc->msi_enabled) + sc->legacy_irq ? 0 : 1, sc->irq_res); + if (!sc->legacy_irq) pci_release_msi(sc->dev); } return err; @@ -4099,8 +4101,8 @@ { bus_teardown_intr(sc->dev, sc->irq_res, sc->ih); bus_release_resource(sc->dev, SYS_RES_IRQ, - sc->msi_enabled ? 1 : 0, sc->irq_res); - if (sc->msi_enabled) + sc->legacy_irq ? 0 : 1, sc->irq_res); + if (!sc->legacy_irq) pci_release_msi(sc->dev); } ==== //depot/projects/e500/sys/dev/mxge/if_mxge_var.h#7 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:57:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAAF316A418; Sat, 16 Feb 2008 22:57:06 +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 57E6C16A421 for ; Sat, 16 Feb 2008 22:57:06 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3818613C44B for ; Sat, 16 Feb 2008 22:57:06 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GMv6kC064612 for ; Sat, 16 Feb 2008 22:57:06 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GMv6q0064609 for perforce@freebsd.org; Sat, 16 Feb 2008 22:57:06 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 22:57:06 GMT Message-Id: <200802162257.m1GMv6q0064609@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135531 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:57:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=135531 Change 135531 by marcel@marcel_xcllnt on 2008/02/16 22:56:13 Resolve merge... Affected files ... .. //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#7 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/conf.c#4 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/help.uboot#3 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/ldscript.powerpc#3 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/metadata.c#4 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/start.S#5 edit .. //depot/projects/e500/sys/boot/powerpc/uboot/version#4 edit Differences ... ==== //depot/projects/e500/sys/boot/powerpc/uboot/Makefile#7 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.18 2004/12/21 12:32:15 ru Exp $ +# $FreeBSD: src/sys/boot/powerpc/uboot/Makefile,v 1.1 2008/02/16 22:40:55 marcel Exp $ PROG= loader -NEWVERSWHAT= "bootstrap loader" "U-Boot/PowerPC" +NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} BINDIR?= /boot INSTALLFLAGS= -b ==== //depot/projects/e500/sys/boot/powerpc/uboot/conf.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/powerpc/loader/conf.c,v 1.10 2004/01/04 23:21:18 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/powerpc/uboot/conf.c,v 1.1 2008/02/16 22:40:55 marcel Exp $"); #include #include "bootstrap.h" ==== //depot/projects/e500/sys/boot/powerpc/uboot/help.uboot#3 (text+ko) ==== @@ -1,1 +1,1 @@ -$FreeBSD: src/sys/boot/powerpc/loader/help.ofw,v 1.1 2000/10/16 10:46:16 obrien Exp $ +$FreeBSD: src/sys/boot/powerpc/uboot/help.uboot,v 1.1 2008/02/16 22:40:55 marcel Exp $ ==== //depot/projects/e500/sys/boot/powerpc/uboot/ldscript.powerpc#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/powerpc/loader/ldscript.powerpc,v 1.1 2004/07/08 12:52:35 grehan Exp $ */ +/* $FreeBSD: src/sys/boot/powerpc/uboot/ldscript.powerpc,v 1.1 2008/02/16 22:40:55 marcel Exp $ */ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc") OUTPUT_ARCH(powerpc) ==== //depot/projects/e500/sys/boot/powerpc/uboot/metadata.c#4 (text+ko) ==== @@ -23,12 +23,10 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * from: FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.6 */ #include -__FBSDID("$FreeBSD: src/sys/boot/powerpc/loader/metadata.c,v 1.5.2.1 2006/02/14 06:20:16 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/powerpc/uboot/metadata.c,v 1.1 2008/02/16 22:40:55 marcel Exp $"); #include #include ==== //depot/projects/e500/sys/boot/powerpc/uboot/start.S#5 (text+ko) ==== @@ -24,6 +24,9 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/boot/powerpc/uboot/start.S,v 1.1 2008/02/16 22:40:55 marcel Exp $"); + #include #define STACK_SIZE 8192 ==== //depot/projects/e500/sys/boot/powerpc/uboot/version#4 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/boot/powerpc/loader/version,v 1.1 2000/10/16 10:46:16 obrien Exp $ +$FreeBSD: src/sys/boot/powerpc/uboot/version,v 1.1 2008/02/16 22:40:55 marcel Exp $ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:58:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A8BC16A468; Sat, 16 Feb 2008 22:58:53 +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 E341A16A419; Sat, 16 Feb 2008 22:58:52 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by mx1.freebsd.org (Postfix) with ESMTP id 542E713C467; Sat, 16 Feb 2008 22:58:52 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from localhost (unknown [127.0.0.1]) by mail.semihalf.com (Postfix) with ESMTP id 5CC97143C5; Sun, 17 Feb 2008 00:07:03 +0100 (CET) Received: from mail.semihalf.com ([127.0.0.1]) by localhost (mail.semihalf.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 24842-10; Sun, 17 Feb 2008 00:06:36 +0100 (CET) Message-ID: <47B76A8E.5060607@semihalf.com> Date: Sat, 16 Feb 2008 23:58:22 +0100 From: Rafal Jaworowski MIME-Version: 1.0 To: Marcel Moolenaar References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> <47B75EB3.2020001@semihalf.com> <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> In-Reply-To: <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at semihalf.com Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:58:53 -0000 Marcel Moolenaar wrote: >>> Change 135517 by marcel@marcel_jnpr on 2008/02/16 21:41:02 >>> >>> Save U-Boot's registers at startup and restore them when >>> performing a syscall. This way we don't have to compile >>> code specially to avoid using those registers. Otherwise >>> we have to encode knowledge of those registers in at least >>> 4 makefiles and introduce a build knob to enable it all. >>> This does not allow us to build everything with a single >>> build world. >>> >> >> Hi Marcel, >> >> I'm not quite sure this is sufficient... I already had a similar >> save/restore >> in place, but there is some general problem with U-Boot that leads to >> hangs >> (experienced): > > Interesting, I didn't see any such problems with 1.3.2-rc1. > Chances are it might not surface, depending on the regs usage pattern, compiler etc., for example a -O0 build would usually hide this issue, but in principle those regs are not exception/interrupt safe. >> - U-Boot does not handle interrupts so there's no context save/restore of >> exceptions, other than very few cases >> >> - there's one paricular asynchronous way for U-Boot code to regain >> control >> without those dedicated r14/29 regs saved: decrementer, which can hit >> anytime >> while in the app code, and which usually leads to hangs/corruption as >> U-Boot >> code use them blindly > > It's really best if U-Boot deals with that. > Yes, but it doesn't right now, so IMO the right way to go is first fixing u-boot and only after that eliminating the -ffixed safety measures and I think we should revert those last changes until u-boot exceptions handle the dedicated regs properly. Rafal From owner-p4-projects@FreeBSD.ORG Sat Feb 16 22:59:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7E5216A418; Sat, 16 Feb 2008 22:59:08 +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 ADA5116A46B for ; Sat, 16 Feb 2008 22:59:08 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7653F13C447 for ; Sat, 16 Feb 2008 22:59:08 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GMx81V064695 for ; Sat, 16 Feb 2008 22:59:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GMx8DB064692 for perforce@freebsd.org; Sat, 16 Feb 2008 22:59:08 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 22:59:08 GMT Message-Id: <200802162259.m1GMx8DB064692@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135532 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 22:59:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=135532 Change 135532 by marcel@marcel_xcllnt on 2008/02/16 22:58:43 Resolve merge... Affected files ... .. //depot/projects/e500/sys/boot/uboot/Makefile#3 edit Differences ... ==== //depot/projects/e500/sys/boot/uboot/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/sys/boot/ofw/Makefile,v 1.1 2000/10/16 10:46:19 obrien Exp $ +# $FreeBSD: src/sys/boot/uboot/Makefile,v 1.1 2008/02/16 22:13:11 marcel Exp $ SUBDIR= lib - + .include From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:00:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C1D316A420; Sat, 16 Feb 2008 23:00:10 +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 C5C1F16A417 for ; Sat, 16 Feb 2008 23:00:09 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A65BD13C458 for ; Sat, 16 Feb 2008 23:00:09 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GN09Qv064785 for ; Sat, 16 Feb 2008 23:00:09 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GN09qq064782 for perforce@freebsd.org; Sat, 16 Feb 2008 23:00:09 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 23:00:09 GMT Message-Id: <200802162300.m1GN09qq064782@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135533 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:00:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=135533 Change 135533 by marcel@marcel_xcllnt on 2008/02/16 22:59:41 Resolve merge... Affected files ... .. //depot/projects/e500/sys/boot/uboot/common/Makefile.inc#3 edit .. //depot/projects/e500/sys/boot/uboot/common/main.c#5 edit Differences ... ==== //depot/projects/e500/sys/boot/uboot/common/Makefile.inc#3 (text+ko) ==== @@ -1,3 +1,3 @@ -# $FreeBSD: src/sys/boot/ofw/common/Makefile.inc,v 1.1 2000/11/10 06:39:49 benno Exp $ +# $FreeBSD: src/sys/boot/uboot/common/Makefile.inc,v 1.1 2008/02/16 22:13:11 marcel Exp $ SRCS+= main.c ==== //depot/projects/e500/sys/boot/uboot/common/main.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.7 2004/08/16 15:45:24 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/common/main.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); #include #include "bootstrap.h" @@ -35,8 +35,6 @@ #include "libuboot.h" #include "api_public.h" -#define DEBUG - struct uboot_devdesc currdev; struct arch_switch archsw; /* MI/MD interface boundary */ int devs_no; From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:01:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8955C16A41B; Sat, 16 Feb 2008 23:01:11 +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 3621F16A417 for ; Sat, 16 Feb 2008 23:01:11 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1651C13C45E for ; Sat, 16 Feb 2008 23:01:11 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GN1BCw064931 for ; Sat, 16 Feb 2008 23:01:11 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GN1AnS064923 for perforce@freebsd.org; Sat, 16 Feb 2008 23:01:10 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 23:01:10 GMT Message-Id: <200802162301.m1GN1AnS064923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135534 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:01:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=135534 Change 135534 by marcel@marcel_xcllnt on 2008/02/16 23:00:50 Resolve merge... Affected files ... .. //depot/projects/e500/sys/boot/uboot/lib/Makefile#8 edit .. //depot/projects/e500/sys/boot/uboot/lib/api_public.h#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/console.c#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/copy.c#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/devicename.c#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/disk.c#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/elf_freebsd.c#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/glue.c#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/libuboot.h#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/module.c#3 edit .. //depot/projects/e500/sys/boot/uboot/lib/net.c#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/reboot.c#4 edit .. //depot/projects/e500/sys/boot/uboot/lib/time.c#4 edit Differences ... ==== //depot/projects/e500/sys/boot/uboot/lib/Makefile#8 (text+ko) ==== @@ -1,3 +1,4 @@ +# $FreeBSD: src/sys/boot/uboot/lib/Makefile,v 1.1 2008/02/16 22:13:11 marcel Exp $ LIB= uboot INTERNALLIB= ==== //depot/projects/e500/sys/boot/uboot/lib/api_public.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/sys/boot/uboot/lib/api_public.h,v 1.1 2008/02/16 22:13:11 marcel Exp $ */ + #ifndef _API_PUBLIC_H_ #define _API_PUBLIC_H_ ==== //depot/projects/e500/sys/boot/uboot/lib/console.c#4 (text+ko) ==== @@ -24,6 +24,9 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/console.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); + #include #include "bootstrap.h" ==== //depot/projects/e500/sys/boot/uboot/lib/copy.c#3 (text+ko) ==== @@ -25,6 +25,9 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/copy.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); + #include /* ==== //depot/projects/e500/sys/boot/uboot/lib/devicename.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/devicename.c,v 1.7 2005/05/27 19:28:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/devicename.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); #include #include ==== //depot/projects/e500/sys/boot/uboot/lib/disk.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_disk.c,v 1.12.2.1 2005/11/30 13:37:22 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/disk.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); /* * Disk I/O routines using U-Boot - TODO ==== //depot/projects/e500/sys/boot/uboot/lib/elf_freebsd.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/elf_freebsd.c,v 1.9.2.1 2005/11/30 13:13:53 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/elf_freebsd.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); #include #include ==== //depot/projects/e500/sys/boot/uboot/lib/glue.c#4 (text+ko) ==== @@ -24,6 +24,9 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/glue.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); + #include #include "api_public.h" ==== //depot/projects/e500/sys/boot/uboot/lib/libuboot.h#4 (text+ko) ==== @@ -23,6 +23,8 @@ * 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: src/sys/boot/uboot/lib/libuboot.h,v 1.1 2008/02/16 22:13:11 marcel Exp $ */ /* ==== //depot/projects/e500/sys/boot/uboot/lib/module.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_module.c,v 1.7 2004/01/04 23:27:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/module.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); /* * U-Boot-specific module functionality. ==== //depot/projects/e500/sys/boot/uboot/lib/net.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_net.c,v 1.10 2005/03/02 20:12:27 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/net.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); #include #include ==== //depot/projects/e500/sys/boot/uboot/lib/reboot.c#4 (text+ko) ==== @@ -24,6 +24,9 @@ * SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/reboot.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); + void exit(int code) { ==== //depot/projects/e500/sys/boot/uboot/lib/time.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_time.c,v 1.5 2005/01/05 22:16:58 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/uboot/lib/time.c,v 1.1 2008/02/16 22:13:11 marcel Exp $"); #include From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:03:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D69F516A421; Sat, 16 Feb 2008 23:03:13 +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 8392916A41B for ; Sat, 16 Feb 2008 23:03:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4AC9413C457 for ; Sat, 16 Feb 2008 23:03:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GN3Dmj066042 for ; Sat, 16 Feb 2008 23:03:13 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GN3DaA066038 for perforce@freebsd.org; Sat, 16 Feb 2008 23:03:13 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Feb 2008 23:03:13 GMT Message-Id: <200802162303.m1GN3DaA066038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:03:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=135535 Change 135535 by marcel@marcel_xcllnt on 2008/02/16 23:03:02 Diff reduction. Affected files ... .. //depot/projects/e500/sys/boot/ficl/Makefile#6 edit Differences ... ==== //depot/projects/e500/sys/boot/ficl/Makefile#6 (text+ko) ==== @@ -1,6 +1,5 @@ # $FreeBSD: src/sys/boot/ficl/Makefile,v 1.45 2007/10/15 14:20:24 nyan Exp $ # - .PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \ prefix.c search.c stack.c tools.c vm.c words.c From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:10:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4289C16A477; Sat, 16 Feb 2008 23:10:14 +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 E2E8316A419; Sat, 16 Feb 2008 23:10:13 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpoutm.mac.com (smtpoutm.mac.com [17.148.16.83]) by mx1.freebsd.org (Postfix) with ESMTP id BB5EE13C4D1; Sat, 16 Feb 2008 23:10:13 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (asmtp003-s [10.150.69.66]) by smtpoutm.mac.com (Xserve/smtpout020/MantshX 4.0) with ESMTP id m1GNADQX024857; Sat, 16 Feb 2008 15:10:13 -0800 (PST) Received: from macbook-pro.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mac.com (Xserve/asmtp003/MantshX 4.0) with ESMTP id m1GNACfg016283 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 16 Feb 2008 15:10:12 -0800 (PST) Message-Id: From: Marcel Moolenaar To: Rafal Jaworowski In-Reply-To: <47B76A8E.5060607@semihalf.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Sat, 16 Feb 2008 15:10:12 -0800 References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> <47B75EB3.2020001@semihalf.com> <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> <47B76A8E.5060607@semihalf.com> X-Mailer: Apple Mail (2.919.2) Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:10:14 -0000 On Feb 16, 2008, at 2:58 PM, Rafal Jaworowski wrote: > Marcel Moolenaar wrote: >>>> Change 135517 by marcel@marcel_jnpr on 2008/02/16 21:41:02 >>>> >>>> Save U-Boot's registers at startup and restore them when >>>> performing a syscall. This way we don't have to compile >>>> code specially to avoid using those registers. Otherwise >>>> we have to encode knowledge of those registers in at least >>>> 4 makefiles and introduce a build knob to enable it all. >>>> This does not allow us to build everything with a single >>>> build world. >>>> >>> >>> Hi Marcel, >>> >>> I'm not quite sure this is sufficient... I already had a similar >>> save/restore >>> in place, but there is some general problem with U-Boot that leads >>> to >>> hangs >>> (experienced): >> >> Interesting, I didn't see any such problems with 1.3.2-rc1. >> > > Chances are it might not surface, depending on the regs usage pattern, > compiler etc., for example a -O0 build would usually hide this > issue, but in > principle those regs are not exception/interrupt safe. Agreed. I didn't see it at -O2, BTW. We can disable interrupts when not running in U-Boot, right? The impact should be marginal... -- Marcel Moolenaar xcllnt@mac.com From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:21:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0309016A421; Sat, 16 Feb 2008 23:21:08 +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 A382D16A419; Sat, 16 Feb 2008 23:21:07 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by mx1.freebsd.org (Postfix) with ESMTP id 1273513C455; Sat, 16 Feb 2008 23:21:06 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from localhost (unknown [127.0.0.1]) by mail.semihalf.com (Postfix) with ESMTP id 91F73143D2; Sun, 17 Feb 2008 00:29:18 +0100 (CET) Received: from mail.semihalf.com ([127.0.0.1]) by localhost (mail.semihalf.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22152-07; Sun, 17 Feb 2008 00:29:12 +0100 (CET) Message-ID: <47B76FDA.7070008@semihalf.com> Date: Sun, 17 Feb 2008 00:20:58 +0100 From: Rafal Jaworowski MIME-Version: 1.0 To: Marcel Moolenaar References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> <47B75EB3.2020001@semihalf.com> <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> <47B76A8E.5060607@semihalf.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at semihalf.com Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:21:08 -0000 Marcel Moolenaar wrote: >>>>> >>>>> Save U-Boot's registers at startup and restore them when >>>>> performing a syscall. This way we don't have to compile >>>>> code specially to avoid using those registers. Otherwise >>>>> we have to encode knowledge of those registers in at least >>>>> 4 makefiles and introduce a build knob to enable it all. >>>>> This does not allow us to build everything with a single >>>>> build world. >>>>> >>>> >>>> Hi Marcel, >>>> >>>> I'm not quite sure this is sufficient... I already had a similar >>>> save/restore >>>> in place, but there is some general problem with U-Boot that leads to >>>> hangs >>>> (experienced): >>> >>> Interesting, I didn't see any such problems with 1.3.2-rc1. >>> >> >> Chances are it might not surface, depending on the regs usage pattern, >> compiler etc., for example a -O0 build would usually hide this issue, >> but in >> principle those regs are not exception/interrupt safe. > > Agreed. I didn't see it at -O2, BTW. > When I was looking at this it also did not always pop up (with -O2 too), although typically when loader(8) was executed and left idle for some time it would hang sooner or later. > We can disable interrupts when not running in U-Boot, right? > The impact should be marginal... > Yes, this could be worked around like this, but with degraded functionality: all timer-related calls from the API would not make sense, and things like autoboot count down will not work. Even worse, the [polled] networking might not work at all if decrementer was shut, as we'd not be able to time out while waiting on the packet, status registers' change and so on. I think this issue needs some further investigation and proper resolution. Rafal From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:29:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1203F16A421; Sat, 16 Feb 2008 23:29:17 +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 B284216A41A; Sat, 16 Feb 2008 23:29:16 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpoutm.mac.com (smtpoutm.mac.com [17.148.16.72]) by mx1.freebsd.org (Postfix) with ESMTP id 89F2F13C4D3; Sat, 16 Feb 2008 23:29:16 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (asmtp009-s [10.150.69.72]) by smtpoutm.mac.com (Xserve/smtpout009/MantshX 4.0) with ESMTP id m1GNTG0s003826; Sat, 16 Feb 2008 15:29:16 -0800 (PST) Received: from macbook-pro.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mac.com (Xserve/asmtp009/MantshX 4.0) with ESMTP id m1GNTE4K015387 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 16 Feb 2008 15:29:15 -0800 (PST) Message-Id: <19353798-6A4C-4360-B08B-51D0D2719B28@mac.com> From: Marcel Moolenaar To: Rafal Jaworowski In-Reply-To: <47B76FDA.7070008@semihalf.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Sat, 16 Feb 2008 15:29:14 -0800 References: <200802162141.m1GLfgkj048217@repoman.freebsd.org> <47B75EB3.2020001@semihalf.com> <504560A3-EABB-4896-8B3E-C7FC89F31EFB@mac.com> <47B76A8E.5060607@semihalf.com> <47B76FDA.7070008@semihalf.com> X-Mailer: Apple Mail (2.919.2) Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 135517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:29:17 -0000 On Feb 16, 2008, at 3:20 PM, Rafal Jaworowski wrote: > Marcel Moolenaar wrote: >>>>>> >>>>>> Save U-Boot's registers at startup and restore them when >>>>>> performing a syscall. This way we don't have to compile >>>>>> code specially to avoid using those registers. Otherwise >>>>>> we have to encode knowledge of those registers in at least >>>>>> 4 makefiles and introduce a build knob to enable it all. >>>>>> This does not allow us to build everything with a single >>>>>> build world. >>>>>> >>>>> >>>>> Hi Marcel, >>>>> >>>>> I'm not quite sure this is sufficient... I already had a similar >>>>> save/restore >>>>> in place, but there is some general problem with U-Boot that >>>>> leads to >>>>> hangs >>>>> (experienced): >>>> >>>> Interesting, I didn't see any such problems with 1.3.2-rc1. >>>> >>> >>> Chances are it might not surface, depending on the regs usage >>> pattern, >>> compiler etc., for example a -O0 build would usually hide this >>> issue, >>> but in >>> principle those regs are not exception/interrupt safe. >> >> Agreed. I didn't see it at -O2, BTW. >> > > When I was looking at this it also did not always pop up (with -O2 > too), > although typically when loader(8) was executed and left idle for > some time it > would hang sooner or later. > >> We can disable interrupts when not running in U-Boot, right? >> The impact should be marginal... >> > > Yes, this could be worked around like this, but with degraded > functionality: > all timer-related calls from the API would not make sense, and > things like > autoboot count down will not work. Even worse, the [polled] > networking might > not work at all if decrementer was shut, as we'd not be able to time > out while > waiting on the packet, status registers' change and so on. I think > this issue > needs some further investigation and proper resolution. We always call into U-Boot when we're waiting, so interrupts should be enabled when it's important. This is the case when we wait for time to pass, a key press or a network packet. In all those cases we shouldn't be running for extensive amounts of time with interrupts disabled, so we shouldn't lose too much precision, keys or packets. I'll play with this and see if that statement is true... -- Marcel Moolenaar xcllnt@mac.com From owner-p4-projects@FreeBSD.ORG Sat Feb 16 23:39:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8FBA16A475; Sat, 16 Feb 2008 23:39:51 +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 85E9016A46D for ; Sat, 16 Feb 2008 23:39:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4DD6F13C465 for ; Sat, 16 Feb 2008 23:39:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1GNdpjg071199 for ; Sat, 16 Feb 2008 23:39:51 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1GNdpTJ071196 for perforce@freebsd.org; Sat, 16 Feb 2008 23:39:51 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 16 Feb 2008 23:39:51 GMT Message-Id: <200802162339.m1GNdpTJ071196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 135537 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 23:39:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=135537 Change 135537 by kmacy@kmacy:entropy:iwarp on 2008/02/16 23:38:58 change rtentry lock back to blocking mutex Affected files ... .. //depot/projects/iwarp/sys/kern/subr_witness.c#5 edit Differences ... ==== //depot/projects/iwarp/sys/kern/subr_witness.c#5 (text+ko) ==== @@ -307,7 +307,7 @@ */ { "so_rcv", &lock_class_mtx_sleep }, { "radix node head", &lock_class_rw }, - { "rtentry", &lock_class_rw }, + { "rtentry", &lock_class_mtx_sleep }, { "ifaddr", &lock_class_mtx_sleep }, { NULL, NULL }, /*