From owner-p4-projects@FreeBSD.ORG Sun Mar 2 00:37:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 832941065670; Sun, 2 Mar 2008 00:37:32 +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 45A351065676 for ; Sun, 2 Mar 2008 00:37:32 +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 303818FC13 for ; Sun, 2 Mar 2008 00:37:32 +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 m220bWKd094134 for ; Sun, 2 Mar 2008 00:37:32 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m220bV04094132 for perforce@freebsd.org; Sun, 2 Mar 2008 00:37:31 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 00:37:31 GMT Message-Id: <200803020037.m220bV04094132@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 136617 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, 02 Mar 2008 00:37:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=136617 Change 136617 by marcel@marcel_cluster on 2008/03/02 00:37:23 IFC @136615 Affected files ... .. //depot/projects/e500/UPDATING#9 integrate .. //depot/projects/e500/games/fortune/datfiles/fortunes#9 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_zip.c#8 integrate .. //depot/projects/e500/lib/libarchive/archive_write_disk.c#8 integrate .. //depot/projects/e500/lib/libc/gen/sysconf.c#2 integrate .. //depot/projects/e500/lib/libc/stdio/fdopen.c#2 integrate .. //depot/projects/e500/lib/libc/stdio/fopen.c#2 integrate .. //depot/projects/e500/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/e500/lib/libc/stdlib/getenv.c#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_close.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_getattr.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_notify.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_open.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_receive.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_send.2#4 integrate .. //depot/projects/e500/lib/libc/sys/mq_setattr.2#4 integrate .. //depot/projects/e500/lib/msun/src/e_rem_pio2.c#6 integrate .. //depot/projects/e500/lib/msun/src/e_rem_pio2f.c#6 integrate .. //depot/projects/e500/sbin/ifconfig/ifconfig.8#5 integrate .. //depot/projects/e500/sbin/ipfw/ipfw.8#8 integrate .. //depot/projects/e500/sbin/ipfw/ipfw2.c#11 integrate .. //depot/projects/e500/share/man/man4/Makefile#12 integrate .. //depot/projects/e500/share/man/man4/ng_nat.4#3 integrate .. //depot/projects/e500/share/man/man4/uchcom.4#1 branch .. //depot/projects/e500/share/man/man4/ucom.4#3 integrate .. //depot/projects/e500/share/man/man4/ucycom.4#2 integrate .. //depot/projects/e500/share/man/man4/uscanner.4#3 integrate .. //depot/projects/e500/share/man/man9/Makefile#7 integrate .. //depot/projects/e500/share/man/man9/lock.9#7 integrate .. //depot/projects/e500/share/misc/bsd-family-tree#7 integrate .. //depot/projects/e500/share/misc/committers-doc.dot#4 integrate .. //depot/projects/e500/share/mk/bsd.cpu.mk#7 integrate .. //depot/projects/e500/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/e500/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/e500/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/e500/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/e500/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/e500/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/e500/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/e500/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/e500/sys/boot/pc98/libpc98/biosdisk.c#3 integrate .. //depot/projects/e500/sys/cam/cam_xpt.c#10 integrate .. //depot/projects/e500/sys/conf/NOTES#14 integrate .. //depot/projects/e500/sys/conf/files#15 integrate .. //depot/projects/e500/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/e500/sys/dev/em/LICENSE#2 integrate .. //depot/projects/e500/sys/dev/em/e1000_80003es2lan.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_80003es2lan.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82540.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82541.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82541.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82542.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82543.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82543.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82571.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82571.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_82575.c#4 delete .. //depot/projects/e500/sys/dev/em/e1000_82575.h#4 delete .. //depot/projects/e500/sys/dev/em/e1000_api.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_api.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_defines.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_hw.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_ich8lan.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_ich8lan.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_mac.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_mac.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_manage.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_manage.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_nvm.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_nvm.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_osdep.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_phy.c#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_phy.h#4 integrate .. //depot/projects/e500/sys/dev/em/e1000_regs.h#4 integrate .. //depot/projects/e500/sys/dev/em/if_em.c#7 integrate .. //depot/projects/e500/sys/dev/em/if_em.h#5 integrate .. //depot/projects/e500/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/e500/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/e500/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/e500/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/e500/sys/dev/md/md.c#9 integrate .. //depot/projects/e500/sys/dev/msk/if_msk.c#6 integrate .. //depot/projects/e500/sys/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/e500/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/e500/sys/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/e500/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/e500/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/e500/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/e500/sys/i386/i386/identcpu.c#4 integrate .. //depot/projects/e500/sys/kern/kern_lock.c#8 integrate .. //depot/projects/e500/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/e500/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/e500/sys/modules/Makefile#9 integrate .. //depot/projects/e500/sys/modules/em/Makefile#2 integrate .. //depot/projects/e500/sys/modules/igb/Makefile#1 branch .. //depot/projects/e500/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/e500/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/e500/sys/netgraph/ng_nat.c#3 integrate .. //depot/projects/e500/sys/netgraph/ng_nat.h#3 integrate .. //depot/projects/e500/sys/netinet/ip_dummynet.c#7 integrate .. //depot/projects/e500/sys/netinet/ip_fw.h#3 integrate .. //depot/projects/e500/sys/netinet/ip_fw2.c#8 integrate .. //depot/projects/e500/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/e500/sys/netinet/tcp_input.c#8 integrate .. //depot/projects/e500/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/e500/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/e500/sys/nfs4client/nfs4_idmap.c#3 integrate .. //depot/projects/e500/sys/pc98/cbus/sio.c#5 integrate .. //depot/projects/e500/sys/pc98/pc98/machdep.c#7 integrate .. //depot/projects/e500/sys/security/audit/audit.c#9 integrate .. //depot/projects/e500/sys/security/audit/audit_bsm_klib.c#6 integrate .. //depot/projects/e500/sys/security/audit/audit_private.h#4 integrate .. //depot/projects/e500/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/e500/sys/security/audit/audit_trigger.c#3 integrate .. //depot/projects/e500/sys/security/audit/audit_worker.c#6 integrate .. //depot/projects/e500/sys/sys/buf.h#6 integrate .. //depot/projects/e500/sys/sys/bufobj.h#2 integrate .. //depot/projects/e500/sys/sys/lockmgr.h#7 integrate .. //depot/projects/e500/sys/sys/mount.h#3 integrate .. //depot/projects/e500/sys/sys/param.h#12 integrate .. //depot/projects/e500/sys/sys/vnode.h#7 integrate .. //depot/projects/e500/sys/vm/vm_map.h#5 integrate .. //depot/projects/e500/tools/build/mk/OptionalObsoleteFiles.inc#4 integrate .. //depot/projects/e500/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/e500/usr.bin/awk/Makefile#3 integrate .. //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#9 integrate .. //depot/projects/e500/usr.bin/unifdef/unifdef.c#2 integrate Differences ... ==== //depot/projects/e500/UPDATING#9 (text+ko) ==== @@ -22,6 +22,20 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080301: + The layout of struct vmspace has changed. This affects libkvm + and any executables that link against libkvm and use the + kvm_getprocs() function. In particular, but not exclusively, + it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1). + The effects are minimal, but it's advisable to upgrade world + nonetheless. + +20080229: + The latest em driver no longer has support in it for the + 82575 adapter, this is now moved to the igb driver. The + split was done to make new features that are incompatible + with older hardware easier to do. + 20080220: The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4), likewise the kernel option is now GEOM_LINUX_LVM. @@ -983,4 +997,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.520 2008/02/20 07:50:12 thompsa Exp $ +$FreeBSD: src/UPDATING,v 1.522 2008/03/01 22:54:42 marcel Exp $ ==== //depot/projects/e500/games/fortune/datfiles/fortunes#9 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.255 2008/01/10 14:51:24 des Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $ % ======================================================================= || || @@ -15979,6 +15979,9 @@ % Don't mind him; politicians always sound like that. % +Don't patch bad code -- rewrite it. + -- "The Elements of Programming Style", Kernighan and Plauger +% Don't plan any hasty moves. You'll be evicted soon anyway. % @@ -31243,7 +31246,7 @@ -- Charles Dickens % Let the machine do the dirty work. - -- "Elements of Programming Style", Kernighan and Ritchie + -- "The Elements of Programming Style", Kernighan and Plauger % Let the meek inherit the earth -- they have it coming to them. -- James Thurber ==== //depot/projects/e500/lib/libarchive/archive_read_support_format_zip.c#8 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.21 2008/02/26 07:17:47 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.22 2008/02/27 06:05:59 kientzle Exp $"); #ifdef HAVE_ERRNO_H #include @@ -636,7 +636,7 @@ { struct zip *zip; const void *buff = NULL; - ssize_t bytes_avail; + off_t bytes_skipped; zip = (struct zip *)(a->format->data); @@ -659,19 +659,10 @@ * If the length is at the beginning, we can skip the * compressed data much more quickly. */ - while (zip->entry_bytes_remaining > 0) { - bytes_avail = (a->decompressor->read_ahead)(a, &buff, 1); - if (bytes_avail <= 0) { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Truncated ZIP file body"); - return (ARCHIVE_FATAL); - } - if (bytes_avail > zip->entry_bytes_remaining) - bytes_avail = zip->entry_bytes_remaining; - (a->decompressor->consume)(a, bytes_avail); - zip->entry_bytes_remaining -= bytes_avail; - } + bytes_skipped = (a->decompressor->skip)(a, zip->entry_bytes_remaining); + if (bytes_skipped < 0) + return (ARCHIVE_FATAL); + /* This entry is finished and done. */ zip->end_of_entry_cleanup = zip->end_of_entry = 1; return (ARCHIVE_OK); ==== //depot/projects/e500/lib/libarchive/archive_write_disk.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.22 2008/02/19 05:39:35 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.23 2008/02/27 06:16:41 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -1167,7 +1167,7 @@ struct stat st; /* - * Gaurd against symlink tricks. Reject any archive entry whose + * Guard against symlink tricks. Reject any archive entry whose * destination would be altered by a symlink. */ /* Whatever we checked last time doesn't need to be re-checked. */ ==== //depot/projects/e500/lib/libc/gen/sysconf.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)sysconf.c 8.2 (Berkeley) 3/20/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/sysconf.c,v 1.25 2007/04/14 13:06:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/sysconf.c,v 1.26 2008/02/27 05:56:57 wollman Exp $"); #include #include @@ -100,7 +100,16 @@ mib[1] = KERN_NGROUPS; break; case _SC_OPEN_MAX: - case _SC_STREAM_MAX: /* assume fds run out before memory does */ + if (getrlimit(RLIMIT_NOFILE, &rl) != 0) + return (-1); + if (rl.rlim_cur == RLIM_INFINITY) + return (-1); + if (rl.rlim_cur > LONG_MAX) { + errno = EOVERFLOW; + return (-1); + } + return ((long)rl.rlim_cur); + case _SC_STREAM_MAX: if (getrlimit(RLIMIT_NOFILE, &rl) != 0) return (-1); if (rl.rlim_cur == RLIM_INFINITY) @@ -109,6 +118,15 @@ errno = EOVERFLOW; return (-1); } + /* + * struct __sFILE currently has a limitation that + * file descriptors must fit in a signed short. + * This doesn't precisely capture the letter of POSIX + * but approximates the spirit. + */ + if (rl.rlim_cur > SHRT_MAX) + return (SHRT_MAX); + return ((long)rl.rlim_cur); case _SC_JOB_CONTROL: return (_POSIX_JOB_CONTROL); ==== //depot/projects/e500/lib/libc/stdio/fdopen.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)fdopen.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fdopen.c,v 1.8 2007/01/09 00:28:06 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fdopen.c,v 1.10 2008/02/27 21:25:19 jhb Exp $"); #include "namespace.h" #include @@ -42,6 +42,7 @@ #include #include #include +#include #include "un-namespace.h" #include "local.h" @@ -57,6 +58,18 @@ if (nofile == 0) nofile = getdtablesize(); + /* + * File descriptors are a full int, but _file is only a short. + * If we get a valid file descriptor that is greater than + * SHRT_MAX, then the fd will get sign-extended into an + * invalid file descriptor. Handle this case by failing the + * open. + */ + if (fd > SHRT_MAX) { + errno = EMFILE; + return (NULL); + } + if ((flags = __sflags(mode, &oflags)) == 0) return (NULL); ==== //depot/projects/e500/lib/libc/stdio/fopen.c#2 (text+ko) ==== @@ -34,14 +34,16 @@ static char sccsid[] = "@(#)fopen.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fopen.c,v 1.11 2007/01/09 00:28:06 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fopen.c,v 1.13 2008/02/27 21:25:19 jhb Exp $"); #include "namespace.h" #include #include #include +#include #include #include +#include #include "un-namespace.h" #include "local.h" @@ -63,6 +65,18 @@ fp->_flags = 0; /* release */ return (NULL); } + /* + * File descriptors are a full int, but _file is only a short. + * If we get a valid file descriptor that is greater than + * SHRT_MAX, then the fd will get sign-extended into an + * invalid file descriptor. Handle this case by failing the + * open. + */ + if (f > SHRT_MAX) { + _close(f); + errno = EMFILE; + return (NULL); + } fp->_file = f; fp->_flags = flags; fp->_cookie = fp; ==== //depot/projects/e500/lib/libc/stdio/freopen.c#2 (text+ko) ==== @@ -34,13 +34,14 @@ static char sccsid[] = "@(#)freopen.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.18 2007/01/09 00:28:06 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.20 2008/02/27 21:25:19 jhb Exp $"); #include "namespace.h" #include #include #include #include +#include #include #include #include @@ -203,6 +204,20 @@ } } + /* + * File descriptors are a full int, but _file is only a short. + * If we get a valid file descriptor that is greater than + * SHRT_MAX, then the fd will get sign-extended into an + * invalid file descriptor. Handle this case by failing the + * open. + */ + if (f > SHRT_MAX) { + fp->_flags = 0; /* set it free */ + FUNLOCKFILE(fp); + errno = EMFILE; + return (NULL); + } + fp->_flags = flags; fp->_file = f; fp->_cookie = fp; ==== //depot/projects/e500/lib/libc/stdlib/getenv.c#4 (text+ko) ==== @@ -23,23 +23,25 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#include +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.13 2008/02/28 04:09:08 scf Exp $"); + + +#include "namespace.h" #include -#include #include #include #include #include #include +#include +#include "un-namespace.h" -#include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.12 2007/09/22 02:30:44 scf Exp $"); - - -static const char CorruptEnvFindMsg[] = - "environment corrupt; unable to find %.*s"; +static const char CorruptEnvFindMsg[] = "environment corrupt; unable to find "; static const char CorruptEnvValueMsg[] = - "environment corrupt; missing value for %s"; + "environment corrupt; missing value for "; /* @@ -97,6 +99,26 @@ /* + * A simple version of warnx() to avoid the bloat of including stdio in static + * binaries. + */ +static void +__env_warnx(const char *msg, const char *name, size_t nameLen) +{ + static const char nl[] = "\n"; + static const char progSep[] = ": "; + + _write(STDERR_FILENO, _getprogname(), strlen(_getprogname())); + _write(STDERR_FILENO, progSep, sizeof(progSep) - 1); + _write(STDERR_FILENO, msg, strlen(msg)); + _write(STDERR_FILENO, name, nameLen); + _write(STDERR_FILENO, nl, sizeof(nl) - 1); + + return; +} + + +/* * Inline strlen() for performance. Also, perform check for an equals sign. * Cheaper here than peforming a strchr() later. */ @@ -341,7 +363,8 @@ envVars[envNdx].valueSize = strlen(envVars[envNdx].value); } else { - warnx(CorruptEnvValueMsg, envVars[envNdx].name); + __env_warnx(CorruptEnvValueMsg, envVars[envNdx].name, + strlen(envVars[envNdx].name)); errno = EFAULT; goto Failure; } @@ -356,8 +379,8 @@ activeNdx = envVarsTotal - 1; if (__findenv(envVars[envNdx].name, nameLen, &activeNdx, false) == NULL) { - warnx(CorruptEnvFindMsg, (int)nameLen, - envVars[envNdx].name); + __env_warnx(CorruptEnvFindMsg, envVars[envNdx].name, + nameLen); errno = EFAULT; goto Failure; } @@ -527,7 +550,8 @@ if (origEnviron != NULL) for (env = origEnviron; *env != NULL; env++) { if ((equals = strchr(*env, '=')) == NULL) { - warnx(CorruptEnvValueMsg, *env); + __env_warnx(CorruptEnvValueMsg, *env, + strlen(*env)); errno = EFAULT; return (-1); } ==== //depot/projects/e500/lib/libc/sys/mq_close.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_close.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_close.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_CLOSE 2 @@ -95,11 +95,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_getattr.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_getattr.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_getattr.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_GETATTR 2 @@ -117,11 +117,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_notify.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_notify.2,v 1.9 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_notify.2,v 1.10 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_NOTIFY 2 @@ -141,11 +141,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_open.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_open.2,v 1.9 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_open.2,v 1.10 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_OPEN 2 @@ -313,11 +313,11 @@ and contain no other slash characters. .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_receive.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_receive.2,v 1.6 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_receive.2,v 1.7 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_RECEIVE 2 @@ -207,11 +207,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_send.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_send.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_send.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_SEND 2 @@ -226,11 +226,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/libc/sys/mq_setattr.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_setattr.2,v 1.6 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_setattr.2,v 1.7 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_SETATTR 2 @@ -113,11 +113,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/e500/lib/msun/src/e_rem_pio2.c#6 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.17 2008/02/25 18:28:58 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.18 2008/02/28 16:22:36 bde Exp $"); /* __ieee754_rem_pio2(x,y) * @@ -126,7 +126,7 @@ } } } - if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */ + if(ix<0x413921fb) { /* |x| ~< 2^20*(pi/2), medium size */ medium: /* Use a specialized rint() to get fn. Assume round-to-nearest. */ STRICT_ASSIGN(double,fn,x*invpio2+0x1.8p52); ==== //depot/projects/e500/lib/msun/src/e_rem_pio2f.c#6 (text+ko) ==== @@ -15,7 +15,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.28 2008/02/25 22:19:17 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.29 2008/02/28 16:22:36 bde Exp $"); /* __ieee754_rem_pio2f(x,y) * @@ -38,8 +38,8 @@ static const double half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ -pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ -pio2_1t = 6.07710050650619224932e-11; /* 0x3DD0B461, 0x1A626331 */ +pio2_1 = 1.57079631090164184570e+00, /* 0x3FF921FB, 0x50000000 */ +pio2_1t = 1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */ #ifdef INLINE_REM_PIO2F extern inline @@ -55,7 +55,7 @@ GET_FLOAT_WORD(hx,x); ix = hx&0x7fffffff; /* 33+53 bit pi is good enough for medium size */ - if(ix<=0x49490f80) { /* |x| ~<= 2^19*(pi/2), medium size */ + if(ix<0x4dc90fdb) { /* |x| ~< 2^28*(pi/2), medium size */ /* Use a specialized rint() to get fn. Assume round-to-nearest. */ STRICT_ASSIGN(double,fn,x*invpio2+0x1.8p52); fn = fn-0x1.8p52; ==== //depot/projects/e500/sbin/ifconfig/ifconfig.8#5 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.145 2007/12/10 02:31:00 sam Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.146 2008/02/29 20:42:17 sam Exp $ .\" -.Dd December 8, 2007 +.Dd February 29, 2008 .Dt IFCONFIG 8 .Os .Sh NAME @@ -779,6 +779,8 @@ .It Cm deftxkey Ar index Set the default key to use for transmission. Typically this is only set when using WEP encryption. +Note that you must set a default transmit key +for the system to know which key to use in encrypting outbound traffic. The .Cm weptxkey is an alias for this request; it is provided for backwards compatibility. @@ -1263,6 +1265,10 @@ If that is the case, then the first four keys (1-4) will be the standard temporary keys and any others will be adaptor specific keys such as permanent keys stored in NVRAM. +.Pp +Note that you must set a default transmit key with +.Cm deftxkey +for the system to know which key to use in encrypting outbound traffic. .It Cm wme Enable Wireless Multimedia Extensions (WME) support, if available, for the specified interface. ==== //depot/projects/e500/sbin/ipfw/ipfw.8#8 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.210 2008/02/24 15:37:45 piso Exp $ +.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.211 2008/02/27 13:52:33 dwmalone Exp $ .\" .Dd November 26, 2007 .Dt IPFW 8 @@ -1971,6 +1971,13 @@ Even worse effects can result if you get packets from an interface with a much larger MTU, e.g.\& the loopback interface with its 16KB packets. +The +.Xr sysctl 8 +variables +.Em net.inet.ip.dummynet.pipe_byte_limit +and +.Em net.inet.ip.dummynet.pipe_slot_limit +control the maximum lengths that can be specified. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 2 04:06:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA8E11065671; Sun, 2 Mar 2008 04:06:58 +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 99E88106566B for ; Sun, 2 Mar 2008 04:06:58 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6DFFB8FC12 for ; Sun, 2 Mar 2008 04:06:58 +0000 (UTC) (envelope-from imp@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 m2246woL018657 for ; Sun, 2 Mar 2008 04:06:58 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2246wfi018655 for perforce@freebsd.org; Sun, 2 Mar 2008 04:06:58 GMT (envelope-from imp@freebsd.org) Date: Sun, 2 Mar 2008 04:06:58 GMT Message-Id: <200803020406.m2246wfi018655@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 136625 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, 02 Mar 2008 04:06:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=136625 Change 136625 by imp@imp_paco-paco on 2008/03/02 04:06:48 Delete stray $ Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/sysarch.h#4 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/sysarch.h#4 (text+ko) ==== @@ -40,10 +40,10 @@ #if 0 /* Something useful for each MIPS platform. */ -#else$ -#define mips_tcb_set(tcb) NULL$ -#define mips_tcb_get() NULL$ -#endif /* _MIPS_ARCH_XLR */$ +#else +#define mips_tcb_set(tcb) NULL +#define mips_tcb_get() NULL +#endif /* _MIPS_ARCH_XLR */ __BEGIN_DECLS int sysarch(int, void *); From owner-p4-projects@FreeBSD.ORG Sun Mar 2 07:31:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6012C1065674; Sun, 2 Mar 2008 07:31: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 19AE91065671; Sun, 2 Mar 2008 07:31:46 +0000 (UTC) (envelope-from rermilov@team.vega.ru) Received: from mail.vega.ru (infra.dev.vega.ru [90.156.167.14]) by mx1.freebsd.org (Postfix) with ESMTP id C3FCF8FC1A; Sun, 2 Mar 2008 07:31:44 +0000 (UTC) (envelope-from rermilov@team.vega.ru) Received: from [87.242.97.68] (port=52507 helo=edoofus.dev.vega.ru) by mail.vega.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68 (FreeBSD)) (envelope-from ) id 1JViJQ-000BQV-Lt; Sun, 02 Mar 2008 07:08:44 +0000 Received: from edoofus.dev.vega.ru (localhost [127.0.0.1]) by edoofus.dev.vega.ru (8.14.2/8.14.2) with ESMTP id m2278g5i065789; Sun, 2 Mar 2008 10:08:42 +0300 (MSK) (envelope-from rermilov@team.vega.ru) Received: (from ru@localhost) by edoofus.dev.vega.ru (8.14.2/8.14.2/Submit) id m2278g8c065788; Sun, 2 Mar 2008 10:08:42 +0300 (MSK) (envelope-from rermilov@team.vega.ru) X-Authentication-Warning: edoofus.dev.vega.ru: ru set sender to rermilov@team.vega.ru using -f Date: Sun, 2 Mar 2008 10:08:42 +0300 From: Ruslan Ermilov To: John Baldwin Message-ID: <20080302070842.GA65621@team.vega.ru> References: <200802080420.m184Kvmf077416@repoman.freebsd.org> <200802141032.33861.jhb@freebsd.org> <47B4E0F1.6060006@FreeBSD.org> <200802150952.39027.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200802150952.39027.jhb@freebsd.org> User-Agent: Mutt/1.5.17 (2007-11-01) Cc: Kris Kennaway , 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: Sun, 02 Mar 2008 07:31:47 -0000 Hi John, Your patch below looks good enough for committing. On Fri, Feb 15, 2008 at 09:52:38AM -0500, John Baldwin wrote: > 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 Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer From owner-p4-projects@FreeBSD.ORG Sun Mar 2 08:45:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 034F81065674; Sun, 2 Mar 2008 08:45: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 B6DAC106566B for ; Sun, 2 Mar 2008 08:45:54 +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 AA3C38FC1B for ; Sun, 2 Mar 2008 08:45:54 +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 m228jsso044201 for ; Sun, 2 Mar 2008 08:45:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m228js2o044199 for perforce@freebsd.org; Sun, 2 Mar 2008 08:45:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 08:45:54 GMT Message-Id: <200803020845.m228js2o044199@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 136644 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, 02 Mar 2008 08:45:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=136644 Change 136644 by hselasky@hselasky_laptop001 on 2008/03/02 08:45:14 This commit only affects the USB device side code. First step towards an USB Mass Storage Device Side implementation. Affected files ... .. //depot/projects/usb/src/sys/conf/files#24 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#98 edit .. //depot/projects/usb/src/sys/dev/usb/usb_template.h#8 edit .. //depot/projects/usb/src/sys/modules/usb/Makefile#9 edit Differences ... ==== //depot/projects/usb/src/sys/conf/files#24 (text+ko) ==== @@ -1148,6 +1148,7 @@ dev/usb/usb_subr.c optional usb dev/usb/usb_template.c optional usb dev/usb/usb_template_cdce.c optional usb +dev/usb/usb_template_msc.c optional usb dev/usb/usb_transfer.c optional usb dev/usb/usb_compat_linux.c optional usb dev/usb/uscanner.c optional uscanner ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#98 (text+ko) ==== @@ -1775,6 +1775,11 @@ [USB_SPEED_LOW][USB_SPEED_LOW] = 1, }; +static int usb_template = 0; + +SYSCTL_INT(_hw_usb, OID_AUTO, template, CTLFLAG_RW, + &usb_template, 0, "Selected USB device side template"); + /*------------------------------------------------------------------------* * usbd_alloc_device * @@ -1927,11 +1932,14 @@ /* We are not self powered */ udev->flags.self_powered = 0; - /* - * TODO: Make some kind of command that lets the user choose - * the USB template. - */ - err = usbd_temp_setup(udev, &usb_template_cdce); + switch (usb_template) { + case 0: + err = usbd_temp_setup(udev, &usb_template_msc); + break; + default: + err = usbd_temp_setup(udev, &usb_template_cdce); + break; + } if (err) { PRINTFN(-1, ("setting up USB template failed\n")); goto done; ==== //depot/projects/usb/src/sys/dev/usb/usb_template.h#8 (text+ko) ==== @@ -89,5 +89,6 @@ /* prototypes */ extern const struct usb_temp_device_desc usb_template_cdce; +extern const struct usb_temp_device_desc usb_template_msc; /* Mass Storage Class */ #endif /* _USB_TEMPLATE_H_ */ ==== //depot/projects/usb/src/sys/modules/usb/Makefile#9 (text+ko) ==== @@ -17,6 +17,7 @@ usb_subr.c usb_subr.h \ usb_template.c usb_template.h \ usb_template_cdce.c \ + usb_template_msc.c \ usb_transfer.c \ usb_compat_linux.c \ From owner-p4-projects@FreeBSD.ORG Sun Mar 2 10:07:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EE9B1065678; Sun, 2 Mar 2008 10:07: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 13A851065673 for ; Sun, 2 Mar 2008 10:07:20 +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 083EA8FC23 for ; Sun, 2 Mar 2008 10:07:20 +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 m22A7JuB061228 for ; Sun, 2 Mar 2008 10:07:19 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22A7JHp061226 for perforce@freebsd.org; Sun, 2 Mar 2008 10:07:19 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 10:07:19 GMT Message-Id: <200803021007.m22A7JHp061226@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 136646 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, 02 Mar 2008 10:07:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=136646 Change 136646 by hselasky@hselasky_laptop001 on 2008/03/02 10:06:57 Bugfix. This commit is USB device side related. When clearing the stall we need to set the stall first to abort the current transfer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#119 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#119 (text+ko) ==== @@ -71,6 +71,7 @@ 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 struct usbd_xfer *usbd_get_curr_xfer(struct usbd_pipe *pipe); 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); @@ -3092,6 +3093,35 @@ } /*------------------------------------------------------------------------* + * usbd_get_curr_xfer - get current transfer on a pipe + * + * Returns: + * NULL: No transfer + * Else: Current USB transfer + *------------------------------------------------------------------------*/ +static struct usbd_xfer * +usbd_get_curr_xfer(struct usbd_pipe *pipe) +{ + struct usbd_xfer *xfer; + + xfer = LIST_FIRST(&(pipe->list_head)); + if (xfer) { + + /* search to the end of the LIST */ + while (LIST_NEXT(xfer, pipe_list)) { + xfer = LIST_NEXT(xfer, pipe_list); + } + + /* + * If "priv_mtx" is locked the "udev->bus->mtx" mutex + * can get dropped in "usbd_callback_wrapper()" ! + */ + mtx_assert(xfer->priv_mtx, MA_NOTOWNED); + } + return (xfer); +} + +/*------------------------------------------------------------------------* * usbd_handle_set_stall_sub * * This function is used to make a BULK or INTERRUPT endpoint @@ -3108,6 +3138,7 @@ struct usbd_pipe *pipe; struct usbd_xfer *xfer; uint8_t et; + uint8_t was_stalled; pipe = usbd_get_pipe_by_addr(udev, ea_val); if (pipe == NULL) { @@ -3134,48 +3165,48 @@ } mtx_lock(&(udev->bus->mtx)); - if (pipe->is_stalled == do_stall) { + /* store current stall state */ + was_stalled = pipe->is_stalled; + + /* check for no change */ + if (was_stalled && do_stall) { /* if the pipe is already stalled do nothing */ mtx_unlock(&(udev->bus->mtx)); PRINTFN(0, ("No change\n")); return (0); } - /* update stalled state */ - pipe->is_stalled = do_stall; + /* set stalled state */ + pipe->is_stalled = 1; - /* lookup the current USB transfer */ - xfer = LIST_FIRST(&(pipe->list_head)); - if (xfer) { - - /* search to the end of the LIST */ - while (LIST_NEXT(xfer, pipe_list)) { - xfer = LIST_NEXT(xfer, pipe_list); + if (do_stall || (!was_stalled)) { + if (!was_stalled) { + /* lookup the current USB transfer */ + xfer = usbd_get_curr_xfer(pipe); + } else { + xfer = NULL; } /* - * If "priv_mtx" is locked the "udev->bus->mtx" mutex - * can get dropped in "usbd_callback_wrapper()" ! - */ - mtx_assert(xfer->priv_mtx, MA_NOTOWNED); - } - if (do_stall) { - /* * If "xfer" is non-NULL the "set_stall" method will * complete the USB transfer like in case of a timeout * setting the error code "USBD_ERR_STALLED". */ (udev->bus->methods->set_stall) (udev, xfer, pipe); - } else { + } + if (!do_stall) { pipe->toggle_next = 0; /* reset data toggle */ + pipe->is_stalled = 0; /* clear stalled state */ (udev->bus->methods->clear_stall) (udev, pipe); - /* start up the first transfer, if any */ + /* lookup the current USB transfer */ + xfer = usbd_get_curr_xfer(pipe); + + /* start up the current transfer, if any */ if (xfer) { usbd_transfer_enqueue(xfer); } } - mtx_unlock(&(udev->bus->mtx)); return (0); } From owner-p4-projects@FreeBSD.ORG Sun Mar 2 10:21:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71A1B1065675; Sun, 2 Mar 2008 10:21:35 +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 314DF1065672 for ; Sun, 2 Mar 2008 10:21:35 +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 0BCC58FC18 for ; Sun, 2 Mar 2008 10:21:35 +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 m22ALYwt062896 for ; Sun, 2 Mar 2008 10:21:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22ALYAr062894 for perforce@freebsd.org; Sun, 2 Mar 2008 10:21:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 10:21:34 GMT Message-Id: <200803021021.m22ALYAr062894@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 136647 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, 02 Mar 2008 10:21:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=136647 Change 136647 by hselasky@hselasky_laptop001 on 2008/03/02 10:20:45 This commit is USB device side related. Add missing file. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_template_msc.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 2 12:27:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 806511065674; Sun, 2 Mar 2008 12:27: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 4000D1065672 for ; Sun, 2 Mar 2008 12:27:48 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 34D818FC1F for ; Sun, 2 Mar 2008 12:27:48 +0000 (UTC) (envelope-from raj@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 m22CRm7m074052 for ; Sun, 2 Mar 2008 12:27:48 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22CRm4Z074050 for perforce@freebsd.org; Sun, 2 Mar 2008 12:27:48 GMT (envelope-from raj@freebsd.org) Date: Sun, 2 Mar 2008 12:27:48 GMT Message-Id: <200803021227.m22CRm4Z074050@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136653 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, 02 Mar 2008 12:27:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=136653 Change 136653 by raj@raj_mimi on 2008/03/02 12:27:13 Unify MPC85XX option naming, make it belong to opt_platform.h. Affected files ... .. //depot/projects/e500/sys/conf/options.powerpc#7 edit .. //depot/projects/e500/sys/powerpc/conf/MPC85XX#3 edit .. //depot/projects/e500/sys/powerpc/conf/NOTES#9 edit Differences ... ==== //depot/projects/e500/sys/conf/options.powerpc#7 (text+ko) ==== @@ -11,8 +11,8 @@ GFB_NO_MODE_CHANGE opt_gfb.h POWERMAC opt_platform.h +MPC85XX opt_platform.h PSIM -MPC85xx SC_OFWFB opt_ofwfb.h ==== //depot/projects/e500/sys/powerpc/conf/MPC85XX#3 (text+ko) ==== @@ -27,7 +27,7 @@ options KDB options KTRACE options MD_ROOT -options MPC85xx +options MPC85XX options MSDOSFS options NFS_ROOT options NFSCLIENT ==== //depot/projects/e500/sys/powerpc/conf/NOTES#9 (text+ko) ==== @@ -15,7 +15,7 @@ options FPU_EMU -options MPC85xx +options MPC85XX options POWERMAC #NewWorld Apple PowerMacs options PSIM #GDB PSIM ppc simulator From owner-p4-projects@FreeBSD.ORG Sun Mar 2 12:32:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF2861065683; Sun, 2 Mar 2008 12:32: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 7DF931065673 for ; Sun, 2 Mar 2008 12:32:53 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 726768FC19 for ; Sun, 2 Mar 2008 12:32:53 +0000 (UTC) (envelope-from raj@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 m22CWrCc074201 for ; Sun, 2 Mar 2008 12:32:53 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22CWrYR074199 for perforce@freebsd.org; Sun, 2 Mar 2008 12:32:53 GMT (envelope-from raj@freebsd.org) Date: Sun, 2 Mar 2008 12:32:53 GMT Message-Id: <200803021232.m22CWrYR074199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136654 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, 02 Mar 2008 12:32:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=136654 Change 136654 by raj@raj_mimi on 2008/03/02 12:32:18 Consolidate uart_cpu_powerpc.c so that different platforms are supported per config option. This approach based on conditional compilation is temporary and will be turned into a more subtle dispatching technique in the future. Affected files ... .. //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#4 edit Differences ... ==== //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#4 (text) ==== @@ -27,24 +27,36 @@ #include __FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.4 2007/12/19 18:00:49 marcel Exp $"); +#include "opt_platform.h" + #include #include #include +#ifndef MPC85XX +#include +#include +#endif + #include #include +#ifdef MPC85XX bus_space_tag_t uart_bus_space_io = &bs_be_tag; bus_space_tag_t uart_bus_space_mem = &bs_be_tag; +#else +bus_space_tag_t uart_bus_space_io = &bs_le_tag; +bus_space_tag_t uart_bus_space_mem = &bs_le_tag; +#endif int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { - return ((b1->bsh == b2->bsh) ? 1 : 0); } +#ifdef MPC85XX int uart_cpu_getdev(int devtype, struct uart_devinfo *di) { @@ -59,3 +71,67 @@ /* Check the environment. */ return (uart_getenv(devtype, di, class)); } +#else +int +uart_cpu_getdev(int devtype, struct uart_devinfo *di) +{ + char buf[64]; + struct uart_class *class; + phandle_t input, opts; + int error; + + class = &uart_z8530_class; + if (class == NULL) + return (ENXIO); + + if ((opts = OF_finddevice("/options")) == -1) + return (ENXIO); + switch (devtype) { + case UART_DEV_CONSOLE: + if (OF_getprop(opts, "input-device", buf, sizeof(buf)) == -1) + return (ENXIO); + input = OF_finddevice(buf); + if (input == -1) + return (ENXIO); + if (OF_getprop(opts, "output-device", buf, sizeof(buf)) == -1) + return (ENXIO); + if (OF_finddevice(buf) != input) + return (ENXIO); + break; + case UART_DEV_DBGPORT: + if (!getenv_string("hw.uart.dbgport", buf, sizeof(buf))) + return (ENXIO); + input = OF_finddevice(buf); + if (input == -1) + return (ENXIO); + break; + default: + return (EINVAL); + } + + if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) + return (ENXIO); + if (strcmp(buf, "serial") != 0) + return (ENXIO); + if (OF_getprop(input, "name", buf, sizeof(buf)) == -1) + return (ENXIO); + if (strcmp(buf, "ch-a")) + return (ENXIO); + + error = OF_decode_addr(input, 0, &di->bas.bst, &di->bas.bsh); + if (error) + return (error); + + di->ops = uart_getops(class); + + di->bas.rclk = 230400; + di->bas.chan = 1; + di->bas.regshft = 4; + + di->baudrate = 0; + di->databits = 8; + di->stopbits = 1; + di->parity = UART_PARITY_NONE; + return (0); +} +#endif From owner-p4-projects@FreeBSD.ORG Sun Mar 2 12:49:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F4211065674; Sun, 2 Mar 2008 12:49: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 2E715106566B for ; Sun, 2 Mar 2008 12:49:10 +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 222038FC18 for ; Sun, 2 Mar 2008 12:49:10 +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 m22CnA21083790 for ; Sun, 2 Mar 2008 12:49:10 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22CnACe083788 for perforce@freebsd.org; Sun, 2 Mar 2008 12:49:10 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 12:49:10 GMT Message-Id: <200803021249.m22CnACe083788@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 136655 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, 02 Mar 2008 12:49:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=136655 Change 136655 by hselasky@hselasky_laptop001 on 2008/03/02 12:48:26 This commit is related to USB Device Side support. Bugfix: We need to reset the data toggle when configuring the device for non-control endpoints. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#8 (text+ko) ==== @@ -397,7 +397,8 @@ rx_stat = bus_space_read_1(td->io_tag, td->io_hdl, td->rx_stat_reg); - DPRINTFN(4, "rx_stat=0x%02x rem=%u\n", rx_stat, td->remainder); + DPRINTFN(4, "rx_stat=0x%02x rx_flag=0x%02x rem=%u\n", + rx_stat, rx_flag, td->remainder); if (rx_stat & (USS820_RXSTAT_RXSETUP | USS820_RXSTAT_RXSOVW | @@ -445,6 +446,8 @@ td->rx_count_high_reg) << 8); count &= 0x3FF; + DPRINTFN(4, "count=0x%04x\n", count); + /* verify the packet byte count */ if (count != td->max_packet_size) { if (count < td->max_packet_size) { @@ -1443,12 +1446,24 @@ USS820_WRITE_1(sc, USS820_EPINDEX, n); if ((ep_dir == UE_DIR_IN) || (ep_type == UE_CONTROL)) { + + if (ep_type != UE_CONTROL) { + /* reset data toggle */ + USS820_WRITE_1(sc, USS820_TXSTAT, + USS820_TXSTAT_TXSOVW); + } /* configure endpoint */ USS820_WRITE_1(sc, USS820_TXCON, temp | USS820_TXCON_TXCLR); USS820_WRITE_1(sc, USS820_TXCON, temp); } if ((ep_dir == UE_DIR_OUT) || (ep_type == UE_CONTROL)) { + + if (ep_type != UE_CONTROL) { + /* reset data toggle */ + uss820_dci_update_shared_1(sc, USS820_RXSTAT, + 0, USS820_RXSTAT_RXSOVW); + } /* configure endpoint */ USS820_WRITE_1(sc, USS820_RXCON, temp | USS820_RXCON_RXCLR); From owner-p4-projects@FreeBSD.ORG Sun Mar 2 13:12:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 629FE1065671; Sun, 2 Mar 2008 13:12: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 21ED1106566C for ; Sun, 2 Mar 2008 13:12:37 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 142C98FC28 for ; Sun, 2 Mar 2008 13:12:37 +0000 (UTC) (envelope-from raj@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 m22DCbFL085945 for ; Sun, 2 Mar 2008 13:12:37 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22DCarf085943 for perforce@freebsd.org; Sun, 2 Mar 2008 13:12:36 GMT (envelope-from raj@freebsd.org) Date: Sun, 2 Mar 2008 13:12:36 GMT Message-Id: <200803021312.m22DCarf085943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136657 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, 02 Mar 2008 13:12:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=136657 Change 136657 by raj@raj_mimi on 2008/03/02 13:12:02 Minor files.powerpc fix for 85xx PCI dependecies order. Affected files ... .. //depot/projects/e500/sys/conf/files.powerpc#20 edit Differences ... ==== //depot/projects/e500/sys/conf/files.powerpc#20 (text+ko) ==== @@ -100,7 +100,7 @@ powerpc/mpc85xx/nexus.c optional mpc85xx powerpc/mpc85xx/ocpbus.c optional mpc85xx powerpc/mpc85xx/opic.c optional mpc85xx -powerpc/mpc85xx/pci_ocp.c optional mpc85xx pci +powerpc/mpc85xx/pci_ocp.c optional pci mpc85xx powerpc/ofw/ofw_pci.c optional pci aim powerpc/ofw/ofw_pcib_pci.c optional pci aim powerpc/ofw/ofw_syscons.c optional sc aim From owner-p4-projects@FreeBSD.ORG Sun Mar 2 15:45:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E1DF1065670; Sun, 2 Mar 2008 15:45: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 8AC5F106566B for ; Sun, 2 Mar 2008 15:45:16 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 72ECB8FC21 for ; Sun, 2 Mar 2008 15:45:16 +0000 (UTC) (envelope-from raj@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 m22FjGAl094319 for ; Sun, 2 Mar 2008 15:45:16 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22FjGC9094317 for perforce@freebsd.org; Sun, 2 Mar 2008 15:45:16 GMT (envelope-from raj@freebsd.org) Date: Sun, 2 Mar 2008 15:45:16 GMT Message-Id: <200803021545.m22FjGC9094317@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136667 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, 02 Mar 2008 15:45:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=136667 Change 136667 by raj@raj_mimi on 2008/03/02 15:44:53 Correct some SPRs availability indication comments. Affected files ... .. //depot/projects/e500/sys/powerpc/include/spr.h#4 edit Differences ... ==== //depot/projects/e500/sys/powerpc/include/spr.h#4 (text+ko) ==== @@ -73,9 +73,9 @@ #define SPR_RTCL_W 0x015 /* .6. 601 RTC Lower - Write */ #define SPR_DEC 0x016 /* .68 DECrementer register */ #define SPR_SDR1 0x019 /* .68 Page table base address register */ -#define SPR_SRR0 0x01a /* 26 Save/Restore Register 0 */ -#define SPR_SRR1 0x01b /* 27 Save/Restore Register 1 */ -#define SPR_DECAR 0x036 /* 54 Decrementer auto reload */ +#define SPR_SRR0 0x01a /* 468 Save/Restore Register 0 */ +#define SPR_SRR1 0x01b /* 468 Save/Restore Register 1 */ +#define SPR_DECAR 0x036 /* ..8 Decrementer auto reload */ #define SPR_EIE 0x050 /* ..8 Exception Interrupt ??? */ #define SPR_EID 0x051 /* ..8 Exception Interrupt ??? */ #define SPR_NRI 0x052 /* ..8 Exception Interrupt ??? */ @@ -500,10 +500,10 @@ #define SPR_FPECR 0x3fe /* .6. Floating-Point Exception Cause Register */ /* Time Base Register declarations */ -#define TBR_TBL 0x10c /* 268 Time Base Lower - read */ -#define TBR_TBU 0x10d /* 269 Time Base Upper - read */ -#define TBR_TBWL 0x11c /* 284 Time Base Lower - supervisor, write */ -#define TBR_TBWU 0x11d /* 285 Time Base Upper - supervisor, write */ +#define TBR_TBL 0x10c /* 468 Time Base Lower - read */ +#define TBR_TBU 0x10d /* 468 Time Base Upper - read */ +#define TBR_TBWL 0x11c /* 468 Time Base Lower - supervisor, write */ +#define TBR_TBWU 0x11d /* 468 Time Base Upper - supervisor, write */ /* Performance counter declarations */ #define PMC_OVERFLOW 0x80000000 /* Counter has overflowed */ From owner-p4-projects@FreeBSD.ORG Sun Mar 2 17:19:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35F851065677; Sun, 2 Mar 2008 17:19: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 E92301065675 for ; Sun, 2 Mar 2008 17:19:54 +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 C973B8FC24 for ; Sun, 2 Mar 2008 17:19:54 +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 m22HJsMc009304 for ; Sun, 2 Mar 2008 17:19:54 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22HJs5c009302 for perforce@freebsd.org; Sun, 2 Mar 2008 17:19:54 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 17:19:54 GMT Message-Id: <200803021719.m22HJs5c009302@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 136676 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, 02 Mar 2008 17:19:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=136676 Change 136676 by marcel@marcel_cluster on 2008/03/02 17:19:15 IFC @136675 Affected files ... .. //depot/projects/e500/Makefile.inc1#10 integrate .. //depot/projects/e500/gnu/usr.bin/binutils/ar/Makefile#4 integrate .. //depot/projects/e500/gnu/usr.bin/binutils/ranlib/Makefile#4 integrate .. //depot/projects/e500/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/e500/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/e500/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/e500/lib/msun/Makefile#10 integrate .. //depot/projects/e500/lib/msun/Symbol.map#9 integrate .. //depot/projects/e500/lib/msun/amd64/Makefile.inc#5 integrate .. //depot/projects/e500/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/e500/lib/msun/i387/Makefile.inc#4 integrate .. //depot/projects/e500/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/e500/lib/msun/man/sqrt.3#3 integrate .. //depot/projects/e500/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/e500/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/e500/lib/msun/src/math.h#6 integrate .. //depot/projects/e500/sys/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/e500/sys/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/e500/sys/amd64/include/smp.h#4 integrate .. //depot/projects/e500/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/e500/sys/conf/NOTES#15 integrate .. //depot/projects/e500/sys/conf/files#16 integrate .. //depot/projects/e500/sys/conf/options#12 integrate .. //depot/projects/e500/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/e500/sys/i386/i386/identcpu.c#5 integrate .. //depot/projects/e500/sys/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/e500/sys/i386/include/smp.h#4 integrate .. //depot/projects/e500/sys/ia64/ia64/mp_machdep.c#4 integrate .. //depot/projects/e500/sys/kern/init_main.c#9 integrate .. //depot/projects/e500/sys/kern/init_sysent.c#5 integrate .. //depot/projects/e500/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/e500/sys/kern/kern_thread.c#11 integrate .. //depot/projects/e500/sys/kern/sched_4bsd.c#7 integrate .. //depot/projects/e500/sys/kern/sched_ule.c#9 integrate .. //depot/projects/e500/sys/kern/subr_smp.c#7 integrate .. //depot/projects/e500/sys/kern/syscalls.c#5 integrate .. //depot/projects/e500/sys/kern/syscalls.master#6 integrate .. //depot/projects/e500/sys/kern/systrace_args.c#5 integrate .. //depot/projects/e500/sys/modules/geom/Makefile#5 integrate .. //depot/projects/e500/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/e500/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/e500/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/e500/sys/netinet/tcp_input.c#9 integrate .. //depot/projects/e500/sys/netipsec/key.c#4 integrate .. //depot/projects/e500/sys/netipsec/key_debug.c#3 integrate .. //depot/projects/e500/sys/powerpc/aim/machdep.c#10 integrate .. //depot/projects/e500/sys/powerpc/aim/swtch.S#5 integrate .. //depot/projects/e500/sys/powerpc/aim/trap.c#8 integrate .. //depot/projects/e500/sys/powerpc/aim/trap_subr.S#6 integrate .. //depot/projects/e500/sys/powerpc/aim/vm_machdep.c#9 integrate .. //depot/projects/e500/sys/powerpc/include/frame.h#4 integrate .. //depot/projects/e500/sys/powerpc/include/hid.h#6 integrate .. //depot/projects/e500/sys/powerpc/include/kdb.h#5 integrate .. //depot/projects/e500/sys/powerpc/include/pcb.h#5 integrate .. //depot/projects/e500/sys/powerpc/include/pcpu.h#5 integrate .. //depot/projects/e500/sys/powerpc/powerpc/db_trace.c#5 integrate .. //depot/projects/e500/sys/powerpc/powerpc/genassym.c#8 integrate .. //depot/projects/e500/sys/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/e500/sys/sparc64/sparc64/mp_machdep.c#5 integrate .. //depot/projects/e500/sys/sun4v/sun4v/mp_machdep.c#4 integrate .. //depot/projects/e500/sys/sys/_types.h#2 integrate .. //depot/projects/e500/sys/sys/cpuset.h#1 branch .. //depot/projects/e500/sys/sys/proc.h#11 integrate .. //depot/projects/e500/sys/sys/sched.h#4 integrate .. //depot/projects/e500/sys/sys/smp.h#3 integrate .. //depot/projects/e500/sys/sys/syscall.h#5 integrate .. //depot/projects/e500/sys/sys/syscall.mk#5 integrate .. //depot/projects/e500/sys/sys/sysproto.h#5 integrate .. //depot/projects/e500/sys/sys/types.h#3 integrate .. //depot/projects/e500/sys/sys/vtoc.h#1 branch .. //depot/projects/e500/usr.bin/Makefile#7 integrate .. //depot/projects/e500/usr.bin/ar/write.c#3 integrate .. //depot/projects/e500/usr.bin/cpuset/Makefile#1 branch .. //depot/projects/e500/usr.bin/cpuset/cpuset.c#1 branch Differences ... ==== //depot/projects/e500/Makefile.inc1#10 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.600 2008/02/25 16:29:54 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.601 2008/03/02 11:10:46 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -203,6 +203,9 @@ GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \ GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac +.if ${OSRELDATE} < 700044 +CROSSENV+= AR=gnu-ar RANLIB=gnu-ranlib +.endif # bootstrap-tools stage BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -972,10 +975,6 @@ .endif .endif -.if make(cross-tools) && ${BOOTSTRAPPING} < 700044 -.MAKEFLAGS+= -D_WITH_GNUAR -.endif - cross-tools: .for _tool in \ gnu/usr.bin/binutils \ ==== //depot/projects/e500/gnu/usr.bin/binutils/ar/Makefile#4 (text+ko) ==== @@ -1,16 +1,14 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.17 2008/02/25 16:16:16 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.18 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if !defined(_WITH_GNUAR) PROGNAME= gnu-ar MAN= gnu-ar.1 gnu-ar.1: ar.1 cat ${.ALLSRC} > ${.TARGET} CLEANFILES+= gnu-ar.1 -.endif PROG= ar SRCS= ar.c not-ranlib.c ==== //depot/projects/e500/gnu/usr.bin/binutils/ranlib/Makefile#4 (text+ko) ==== @@ -1,16 +1,14 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.18 2008/02/25 16:16:16 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.19 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if !defined(_WITH_GNUAR) PROGNAME= gnu-ranlib MAN= gnu-ranlib.1 gnu-ranlib.1: ranlib.1 cat ${.ALLSRC} > ${.TARGET} CLEANFILES+= gnu-ranlib.1 -.endif PROG= ranlib SRCS= ar.c is-ranlib.c ==== //depot/projects/e500/lib/libc/sys/Symbol.map#6 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.9 2007/08/22 01:56:35 davidxu Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.10 2008/03/02 07:39:22 jeff Exp $ */ /* @@ -66,6 +66,11 @@ clock_settime; close; connect; + cpuset; + cpuset_getid; + cpuset_setid; + cpuset_getaffinity; + cpuset_setaffinity; dup; dup2; eaccess; @@ -450,6 +455,16 @@ __sys_close; _connect; __sys_connect; + __cpuset; + __sys_cpuset; + __cpuset_getid; + __sys_cpuset_getid; + __cpuset_setid; + __sys_cpuset_setid; + __cpuset_getaffinity; + __sys_cpuset_getaffinity; + __cpuset_setaffinity; + __sys_cpuset_setaffinity; _dup; __sys_dup; _dup2; ==== //depot/projects/e500/lib/libelf/gelf_rel.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/gelf_rel.c,v 1.1 2006/11/11 17:16:33 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/gelf_rel.c,v 1.2 2008/03/02 06:33:10 jkoshy Exp $"); #include @@ -78,7 +78,9 @@ rel32 = (Elf32_Rel *) d->d_buf + ndx; dst->r_offset = (Elf64_Addr) rel32->r_offset; - dst->r_info = (Elf64_Xword) rel32->r_info; + dst->r_info = ELF64_R_INFO( + (Elf64_Xword) ELF32_R_SYM(rel32->r_info), + ELF32_R_TYPE(rel32->r_info)); } else { @@ -133,7 +135,14 @@ rel32 = (Elf32_Rel *) d->d_buf + ndx; LIBELF_COPY_U32(rel32, dr, r_offset); - LIBELF_COPY_U32(rel32, dr, r_info); + + if (ELF64_R_SYM(dr->r_info) > ELF32_R_SYM(~0UL) || + ELF64_R_TYPE(dr->r_info) > ELF32_R_TYPE(~0U)) { + LIBELF_SET_ERROR(RANGE, 0); + return (0); + } + rel32->r_info = ELF32_R_INFO(ELF64_R_SYM(dr->r_info), + ELF64_R_TYPE(dr->r_info)); } else { rel64 = (Elf64_Rel *) d->d_buf + ndx; ==== //depot/projects/e500/lib/libelf/gelf_rela.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/gelf_rela.c,v 1.1 2006/11/11 17:16:33 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/gelf_rela.c,v 1.2 2008/03/02 06:33:10 jkoshy Exp $"); #include @@ -78,7 +78,9 @@ rela32 = (Elf32_Rela *) d->d_buf + ndx; dst->r_offset = (Elf64_Addr) rela32->r_offset; - dst->r_info = (Elf64_Xword) rela32->r_info; + dst->r_info = ELF64_R_INFO( + (Elf64_Xword) ELF32_R_SYM(rela32->r_info), + ELF32_R_TYPE(rela32->r_info)); dst->r_addend = (Elf64_Sxword) rela32->r_addend; } else { @@ -134,7 +136,15 @@ rela32 = (Elf32_Rela *) d->d_buf + ndx; LIBELF_COPY_U32(rela32, dr, r_offset); - LIBELF_COPY_U32(rela32, dr, r_info); + + if (ELF64_R_SYM(dr->r_info) > ELF32_R_SYM(~0UL) || + ELF64_R_TYPE(dr->r_info) > ELF32_R_TYPE(~0U)) { + LIBELF_SET_ERROR(RANGE, 0); + return (0); + } + rela32->r_info = ELF32_R_INFO(ELF64_R_SYM(dr->r_info), + ELF64_R_TYPE(dr->r_info)); + LIBELF_COPY_S32(rela32, dr, r_addend); } else { rela64 = (Elf64_Rela *) d->d_buf + ndx; ==== //depot/projects/e500/lib/msun/Makefile#10 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.1beta 93/09/24 -# $FreeBSD: src/lib/msun/Makefile,v 1.89 2008/02/18 17:27:11 das Exp $ +# $FreeBSD: src/lib/msun/Makefile,v 1.90 2008/03/02 01:48:17 das Exp $ # # ==================================================== # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -79,7 +79,7 @@ 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+= k_cosl.c k_sinl.c k_tanl.c s_ceill.c s_cosl.c \ +COMMON_SRCS+= e_sqrtl.c k_cosl.c k_sinl.c k_tanl.c s_ceill.c s_cosl.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_sinl.c s_tanl.c s_truncl.c @@ -171,7 +171,7 @@ MLINKS+=scalbn.3 scalbnf.3 scalbn.3 scalbnl.3 MLINKS+=sin.3 sinf.3 sin.3 sinl.3 MLINKS+=sinh.3 sinhf.3 -MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3 +MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3 sqrt.3 sqrtl.3 MLINKS+=tan.3 tanf.3 tan.3 tanl.3 MLINKS+=tanh.3 tanhf.3 MLINKS+=trunc.3 truncf.3 trunc.3 truncl.3 ==== //depot/projects/e500/lib/msun/Symbol.map#9 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/msun/Symbol.map,v 1.14 2008/02/18 17:27:11 das Exp $ + * $FreeBSD: src/lib/msun/Symbol.map,v 1.15 2008/03/02 01:48:17 das Exp $ */ /* 7.0-CURRENT */ @@ -202,4 +202,5 @@ cosl; tanl; tgammaf; + sqrtl; }; ==== //depot/projects/e500/lib/msun/amd64/Makefile.inc#5 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/lib/msun/amd64/Makefile.inc,v 1.8 2008/02/13 06:01:48 bde Exp $ +# $FreeBSD: src/lib/msun/amd64/Makefile.inc,v 1.9 2008/03/02 01:48:17 das Exp $ -ARCH_SRCS = e_sqrt.S e_sqrtf.S s_llrint.S s_llrintf.S s_llrintl.S \ +ARCH_SRCS = e_sqrt.S e_sqrtf.S e_sqrtl.S s_llrint.S s_llrintf.S s_llrintl.S \ s_logbl.S s_lrint.S s_lrintf.S s_lrintl.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 ==== //depot/projects/e500/lib/msun/i387/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/msun/i387/Makefile.inc,v 1.11 2008/01/14 02:12:07 das Exp $ +# $FreeBSD: src/lib/msun/i387/Makefile.inc,v 1.12 2008/03/02 01:48:17 das Exp $ ARCH_SRCS = e_exp.S e_fmod.S e_log.S e_log10.S \ e_remainder.S e_sqrt.S s_ceil.S s_copysign.S \ @@ -13,7 +13,7 @@ s_remquof.S s_rintf.S s_scalbnf.S s_significandf.S s_truncf.S # long double counterparts -ARCH_SRCS+= s_ceill.S s_copysignl.S s_floorl.S s_llrintl.S \ +ARCH_SRCS+= e_sqrtl.S s_ceill.S s_copysignl.S s_floorl.S s_llrintl.S \ s_logbl.S s_lrintl.S s_rintl.S s_scalbnl.S s_truncl.S LDBL_PREC = 64 # XXX 64-bit format, but truncated to 53 bits ==== //depot/projects/e500/lib/msun/man/sqrt.3#3 (text+ko) ==== @@ -26,16 +26,17 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sqrt.3 6.4 (Berkeley) 5/6/91 -.\" $FreeBSD: src/lib/msun/man/sqrt.3,v 1.14 2007/12/14 07:53:09 das Exp $ +.\" $FreeBSD: src/lib/msun/man/sqrt.3,v 1.15 2008/03/02 01:48:17 das Exp $ .\" -.Dd December 14, 2007 +.Dd March 1, 2008 .Dt SQRT 3 .Os .Sh NAME .Nm cbrt , .Nm cbrtf , .Nm sqrt , -.Nm sqrtf +.Nm sqrtf , +.Nm sqrtl .Nd cube root and square root functions .Sh LIBRARY .Lb libm @@ -49,6 +50,8 @@ .Fn sqrt "double x" .Ft float .Fn sqrtf "float x" +.Ft long double +.Fn sqrtl "long double x" .Sh DESCRIPTION The .Fn cbrt @@ -59,9 +62,10 @@ .Ar x . .Pp The -.Fn sqrt -and the -.Fn sqrtf +.Fn sqrt , +.Fn sqrtf , +and +.Fn sqrtl functions compute the non-negative square root of x. .Sh RETURN VALUES @@ -71,9 +75,10 @@ .Fn cbrtf functions return the requested cube root. The -.Fn sqrt -and the -.Fn sqrtf +.Fn sqrt , +.Fn sqrtf , +and +.Fn sqrtl functions return the requested square root unless an error occurs. An attempt to take the @@ -90,8 +95,9 @@ .Fn cbrt , .Fn cbrtf , .Fn sqrt , +.Fn sqrtf , and -.Fn sqrtf +.Fn sqrtl functions conform to .St -isoC-99 . .Sh HISTORY @@ -99,3 +105,7 @@ .Fn cbrt function appeared in .Bx 4.3 . +The +.Fn sqrtl +function appeared in +.Fx 8.0 . ==== //depot/projects/e500/lib/msun/src/e_sqrt.c#2 (text+ko) ==== @@ -11,9 +11,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_sqrt.c,v 1.10 2005/02/04 18:26:06 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/e_sqrt.c,v 1.11 2008/03/02 01:47:58 das Exp $"); /* __ieee754_sqrt(x) * Return correctly rounded sqrt. @@ -85,6 +84,8 @@ *--------------- */ +#include + #include "math.h" #include "math_private.h" @@ -187,6 +188,10 @@ return z; } +#if (LDBL_MANT_DIG == 53) +__weak_reference(sqrt, sqrtl); +#endif + /* Other methods (use floating-point arithmetic) ------------- ==== //depot/projects/e500/lib/msun/src/math.h#6 (text+ko) ==== @@ -11,7 +11,7 @@ /* * from: @(#)fdlibm.h 5.1 93/09/24 - * $FreeBSD: src/lib/msun/src/math.h,v 1.69 2008/02/18 17:27:10 das Exp $ + * $FreeBSD: src/lib/msun/src/math.h,v 1.70 2008/03/02 01:47:58 das Exp $ */ #ifndef _MATH_H_ @@ -468,8 +468,8 @@ long double sinhl(long double); #endif long double sinl(long double); +long double sqrtl(long double); #if 0 -long double sqrtl(long double); long double tanhl(long double); #endif long double tanl(long double); ==== //depot/projects/e500/sys/amd64/amd64/identcpu.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.157 2008/02/02 23:17:27 das Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.158 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" @@ -97,6 +97,10 @@ { "Sledgehammer", CPUCLASS_K8 }, /* CPU_SLEDGEHAMMER */ }; +int cpu_cores; +int cpu_logical; + + extern int pq_l2size; extern int pq_l2nways; @@ -360,11 +364,13 @@ if ((regs[0] & 0x1f) != 0) cmp = ((regs[0] >> 26) & 0x3f) + 1; } + cpu_cores = cmp; + cpu_logical = htt / cmp; if (cmp > 1) printf("\n Cores per package: %d", cmp); if ((htt / cmp) > 1) printf("\n Logical CPUs per core: %d", - htt / cmp); + cpu_logical); } } /* Avoid ugly blank lines: only print newline when we have to. */ ==== //depot/projects/e500/sys/amd64/amd64/mp_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.288 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -83,12 +83,6 @@ extern struct pcpu __pcpu[]; -/* - * CPU topology map datastructures for HTT. - */ -static struct cpu_group mp_groups[MAXCPU]; -static struct cpu_top mp_top; - /* AP uses this during bootstrap. Do not staticize. */ char *bootSTK; static int bootAP; @@ -182,40 +176,38 @@ mem_range_softc.mr_op->initAP(&mem_range_softc); } -void -mp_topology(void) +struct cpu_group * +cpu_topo(void) { - struct cpu_group *group; - int apic_id; - int groups; - int cpu; - - /* Build the smp_topology map. */ - /* Nothing to do if there is no HTT support. */ - if (hyperthreading_cpus <= 1) - return; - group = &mp_groups[0]; - groups = 1; - for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { - if (!cpu_info[apic_id].cpu_present) - continue; - /* - * If the current group has members and we're not a logical - * cpu, create a new group. - */ - if (group->cg_count != 0 && - (apic_id % hyperthreading_cpus) == 0) { - group++; - groups++; - } - group->cg_count++; - group->cg_mask |= 1 << cpu; - cpu++; + if (cpu_cores == 0) + cpu_cores = 1; + if (cpu_logical == 0) + cpu_logical = 1; + if (mp_ncpus % (cpu_cores * cpu_logical) != 0) { + printf("WARNING: Non-uniform processors.\n"); + printf("WARNING: Using suboptimal topology.\n"); + return (smp_topo_none()); } - - mp_top.ct_count = groups; - mp_top.ct_group = mp_groups; - smp_topology = &mp_top; + /* + * No multi-core or hyper-threaded. + */ + if (cpu_logical * cpu_cores == 1) + return (smp_topo_none()); + /* + * Only HTT no multi-core. + */ + if (cpu_logical > 1 && cpu_cores == 1) + return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); + /* + * Only multi-core no HTT. + */ + if (cpu_cores > 1 && cpu_logical == 1) + return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0)); + /* + * Both HTT and multi-core. + */ + return (smp_topo_2level(CG_SHARE_NONE, cpu_cores, + CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); } /* @@ -409,9 +401,6 @@ } set_interrupt_apic_ids(); - - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); } ==== //depot/projects/e500/sys/amd64/include/smp.h#4 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.92 2008/03/02 07:58:40 jeff Exp $ * */ @@ -36,6 +36,10 @@ extern struct pcb stoppcbs[]; extern int cpu_apic_ids[]; +/* global data in identcpu.c */ +extern int cpu_cores; +extern int cpu_logical; + /* IPI handlers */ inthand_t IDTVEC(invltlb), /* TLB shootdowns - global */ @@ -57,7 +61,6 @@ void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); -void mp_topology(void); void smp_cache_flush(void); void smp_invlpg(vm_offset_t addr); void smp_masked_invlpg(u_int mask, vm_offset_t addr); ==== //depot/projects/e500/sys/compat/linux/linux_futex.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.10 2007/05/23 08:33:05 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.11 2008/03/02 14:00:50 kib Exp $"); #if 0 __KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $"); #endif @@ -327,7 +327,7 @@ default: printf("linux_sys_futex: unknown op %d\n", args->op); - break; + return (ENOSYS); } return (0); } ==== //depot/projects/e500/sys/conf/NOTES#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1471 2008/03/01 01:09:35 jfv Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1472 2008/03/02 06:24:29 marcel Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -149,6 +149,7 @@ options GEOM_PART_BSD # BSD disklabel options GEOM_PART_GPT # GPT partitioning options GEOM_PART_MBR # MBR partitioning +options GEOM_PART_VTOC8 # SMI VTOC8 disk label options GEOM_PC98 # NEC PC9800 partitioning options GEOM_RAID3 # RAID3 functionality. options GEOM_SHSEC # Shared secret. ==== //depot/projects/e500/sys/conf/files#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1273 2008/03/01 03:58:49 jfv Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1275 2008/03/02 07:39:21 jeff Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1328,6 +1328,7 @@ geom/part/g_part_bsd.c optional geom_part_bsd geom/part/g_part_gpt.c optional geom_part_gpt geom/part/g_part_mbr.c optional geom_part_mbr +geom/part/g_part_vtoc8.c optional geom_part_vtoc8 geom/raid3/g_raid3.c optional geom_raid3 geom/raid3/g_raid3_ctl.c optional geom_raid3 geom/shsec/g_shsec.c optional geom_shsec @@ -1445,6 +1446,7 @@ kern/kern_condvar.c standard kern/kern_conf.c standard kern/kern_cpu.c standard +kern/kern_cpuset.c standard kern/kern_context.c standard kern/kern_descrip.c standard kern/kern_environment.c standard ==== //depot/projects/e500/sys/conf/options#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.618 2008/02/20 07:50:13 thompsa Exp $ +# $FreeBSD: src/sys/conf/options,v 1.619 2008/03/02 00:52:49 marcel Exp $ # # On the handling of kernel options # @@ -94,6 +94,7 @@ GEOM_PART_BSD opt_geom.h GEOM_PART_GPT opt_geom.h GEOM_PART_MBR opt_geom.h +GEOM_PART_VTOC8 opt_geom.h GEOM_PC98 opt_geom.h GEOM_RAID3 opt_geom.h GEOM_SHSEC opt_geom.h ==== //depot/projects/e500/sys/i386/i386/identcpu.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.183 2008/02/29 19:18:09 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.184 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" @@ -142,6 +142,9 @@ { "Pentium 4", CPUCLASS_686 }, /* CPU_P4 */ }; +int cpu_cores; +int cpu_logical; + #if defined(I586_CPU) && !defined(NO_F00F_HACK) int has_f00f_bug = 0; /* Initialized so that it can be patched. */ #endif @@ -857,11 +860,13 @@ if ((regs[0] & 0x1f) != 0) cmp = ((regs[0] >> 26) & 0x3f) + 1; } + cpu_cores = cmp; + cpu_logical = htt / cmp; if (cmp > 1) printf("\n Cores per package: %d", cmp); if ((htt / cmp) > 1) printf("\n Logical CPUs per core: %d", - htt / cmp); + cpu_logical); } } else if (strcmp(cpu_vendor, "CyrixInstead") == 0) { printf(" DIR=0x%04x", cyrix_did); ==== //depot/projects/e500/sys/i386/i386/mp_machdep.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.282 2007/11/13 23:00:24 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.283 2008/03/02 07:58:40 jeff Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -135,12 +135,6 @@ extern struct pcpu __pcpu[]; -/* - * CPU topology map datastructures for HTT. - */ -static struct cpu_group mp_groups[MAXCPU]; -static struct cpu_top mp_top; - /* AP uses this during bootstrap. Do not staticize. */ char *bootSTK; static int bootAP; @@ -238,40 +232,38 @@ mem_range_softc.mr_op->initAP(&mem_range_softc); } -void -mp_topology(void) +struct cpu_group * +cpu_topo(void) { - struct cpu_group *group; - int apic_id; - int groups; - int cpu; - - /* Build the smp_topology map. */ - /* Nothing to do if there is no HTT support. */ - if (hyperthreading_cpus <= 1) - return; - group = &mp_groups[0]; - groups = 1; - for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { - if (!cpu_info[apic_id].cpu_present) - continue; - /* - * If the current group has members and we're not a logical - * cpu, create a new group. - */ - if (group->cg_count != 0 && - (apic_id % hyperthreading_cpus) == 0) { - group++; - groups++; - } - group->cg_count++; - group->cg_mask |= 1 << cpu; - cpu++; + if (cpu_cores == 0) + cpu_cores = 1; + if (cpu_logical == 0) + cpu_logical = 1; + if (mp_ncpus % (cpu_cores * cpu_logical) != 0) { + printf("WARNING: Non-uniform processors.\n"); + printf("WARNING: Using suboptimal topology.\n"); + return (smp_topo_none()); } - - mp_top.ct_count = groups; - mp_top.ct_group = mp_groups; - smp_topology = &mp_top; + /* + * No multi-core or hyper-threaded. + */ + if (cpu_logical * cpu_cores == 1) + return (smp_topo_none()); + /* + * Only HTT no multi-core. + */ + if (cpu_logical > 1 && cpu_cores == 1) + return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); + /* + * Only multi-core no HTT. + */ + if (cpu_cores > 1 && cpu_logical == 1) + return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0)); + /* + * Both HTT and multi-core. + */ + return (smp_topo_2level(CG_SHARE_NONE, cpu_cores, + CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); } @@ -459,9 +451,6 @@ } set_interrupt_apic_ids(); - - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); } ==== //depot/projects/e500/sys/i386/include/smp.h#4 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/i386/include/smp.h,v 1.90 2007/09/20 20:38:43 attilio Exp $ + * $FreeBSD: src/sys/i386/include/smp.h,v 1.91 2008/03/02 07:58:41 jeff Exp $ * */ @@ -45,6 +45,10 @@ extern u_long *ipi_lazypmap_counts[MAXCPU]; #endif +/* global data in identcpu.c */ +extern int cpu_cores; +extern int cpu_logical; + /* IPI handlers */ inthand_t IDTVEC(invltlb), /* TLB shootdowns - global */ @@ -67,7 +71,6 @@ void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); -void mp_topology(void); void smp_cache_flush(void); void smp_invlpg(vm_offset_t addr); void smp_masked_invlpg(u_int mask, vm_offset_t addr); ==== //depot/projects/e500/sys/ia64/ia64/mp_machdep.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.67 2007/08/06 05:15:57 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.68 2008/03/02 07:58:41 jeff Exp $"); #include "opt_kstack_pages.h" @@ -84,6 +84,13 @@ static void cpu_mp_unleash(void *); +struct cpu_group * +cpu_topo(void) +{ + + return smp_topo_none(); +} + void ia64_ap_startup(void) { ==== //depot/projects/e500/sys/kern/init_main.c#9 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.290 2008/01/10 22:11:20 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.291 2008/03/02 07:39:22 jeff Exp $"); #include "opt_ddb.h" #include "opt_init_path.h" @@ -73,6 +73,7 @@ #include #include #include +#include #include @@ -430,6 +431,7 @@ td->td_base_pri = PUSER; td->td_oncpu = 0; td->td_flags = TDF_INMEM|TDP_KTHREAD; + td->td_cpuset = cpuset_thread0(); p->p_peers = 0; p->p_leader = p; ==== //depot/projects/e500/sys/kern/init_sysent.c#5 (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.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 + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.234 2008/03/02 07:41:10 jeff Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp */ #include "opt_compat.h" @@ -513,4 +513,9 @@ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */ { AS(shm_open_args), (sy_call_t *)shm_open, AUE_SHMOPEN, NULL, 0, 0 }, /* 482 = shm_open */ { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0 }, /* 483 = shm_unlink */ + { AS(cpuset_args), (sy_call_t *)cpuset, AUE_NULL, NULL, 0, 0 }, /* 484 = cpuset */ + { AS(cpuset_setid_args), (sy_call_t *)cpuset_setid, AUE_NULL, NULL, 0, 0 }, /* 485 = cpuset_setid */ + { AS(cpuset_getid_args), (sy_call_t *)cpuset_getid, AUE_NULL, NULL, 0, 0 }, /* 486 = cpuset_getid */ + { AS(cpuset_getaffinity_args), (sy_call_t *)cpuset_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 487 = cpuset_getaffinity */ + { AS(cpuset_setaffinity_args), (sy_call_t *)cpuset_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 488 = cpuset_setaffinity */ }; ==== //depot/projects/e500/sys/kern/kern_thread.c#11 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.265 2007/12/22 04:56:48 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.266 2008/03/02 07:39:22 jeff Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 2 17:27:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 471F61065674; Sun, 2 Mar 2008 17:27: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 0505A1065670 for ; Sun, 2 Mar 2008 17:27:03 +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 D8C4C8FC15 for ; Sun, 2 Mar 2008 17:27:02 +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 m22HR2B9009579 for ; Sun, 2 Mar 2008 17:27:02 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22HR2Cs009577 for perforce@freebsd.org; Sun, 2 Mar 2008 17:27:02 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 17:27:02 GMT Message-Id: <200803021727.m22HR2Cs009577@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 136677 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, 02 Mar 2008 17:27:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=136677 Change 136677 by marcel@marcel_cluster on 2008/03/02 17:26:19 IFC @136675 Affected files ... .. //depot/projects/powerpc/Makefile.inc1#13 integrate .. //depot/projects/powerpc/UPDATING#16 integrate .. //depot/projects/powerpc/bin/sh/cd.c#2 integrate .. //depot/projects/powerpc/contrib/tcpdump/print-802_11.c#4 integrate .. //depot/projects/powerpc/games/fortune/datfiles/fortunes#11 integrate .. //depot/projects/powerpc/gnu/lib/libgcc/Makefile#4 integrate .. //depot/projects/powerpc/gnu/usr.bin/binutils/ar/Makefile#3 integrate .. //depot/projects/powerpc/gnu/usr.bin/binutils/ranlib/Makefile#3 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kgdb.h#7 integrate .. //depot/projects/powerpc/include/unistd.h#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_endian.h#2 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_zip.c#10 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_disk.c#9 integrate .. //depot/projects/powerpc/lib/libc/gen/sysconf.c#5 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/flt_rounds.c#2 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/fpgetmask.c#2 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/fpgetround.c#2 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/fpgetsticky.c#2 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/fpsetmask.c#2 integrate .. //depot/projects/powerpc/lib/libc/powerpc/gen/fpsetround.c#2 integrate .. //depot/projects/powerpc/lib/libc/stdio/fdopen.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdio/fopen.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdio/freopen.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdlib/getenv.c#7 integrate .. //depot/projects/powerpc/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/powerpc/lib/libc/sys/clock_gettime.2#3 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_close.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_getattr.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_notify.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_open.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_receive.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_send.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/mq_setattr.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/readlink.2#4 integrate .. //depot/projects/powerpc/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/powerpc/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/powerpc/lib/msun/Makefile#9 integrate .. //depot/projects/powerpc/lib/msun/Symbol.map#9 integrate .. //depot/projects/powerpc/lib/msun/amd64/Makefile.inc#5 integrate .. //depot/projects/powerpc/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/powerpc/lib/msun/i387/Makefile.inc#4 integrate .. //depot/projects/powerpc/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/powerpc/lib/msun/man/sqrt.3#4 integrate .. //depot/projects/powerpc/lib/msun/powerpc/fenv.h#2 integrate .. //depot/projects/powerpc/lib/msun/src/e_rem_pio2.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/e_rem_pio2f.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/powerpc/lib/msun/src/k_rem_pio2.c#5 integrate .. //depot/projects/powerpc/lib/msun/src/math.h#6 integrate .. //depot/projects/powerpc/lib/msun/src/math_private.h#5 integrate .. //depot/projects/powerpc/lib/msun/src/s_cosf.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_sinf.c#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_tanf.c#3 integrate .. //depot/projects/powerpc/sbin/fsck_ffs/pass1.c#2 integrate .. //depot/projects/powerpc/sbin/fsck_ffs/pass2.c#2 integrate .. //depot/projects/powerpc/sbin/fsck_ffs/setup.c#2 integrate .. //depot/projects/powerpc/sbin/ifconfig/ifconfig.8#13 integrate .. //depot/projects/powerpc/sbin/ipfw/ipfw.8#11 integrate .. //depot/projects/powerpc/sbin/ipfw/ipfw2.c#10 integrate .. //depot/projects/powerpc/sbin/ping6/ping6.c#5 integrate .. //depot/projects/powerpc/share/man/man4/Makefile#18 integrate .. //depot/projects/powerpc/share/man/man4/ng_nat.4#3 integrate .. //depot/projects/powerpc/share/man/man4/uchcom.4#1 branch .. //depot/projects/powerpc/share/man/man4/ucom.4#3 integrate .. //depot/projects/powerpc/share/man/man4/ucycom.4#2 integrate .. //depot/projects/powerpc/share/man/man4/uscanner.4#3 integrate .. //depot/projects/powerpc/share/man/man9/Makefile#12 integrate .. //depot/projects/powerpc/share/man/man9/VOP_LOCK.9#3 integrate .. //depot/projects/powerpc/share/man/man9/insmntque.9#1 branch .. //depot/projects/powerpc/share/man/man9/lock.9#7 integrate .. //depot/projects/powerpc/share/man/man9/vfs_mountedfrom.9#1 branch .. //depot/projects/powerpc/share/man/man9/vgone.9#2 integrate .. //depot/projects/powerpc/share/man/man9/vhold.9#3 integrate .. //depot/projects/powerpc/share/man/man9/vput.9#2 integrate .. //depot/projects/powerpc/share/man/man9/vref.9#2 integrate .. //depot/projects/powerpc/share/man/man9/vrefcnt.9#1 branch .. //depot/projects/powerpc/share/man/man9/vrele.9#2 integrate .. //depot/projects/powerpc/share/misc/bsd-family-tree#10 integrate .. //depot/projects/powerpc/share/misc/committers-doc.dot#6 integrate .. //depot/projects/powerpc/share/misc/committers-ports.dot#8 integrate .. //depot/projects/powerpc/share/mk/bsd.cpu.mk#5 integrate .. //depot/projects/powerpc/sys/amd64/amd64/identcpu.c#7 integrate .. //depot/projects/powerpc/sys/amd64/amd64/mp_machdep.c#8 integrate .. //depot/projects/powerpc/sys/amd64/include/smp.h#5 integrate .. //depot/projects/powerpc/sys/arm/include/_bus.h#2 integrate .. //depot/projects/powerpc/sys/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/powerpc/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/powerpc/sys/boot/i386/btx/btx/Makefile#4 integrate .. //depot/projects/powerpc/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/powerpc/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/powerpc/sys/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/powerpc/sys/boot/pc98/btx/btx/Makefile#4 integrate .. //depot/projects/powerpc/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/powerpc/sys/boot/pc98/libpc98/Makefile#5 integrate .. //depot/projects/powerpc/sys/boot/pc98/libpc98/biosdisk.c#5 integrate .. //depot/projects/powerpc/sys/cam/cam_xpt.c#15 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_futex.c#4 integrate .. //depot/projects/powerpc/sys/conf/NOTES#20 integrate .. //depot/projects/powerpc/sys/conf/files#23 integrate .. //depot/projects/powerpc/sys/conf/ldscript.powerpc#4 integrate .. //depot/projects/powerpc/sys/conf/options#23 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/projects/powerpc/sys/dev/atkbdc/psm.c#6 integrate .. //depot/projects/powerpc/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_main.c#13 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_sge.c#13 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/powerpc/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/powerpc/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/powerpc/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/powerpc/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/powerpc/sys/dev/cxgb/t3fw-5.0.0.bin.gz.uu#2 delete .. //depot/projects/powerpc/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/powerpc/sys/dev/em/LICENSE#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_80003es2lan.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_80003es2lan.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82540.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82541.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82541.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82542.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82543.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82543.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82571.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82571.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_82575.c#3 delete .. //depot/projects/powerpc/sys/dev/em/e1000_82575.h#3 delete .. //depot/projects/powerpc/sys/dev/em/e1000_api.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_api.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_defines.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_hw.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_ich8lan.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_ich8lan.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_mac.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_mac.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_manage.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_manage.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_nvm.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_nvm.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_osdep.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_phy.c#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_phy.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/e1000_regs.h#3 integrate .. //depot/projects/powerpc/sys/dev/em/if_em.c#9 integrate .. //depot/projects/powerpc/sys/dev/em/if_em.h#6 integrate .. //depot/projects/powerpc/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/powerpc/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/powerpc/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/powerpc/sys/dev/md/md.c#10 integrate .. //depot/projects/powerpc/sys/dev/msk/if_msk.c#12 integrate .. //depot/projects/powerpc/sys/dev/msk/if_mskreg.h#6 integrate .. //depot/projects/powerpc/sys/dev/usb/ehci.c#6 integrate .. //depot/projects/powerpc/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/powerpc/sys/dev/usb/usbdevs#17 integrate .. //depot/projects/powerpc/sys/dev/usb/uscanner.c#7 integrate .. //depot/projects/powerpc/sys/fs/coda/TODO#3 integrate .. //depot/projects/powerpc/sys/fs/devfs/devfs_vnops.c#14 integrate .. //depot/projects/powerpc/sys/fs/fdescfs/fdesc_vnops.c#8 integrate .. //depot/projects/powerpc/sys/fs/nullfs/null_vfsops.c#10 integrate .. //depot/projects/powerpc/sys/fs/nullfs/null_vnops.c#11 integrate .. //depot/projects/powerpc/sys/fs/nwfs/nwfs_subr.c#5 integrate .. //depot/projects/powerpc/sys/fs/smbfs/smbfs_io.c#8 integrate .. //depot/projects/powerpc/sys/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/powerpc/sys/fs/tmpfs/tmpfs_vnops.c#5 integrate .. //depot/projects/powerpc/sys/fs/unionfs/union_vfsops.c#9 integrate .. //depot/projects/powerpc/sys/fs/unionfs/union_vnops.c#12 integrate .. //depot/projects/powerpc/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/powerpc/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/powerpc/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/powerpc/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/powerpc/sys/i386/i386/identcpu.c#10 integrate .. //depot/projects/powerpc/sys/i386/i386/initcpu.c#6 integrate .. //depot/projects/powerpc/sys/i386/i386/mp_machdep.c#13 integrate .. //depot/projects/powerpc/sys/i386/include/smp.h#7 integrate .. //depot/projects/powerpc/sys/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/powerpc/sys/kern/init_main.c#14 integrate .. //depot/projects/powerpc/sys/kern/init_sysent.c#10 integrate .. //depot/projects/powerpc/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/powerpc/sys/kern/kern_lock.c#11 integrate .. //depot/projects/powerpc/sys/kern/kern_thread.c#13 integrate .. //depot/projects/powerpc/sys/kern/sched_4bsd.c#11 integrate .. //depot/projects/powerpc/sys/kern/sched_ule.c#14 integrate .. //depot/projects/powerpc/sys/kern/subr_smp.c#9 integrate .. //depot/projects/powerpc/sys/kern/syscalls.c#10 integrate .. //depot/projects/powerpc/sys/kern/syscalls.master#11 integrate .. //depot/projects/powerpc/sys/kern/systrace_args.c#7 integrate .. //depot/projects/powerpc/sys/kern/vfs_bio.c#16 integrate .. //depot/projects/powerpc/sys/kern/vfs_cache.c#12 integrate .. //depot/projects/powerpc/sys/kern/vfs_default.c#10 integrate .. //depot/projects/powerpc/sys/kern/vfs_lookup.c#12 integrate .. //depot/projects/powerpc/sys/kern/vfs_subr.c#17 integrate .. //depot/projects/powerpc/sys/kern/vnode_if.src#9 integrate .. //depot/projects/powerpc/sys/modules/Makefile#17 integrate .. //depot/projects/powerpc/sys/modules/cxgb/Makefile#8 integrate .. //depot/projects/powerpc/sys/modules/cxgb/cxgb/Makefile#5 integrate .. //depot/projects/powerpc/sys/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/powerpc/sys/modules/em/Makefile#4 integrate .. //depot/projects/powerpc/sys/modules/geom/Makefile#7 integrate .. //depot/projects/powerpc/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/powerpc/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/powerpc/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/powerpc/sys/modules/igb/Makefile#1 branch .. //depot/projects/powerpc/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/powerpc/sys/net80211/ieee80211_scan_sta.c#5 integrate .. //depot/projects/powerpc/sys/netgraph/ng_base.c#13 integrate .. //depot/projects/powerpc/sys/netgraph/ng_nat.c#5 integrate .. //depot/projects/powerpc/sys/netgraph/ng_nat.h#3 integrate .. //depot/projects/powerpc/sys/netinet/ip_dummynet.c#11 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw.h#8 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw2.c#15 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/powerpc/sys/netinet/tcp_input.c#15 integrate .. //depot/projects/powerpc/sys/netipsec/key.c#4 integrate .. //depot/projects/powerpc/sys/netipsec/key_debug.c#3 integrate .. //depot/projects/powerpc/sys/netncp/ncp_conn.c#8 integrate .. //depot/projects/powerpc/sys/netncp/ncp_conn.h#5 integrate .. //depot/projects/powerpc/sys/netsmb/smb_conn.c#6 integrate .. //depot/projects/powerpc/sys/netsmb/smb_conn.h#4 integrate .. //depot/projects/powerpc/sys/netsmb/smb_iod.c#5 integrate .. //depot/projects/powerpc/sys/nfs4client/nfs4_idmap.c#3 integrate .. //depot/projects/powerpc/sys/nfs4client/nfs4_vfsops.c#6 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_subs.c#11 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_vfsops.c#12 integrate .. //depot/projects/powerpc/sys/pc98/cbus/sio.c#6 integrate .. //depot/projects/powerpc/sys/pc98/pc98/machdep.c#11 integrate .. //depot/projects/powerpc/sys/powerpc/aim/locore.S#4 integrate .. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#5 integrate .. //depot/projects/powerpc/sys/powerpc/aim/swtch.S#3 integrate .. //depot/projects/powerpc/sys/powerpc/aim/trap.c#3 integrate .. //depot/projects/powerpc/sys/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/powerpc/sys/powerpc/aim/vm_machdep.c#3 integrate .. //depot/projects/powerpc/sys/powerpc/include/float.h#3 integrate .. //depot/projects/powerpc/sys/powerpc/include/frame.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/hid.h#2 integrate .. //depot/projects/powerpc/sys/powerpc/include/kdb.h#3 integrate .. //depot/projects/powerpc/sys/powerpc/include/pcb.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/pcpu.h#10 integrate .. //depot/projects/powerpc/sys/powerpc/include/spr.h#4 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/cpu.c#4 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/db_trace.c#3 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/genassym.c#7 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/mp_machdep.c#15 integrate .. //depot/projects/powerpc/sys/security/audit/audit.c#10 integrate .. //depot/projects/powerpc/sys/security/audit/audit_arg.c#8 integrate .. //depot/projects/powerpc/sys/security/audit/audit_bsm.c#7 integrate .. //depot/projects/powerpc/sys/security/audit/audit_bsm_klib.c#7 integrate .. //depot/projects/powerpc/sys/security/audit/audit_private.h#4 integrate .. //depot/projects/powerpc/sys/security/audit/audit_syscalls.c#10 integrate .. //depot/projects/powerpc/sys/security/audit/audit_trigger.c#4 integrate .. //depot/projects/powerpc/sys/security/audit/audit_worker.c#7 integrate .. //depot/projects/powerpc/sys/sparc64/sparc64/mp_machdep.c#5 integrate .. //depot/projects/powerpc/sys/sun4v/sun4v/mp_machdep.c#5 integrate .. //depot/projects/powerpc/sys/sys/_types.h#3 integrate .. //depot/projects/powerpc/sys/sys/buf.h#10 integrate .. //depot/projects/powerpc/sys/sys/bufobj.h#3 integrate .. //depot/projects/powerpc/sys/sys/cpuset.h#1 branch .. //depot/projects/powerpc/sys/sys/lockmgr.h#10 integrate .. //depot/projects/powerpc/sys/sys/mount.h#13 integrate .. //depot/projects/powerpc/sys/sys/param.h#16 integrate .. //depot/projects/powerpc/sys/sys/proc.h#20 integrate .. //depot/projects/powerpc/sys/sys/sched.h#4 integrate .. //depot/projects/powerpc/sys/sys/smp.h#6 integrate .. //depot/projects/powerpc/sys/sys/syscall.h#10 integrate .. //depot/projects/powerpc/sys/sys/syscall.mk#10 integrate .. //depot/projects/powerpc/sys/sys/sysproto.h#10 integrate .. //depot/projects/powerpc/sys/sys/types.h#6 integrate .. //depot/projects/powerpc/sys/sys/vnode.h#14 integrate .. //depot/projects/powerpc/sys/sys/vtoc.h#1 branch .. //depot/projects/powerpc/sys/ufs/ffs/ffs_rawread.c#4 integrate .. //depot/projects/powerpc/sys/ufs/ffs/ffs_vnops.c#15 integrate .. //depot/projects/powerpc/sys/vm/vm_map.h#7 integrate .. //depot/projects/powerpc/sys/vm/vm_object.c#15 integrate .. //depot/projects/powerpc/tools/build/mk/OptionalObsoleteFiles.inc#7 integrate .. //depot/projects/powerpc/tools/regression/bin/sh/builtins/cd1.0#1 branch .. //depot/projects/powerpc/tools/regression/environ/envctl.c#3 integrate .. //depot/projects/powerpc/usr.bin/Makefile#8 integrate .. //depot/projects/powerpc/usr.bin/ar/Makefile#2 integrate .. //depot/projects/powerpc/usr.bin/ar/ar.c#2 integrate .. //depot/projects/powerpc/usr.bin/ar/write.c#2 integrate .. //depot/projects/powerpc/usr.bin/awk/Makefile#3 integrate .. //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#10 integrate .. //depot/projects/powerpc/usr.bin/cpuset/Makefile#1 branch .. //depot/projects/powerpc/usr.bin/cpuset/cpuset.c#1 branch .. //depot/projects/powerpc/usr.bin/du/du.1#2 integrate .. //depot/projects/powerpc/usr.bin/du/du.c#5 integrate .. //depot/projects/powerpc/usr.bin/find/find.1#5 integrate .. //depot/projects/powerpc/usr.bin/unifdef/unifdef.c#2 integrate .. //depot/projects/powerpc/usr.sbin/pkg_install/add/main.c#4 integrate Differences ... ==== //depot/projects/powerpc/Makefile.inc1#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.598 2008/02/05 15:41:58 des Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.601 2008/03/02 11:10:46 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -203,6 +203,9 @@ GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \ GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac +.if ${OSRELDATE} < 700044 +CROSSENV+= AR=gnu-ar RANLIB=gnu-ranlib +.endif # bootstrap-tools stage BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -872,6 +875,14 @@ .endif .endif +.if ${BOOTSTRAPPING} >= 700044 && ${BOOTSTRAPPING} < 800022 +_ar= usr.bin/ar +.endif + +.if ${BOOTSTRAPPING} < 800013 +_mklocale= usr.bin/mklocale +.endif + .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -881,18 +892,15 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 800013 -_mklocale= usr.bin/mklocale -.endif - bootstrap-tools: .for _tool in \ - ${_mklocale} \ ${_strfile} \ ${_gperf} \ ${_groff} \ + ${_ar} \ usr.bin/lorder \ usr.bin/makewhatis \ + ${_mklocale} \ usr.bin/rpcgen \ usr.bin/xinstall \ ${_gensnmptree} \ ==== //depot/projects/powerpc/UPDATING#16 (text+ko) ==== @@ -22,6 +22,20 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080301: + The layout of struct vmspace has changed. This affects libkvm + and any executables that link against libkvm and use the + kvm_getprocs() function. In particular, but not exclusively, + it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1). + The effects are minimal, but it's advisable to upgrade world + nonetheless. + +20080229: + The latest em driver no longer has support in it for the + 82575 adapter, this is now moved to the igb driver. The + split was done to make new features that are incompatible + with older hardware easier to do. + 20080220: The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4), likewise the kernel option is now GEOM_LINUX_LVM. @@ -983,4 +997,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.520 2008/02/20 07:50:12 thompsa Exp $ +$FreeBSD: src/UPDATING,v 1.522 2008/03/01 22:54:42 marcel Exp $ ==== //depot/projects/powerpc/bin/sh/cd.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.35 2006/06/12 21:06:00 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.36 2008/02/24 16:50:55 stefanf Exp $"); #include #include @@ -68,7 +68,9 @@ STATIC int cdphysical(char *); STATIC int docd(char *, int, int); STATIC char *getcomponent(void); -STATIC int updatepwd(char *); +STATIC char *findcwd(char *); +STATIC void updatepwd(char *); +STATIC char *getpwd2(char *, size_t); STATIC char *curdir = NULL; /* current working directory */ STATIC char *prevdir; /* previous working directory */ @@ -201,10 +203,11 @@ } INTOFF; - if (updatepwd(badstat ? NULL : dest) < 0 || chdir(curdir) < 0) { + if ((p = findcwd(badstat ? NULL : dest)) == NULL || chdir(p) < 0) { INTON; return (-1); } + updatepwd(p); INTON; return (0); } @@ -212,12 +215,14 @@ STATIC int cdphysical(char *dest) { + char *p; INTOFF; - if (chdir(dest) < 0 || updatepwd(NULL) < 0) { + if (chdir(dest) < 0 || (p = findcwd(NULL)) == NULL) { INTON; return (-1); } + updatepwd(p); INTON; return (0); } @@ -247,38 +252,20 @@ } -/* - * Update curdir (the name of the current directory) in response to a - * cd command. We also call hashcd to let the routines in exec.c know - * that the current directory has changed. - */ -STATIC int -updatepwd(char *dir) +STATIC char * +findcwd(char *dir) { char *new; char *p; - hashcd(); /* update command hash table */ - /* * If our argument is NULL, we don't know the current directory * any more because we traversed a symbolic link or something * we couldn't stat(). */ if (dir == NULL || curdir == NULL) { - if (prevdir) - ckfree(prevdir); - INTOFF; - prevdir = curdir; - curdir = NULL; - if (getpwd() == NULL) { - INTON; - return (-1); - } - setvar("PWD", curdir, VEXPORT); - setvar("OLDPWD", prevdir, VEXPORT); - INTON; - return (0); + p = stalloc(PATH_MAX); + return getpwd2(p, PATH_MAX); } cdcomppath = stalloc(strlen(dir) + 1); scopy(dir, cdcomppath); @@ -302,16 +289,25 @@ if (new == stackblock()) STPUTC('/', new); STACKSTRNUL(new); - INTOFF; + return stackblock(); +} + +/* + * Update curdir (the name of the current directory) in response to a + * cd command. We also call hashcd to let the routines in exec.c know + * that the current directory has changed. + */ +STATIC void +updatepwd(char *dir) +{ + hashcd(); /* update command hash table */ + if (prevdir) ckfree(prevdir); prevdir = curdir; - curdir = savestr(stackblock()); + curdir = savestr(dir); setvar("PWD", curdir, VEXPORT); setvar("OLDPWD", prevdir, VEXPORT); - INTON; - - return (0); } int @@ -355,17 +351,31 @@ } /* - * Find out what the current directory is. If we already know the current - * directory, this routine returns immediately. + * Get the current directory and cache the result in curdir. */ char * getpwd(void) { char buf[PATH_MAX]; + char *p; if (curdir) return curdir; - if (getcwd(buf, sizeof(buf)) == NULL) { + + p = getpwd2(buf, sizeof(buf)); + if (p != NULL) + curdir = savestr(p); + + return curdir; +} + +/* + * Return the current directory. + */ +STATIC char * +getpwd2(char *buf, size_t size) +{ + if (getcwd(buf, size) == NULL) { char *pwd = getenv("PWD"); struct stat stdot, stpwd; @@ -373,12 +383,9 @@ stat(pwd, &stpwd) != -1 && stdot.st_dev == stpwd.st_dev && stdot.st_ino == stpwd.st_ino) { - curdir = savestr(pwd); - return curdir; + return pwd; } return NULL; } - curdir = savestr(buf); - - return curdir; + return buf; } ==== //depot/projects/powerpc/contrib/tcpdump/print-802_11.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.3 2007/10/16 02:31:47 mlaier Exp $ */ +/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.4 2008/02/25 01:28:14 sam Exp $ */ /* * Copyright (c) 2001 * Fortress Technologies, Inc. All rights reserved. @@ -1186,9 +1186,9 @@ break; case IEEE80211_RADIOTAP_RATE: if (u.u8 & 0x80) + PRINT_HT_RATE("", u.u8, " Mb/s "); + else PRINT_RATE("", u.u8, " Mb/s "); - else - PRINT_HT_RATE("", u.u8, " Mb/s "); break; case IEEE80211_RADIOTAP_DBM_ANTSIGNAL: printf("%ddB signal ", u.i8); ==== //depot/projects/powerpc/games/fortune/datfiles/fortunes#11 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.255 2008/01/10 14:51:24 des Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $ % ======================================================================= || || @@ -15979,6 +15979,9 @@ % Don't mind him; politicians always sound like that. % +Don't patch bad code -- rewrite it. + -- "The Elements of Programming Style", Kernighan and Plauger +% Don't plan any hasty moves. You'll be evicted soon anyway. % @@ -31243,7 +31246,7 @@ -- Charles Dickens % Let the machine do the dirty work. - -- "Elements of Programming Style", Kernighan and Ritchie + -- "The Elements of Programming Style", Kernighan and Plauger % Let the meek inherit the earth -- they have it coming to them. -- James Thurber ==== //depot/projects/powerpc/gnu/lib/libgcc/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.58 2007/08/14 20:49:57 kan Exp $ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.59 2008/02/24 19:22:52 raj Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -122,7 +122,7 @@ .if ${TARGET_ARCH} == "powerpc" # from config/rs6000/t-ppccomm -LIB2FUNCS_EXTRA = tramp.asm darwin-ldouble.c +LIB2FUNCS_EXTRA = tramp.asm LIB2FUNCS_STATIC_EXTRA = eabi.asm .endif ==== //depot/projects/powerpc/gnu/usr.bin/binutils/ar/Makefile#3 (text+ko) ==== @@ -1,15 +1,16 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.16 2008/02/21 16:59:02 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.18 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if defined(WITH_BSDAR) -PROG= gnu-ar -#MAN= gnu-ar.1 -.else +PROGNAME= gnu-ar +MAN= gnu-ar.1 +gnu-ar.1: ar.1 + cat ${.ALLSRC} > ${.TARGET} +CLEANFILES+= gnu-ar.1 + PROG= ar -.endif SRCS= ar.c not-ranlib.c CFLAGS+= -D_GNU_SOURCE CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils ==== //depot/projects/powerpc/gnu/usr.bin/binutils/ranlib/Makefile#3 (text+ko) ==== @@ -1,15 +1,16 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.17 2008/02/21 16:59:02 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.19 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if defined(WITH_BSDAR) -PROG= gnu-ranlib -#MAN= gnu-ranlib.1 -.else +PROGNAME= gnu-ranlib +MAN= gnu-ranlib.1 +gnu-ranlib.1: ranlib.1 + cat ${.ALLSRC} > ${.TARGET} +CLEANFILES+= gnu-ranlib.1 + PROG= ranlib -.endif SRCS= ar.c is-ranlib.c CFLAGS+= -D_GNU_SOURCE CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils ==== //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kgdb.h#7 (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/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.11 2008/01/29 23:44:34 jhb Exp $ + * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.12 2008/02/25 22:04:07 jhb Exp $ */ #ifndef _KGDB_H_ @@ -49,7 +49,6 @@ extern struct kthr *curkthr; void kgdb_add_kld_cmd(char *, int); -void kgdb_auto_load_klds(void); void kgdb_kld_init(void); void kgdb_target(void); void kgdb_trgt_fetch_registers(int); ==== //depot/projects/powerpc/include/unistd.h#5 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * $FreeBSD: src/include/unistd.h,v 1.83 2008/02/12 20:09:03 ru Exp $ + * $FreeBSD: src/include/unistd.h,v 1.84 2008/02/26 20:33:52 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); -ssize_t readlink(const char *, char *, size_t); +ssize_t readlink(const char * __restrict, char * __restrict, size_t); #endif #if __POSIX_VISIBLE >= 200112 int gethostname(char *, size_t); ==== //depot/projects/powerpc/lib/libarchive/archive_endian.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_endian.h,v 1.1 2008/01/03 18:30:37 des Exp $ + * $FreeBSD: src/lib/libarchive/archive_endian.h,v 1.2 2008/02/26 07:17:47 kientzle Exp $ * * Borrowed from FreeBSD's */ @@ -34,7 +34,7 @@ /* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ static inline uint16_t -be16dec(const void *pp) +archive_be16dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; @@ -42,7 +42,7 @@ } static inline uint32_t -be32dec(const void *pp) +archive_be32dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; @@ -50,15 +50,15 @@ } static inline uint64_t -be64dec(const void *pp) +archive_be64dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; - return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4)); + return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); } static inline uint16_t -le16dec(const void *pp) +archive_le16dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; @@ -66,7 +66,7 @@ } static inline uint32_t -le32dec(const void *pp) +archive_le32dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; @@ -74,15 +74,15 @@ } static inline uint64_t -le64dec(const void *pp) +archive_le64dec(const void *pp) { unsigned char const *p = (unsigned char const *)pp; - return (((uint64_t)le32dec(p + 4) << 32) | le32dec(p)); + return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); } static inline void -be16enc(void *pp, uint16_t u) +archive_be16enc(void *pp, uint16_t u) { unsigned char *p = (unsigned char *)pp; @@ -91,7 +91,7 @@ } static inline void -be32enc(void *pp, uint32_t u) +archive_be32enc(void *pp, uint32_t u) { unsigned char *p = (unsigned char *)pp; @@ -102,16 +102,16 @@ } static inline void -be64enc(void *pp, uint64_t u) +archive_be64enc(void *pp, uint64_t u) { unsigned char *p = (unsigned char *)pp; - be32enc(p, u >> 32); - be32enc(p + 4, u & 0xffffffff); + archive_be32enc(p, u >> 32); + archive_be32enc(p + 4, u & 0xffffffff); } static inline void -le16enc(void *pp, uint16_t u) +archive_le16enc(void *pp, uint16_t u) { unsigned char *p = (unsigned char *)pp; @@ -120,7 +120,7 @@ } static inline void -le32enc(void *pp, uint32_t u) +archive_le32enc(void *pp, uint32_t u) { unsigned char *p = (unsigned char *)pp; @@ -131,12 +131,12 @@ } static inline void -le64enc(void *pp, uint64_t u) +archive_le64enc(void *pp, uint64_t u) { unsigned char *p = (unsigned char *)pp; - le32enc(p, u & 0xffffffff); - le32enc(p + 4, u >> 32); + archive_le32enc(p, u & 0xffffffff); + archive_le32enc(p + 4, u >> 32); } #endif ==== //depot/projects/powerpc/lib/libarchive/archive_read_support_format_zip.c#10 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.20 2008/01/15 16:27:15 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.22 2008/02/27 06:05:59 kientzle Exp $"); #ifdef HAVE_ERRNO_H #include @@ -278,8 +278,8 @@ zip->version = p->version[0]; zip->system = p->version[1]; - zip->flags = le16dec(p->flags); - zip->compression = le16dec(p->compression); + zip->flags = archive_le16dec(p->flags); + zip->compression = archive_le16dec(p->compression); if (zip->compression < sizeof(compression_names)/sizeof(compression_names[0])) zip->compression_name = compression_names[zip->compression]; @@ -291,11 +291,11 @@ zip->mode = 0; zip->uid = 0; zip->gid = 0; - zip->crc32 = le32dec(p->crc32); - zip->filename_length = le16dec(p->filename_length); - zip->extra_length = le16dec(p->extra_length); - zip->uncompressed_size = le32dec(p->uncompressed_size); - zip->compressed_size = le32dec(p->compressed_size); + zip->crc32 = archive_le32dec(p->crc32); + zip->filename_length = archive_le16dec(p->filename_length); + zip->extra_length = archive_le16dec(p->extra_length); + zip->uncompressed_size = archive_le32dec(p->uncompressed_size); + zip->compressed_size = archive_le32dec(p->compressed_size); (a->decompressor->consume)(a, sizeof(struct zip_file_header)); @@ -397,9 +397,9 @@ "Truncated ZIP end-of-file record"); return (ARCHIVE_FATAL); } - zip->crc32 = le32dec(p + 4); - zip->compressed_size = le32dec(p + 8); - zip->uncompressed_size = le32dec(p + 12); + zip->crc32 = archive_le32dec(p + 4); + zip->compressed_size = archive_le32dec(p + 8); + zip->uncompressed_size = archive_le32dec(p + 12); (a->decompressor->consume)(a, 16); } @@ -636,7 +636,7 @@ { struct zip *zip; const void *buff = NULL; - ssize_t bytes_avail; + off_t bytes_skipped; zip = (struct zip *)(a->format->data); @@ -659,19 +659,10 @@ * If the length is at the beginning, we can skip the * compressed data much more quickly. */ - while (zip->entry_bytes_remaining > 0) { - bytes_avail = (a->decompressor->read_ahead)(a, &buff, 1); - if (bytes_avail <= 0) { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Truncated ZIP file body"); - return (ARCHIVE_FATAL); - } - if (bytes_avail > zip->entry_bytes_remaining) - bytes_avail = zip->entry_bytes_remaining; - (a->decompressor->consume)(a, bytes_avail); - zip->entry_bytes_remaining -= bytes_avail; - } + bytes_skipped = (a->decompressor->skip)(a, zip->entry_bytes_remaining); + if (bytes_skipped < 0) + return (ARCHIVE_FATAL); + /* This entry is finished and done. */ zip->end_of_entry_cleanup = zip->end_of_entry = 1; return (ARCHIVE_OK); @@ -707,8 +698,8 @@ const char *p = (const char *)extra; while (offset < zip->extra_length - 4) { - unsigned short headerid = le16dec(p + offset); - unsigned short datasize = le16dec(p + offset + 2); + unsigned short headerid = archive_le16dec(p + offset); + unsigned short datasize = archive_le16dec(p + offset + 2); offset += 4; if (offset + datasize > zip->extra_length) break; @@ -720,9 +711,9 @@ case 0x0001: /* Zip64 extended information extra field. */ if (datasize >= 8) - zip->uncompressed_size = le64dec(p + offset); + zip->uncompressed_size = archive_le64dec(p + offset); if (datasize >= 16) - zip->compressed_size = le64dec(p + offset + 8); + zip->compressed_size = archive_le64dec(p + offset + 8); break; case 0x5455: { @@ -735,11 +726,12 @@ { #ifdef DEBUG fprintf(stderr, "mtime: %lld -> %d\n", - (long long)zip->mtime, le32dec(p + offset)); + (long long)zip->mtime, + archive_le32dec(p + offset)); #endif if (datasize < 4) break; - zip->mtime = le32dec(p + offset); + zip->mtime = archive_le32dec(p + offset); offset += 4; datasize -= 4; } @@ -747,7 +739,7 @@ { if (datasize < 4) break; - zip->atime = le32dec(p + offset); + zip->atime = archive_le32dec(p + offset); offset += 4; datasize -= 4; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 2 17:30:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 990351065672; Sun, 2 Mar 2008 17:30: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 5778D1065676 for ; Sun, 2 Mar 2008 17:30: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 1E7F28FC20 for ; Sun, 2 Mar 2008 17:30: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 m22HU6hh009664 for ; Sun, 2 Mar 2008 17:30:06 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22HU6OO009662 for perforce@freebsd.org; Sun, 2 Mar 2008 17:30:06 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 17:30:06 GMT Message-Id: <200803021730.m22HU6OO009662@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 136678 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, 02 Mar 2008 17:30:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=136678 Change 136678 by marcel@marcel_cluster on 2008/03/02 17:29:49 Remove kernel configuration for my iMac G3. It's not useful for SMP work. Leave my XSERVE kernel configuration for now... Affected files ... .. //depot/projects/powerpc/sys/powerpc/conf/IMAC#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 2 17:38:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 830F41065678; Sun, 2 Mar 2008 17:38: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 427ED106566B for ; Sun, 2 Mar 2008 17:38:15 +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 093F88FC1A for ; Sun, 2 Mar 2008 17:38:15 +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 m22HcETh009912 for ; Sun, 2 Mar 2008 17:38:14 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22HcEB9009910 for perforce@freebsd.org; Sun, 2 Mar 2008 17:38:14 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 17:38:14 GMT Message-Id: <200803021738.m22HcEB9009910@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 136679 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, 02 Mar 2008 17:38:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=136679 Change 136679 by marcel@marcel_cluster on 2008/03/02 17:37:28 Style(9) restoration. Affected files ... .. //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#5 edit Differences ... ==== //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#5 (text) ==== @@ -53,6 +53,7 @@ int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { + return ((b1->bsh == b2->bsh) ? 1 : 0); } From owner-p4-projects@FreeBSD.ORG Sun Mar 2 19:07:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AFB0106566C; Sun, 2 Mar 2008 19:07: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 2A44E1065677 for ; Sun, 2 Mar 2008 19:07:50 +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 F067D8FC18 for ; Sun, 2 Mar 2008 19:07:49 +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 m22J7nqO021027 for ; Sun, 2 Mar 2008 19:07:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22J7nPS021025 for perforce@freebsd.org; Sun, 2 Mar 2008 19:07:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 19:07:49 GMT Message-Id: <200803021907.m22J7nPS021025@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 136682 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, 02 Mar 2008 19:07:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=136682 Change 136682 by hselasky@hselasky_laptop001 on 2008/03/02 19:07:21 This bug fix is related to USB device side support and should not affect USB host functionality. In USB host mode "udev->address" == "udev->device_index". In USB device mode "udev->address" != "udev->device_index". When initialising an USB pipe we need to compare with the device index and not the device address, hence the device address is not constant in USB device mode and can have the same value like the address of the virtual root HUB. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/at9100_dci.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#73 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#60 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#61 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#99 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#99 edit .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/at9100_dci.c#14 (text+ko) ==== @@ -2507,7 +2507,7 @@ edesc->bEndpointAddress, udev->flags.usb_mode, sc->sc_rt_addr); - if (udev->address == sc->sc_rt_addr) { + if (udev->device_index == sc->sc_rt_addr) { if (udev->flags.usb_mode != USB_MODE_HOST) { /* not supported */ ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#73 (text+ko) ==== @@ -3796,7 +3796,7 @@ /* not supported */ return; } - if (udev->address == sc->sc_addr) { + if (udev->device_index == sc->sc_addr) { switch (edesc->bEndpointAddress) { case USB_CONTROL_ENDPOINT: pipe->methods = &ehci_root_ctrl_methods; ==== //depot/projects/usb/src/sys/dev/usb/ohci.c#60 (text+ko) ==== @@ -2776,7 +2776,7 @@ /* not supported */ return; } - if (udev->address == sc->sc_addr) { + if (udev->device_index == sc->sc_addr) { switch (edesc->bEndpointAddress) { case USB_CONTROL_ENDPOINT: pipe->methods = &ohci_root_ctrl_methods; ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#61 (text+ko) ==== @@ -3231,7 +3231,7 @@ /* not supported */ return; } - if (udev->address == sc->sc_addr) { + if (udev->device_index == sc->sc_addr) { switch (edesc->bEndpointAddress) { case USB_CONTROL_ENDPOINT: pipe->methods = &uhci_root_ctrl_methods; ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#99 (text+ko) ==== @@ -1905,6 +1905,9 @@ &udev->default_ep_desc, &udev->default_pipe); + /* set device index */ + udev->device_index = device_index; + if (udev->flags.usb_mode == USB_MODE_HOST) { err = usbreq_set_address(udev, &usb_global_lock, device_index); ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#99 (text+ko) ==== @@ -570,6 +570,7 @@ uint16_t langid; /* language for strings */ uint8_t address; /* device addess */ + uint8_t device_index; /* device index in "bus->devices" */ uint8_t curr_config_no; /* current configuration # */ uint8_t depth; /* distance from root HUB */ uint8_t speed; /* low/full/high speed */ ==== //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#9 (text+ko) ==== @@ -2629,7 +2629,7 @@ edesc->bEndpointAddress, udev->flags.usb_mode, sc->sc_rt_addr); - if (udev->address == sc->sc_rt_addr) { + if (udev->device_index == sc->sc_rt_addr) { if (udev->flags.usb_mode != USB_MODE_HOST) { /* not supported */ From owner-p4-projects@FreeBSD.ORG Sun Mar 2 19:36:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5BC1C1065670; Sun, 2 Mar 2008 19:36: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 07114106566B for ; Sun, 2 Mar 2008 19:36:20 +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 D51AD8FC1B for ; Sun, 2 Mar 2008 19:36:19 +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 m22JaJvW023244 for ; Sun, 2 Mar 2008 19:36:19 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22JaJw8023242 for perforce@freebsd.org; Sun, 2 Mar 2008 19:36:19 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 19:36:19 GMT Message-Id: <200803021936.m22JaJw8023242@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 136683 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, 02 Mar 2008 19:36:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=136683 Change 136683 by marcel@marcel_xcllnt on 2008/03/02 19:36:10 IFC @136681 Affected files ... .. //depot/projects/bdb/COPYRIGHT#1 branch .. //depot/projects/bdb/LOCKS#1 branch .. //depot/projects/bdb/MAINTAINERS#1 branch .. //depot/projects/bdb/Makefile#1 branch .. //depot/projects/bdb/Makefile.inc1#1 branch .. //depot/projects/bdb/ObsoleteFiles.inc#1 branch .. //depot/projects/bdb/README#1 branch .. //depot/projects/bdb/UPDATING#1 branch .. //depot/projects/bdb/bin/Makefile#1 branch .. //depot/projects/bdb/bin/Makefile.inc#1 branch .. //depot/projects/bdb/bin/cat/Makefile#1 branch .. //depot/projects/bdb/bin/cat/cat.1#1 branch .. //depot/projects/bdb/bin/cat/cat.c#1 branch .. //depot/projects/bdb/bin/chflags/Makefile#1 branch .. //depot/projects/bdb/bin/chflags/chflags.1#1 branch .. //depot/projects/bdb/bin/chflags/chflags.c#1 branch .. //depot/projects/bdb/bin/chio/Makefile#1 branch .. //depot/projects/bdb/bin/chio/chio.1#1 branch .. //depot/projects/bdb/bin/chio/chio.c#1 branch .. //depot/projects/bdb/bin/chio/defs.h#1 branch .. //depot/projects/bdb/bin/chio/pathnames.h#1 branch .. //depot/projects/bdb/bin/chmod/Makefile#1 branch .. //depot/projects/bdb/bin/chmod/chmod.1#1 branch .. //depot/projects/bdb/bin/chmod/chmod.c#1 branch .. //depot/projects/bdb/bin/cp/Makefile#1 branch .. //depot/projects/bdb/bin/cp/cp.1#1 branch .. //depot/projects/bdb/bin/cp/cp.c#1 branch .. //depot/projects/bdb/bin/cp/extern.h#1 branch .. //depot/projects/bdb/bin/cp/utils.c#1 branch .. //depot/projects/bdb/bin/csh/Makefile#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/bdb/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/bdb/bin/csh/config.h#1 branch .. //depot/projects/bdb/bin/csh/config_p.h#1 branch .. //depot/projects/bdb/bin/csh/host.defs#1 branch .. //depot/projects/bdb/bin/csh/iconv.h#1 branch .. //depot/projects/bdb/bin/csh/iconv_stub.c#1 branch .. //depot/projects/bdb/bin/date/Makefile#1 branch .. //depot/projects/bdb/bin/date/date.1#1 branch .. //depot/projects/bdb/bin/date/date.c#1 branch .. //depot/projects/bdb/bin/date/extern.h#1 branch .. //depot/projects/bdb/bin/date/netdate.c#1 branch .. //depot/projects/bdb/bin/date/vary.c#1 branch .. //depot/projects/bdb/bin/date/vary.h#1 branch .. //depot/projects/bdb/bin/dd/Makefile#1 branch .. //depot/projects/bdb/bin/dd/args.c#1 branch .. //depot/projects/bdb/bin/dd/conv.c#1 branch .. //depot/projects/bdb/bin/dd/conv_tab.c#1 branch .. //depot/projects/bdb/bin/dd/dd.1#1 branch .. //depot/projects/bdb/bin/dd/dd.c#1 branch .. //depot/projects/bdb/bin/dd/dd.h#1 branch .. //depot/projects/bdb/bin/dd/extern.h#1 branch .. //depot/projects/bdb/bin/dd/gen.c#1 branch .. //depot/projects/bdb/bin/dd/misc.c#1 branch .. //depot/projects/bdb/bin/dd/position.c#1 branch .. //depot/projects/bdb/bin/dd/ref.ascii#1 branch .. //depot/projects/bdb/bin/dd/ref.ebcdic#1 branch .. //depot/projects/bdb/bin/dd/ref.ibm#1 branch .. //depot/projects/bdb/bin/dd/ref.lcase#1 branch .. //depot/projects/bdb/bin/dd/ref.oldascii#1 branch .. //depot/projects/bdb/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/bdb/bin/dd/ref.oldibm#1 branch .. //depot/projects/bdb/bin/dd/ref.pareven#1 branch .. //depot/projects/bdb/bin/dd/ref.parnone#1 branch .. //depot/projects/bdb/bin/dd/ref.parodd#1 branch .. //depot/projects/bdb/bin/dd/ref.parset#1 branch .. //depot/projects/bdb/bin/dd/ref.swab#1 branch .. //depot/projects/bdb/bin/dd/ref.ucase#1 branch .. //depot/projects/bdb/bin/df/Makefile#1 branch .. //depot/projects/bdb/bin/df/df.1#1 branch .. //depot/projects/bdb/bin/df/df.c#1 branch .. //depot/projects/bdb/bin/domainname/Makefile#1 branch .. //depot/projects/bdb/bin/domainname/domainname.1#1 branch .. //depot/projects/bdb/bin/domainname/domainname.c#1 branch .. //depot/projects/bdb/bin/echo/Makefile#1 branch .. //depot/projects/bdb/bin/echo/echo.1#1 branch .. //depot/projects/bdb/bin/echo/echo.c#1 branch .. //depot/projects/bdb/bin/ed/Makefile#1 branch .. //depot/projects/bdb/bin/ed/POSIX#1 branch .. //depot/projects/bdb/bin/ed/README#1 branch .. //depot/projects/bdb/bin/ed/buf.c#1 branch .. //depot/projects/bdb/bin/ed/cbc.c#1 branch .. //depot/projects/bdb/bin/ed/ed.1#1 branch .. //depot/projects/bdb/bin/ed/ed.h#1 branch .. //depot/projects/bdb/bin/ed/glbl.c#1 branch .. //depot/projects/bdb/bin/ed/io.c#1 branch .. //depot/projects/bdb/bin/ed/main.c#1 branch .. //depot/projects/bdb/bin/ed/re.c#1 branch .. //depot/projects/bdb/bin/ed/sub.c#1 branch .. //depot/projects/bdb/bin/ed/test/=.err#1 branch .. //depot/projects/bdb/bin/ed/test/Makefile#1 branch .. //depot/projects/bdb/bin/ed/test/README#1 branch .. //depot/projects/bdb/bin/ed/test/TODO#1 branch .. //depot/projects/bdb/bin/ed/test/a.d#1 branch .. //depot/projects/bdb/bin/ed/test/a.r#1 branch .. //depot/projects/bdb/bin/ed/test/a.t#1 branch .. //depot/projects/bdb/bin/ed/test/a1.err#1 branch .. //depot/projects/bdb/bin/ed/test/a2.err#1 branch .. //depot/projects/bdb/bin/ed/test/addr.d#1 branch .. //depot/projects/bdb/bin/ed/test/addr.r#1 branch .. //depot/projects/bdb/bin/ed/test/addr.t#1 branch .. //depot/projects/bdb/bin/ed/test/addr1.err#1 branch .. //depot/projects/bdb/bin/ed/test/addr2.err#1 branch .. //depot/projects/bdb/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/bdb/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/bdb/bin/ed/test/ascii.t#1 branch .. //depot/projects/bdb/bin/ed/test/bang1.d#1 branch .. //depot/projects/bdb/bin/ed/test/bang1.err#1 branch .. //depot/projects/bdb/bin/ed/test/bang1.r#1 branch .. //depot/projects/bdb/bin/ed/test/bang1.t#1 branch .. //depot/projects/bdb/bin/ed/test/bang2.err#1 branch .. //depot/projects/bdb/bin/ed/test/c.d#1 branch .. //depot/projects/bdb/bin/ed/test/c.r#1 branch .. //depot/projects/bdb/bin/ed/test/c.t#1 branch .. //depot/projects/bdb/bin/ed/test/c1.err#1 branch .. //depot/projects/bdb/bin/ed/test/c2.err#1 branch .. //depot/projects/bdb/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/bdb/bin/ed/test/d.d#1 branch .. //depot/projects/bdb/bin/ed/test/d.err#1 branch .. //depot/projects/bdb/bin/ed/test/d.r#1 branch .. //depot/projects/bdb/bin/ed/test/d.t#1 branch .. //depot/projects/bdb/bin/ed/test/e1.d#1 branch .. //depot/projects/bdb/bin/ed/test/e1.err#1 branch .. //depot/projects/bdb/bin/ed/test/e1.r#1 branch .. //depot/projects/bdb/bin/ed/test/e1.t#1 branch .. //depot/projects/bdb/bin/ed/test/e2.d#1 branch .. //depot/projects/bdb/bin/ed/test/e2.err#1 branch .. //depot/projects/bdb/bin/ed/test/e2.r#1 branch .. //depot/projects/bdb/bin/ed/test/e2.t#1 branch .. //depot/projects/bdb/bin/ed/test/e3.d#1 branch .. //depot/projects/bdb/bin/ed/test/e3.err#1 branch .. //depot/projects/bdb/bin/ed/test/e3.r#1 branch .. //depot/projects/bdb/bin/ed/test/e3.t#1 branch .. //depot/projects/bdb/bin/ed/test/e4.d#1 branch .. //depot/projects/bdb/bin/ed/test/e4.r#1 branch .. //depot/projects/bdb/bin/ed/test/e4.t#1 branch .. //depot/projects/bdb/bin/ed/test/f1.err#1 branch .. //depot/projects/bdb/bin/ed/test/f2.err#1 branch .. //depot/projects/bdb/bin/ed/test/g1.d#1 branch .. //depot/projects/bdb/bin/ed/test/g1.err#1 branch .. //depot/projects/bdb/bin/ed/test/g1.r#1 branch .. //depot/projects/bdb/bin/ed/test/g1.t#1 branch .. //depot/projects/bdb/bin/ed/test/g2.d#1 branch .. //depot/projects/bdb/bin/ed/test/g2.err#1 branch .. //depot/projects/bdb/bin/ed/test/g2.r#1 branch .. //depot/projects/bdb/bin/ed/test/g2.t#1 branch .. //depot/projects/bdb/bin/ed/test/g3.d#1 branch .. //depot/projects/bdb/bin/ed/test/g3.err#1 branch .. //depot/projects/bdb/bin/ed/test/g3.r#1 branch .. //depot/projects/bdb/bin/ed/test/g3.t#1 branch .. //depot/projects/bdb/bin/ed/test/g4.d#1 branch .. //depot/projects/bdb/bin/ed/test/g4.r#1 branch .. //depot/projects/bdb/bin/ed/test/g4.t#1 branch .. //depot/projects/bdb/bin/ed/test/g5.d#1 branch .. //depot/projects/bdb/bin/ed/test/g5.r#1 branch .. //depot/projects/bdb/bin/ed/test/g5.t#1 branch .. //depot/projects/bdb/bin/ed/test/h.err#1 branch .. //depot/projects/bdb/bin/ed/test/i.d#1 branch .. //depot/projects/bdb/bin/ed/test/i.r#1 branch .. //depot/projects/bdb/bin/ed/test/i.t#1 branch .. //depot/projects/bdb/bin/ed/test/i1.err#1 branch .. //depot/projects/bdb/bin/ed/test/i2.err#1 branch .. //depot/projects/bdb/bin/ed/test/i3.err#1 branch .. //depot/projects/bdb/bin/ed/test/j.d#1 branch .. //depot/projects/bdb/bin/ed/test/j.r#1 branch .. //depot/projects/bdb/bin/ed/test/j.t#1 branch .. //depot/projects/bdb/bin/ed/test/k.d#1 branch .. //depot/projects/bdb/bin/ed/test/k.r#1 branch .. //depot/projects/bdb/bin/ed/test/k.t#1 branch .. //depot/projects/bdb/bin/ed/test/k1.err#1 branch .. //depot/projects/bdb/bin/ed/test/k2.err#1 branch .. //depot/projects/bdb/bin/ed/test/k3.err#1 branch .. //depot/projects/bdb/bin/ed/test/k4.err#1 branch .. //depot/projects/bdb/bin/ed/test/l.d#1 branch .. //depot/projects/bdb/bin/ed/test/l.r#1 branch .. //depot/projects/bdb/bin/ed/test/l.t#1 branch .. //depot/projects/bdb/bin/ed/test/m.d#1 branch .. //depot/projects/bdb/bin/ed/test/m.err#1 branch .. //depot/projects/bdb/bin/ed/test/m.r#1 branch .. //depot/projects/bdb/bin/ed/test/m.t#1 branch .. //depot/projects/bdb/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/bdb/bin/ed/test/n.d#1 branch .. //depot/projects/bdb/bin/ed/test/n.r#1 branch .. //depot/projects/bdb/bin/ed/test/n.t#1 branch .. //depot/projects/bdb/bin/ed/test/nl.err#1 branch .. //depot/projects/bdb/bin/ed/test/nl1.d#1 branch .. //depot/projects/bdb/bin/ed/test/nl1.r#1 branch .. //depot/projects/bdb/bin/ed/test/nl1.t#1 branch .. //depot/projects/bdb/bin/ed/test/nl2.d#1 branch .. //depot/projects/bdb/bin/ed/test/nl2.r#1 branch .. //depot/projects/bdb/bin/ed/test/nl2.t#1 branch .. //depot/projects/bdb/bin/ed/test/p.d#1 branch .. //depot/projects/bdb/bin/ed/test/p.r#1 branch .. //depot/projects/bdb/bin/ed/test/p.t#1 branch .. //depot/projects/bdb/bin/ed/test/q.d#1 branch .. //depot/projects/bdb/bin/ed/test/q.r#1 branch .. //depot/projects/bdb/bin/ed/test/q.t#1 branch .. //depot/projects/bdb/bin/ed/test/q1.err#1 branch .. //depot/projects/bdb/bin/ed/test/r1.d#1 branch .. //depot/projects/bdb/bin/ed/test/r1.err#1 branch .. //depot/projects/bdb/bin/ed/test/r1.r#1 branch .. //depot/projects/bdb/bin/ed/test/r1.t#1 branch .. //depot/projects/bdb/bin/ed/test/r2.d#1 branch .. //depot/projects/bdb/bin/ed/test/r2.err#1 branch .. //depot/projects/bdb/bin/ed/test/r2.r#1 branch .. //depot/projects/bdb/bin/ed/test/r2.t#1 branch .. //depot/projects/bdb/bin/ed/test/r3.d#1 branch .. //depot/projects/bdb/bin/ed/test/r3.r#1 branch .. //depot/projects/bdb/bin/ed/test/r3.t#1 branch .. //depot/projects/bdb/bin/ed/test/s1.d#1 branch .. //depot/projects/bdb/bin/ed/test/s1.err#1 branch .. //depot/projects/bdb/bin/ed/test/s1.r#1 branch .. //depot/projects/bdb/bin/ed/test/s1.t#1 branch .. //depot/projects/bdb/bin/ed/test/s10.err#1 branch .. //depot/projects/bdb/bin/ed/test/s2.d#1 branch .. //depot/projects/bdb/bin/ed/test/s2.err#1 branch .. //depot/projects/bdb/bin/ed/test/s2.r#1 branch .. //depot/projects/bdb/bin/ed/test/s2.t#1 branch .. //depot/projects/bdb/bin/ed/test/s3.d#1 branch .. //depot/projects/bdb/bin/ed/test/s3.err#1 branch .. //depot/projects/bdb/bin/ed/test/s3.r#1 branch .. //depot/projects/bdb/bin/ed/test/s3.t#1 branch .. //depot/projects/bdb/bin/ed/test/s4.err#1 branch .. //depot/projects/bdb/bin/ed/test/s5.err#1 branch .. //depot/projects/bdb/bin/ed/test/s6.err#1 branch .. //depot/projects/bdb/bin/ed/test/s7.err#1 branch .. //depot/projects/bdb/bin/ed/test/s8.err#1 branch .. //depot/projects/bdb/bin/ed/test/s9.err#1 branch .. //depot/projects/bdb/bin/ed/test/t.d#1 branch .. //depot/projects/bdb/bin/ed/test/t.r#1 branch .. //depot/projects/bdb/bin/ed/test/t1.d#1 branch .. //depot/projects/bdb/bin/ed/test/t1.err#1 branch .. //depot/projects/bdb/bin/ed/test/t1.r#1 branch .. //depot/projects/bdb/bin/ed/test/t1.t#1 branch .. //depot/projects/bdb/bin/ed/test/t2.d#1 branch .. //depot/projects/bdb/bin/ed/test/t2.err#1 branch .. //depot/projects/bdb/bin/ed/test/t2.r#1 branch .. //depot/projects/bdb/bin/ed/test/t2.t#1 branch .. //depot/projects/bdb/bin/ed/test/u.d#1 branch .. //depot/projects/bdb/bin/ed/test/u.err#1 branch .. //depot/projects/bdb/bin/ed/test/u.r#1 branch .. //depot/projects/bdb/bin/ed/test/u.t#1 branch .. //depot/projects/bdb/bin/ed/test/v.d#1 branch .. //depot/projects/bdb/bin/ed/test/v.r#1 branch .. //depot/projects/bdb/bin/ed/test/v.t#1 branch .. //depot/projects/bdb/bin/ed/test/w.d#1 branch .. //depot/projects/bdb/bin/ed/test/w.r#1 branch .. //depot/projects/bdb/bin/ed/test/w.t#1 branch .. //depot/projects/bdb/bin/ed/test/w1.err#1 branch .. //depot/projects/bdb/bin/ed/test/w2.err#1 branch .. //depot/projects/bdb/bin/ed/test/w3.err#1 branch .. //depot/projects/bdb/bin/ed/test/x.err#1 branch .. //depot/projects/bdb/bin/ed/test/z.err#1 branch .. //depot/projects/bdb/bin/ed/undo.c#1 branch .. //depot/projects/bdb/bin/expr/Makefile#1 branch .. //depot/projects/bdb/bin/expr/expr.1#1 branch .. //depot/projects/bdb/bin/expr/expr.y#1 branch .. //depot/projects/bdb/bin/getfacl/Makefile#1 branch .. //depot/projects/bdb/bin/getfacl/getfacl.1#1 branch .. //depot/projects/bdb/bin/getfacl/getfacl.c#1 branch .. //depot/projects/bdb/bin/hostname/Makefile#1 branch .. //depot/projects/bdb/bin/hostname/hostname.1#1 branch .. //depot/projects/bdb/bin/hostname/hostname.c#1 branch .. //depot/projects/bdb/bin/kenv/Makefile#1 branch .. //depot/projects/bdb/bin/kenv/kenv.1#1 branch .. //depot/projects/bdb/bin/kenv/kenv.c#1 branch .. //depot/projects/bdb/bin/kill/Makefile#1 branch .. //depot/projects/bdb/bin/kill/kill.1#1 branch .. //depot/projects/bdb/bin/kill/kill.c#1 branch .. //depot/projects/bdb/bin/ln/Makefile#1 branch .. //depot/projects/bdb/bin/ln/ln.1#1 branch .. //depot/projects/bdb/bin/ln/ln.c#1 branch .. //depot/projects/bdb/bin/ln/symlink.7#1 branch .. //depot/projects/bdb/bin/ls/Makefile#1 branch .. //depot/projects/bdb/bin/ls/cmp.c#1 branch .. //depot/projects/bdb/bin/ls/extern.h#1 branch .. //depot/projects/bdb/bin/ls/ls.1#1 branch .. //depot/projects/bdb/bin/ls/ls.c#1 branch .. //depot/projects/bdb/bin/ls/ls.h#1 branch .. //depot/projects/bdb/bin/ls/print.c#1 branch .. //depot/projects/bdb/bin/ls/util.c#1 branch .. //depot/projects/bdb/bin/mkdir/Makefile#1 branch .. //depot/projects/bdb/bin/mkdir/mkdir.1#1 branch .. //depot/projects/bdb/bin/mkdir/mkdir.c#1 branch .. //depot/projects/bdb/bin/mv/Makefile#1 branch .. //depot/projects/bdb/bin/mv/mv.1#1 branch .. //depot/projects/bdb/bin/mv/mv.c#1 branch .. //depot/projects/bdb/bin/pax/Makefile#1 branch .. //depot/projects/bdb/bin/pax/ar_io.c#1 branch .. //depot/projects/bdb/bin/pax/ar_subs.c#1 branch .. //depot/projects/bdb/bin/pax/buf_subs.c#1 branch .. //depot/projects/bdb/bin/pax/cache.c#1 branch .. //depot/projects/bdb/bin/pax/cache.h#1 branch .. //depot/projects/bdb/bin/pax/cpio.1#1 branch .. //depot/projects/bdb/bin/pax/cpio.c#1 branch .. //depot/projects/bdb/bin/pax/cpio.h#1 branch .. //depot/projects/bdb/bin/pax/extern.h#1 branch .. //depot/projects/bdb/bin/pax/file_subs.c#1 branch .. //depot/projects/bdb/bin/pax/ftree.c#1 branch .. //depot/projects/bdb/bin/pax/ftree.h#1 branch .. //depot/projects/bdb/bin/pax/gen_subs.c#1 branch .. //depot/projects/bdb/bin/pax/getoldopt.c#1 branch .. //depot/projects/bdb/bin/pax/options.c#1 branch .. //depot/projects/bdb/bin/pax/options.h#1 branch .. //depot/projects/bdb/bin/pax/pat_rep.c#1 branch .. //depot/projects/bdb/bin/pax/pat_rep.h#1 branch .. //depot/projects/bdb/bin/pax/pax.1#1 branch .. //depot/projects/bdb/bin/pax/pax.c#1 branch .. //depot/projects/bdb/bin/pax/pax.h#1 branch .. //depot/projects/bdb/bin/pax/sel_subs.c#1 branch .. //depot/projects/bdb/bin/pax/sel_subs.h#1 branch .. //depot/projects/bdb/bin/pax/tables.c#1 branch .. //depot/projects/bdb/bin/pax/tables.h#1 branch .. //depot/projects/bdb/bin/pax/tar.1#1 branch .. //depot/projects/bdb/bin/pax/tar.c#1 branch .. //depot/projects/bdb/bin/pax/tar.h#1 branch .. //depot/projects/bdb/bin/pax/tty_subs.c#1 branch .. //depot/projects/bdb/bin/ps/Makefile#1 branch .. //depot/projects/bdb/bin/ps/extern.h#1 branch .. //depot/projects/bdb/bin/ps/fmt.c#1 branch .. //depot/projects/bdb/bin/ps/keyword.c#1 branch .. //depot/projects/bdb/bin/ps/nlist.c#1 branch .. //depot/projects/bdb/bin/ps/print.c#1 branch .. //depot/projects/bdb/bin/ps/ps.1#1 branch .. //depot/projects/bdb/bin/ps/ps.c#1 branch .. //depot/projects/bdb/bin/ps/ps.h#1 branch .. //depot/projects/bdb/bin/pwd/Makefile#1 branch .. //depot/projects/bdb/bin/pwd/pwd.1#1 branch .. //depot/projects/bdb/bin/pwd/pwd.c#1 branch .. //depot/projects/bdb/bin/rcp/Makefile#1 branch .. //depot/projects/bdb/bin/rcp/extern.h#1 branch .. //depot/projects/bdb/bin/rcp/rcp.1#1 branch .. //depot/projects/bdb/bin/rcp/rcp.c#1 branch .. //depot/projects/bdb/bin/rcp/util.c#1 branch .. //depot/projects/bdb/bin/realpath/Makefile#1 branch .. //depot/projects/bdb/bin/realpath/realpath.1#1 branch .. //depot/projects/bdb/bin/realpath/realpath.c#1 branch .. //depot/projects/bdb/bin/rm/Makefile#1 branch .. //depot/projects/bdb/bin/rm/rm.1#1 branch .. //depot/projects/bdb/bin/rm/rm.c#1 branch .. //depot/projects/bdb/bin/rmail/Makefile#1 branch .. //depot/projects/bdb/bin/rmdir/Makefile#1 branch .. //depot/projects/bdb/bin/rmdir/rmdir.1#1 branch .. //depot/projects/bdb/bin/rmdir/rmdir.c#1 branch .. //depot/projects/bdb/bin/setfacl/Makefile#1 branch .. //depot/projects/bdb/bin/setfacl/file.c#1 branch .. //depot/projects/bdb/bin/setfacl/mask.c#1 branch .. //depot/projects/bdb/bin/setfacl/merge.c#1 branch .. //depot/projects/bdb/bin/setfacl/remove.c#1 branch .. //depot/projects/bdb/bin/setfacl/setfacl.1#1 branch .. //depot/projects/bdb/bin/setfacl/setfacl.c#1 branch .. //depot/projects/bdb/bin/setfacl/setfacl.h#1 branch .. //depot/projects/bdb/bin/setfacl/util.c#1 branch .. //depot/projects/bdb/bin/sh/Makefile#1 branch .. //depot/projects/bdb/bin/sh/TOUR#1 branch .. //depot/projects/bdb/bin/sh/alias.c#1 branch .. //depot/projects/bdb/bin/sh/alias.h#1 branch .. //depot/projects/bdb/bin/sh/arith.h#1 branch .. //depot/projects/bdb/bin/sh/arith.y#1 branch .. //depot/projects/bdb/bin/sh/arith_lex.l#1 branch .. //depot/projects/bdb/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/bdb/bin/sh/bltin/echo.1#1 branch .. //depot/projects/bdb/bin/sh/bltin/echo.c#1 branch .. //depot/projects/bdb/bin/sh/builtins.def#1 branch .. //depot/projects/bdb/bin/sh/cd.c#1 branch .. //depot/projects/bdb/bin/sh/cd.h#1 branch .. //depot/projects/bdb/bin/sh/error.c#1 branch .. //depot/projects/bdb/bin/sh/error.h#1 branch .. //depot/projects/bdb/bin/sh/eval.c#1 branch .. //depot/projects/bdb/bin/sh/eval.h#1 branch .. //depot/projects/bdb/bin/sh/exec.c#1 branch .. //depot/projects/bdb/bin/sh/exec.h#1 branch .. //depot/projects/bdb/bin/sh/expand.c#1 branch .. //depot/projects/bdb/bin/sh/expand.h#1 branch .. //depot/projects/bdb/bin/sh/funcs/cmv#1 branch .. //depot/projects/bdb/bin/sh/funcs/dirs#1 branch .. //depot/projects/bdb/bin/sh/funcs/kill#1 branch .. //depot/projects/bdb/bin/sh/funcs/login#1 branch .. //depot/projects/bdb/bin/sh/funcs/newgrp#1 branch .. //depot/projects/bdb/bin/sh/funcs/popd#1 branch .. //depot/projects/bdb/bin/sh/funcs/pushd#1 branch .. //depot/projects/bdb/bin/sh/funcs/suspend#1 branch .. //depot/projects/bdb/bin/sh/histedit.c#1 branch .. //depot/projects/bdb/bin/sh/init.h#1 branch .. //depot/projects/bdb/bin/sh/input.c#1 branch .. //depot/projects/bdb/bin/sh/input.h#1 branch .. //depot/projects/bdb/bin/sh/jobs.c#1 branch .. //depot/projects/bdb/bin/sh/jobs.h#1 branch .. //depot/projects/bdb/bin/sh/mail.c#1 branch .. //depot/projects/bdb/bin/sh/mail.h#1 branch .. //depot/projects/bdb/bin/sh/main.c#1 branch .. //depot/projects/bdb/bin/sh/main.h#1 branch .. //depot/projects/bdb/bin/sh/memalloc.c#1 branch .. //depot/projects/bdb/bin/sh/memalloc.h#1 branch .. //depot/projects/bdb/bin/sh/miscbltin.c#1 branch .. //depot/projects/bdb/bin/sh/mkbuiltins#1 branch .. //depot/projects/bdb/bin/sh/mkinit.c#1 branch .. //depot/projects/bdb/bin/sh/mknodes.c#1 branch .. //depot/projects/bdb/bin/sh/mksyntax.c#1 branch .. //depot/projects/bdb/bin/sh/mktokens#1 branch .. //depot/projects/bdb/bin/sh/myhistedit.h#1 branch .. //depot/projects/bdb/bin/sh/mystring.c#1 branch .. //depot/projects/bdb/bin/sh/mystring.h#1 branch .. //depot/projects/bdb/bin/sh/nodes.c.pat#1 branch .. //depot/projects/bdb/bin/sh/nodetypes#1 branch .. //depot/projects/bdb/bin/sh/options.c#1 branch .. //depot/projects/bdb/bin/sh/options.h#1 branch .. //depot/projects/bdb/bin/sh/output.c#1 branch .. //depot/projects/bdb/bin/sh/output.h#1 branch .. //depot/projects/bdb/bin/sh/parser.c#1 branch .. //depot/projects/bdb/bin/sh/parser.h#1 branch .. //depot/projects/bdb/bin/sh/redir.c#1 branch .. //depot/projects/bdb/bin/sh/redir.h#1 branch .. //depot/projects/bdb/bin/sh/sh.1#1 branch .. //depot/projects/bdb/bin/sh/shell.h#1 branch .. //depot/projects/bdb/bin/sh/show.c#1 branch .. //depot/projects/bdb/bin/sh/show.h#1 branch .. //depot/projects/bdb/bin/sh/trap.c#1 branch .. //depot/projects/bdb/bin/sh/trap.h#1 branch .. //depot/projects/bdb/bin/sh/var.c#1 branch .. //depot/projects/bdb/bin/sh/var.h#1 branch .. //depot/projects/bdb/bin/sleep/Makefile#1 branch .. //depot/projects/bdb/bin/sleep/sleep.1#1 branch .. //depot/projects/bdb/bin/sleep/sleep.c#1 branch .. //depot/projects/bdb/bin/stty/Makefile#1 branch .. //depot/projects/bdb/bin/stty/cchar.c#1 branch .. //depot/projects/bdb/bin/stty/extern.h#1 branch .. //depot/projects/bdb/bin/stty/gfmt.c#1 branch .. //depot/projects/bdb/bin/stty/key.c#1 branch .. //depot/projects/bdb/bin/stty/modes.c#1 branch .. //depot/projects/bdb/bin/stty/print.c#1 branch .. //depot/projects/bdb/bin/stty/stty.1#1 branch .. //depot/projects/bdb/bin/stty/stty.c#1 branch .. //depot/projects/bdb/bin/stty/stty.h#1 branch .. //depot/projects/bdb/bin/stty/util.c#1 branch .. //depot/projects/bdb/bin/sync/Makefile#1 branch .. //depot/projects/bdb/bin/sync/sync.8#1 branch .. //depot/projects/bdb/bin/sync/sync.c#1 branch .. //depot/projects/bdb/bin/test/Makefile#1 branch .. //depot/projects/bdb/bin/test/TEST.README#1 branch .. //depot/projects/bdb/bin/test/TEST.csh#1 branch .. //depot/projects/bdb/bin/test/TEST.sh#1 branch .. //depot/projects/bdb/bin/test/test.1#1 branch .. //depot/projects/bdb/bin/test/test.c#1 branch .. //depot/projects/bdb/cddl/Makefile#1 branch .. //depot/projects/bdb/cddl/Makefile.inc#1 branch .. //depot/projects/bdb/cddl/lib/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/Makefile.inc#1 branch .. //depot/projects/bdb/cddl/lib/libavl/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/libnvpair/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/libumem/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/libuutil/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/libzfs/Makefile#1 branch .. //depot/projects/bdb/cddl/lib/libzpool/Makefile#1 branch .. //depot/projects/bdb/cddl/sbin/Makefile#1 branch .. //depot/projects/bdb/cddl/sbin/Makefile.inc#1 branch .. //depot/projects/bdb/cddl/sbin/zfs/Makefile#1 branch .. //depot/projects/bdb/cddl/sbin/zpool/Makefile#1 branch .. //depot/projects/bdb/cddl/usr.bin/Makefile#1 branch .. //depot/projects/bdb/cddl/usr.bin/Makefile.inc#1 branch .. //depot/projects/bdb/cddl/usr.bin/ztest/Makefile#1 branch .. //depot/projects/bdb/cddl/usr.sbin/Makefile#1 branch .. //depot/projects/bdb/cddl/usr.sbin/Makefile.inc#1 branch .. //depot/projects/bdb/cddl/usr.sbin/zdb/Makefile#1 branch .. //depot/projects/bdb/compat/opensolaris/include/alloca.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/fcntl.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/stdio.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/stdlib.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/strings.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/unistd.h#1 branch .. //depot/projects/bdb/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/bdb/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/bdb/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/bdb/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/bdb/contrib/amd/AUTHORS#1 branch .. //depot/projects/bdb/contrib/amd/BUGS#1 branch .. //depot/projects/bdb/contrib/amd/COPYING#1 branch .. //depot/projects/bdb/contrib/amd/ChangeLog#1 branch .. //depot/projects/bdb/contrib/amd/FAQ#1 branch .. //depot/projects/bdb/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/bdb/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/bdb/contrib/amd/INSTALL#1 branch .. //depot/projects/bdb/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/bdb/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/bdb/contrib/amd/NEWS#1 branch .. //depot/projects/bdb/contrib/amd/README#1 branch .. //depot/projects/bdb/contrib/amd/README.attrcache#1 branch .. //depot/projects/bdb/contrib/amd/README.ldap#1 branch .. //depot/projects/bdb/contrib/amd/README.y2k#1 branch .. //depot/projects/bdb/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amd.8#1 branch .. //depot/projects/bdb/contrib/amd/amd/amd.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amd.h#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_generic.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/autil.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/clock.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/conf.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/bdb/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/bdb/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_exec.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/map.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/opts.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/readdir.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/restart.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/sched.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/bdb/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/bdb/contrib/amd/amq/amq.8#1 branch .. //depot/projects/bdb/contrib/amd/amq/amq.c#1 branch .. //depot/projects/bdb/contrib/amd/amq/amq.h#1 branch .. //depot/projects/bdb/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/bdb/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/bdb/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/bdb/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/bdb/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/bdb/contrib/amd/bootstrap#1 branch .. //depot/projects/bdb/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/bdb/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/bdb/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/bdb/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/bdb/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/bdb/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/bdb/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/bdb/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/bdb/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/bdb/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/bdb/contrib/amd/doc/stamp-vti#1 branch .. //depot/projects/bdb/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/bdb/contrib/amd/doc/version.texi#1 branch .. //depot/projects/bdb/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/bdb/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/bdb/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/bdb/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/bdb/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/bdb/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/bdb/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/bdb/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/bdb/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/bdb/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/bdb/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/bdb/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/bdb/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/bdb/contrib/amd/ldap.schema#1 branch .. //depot/projects/bdb/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/bdb/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/strutil.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/bdb/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/bdb/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/bdb/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/bdb/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/bdb/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/bdb/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/bdb/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/bdb/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/bdb/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/test-attrcache.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/bdb/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/bdb/contrib/amd/tasks#1 branch .. //depot/projects/bdb/contrib/amd/vers.m4#1 branch .. //depot/projects/bdb/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/bdb/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/bdb/contrib/bc/AUTHORS#1 branch .. //depot/projects/bdb/contrib/bc/ChangeLog#1 branch .. //depot/projects/bdb/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/bdb/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/bdb/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/bdb/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/bdb/contrib/bc/FAQ#1 branch .. //depot/projects/bdb/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/bdb/contrib/bc/INSTALL#1 branch .. //depot/projects/bdb/contrib/bc/Makefile.am#1 branch .. //depot/projects/bdb/contrib/bc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bc/NEWS#1 branch .. //depot/projects/bdb/contrib/bc/README#1 branch .. //depot/projects/bdb/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/bdb/contrib/bc/Test/array.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/atan.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/div.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/exp.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/fact.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/jn.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/ln.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/mul.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/raise.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/signum#1 branch .. //depot/projects/bdb/contrib/bc/Test/sine.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/bdb/contrib/bc/Test/timetest#1 branch .. //depot/projects/bdb/contrib/bc/acconfig.h#1 branch .. //depot/projects/bdb/contrib/bc/aclocal.m4#1 branch .. //depot/projects/bdb/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/bdb/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bc/bc/bc.y#1 branch .. //depot/projects/bdb/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/bdb/contrib/bc/bc/const.h#1 branch .. //depot/projects/bdb/contrib/bc/bc/execute.c#1 branch .. //depot/projects/bdb/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/bdb/contrib/bc/bc/global.c#1 branch .. //depot/projects/bdb/contrib/bc/bc/global.h#1 branch .. //depot/projects/bdb/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/bdb/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/bdb/contrib/bc/bc/load.c#1 branch .. //depot/projects/bdb/contrib/bc/bc/main.c#1 branch .. //depot/projects/bdb/contrib/bc/bc/proto.h#1 branch .. //depot/projects/bdb/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/bdb/contrib/bc/bc/scan.l#1 branch .. //depot/projects/bdb/contrib/bc/bc/storage.c#1 branch .. //depot/projects/bdb/contrib/bc/bc/util.c#1 branch .. //depot/projects/bdb/contrib/bc/config.h.in#1 branch .. //depot/projects/bdb/contrib/bc/configure#1 branch .. //depot/projects/bdb/contrib/bc/configure.in#1 branch .. //depot/projects/bdb/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/bdb/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bc/dc/array.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/bdb/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/bdb/contrib/bc/dc/dc.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/dc.h#1 branch .. //depot/projects/bdb/contrib/bc/dc/eval.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/misc.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/stack.c#1 branch .. //depot/projects/bdb/contrib/bc/dc/string.c#1 branch .. //depot/projects/bdb/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/bdb/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bc/doc/bc.1#1 branch .. //depot/projects/bdb/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/bdb/contrib/bc/doc/dc.1#1 branch .. //depot/projects/bdb/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/bdb/contrib/bc/h/number.h#1 branch .. //depot/projects/bdb/contrib/bc/install-sh#1 branch .. //depot/projects/bdb/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/bdb/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bc/lib/number.c#1 branch .. //depot/projects/bdb/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/bdb/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/bdb/contrib/bc/missing#1 branch .. //depot/projects/bdb/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/bdb/contrib/bc/stamp-h.in#1 branch .. //depot/projects/bdb/contrib/bind9/CHANGES#1 branch .. //depot/projects/bdb/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/bdb/contrib/bind9/FAQ#1 branch .. //depot/projects/bdb/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/bdb/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/bdb/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/bdb/contrib/bind9/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/README#1 branch .. //depot/projects/bdb/contrib/bind9/README.idnkit#1 branch .. //depot/projects/bdb/contrib/bind9/acconfig.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/bdb/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/bdb/contrib/bind9/config.guess#1 branch .. //depot/projects/bdb/contrib/bind9/config.sub#1 branch .. //depot/projects/bdb/contrib/bind9/config.threads.in#1 branch .. //depot/projects/bdb/contrib/bind9/configure.in#1 branch .. //depot/projects/bdb/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/bdb/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc1996.txt#1 branch .. //depot/projects/bdb/contrib/bind9/doc/rfc/rfc2052.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 2 20:46:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26BFE1065677; Sun, 2 Mar 2008 20:46: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 D9ED41065671 for ; Sun, 2 Mar 2008 20:46: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 B4A698FC18 for ; Sun, 2 Mar 2008 20:46: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 m22Kkb3d026949 for ; Sun, 2 Mar 2008 20:46:37 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22Kkb4S026947 for perforce@freebsd.org; Sun, 2 Mar 2008 20:46:37 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 2 Mar 2008 20:46:37 GMT Message-Id: <200803022046.m22Kkb4S026947@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 136690 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, 02 Mar 2008 20:46:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=136690 Change 136690 by hselasky@hselasky_laptop001 on 2008/03/02 20:45:52 Add full support for USB Mass Storage Devices in USB device side mode. There is still some work left to do like allowing a file in the file system to be mounted. Currently only a ram disk is supported. Thanks to the Linux Gadget team for a good dual licensed MSC class driver which I used alot for reference. Affected files ... .. //depot/projects/usb/src/sys/conf/files#25 edit .. //depot/projects/usb/src/sys/dev/usb/ustorage_fs.c#1 add .. //depot/projects/usb/src/sys/modules/Makefile#11 edit .. //depot/projects/usb/src/sys/modules/ustorage_fs/Makefile#1 add Differences ... ==== //depot/projects/usb/src/sys/conf/files#25 (text+ko) ==== @@ -1154,6 +1154,7 @@ dev/usb/uscanner.c optional uscanner dev/usb/uss820_dci.c optional uss820_dci dev/usb/uss820_dci_pccard.c optional uss820_dci pccard +dev/usb/ustorage_fs.c optional ustorage_fs dev/usb/uvisor.c optional uvisor dev/usb/uvscom.c optional uvscom # End of USB support ==== //depot/projects/usb/src/sys/modules/Makefile#11 (text+ko) ==== @@ -293,6 +293,7 @@ usb \ uscanner \ uss820_dci \ + ustorage_fs \ utopia \ uvisor \ uvscom \ From owner-p4-projects@FreeBSD.ORG Sun Mar 2 21:45:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2433B1065674; Sun, 2 Mar 2008 21:45: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 D72F4106566C for ; Sun, 2 Mar 2008 21:45:46 +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 AF8B28FC21 for ; Sun, 2 Mar 2008 21:45:46 +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 m22Ljkwb039427 for ; Sun, 2 Mar 2008 21:45:46 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22LjkRm039425 for perforce@freebsd.org; Sun, 2 Mar 2008 21:45:46 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 21:45:46 GMT Message-Id: <200803022145.m22LjkRm039425@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 136693 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, 02 Mar 2008 21:45:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=136693 Change 136693 by marcel@marcel_xcllnt on 2008/03/02 21:45:19 IFC @136692 Affected files ... .. //depot/projects/e500/lib/msun/ld128/s_nanl.c#3 integrate .. //depot/projects/e500/share/man/man9/lock.9#8 integrate .. //depot/projects/e500/sys/fs/nwfs/nwfs_node.c#5 integrate .. //depot/projects/e500/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/e500/sys/fs/smbfs/smbfs_node.c#6 integrate .. //depot/projects/e500/sys/fs/smbfs/smbfs_vfsops.c#4 integrate .. //depot/projects/e500/sys/kern/sched_4bsd.c#8 integrate .. //depot/projects/e500/sys/security/audit/audit_trigger.c#4 integrate .. //depot/projects/e500/tools/regression/lib/msun/test-trig.c#2 integrate Differences ... ==== //depot/projects/e500/lib/msun/ld128/s_nanl.c#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/lib/msun/ld128/s_nanl.c,v 1.2 2007/12/18 23:46:31 das Exp $ + * $FreeBSD: src/lib/msun/ld128/s_nanl.c,v 1.3 2008/03/02 20:16:55 das Exp $ */ #include @@ -41,6 +41,6 @@ _scan_nan(u.bits, 4, s); u.ieee.bits.exp = 0x7fff; - u.ieee.bits.manh |= 1 << 47; /* make it a quiet NaN */ + u.ieee.bits.manh |= 1ULL << 47; /* make it a quiet NaN */ return (u.ieee.e); } ==== //depot/projects/e500/share/man/man9/lock.9#8 (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.29 2008/03/01 21:24:07 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.30 2008/03/02 20:07:48 brueffer Exp $ .\" .Dd March 1, 2008 .Dt LOCK 9 @@ -193,7 +193,8 @@ .Fa timo and .Fa prio -on a per-instance basis. The specified values will override the default +on a per-instance basis. +The specified values will override the default ones, but this can still be used passing, respectively, .Dv LK_WMESG_DEFAULT , .Dv LK_PRIO_DEFAULT ==== //depot/projects/e500/sys/fs/nwfs/nwfs_node.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/nwfs/nwfs_node.c,v 1.42 2008/02/24 16:38:56 attilio Exp $ + * $FreeBSD: src/sys/fs/nwfs/nwfs_node.c,v 1.43 2008/03/02 19:02:30 rwatson Exp $ */ #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -62,7 +63,7 @@ static LIST_HEAD(nwnode_hash_head,nwnode) *nwhashtbl; static u_long nwnodehash; -static struct lock nwhashlock; +static struct sx nwhashlock; static MALLOC_DEFINE(M_NWNODE, "nwfs_node", "NWFS vnode private part"); static MALLOC_DEFINE(M_NWFSHASH, "nwfs_hash", "NWFS has table"); @@ -77,12 +78,12 @@ void nwfs_hash_init(void) { nwhashtbl = hashinit(desiredvnodes, M_NWFSHASH, &nwnodehash); - lockinit(&nwhashlock, PVFS, "nwfshl", 0, 0); + sx_init(&nwhashlock, "nwfshl"); } void nwfs_hash_free(void) { - lockdestroy(&nwhashlock); + sx_destroy(&nwhashlock); free(nwhashtbl, M_NWFSHASH); } @@ -118,6 +119,8 @@ struct nwnode *np; struct nwnode_hash_head *nhpp; + sx_assert(&nwhashlock, SA_XLOCKED); + nhpp = NWNOHASH(fid); LIST_FOREACH(np, nhpp, n_hash) { if (nmp != np->n_mount || !NWCMPF(&fid, &np->n_fid)) @@ -144,12 +147,12 @@ int error; loop: - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); rescan: if (nwfs_hashlookup(nmp, fid, &np) == 0) { vp = NWTOV(np); mtx_lock(&vp->v_interlock); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread)) goto loop; if (fap) @@ -157,7 +160,7 @@ *vpp = vp; return(0); } - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (fap == NULL || ((fap->attributes & aDIR) == 0 && dvp == NULL)) panic("nwfs_allocvp: fap = %p, dvp = %p\n", fap, dvp); @@ -189,7 +192,7 @@ np->n_parent = VTONW(dvp)->n_fid; } VN_LOCK_AREC(vp); - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); /* * Another process can create vnode while we blocked in malloc() or * getnewvnode(). Rescan list again. @@ -205,7 +208,7 @@ nhpp = NWNOHASH(fid); LIST_INSERT_HEAD(nhpp, np, n_hash); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); ASSERT_VOP_LOCKED(dvp, "nwfs_allocvp"); if (vp->v_type == VDIR && dvp && (dvp->v_vflag & VV_ROOT) == 0) { @@ -238,9 +241,9 @@ { int error; - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); error = nwfs_hashlookup(nmp, fid, npp); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); return error; } @@ -273,9 +276,9 @@ NCPVNDEBUG("%s: has no parent ?\n",np->n_name); } } - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); LIST_REMOVE(np, n_hash); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (nmp->n_root == np) { nmp->n_root = NULL; } ==== //depot/projects/e500/sys/fs/smbfs/smbfs.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs.h,v 1.12 2005/01/14 08:52:55 phk Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs.h,v 1.13 2008/03/02 18:56:13 rwatson Exp $ */ #ifndef _SMBFS_SMBFS_H_ #define _SMBFS_SMBFS_H_ @@ -65,6 +65,8 @@ #ifdef _KERNEL +#include + #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_SMBFSMNT); #endif @@ -90,7 +92,7 @@ /* struct simplelock sm_npslock;*/ struct smbnode * sm_npstack[SMBFS_MAXPATHCOMP]; int sm_caseopt; - struct lock sm_hashlock; + struct sx sm_hashlock; LIST_HEAD(smbnode_hashhead, smbnode) *sm_hash; u_long sm_hashlen; int sm_didrele; ==== //depot/projects/e500/sys/fs/smbfs/smbfs_node.c#6 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs_node.c,v 1.37 2008/02/24 16:38:57 attilio Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs_node.c,v 1.38 2008/03/02 18:56:13 rwatson Exp $ */ #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -58,11 +59,8 @@ #include #define SMBFS_NOHASH(smp, hval) (&(smp)->sm_hash[(hval) & (smp)->sm_hashlen]) -#define smbfs_hash_lock(smp, td) \ - lockmgr(&smp->sm_hashlock, LK_EXCLUSIVE, NULL) -#define smbfs_hash_unlock(smp, td) \ - lockmgr(&smp->sm_hashlock, LK_RELEASE, NULL) - +#define smbfs_hash_lock(smp, td) sx_xlock(&smp->sm_hashlock) +#define smbfs_hash_unlock(smp, td) sx_xunlock(&smp->sm_hashlock) extern struct vop_vector smbfs_vnodeops; /* XXX -> .h file */ ==== //depot/projects/e500/sys/fs/smbfs/smbfs_vfsops.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs_vfsops.c,v 1.43 2008/01/13 14:44:05 attilio Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs_vfsops.c,v 1.44 2008/03/02 18:56:13 rwatson Exp $ */ #include @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -192,7 +193,7 @@ smp->sm_hash = hashinit(desiredvnodes, M_SMBFSHASH, &smp->sm_hashlen); if (smp->sm_hash == NULL) goto bad; - lockinit(&smp->sm_hashlock, PVFS, "smbfsh", 0, 0); + sx_init(&smp->sm_hashlock, "smbfsh"); smp->sm_share = ssp; smp->sm_root = NULL; if (1 != vfs_scanopt(mp->mnt_optnew, @@ -264,7 +265,7 @@ if (smp) { if (smp->sm_hash) free(smp->sm_hash, M_SMBFSHASH); - lockdestroy(&smp->sm_hashlock); + sx_destroy(&smp->sm_hashlock); #ifdef SMBFS_USEZONE zfree(smbfsmount_zone, smp); #else @@ -312,7 +313,7 @@ if (smp->sm_hash) free(smp->sm_hash, M_SMBFSHASH); - lockdestroy(&smp->sm_hashlock); + sx_destroy(&smp->sm_hashlock); #ifdef SMBFS_USEZONE zfree(smbfsmount_zone, smp); #else ==== //depot/projects/e500/sys/kern/sched_4bsd.c#8 (text+ko) ==== @@ -33,12 +33,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.113 2008/03/02 07:19:35 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.114 2008/03/02 21:34:57 marcel Exp $"); #include "opt_hwpmc_hooks.h" #include #include +#include #include #include #include @@ -646,6 +647,7 @@ { childtd->td_estcpu = td->td_estcpu; childtd->td_lock = &sched_lock; + childtd->td_cpuset = cpuset_ref(td->td_cpuset); sched_newthread(childtd); } ==== //depot/projects/e500/sys/security/audit/audit_trigger.c#4 (text) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_trigger.c,v 1.6 2008/03/01 11:04:04 rwatson Exp $ + * $FreeBSD: src/sys/security/audit/audit_trigger.c,v 1.7 2008/03/02 21:34:17 rwatson Exp $ */ #include @@ -113,7 +113,7 @@ } mtx_unlock(&audit_trigger_mtx); if (!error) { - error = uiomove(ti, sizeof *ti, uio); + error = uiomove(&ti->trigger, sizeof(ti->trigger), uio); free(ti, M_AUDITTRIGGER); } return (error); ==== //depot/projects/e500/tools/regression/lib/msun/test-trig.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-trig.c,v 1.1 2008/02/18 02:00:16 das Exp $"); +__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-trig.c,v 1.2 2008/03/02 20:49:24 das Exp $"); #include #include @@ -65,16 +65,23 @@ #define test(func, x, result, exceptmask, excepts) do { \ volatile long double _d = x; \ assert(feclearexcept(FE_ALL_EXCEPT) == 0); \ - assert(fpequal((func)(_d), (result))); \ + assert(fpequal((func)(_d), (result))); \ assert(((func), fetestexcept(exceptmask) == (excepts))); \ } while (0) #define testall(prefix, x, result, exceptmask, excepts) do { \ - test(prefix, x, (double)result, exceptmask, excepts); \ + test(prefix, x, (double)result, exceptmask, excepts); \ test(prefix##f, x, (float)result, exceptmask, excepts); \ test(prefix##l, x, result, exceptmask, excepts); \ } while (0) +#define testdf(prefix, x, result, exceptmask, excepts) do { \ + test(prefix, x, (double)result, exceptmask, excepts); \ + test(prefix##f, x, (float)result, exceptmask, excepts); \ +} while (0) + + + /* * Determine whether x and y are equal, with two special rules: * +0.0 != -0.0 @@ -238,17 +245,22 @@ * These tests should pass for f32, d64, and ld80 as long as * the error is <= 0.75 ulp (round to nearest) */ - testall(sin, 0.17255452780841205174L, 0.17169949801444412683L, +#if LDBL_MANT_DIG <= 64 +#define testacc testall +#else +#define testacc testdf +#endif + testacc(sin, 0.17255452780841205174L, 0.17169949801444412683L, ALL_STD_EXCEPT, FE_INEXACT); - testall(sin, -0.75431944555904520893L, -0.68479288156557286353L, + testacc(sin, -0.75431944555904520893L, -0.68479288156557286353L, ALL_STD_EXCEPT, FE_INEXACT); - testall(cos, 0.70556358769838947292L, 0.76124620693117771850L, + testacc(cos, 0.70556358769838947292L, 0.76124620693117771850L, ALL_STD_EXCEPT, FE_INEXACT); - testall(cos, -0.34061437849088045332L, 0.94254960031831729956L, + testacc(cos, -0.34061437849088045332L, 0.94254960031831729956L, ALL_STD_EXCEPT, FE_INEXACT); - testall(tan, -0.15862817413325692897L, -0.15997221861309522115L, + testacc(tan, -0.15862817413325692897L, -0.15997221861309522115L, ALL_STD_EXCEPT, FE_INEXACT); - testall(tan, 0.38374784931303813530L, 0.40376500259976759951L, + testacc(tan, 0.38374784931303813530L, 0.40376500259976759951L, ALL_STD_EXCEPT, FE_INEXACT); /* From owner-p4-projects@FreeBSD.ORG Sun Mar 2 21:46:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6338E1065673; Sun, 2 Mar 2008 21:46: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 224F81065671 for ; Sun, 2 Mar 2008 21:46:48 +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 EE7BD8FC17 for ; Sun, 2 Mar 2008 21:46:47 +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 m22Lkl71039467 for ; Sun, 2 Mar 2008 21:46:47 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22LklOl039465 for perforce@freebsd.org; Sun, 2 Mar 2008 21:46:47 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 21:46:47 GMT Message-Id: <200803022146.m22LklOl039465@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 136694 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, 02 Mar 2008 21:46:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=136694 Change 136694 by marcel@marcel_xcllnt on 2008/03/02 21:46:13 IFC @136692 Affected files ... .. //depot/projects/powerpc/lib/msun/ld128/s_nanl.c#3 integrate .. //depot/projects/powerpc/share/man/man9/lock.9#8 integrate .. //depot/projects/powerpc/sys/fs/nwfs/nwfs_node.c#9 integrate .. //depot/projects/powerpc/sys/fs/smbfs/smbfs.h#4 integrate .. //depot/projects/powerpc/sys/fs/smbfs/smbfs_node.c#9 integrate .. //depot/projects/powerpc/sys/fs/smbfs/smbfs_vfsops.c#6 integrate .. //depot/projects/powerpc/sys/kern/sched_4bsd.c#12 integrate .. //depot/projects/powerpc/sys/security/audit/audit_trigger.c#5 integrate .. //depot/projects/powerpc/tools/regression/lib/msun/test-trig.c#2 integrate Differences ... ==== //depot/projects/powerpc/lib/msun/ld128/s_nanl.c#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/lib/msun/ld128/s_nanl.c,v 1.2 2007/12/18 23:46:31 das Exp $ + * $FreeBSD: src/lib/msun/ld128/s_nanl.c,v 1.3 2008/03/02 20:16:55 das Exp $ */ #include @@ -41,6 +41,6 @@ _scan_nan(u.bits, 4, s); u.ieee.bits.exp = 0x7fff; - u.ieee.bits.manh |= 1 << 47; /* make it a quiet NaN */ + u.ieee.bits.manh |= 1ULL << 47; /* make it a quiet NaN */ return (u.ieee.e); } ==== //depot/projects/powerpc/share/man/man9/lock.9#8 (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.29 2008/03/01 21:24:07 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.30 2008/03/02 20:07:48 brueffer Exp $ .\" .Dd March 1, 2008 .Dt LOCK 9 @@ -193,7 +193,8 @@ .Fa timo and .Fa prio -on a per-instance basis. The specified values will override the default +on a per-instance basis. +The specified values will override the default ones, but this can still be used passing, respectively, .Dv LK_WMESG_DEFAULT , .Dv LK_PRIO_DEFAULT ==== //depot/projects/powerpc/sys/fs/nwfs/nwfs_node.c#9 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/nwfs/nwfs_node.c,v 1.42 2008/02/24 16:38:56 attilio Exp $ + * $FreeBSD: src/sys/fs/nwfs/nwfs_node.c,v 1.43 2008/03/02 19:02:30 rwatson Exp $ */ #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -62,7 +63,7 @@ static LIST_HEAD(nwnode_hash_head,nwnode) *nwhashtbl; static u_long nwnodehash; -static struct lock nwhashlock; +static struct sx nwhashlock; static MALLOC_DEFINE(M_NWNODE, "nwfs_node", "NWFS vnode private part"); static MALLOC_DEFINE(M_NWFSHASH, "nwfs_hash", "NWFS has table"); @@ -77,12 +78,12 @@ void nwfs_hash_init(void) { nwhashtbl = hashinit(desiredvnodes, M_NWFSHASH, &nwnodehash); - lockinit(&nwhashlock, PVFS, "nwfshl", 0, 0); + sx_init(&nwhashlock, "nwfshl"); } void nwfs_hash_free(void) { - lockdestroy(&nwhashlock); + sx_destroy(&nwhashlock); free(nwhashtbl, M_NWFSHASH); } @@ -118,6 +119,8 @@ struct nwnode *np; struct nwnode_hash_head *nhpp; + sx_assert(&nwhashlock, SA_XLOCKED); + nhpp = NWNOHASH(fid); LIST_FOREACH(np, nhpp, n_hash) { if (nmp != np->n_mount || !NWCMPF(&fid, &np->n_fid)) @@ -144,12 +147,12 @@ int error; loop: - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); rescan: if (nwfs_hashlookup(nmp, fid, &np) == 0) { vp = NWTOV(np); mtx_lock(&vp->v_interlock); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread)) goto loop; if (fap) @@ -157,7 +160,7 @@ *vpp = vp; return(0); } - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (fap == NULL || ((fap->attributes & aDIR) == 0 && dvp == NULL)) panic("nwfs_allocvp: fap = %p, dvp = %p\n", fap, dvp); @@ -189,7 +192,7 @@ np->n_parent = VTONW(dvp)->n_fid; } VN_LOCK_AREC(vp); - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); /* * Another process can create vnode while we blocked in malloc() or * getnewvnode(). Rescan list again. @@ -205,7 +208,7 @@ nhpp = NWNOHASH(fid); LIST_INSERT_HEAD(nhpp, np, n_hash); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); ASSERT_VOP_LOCKED(dvp, "nwfs_allocvp"); if (vp->v_type == VDIR && dvp && (dvp->v_vflag & VV_ROOT) == 0) { @@ -238,9 +241,9 @@ { int error; - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); error = nwfs_hashlookup(nmp, fid, npp); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); return error; } @@ -273,9 +276,9 @@ NCPVNDEBUG("%s: has no parent ?\n",np->n_name); } } - lockmgr(&nwhashlock, LK_EXCLUSIVE, NULL); + sx_xlock(&nwhashlock); LIST_REMOVE(np, n_hash); - lockmgr(&nwhashlock, LK_RELEASE, NULL); + sx_xunlock(&nwhashlock); if (nmp->n_root == np) { nmp->n_root = NULL; } ==== //depot/projects/powerpc/sys/fs/smbfs/smbfs.h#4 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs.h,v 1.12 2005/01/14 08:52:55 phk Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs.h,v 1.13 2008/03/02 18:56:13 rwatson Exp $ */ #ifndef _SMBFS_SMBFS_H_ #define _SMBFS_SMBFS_H_ @@ -65,6 +65,8 @@ #ifdef _KERNEL +#include + #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_SMBFSMNT); #endif @@ -90,7 +92,7 @@ /* struct simplelock sm_npslock;*/ struct smbnode * sm_npstack[SMBFS_MAXPATHCOMP]; int sm_caseopt; - struct lock sm_hashlock; + struct sx sm_hashlock; LIST_HEAD(smbnode_hashhead, smbnode) *sm_hash; u_long sm_hashlen; int sm_didrele; ==== //depot/projects/powerpc/sys/fs/smbfs/smbfs_node.c#9 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs_node.c,v 1.37 2008/02/24 16:38:57 attilio Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs_node.c,v 1.38 2008/03/02 18:56:13 rwatson Exp $ */ #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -58,11 +59,8 @@ #include #define SMBFS_NOHASH(smp, hval) (&(smp)->sm_hash[(hval) & (smp)->sm_hashlen]) -#define smbfs_hash_lock(smp, td) \ - lockmgr(&smp->sm_hashlock, LK_EXCLUSIVE, NULL) -#define smbfs_hash_unlock(smp, td) \ - lockmgr(&smp->sm_hashlock, LK_RELEASE, NULL) - +#define smbfs_hash_lock(smp, td) sx_xlock(&smp->sm_hashlock) +#define smbfs_hash_unlock(smp, td) sx_xunlock(&smp->sm_hashlock) extern struct vop_vector smbfs_vnodeops; /* XXX -> .h file */ ==== //depot/projects/powerpc/sys/fs/smbfs/smbfs_vfsops.c#6 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/smbfs/smbfs_vfsops.c,v 1.43 2008/01/13 14:44:05 attilio Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs_vfsops.c,v 1.44 2008/03/02 18:56:13 rwatson Exp $ */ #include @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -192,7 +193,7 @@ smp->sm_hash = hashinit(desiredvnodes, M_SMBFSHASH, &smp->sm_hashlen); if (smp->sm_hash == NULL) goto bad; - lockinit(&smp->sm_hashlock, PVFS, "smbfsh", 0, 0); + sx_init(&smp->sm_hashlock, "smbfsh"); smp->sm_share = ssp; smp->sm_root = NULL; if (1 != vfs_scanopt(mp->mnt_optnew, @@ -264,7 +265,7 @@ if (smp) { if (smp->sm_hash) free(smp->sm_hash, M_SMBFSHASH); - lockdestroy(&smp->sm_hashlock); + sx_destroy(&smp->sm_hashlock); #ifdef SMBFS_USEZONE zfree(smbfsmount_zone, smp); #else @@ -312,7 +313,7 @@ if (smp->sm_hash) free(smp->sm_hash, M_SMBFSHASH); - lockdestroy(&smp->sm_hashlock); + sx_destroy(&smp->sm_hashlock); #ifdef SMBFS_USEZONE zfree(smbfsmount_zone, smp); #else ==== //depot/projects/powerpc/sys/kern/sched_4bsd.c#12 (text+ko) ==== @@ -33,12 +33,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.113 2008/03/02 07:19:35 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.114 2008/03/02 21:34:57 marcel Exp $"); #include "opt_hwpmc_hooks.h" #include #include +#include #include #include #include @@ -646,6 +647,7 @@ { childtd->td_estcpu = td->td_estcpu; childtd->td_lock = &sched_lock; + childtd->td_cpuset = cpuset_ref(td->td_cpuset); sched_newthread(childtd); } ==== //depot/projects/powerpc/sys/security/audit/audit_trigger.c#5 (text) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_trigger.c,v 1.6 2008/03/01 11:04:04 rwatson Exp $ + * $FreeBSD: src/sys/security/audit/audit_trigger.c,v 1.7 2008/03/02 21:34:17 rwatson Exp $ */ #include @@ -113,7 +113,7 @@ } mtx_unlock(&audit_trigger_mtx); if (!error) { - error = uiomove(ti, sizeof *ti, uio); + error = uiomove(&ti->trigger, sizeof(ti->trigger), uio); free(ti, M_AUDITTRIGGER); } return (error); ==== //depot/projects/powerpc/tools/regression/lib/msun/test-trig.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-trig.c,v 1.1 2008/02/18 02:00:16 das Exp $"); +__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-trig.c,v 1.2 2008/03/02 20:49:24 das Exp $"); #include #include @@ -65,16 +65,23 @@ #define test(func, x, result, exceptmask, excepts) do { \ volatile long double _d = x; \ assert(feclearexcept(FE_ALL_EXCEPT) == 0); \ - assert(fpequal((func)(_d), (result))); \ + assert(fpequal((func)(_d), (result))); \ assert(((func), fetestexcept(exceptmask) == (excepts))); \ } while (0) #define testall(prefix, x, result, exceptmask, excepts) do { \ - test(prefix, x, (double)result, exceptmask, excepts); \ + test(prefix, x, (double)result, exceptmask, excepts); \ test(prefix##f, x, (float)result, exceptmask, excepts); \ test(prefix##l, x, result, exceptmask, excepts); \ } while (0) +#define testdf(prefix, x, result, exceptmask, excepts) do { \ + test(prefix, x, (double)result, exceptmask, excepts); \ + test(prefix##f, x, (float)result, exceptmask, excepts); \ +} while (0) + + + /* * Determine whether x and y are equal, with two special rules: * +0.0 != -0.0 @@ -238,17 +245,22 @@ * These tests should pass for f32, d64, and ld80 as long as * the error is <= 0.75 ulp (round to nearest) */ - testall(sin, 0.17255452780841205174L, 0.17169949801444412683L, +#if LDBL_MANT_DIG <= 64 +#define testacc testall +#else +#define testacc testdf +#endif + testacc(sin, 0.17255452780841205174L, 0.17169949801444412683L, ALL_STD_EXCEPT, FE_INEXACT); - testall(sin, -0.75431944555904520893L, -0.68479288156557286353L, + testacc(sin, -0.75431944555904520893L, -0.68479288156557286353L, ALL_STD_EXCEPT, FE_INEXACT); - testall(cos, 0.70556358769838947292L, 0.76124620693117771850L, + testacc(cos, 0.70556358769838947292L, 0.76124620693117771850L, ALL_STD_EXCEPT, FE_INEXACT); - testall(cos, -0.34061437849088045332L, 0.94254960031831729956L, + testacc(cos, -0.34061437849088045332L, 0.94254960031831729956L, ALL_STD_EXCEPT, FE_INEXACT); - testall(tan, -0.15862817413325692897L, -0.15997221861309522115L, + testacc(tan, -0.15862817413325692897L, -0.15997221861309522115L, ALL_STD_EXCEPT, FE_INEXACT); - testall(tan, 0.38374784931303813530L, 0.40376500259976759951L, + testacc(tan, 0.38374784931303813530L, 0.40376500259976759951L, ALL_STD_EXCEPT, FE_INEXACT); /* From owner-p4-projects@FreeBSD.ORG Sun Mar 2 23:16:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07FFB1065674; Sun, 2 Mar 2008 23:16: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 BA3EF1065672 for ; Sun, 2 Mar 2008 23:16:23 +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 93CF18FC1A for ; Sun, 2 Mar 2008 23:16:23 +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 m22NGNBO046588 for ; Sun, 2 Mar 2008 23:16:23 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22NGNU7046586 for perforce@freebsd.org; Sun, 2 Mar 2008 23:16:23 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 2 Mar 2008 23:16:23 GMT Message-Id: <200803022316.m22NGNU7046586@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 136700 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, 02 Mar 2008 23:16:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=136700 Change 136700 by kmacy@kmacy:entropy:iwarp on 2008/03/02 23:16:07 Fix missed initialization dependencies Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_main.c#22 edit .. //depot/projects/iwarp/sys/dev/cxgb/cxgb_offload.c#22 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#12 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/cxgb_main.c#22 (text+ko) ==== @@ -724,9 +724,11 @@ printf("cxgb_free: DEVMAP_BIT not set\n"); } else printf("not offloading set\n"); - +#ifdef notyet + /* XXX need to handle unload in TOM */ if (sc->flags & CXGB_OFLD_INIT) cxgb_offload_deactivate(sc); +#endif free(sc->filters, M_DEVBUF); t3_sge_free(sc); @@ -1722,9 +1724,6 @@ t3_tp_set_offload_mode(adapter, 1); tdev->lldev = pi->ifp; - err = cxgb_offload_activate(adapter); - if (err) - goto out; init_port_mtus(adapter); t3_load_mtus(adapter, adapter->params.mtus, adapter->params.a_wnd, @@ -1736,7 +1735,6 @@ /* Call back all registered clients */ cxgb_add_clients(tdev); -out: /* restore them in case the offload module has changed them */ if (err) { t3_tp_set_offload_mode(adapter, 0); ==== //depot/projects/iwarp/sys/dev/cxgb/cxgb_offload.c#22 (text+ko) ==== @@ -194,7 +194,24 @@ mtx_unlock(&cxgb_db_lock); } +/** + * cxgb_ofld_recv - process n received offload packets + * @dev: the offload device + * @m: an array of offload packets + * @n: the number of offload packets + * + * Process an array of ingress offload packets. Each packet is forwarded + * to any active network taps and then passed to the offload device's receive + * method. We optimize passing packets to the receive method by passing + * it the whole array at once except when there are active taps. + */ +int +cxgb_ofld_recv(struct t3cdev *dev, struct mbuf **m, int n) +{ + return dev->recv(dev, m, n); +} + /* * Dummy handler for Rx offload packets in case we get an offload packet before * proper processing is setup. This complains and drops the packet as it isn't @@ -396,6 +413,7 @@ cxgb_set_dummy_ops(tdev); tdev->type = adap2type(adapter); + tdev->adapter = adapter; register_tdev(tdev); } ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#12 (text+ko) ==== @@ -109,6 +109,7 @@ static int t3_toe_attach(struct toedev *dev, const struct offload_id *entry); static void cxgb_register_listeners(void); +static void t3c_tom_add(struct t3cdev *cdev); /* * Handlers for each CPL opcode @@ -133,6 +134,7 @@ struct cxgb_client t3c_tom_client = { .name = "tom_cxgb3", + .add = t3c_tom_add, .remove = NULL, .handlers = tom_cpl_handlers, .redirect = NULL @@ -342,7 +344,6 @@ t = malloc(sizeof(*t), M_CXGB, M_WAITOK|M_ZERO); if (!t) return (ENOMEM); - dev->adapter = adapter; err = (EOPNOTSUPP); @@ -434,37 +435,6 @@ return r; } -/** - * cxgb_ofld_recv - process n received offload packets - * @dev: the offload device - * @m: an array of offload packets - * @n: the number of offload packets - * - * Process an array of ingress offload packets. Each packet is forwarded - * to any active network taps and then passed to the offload device's receive - * method. We optimize passing packets to the receive method by passing - * it the whole array at once except when there are active taps. - */ -int -cxgb_ofld_recv(struct t3cdev *dev, struct mbuf **m, int n) -{ - -#if defined(CONFIG_CHELSIO_T3) - if (likely(!netdev_nit)) - return dev->recv(dev, skb, n); - - for ( ; n; n--, skb++) { - skb[0]->dev = dev->lldev; - dev_queue_xmit_nit(skb[0], dev->lldev); - skb[0]->dev = NULL; - dev->recv(dev, skb, 1); - } - return 0; -#else - return dev->recv(dev, m, n); -#endif -} - static struct ifnet * get_iff_from_mac(adapter_t *adapter, const uint8_t *mac, unsigned int vlan) { @@ -750,6 +720,9 @@ if (t == NULL) return; + cdev->send = t3_offload_tx; + cdev->ctl = cxgb_offload_ctl; + if (cdev->ctl(cdev, GET_WR_LEN, &wr_len) < 0) goto out_free_tom; @@ -768,9 +741,6 @@ tdev = &t->tdev; tdev->tod_ttid = cdev2type(cdev); tdev->tod_lldev = cdev->lldev; - - cdev->send = t3_offload_tx; - cdev->ctl = cxgb_offload_ctl; if (register_toedev(tdev, "toe%d")) { printf("unable to register offload device"); @@ -792,8 +762,9 @@ t3cdev_add(t); /* Activate TCP offload device */ + cxgb_offload_activate(TOM_DATA(tdev)->cdev->adapter); + activate_offload(tdev); - cxgb_offload_activate(TOM_DATA(tdev)->cdev->adapter); cxgb_register_listeners(); return; @@ -1474,9 +1445,6 @@ cxgb_toe_listen_stop, NULL, EVENTHANDLER_PRI_ANY); TAILQ_INIT(&cxgb_list); - /* Register to offloading devices */ - t3c_tom_client.add = t3c_tom_add; - cxgb_register_client(&t3c_tom_client); t3_register_cpl_handler(CPL_PASS_OPEN_RPL, do_stid_rpl); @@ -1502,6 +1470,9 @@ t3_register_cpl_handler(CPL_GET_TCB_RPL, do_hwtid_rpl); t3_register_cpl_handler(CPL_SET_TCB_RPL, do_hwtid_rpl); + /* Register to offloading devices */ + cxgb_register_client(&t3c_tom_client); + return (0); } From owner-p4-projects@FreeBSD.ORG Sun Mar 2 23:20:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4200C106567B; Sun, 2 Mar 2008 23:20: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 DACA11065674 for ; Sun, 2 Mar 2008 23:20:28 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B45AA8FC21 for ; Sun, 2 Mar 2008 23:20:28 +0000 (UTC) (envelope-from thompsa@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 m22NKSbK046750 for ; Sun, 2 Mar 2008 23:20:28 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22NKSW5046748 for perforce@freebsd.org; Sun, 2 Mar 2008 23:20:28 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 2 Mar 2008 23:20:28 GMT Message-Id: <200803022320.m22NKSW5046748@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136701 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, 02 Mar 2008 23:20:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=136701 Change 136701 by thompsa@thompsa_heff on 2008/03/02 23:20:12 MF //depot/user/benjsc/wpi/sys/dev/wpi/if_wpi.c@131137 Perform memory allocation differently in contig_alloc, fix bug in config_free. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#12 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#3 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#12 (text+ko) ==== @@ -16,7 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define VERSION "20071127" +#define VERSION "20071218-p4" #include __FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.8 2008/02/01 19:36:25 phk Exp $"); @@ -832,31 +832,46 @@ *(bus_addr_t *)arg = segs[0].ds_addr; } +/* + * Allocates a contiguous block of dma memory of the requested size and + * alignment. Due to limitations of the FreeBSD dma subsystem as of 20071217, + * allocations greater than 4096 may fail. Hence if the requested alignment is + * greater we allocate 'alignment' size extra memory and shift the vaddr and + * paddr after the dma load. This bypasses the problem at the cost of a little + * more memory. + */ static int wpi_dma_contig_alloc(struct wpi_softc *sc, struct wpi_dma_info *dma, void **kvap, bus_size_t size, bus_size_t alignment, int flags) { int error; - int count = 0; + bus_size_t align; + bus_size_t reqsize; DPRINTFN(WPI_DEBUG_DMA, - ("Size: %zd - alignement %zd\n", size, alignment)); + ("Size: %zd - alignment %zd\n", size, alignment)); dma->size = size; dma->tag = NULL; -again: - error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), alignment, + if (alignment > 4096) { + align = PAGE_SIZE; + reqsize = size + alignment; + } else { + align = alignment; + reqsize = size; + } + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), align, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, - NULL, NULL, size, - 1, size, flags, + NULL, NULL, reqsize, + 1, reqsize, flags, NULL, NULL, &dma->tag); if (error != 0) { device_printf(sc->sc_dev, "could not create shared page DMA tag\n"); goto fail; } - error = bus_dmamem_alloc(dma->tag, (void **)&dma->vaddr, + error = bus_dmamem_alloc(dma->tag, (void **)&dma->vaddr_start, flags | BUS_DMA_ZERO, &dma->map); if (error != 0) { device_printf(sc->sc_dev, @@ -864,31 +879,34 @@ goto fail; } - /** - * Sadly FreeBSD can't always align on a 16k boundary, hence we give it - * 10 attempts increasing the size of the allocation by 4k each time. - * This should eventually align us on a 16k boundary at the cost - * of chewing up dma memory + error = bus_dmamap_load(dma->tag, dma->map, dma->vaddr_start, + reqsize, wpi_dma_map_addr, &dma->paddr_start, flags); + + /* Save the original pointers so we can free all the memory */ + dma->paddr = dma->paddr_start; + dma->vaddr = dma->vaddr_start; + + /* + * Check the alignment and increment by 4096 until we get the + * requested alignment. Fail if can't obtain the alignment + * we requested. */ - if ((((uintptr_t)dma->vaddr) & (alignment-1)) && count < 10) { - DPRINTFN(WPI_DEBUG_DMA, - ("Memory Unaligned, trying again: %d\n", count++)); - wpi_dma_contig_free(dma); - size += 4096; - goto again; - } + if ((dma->paddr & (alignment -1 )) != 0) { + int i; - DPRINTFN(WPI_DEBUG_DMA,("Memory, allocated & %s Aligned!\n", - count == 10 ? "FAILED" : "")); - if (count == 10) { - device_printf(sc->sc_dev, "Unable to align memory\n"); - error = ENOMEM; - goto fail; + for (i = 0; i < alignment / 4096; i++) { + if ((dma->paddr & (alignment - 1 )) == 0) + break; + dma->paddr += 4096; + dma->vaddr += 4096; + } + if (i == alignment / 4096) { + device_printf(sc->sc_dev, + "alignment requirement was not satisfied\n"); + goto fail; + } } - error = bus_dmamap_load(dma->tag, dma->map, dma->vaddr, - size, wpi_dma_map_addr, &dma->paddr, flags); - if (error != 0) { device_printf(sc->sc_dev, "could not load shared page DMA map\n"); @@ -910,12 +928,12 @@ { if (dma->tag) { if (dma->map != NULL) { - if (dma->paddr == 0) { + if (dma->paddr_start != 0) { bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); bus_dmamap_unload(dma->tag, dma->map); } - bus_dmamem_free(dma->tag, &dma->vaddr, dma->map); + bus_dmamem_free(dma->tag, &dma->vaddr_start, dma->map); } bus_dma_tag_destroy(dma->tag); } ==== //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#3 (text+ko) ==== @@ -62,8 +62,10 @@ struct wpi_dma_info { bus_dma_tag_t tag; bus_dmamap_t map; - bus_addr_t paddr; - caddr_t vaddr; + bus_addr_t paddr; /* aligned p address */ + bus_addr_t paddr_start; /* possibly unaligned p start*/ + caddr_t vaddr; /* aligned v address */ + caddr_t vaddr_start; /* possibly unaligned v start */ bus_size_t size; }; From owner-p4-projects@FreeBSD.ORG Sun Mar 2 23:46:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EA451065670; Sun, 2 Mar 2008 23:46: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 F2A4E106566B for ; Sun, 2 Mar 2008 23:46:55 +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 CC9428FC1A for ; Sun, 2 Mar 2008 23:46:55 +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 m22Nkt1k047735 for ; Sun, 2 Mar 2008 23:46:55 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22Nktbh047733 for perforce@freebsd.org; Sun, 2 Mar 2008 23:46:55 GMT (envelope-from marcel@freebsd.org) Date: Sun, 2 Mar 2008 23:46:55 GMT Message-Id: <200803022346.m22Nktbh047733@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 136703 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, 02 Mar 2008 23:46:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=136703 Change 136703 by marcel@marcel_xcllnt on 2008/03/02 23:46:50 Fix quicc(4) WRT resource handling. Affected files ... .. //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#3 edit .. //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#2 edit .. //depot/projects/e500/sys/dev/quicc/quicc_core.c#4 edit .. //depot/projects/e500/sys/powerpc/conf/MPC85XX#4 edit Differences ... ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#3 (text+ko) ==== @@ -44,6 +44,7 @@ void *sc_icookie; int sc_irid; + struct rman sc_rman; struct quicc_device *sc_device; u_int sc_clock; ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#2 (text+ko) ==== @@ -37,6 +37,7 @@ #include #include #include +#include #include #include ==== //depot/projects/e500/sys/dev/quicc/quicc_core.c#4 (text+ko) ==== @@ -64,7 +64,7 @@ MALLOC_DEFINE(M_QUICC, "QUICC", "QUICC driver"); struct quicc_device { - struct resource qd_rres; + struct rman *qd_rman; struct resource_list qd_rlist; device_t qd_dev; int qd_devtype; @@ -115,6 +115,23 @@ if (sc->sc_rres == NULL) return (ENXIO); + start = rman_get_start(sc->sc_rres); + size = rman_get_size(sc->sc_rres); + + sc->sc_rman.rm_start = start; + sc->sc_rman.rm_end = start + size - 1; + sc->sc_rman.rm_type = RMAN_ARRAY; + sc->sc_rman.rm_descr = "QUICC resources"; + error = rman_init(&sc->sc_rman); + if (!error) + error = rman_manage_region(&sc->sc_rman, start, + start + size - 1); + if (error) { + bus_release_resource(dev, sc->sc_rtype, sc->sc_rrid, + sc->sc_rres); + return (error); + } + /* * Allocate interrupt resource. */ @@ -161,16 +178,11 @@ M_WAITOK | M_ZERO); qd->qd_devtype = QUICC_DEVTYPE_SCC; + qd->qd_rman = &sc->sc_rman; resource_list_init(&qd->qd_rlist); - start = rman_get_start(sc->sc_rres); - size = rman_get_size(sc->sc_rres); resource_list_add(&qd->qd_rlist, sc->sc_rtype, 0, start, - start + size - 1, size); - rle = resource_list_find(&qd->qd_rlist, sc->sc_rtype, 0); - rle->res = &qd->qd_rres; - rman_set_bushandle(rle->res, rman_get_bushandle(sc->sc_rres)); - rman_set_bustag(rle->res, rman_get_bustag(sc->sc_rres)); + start + size - 1, size); resource_list_add(&qd->qd_rlist, SYS_RES_IRQ, 0, 0xf00, 0xf00, 1); rle = resource_list_find(&qd->qd_rlist, SYS_RES_IRQ, 0); @@ -178,7 +190,7 @@ qd->qd_dev = device_add_child(dev, NULL, -1); device_set_ivars(qd->qd_dev, (void *)qd); - error = device_probe_and_attach(qd->qd_dev); + error = device_probe_and_attach(qd->qd_dev); /* Enable all SCC interrupts. */ quicc_write4(sc->sc_rres, QUICC_REG_SIMR_L, 0x00f00000); @@ -256,7 +268,18 @@ qd = device_get_ivars(child); rle = resource_list_find(&qd->qd_rlist, type, *rid); - return (rle != NULL) ? rle->res : NULL; + if (rle == NULL) + return (NULL); + + if (rle->res == NULL) { + rle->res = rman_reserve_resource(qd->qd_rman, rle->start, + rle->start + rle->count - 1, rle->count, flags, child); + if (rle->res != NULL) { + rman_set_bustag(rle->res, &bs_be_tag); + rman_set_bushandle(rle->res, rle->start); + } + } + return (rle->res); } int ==== //depot/projects/e500/sys/powerpc/conf/MPC85XX#4 (text+ko) ==== @@ -52,7 +52,7 @@ device miibus device pci device pty -#device quicc +device quicc device random #device rl device scbus From owner-p4-projects@FreeBSD.ORG Sun Mar 2 23:53:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AD921065678; Sun, 2 Mar 2008 23:53: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 4AD1D1065670 for ; Sun, 2 Mar 2008 23:53:02 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 249848FC21 for ; Sun, 2 Mar 2008 23:53:02 +0000 (UTC) (envelope-from thompsa@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 m22Nr2LC047929 for ; Sun, 2 Mar 2008 23:53:02 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m22Nr1HY047927 for perforce@freebsd.org; Sun, 2 Mar 2008 23:53:01 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 2 Mar 2008 23:53:01 GMT Message-Id: <200803022353.m22Nr1HY047927@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136704 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, 02 Mar 2008 23:53:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=136704 Change 136704 by thompsa@thompsa_heff on 2008/03/02 23:52:22 MF //depot/user/benjsc/wpi/sys/dev/wpi/if_wpi.c@134347 Poll the HW switch. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#13 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#13 (text+ko) ==== @@ -129,6 +129,7 @@ WPI_DEBUG_TEMP = 0x00000200, /* TXPower/Temp Calibration */ WPI_DEBUG_OPS = 0x00000400, /* wpi_ops taskq debug */ WPI_DEBUG_WATCHDOG = 0x00000800, /* Watch dog debug */ + WPI_DEBUG_HWSWITCH = 0x00001000, /* Watch hwswitch callout */ WPI_DEBUG_ANY = 0xffffffff }; @@ -201,10 +202,6 @@ static uint8_t wpi_plcp_signal(int); static int wpi_queue_cmd(struct wpi_softc *, int); static void wpi_tick(void *); -#if 0 -static void wpi_radio_on(void *, int); -static void wpi_radio_off(void *, int); -#endif static int wpi_tx_data(struct wpi_softc *, struct mbuf *, struct ieee80211_node *, int); static void wpi_start(struct ifnet *); @@ -246,6 +243,7 @@ static void wpi_power_calibration(struct wpi_softc *, int); static int wpi_get_power_index(struct wpi_softc *, struct wpi_power_group *, struct ieee80211_channel *, int); +static void wpi_radio(void *); static const char *wpi_cmd_str(int); static int wpi_probe(device_t); static int wpi_attach(device_t); @@ -539,16 +537,13 @@ #endif /* Create the tasks that can be queued */ -#if 0 - TASK_INIT(&sc->sc_radioontask, 0, wpi_radio_on, sc); - TASK_INIT(&sc->sc_radioofftask, 0, wpi_radio_off, sc); -#endif TASK_INIT(&sc->sc_opstask, 0, wpi_ops, sc); TASK_INIT(&sc->sc_restarttask, 0, wpi_restart, sc); WPI_LOCK_INIT(sc); WPI_CMD_LOCK_INIT(sc); + callout_init_mtx(&sc->hwswitch_to, &sc->sc_mtx, 0); callout_init_mtx(&sc->calib_to, &sc->sc_mtx, 0); callout_init_mtx(&sc->watchdog_to, &sc->sc_mtx, 0); @@ -778,6 +773,7 @@ wpi_stop(sc); callout_drain(&sc->watchdog_to); callout_drain(&sc->calib_to); + callout_drain(&sc->hwswitch_to); bpfdetach(ifp); ieee80211_ifdetach(ic); } @@ -1851,6 +1847,7 @@ device_printf(sc->sc_dev, "Radio transmitter is switched off\n"); sc->flags |= WPI_FLAG_HW_RADIO_OFF; + /* XXX Do something? */ break; } sc->flags &= ~WPI_FLAG_HW_RADIO_OFF; @@ -3183,7 +3180,7 @@ /* At this point the firmware is up and running. If the hardware * RF switch is turned off thermal calibration will fail, though * the card is still happy to continue to accept commands, catch - * this case and record the hw is disabled. + * this case and schedule a task to watch for it to be turned on. */ wpi_mem_lock(sc); tmp = wpi_mem_read(sc, WPI_MEM_HW_RADIO_OFF); @@ -3194,6 +3191,7 @@ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; ifp->if_drv_flags |= IFF_DRV_RUNNING; device_printf(sc->sc_dev,"Radio Transmitter is switched off\n"); + callout_reset(&sc->hwswitch_to, hz, wpi_tick, sc); goto fail; } @@ -3601,23 +3599,41 @@ #undef fdivround } -#if 0 +/** + * Called from a callout, wpi_radio checks the state of hw switch and + * if it's enabled restarts the device. The hardware doesn't give us an + * interupt when the hw switch is toggled on, only off hence we poll + * the device checking. Calling callout locks mtx; + */ static void -wpi_radio_on(void *arg, int pending) +wpi_radio(void *arg) { struct wpi_softc *sc = arg; + struct ieee80211com *ic = &sc->sc_ic; + struct ifnet *ifp = ic->ic_ifp; + int tmp; - device_printf(sc->sc_dev, "radio turned on\n"); -} + wpi_mem_lock(sc); + tmp = wpi_mem_read(sc, WPI_MEM_HW_RADIO_OFF); + wpi_mem_unlock(sc); + + DPRINTFN(WPI_DEBUG_HWSWITCH, + ("wpi_radio callout: radio %d\n",tmp&0x1)); -static void -wpi_radio_off(void *arg, int pending) -{ - struct wpi_softc *sc = arg; + if (tmp & 0x1) { + // Radio enabled + device_printf(sc->sc_dev, "Hardware Switch Enabled\n"); + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; - device_printf(sc->sc_dev, "radio turned off\n"); + callout_reset(&sc->watchdog_to, hz, wpi_tick, sc); + if (ic->ic_opmode == IEEE80211_M_MONITOR) + ieee80211_new_state(ic, IEEE80211_S_RUN, -1); + else if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL) + ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + } else + callout_reset(&sc->hwswitch_to, hz, wpi_radio, sc); } -#endif /** * Called by net80211 framework to indicate that a scan ==== //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#4 (text+ko) ==== @@ -142,6 +142,9 @@ struct callout amrr_ch; + /* Hardware switch polling timer */ + struct callout hwswitch_to; + struct resource *irq; struct resource *mem; bus_space_tag_t sc_st; From owner-p4-projects@FreeBSD.ORG Mon Mar 3 01:33:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A78391065672; Mon, 3 Mar 2008 01:33: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 66CD8106566C for ; Mon, 3 Mar 2008 01:33:49 +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 2791C8FC1F for ; Mon, 3 Mar 2008 01:33:49 +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 m231Xnr9062553 for ; Mon, 3 Mar 2008 01:33:49 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m231XnPp062551 for perforce@freebsd.org; Mon, 3 Mar 2008 01:33:49 GMT (envelope-from marcel@freebsd.org) Date: Mon, 3 Mar 2008 01:33:49 GMT Message-Id: <200803030133.m231XnPp062551@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 136705 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, 03 Mar 2008 01:33:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=136705 Change 136705 by marcel@marcel_xcllnt on 2008/03/03 01:33:06 Save my experimentations. Affected files ... .. //depot/projects/bdb/usr.bin/bdb/Makefile#1 add .. //depot/projects/bdb/usr.bin/bdb/bdb.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Mar 3 02:11:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DAF711065672; Mon, 3 Mar 2008 02:11:32 +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 9A5EF106566B for ; Mon, 3 Mar 2008 02:11:32 +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 75D628FC13 for ; Mon, 3 Mar 2008 02:11:32 +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 m232BVN5064877 for ; Mon, 3 Mar 2008 02:11:31 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m232BVWl064875 for perforce@freebsd.org; Mon, 3 Mar 2008 02:11:31 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 02:11:31 GMT Message-Id: <200803030211.m232BVWl064875@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 136706 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, 03 Mar 2008 02:11:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=136706 Change 136706 by sam@sam_ebb on 2008/03/03 02:10:55 vap'ified malo driver; requires firmware that doesn't (yet) have a suitable license for inclusion in the tree Submitted by: weongyo Affected files ... .. //depot/projects/vap/sys/conf/files#20 edit .. //depot/projects/vap/sys/conf/options#12 edit .. //depot/projects/vap/sys/dev/malo/if_malo.c#1 add .. //depot/projects/vap/sys/dev/malo/if_malo.h#1 add .. //depot/projects/vap/sys/dev/malo/if_malo_pci.c#1 add .. //depot/projects/vap/sys/dev/malo/if_malohal.c#1 add .. //depot/projects/vap/sys/dev/malo/if_malohal.h#1 add .. //depot/projects/vap/sys/dev/malo/if_maloioctl.h#1 add .. //depot/projects/vap/sys/modules/Makefile#13 edit .. //depot/projects/vap/sys/modules/malo/Makefile#1 add .. //depot/projects/vap/sys/modules/malofw/Makefile#1 add Differences ... ==== //depot/projects/vap/sys/conf/files#20 (text+ko) ==== @@ -770,6 +770,9 @@ dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lmc/if_lmc.c optional lmc +dev/malo/if_malo.c optional malo +dev/malo/if_malohal.c optional malo +dev/malo/if_malo_pci.c optional malo pci dev/mc146818/mc146818.c optional mc146818 dev/mca/mca_bus.c optional mca dev/mcd/mcd.c optional mcd isa nowerror ==== //depot/projects/vap/sys/conf/options#12 (text+ko) ==== @@ -733,6 +733,11 @@ BWI_DEBUG opt_bwi.h BWI_DEBUG_VERBOSE opt_bwi.h +# options for the Marvell 8335 wireless driver +MALO_DEBUG opt_malo.h +MALO_TXBUF opt_malo.h +MALO_RXBUF opt_malo.h + # dcons options DCONS_BUF_SIZE opt_dcons.h DCONS_POLL_HZ opt_dcons.h ==== //depot/projects/vap/sys/modules/Makefile#13 (text+ko) ==== @@ -173,6 +173,8 @@ msdosfs_iconv \ ${_mse} \ msk \ + mwl \ + mwlfw \ mxge \ my \ ${_ncp} \ From owner-p4-projects@FreeBSD.ORG Mon Mar 3 03:35:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 808FF1065673; Mon, 3 Mar 2008 03:35: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 3DA1B1065670 for ; Mon, 3 Mar 2008 03:35:59 +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 067418FC19 for ; Mon, 3 Mar 2008 03:35:59 +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 m233ZwiO069197 for ; Mon, 3 Mar 2008 03:35:58 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m233Zw0f069195 for perforce@freebsd.org; Mon, 3 Mar 2008 03:35:58 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 03:35:58 GMT Message-Id: <200803030335.m233Zw0f069195@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 136708 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, 03 Mar 2008 03:35:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=136708 Change 136708 by sam@sam_ebb on 2008/03/03 03:35:09 mwl isn't ready yet; meant to add malo; not malofw is not built by default as the firmware isn't necessarily available Affected files ... .. //depot/projects/vap/sys/modules/Makefile#14 edit Differences ... ==== //depot/projects/vap/sys/modules/Makefile#14 (text+ko) ==== @@ -173,8 +173,7 @@ msdosfs_iconv \ ${_mse} \ msk \ - mwl \ - mwlfw \ + malo \ mxge \ my \ ${_ncp} \ From owner-p4-projects@FreeBSD.ORG Mon Mar 3 06:00:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E0D21065673; Mon, 3 Mar 2008 06:00:35 +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 C1E4E106566B for ; Mon, 3 Mar 2008 06:00:34 +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 B00738FC1E for ; Mon, 3 Mar 2008 06:00:34 +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 m2360Ydc086087 for ; Mon, 3 Mar 2008 06:00:34 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2360YiT086085 for perforce@freebsd.org; Mon, 3 Mar 2008 06:00:34 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 06:00:34 GMT Message-Id: <200803030600.m2360YiT086085@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 136716 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, 03 Mar 2008 06:00:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=136716 Change 136716 by sam@sam_ebb on 2008/03/03 05:59:55 correct pointer pass-thru confusion Affected files ... .. //depot/projects/vap/sys/dev/bwi/if_bwi.c#4 edit Differences ... ==== //depot/projects/vap/sys/dev/bwi/if_bwi.c#4 (text+ko) ==== @@ -1846,12 +1846,11 @@ { struct ieee80211vap *vap = arg; struct ieee80211com *ic = vap->iv_ic; - struct bwi_softc *sc = ic->ic_ifp->if_softc; BWI_ASSERT_LOCKED(sc); if (vap->iv_opmode == IEEE80211_M_STA) - bwi_iter_func(sc, vap->iv_bss); + bwi_iter_func(vap, vap->iv_bss); else ieee80211_iterate_nodes(&ic->ic_sta, bwi_iter_func, vap); callout_reset(&BWI_VAP(vap)->bv_amrr_ch, hz / 2, bwi_amrr_timeout, vap); From owner-p4-projects@FreeBSD.ORG Mon Mar 3 11:27:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00EB81065670; Mon, 3 Mar 2008 11:27: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 B354C106566B for ; Mon, 3 Mar 2008 11:27:27 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AD47B8FC18 for ; Mon, 3 Mar 2008 11:27:27 +0000 (UTC) (envelope-from raj@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 m23BRRWv018201 for ; Mon, 3 Mar 2008 11:27:27 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23BRQRV018196 for perforce@freebsd.org; Mon, 3 Mar 2008 11:27:26 GMT (envelope-from raj@freebsd.org) Date: Mon, 3 Mar 2008 11:27:26 GMT Message-Id: <200803031127.m23BRQRV018196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136727 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, 03 Mar 2008 11:27:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=136727 Change 136727 by raj@raj_mimi on 2008/03/03 11:27:09 Cleanup, style(9) adjustments. Affected files ... .. //depot/projects/e500/sys/dev/tsec/if_tsec.c#7 edit .. //depot/projects/e500/sys/powerpc/booke/clock.c#3 edit .. //depot/projects/e500/sys/powerpc/booke/copyinout.c#3 edit .. //depot/projects/e500/sys/powerpc/booke/interrupt.c#7 edit .. //depot/projects/e500/sys/powerpc/booke/locore.S#5 edit .. //depot/projects/e500/sys/powerpc/booke/machdep.c#12 edit .. //depot/projects/e500/sys/powerpc/booke/pmap.c#12 edit .. //depot/projects/e500/sys/powerpc/booke/support.S#2 edit .. //depot/projects/e500/sys/powerpc/booke/trap.c#7 edit .. //depot/projects/e500/sys/powerpc/booke/trap_subr.S#6 edit .. //depot/projects/e500/sys/powerpc/booke/uio_machdep.c#3 edit .. //depot/projects/e500/sys/powerpc/booke/vm_machdep.c#4 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#7 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#4 edit Differences ... ==== //depot/projects/e500/sys/dev/tsec/if_tsec.c#7 (text+ko) ==== @@ -168,8 +168,8 @@ uint8_t addr[6]; } curmac; uint32_t a[6]; + int count, i; char *cp; - int count, i; /* Use the currently programmed MAC address by default. */ curmac.reg[0] = TSEC_READ(sc, TSEC_REG_MACSTNADDR1); @@ -376,9 +376,9 @@ tsec_set_mac_address(struct tsec_softc *sc) { uint32_t macbuf[2] = { 0, 0 }; + int i; char *macbufp; char *curmac; - int i; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -836,6 +836,7 @@ static void tsec_free_dma_desc(bus_dma_tag_t dtag, bus_dmamap_t dmap, void *vaddr) { + if (vaddr == NULL) return; @@ -1247,15 +1248,17 @@ static int tsec_suspend(device_t dev) { + /* TODO not implemented! */ - return (0); + return (ENODEV); } static int tsec_resume(device_t dev) { + /* TODO not implemented! */ - return (0); + return (ENODEV); } static void ==== //depot/projects/e500/sys/powerpc/booke/clock.c#3 (text+ko) ==== @@ -262,6 +262,7 @@ void cpu_stopprofclock(void) { + } /* ==== //depot/projects/e500/sys/powerpc/booke/copyinout.c#3 (text+ko) ==== @@ -71,10 +71,10 @@ int setfault(faultbuf); /* defined in locore.S */ static int -is_uaddr(const void *addr) { +is_uaddr(const void *addr) +{ + int rv = ((vm_offset_t)addr <= VM_MAXUSER_ADDRESS) ? 1 : 0; - int rv = ((vm_offset_t)addr <= VM_MAXUSER_ADDRESS) ? 1 : 0; - return rv; } @@ -213,6 +213,7 @@ int suword32(void *addr, int32_t word) { + return (suword(addr, (long)word)); } @@ -266,12 +267,14 @@ int32_t fuword32(const void *addr) { + return ((int32_t)fuword(addr)); } uint32_t casuword32(volatile uint32_t *base, uint32_t oldval, uint32_t newval) { + return (casuword((volatile u_long *)base, oldval, newval)); } ==== //depot/projects/e500/sys/powerpc/booke/interrupt.c#7 (text+ko) ==== @@ -26,7 +26,6 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/powerpc/interrupt.c,v 1.4 2005/01/07 02:29:20 imp Exp $ */ /* @@ -34,6 +33,7 @@ */ #include /* RCS ID & Copyright macro defns */ +__FBSDID("$FreeBSD$"); #include #include @@ -96,6 +96,7 @@ void powerpc_crit_interrupt(struct trapframe *framep) { + printf("powerpc_crit_interrupt: critical interrupt!\n"); dump_frame(framep); trap(framep); @@ -103,6 +104,7 @@ void powerpc_mchk_interrupt(struct trapframe *framep) { + printf("powerpc_mchk_interrupt: machine check interrupt!\n"); dump_frame(framep); trap(framep); ==== //depot/projects/e500/sys/powerpc/booke/locore.S#5 (text+ko) ==== @@ -23,7 +23,10 @@ * 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$ */ + #include "assym.s" #include @@ -94,7 +97,7 @@ /* * Initial cleanup */ - li %r16, 0x200 /* Keep debug exceptions for CW. */ + li %r16, 0x200 /* Keep debug exceptions for CodeWarrior. */ mtmsr %r16 isync #if 0 @@ -345,7 +348,7 @@ /* Select TLB1 */ ori %r3, %r3, 0x08 - + isync tlbivax 0, %r3 isync @@ -468,7 +471,7 @@ .align 4 GLOBAL(kstack0_space) .space 16384 - + /* * Compiled KERNBASE locations */ ==== //depot/projects/e500/sys/powerpc/booke/machdep.c#12 (text+ko) ==== @@ -175,7 +175,7 @@ static int cacheline_size = CACHELINESIZE; SYSCTL_INT(_machdep, CPU_CACHELINE, cacheline_size, - CTLFLAG_RD, &cacheline_size, 0, ""); + CTLFLAG_RD, &cacheline_size, 0, ""); static void cpu_e500_startup(void *); SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_e500_startup, NULL) @@ -189,12 +189,14 @@ void setPQL2(int *const size, int *const ways) { + return; } static void cpu_e500_startup(void *dummy) { + /* Initialise the decrementer-based clock. */ decr_init(); @@ -232,6 +234,7 @@ static char * kenv_next(char *cp) { + if (cp != NULL) { while (*cp != 0) cp++; @@ -245,8 +248,8 @@ void dump_kenv(void) { + int len; char *cp; - int len; debugf("loader passed (static) kenv:\n"); if (kern_envp == NULL) { @@ -297,6 +300,7 @@ void print_kernel_section_addr(void) { + debugf("kernel image addresses:\n"); debugf(" kernel_text = 0x%08x\n", (u_int32_t)kernel_text); debugf(" _etext (sdata) = 0x%08x\n", (u_int32_t)_etext); @@ -329,7 +333,7 @@ kmdp = preload_search_by_type("elf kernel"); if (kmdp != NULL) { bootinfo = (struct bootinfo *)preload_search_info(kmdp, - MODINFO_METADATA|MODINFOMD_BOOTINFO); + MODINFO_METADATA|MODINFOMD_BOOTINFO); boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); @@ -425,7 +429,7 @@ /* Finish setting up thread0. */ thread0.td_kstack = (vm_offset_t)kstack0_space; thread0.td_pcb = (struct pcb *) - (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; bzero((void *)thread0.td_pcb, sizeof(struct pcb)); pc->pc_curpcb = thread0.td_pcb; @@ -511,6 +515,7 @@ int fill_fpregs(struct thread *td, struct fpreg *fpregs) { + return (0); } @@ -518,6 +523,7 @@ int cpu_est_clockrate(int cpu_id, uint64_t *rate) { + return (ENXIO); } @@ -531,6 +537,7 @@ void makectx(struct trapframe *tf, struct pcb *pcb) { + pcb->pcb_lr = tf->srr0; pcb->pcb_sp = tf->fixreg[1]; } @@ -585,8 +592,7 @@ pcb = td->td_pcb; tf = td->td_frame; - if (mcp->mc_vers != _MC_VERSION || - mcp->mc_len != sizeof(*mcp)) + if (mcp->mc_vers != _MC_VERSION || mcp->mc_len != sizeof(*mcp)) return (EINVAL); memcpy(tf, mcp->mc_frame, sizeof(mcp->mc_frame)); @@ -596,25 +602,6 @@ return (0); } -#if 0 -/* Build siginfo_t for SA thread. */ -void -cpu_thread_siginfo(int sig, u_long code, siginfo_t *si) -{ - struct proc *p; - struct thread *td; - - td = curthread; - p = td->td_proc; - PROC_LOCK_ASSERT(p, MA_OWNED); - - bzero(si, sizeof(*si)); - si->si_signo = sig; - si->si_code = code; - /* XXXKSE fill other fields */ -} -#endif - int sigreturn(struct thread *td, struct sigreturn_args *uap) { @@ -641,7 +628,7 @@ PROC_UNLOCK(p); CTR3(KTR_SIG, "sigreturn: return td=%p pc=%#x sp=%#x", - td, uc.uc_mcontext.mc_srr0, uc.uc_mcontext.mc_gpr[1]); + td, uc.uc_mcontext.mc_srr0, uc.uc_mcontext.mc_gpr[1]); return (EJUSTRETURN); } @@ -650,6 +637,7 @@ int freebsd4_sigreturn(struct thread *td, struct freebsd4_sigreturn_args *uap) { + return sigreturn(td, (struct sigreturn_args *)uap); } #endif @@ -715,6 +703,7 @@ void cpu_halt(void) { + mtmsr(mfmsr() & ~(PSL_CE | PSL_EE | PSL_ME | PSL_DE)); while (1); } @@ -732,6 +721,7 @@ int fill_dbregs(struct thread *td, struct dbreg *dbregs) { + /* No debug registers on PowerPC */ return (ENOSYS); } @@ -739,6 +729,7 @@ int set_dbregs(struct thread *td, struct dbreg *dbregs) { + /* No debug registers on PowerPC */ return (ENOSYS); } @@ -746,6 +737,7 @@ int set_fpregs(struct thread *td, struct fpreg *fpregs) { + return (0); } @@ -830,7 +822,7 @@ rndfsize = ((sizeof(sf) + 15) / 16) * 16; CTR4(KTR_SIG, "sendsig: td=%p (%s) catcher=%p sig=%d", td, p->p_comm, - catcher, sig); + catcher, sig); /* * Save user context @@ -848,9 +840,9 @@ * Allocate and validate space for the signal handler context. */ if ((td->td_pflags & TDP_ALTSTACK) != 0 && !oonstack && - SIGISMEMBER(psp->ps_sigonstack, sig)) { + SIGISMEMBER(psp->ps_sigonstack, sig)) { sfp = (struct sigframe *)((caddr_t)td->td_sigstk.ss_sp + - td->td_sigstk.ss_size - rndfsize); + td->td_sigstk.ss_size - rndfsize); } else { sfp = (struct sigframe *)(tf->fixreg[1] - rndfsize); } @@ -917,7 +909,7 @@ } CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, - tf->srr0, tf->fixreg[1]); + tf->srr0, tf->fixreg[1]); PROC_LOCK(p); mtx_lock(&psp->ps_mtx); @@ -966,5 +958,6 @@ int mem_valid(vm_offset_t addr, int len) { + return (1); } ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#12 (text+ko) ==== @@ -49,9 +49,10 @@ * 0xfff0_0000 - 0xffff_ffff : I/O devices region */ -#include #include +__FBSDID("$FreeBSD$"); +#include #include #include #include @@ -133,7 +134,7 @@ /**************************************************************************/ static void mmu_booke_enter_locked(mmu_t, pmap_t, vm_offset_t, vm_page_t, - vm_prot_t, boolean_t); + vm_prot_t, boolean_t); unsigned int kptbl_min; /* Index of the first kernel ptbl. */ unsigned int kernel_ptbls; /* Number of KVA ptbls. */ @@ -195,7 +196,7 @@ static int tlb1_set_entry(vm_offset_t, vm_offset_t, vm_size_t, u_int32_t); static void __tlb1_set_entry(unsigned int, vm_offset_t, vm_offset_t, - vm_size_t, u_int32_t, unsigned int, unsigned int); + vm_size_t, u_int32_t, unsigned int, unsigned int); static void tlb1_write_entry(unsigned int); static int tlb1_iomapped(int, vm_paddr_t, vm_size_t, vm_offset_t *); static vm_size_t tlb1_mapin_region(vm_offset_t, vm_offset_t, vm_size_t); @@ -269,48 +270,54 @@ * Kernel MMU interface */ static vm_offset_t mmu_booke_addr_hint(mmu_t, vm_object_t, vm_offset_t, vm_size_t); -static void mmu_booke_change_wiring(mmu_t, pmap_t, vm_offset_t, boolean_t); -static void mmu_booke_clear_modify(mmu_t, vm_page_t); -static void mmu_booke_clear_reference(mmu_t, vm_page_t); -static void mmu_booke_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); -static void mmu_booke_copy_page(mmu_t, vm_page_t, vm_page_t); -static void mmu_booke_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); -static void mmu_booke_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, - vm_page_t, vm_prot_t); -static void mmu_booke_enter_quick(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t); +static void mmu_booke_change_wiring(mmu_t, pmap_t, vm_offset_t, boolean_t); +static void mmu_booke_clear_modify(mmu_t, vm_page_t); +static void mmu_booke_clear_reference(mmu_t, vm_page_t); +static void mmu_booke_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, + vm_offset_t); +static void mmu_booke_copy_page(mmu_t, vm_page_t, vm_page_t); +static void mmu_booke_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, + vm_prot_t, boolean_t); +static void mmu_booke_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, + vm_page_t, vm_prot_t); +static void mmu_booke_enter_quick(mmu_t, pmap_t, vm_offset_t, vm_page_t, + vm_prot_t); static vm_paddr_t mmu_booke_extract(mmu_t, pmap_t, vm_offset_t); -static vm_page_t mmu_booke_extract_and_hold(mmu_t, pmap_t, vm_offset_t, vm_prot_t); -static void mmu_booke_init(mmu_t); +static vm_page_t mmu_booke_extract_and_hold(mmu_t, pmap_t, vm_offset_t, + vm_prot_t); +static void mmu_booke_init(mmu_t); static boolean_t mmu_booke_is_modified(mmu_t, vm_page_t); static boolean_t mmu_booke_is_prefaultable(mmu_t, pmap_t, vm_offset_t); static boolean_t mmu_booke_ts_referenced(mmu_t, vm_page_t); -static vm_offset_t mmu_booke_map(mmu_t, vm_offset_t *, vm_offset_t, vm_offset_t, int); -static int mmu_booke_mincore(mmu_t, pmap_t, vm_offset_t); -static void mmu_booke_object_init_pt(mmu_t, pmap_t, vm_offset_t, vm_object_t, - vm_pindex_t, vm_size_t); +static vm_offset_t mmu_booke_map(mmu_t, vm_offset_t *, vm_offset_t, vm_offset_t, + int); +static int mmu_booke_mincore(mmu_t, pmap_t, vm_offset_t); +static void mmu_booke_object_init_pt(mmu_t, pmap_t, vm_offset_t, + vm_object_t, vm_pindex_t, vm_size_t); static boolean_t mmu_booke_page_exists_quick(mmu_t, pmap_t, vm_page_t); -static void mmu_booke_page_init(mmu_t, vm_page_t); -static int mmu_booke_page_wired_mappings(mmu_t, vm_page_t); -static void mmu_booke_pinit(mmu_t, pmap_t); -static void mmu_booke_pinit0(mmu_t, pmap_t); -static void mmu_booke_protect(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_prot_t); -static void mmu_booke_qenter(mmu_t, vm_offset_t, vm_page_t *, int); -static void mmu_booke_qremove(mmu_t, vm_offset_t, int); -static void mmu_booke_release(mmu_t, pmap_t); -static void mmu_booke_remove(mmu_t, pmap_t, vm_offset_t, vm_offset_t); -static void mmu_booke_remove_all(mmu_t, vm_page_t); -static void mmu_booke_remove_write(mmu_t, vm_page_t); -static void mmu_booke_zero_page(mmu_t, vm_page_t); -static void mmu_booke_zero_page_area(mmu_t, vm_page_t, int, int); -static void mmu_booke_zero_page_idle(mmu_t, vm_page_t); -static void mmu_booke_activate(mmu_t, struct thread *); -static void mmu_booke_deactivate(mmu_t, struct thread *); -static void mmu_booke_bootstrap(mmu_t, vm_offset_t, vm_offset_t); -static void *mmu_booke_mapdev(mmu_t, vm_offset_t, vm_size_t); -static void mmu_booke_unmapdev(mmu_t, vm_offset_t, vm_size_t); +static void mmu_booke_page_init(mmu_t, vm_page_t); +static int mmu_booke_page_wired_mappings(mmu_t, vm_page_t); +static void mmu_booke_pinit(mmu_t, pmap_t); +static void mmu_booke_pinit0(mmu_t, pmap_t); +static void mmu_booke_protect(mmu_t, pmap_t, vm_offset_t, vm_offset_t, + vm_prot_t); +static void mmu_booke_qenter(mmu_t, vm_offset_t, vm_page_t *, int); +static void mmu_booke_qremove(mmu_t, vm_offset_t, int); +static void mmu_booke_release(mmu_t, pmap_t); +static void mmu_booke_remove(mmu_t, pmap_t, vm_offset_t, vm_offset_t); +static void mmu_booke_remove_all(mmu_t, vm_page_t); +static void mmu_booke_remove_write(mmu_t, vm_page_t); +static void mmu_booke_zero_page(mmu_t, vm_page_t); +static void mmu_booke_zero_page_area(mmu_t, vm_page_t, int, int); +static void mmu_booke_zero_page_idle(mmu_t, vm_page_t); +static void mmu_booke_activate(mmu_t, struct thread *); +static void mmu_booke_deactivate(mmu_t, struct thread *); +static void mmu_booke_bootstrap(mmu_t, vm_offset_t, vm_offset_t); +static void *mmu_booke_mapdev(mmu_t, vm_offset_t, vm_size_t); +static void mmu_booke_unmapdev(mmu_t, vm_offset_t, vm_size_t); static vm_offset_t mmu_booke_kextract(mmu_t, vm_offset_t); -static void mmu_booke_kenter(mmu_t, vm_offset_t, vm_offset_t); -static void mmu_booke_kremove(mmu_t, vm_offset_t); +static void mmu_booke_kenter(mmu_t, vm_offset_t, vm_offset_t); +static void mmu_booke_kremove(mmu_t, vm_offset_t); static boolean_t mmu_booke_dev_direct_mapped(mmu_t, vm_offset_t, vm_size_t); static boolean_t mmu_booke_page_executable(mmu_t, vm_page_t); @@ -379,6 +386,7 @@ static __inline int track_modified_needed(pmap_t pmap, vm_offset_t va) { + if (pmap == kernel_pmap) return ((va < kmi.clean_sva) || (va >= kmi.clean_eva)); else @@ -389,7 +397,7 @@ static __inline void tlb0_get_tlbconf(void) { - u_int32_t tlb0_cfg; + uint32_t tlb0_cfg; tlb0_cfg = mfspr(SPR_TLB0CFG); tlb0_size = tlb0_cfg & TLBCFG_NENTRY_MASK; @@ -441,6 +449,7 @@ static void ptbl_buf_free(struct ptbl_buf *buf) { + //debugf("ptbl_buf_free: s (buf = 0x%08x)\n", (u_int32_t)buf); mtx_lock(&ptbl_buf_freelist_lock); @@ -483,17 +492,17 @@ { vm_page_t mtbl[PTBL_PAGES]; vm_page_t m; + struct ptbl_buf *pbuf; unsigned int pidx; - struct ptbl_buf *pbuf; int i; //int su = (pmap == kernel_pmap); //debugf("ptbl_alloc: s (pmap = 0x%08x su = %d pdir_idx = %d)\n", (u_int32_t)pmap, su, pdir_idx); KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_alloc: invalid pdir_idx")); + ("ptbl_alloc: invalid pdir_idx")); KASSERT((pmap->pm_pdir[pdir_idx] == NULL), - ("pte_alloc: valid ptbl entry exists!")); + ("pte_alloc: valid ptbl entry exists!")); pbuf = ptbl_buf_alloc(); if (pbuf == NULL) @@ -515,8 +524,7 @@ } /* Map in allocated pages into kernel_pmap. */ - mmu_booke_qenter(mmu, (vm_offset_t)pmap->pm_pdir[pdir_idx], mtbl, - PTBL_PAGES); + mmu_booke_qenter(mmu, (vm_offset_t)pmap->pm_pdir[pdir_idx], mtbl, PTBL_PAGES); /* Zero whole ptbl. */ bzero((caddr_t)pmap->pm_pdir[pdir_idx], PTBL_PAGES * PAGE_SIZE); @@ -541,7 +549,7 @@ //debugf("ptbl_free: s (pmap = 0x%08x su = %d pdir_idx = %d)\n", (u_int32_t)pmap, su, pdir_idx); KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_free: invalid pdir_idx")); + ("ptbl_free: invalid pdir_idx")); ptbl = pmap->pm_pdir[pdir_idx]; @@ -582,14 +590,15 @@ // (u_int32_t)pmap, su, pdir_idx); KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_unhold: invalid pdir_idx")); + ("ptbl_unhold: invalid pdir_idx")); KASSERT((pmap != kernel_pmap), - ("ptbl_unhold: unholding kernel ptbl!")); + ("ptbl_unhold: unholding kernel ptbl!")); ptbl = pmap->pm_pdir[pdir_idx]; //debugf("ptbl_unhold: ptbl = 0x%08x\n", (u_int32_t)ptbl); - KASSERT(((vm_offset_t)ptbl >= VM_MIN_KERNEL_ADDRESS), ("ptbl_unhold: non kva ptbl")); + KASSERT(((vm_offset_t)ptbl >= VM_MIN_KERNEL_ADDRESS), + ("ptbl_unhold: non kva ptbl")); /* decrement hold count */ for (i = 0; i < PTBL_PAGES; i++) { @@ -605,7 +614,7 @@ */ if (m->wire_count == 0) { ptbl_free(mmu, pmap, pdir_idx); - + //debugf("ptbl_unhold: e (freed ptbl)\n"); return (1); } @@ -629,9 +638,9 @@ //debugf("ptbl_hold: s (pmap = 0x%08x pdir_idx = %d)\n", (u_int32_t)pmap, pdir_idx); KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_hold: invalid pdir_idx")); + ("ptbl_hold: invalid pdir_idx")); KASSERT((pmap != kernel_pmap), - ("ptbl_hold: holding kernel ptbl!")); + ("ptbl_hold: holding kernel ptbl!")); ptbl = pmap->pm_pdir[pdir_idx]; @@ -655,8 +664,7 @@ debugf("pv_alloc: s\n"); pv_entry_count++; - if ((pv_entry_count > pv_entry_high_water) && - (pagedaemon_waken == 0)) { + if ((pv_entry_count > pv_entry_high_water) && (pagedaemon_waken == 0)) { pagedaemon_waken = 1; wakeup (&vm_pages_needed); } @@ -778,7 +786,7 @@ } /* Referenced pages. */ - if (PTE_ISREFERENCED(pte)) + if (PTE_ISREFERENCED(pte)) vm_page_flag_set(m, PG_REFERENCED); /* Remove pv_entry from pv_list. */ @@ -1044,7 +1052,7 @@ if (sz == 0) { empty: memmove(mp, mp + 1, - (cnt - (mp - availmem_regions)) * sizeof(*mp)); + (cnt - (mp - availmem_regions)) * sizeof(*mp)); cnt--; mp--; continue; @@ -1076,16 +1084,17 @@ debugf("fill in phys_avail:\n"); for (i = 0, j = 0; i < availmem_regions_sz; i++, j += 2) { - debugf(" region: 0x%08x - 0x%08x (0x%08x)\n", availmem_regions[i].mr_start, - availmem_regions[i].mr_start + availmem_regions[i].mr_size, - availmem_regions[i].mr_size); + debugf(" region: 0x%08x - 0x%08x (0x%08x)\n", + availmem_regions[i].mr_start, + availmem_regions[i].mr_start + availmem_regions[i].mr_size, + availmem_regions[i].mr_size); if (hwphyssz != 0 && (physsz + availmem_regions[i].mr_size) >= hwphyssz) { debugf(" hw.physmem adjust\n"); if (physsz < hwphyssz) { phys_avail[j] = availmem_regions[i].mr_start; phys_avail[j + 1] = availmem_regions[i].mr_start + - hwphyssz - physsz; + hwphyssz - physsz; physsz = hwphyssz; phys_avail_count++; } @@ -1093,7 +1102,8 @@ } phys_avail[j] = availmem_regions[i].mr_start; - phys_avail[j + 1] = availmem_regions[i].mr_start + availmem_regions[i].mr_size; + phys_avail[j + 1] = availmem_regions[i].mr_start + + availmem_regions[i].mr_size; phys_avail_count++; physsz += availmem_regions[i].mr_size; } @@ -1117,13 +1127,13 @@ debugf("kernel_pmap = 0x%08x\n", (u_int32_t)kernel_pmap); debugf("kptbl_min = %d, kernel_kptbls = %d\n", kptbl_min, kernel_ptbls); debugf("kernel pdir range: 0x%08x - 0x%08x\n", - kptbl_min * PDIR_SIZE, (kptbl_min + kernel_ptbls) * PDIR_SIZE - 1); + kptbl_min * PDIR_SIZE, (kptbl_min + kernel_ptbls) * PDIR_SIZE - 1); /* Initialize kernel pdir */ - for (i = 0; i < kernel_ptbls; i++) { + for (i = 0; i < kernel_ptbls; i++) kernel_pmap->pm_pdir[kptbl_min + i] = - (pte_t *)(kernel_pdir + (i * PAGE_SIZE * PTBL_PAGES)); - } + (pte_t *)(kernel_pdir + (i * PAGE_SIZE * PTBL_PAGES)); + kernel_pmap->pm_tid = KERNEL_TID; kernel_pmap->pm_active = ~0; @@ -1161,7 +1171,8 @@ static vm_paddr_t mmu_booke_kextract(mmu_t mmu, vm_offset_t va) { - return pte_vatopa(mmu, kernel_pmap, va); + + return (pte_vatopa(mmu, kernel_pmap, va)); } /* @@ -1182,7 +1193,7 @@ * numbers of pv entries. */ pvzone = uma_zcreate("PV ENTRY", sizeof(struct pv_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; @@ -1316,7 +1327,7 @@ //debugf("mmu_booke_kremove: s (va = 0x%08x)\n", va); KASSERT(((va >= VM_MIN_KERNEL_ADDRESS) && (va <= VM_MAX_KERNEL_ADDRESS)), - ("mmu_booke_kremove: invalid va")); + ("mmu_booke_kremove: invalid va")); pte = &(kernel_pmap->pm_pdir[pdir_idx][ptbl_idx]); @@ -1353,6 +1364,7 @@ static void mmu_booke_pinit(mmu_t mmu, pmap_t pmap) { + //struct thread *td; //struct proc *p; @@ -1382,6 +1394,7 @@ static void mmu_booke_release(mmu_t mmu, pmap_t pmap) { + //debugf("mmu_booke_release: s\n"); PMAP_LOCK_DESTROY(pmap); @@ -1404,7 +1417,7 @@ */ static void mmu_booke_enter(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, - vm_prot_t prot, boolean_t wired) + vm_prot_t prot, boolean_t wired) { vm_page_lock_queues(); PMAP_LOCK(pmap); @@ -1415,7 +1428,7 @@ static void mmu_booke_enter_locked(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, - vm_prot_t prot, boolean_t wired) + vm_prot_t prot, boolean_t wired) { pte_t *pte; vm_paddr_t pa; @@ -1446,7 +1459,7 @@ * changed, must be protection or wiring change. */ if (((pte = pte_find(mmu, pmap, va)) != NULL) && - (PTE_ISVALID(pte)) && (PTE_PA(pte) == pa)) { + (PTE_ISVALID(pte)) && (PTE_PA(pte) == pa)) { //debugf("mmu_booke_enter_locked: update\n"); @@ -1465,8 +1478,7 @@ /* Save the old bits and clear the ones we're interested in. */ flags = pte->flags; - pte->flags &= ~(PTE_UW | PTE_UX | PTE_SW | PTE_SX | - PTE_MODIFIED); + pte->flags &= ~(PTE_UW | PTE_UX | PTE_SW | PTE_SX | PTE_MODIFIED); if (prot & VM_PROT_WRITE) { /* Add write permissions. */ @@ -1571,7 +1583,7 @@ */ static void mmu_booke_enter_object(mmu_t mmu, pmap_t pmap, vm_offset_t start, - vm_offset_t end, vm_page_t m_start, vm_prot_t prot) + vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { vm_page_t m; vm_pindex_t diff, psize; @@ -1589,13 +1601,14 @@ static void mmu_booke_enter_quick(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, - vm_prot_t prot) + vm_prot_t prot) { + //debugf("mmu_booke_enter_quick: s\n"); PMAP_LOCK(pmap); mmu_booke_enter_locked(mmu, pmap, va, m, - prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); + prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); PMAP_UNLOCK(pmap); //debugf("mmu_booke_enter_quick e\n"); @@ -1619,10 +1632,10 @@ if (su) { KASSERT(((va >= virtual_avail) && (va <= VM_MAX_KERNEL_ADDRESS)), - ("mmu_booke_enter: kernel pmap, non kernel va")); + ("mmu_booke_enter: kernel pmap, non kernel va")); } else { KASSERT((va <= VM_MAXUSER_ADDRESS), - ("mmu_booke_enter: user pmap, non user va")); + ("mmu_booke_enter: user pmap, non user va")); } if (PMAP_REMOVE_DONE(pmap)) { @@ -1690,7 +1703,7 @@ */ static vm_offset_t mmu_booke_map(mmu_t mmu, vm_offset_t *virt, vm_offset_t pa_start, - vm_offset_t pa_end, int prot) + vm_offset_t pa_end, int prot) { vm_offset_t sva = *virt; vm_offset_t va = sva; @@ -1764,8 +1777,9 @@ */ static void mmu_booke_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, - vm_size_t len, vm_offset_t src_addr) + vm_size_t len, vm_offset_t src_addr) { + } /* @@ -1773,7 +1787,7 @@ */ static void mmu_booke_protect(mmu_t mmu, pmap_t pmap, vm_offset_t sva, vm_offset_t eva, - vm_prot_t prot) + vm_prot_t prot) { vm_offset_t va; vm_page_t m; @@ -1805,7 +1819,8 @@ vm_page_flag_set(m, PG_REFERENCED); /* Flush mapping from TLB0. */ - pte->flags &= ~(PTE_UW | PTE_SW | PTE_MODIFIED | PTE_REFERENCED); + pte->flags &= ~(PTE_UW | PTE_SW | PTE_MODIFIED | + PTE_REFERENCED); tlb0_flush_entry(pmap, va); } } @@ -1836,16 +1851,18 @@ /* Handle modified pages. */ if (PTE_ISMODIFIED(pte)) { - if (track_modified_needed(pv->pv_pmap, pv->pv_va)) + if (track_modified_needed(pv->pv_pmap, + pv->pv_va)) vm_page_dirty(m); } /* Referenced pages. */ - if (PTE_ISREFERENCED(pte)) + if (PTE_ISREFERENCED(pte)) vm_page_flag_set(m, PG_REFERENCED); /* Flush mapping from TLB0. */ - pte->flags &= ~(PTE_UW | PTE_SW | PTE_MODIFIED | PTE_REFERENCED); + pte->flags &= ~(PTE_UW | PTE_SW | PTE_MODIFIED | + PTE_REFERENCED); tlb0_flush_entry(pv->pv_pmap, pv->pv_va); } } @@ -1882,7 +1899,7 @@ */ static vm_page_t mmu_booke_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, - vm_prot_t prot) + vm_prot_t prot) { pte_t *pte; vm_page_t m; @@ -1916,6 +1933,7 @@ static void mmu_booke_page_init(mmu_t mmu, vm_page_t m) { + TAILQ_INIT(&m->md.pv_list); } @@ -1951,6 +1969,7 @@ static void mmu_booke_zero_page(mmu_t mmu, vm_page_t m) { + //debugf("mmu_booke_zero_page: s\n"); mmu_booke_zero_page_area(mmu, m, 0, PAGE_SIZE); //debugf("mmu_booke_zero_page: e\n"); @@ -2057,6 +2076,7 @@ static boolean_t mmu_booke_is_prefaultable(mmu_t mmu, pmap_t pmap, vm_offset_t addr) { + return (FALSE); } @@ -2080,7 +2100,8 @@ goto make_sure_to_unlock; if (pte->flags & (PTE_SW | PTE_UW | PTE_MODIFIED)) { - pte->flags &= ~(PTE_SW | PTE_UW | PTE_MODIFIED | PTE_REFERENCED); + pte->flags &= ~(PTE_SW | PTE_UW | PTE_MODIFIED | + PTE_REFERENCED); tlb0_flush_entry(pv->pv_pmap, pv->pv_va); } } @@ -2310,11 +2331,11 @@ */ static void mmu_booke_object_init_pt(mmu_t mmu, pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, vm_size_t size) + vm_object_t object, vm_pindex_t pindex, vm_size_t size) { VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, - ("mmu_booke_object_init_pt: non-device object")); + ("mmu_booke_object_init_pt: non-device object")); } /* @@ -2323,14 +2344,16 @@ static int mmu_booke_mincore(mmu_t mmu, pmap_t pmap, vm_offset_t addr) { + TODO; return (0); } static vm_offset_t mmu_booke_addr_hint(mmu_t mmu, vm_object_t object, vm_offset_t va, - vm_size_t size) + vm_size_t size) { + return (va); } @@ -2419,7 +2442,7 @@ pmap->pm_tid = tid; //debugf("tid_alloc: e (%02d next = %02d)\n", tid, next_tid); - return tid; + return (tid); } #if 0 @@ -2475,8 +2498,7 @@ /**************************************************************************/ static void -tlb_print_entry(int i, u_int32_t mas1, - u_int32_t mas2, u_int32_t mas3, u_int32_t mas7) +tlb_print_entry(int i, u_int32_t mas1, u_int32_t mas2, u_int32_t mas3, u_int32_t mas7) { int as; char desc[3]; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 3 12:17:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BD54106567F; Mon, 3 Mar 2008 12:17: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 09B57106566B for ; Mon, 3 Mar 2008 12:17:20 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0607C8FC3F for ; Mon, 3 Mar 2008 12:17:20 +0000 (UTC) (envelope-from raj@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 m23CHJ0j022097 for ; Mon, 3 Mar 2008 12:17:19 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23CHJwH022095 for perforce@freebsd.org; Mon, 3 Mar 2008 12:17:19 GMT (envelope-from raj@freebsd.org) Date: Mon, 3 Mar 2008 12:17:19 GMT Message-Id: <200803031217.m23CHJwH022095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136730 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, 03 Mar 2008 12:17:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=136730 Change 136730 by raj@raj_mimi on 2008/03/03 12:16:30 Prepare headers before the CVS import. Affected files ... .. //depot/projects/e500/sys/powerpc/include/pmap.h#5 edit .. //depot/projects/e500/sys/powerpc/include/tlb.h#3 edit .. //depot/projects/e500/sys/powerpc/include/trap.h#6 edit .. //depot/projects/e500/sys/powerpc/include/trap_booke.h#2 edit .. //depot/projects/e500/sys/powerpc/include/vmparam.h#8 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#4 edit Differences ... ==== //depot/projects/e500/sys/powerpc/include/pmap.h#5 (text+ko) ==== @@ -25,6 +25,8 @@ * 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/sys/powerpc/include/pmap.h,v 1.20 2006/12/05 04:01:52 grehan Exp $ */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -56,8 +58,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $ - * $FreeBSD: src/sys/powerpc/include/pmap.h,v 1.20 2006/12/05 04:01:52 grehan Exp $ + * from: $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $ */ #ifndef _MACHINE_PMAP_H_ ==== //depot/projects/e500/sys/powerpc/include/tlb.h#3 (text+ko) ==== @@ -23,6 +23,8 @@ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ */ #ifndef _MACHINE_TLB_H_ ==== //depot/projects/e500/sys/powerpc/include/trap.h#6 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #if defined(AIM) #include #elif defined(E500) ==== //depot/projects/e500/sys/powerpc/include/trap_booke.h#2 (text+ko) ==== @@ -23,8 +23,13 @@ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ */ +#ifndef _POWERPC_TRAP_H_ +#define _POWERPC_TRAP_H_ + #define EXC_CRIT 0 #define EXC_MCHK 1 #define EXC_DSI 2 @@ -46,3 +51,5 @@ #define EXC_PERF 35 /* e500-specific: Performance monitor */ #define EXC_LAST 255 + +#endif /* _POWERPC_TRAP_H_ */ ==== //depot/projects/e500/sys/powerpc/include/vmparam.h#8 (text+ko) ==== @@ -111,8 +111,8 @@ /* * Kernel CCSRBAR location. We make this the reset location. */ -#define CCSRBAR_VA 0xfef00000 -#define CCSRBAR_SIZE 0x00100000 +#define CCSRBAR_VA 0xfef00000 +#define CCSRBAR_SIZE 0x00100000 #define KERNBASE 0xc0000000 /* start of kernel virtual */ ==== //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#4 (text+ko) ==== @@ -24,7 +24,9 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * + * $FreeBSD$ */ + #ifndef _MACHINE_OCP85XX_H_ #define _MACHINE_OCP85XX_H_ From owner-p4-projects@FreeBSD.ORG Mon Mar 3 13:11:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 43CAF1065670; Mon, 3 Mar 2008 13:11: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 032891065678 for ; Mon, 3 Mar 2008 13:11:17 +0000 (UTC) (envelope-from philip@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB3B38FC30 for ; Mon, 3 Mar 2008 13:11:16 +0000 (UTC) (envelope-from philip@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 m23DBGBq034520 for ; Mon, 3 Mar 2008 13:11:16 GMT (envelope-from philip@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23DBGP5034518 for perforce@freebsd.org; Mon, 3 Mar 2008 13:11:16 GMT (envelope-from philip@freebsd.org) Date: Mon, 3 Mar 2008 13:11:16 GMT Message-Id: <200803031311.m23DBGP5034518@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to philip@freebsd.org using -f From: Philip Paeps To: Perforce Change Reviews Cc: Subject: PERFORCE change 136736 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, 03 Mar 2008 13:11:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=136736 Change 136736 by philip@philip_zoo on 2008/03/03 13:10:35 Add two machines that no longer exist. Affected files ... .. //depot/doc/obliterate#17 edit Differences ... ==== //depot/doc/obliterate#17 (text+ko) ==== @@ -23,4 +23,4 @@ //depot/user/julian/rmkseg # clients: gnagelhout silby_patrocles -# dead machines: njl_mrspecial mharvan_twoflower imp_marvin imp_Speedy imp_hondo +# dead machines: njl_mrspecial mharvan_twoflower imp_marvin imp_Speedy imp_hondo philip_loge philip_fasolt From owner-p4-projects@FreeBSD.ORG Mon Mar 3 13:13:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DFB81065671; Mon, 3 Mar 2008 13:13: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 1CB04106566B for ; Mon, 3 Mar 2008 13:13:20 +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 1A5F08FC1F for ; Mon, 3 Mar 2008 13:13:20 +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 m23DDJS8034584 for ; Mon, 3 Mar 2008 13:13:19 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23DDJv0034582 for perforce@freebsd.org; Mon, 3 Mar 2008 13:13:19 GMT (envelope-from rrs@cisco.com) Date: Mon, 3 Mar 2008 13:13:19 GMT Message-Id: <200803031313.m23DDJv0034582@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 136737 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, 03 Mar 2008 13:13:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=136737 Change 136737 by rrs@rrs-mips2-jnpr on 2008/03/03 13:13:06 Found real source of PG_G problem, the proper intial value for a CACHED page is PG_CACHE not PG_CACHED. PG_CACHED is defined in vm to be 1, where as PG_CACHE is 0x18 (the proper value for us and defined in pte.h). Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 (text+ko) ==== @@ -110,8 +110,8 @@ #define PG_UNCACHED 0x00000010 #define PG_CACHE 0x00000018 #define PG_CACHEMODE 0x00000038 -#define PG_ROPAGE (PG_V | PG_RO | PG_CACHED) /* Write protected */ -#define PG_RWPAGE (PG_V | PG_M | PG_CACHED) /* Not wr-prot not clean */ +#define PG_ROPAGE (PG_V | PG_RO | PG_CACHE) /* Write protected */ +#define PG_RWPAGE (PG_V | PG_M | PG_CACHE) /* Not wr-prot not clean */ #define PG_CWPAGE (PG_V | PG_CACHED) /* Not wr-prot but clean */ #define PG_IOPAGE (PG_G | PG_V | PG_M | PG_UNCACHED) #define PG_FRAME 0x3fffffc0 From owner-p4-projects@FreeBSD.ORG Mon Mar 3 13:14:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 96E121065672; Mon, 3 Mar 2008 13:14: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 555E6106566B for ; Mon, 3 Mar 2008 13:14:21 +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 533318FC16 for ; Mon, 3 Mar 2008 13:14:21 +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 m23DELBO034639 for ; Mon, 3 Mar 2008 13:14:21 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23DEL8g034637 for perforce@freebsd.org; Mon, 3 Mar 2008 13:14:21 GMT (envelope-from rrs@cisco.com) Date: Mon, 3 Mar 2008 13:14:21 GMT Message-Id: <200803031314.m23DEL8g034637@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 136738 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, 03 Mar 2008 13:14:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=136738 Change 136738 by rrs@rrs-mips2-jnpr on 2008/03/03 13:14:17 Takes out my PG_G hack, since I now have located and fixed the source of the problem. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#25 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#25 (text+ko) ==== @@ -1824,13 +1824,6 @@ if (is_kernel_pmap(pmap)) { newpte |= PG_G; - } else { - /* non kernel map should - * should never have the PG_G - * bit on. FIX, need to find out - * who is turning it on in callers. - */ - newpte &= (~PG_G); } /* From owner-p4-projects@FreeBSD.ORG Mon Mar 3 14:17:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C5E81065673; Mon, 3 Mar 2008 14:17: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 51CED1065671 for ; Mon, 3 Mar 2008 14:17:26 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4E8A18FC3E for ; Mon, 3 Mar 2008 14:17:26 +0000 (UTC) (envelope-from raj@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 m23EHQ6p039229 for ; Mon, 3 Mar 2008 14:17:26 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23EHQbC039227 for perforce@freebsd.org; Mon, 3 Mar 2008 14:17:26 GMT (envelope-from raj@freebsd.org) Date: Mon, 3 Mar 2008 14:17:26 GMT Message-Id: <200803031417.m23EHQbC039227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 136745 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, 03 Mar 2008 14:17:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=136745 Change 136745 by raj@raj_mimi on 2008/03/03 14:17:22 IFC @136744 Affected files ... .. //depot/projects/e500/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/e500/include/pthread_np.h#5 integrate .. //depot/projects/e500/lib/libelf/elf_update.c#3 integrate .. //depot/projects/e500/lib/libthr/pthread.map#7 integrate .. //depot/projects/e500/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/e500/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/e500/share/man/man4/fwohci.4#3 integrate .. //depot/projects/e500/share/misc/committers-ports.dot#7 integrate .. //depot/projects/e500/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/e500/sys/dev/re/if_re.c#5 integrate .. //depot/projects/e500/sys/modules/cxgb/cxgb_t3fw/Makefile#2 integrate .. //depot/projects/e500/sys/netgraph/ng_pppoe.c#5 integrate .. //depot/projects/e500/sys/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/e500/sys/pci/if_rl.c#4 integrate .. //depot/projects/e500/sys/pci/if_rlreg.h#5 integrate .. //depot/projects/e500/sys/powerpc/include/pmap.h#6 edit .. //depot/projects/e500/sys/powerpc/include/psl.h#3 integrate .. //depot/projects/e500/sys/powerpc/include/pte.h#3 integrate .. //depot/projects/e500/sys/powerpc/include/sf_buf.h#3 integrate .. //depot/projects/e500/sys/powerpc/include/spr.h#5 integrate .. //depot/projects/e500/sys/powerpc/include/trap.h#7 edit .. //depot/projects/e500/sys/powerpc/include/vmparam.h#9 integrate .. //depot/projects/e500/sys/ufs/ufs/ufs_extattr.c#5 integrate .. //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#10 integrate .. //depot/projects/e500/usr.bin/find/find.1#4 integrate .. //depot/projects/e500/usr.bin/find/main.c#2 integrate .. //depot/projects/e500/usr.bin/unifdef/unifdef.c#3 integrate Differences ... ==== //depot/projects/e500/games/fortune/datfiles/fortunes#10 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.258 2008/03/03 10:06:52 dds Exp $ % ======================================================================= || || @@ -49242,7 +49242,7 @@ admit it, I tell him, `Forget it'. If they bring a car back late we overlook it. If they've had a crash and it doesn't involve another vehicle we might overlook that too." - "Where's the ashtray?" asked on Los Angeles wife, as she settled + "Where's the ashtray?" asked one Los Angeles wife, as she settled into the ripped interior. "Honey," said her husband, "the whole car's the ash tray." -- Stephen Pile, "The Book of Heroic Failures" ==== //depot/projects/e500/include/pthread_np.h#5 (text+ko) ==== @@ -26,11 +26,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread_np.h,v 1.20 2008/02/06 19:34:31 des Exp $ + * $FreeBSD: src/include/pthread_np.h,v 1.21 2008/03/03 08:28:13 davidxu Exp $ */ #ifndef _PTHREAD_NP_H_ #define _PTHREAD_NP_H_ +#include +#include + /* * Non-POSIX type definitions: */ @@ -42,6 +45,9 @@ __BEGIN_DECLS int pthread_attr_setcreatesuspend_np(pthread_attr_t *); int pthread_attr_get_np(pthread_t, pthread_attr_t *); +int pthread_attr_getaffinity_np(const pthread_attr_t *, size_t, cpuset_t *); +int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const cpuset_t *); +int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); int pthread_main_np(void); int pthread_multi_np(void); int pthread_mutexattr_getkind_np(pthread_mutexattr_t); @@ -54,6 +60,7 @@ int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count); int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count); int pthread_mutex_isowned_np(pthread_mutex_t *mutex); +int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); ==== //depot/projects/e500/lib/libelf/elf_update.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Joseph Koshy + * Copyright (c) 2006-2008 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.3 2007/09/08 08:20:12 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.4 2008/03/03 04:29:25 jkoshy Exp $"); #include #include @@ -246,13 +246,19 @@ tmin = t->s_offset; tmax = tmin + t->s_size; - /* check if there is an overlap */ - if (tmax < smin) { + if (tmax <= smin) { + /* + * 't' lies entirely before 's': ...| t |...| s |... + */ prevt = t; continue; - } else if (smax < tmin) + } else if (smax <= tmin) + /* + * 's' lies entirely before 't', and after 'prevt': + * ...| prevt |...| s |...| t |... + */ break; - else { + else { /* 's' and 't' overlap. */ LIBELF_SET_ERROR(LAYOUT, 0); return (0); } ==== //depot/projects/e500/lib/libthr/pthread.map#7 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libthr/pthread.map,v 1.26 2008/02/06 20:45:46 des Exp $ + * $FreeBSD: src/lib/libthr/pthread.map,v 1.27 2008/03/03 09:16:28 davidxu Exp $ */ /* @@ -117,8 +117,8 @@ pthread_rwlockattr_getpshared; pthread_rwlockattr_init; pthread_rwlockattr_setpshared; + pthread_set_name_np; pthread_self; - pthread_set_name_np; pthread_setcancelstate; pthread_setcanceltype; pthread_setconcurrency; @@ -388,6 +388,8 @@ }; FBSD_1.1 { + pthread_getaffinity_np; + pthread_setaffinity_np; pthread_mutex_getspinloops_np; pthread_mutex_getyieldloops_np; pthread_mutex_isowned_np; ==== //depot/projects/e500/lib/libthr/thread/Makefile.inc#2 (text+ko) ==== @@ -1,9 +1,10 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.16 2006/04/04 02:57:49 davidxu Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.17 2008/03/03 09:16:29 davidxu Exp $ # thr sources .PATH: ${.CURDIR}/thread SRCS+= \ + thr_affinity.c \ thr_attr.c \ thr_barrier.c \ thr_barrierattr.c \ ==== //depot/projects/e500/share/man/man4/fwohci.4#3 (text+ko) ==== @@ -29,10 +29,10 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/fwohci.4,v 1.16 2007/06/17 10:40:25 simokawa Exp $ +.\" $FreeBSD: src/share/man/man4/fwohci.4,v 1.17 2008/03/03 08:55:50 brueffer Exp $ .\" .\" -.Dd June 23, 2005 +.Dd March 3, 2008 .Dt FWOHCI 4 .Os .Sh NAME @@ -99,8 +99,6 @@ .It Sony CX3022 .It -Sony i.LINK (CXD1947) -.It Sony i.LINK (CXD3222) .It Sun PCIO-2 (RIO 1394) ==== //depot/projects/e500/share/misc/committers-ports.dot#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.66 2008/02/26 15:38:46 gahr Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.67 2008/03/03 13:12:27 jadawin Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -80,6 +80,7 @@ hq [label="Herve Quiroz\nhq@FreeBSD.org\n2004/08/05"] ijliao [label="Ying-Chieh Liao\nijliao@FreeBSD.org\n2001/01/20"] itetcu [label="Ion-Mihai Tetcu\nitetcu@FreeBSD.org\n2006/06/07"] +jadawin [label="Philippe Audeoud\njadawin@FreeBSD.org\n2008/03/02"] jkim [label="Jung-uk Kim\njkim@FreeBSD.org\n2007/09/12"] jmelo [label="Jean Milanez Melo\njmelo@FreeBSD.org\n2006/03/31"] joerg [label="Joerg Wunsch\njoerg@FreeBSD.org\n1994/08/22"] @@ -290,6 +291,10 @@ steve -> netchild +tabthorpe -> jadawin + +thierry -> jadawin + tmclaugh -> itetcu tmclaugh -> xride ==== //depot/projects/e500/sys/arm/xscale/ixp425/ixp425_iic.c#2 (text+ko) ==== @@ -9,13 +9,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. * * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -31,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.2 2008/03/03 06:39:36 kevlo Exp $"); #include #include ==== //depot/projects/e500/sys/dev/re/if_re.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.103 2008/01/17 23:37:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.106 2008/03/03 04:15:07 yongari Exp $"); /* * RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI NIC driver @@ -201,8 +201,7 @@ { LINKSYS_VENDORID, LINKSYS_DEVICEID_EG1032, RL_HWREV_8169S, "Linksys EG1032 (RTL8169S) Gigabit Ethernet" }, { USR_VENDORID, USR_DEVICEID_997902, RL_HWREV_8169S, - "US Robotics 997902 (RTL8169S) Gigabit Ethernet" }, - { 0, 0, 0, NULL } + "US Robotics 997902 (RTL8169S) Gigabit Ethernet" } }; static struct rl_hwrev re_hwrevs[] = { @@ -280,6 +279,8 @@ static void re_setmulti (struct rl_softc *); static void re_reset (struct rl_softc *); +static void re_setwol (struct rl_softc *); +static void re_clrwol (struct rl_softc *); #ifdef RE_DIAG static int re_diag (struct rl_softc *); @@ -916,51 +917,38 @@ device_t dev; { struct rl_type *t; - struct rl_softc *sc; - int rid; - u_int32_t hwrev; + uint16_t devid, vendor; + uint16_t revid, sdevid; + int i; + + vendor = pci_get_vendor(dev); + devid = pci_get_device(dev); + revid = pci_get_revid(dev); + sdevid = pci_get_subdevice(dev); - t = re_devs; - sc = device_get_softc(dev); - - while (t->rl_name != NULL) { - if ((pci_get_vendor(dev) == t->rl_vid) && - (pci_get_device(dev) == t->rl_did)) { + if (vendor == LINKSYS_VENDORID && devid == LINKSYS_DEVICEID_EG1032) { + if (sdevid != LINKSYS_SUBDEVICE_EG1032_REV3) { /* * Only attach to rev. 3 of the Linksys EG1032 adapter. - * Rev. 2 i supported by sk(4). + * Rev. 2 is supported by sk(4). */ - if ((t->rl_vid == LINKSYS_VENDORID) && - (t->rl_did == LINKSYS_DEVICEID_EG1032) && - (pci_get_subdevice(dev) != - LINKSYS_SUBDEVICE_EG1032_REV3)) { - t++; - continue; - } + return (ENXIO); + } + } + + if (vendor == RT_VENDORID && devid == RT_DEVICEID_8139) { + if (revid != 0x20) { + /* 8139, let rl(4) take care of this device. */ + return (ENXIO); + } + } - /* - * Temporarily map the I/O space - * so we can read the chip ID register. - */ - rid = RL_RID; - sc->rl_res = bus_alloc_resource_any(dev, RL_RES, &rid, - RF_ACTIVE); - if (sc->rl_res == NULL) { - device_printf(dev, - "couldn't map ports/memory\n"); - return (ENXIO); - } - sc->rl_btag = rman_get_bustag(sc->rl_res); - sc->rl_bhandle = rman_get_bushandle(sc->rl_res); - hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV; - bus_release_resource(dev, RL_RES, - RL_RID, sc->rl_res); - if (t->rl_basetype == hwrev) { - device_set_desc(dev, t->rl_name); - return (BUS_PROBE_DEFAULT); - } + t = re_devs; + for (i = 0; i < sizeof(re_devs) / sizeof(re_devs[0]); i++, t++) { + if (vendor == t->rl_vid && devid == t->rl_did) { + device_set_desc(dev, t->rl_name); + return (BUS_PROBE_DEFAULT); } - t++; } return (ENXIO); @@ -1266,6 +1254,11 @@ sc->rl_ldata.rl_tx_desc_cnt = RL_8139_TX_DESC_CNT; sc->rl_ldata.rl_rx_desc_cnt = RL_8139_RX_DESC_CNT; } + if (hw_rev->rl_desc == NULL) { + device_printf(dev, "Unsupported revision : 0x%08x\n", hwrev); + error = ENXIO; + goto fail; + } error = re_allocmem(dev, sc); if (error) @@ -1334,6 +1327,9 @@ ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; if (ifp->if_capabilities & IFCAP_HWCSUM) ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; + /* Enable WOL if PM is supported. */ + if (pci_find_extcap(sc->rl_dev, PCIY_PMG, ®) == 0) + ifp->if_capabilities |= IFCAP_WOL; ifp->if_capenable = ifp->if_capabilities; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -2635,10 +2631,18 @@ switch (command) { case SIOCSIFMTU: + if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > RL_JUMBO_MTU) { + error = EINVAL; + break; + } + if (sc->rl_type == RL_8139CPLUS && + ifr->ifr_mtu > RL_MAX_FRAMELEN) { + error = EINVAL; + break; + } RL_LOCK(sc); - if (ifr->ifr_mtu > RL_JUMBO_MTU) - error = EINVAL; - ifp->if_mtu = ifr->ifr_mtu; + if (ifp->if_mtu != ifr->ifr_mtu) + ifp->if_mtu = ifr->ifr_mtu; RL_UNLOCK(sc); break; case SIOCSIFFLAGS: @@ -2715,6 +2719,15 @@ else ifp->if_hwassist &= ~CSUM_TSO; } + if ((mask & IFCAP_WOL) != 0 && + (ifp->if_capabilities & IFCAP_WOL) != 0) { + if ((mask & IFCAP_WOL_UCAST) != 0) + ifp->if_capenable ^= IFCAP_WOL_UCAST; + if ((mask & IFCAP_WOL_MCAST) != 0) + ifp->if_capenable ^= IFCAP_WOL_MCAST; + if ((mask & IFCAP_WOL_MAGIC) != 0) + ifp->if_capenable ^= IFCAP_WOL_MAGIC; + } if (reinit && ifp->if_drv_flags & IFF_DRV_RUNNING) re_init(sc); VLAN_CAPABILITIES(ifp); @@ -2820,6 +2833,7 @@ RL_LOCK(sc); re_stop(sc); + re_setwol(sc); sc->suspended = 1; RL_UNLOCK(sc); @@ -2848,6 +2862,11 @@ if (ifp->if_flags & IFF_UP) re_init_locked(sc); + /* + * Clear WOL matching such that normal Rx filtering + * wouldn't interfere with WOL patterns. + */ + re_clrwol(sc); sc->suspended = 0; RL_UNLOCK(sc); @@ -2874,7 +2893,95 @@ * cases. */ sc->rl_ifp->if_flags &= ~IFF_UP; + re_setwol(sc); RL_UNLOCK(sc); return (0); } + +static void +re_setwol(sc) + struct rl_softc *sc; +{ + struct ifnet *ifp; + int pmc; + uint16_t pmstat; + uint8_t v; + + RL_LOCK_ASSERT(sc); + + if (pci_find_extcap(sc->rl_dev, PCIY_PMG, &pmc) != 0) + return; + + ifp = sc->rl_ifp; + /* Enable config register write. */ + CSR_WRITE_1(sc, RL_EECMD, RL_EE_MODE); + + /* Enable PME. */ + v = CSR_READ_1(sc, RL_CFG1); + v &= ~RL_CFG1_PME; + if ((ifp->if_capenable & IFCAP_WOL) != 0) + v |= RL_CFG1_PME; + CSR_WRITE_1(sc, RL_CFG1, v); + + v = CSR_READ_1(sc, RL_CFG3); + v &= ~(RL_CFG3_WOL_LINK | RL_CFG3_WOL_MAGIC); + if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + v |= RL_CFG3_WOL_MAGIC; + CSR_WRITE_1(sc, RL_CFG3, v); + + /* Config register write done. */ + CSR_WRITE_1(sc, RL_EECMD, 0); + + v = CSR_READ_1(sc, RL_CFG5); + v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST); + v &= ~RL_CFG5_WOL_LANWAKE; + if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + v |= RL_CFG5_WOL_UCAST; + if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + v |= RL_CFG5_WOL_MCAST | RL_CFG5_WOL_BCAST; + if ((ifp->if_capenable & IFCAP_WOL) != 0) + v |= RL_CFG5_WOL_LANWAKE; + CSR_WRITE_1(sc, RL_CFG5, v); + + /* + * It seems that hardware resets its link speed to 100Mbps in + * power down mode so switching to 100Mbps in driver is not + * needed. + */ + + /* Request PME if WOL is requested. */ + pmstat = pci_read_config(sc->rl_dev, pmc + PCIR_POWER_STATUS, 2); + pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); + if ((ifp->if_capenable & IFCAP_WOL) != 0) + pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; + pci_write_config(sc->rl_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); +} + +static void +re_clrwol(sc) + struct rl_softc *sc; +{ + int pmc; + uint8_t v; + + RL_LOCK_ASSERT(sc); + + if (pci_find_extcap(sc->rl_dev, PCIY_PMG, &pmc) != 0) + return; + + /* Enable config register write. */ + CSR_WRITE_1(sc, RL_EECMD, RL_EE_MODE); + + v = CSR_READ_1(sc, RL_CFG3); + v &= ~(RL_CFG3_WOL_LINK | RL_CFG3_WOL_MAGIC); + CSR_WRITE_1(sc, RL_CFG3, v); + + /* Config register write done. */ + CSR_WRITE_1(sc, RL_EECMD, 0); + + v = CSR_READ_1(sc, RL_CFG5); + v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST); + v &= ~RL_CFG5_WOL_LANWAKE; + CSR_WRITE_1(sc, RL_CFG5, v); +} ==== //depot/projects/e500/sys/modules/cxgb/cxgb_t3fw/Makefile#2 (text+ko) ==== @@ -1,8 +1,9 @@ -# $FreeBSD: src/sys/modules/cxgb/cxgb_t3fw/Makefile,v 1.1 2008/02/26 03:02:20 kmacy Exp $ +# $FreeBSD: src/sys/modules/cxgb/cxgb_t3fw/Makefile,v 1.2 2008/03/03 03:34:52 kmacy Exp $ CXGB = ${.CURDIR}/../../../dev/cxgb .PATH: ${CXGB} +KMOD= cxgb_t3fw SRCS+= cxgb_t3fw.c .include ==== //depot/projects/e500/sys/netgraph/ng_pppoe.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ * * Author: Julian Elischer * - * $FreeBSD: src/sys/netgraph/ng_pppoe.c,v 1.92 2008/02/06 20:37:34 mav Exp $ + * $FreeBSD: src/sys/netgraph/ng_pppoe.c,v 1.93 2008/03/02 23:26:35 mav Exp $ * $Whistle: ng_pppoe.c,v 1.10 1999/11/01 09:24:52 julian Exp $ */ @@ -281,45 +281,8 @@ * Author: Michal Ostrowski * ************************************************************************/ -/* - * Generate a new session id - * XXX find out the FreeBSD locking scheme. - */ -static uint16_t -get_new_sid(node_p node) -{ - static int pppoe_sid = 10; - hook_p hook; - uint16_t val; - -restart: - val = pppoe_sid++; - /* - * Spec says 0xFFFF is reserved. - * Also don't use 0x0000 - */ - if (val == 0xffff) { - pppoe_sid = 20; - goto restart; - } - - /* Check it isn't already in use. */ - LIST_FOREACH(hook, &node->nd_hooks, hk_hooks) { - sessp sp = NG_HOOK_PRIVATE(hook); - - /* Skip any nonsession hook. */ - if (sp == NULL) - continue; - if (sp->Session_ID == val) - goto restart; - } - - CTR2(KTR_NET, "%20s: new sid %d", __func__, val); - return (val); -} - /* * Return the location where the next tag can be put */ @@ -559,6 +522,42 @@ /************************************************************************** * Routines to find a particular session that matches an incoming packet. * **************************************************************************/ +/* Find free session and add to hash. */ +static uint16_t +pppoe_getnewsession(sessp sp) +{ + const priv_p privp = NG_NODE_PRIVATE(NG_HOOK_NODE(sp->hook)); + static uint16_t pppoe_sid = 1; + sessp tsp; + uint16_t val, hash; + +restart: + /* Atomicity is not needed here as value will be checked. */ + val = pppoe_sid++; + /* Spec says 0xFFFF is reserved, also don't use 0x0000. */ + if (val == 0xffff || val == 0x0000) + val = pppoe_sid = 1; + + /* Check it isn't already in use. */ + hash = SESSHASH(val); + mtx_lock(&privp->sesshash[hash].mtx); + TAILQ_FOREACH(tsp, &privp->sesshash[hash].head, sessions) { + if (tsp->Session_ID == val) + break; + } + if (!tsp) { + sp->Session_ID = val; + TAILQ_INSERT_HEAD(&privp->sesshash[hash].head, sp, sessions); + } + mtx_unlock(&privp->sesshash[hash].mtx); + if (tsp) + goto restart; + + CTR2(KTR_NET, "%20s: new sid %d", __func__, val); + + return (val); +} + /* Add specified session to hash. */ static void pppoe_addsession(sessp sp) @@ -1545,9 +1544,7 @@ neg->pkt->pkt_header.ph.code = PADS_CODE; if (sp->Session_ID == 0) { neg->pkt->pkt_header.ph.sid = - htons(sp->Session_ID - = get_new_sid(node)); - pppoe_addsession(sp); + htons(pppoe_getnewsession(sp)); } send_sessionid(sp); neg->timeout = 0; ==== //depot/projects/e500/sys/netinet/ip_fw_pfil.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_fw_pfil.c,v 1.26 2007/11/06 23:01:42 oleg Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_fw_pfil.c,v 1.27 2008/03/03 10:12:46 piso Exp $"); #if !defined(KLD_MODULE) #include "opt_ipfw.h" @@ -566,5 +566,5 @@ ipfw_modevent, 0 }; -DECLARE_MODULE(ipfw, ipfwmod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY); +DECLARE_MODULE(ipfw, ipfwmod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY - 256); MODULE_VERSION(ipfw, 2); ==== //depot/projects/e500/sys/pci/if_rl.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.172 2007/11/26 18:25:07 remko Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.173 2008/03/03 04:15:08 yongari Exp $"); /* * RealTek 8129/8139 PCI NIC driver @@ -175,8 +175,7 @@ { LEVEL1_VENDORID, LEVEL1_DEVICEID_FPC0106TX, RL_8139, "LevelOne FPC-0106TX" }, { EDIMAX_VENDORID, EDIMAX_DEVICEID_EP4103DL, RL_8139, - "Edimax EP-4103DL CardBus" }, - { 0, 0, 0, NULL } + "Edimax EP-4103DL CardBus" } }; static int rl_attach(device_t); @@ -730,48 +729,26 @@ static int rl_probe(device_t dev) { - struct rl_softc *sc; - struct rl_type *t = rl_devs; - int rid; - uint32_t hwrev; + struct rl_type *t; + uint16_t devid, revid, vendor; + int i; + + vendor = pci_get_vendor(dev); + devid = pci_get_device(dev); + revid = pci_get_revid(dev); - sc = device_get_softc(dev); - - while (t->rl_name != NULL) { - if ((pci_get_vendor(dev) == t->rl_vid) && - (pci_get_device(dev) == t->rl_did)) { - /* - * Temporarily map the I/O space - * so we can read the chip ID register. - */ - rid = RL_RID; - sc->rl_res = bus_alloc_resource_any(dev, RL_RES, &rid, - RF_ACTIVE); - if (sc->rl_res == NULL) { - device_printf(dev, - "couldn't map ports/memory\n"); - return (ENXIO); - } - sc->rl_btag = rman_get_bustag(sc->rl_res); - sc->rl_bhandle = rman_get_bushandle(sc->rl_res); - - hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV; - bus_release_resource(dev, RL_RES, RL_RID, sc->rl_res); - - /* Don't attach to 8139C+ or 8169/8110 chips. */ - if (hwrev == RL_HWREV_8139CPLUS || - (hwrev == RL_HWREV_8169 && - t->rl_did == RT_DEVICEID_8169) || - hwrev == RL_HWREV_8169S || - hwrev == RL_HWREV_8110S) { - t++; - continue; - } - + if (vendor == RT_VENDORID && devid == RT_DEVICEID_8139) { + if (revid == 0x20) { + /* 8139C+, let re(4) take care of this device. */ + return (ENXIO); + } + } + t = rl_devs; + for (i = 0; i < sizeof(rl_devs) / sizeof(rl_devs[0]); i++, t++) { + if (vendor == t->rl_vid && devid == t->rl_did) { device_set_desc(dev, t->rl_name); return (BUS_PROBE_DEFAULT); } - t++; } return (ENXIO); ==== //depot/projects/e500/sys/pci/if_rlreg.h#5 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.70 2008/01/15 01:10:31 yongari Exp $ + * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.72 2008/03/03 03:41:06 yongari Exp $ */ /* @@ -76,7 +76,11 @@ #define RL_EECMD 0x0050 /* EEPROM command register */ #define RL_CFG0 0x0051 /* config register #0 */ #define RL_CFG1 0x0052 /* config register #1 */ - /* 0053-0057 reserved */ +#define RL_CFG2 0x0053 /* config register #2 */ +#define RL_CFG3 0x0054 /* config register #3 */ +#define RL_CFG4 0x0055 /* config register #4 */ +#define RL_CFG5 0x0056 /* config register #5 */ + /* 0057 reserved */ #define RL_MEDIASTAT 0x0058 /* media status register (8139) */ /* 0059-005A reserved */ #define RL_MII 0x005A /* 8129 chip only */ @@ -359,16 +363,50 @@ * Config 1 register */ #define RL_CFG1_PWRDWN 0x01 +#define RL_CFG1_PME 0x01 #define RL_CFG1_SLEEP 0x02 +#define RL_CFG1_VPDEN 0x02 #define RL_CFG1_IOMAP 0x04 #define RL_CFG1_MEMMAP 0x08 #define RL_CFG1_RSVD 0x10 +#define RL_CFG1_LWACT 0x10 #define RL_CFG1_DRVLOAD 0x20 #define RL_CFG1_LED0 0x40 #define RL_CFG1_FULLDUPLEX 0x40 /* 8129 only */ #define RL_CFG1_LED1 0x80 /* + * Config 2 register + */ +#define RL_CFG2_PCI33MHZ 0x00 +#define RL_CFG2_PCI66MHZ 0x01 +#define RL_CFG2_PCI64BIT 0x08 +#define RL_CFG2_AUXPWR 0x10 + +/* + * Config 3 register + */ +#define RL_CFG3_GRANTSEL 0x80 +#define RL_CFG3_WOL_MAGIC 0x20 +#define RL_CFG3_WOL_LINK 0x10 +#define RL_CFG3_FAST_B2B 0x01 + +/* + * Config 4 register + */ +#define RL_CFG4_LWPTN 0x04 +#define RL_CFG4_LWPME 0x10 + +/* + * Config 5 register + */ +#define RL_CFG5_WOL_BCAST 0x40 +#define RL_CFG5_WOL_MCAST 0x20 +#define RL_CFG5_WOL_UCAST 0x10 +#define RL_CFG5_WOL_LANWAKE 0x02 +#define RL_CFG5_PME_STS 0x01 + +/* * 8139C+ register definitions */ @@ -684,6 +722,8 @@ /* see comment in dev/re/if_re.c */ #define RL_JUMBO_FRAMELEN 7440 #define RL_JUMBO_MTU (RL_JUMBO_FRAMELEN-ETHER_HDR_LEN-ETHER_CRC_LEN) +#define RL_MAX_FRAMELEN \ + (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) struct rl_txdesc { struct mbuf *tx_m; ==== //depot/projects/e500/sys/powerpc/include/pmap.h#6 (text+ko) ==== @@ -26,7 +26,7 @@ * 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/powerpc/include/pmap.h,v 1.20 2006/12/05 04:01:52 grehan Exp $ + * $FreeBSD: src/sys/powerpc/include/pmap.h,v 1.21 2008/03/03 13:20:52 raj Exp $ */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. ==== //depot/projects/e500/sys/powerpc/include/psl.h#3 (text+ko) ==== @@ -29,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $NetBSD: psl.h,v 1.5 2000/11/19 19:52:37 matt Exp $ - * $FreeBSD: src/sys/powerpc/include/psl.h,v 1.4 2005/01/07 02:29:19 imp Exp $ + * $FreeBSD: src/sys/powerpc/include/psl.h,v 1.5 2008/03/03 13:20:52 raj Exp $ */ #ifndef _MACHINE_PSL_H_ ==== //depot/projects/e500/sys/powerpc/include/pte.h#3 (text+ko) ==== @@ -29,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $NetBSD: pte.h,v 1.2 1998/08/31 14:43:40 tsubai Exp $ - * $FreeBSD: src/sys/powerpc/include/pte.h,v 1.5 2005/11/11 12:03:28 grehan Exp $ + * $FreeBSD: src/sys/powerpc/include/pte.h,v 1.6 2008/03/03 13:20:52 raj Exp $ */ #ifndef _MACHINE_PTE_H_ ==== //depot/projects/e500/sys/powerpc/include/sf_buf.h#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/sys/powerpc/include/sf_buf.h,v 1.2 2004/04/18 08:10:04 alc Exp $ + * $FreeBSD: src/sys/powerpc/include/sf_buf.h,v 1.3 2008/03/03 13:20:52 raj Exp $ */ #ifndef _MACHINE_SF_BUF_H_ ==== //depot/projects/e500/sys/powerpc/include/spr.h#5 (text+ko) ==== @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. * * $NetBSD: spr.h,v 1.25 2002/08/14 15:38:40 matt Exp $ - * $FreeBSD: src/sys/powerpc/include/spr.h,v 1.7 2008/02/25 00:09:23 raj Exp $ + * $FreeBSD: src/sys/powerpc/include/spr.h,v 1.8 2008/03/03 13:20:52 raj Exp $ */ #ifndef _POWERPC_SPR_H_ #define _POWERPC_SPR_H_ ==== //depot/projects/e500/sys/powerpc/include/trap.h#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD$ */ +/* $FreeBSD: src/sys/powerpc/include/trap.h,v 1.6 2008/03/03 13:20:52 raj Exp $ */ #if defined(AIM) #include ==== //depot/projects/e500/sys/powerpc/include/vmparam.h#9 (text+ko) ==== @@ -29,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $NetBSD: vmparam.h,v 1.11 2000/02/11 19:25:16 thorpej Exp $ - * $FreeBSD: src/sys/powerpc/include/vmparam.h,v 1.11 2007/12/27 16:45:39 alc Exp $ + * $FreeBSD: src/sys/powerpc/include/vmparam.h,v 1.12 2008/03/03 13:20:52 raj Exp $ */ #ifndef _MACHINE_VMPARAM_H_ ==== //depot/projects/e500/sys/ufs/ufs/ufs_extattr.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_extattr.c,v 1.89 2008/01/24 12:34:30 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_extattr.c,v 1.90 2008/03/02 22:52:14 rwatson Exp $"); #include "opt_ufs.h" @@ -448,9 +448,17 @@ ufs_extattr_autostart(struct mount *mp, struct thread *td) { struct vnode *rvp, *attr_dvp, *attr_system_dvp, *attr_user_dvp; + struct ufsmount *ump = VFSTOUFS(mp); int error; /* + * UFS_EXTATTR applies only to UFS1, as UFS2 uses native extended + * attributes, so don't autostart. + */ + if (ump->um_fstype != UFS1) + return (0); + + /* * Does UFS_EXTATTR_FSROOTSUBDIR exist off the filesystem root? * If so, automatically start EA's. */ @@ -706,6 +714,16 @@ return (error); } + /* + * We only allow extattrctl(2) on UFS1 file systems, as UFS2 uses + * native extended attributes. + */ + if (ump->um_fstype != UFS1) { + if (filename_vp != NULL) + VOP_UNLOCK(filename_vp, 0); + return (EOPNOTSUPP); + } + switch(cmd) { case UFS_EXTATTR_CMD_START: if (filename_vp != NULL) { ==== //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#10 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.226 2008/02/27 07:39:31 ganbold Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.227 2008/03/03 13:14:39 jadawin Exp $ */ #ifndef _calendar_freebsd_ @@ -12,6 +12,7 @@ 01/02 Patrick Li born in Beijing, People's Republic of China, 1985 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 3 15:19:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50FFE1065671; Mon, 3 Mar 2008 15:19: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 10E71106566C for ; Mon, 3 Mar 2008 15:19:31 +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 0FC8D8FC2A for ; Mon, 3 Mar 2008 15:19:31 +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 m23FJUgF051175 for ; Mon, 3 Mar 2008 15:19:30 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23FJU3W051173 for perforce@freebsd.org; Mon, 3 Mar 2008 15:19:30 GMT (envelope-from rrs@cisco.com) Date: Mon, 3 Mar 2008 15:19:30 GMT Message-Id: <200803031519.m23FJU3W051173@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 136746 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, 03 Mar 2008 15:19:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=136746 Change 136746 by rrs@rrs-mips2-jnpr on 2008/03/03 15:18:31 Make INT enable apply to others too Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#18 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#18 (text+ko) ==== @@ -544,8 +544,9 @@ RESTORE_U_PCB_REG(ra, RA, k1) #ifdef TARGET_OCTEON and k0, k0, ~(MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) +#endif or k0, k0, MIPS_SR_INT_IE -#endif + .set noat RESTORE_U_PCB_REG(AT, AST, k1) @@ -765,8 +766,8 @@ RESTORE_U_PCB_REG(ra, RA, k1) #ifdef TARGET_OCTEON and k0, k0, ~(MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) +#endif or k0, k0, MIPS_SR_INT_IE -#endif .set noat RESTORE_U_PCB_REG(AT, AST, k1) From owner-p4-projects@FreeBSD.ORG Mon Mar 3 16:17:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FF0E106566C; Mon, 3 Mar 2008 16:17:35 +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 0E7D9106568D for ; Mon, 3 Mar 2008 16:17:35 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0BA1D8FC1B for ; Mon, 3 Mar 2008 16:17:35 +0000 (UTC) (envelope-from rpaulo@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 m23GHYVQ054569 for ; Mon, 3 Mar 2008 16:17:34 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23GHWx4054567 for perforce@freebsd.org; Mon, 3 Mar 2008 16:17:32 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 3 Mar 2008 16:17:32 GMT Message-Id: <200803031617.m23GHWx4054567@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 136749 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, 03 Mar 2008 16:17:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=136749 Change 136749 by rpaulo@rpaulo_vmware on 2008/03/03 16:17:21 IFC Affected files ... .. //depot/projects/tcpecn/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/tcpecn/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/amd64/include/smp.h#2 integrate .. //depot/projects/tcpecn/arm/include/_bus.h#2 integrate .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/tcpecn/boot/common/bootstrap.h#2 integrate .. //depot/projects/tcpecn/boot/common/load_elf.c#2 integrate .. //depot/projects/tcpecn/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/tcpecn/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/tcpecn/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/tcpecn/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/tcpecn/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/tcpecn/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/tcpecn/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/tcpecn/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/tcpecn/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/tcpecn/boot/powerpc/Makefile#3 integrate .. //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/tcpecn/boot/powerpc/uboot/Makefile#2 integrate .. //depot/projects/tcpecn/boot/powerpc/uboot/conf.c#2 integrate .. //depot/projects/tcpecn/boot/powerpc/uboot/metadata.c#2 integrate .. //depot/projects/tcpecn/boot/powerpc/uboot/start.S#2 integrate .. //depot/projects/tcpecn/boot/uboot/common/main.c#2 integrate .. //depot/projects/tcpecn/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/tcpecn/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/tcpecn/boot/uboot/lib/glue.c#2 integrate .. //depot/projects/tcpecn/boot/uboot/lib/glue.h#1 branch .. //depot/projects/tcpecn/cam/cam_xpt.c#5 integrate .. //depot/projects/tcpecn/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_futex.c#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_misc.c#3 integrate .. //depot/projects/tcpecn/compat/linux/linux_misc.h#2 integrate .. //depot/projects/tcpecn/conf/NOTES#6 integrate .. //depot/projects/tcpecn/conf/files#6 integrate .. //depot/projects/tcpecn/conf/files.powerpc#4 integrate .. //depot/projects/tcpecn/conf/ldscript.powerpc#2 integrate .. //depot/projects/tcpecn/conf/options#6 integrate .. //depot/projects/tcpecn/conf/options.powerpc#3 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/tcpecn/dev/atkbdc/psm.c#2 integrate .. //depot/projects/tcpecn/dev/bce/if_bce.c#2 integrate .. //depot/projects/tcpecn/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/tcpecn/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mc5.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#4 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.c#4 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#4 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/sys/cxgb_support.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/mbufq.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#5 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/tcpecn/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/tcpecn/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/tcpecn/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/tcpecn/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/tcpecn/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/tcpecn/dev/em/LICENSE#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82540.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82541.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82541.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82542.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82543.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82543.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82571.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82571.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_82575.c#2 delete .. //depot/projects/tcpecn/dev/em/e1000_82575.h#2 delete .. //depot/projects/tcpecn/dev/em/e1000_api.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_api.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_defines.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_hw.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_mac.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_mac.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_manage.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_manage.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_phy.c#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_phy.h#2 integrate .. //depot/projects/tcpecn/dev/em/e1000_regs.h#2 integrate .. //depot/projects/tcpecn/dev/em/if_em.c#3 integrate .. //depot/projects/tcpecn/dev/em/if_em.h#3 integrate .. //depot/projects/tcpecn/dev/igb/e1000_82575.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_82575.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_api.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_api.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_defines.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_hw.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_mac.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_mac.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_manage.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_manage.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_phy.c#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_phy.h#1 branch .. //depot/projects/tcpecn/dev/igb/e1000_regs.h#1 branch .. //depot/projects/tcpecn/dev/igb/if_igb.c#1 branch .. //depot/projects/tcpecn/dev/igb/if_igb.h#1 branch .. //depot/projects/tcpecn/dev/md/md.c#3 integrate .. //depot/projects/tcpecn/dev/msk/if_msk.c#5 integrate .. //depot/projects/tcpecn/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/tcpecn/dev/re/if_re.c#4 integrate .. //depot/projects/tcpecn/dev/usb/ehci.c#4 integrate .. //depot/projects/tcpecn/dev/usb/ubsa.c#2 integrate .. //depot/projects/tcpecn/dev/usb/ucom.c#2 integrate .. //depot/projects/tcpecn/dev/usb/umass.c#3 integrate .. //depot/projects/tcpecn/dev/usb/usbdevs#5 integrate .. //depot/projects/tcpecn/dev/usb/uscanner.c#2 integrate .. //depot/projects/tcpecn/fs/coda/TODO#3 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/tcpecn/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/nullfs/null_vfsops.c#4 integrate .. //depot/projects/tcpecn/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/tcpecn/fs/nwfs/nwfs_node.c#4 integrate .. //depot/projects/tcpecn/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_node.c#4 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/tcpecn/fs/unionfs/union_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/unionfs/union_vnops.c#4 integrate .. //depot/projects/tcpecn/gdb/gdb_main.c#2 integrate .. //depot/projects/tcpecn/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/tcpecn/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate .. //depot/projects/tcpecn/i386/cpufreq/est.c#2 integrate .. //depot/projects/tcpecn/i386/i386/identcpu.c#2 integrate .. //depot/projects/tcpecn/i386/i386/initcpu.c#2 integrate .. //depot/projects/tcpecn/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/i386/include/smp.h#2 integrate .. //depot/projects/tcpecn/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/kern/init_main.c#4 integrate .. //depot/projects/tcpecn/kern/init_sysent.c#5 integrate .. //depot/projects/tcpecn/kern/kern_cpuset.c#1 branch .. //depot/projects/tcpecn/kern/kern_descrip.c#6 integrate .. //depot/projects/tcpecn/kern/kern_ktrace.c#3 integrate .. //depot/projects/tcpecn/kern/kern_lock.c#6 integrate .. //depot/projects/tcpecn/kern/kern_thread.c#3 integrate .. //depot/projects/tcpecn/kern/sched_4bsd.c#3 integrate .. //depot/projects/tcpecn/kern/sched_ule.c#5 integrate .. //depot/projects/tcpecn/kern/subr_smp.c#3 integrate .. //depot/projects/tcpecn/kern/syscalls.c#5 integrate .. //depot/projects/tcpecn/kern/syscalls.master#5 integrate .. //depot/projects/tcpecn/kern/systrace_args.c#5 integrate .. //depot/projects/tcpecn/kern/uipc_syscalls.c#5 integrate .. //depot/projects/tcpecn/kern/vfs_bio.c#6 integrate .. //depot/projects/tcpecn/kern/vfs_cache.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_default.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_lookup.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_subr.c#6 integrate .. //depot/projects/tcpecn/kern/vfs_syscalls.c#5 integrate .. //depot/projects/tcpecn/kern/vnode_if.src#3 integrate .. //depot/projects/tcpecn/libkern/cmpdi2.c#1 branch .. //depot/projects/tcpecn/libkern/quad.h#2 integrate .. //depot/projects/tcpecn/modules/Makefile#4 integrate .. //depot/projects/tcpecn/modules/cxgb/Makefile#3 integrate .. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#4 integrate .. //depot/projects/tcpecn/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/tcpecn/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/tcpecn/modules/em/Makefile#2 integrate .. //depot/projects/tcpecn/modules/geom/Makefile#3 integrate .. //depot/projects/tcpecn/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/tcpecn/modules/geom/geom_eli/Makefile#2 integrate .. //depot/projects/tcpecn/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/tcpecn/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/tcpecn/modules/hwpmc/Makefile#2 integrate .. //depot/projects/tcpecn/modules/igb/Makefile#1 branch .. //depot/projects/tcpecn/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/tcpecn/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/tcpecn/modules/zfs/Makefile#3 integrate .. //depot/projects/tcpecn/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/tcpecn/netgraph/ng_base.c#4 integrate .. //depot/projects/tcpecn/netgraph/ng_nat.c#2 integrate .. //depot/projects/tcpecn/netgraph/ng_nat.h#2 integrate .. //depot/projects/tcpecn/netgraph/ng_pppoe.c#4 integrate .. //depot/projects/tcpecn/netinet/ip_dummynet.c#3 integrate .. //depot/projects/tcpecn/netinet/ip_fw.h#3 integrate .. //depot/projects/tcpecn/netinet/ip_fw2.c#4 integrate .. //depot/projects/tcpecn/netinet/ip_fw_nat.c#1 branch .. //depot/projects/tcpecn/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/tcpecn/netinet/sctp_output.c#3 integrate .. //depot/projects/tcpecn/netinet/sctp_pcb.c#3 integrate .. //depot/projects/tcpecn/netinet/tcp_input.c#5 integrate .. //depot/projects/tcpecn/netinet/tcp_var.h#6 integrate .. //depot/projects/tcpecn/netipsec/key.c#2 integrate .. //depot/projects/tcpecn/netipsec/key_debug.c#2 integrate .. //depot/projects/tcpecn/netncp/ncp_conn.c#3 integrate .. //depot/projects/tcpecn/netncp/ncp_conn.h#2 integrate .. //depot/projects/tcpecn/netsmb/smb_conn.c#3 integrate .. //depot/projects/tcpecn/netsmb/smb_conn.h#2 integrate .. //depot/projects/tcpecn/netsmb/smb_iod.c#2 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_idmap.c#3 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/tcpecn/nfsclient/nfs_node.c#3 integrate .. //depot/projects/tcpecn/nfsclient/nfs_subs.c#4 integrate .. //depot/projects/tcpecn/nfsclient/nfs_vfsops.c#4 integrate .. //depot/projects/tcpecn/pc98/cbus/sio.c#3 integrate .. //depot/projects/tcpecn/pc98/pc98/machdep.c#3 integrate .. //depot/projects/tcpecn/pci/if_rl.c#3 integrate .. //depot/projects/tcpecn/pci/if_rlreg.h#5 integrate .. //depot/projects/tcpecn/powerpc/aim/locore.S#2 integrate .. //depot/projects/tcpecn/powerpc/aim/machdep.c#3 integrate .. //depot/projects/tcpecn/powerpc/aim/swtch.S#2 integrate .. //depot/projects/tcpecn/powerpc/aim/trap.c#2 integrate .. //depot/projects/tcpecn/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/tcpecn/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/tcpecn/powerpc/conf/NOTES#4 integrate .. //depot/projects/tcpecn/powerpc/fpu/fpu_add.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_arith.h#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_compare.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_div.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_emu.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_emu.h#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_explode.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_extern.h#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_implode.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_instr.h#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_mul.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_sqrt.c#1 branch .. //depot/projects/tcpecn/powerpc/fpu/fpu_subr.c#1 branch .. //depot/projects/tcpecn/powerpc/include/bootinfo.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/float.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/frame.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/hid.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/kdb.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/metadata.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/pcb.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/pcpu.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/pmap.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/psl.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/pte.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/spr.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/tlb.h#1 branch .. //depot/projects/tcpecn/powerpc/include/trap.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/trap_aim.h#1 branch .. //depot/projects/tcpecn/powerpc/include/trap_booke.h#1 branch .. //depot/projects/tcpecn/powerpc/include/vmparam.h#3 integrate .. //depot/projects/tcpecn/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/tcpecn/powerpc/powerpc/db_trace.c#3 integrate .. //depot/projects/tcpecn/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/tcpecn/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit.c#4 integrate .. //depot/projects/tcpecn/security/audit/audit_arg.c#3 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm.c#3 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/tcpecn/security/audit/audit_private.h#2 integrate .. //depot/projects/tcpecn/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/tcpecn/security/audit/audit_trigger.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_worker.c#3 integrate .. //depot/projects/tcpecn/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/tcpecn/sys/_types.h#2 integrate .. //depot/projects/tcpecn/sys/buf.h#4 integrate .. //depot/projects/tcpecn/sys/bufobj.h#2 integrate .. //depot/projects/tcpecn/sys/cpuset.h#1 branch .. //depot/projects/tcpecn/sys/ktrace.h#2 integrate .. //depot/projects/tcpecn/sys/lockmgr.h#5 integrate .. //depot/projects/tcpecn/sys/mount.h#2 integrate .. //depot/projects/tcpecn/sys/param.h#7 integrate .. //depot/projects/tcpecn/sys/proc.h#5 integrate .. //depot/projects/tcpecn/sys/sched.h#2 integrate .. //depot/projects/tcpecn/sys/smp.h#2 integrate .. //depot/projects/tcpecn/sys/syscall.h#5 integrate .. //depot/projects/tcpecn/sys/syscall.mk#5 integrate .. //depot/projects/tcpecn/sys/sysproto.h#5 integrate .. //depot/projects/tcpecn/sys/types.h#3 integrate .. //depot/projects/tcpecn/sys/vnode.h#3 integrate .. //depot/projects/tcpecn/sys/vtoc.h#1 branch .. //depot/projects/tcpecn/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vnops.c#5 integrate .. //depot/projects/tcpecn/ufs/ufs/ufs_extattr.c#4 integrate .. //depot/projects/tcpecn/vm/vm_map.h#2 integrate .. //depot/projects/tcpecn/vm/vm_object.c#4 integrate Differences ... ==== //depot/projects/tcpecn/amd64/amd64/identcpu.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.157 2008/02/02 23:17:27 das Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.158 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" @@ -97,6 +97,10 @@ { "Sledgehammer", CPUCLASS_K8 }, /* CPU_SLEDGEHAMMER */ }; +int cpu_cores; +int cpu_logical; + + extern int pq_l2size; extern int pq_l2nways; @@ -360,11 +364,13 @@ if ((regs[0] & 0x1f) != 0) cmp = ((regs[0] >> 26) & 0x3f) + 1; } + cpu_cores = cmp; + cpu_logical = htt / cmp; if (cmp > 1) printf("\n Cores per package: %d", cmp); if ((htt / cmp) > 1) printf("\n Logical CPUs per core: %d", - htt / cmp); + cpu_logical); } } /* Avoid ugly blank lines: only print newline when we have to. */ ==== //depot/projects/tcpecn/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.288 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -83,12 +83,6 @@ extern struct pcpu __pcpu[]; -/* - * CPU topology map datastructures for HTT. - */ -static struct cpu_group mp_groups[MAXCPU]; -static struct cpu_top mp_top; - /* AP uses this during bootstrap. Do not staticize. */ char *bootSTK; static int bootAP; @@ -182,40 +176,38 @@ mem_range_softc.mr_op->initAP(&mem_range_softc); } -void -mp_topology(void) +struct cpu_group * +cpu_topo(void) { - struct cpu_group *group; - int apic_id; - int groups; - int cpu; - - /* Build the smp_topology map. */ - /* Nothing to do if there is no HTT support. */ - if (hyperthreading_cpus <= 1) - return; - group = &mp_groups[0]; - groups = 1; - for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { - if (!cpu_info[apic_id].cpu_present) - continue; - /* - * If the current group has members and we're not a logical - * cpu, create a new group. - */ - if (group->cg_count != 0 && - (apic_id % hyperthreading_cpus) == 0) { - group++; - groups++; - } - group->cg_count++; - group->cg_mask |= 1 << cpu; - cpu++; + if (cpu_cores == 0) + cpu_cores = 1; + if (cpu_logical == 0) + cpu_logical = 1; + if (mp_ncpus % (cpu_cores * cpu_logical) != 0) { + printf("WARNING: Non-uniform processors.\n"); + printf("WARNING: Using suboptimal topology.\n"); + return (smp_topo_none()); } - - mp_top.ct_count = groups; - mp_top.ct_group = mp_groups; - smp_topology = &mp_top; + /* + * No multi-core or hyper-threaded. + */ + if (cpu_logical * cpu_cores == 1) + return (smp_topo_none()); + /* + * Only HTT no multi-core. + */ + if (cpu_logical > 1 && cpu_cores == 1) + return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); + /* + * Only multi-core no HTT. + */ + if (cpu_cores > 1 && cpu_logical == 1) + return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0)); + /* + * Both HTT and multi-core. + */ + return (smp_topo_2level(CG_SHARE_NONE, cpu_cores, + CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); } /* @@ -409,9 +401,6 @@ } set_interrupt_apic_ids(); - - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); } ==== //depot/projects/tcpecn/amd64/include/smp.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.92 2008/03/02 07:58:40 jeff Exp $ * */ @@ -36,6 +36,10 @@ extern struct pcb stoppcbs[]; extern int cpu_apic_ids[]; +/* global data in identcpu.c */ +extern int cpu_cores; +extern int cpu_logical; + /* IPI handlers */ inthand_t IDTVEC(invltlb), /* TLB shootdowns - global */ @@ -57,7 +61,6 @@ void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); -void mp_topology(void); void smp_cache_flush(void); void smp_invlpg(vm_offset_t addr); void smp_masked_invlpg(u_int mask, vm_offset_t addr); ==== //depot/projects/tcpecn/arm/include/_bus.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- -% * Copyright (c) 2005 M. Warner Losh. + * Copyright (c) 2005 M. Warner Losh. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/_bus.h,v 1.1 2005/04/18 21:45:33 imp Exp $ + * $FreeBSD: src/sys/arm/include/_bus.h,v 1.2 2008/02/26 11:45:32 rwatson Exp $ */ #ifndef ARM_INCLUDE__BUS_H ==== //depot/projects/tcpecn/arm/xscale/ixp425/ixp425.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.8 2007/05/29 18:10:42 jhay Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.9 2008/02/26 11:44:41 rwatson Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -234,7 +234,7 @@ sc->sc_mem_rman.rm_descr = "IXP425 Memory"; if (rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_mem_rman, 0, ~0) != 0) - panic("ixp425_attach: failed to set up IRQ rman"); + panic("ixp425_attach: failed to set up memory rman"); BUS_ADD_CHILD(dev, 0, "pcib", 0); BUS_ADD_CHILD(dev, 0, "ixpclk", 0); ==== //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_iic.c#2 (text+ko) ==== @@ -9,13 +9,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. * * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -31,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.2 2008/03/03 06:39:36 kevlo Exp $"); #include #include ==== //depot/projects/tcpecn/boot/common/bootstrap.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.44 2006/12/18 07:35:14 kmacy Exp $ + * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.45 2008/02/23 18:33:49 marcel Exp $ */ #include @@ -233,13 +233,15 @@ int file_addmodule(struct preloaded_file *fp, char *modname, int version, struct kernel_module **newmp); - /* MI module loaders */ #ifdef __elfN /* Relocation types. */ #define ELF_RELOC_REL 1 #define ELF_RELOC_RELA 2 +/* Relocation offset for some architectures */ +extern u_int64_t __elfN(relocation_offset); + struct elf_file; typedef Elf_Addr (symaddr_fn)(struct elf_file *ef, Elf_Size symidx); ==== //depot/projects/tcpecn/boot/common/load_elf.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.37 2006/11/02 17:52:43 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.38 2008/02/23 18:33:50 marcel Exp $"); #include #include @@ -83,6 +83,8 @@ const char *__elfN(kerneltype) = "elf kernel"; const char *__elfN(moduletype) = "elf module"; +u_int64_t __elfN(relocation_offset) = 0; + /* * Attempt to load the file (file) as an ELF module. It will be stored at * (dest), and a pointer to a module structure describing the loaded object @@ -100,7 +102,7 @@ fp = NULL; bzero(&ef, sizeof(struct elf_file)); - + /* * Open the image, read and validate the ELF header */ @@ -266,9 +268,33 @@ #else off = - (off & 0xff000000u); /* i386 relocates after locore */ #endif +#elif defined(__powerpc__) + /* + * On the purely virtual memory machines like e500, the kernel is + * linked against its final VA range, which is most often not + * available at the loader stage, but only after kernel initializes + * and completes its VM settings. In such cases we cannot use p_vaddr + * field directly to load ELF segments, but put them at some + * 'load-time' locations. + */ + if (off & 0xf0000000u) { + off = -(off & 0xf0000000u); + /* + * XXX the physical load address should not be hardcoded. Note + * that the Book-E kernel assumes that it's loaded at a 16MB + * boundary for now... + */ + off += 0x01000000; + ehdr->e_entry += off; +#ifdef ELF_VERBOSE + printf("Converted entry 0x%08x\n", ehdr->e_entry); +#endif + } else + off = 0; #else off = 0; /* other archs use direct mapped kernels */ #endif + __elfN(relocation_offset) = off; } ef->off = off; ==== //depot/projects/tcpecn/boot/i386/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.85 2007/10/26 21:02:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $"); #include #include @@ -129,7 +129,7 @@ unsigned start; int init; } dsk; -static char cmd[512]; +static char cmd[512], cmddup[512]; static char kname[1024]; static uint32_t opts; static int comspeed = SIOSPD; @@ -255,10 +255,11 @@ fsread(ino, cmd, sizeof(cmd)); if (*cmd) { + memcpy(cmddup, cmd, sizeof(cmd)); if (parse()) autoboot = 0; if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmd); + printf("%s: %s", PATH_CONFIG, cmddup); /* Do not process this command twice */ *cmd = 0; } ==== //depot/projects/tcpecn/boot/i386/btx/btx/Makefile#2 (text+ko) ==== @@ -1,14 +1,10 @@ -# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.19 2004/12/21 08:47:13 ru Exp $ +# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.20 2008/02/27 23:35:39 jhb Exp $ PROG= btx INTERNALPROG= NO_MAN= SRCS= btx.S -.if defined(PAGING) -CFLAGS+=-DPAGING -.endif - .if defined(BOOT_BTX_NOHANG) BOOT_BTX_FLAGS=0x1 .else ==== //depot/projects/tcpecn/boot/i386/btx/btx/btx.S#2 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.44 2006/12/06 17:45:35 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.45 2008/02/27 23:35:39 jhb Exp $ */ /* @@ -25,8 +25,7 @@ .set MEM_IDT,0x1e00 # IDT .set MEM_TSS,0x1f98 # TSS .set MEM_MAP,0x2000 # I/O bit map - .set MEM_DIR,0x4000 # Page directory - .set MEM_TBL,0x5000 # Page tables + .set MEM_TSS_END,0x3fff # Page directory .set MEM_ORG,0x9000 # BTX code .set MEM_USR,0xa000 # Start of user memory /* @@ -88,7 +87,7 @@ .set _ESP0H,MEM_ESP0>>0x8 # Byte 1 of ESP0 .set _ESP1H,MEM_ESP1>>0x8 # Byte 1 of ESP1 .set _TSSIO,MEM_MAP-MEM_TSS # TSS I/O base - .set _TSSLM,MEM_DIR-MEM_TSS-1 # TSS limit + .set _TSSLM,MEM_TSS_END-MEM_TSS # TSS limit .set _IDTLM,MEM_TSS-MEM_IDT-1 # IDT limit /* * Code segment. @@ -158,58 +157,15 @@ movb $SEL_SDATA,TSS_SS0(%di) # Set SS0 movb $_ESP1H,TSS_ESP1+1(%di) # Set ESP1 movb $_TSSIO,TSS_MAP(%di) # Set I/O bit map base -#ifdef PAGING /* - * Create page directory. - */ - xor %edx,%edx # Page - mov $PAG_SIZ>>0x8,%dh # size - xor %eax,%eax # Zero - mov $MEM_DIR,%di # Page directory - mov $PAG_CNT>>0xa,%cl # Entries - mov $MEM_TBL|0x7,%ax # First entry -init.5: stosl # Write entry - add %dx,%ax # To next - loop init.5 # Till done -/* - * Create page tables. - */ - mov $MEM_TBL,%di # Page table - mov $PAG_CNT>>0x8,%ch # Entries - xor %ax,%ax # Start address -init.6: mov $0x7,%al # Set U:W:P flags - cmp btx_hdr+0x8,%cx # Standard user page? - jb init.7 # Yes - cmp $PAG_CNT-MEM_BTX>>0xc,%cx # BTX memory? - jae init.7 # No or first page - and $~0x2,%al # Clear W flag - cmp $PAG_CNT-MEM_USR>>0xc,%cx # User page zero? - jne init.7 # No - testb $0x80,btx_hdr+0x7 # Unmap it? - jz init.7 # No - and $~0x1,%al # Clear P flag -init.7: stosl # Set entry - add %edx,%eax # Next address - loop init.6 # Till done -#endif -/* * Bring up the system. */ mov $0x2820,%bx # Set protected mode callw setpic # IRQ offsets lidt idtdesc # Set IDT -#ifdef PAGING - xor %eax,%eax # Set base - mov $MEM_DIR>>0x8,%ah # of page - mov %eax,%cr3 # directory -#endif lgdt gdtdesc # Set GDT mov %cr0,%eax # Switch to protected -#ifdef PAGING - or $0x80000001,%eax # mode and enable paging -#else inc %ax # mode -#endif mov %eax,%cr0 # ljmp $SEL_SCODE,$init.8 # To 32-bit code .code32 @@ -854,13 +810,6 @@ movl $MEM_USR,%eax # User base address addl 0xc(%esp,1),%eax # Change to user leal 0x4(%eax),%esp # stack -#ifdef PAGING - movl %cr0,%eax # Turn - andl $~0x80000000,%eax # off - movl %eax,%cr0 # paging - xorl %eax,%eax # Flush - movl %eax,%cr3 # TLB -#endif popl %eax # Call call *%eax # program intx30.1: orb $0x1,%ss:btx_hdr+0x7 # Flag reboot ==== //depot/projects/tcpecn/boot/i386/gptboot/gptboot.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.86 2007/10/26 21:02:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.87 2008/02/28 17:08:05 jhb Exp $"); #include #include @@ -127,7 +127,7 @@ daddr_t start; int init; } dsk; -static char cmd[512]; +static char cmd[512], cmddup[512]; static char kname[1024]; static uint32_t opts; static int comspeed = SIOSPD; @@ -253,10 +253,11 @@ fsread(ino, cmd, sizeof(cmd)); if (*cmd) { + memcpy(cmddup, cmd, sizeof(cmd)); if (parse()) autoboot = 0; if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmd); + printf("%s: %s", PATH_CONFIG, cmddup); /* Do not process this command twice */ *cmd = 0; } ==== //depot/projects/tcpecn/boot/i386/libi386/biosdisk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.54 2007/11/12 23:53:43 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.55 2008/02/28 17:49:23 jhb Exp $"); /* * BIOS disk device handling. @@ -316,6 +316,29 @@ } } +/* Given a size in 512 byte sectors, convert it to a human-readable number. */ +static char * +display_size(uint64_t size) +{ + static char buf[80]; + char unit; + + size /= 2; + unit = 'K'; + if (size >= 10485760000LL) { + size /= 1073741824; + unit = 'T'; + } else if (size >= 10240000) { + size /= 1048576; + unit = 'G'; + } else if (size >= 10000) { + size /= 1024; + unit = 'M'; + } + sprintf(buf, "%.6ld%cB", (long)size, unit); + return (buf); +} + static uuid_t efi = GPT_ENT_TYPE_EFI; static uuid_t freebsd_boot = GPT_ENT_TYPE_FREEBSD_BOOT; static uuid_t freebsd_ufs = GPT_ENT_TYPE_FREEBSD_UFS; @@ -329,33 +352,22 @@ { char stats[80]; char line[96]; - uint64_t size; - char unit; - if (verbose) { - size = (gp->gp_end + 1 - gp->gp_start) / 2048; - unit = 'M'; - if (size >= 10240000) { - size /= 1048576; - unit = 'T'; - } else if (size >= 10000) { - size /= 1024; - unit = 'G'; - } - sprintf(stats, " %.6ld%cB", (long)size, unit); - } else + if (verbose) + sprintf(stats, " %s", display_size(gp->gp_end + 1 - gp->gp_start)); + else stats[0] = '\0'; if (uuid_equal(&gp->gp_type, &efi, NULL)) - sprintf(line, "%s: EFI%s\n", prefix, stats); + sprintf(line, "%s: EFI %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &ms_basic_data, NULL)) - sprintf(line, "%s: FAT/NTFS%s\n", prefix, stats); + sprintf(line, "%s: FAT/NTFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_boot, NULL)) sprintf(line, "%s: FreeBSD boot%s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_ufs, NULL)) - sprintf(line, "%s: FreeBSD UFS%s\n", prefix, stats); + sprintf(line, "%s: FreeBSD UFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_zfs, NULL)) - sprintf(line, "%s: FreeBSD ZFS%s\n", prefix, stats); + sprintf(line, "%s: FreeBSD ZFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_swap, NULL)) sprintf(line, "%s: FreeBSD swap%s\n", prefix, stats); else @@ -377,70 +389,50 @@ bd_printslice(struct open_disk *od, struct dos_partition *dp, char *prefix, int verbose) { + char stats[80]; char line[80]; + if (verbose) + sprintf(stats, " %s (%d - %d)", display_size(dp->dp_size), + dp->dp_start, dp->dp_start + dp->dp_size); + else + stats[0] = '\0'; + switch (dp->dp_typ) { case DOSPTYP_386BSD: bd_printbsdslice(od, (daddr_t)dp->dp_start, prefix, verbose); return; case DOSPTYP_LINSWP: - if (verbose) - sprintf(line, "%s: Linux swap %.6dMB (%d - %d)\n", - prefix, dp->dp_size / 2048, - dp->dp_start, dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: Linux swap\n", prefix); + sprintf(line, "%s: Linux swap%s\n", prefix, stats); break; case DOSPTYP_LINUX: /* * XXX * read the superblock to confirm this is an ext2fs partition? */ - if (verbose) - sprintf(line, "%s: ext2fs %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: ext2fs\n", prefix); + sprintf(line, "%s: ext2fs%s\n", prefix, stats); break; case 0x00: /* unused partition */ case DOSPTYP_EXT: return; case 0x01: - if (verbose) - sprintf(line, "%s: FAT-12 %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: FAT-12\n", prefix); + sprintf(line, "%s: FAT-12%s\n", prefix, stats); break; case 0x04: case 0x06: case 0x0e: - if (verbose) - sprintf(line, "%s: FAT-16 %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 3 17:22:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 130F01065677; Mon, 3 Mar 2008 17:22:32 +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 C5EDE1065673; Mon, 3 Mar 2008 17:22:31 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 961E98FC1A; Mon, 3 Mar 2008 17:22:31 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m23HKPmR051512; Mon, 3 Mar 2008 10:20:25 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Mon, 03 Mar 2008 10:20:53 -0700 (MST) Message-Id: <20080303.102053.1091030337.imp@bsdimp.com> To: rrs@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <200803031313.m23DDJv0034582@repoman.freebsd.org> References: <200803031313.m23DDJv0034582@repoman.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 136737 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, 03 Mar 2008 17:22:32 -0000 In message: <200803031313.m23DDJv0034582@repoman.freebsd.org> "Randall R. Stewart" writes: : http://perforce.freebsd.org/chv.cgi?CH=136737 : : Change 136737 by rrs@rrs-mips2-jnpr on 2008/03/03 13:13:06 : : Found real source of PG_G problem, the proper intial : value for a CACHED page is PG_CACHE not PG_CACHED. : PG_CACHED is defined in vm to be 1, where as PG_CACHE : is 0x18 (the proper value for us and defined in pte.h). : : Affected files ... : : .. //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 edit : : Differences ... : : ==== //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 (text+ko) ==== : : @@ -110,8 +110,8 @@ : #define PG_UNCACHED 0x00000010 : #define PG_CACHE 0x00000018 : #define PG_CACHEMODE 0x00000038 : -#define PG_ROPAGE (PG_V | PG_RO | PG_CACHED) /* Write protected */ : -#define PG_RWPAGE (PG_V | PG_M | PG_CACHED) /* Not wr-prot not clean */ : +#define PG_ROPAGE (PG_V | PG_RO | PG_CACHE) /* Write protected */ : +#define PG_RWPAGE (PG_V | PG_M | PG_CACHE) /* Not wr-prot not clean */ : #define PG_CWPAGE (PG_V | PG_CACHED) /* Not wr-prot but clean */ : #define PG_IOPAGE (PG_G | PG_V | PG_M | PG_UNCACHED) : #define PG_FRAME 0x3fffffc0 : We should audit all the PG_CACHE vs PG_CACHED stuff, and maybe change PG_CACHED to PG_PAGE_CACHED and PG_UNCACHED to PG_PAGE_UNCACHED... Warner From owner-p4-projects@FreeBSD.ORG Mon Mar 3 17:27:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE2D71065785; Mon, 3 Mar 2008 17:27: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 69D8C1065768 for ; Mon, 3 Mar 2008 17:27:48 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 536B88FC28 for ; Mon, 3 Mar 2008 17:27:48 +0000 (UTC) (envelope-from piso@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 m23HRmfe068648 for ; Mon, 3 Mar 2008 17:27:48 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23HRmcQ068646 for perforce@freebsd.org; Mon, 3 Mar 2008 17:27:48 GMT (envelope-from piso@freebsd.org) Date: Mon, 3 Mar 2008 17:27:48 GMT Message-Id: <200803031727.m23HRmcQ068646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136755 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, 03 Mar 2008 17:27:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=136755 Change 136755 by piso@piso_ferret on 2008/03/03 17:26:49 Place some markers where i can avoid to pass down the entire ip packet. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#62 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#27 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#62 (text+ko) ==== @@ -175,6 +175,7 @@ static void TcpMonitorOut(struct ip *, struct alias_link *); +// XXX ip free static void TcpMonitorIn(struct ip *pip, struct alias_link *lnk) { @@ -196,6 +197,7 @@ } } +// XXX ip free static void TcpMonitorOut(struct ip *pip, struct alias_link *lnk) { @@ -646,7 +648,7 @@ } - +// XXX ip free static int ProtoAliasIn(struct libalias *la, struct ip *pip) { @@ -679,7 +681,7 @@ return (PKT_ALIAS_IGNORED); } - +// XXX ip free static int ProtoAliasOut(struct libalias *la, struct ip *pip, int create) { @@ -1093,7 +1095,7 @@ static int FragmentIn(struct libalias *, struct ip *); static int FragmentOut(struct libalias *, struct ip *); - +// XXX ip free static int FragmentIn(struct libalias *la, struct ip *pip) { @@ -1114,7 +1116,7 @@ return (PKT_ALIAS_UNRESOLVED_FRAGMENT); } - +// XXX ip free static int FragmentOut(struct libalias *la, struct ip *pip) { @@ -1146,7 +1148,7 @@ (prototypes in alias.h) */ - +// XXX ip free int LibAliasSaveFragment(struct libalias *la, char *ptr) { @@ -1166,7 +1168,7 @@ return (iresult); } - +// XXX ip free char * LibAliasGetFragment(struct libalias *la, char *ptr) { @@ -1188,7 +1190,7 @@ return (fptr); } - +// XXX ip free void LibAliasFragmentIn(struct libalias *la, char *ptr, /* Points to correctly * de-aliased header ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#27 (text+ko) ==== @@ -2005,7 +2005,7 @@ return (lnk->data.tcp->state.ack_modified); } - +// XXX ip free int GetDeltaAckIn(struct ip *pip, struct alias_link *lnk) { @@ -2049,7 +2049,7 @@ return (delta); } - +// XXX ip free int GetDeltaSeqOut(struct ip *pip, struct alias_link *lnk) { @@ -2093,7 +2093,7 @@ return (delta); } - +// XXX ip free void AddSeq(struct ip *pip, struct alias_link *lnk, int delta) { From owner-p4-projects@FreeBSD.ORG Mon Mar 3 17:53:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78E931065673; Mon, 3 Mar 2008 17:53: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 3884A1065671 for ; Mon, 3 Mar 2008 17:53:14 +0000 (UTC) (envelope-from alm@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 387CE8FC25 for ; Mon, 3 Mar 2008 17:53:14 +0000 (UTC) (envelope-from alm@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 m23HrET6069492 for ; Mon, 3 Mar 2008 17:53:14 GMT (envelope-from alm@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23HrEY5069490 for perforce@freebsd.org; Mon, 3 Mar 2008 17:53:14 GMT (envelope-from alm@freebsd.org) Date: Mon, 3 Mar 2008 17:53:14 GMT Message-Id: <200803031753.m23HrEY5069490@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alm@freebsd.org using -f From: Aaron Meihm To: Perforce Change Reviews Cc: Subject: PERFORCE change 136756 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, 03 Mar 2008 17:53:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=136756 Change 136756 by alm@alm_praetorian on 2008/03/03 17:52:28 Adjust configuration parser for crypto commands. Affected files ... .. //depot/projects/trustedbsd/netauditd/conf.c#5 edit .. //depot/projects/trustedbsd/netauditd/netauditd.h#9 edit Differences ... ==== //depot/projects/trustedbsd/netauditd/conf.c#5 (text+ko) ==== @@ -51,19 +51,27 @@ exit(1); } static const struct conf_ent { - char *c_mode; - char *c_type; + char *c_cmd; + char *c_arg1; + char *c_arg2; int c_min_args; int (*c_func)(args_t *); } conftab[] = { - { "src", "pipe", 4, conf_parse_src_pipe }, - { "src", "net", 5, conf_parse_net }, - { "dst", "trail", 5, conf_parse_dst_trail }, - { "dst", "net", 6, conf_parse_net }, - { NULL, NULL, 0, NULL } + { "src", NULL, "pipe", 4, conf_parse_src_pipe }, + { "src", NULL, "net", 5, conf_parse_net }, + { "dst", NULL, "trail", 5, conf_parse_dst_trail }, + { "dst", NULL, "net", 6, conf_parse_net }, + { "crypto", "keyfile", NULL, 3, conf_parse_keyfile }, + { NULL, NULL, NULL, 0, NULL } }; int +conf_parse_keyfile(args_t *a) +{ + return (0); +} + +int conf_parse_net(args_t *a) { struct addrinfo hints; @@ -210,9 +218,12 @@ /* The minimum number of arguments for a command is 3. */ if (a->args_n < 3) SYNTAX_ERROR(conf_path, lc) - for (cptr = conftab; cptr->c_type != NULL; cptr++) { - if ((strcmp(cptr->c_mode, a->args[0]) == 0) && - (strcmp(cptr->c_type, a->args[2]) == 0)) { + for (cptr = conftab; cptr->c_cmd != NULL; cptr++) { + if ((strcmp(cptr->c_cmd, a->args[0]) == 0) && + (cptr->c_arg1 ? (strcmp(cptr->c_arg1, a->args[1]) == 0) + : 1) && + (cptr->c_arg2 ? (strcmp(cptr->c_arg2, a->args[2]) == 0) + : 1)) { if (a->args_n < cptr->c_min_args) SYNTAX_ERROR(conf_path, lc) if (cptr->c_func(a) == -1) @@ -220,7 +231,7 @@ break; } } - if (cptr->c_type == NULL) + if (cptr->c_cmd == NULL) SYNTAX_ERROR(conf_path, lc) conf_free_args(a); } ==== //depot/projects/trustedbsd/netauditd/netauditd.h#9 (text+ko) ==== @@ -90,6 +90,7 @@ void conf_load(char *); int conf_link_consumers(struct au_cmpnt *, args_t *, int); void conf_parse(char *, int); +int conf_parse_keyfile(args_t *); int conf_parse_src_pipe(args_t *); int conf_parse_dst_trail(args_t *); int conf_parse_net(args_t *); From owner-p4-projects@FreeBSD.ORG Mon Mar 3 17:58:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBBA01065675; Mon, 3 Mar 2008 17:58: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 9B0761065670 for ; Mon, 3 Mar 2008 17:58:19 +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 9B3B18FC22 for ; Mon, 3 Mar 2008 17:58:19 +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 m23HwJSw069669 for ; Mon, 3 Mar 2008 17:58:19 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23HwJax069667 for perforce@freebsd.org; Mon, 3 Mar 2008 17:58:19 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 17:58:19 GMT Message-Id: <200803031758.m23HwJax069667@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 136757 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, 03 Mar 2008 17:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=136757 Change 136757 by sam@sam_ebb on 2008/03/03 17:57:49 Reclaim clone state on device detach; add ieee80211_vap_destroy that calls back through the clone code to destroy state. Fixes leaking of clone state on cardbus eject. Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211.c#27 edit .. //depot/projects/vap/sys/net80211/ieee80211_freebsd.c#21 edit .. //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#19 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211.c#27 (text+ko) ==== @@ -253,7 +253,7 @@ /* XXX ieee80211_stop_all? */ while ((vap = TAILQ_FIRST(&ic->ic_vaps)) != NULL) - ic->ic_vap_delete(vap); + ieee80211_vap_destroy(vap); ieee80211_sysctl_detach(ic); ieee80211_regdomain_detach(ic); ==== //depot/projects/vap/sys/net80211/ieee80211_freebsd.c#21 (text+ko) ==== @@ -100,6 +100,12 @@ } IFC_SIMPLE_DECLARE(wlan, 0); +void +ieee80211_vap_destroy(struct ieee80211vap *vap) +{ + ifc_simple_destroy(&wlan_cloner, vap->iv_ifp); +} + static int ieee80211_sysctl_msecs_ticks(SYSCTL_HANDLER_ARGS) { ==== //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#19 (text+ko) ==== @@ -208,6 +208,8 @@ void ieee80211_drain_ifq(struct ifqueue *); void ieee80211_flush_ifq(struct ifqueue *, struct ieee80211vap *); +void ieee80211_vap_destroy(struct ieee80211vap *); + #define IFNET_IS_UP_RUNNING(_ifp) \ (((_ifp)->if_flags & IFF_UP) && \ ((_ifp)->if_drv_flags & IFF_DRV_RUNNING)) From owner-p4-projects@FreeBSD.ORG Mon Mar 3 18:16:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D11C1065679; Mon, 3 Mar 2008 18:16: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 2CDE5106566B; Mon, 3 Mar 2008 18:16:11 +0000 (UTC) (envelope-from flata@magnesium.net) Received: from toxic.magnesium.net (toxic.magnesium.net [207.154.84.15]) by mx1.freebsd.org (Postfix) with ESMTP id 291B58FC24; Mon, 3 Mar 2008 18:16:11 +0000 (UTC) (envelope-from flata@magnesium.net) Received: by toxic.magnesium.net (Postfix, from userid 1212) id 542F4DA8D9; Mon, 3 Mar 2008 10:00:25 -0800 (PST) Date: Mon, 3 Mar 2008 08:00:25 -1000 From: Juli Mallett To: "M. Warner Losh" Message-ID: <20080303180025.GA45758@toxic.magnesium.net> References: <200803031313.m23DDJv0034582@repoman.freebsd.org> <20080303.102053.1091030337.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080303.102053.1091030337.imp@bsdimp.com> User-Agent: Mutt/1.5.17 (2007-11-01) Cc: rrs@FreeBSD.org, perforce@FreeBSD.org Subject: Re: PERFORCE change 136737 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, 03 Mar 2008 18:16:11 -0000 * "M. Warner Losh" [ 2008-03-03 ] [ Re: PERFORCE change 136737 for review ] > In message: <200803031313.m23DDJv0034582@repoman.freebsd.org> > "Randall R. Stewart" writes: > : http://perforce.freebsd.org/chv.cgi?CH=136737 > : > : Change 136737 by rrs@rrs-mips2-jnpr on 2008/03/03 13:13:06 > : > : Found real source of PG_G problem, the proper intial > : value for a CACHED page is PG_CACHE not PG_CACHED. > : PG_CACHED is defined in vm to be 1, where as PG_CACHE > : is 0x18 (the proper value for us and defined in pte.h). > : > : Affected files ... > : > : .. //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 edit > : > : Differences ... > : > : ==== //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#5 (text+ko) ==== > : > : @@ -110,8 +110,8 @@ > : #define PG_UNCACHED 0x00000010 > : #define PG_CACHE 0x00000018 > : #define PG_CACHEMODE 0x00000038 > : -#define PG_ROPAGE (PG_V | PG_RO | PG_CACHED) /* Write protected */ > : -#define PG_RWPAGE (PG_V | PG_M | PG_CACHED) /* Not wr-prot not clean */ > : +#define PG_ROPAGE (PG_V | PG_RO | PG_CACHE) /* Write protected */ > : +#define PG_RWPAGE (PG_V | PG_M | PG_CACHE) /* Not wr-prot not clean */ > : #define PG_CWPAGE (PG_V | PG_CACHED) /* Not wr-prot but clean */ > : #define PG_IOPAGE (PG_G | PG_V | PG_M | PG_UNCACHED) > : #define PG_FRAME 0x3fffffc0 > : > > We should audit all the PG_CACHE vs PG_CACHED stuff, and maybe change > PG_CACHED to PG_PAGE_CACHED and PG_UNCACHED to PG_PAGE_UNCACHED... You'd probably do better still to put all of the cache related bits under something like PG_C_ or PG_CCA_ (the latter being "cache coherency attribute") especially if you ever plan to add anything other than cached non-coherent and uncached for any specific CPUs. PG_C_ makes sense since the field is almost always called "C" in documentation (at least See MIPS Run, the MIPS R4K User's Guide and the MIPS32 "Privileged Resource Architecture", anyway.) From owner-p4-projects@FreeBSD.ORG Mon Mar 3 18:52:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F2D01065672; Mon, 3 Mar 2008 18:52: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 1EE111065670 for ; Mon, 3 Mar 2008 18:52:19 +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 1F2708FC1E for ; Mon, 3 Mar 2008 18:52:19 +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 m23IqIo1073887 for ; Mon, 3 Mar 2008 18:52:18 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23IqIaF073885 for perforce@freebsd.org; Mon, 3 Mar 2008 18:52:18 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 18:52:18 GMT Message-Id: <200803031852.m23IqIaF073885@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 136760 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, 03 Mar 2008 18:52:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=136760 Change 136760 by sam@sam_ebb on 2008/03/03 18:52:08 o add M_PROTO[678] so net80211 doesn't allocate private bits that are possibly clobbered and so they are propagated in mbuf pkthdr copies w/o special handling o while here cleanup mbuf flag definitions: use 8-digit defs so bit location are clear, and sort Affected files ... .. //depot/projects/vap/sys/sys/mbuf.h#9 edit Differences ... ==== //depot/projects/vap/sys/sys/mbuf.h#9 (text+ko) ==== @@ -170,30 +170,30 @@ /* * mbuf flags. */ -#define M_EXT 0x0001 /* has associated external storage */ -#define M_PKTHDR 0x0002 /* start of record */ -#define M_EOR 0x0004 /* end of record */ -#define M_RDONLY 0x0008 /* associated data is marked read-only */ -#define M_PROTO1 0x0010 /* protocol-specific */ -#define M_PROTO2 0x0020 /* protocol-specific */ -#define M_PROTO3 0x0040 /* protocol-specific */ -#define M_PROTO4 0x0080 /* protocol-specific */ -#define M_PROTO5 0x0100 /* protocol-specific */ -#define M_NOTIFICATION M_PROTO5/* SCTP notification */ -#define M_SKIP_FIREWALL 0x4000 /* skip firewall processing */ -#define M_FREELIST 0x8000 /* mbuf is on the free list */ +#define M_EXT 0x00000001 /* has associated external storage */ +#define M_PKTHDR 0x00000002 /* start of record */ +#define M_EOR 0x00000004 /* end of record */ +#define M_RDONLY 0x00000008 /* associated data is marked read-only */ +#define M_PROTO1 0x00000010 /* protocol-specific */ +#define M_PROTO2 0x00000020 /* protocol-specific */ +#define M_PROTO3 0x00000040 /* protocol-specific */ +#define M_PROTO4 0x00000080 /* protocol-specific */ +#define M_PROTO5 0x00000100 /* protocol-specific */ +#define M_BCAST 0x00000200 /* send/received as link-level broadcast */ +#define M_MCAST 0x00000400 /* send/received as link-level multicast */ +#define M_FRAG 0x00000800 /* packet is a fragment of a larger packet */ +#define M_FIRSTFRAG 0x00001000 /* packet is first fragment */ +#define M_LASTFRAG 0x00002000 /* packet is last fragment */ +#define M_SKIP_FIREWALL 0x00004000 /* skip firewall processing */ +#define M_FREELIST 0x00008000 /* mbuf is on the free list */ +#define M_VLANTAG 0x00010000 /* ether_vtag is valid */ +#define M_PROMISC 0x00020000 /* packet was not for us */ +#define M_NOFREE 0x00040000 /* do not free mbuf, embedded in cluster */ +#define M_PROTO6 0x00080000 /* protocol-specific */ +#define M_PROTO7 0x00100000 /* protocol-specific */ +#define M_PROTO8 0x00200000 /* protocol-specific */ -/* - * mbuf pkthdr flags (also stored in m_flags). - */ -#define M_BCAST 0x0200 /* send/received as link-level broadcast */ -#define M_MCAST 0x0400 /* send/received as link-level multicast */ -#define M_FRAG 0x0800 /* packet is a fragment of a larger packet */ -#define M_FIRSTFRAG 0x1000 /* packet is first fragment */ -#define M_LASTFRAG 0x2000 /* packet is last fragment */ -#define M_VLANTAG 0x10000 /* ether_vtag is valid */ -#define M_PROMISC 0x20000 /* packet was not for us */ -#define M_NOFREE 0x40000 /* do not free mbuf - it is embedded in the cluster */ +#define M_NOTIFICATION M_PROTO5 /* SCTP notification */ /* * External buffer types: identify ext_buf type. @@ -211,17 +211,17 @@ #define EXT_EXTREF 400 /* has externally maintained ref_cnt ptr */ /* - * Flags copied when copying m_pkthdr. + * Flags to purge when crossing layers. */ -#define M_COPYFLAGS (M_PKTHDR|M_EOR|M_RDONLY|M_PROTO1|M_PROTO1|M_PROTO2|\ - M_PROTO3|M_PROTO4|M_PROTO5|M_SKIP_FIREWALL|\ - M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG|\ - M_VLANTAG|M_PROMISC) +#define M_PROTOFLAGS \ + (M_PROTO1|M_PROTO2|M_PROTO3|M_PROTO4|M_PROTO5|M_PROTO6|M_PROTO7|M_PROTO8) /* - * Flags to purge when crossing layers. + * Flags copied when copying m_pkthdr. */ -#define M_PROTOFLAGS (M_PROTO1|M_PROTO2|M_PROTO3|M_PROTO4|M_PROTO5) +#define M_COPYFLAGS \ + (M_PKTHDR|M_EOR|M_RDONLY|M_PROTOFLAGS|M_SKIP_FIREWALL|M_BCAST|\ + M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG|M_VLANTAG|M_PROMISC) /* * Flags indicating hw checksum support and sw checksum requirements. This From owner-p4-projects@FreeBSD.ORG Mon Mar 3 18:54:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDF3D1065674; Mon, 3 Mar 2008 18:54: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 AD83A1065672 for ; Mon, 3 Mar 2008 18:54:21 +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 ADAFB8FC1F for ; Mon, 3 Mar 2008 18:54:21 +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 m23IsLVd073933 for ; Mon, 3 Mar 2008 18:54:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23IsLuJ073931 for perforce@freebsd.org; Mon, 3 Mar 2008 18:54:21 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 18:54:21 GMT Message-Id: <200803031854.m23IsLuJ073931@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 136761 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, 03 Mar 2008 18:54:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=136761 Change 136761 by sam@sam_ebb on 2008/03/03 18:54:11 Track mbuf flag changes: o use M_PROTO* defs for all flags o reclaim 2 flag bits used to encode the AC by re-using the vlan tag; this should be safe since use the vlan only when classifying packets in the tx path before they go to the driver o remove hack to propagate special mbuf flags when copying the packet header; it's not needed any more now that are flags are part of M_COPYFLAGS Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#20 edit .. //depot/projects/vap/sys/net80211/ieee80211_output.c#37 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_freebsd.h#20 (text+ko) ==== @@ -228,33 +228,29 @@ /* tx path usage */ #define M_LINK0 M_PROTO1 /* WEP requested */ +#define M_WDS M_PROTO2 /* WDS frame */ +#define M_EAPOL M_PROTO3 /* PAE/EAPOL frame */ #define M_PWR_SAV M_PROTO4 /* bypass PS handling */ #define M_MORE_DATA M_PROTO5 /* more data frames to follow */ -#define M_FF 0x020000 /* fast frame */ -#define M_TXCB 0x040000 /* do tx complete callback */ -#define M_WDS 0x080000 /* WDS frame */ -#define M_EAPOL 0x100000 /* PAE/EAPOL frame */ +#define M_FF M_PROTO6 /* fast frame */ +#define M_TXCB M_PROTO7 /* do tx complete callback */ #define M_80211_TX \ - (0x60000|M_PROTO1|M_WME_AC_MASK|M_PROTO4|M_PROTO5|M_WDS|M_EAPOL) + (M_LINK0|M_WDS|M_EAPOL|M_PWR_SAV|M_MORE_DATA|M_FF|M_TXCB) /* rx path usage */ #define M_AMPDU M_PROTO1 /* A-MPDU processing done */ #define M_WEP M_PROTO2 /* WEP done by hardware */ #define M_80211_RX (M_AMPDU|M_WEP) /* - * Encode WME access control bits in the PROTO flags. - * This is safe since it's passed directly in to the - * driver and there's no chance someone else will clobber - * them on us. + * Store WME access control bits in the vlan tag. + * This is safe since it's done after the packet is classified + * (where we use any previous tag) and because it's passed + * directly in to the driver and there's no chance someone + * else will clobber them on us. */ -#define M_WME_AC_MASK (M_PROTO2|M_PROTO3) -/* XXX 5 is wrong if M_PROTO* are redefined */ -#define M_WME_AC_SHIFT 5 - #define M_WME_SETAC(m, ac) \ - ((m)->m_flags = ((m)->m_flags &~ M_WME_AC_MASK) | \ - ((ac) << M_WME_AC_SHIFT)) -#define M_WME_GETAC(m) (((m)->m_flags >> M_WME_AC_SHIFT) & 0x3) + ((m)->m_pkthdr.ether_vtag = (ac)) +#define M_WME_GETAC(m) ((m)->m_pkthdr.ether_vtag) /* * Mbufs on the power save queue are tagged with an age and ==== //depot/projects/vap/sys/net80211/ieee80211_output.c#37 (text+ko) ==== @@ -737,7 +737,6 @@ m_move_pkthdr(n, m); n->m_len = 0; /* NB: m_gethdr does not set */ n->m_data += needed_space; - n->m_flags |= m->m_flags & M_80211_TX; /* * Pull up Ethernet header to create the expected layout. * We could use m_pullup but that's overkill (i.e. we don't From owner-p4-projects@FreeBSD.ORG Mon Mar 3 18:57:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36D6B1065673; Mon, 3 Mar 2008 18:57: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 E971F106566C for ; Mon, 3 Mar 2008 18:57:24 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E871A8FC17 for ; Mon, 3 Mar 2008 18:57:24 +0000 (UTC) (envelope-from csjp@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 m23IvOSh074091 for ; Mon, 3 Mar 2008 18:57:24 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23IvOaf074089 for perforce@freebsd.org; Mon, 3 Mar 2008 18:57:24 GMT (envelope-from csjp@freebsd.org) Date: Mon, 3 Mar 2008 18:57:24 GMT Message-Id: <200803031857.m23IvOaf074089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 136762 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, 03 Mar 2008 18:57:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=136762 Change 136762 by csjp@ibm01 on 2008/03/03 18:56:52 Bring in some of the SSL work: - Add "crypto keyfile" "crypto dsaparam" and "crypto cacert" to the configuration parameters. - Add the necessary elements to the structures to support SSL for both client and server - Hook crypto into the build - Annotate why some structures exist and when you can expect to use them. - Define netaudit_connect() and modify netaudit_accept_socket() so They are SSL aware. NOTE: SSL is thought to be 'enabled' when any of the crypto variables have been initialized. Affected files ... .. //depot/projects/trustedbsd/netauditd/Makefile#4 edit .. //depot/projects/trustedbsd/netauditd/component.c#6 edit .. //depot/projects/trustedbsd/netauditd/conf.c#6 edit .. //depot/projects/trustedbsd/netauditd/crypto.c#5 edit .. //depot/projects/trustedbsd/netauditd/netauditd.c#13 edit .. //depot/projects/trustedbsd/netauditd/netauditd.conf#4 edit .. //depot/projects/trustedbsd/netauditd/netauditd.h#10 edit Differences ... ==== //depot/projects/trustedbsd/netauditd/Makefile#4 (text+ko) ==== @@ -1,7 +1,10 @@ PROG= netauditd -SRCS= netauditd.c component.c conf.c +SRCS= netauditd.c component.c conf.c crypto.c NO_MAN= +DPADD= ${LIBSSL} +LDADD= -lssl + CFLAGS+= -Wall -ggdb .include ==== //depot/projects/trustedbsd/netauditd/component.c#6 (text+ko) ==== @@ -30,6 +30,8 @@ #include #include +#include + #include #include #include @@ -43,6 +45,7 @@ #include +#include "crypto.h" #include "netauditd.h" au_cmpnt_head_t au_srclist; ==== //depot/projects/trustedbsd/netauditd/conf.c#6 (text+ko) ==== @@ -30,6 +30,8 @@ #include #include +#include + #include #include #include @@ -43,6 +45,7 @@ #include +#include "crypto.h" #include "netauditd.h" #define SYNTAX_ERROR(x, y) { (void) fprintf(stderr, \ @@ -62,12 +65,22 @@ { "dst", NULL, "trail", 5, conf_parse_dst_trail }, { "dst", NULL, "net", 6, conf_parse_net }, { "crypto", "keyfile", NULL, 3, conf_parse_keyfile }, + { "crypto", "dsaparam", NULL, 3, conf_parse_keyfile }, + { "crypto", "cacert", NULL, 3, conf_parse_keyfile }, { NULL, NULL, NULL, 0, NULL } }; int conf_parse_keyfile(args_t *a) { + + if (strcmp(a->args[1], "keyfile") == 0) + crypto_keyfile = a->args[2]; + if (strcmp(a->args[1], "dsaparam") == 0) + crypto_dsaparam = a->args[2]; + if (strcmp(a->args[1], "cacert") == 0) + crypto_cacert = a->args[2]; + crypto_enabled = 1; return (0); } ==== //depot/projects/trustedbsd/netauditd/crypto.c#5 (text+ko) ==== @@ -27,10 +27,17 @@ #include #include +#include #include "crypto.h" +#if 0 static char *crypto_pass; +#endif +char *crypto_keyfile; +char *crypto_dsaparam; +char *crypto_cacert; +int crypto_enabled; static int crypto_fatal(struct crypto_context *ct, const char *string) @@ -42,6 +49,7 @@ exit(1); } +#if 0 static int crypto_password_cb(char *buf, int num, int rwflag, void *userdata) { @@ -52,7 +60,8 @@ return(0); (void) strcpy(buf, crypto_pass); return (slen); -} +} +#endif int crypto_init_context(struct crypto_context *ct, int ctx_type) @@ -71,27 +80,35 @@ } meth = SSLv23_method(); ct->c_ctx = SSL_CTX_new(meth); - if (!SSL_CTX_use_certificate_chain_file(ct->c_ctx, "server.pem")) - crypto_fatal(ct, "Can't read certificate file"); /* - * XXX we will revisit this. Just want to get things working. + * Open up the SSL certificate for this host. This information is + * specified in the configuration file using the following line: + * + * crypto keyfile + * + * In order to ensure that the service can come up on bootup without + * requiring password input from a user, use non-encrypted keyfiles. */ - crypto_pass = "SeCrET KeY"; - SSL_CTX_set_default_passwd_cb(ct->c_ctx, crypto_password_cb); - if (!SSL_CTX_use_PrivateKey_file(ct->c_ctx, "server.pem", SSL_FILETYPE_PEM)) - crypto_fatal(ct, "Can't read key file"); + if (!SSL_CTX_use_certificate_chain_file(ct->c_ctx, crypto_keyfile)) + crypto_fatal(ct, "Can't read certificate file"); /* - * Load trusted certificate authorities from key.pem + * Supply the certificate authorities (CA) x509 cert. This is + * supplied in the configuration file using the following line: + * + * crypto cacert */ - if (!SSL_CTX_load_verify_locations(ct->c_ctx, "key.pem", 0)) + if (!SSL_CTX_load_verify_locations(ct->c_ctx, crypto_cacert, 0)) crypto_fatal(ct, "Can't read CA list"); - if ((bio = BIO_new_file("DHFILE", "r")) == NULL) - crypto_fatal(ct, "Couldn't open DH file"); /* * If we are initializing this crypto context for serving SSL clients, - * make sure we initialize our Diffie Hellman parameters. + * make sure we initialize our Diffie Hellman parameters. DH params + * are specified in the configuration file using the following line: + * + * crypto dsaparam */ if (ctx_type == CRYPTO_CTX_SERVER) { + if ((bio = BIO_new_file(crypto_dsaparam, "r")) == NULL) + crypto_fatal(ct, "Couldn't open DH file"); ret = PEM_read_bio_DHparams(bio, NULL, NULL, NULL); BIO_free(bio); if (SSL_CTX_set_tmp_dh(ct->c_ctx, ret) < 0) @@ -107,14 +124,19 @@ SSL_CTX_free(ct->c_ctx); } +#if 0 int main(int argc, char *argv[]) { struct crypto_context ct; int error; + crypto_keyfile = "server.pem"; + crypto_params = "dsaparam.pem"; + crypto_cacert = "cacert.pem"; error = crypto_init_context(&ct, CRYPTO_CTX_SERVER); if (error) err(1, "crypto_init_context failed"); return (0); } +#endif ==== //depot/projects/trustedbsd/netauditd/netauditd.c#13 (text+ko) ==== @@ -35,7 +35,9 @@ #include #include #include +#include +#include #include #include #include @@ -47,6 +49,7 @@ #include #include +#include "crypto.h" #include "netauditd.h" #define FLAG_DEBUG 1 @@ -228,6 +231,28 @@ } } +int +netaudit_connect(struct au_cmpnt *au) +{ + int error; + + error = connect(au->ac_fd, au->ac_ainfo->ai_addr, + au->ac_ainfo->ai_addrlen); + if (error < 0) + return (-1); + if (crypto_enabled == 0) + return (error); + assert(au->ac_crypto_init == 0); + (void) crypto_init_context(&au->ac_cct, CRTYPO_CTX_CLIENT); + au->ac_ssl = SSL_new(au->ac_cct.c_ctx); + au->ac_sbio = BIO_new_socket(au->ac_fd, BIO_NOCLOSE); + SSL_set_bio(au->ac_ssl, au->ac_sbio, au->ac_sbio); + error = SSL_connect(au->ac_ssl); + /* XXX need to do better error checking here */ + au->ac_crypto_init = 1; + return (error == 1 ? 0 : -1); +} + void netaudit_establish(void) { @@ -253,8 +278,7 @@ au->ac_ainfo->ai_protocol); if (au->ac_fd == -1) continue; - if (connect(au->ac_fd, au->ac_ainfo->ai_addr, - au->ac_ainfo->ai_addrlen) == -1) { + if (netaudit_connect(au) == -1) { warn("connect"); close(au->ac_fd); continue; @@ -368,6 +392,7 @@ netaudit_socket_accept(struct au_cmpnt *au) { struct au_srcbuffer *new; + int error; new = malloc(sizeof(struct au_srcbuffer)); if (new == NULL) @@ -387,6 +412,17 @@ exit(2); } new->sb_parent = au; + if (crypto_enabled == 0) { + TAILQ_INSERT_TAIL(&au->ac_sbufq, new, sb_glue); + return; + } + if (au->ac_crypto_init == 0) + (void) crypto_init_context(&au->ac_cct, CRYPTO_CTX_SERVER); + au->ac_crypto_init = 1; + new->sb_sbio = BIO_new_socket(new->sb_fd, BIO_NOCLOSE); + new->sb_ssl = SSL_new(au->ac_cct.c_ctx); + SSL_set_bio(new->sb_ssl, new->sb_sbio, new->sb_sbio); + error = SSL_accept(new->sb_ssl); TAILQ_INSERT_TAIL(&au->ac_sbufq, new, sb_glue); } ==== //depot/projects/trustedbsd/netauditd/netauditd.conf#4 (text+ko) ==== @@ -1,5 +1,12 @@ # netauditd configuration file +# +# For the use of SSL un-comment and define the following variables: +# +# crypto keyfile server.pem +# crypto cacert cacert.pem +# crypto dsaparam dsaparam.pem + src src0 pipe /dev/auditpipe src src1 net 0.0.0.0 9999 ==== //depot/projects/trustedbsd/netauditd/netauditd.h#10 (text+ko) ==== @@ -45,6 +45,11 @@ TAILQ_ENTRY(au_queue_ent) aq_glue; }; +/* + * This object exists for accepted connections. For each new file descriptor + * returned by accept(2), a au_srcbuffer will be allocated and initialized to + * track I/O for each connected remote peer. + */ struct au_srcbuffer { struct au_cmpnt *sb_parent; struct sockaddr *sb_sockaddr; @@ -55,20 +60,35 @@ u_char sb_buf[2048]; u_char sb_header[5]; TAILQ_ENTRY(au_srcbuffer) sb_glue; + BIO *sb_sbio; + SSL *sb_ssl; }; +/* + * Component objects exist for each source and destination components. In the + * case we are network socket (opposed to a regular file or pipe) we have + * SSL parameters. These parameters are inherited by au_srcbuffer objects for + * each connected peer for a component. + */ struct au_cmpnt { char *ac_name; int ac_type; int ac_fd; int ac_established; char *ac_path; - struct addrinfo *ac_ainfo; struct au_cmpnt **ac_consumers; unsigned int ac_nconsumers; TAILQ_HEAD(ac_oq, au_queue_ent) ac_oq; TAILQ_HEAD(ac_sbufq, au_srcbuffer) ac_sbufq; TAILQ_ENTRY(au_cmpnt) ac_glue; + /* + * In case we are a network socket + */ + struct addrinfo *ac_ainfo; + SSL *ac_ssl; + BIO *ac_sbio; + struct crypto_context ac_cct; + int ac_crypto_init; }; typedef struct _args_t { @@ -81,6 +101,10 @@ extern au_cmpnt_head_t au_dstlist; extern char *conf_path; +extern char *crypto_keyfile; +extern char *crypto_dsaparam; +extern char *crypto_cacert; +extern int crypto_enabled; int component_clear_oq(struct au_cmpnt *); void component_destroy(struct au_cmpnt *); From owner-p4-projects@FreeBSD.ORG Mon Mar 3 22:15:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FFCF1065675; Mon, 3 Mar 2008 22:15: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 3D7B91065673 for ; Mon, 3 Mar 2008 22:15:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B3058FC28 for ; Mon, 3 Mar 2008 22:15:00 +0000 (UTC) (envelope-from rdivacky@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 m23MF0xU005090 for ; Mon, 3 Mar 2008 22:15:00 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23MEoPp005080 for perforce@freebsd.org; Mon, 3 Mar 2008 22:14:50 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 3 Mar 2008 22:14:50 GMT Message-Id: <200803032214.m23MEoPp005080@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136768 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, 03 Mar 2008 22:15:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=136768 Change 136768 by rdivacky@rdivacky_witten on 2008/03/03 22:14:38 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/include/proc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/include/smp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/arm/genassym.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/arm/locore.S#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/arm/swtch.S#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/include/_bus.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/include/asmacros.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/include/atomic.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/include/pmap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/ofw/libofw/ofw_console.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/pc98/libpc98/biosdisk.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/metadata.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/powerpc/uboot/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/common/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/console.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/copy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/disk.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/glue.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/module.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/net.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/boot/uboot/lib/time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/cam/cam_periph.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/opensolaris/sys/kmem.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/Makefile.arm#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/NOTES#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files.amd64#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files.i386#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files.powerpc#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files.sparc64#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/kern.post.mk#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/ldscript.powerpc#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/options#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/options.powerpc#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ddb/db_capture.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/acpica/acpi_cpu.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/amr/amr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/amr/amrreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/amr/amrvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bce/if_bcefw.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_ctl_defs.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_t3_hw.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_adapter.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_l2t.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_l2t.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_offload.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_osdep.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/sys/mbufq.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/LICENSE#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_80003es2lan.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_80003es2lan.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82540.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82541.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82541.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82542.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82543.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82543.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82571.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82571.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82575.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_82575.h#3 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_api.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_api.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_defines.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_hw.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_ich8lan.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_ich8lan.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_mac.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_mac.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_manage.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_manage.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_nvm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_nvm.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_osdep.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_phy.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_phy.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/e1000_regs.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/if_em.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/em/if_em.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptiop/hptiop.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ic/quicc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/md/md.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mfi/mfireg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/amphy.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/brgphy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/miidevs#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/nsphy.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mxge/if_mxge.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mxge/if_mxge_var.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/pci/pci.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/LICENSE#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/README#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/array.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/him.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/hptintf.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/ldm.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/list.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/osm.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/osm_bsd.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/syscons/syscons.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/syscons/syscons.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/twe/twe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/uart/uart.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/uart/uart_cpu_powerpc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/if_udav.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/uark.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/ucom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/uftdi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/uftdireg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/umass.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/usbdi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/cd9660/cd9660_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/TODO#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_kernel.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_namecache.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_namecache.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_venus.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/hpfs/hpfs_subr.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/hpfs/hpfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/msdosfs/msdosfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/ntfs/ntfs_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/nullfs/null_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/nullfs/null_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/smbfs/smbfs_node.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/smbfs/smbfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/udf/udf_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/unionfs/union_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/fs/unionfs/union_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/geom/geom_disk.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/geom/linux_lvm/g_linux_lvm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/geom/linux_lvm/g_linux_lvm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/acpica/madt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/geode.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/initcpu.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/minidump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/include/proc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/include/smp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/ia64/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/ia64/locore.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ia64/include/md_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/init_main.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/init_sysent.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_exit.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_jail.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_lock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_mib.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_module.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_rwlock.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_tc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/sched_ule.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_bus.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_lock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_smp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/subr_witness.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/syscalls.master#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/systrace_args.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/tty_pty.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_cache.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_default.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_lookup.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/vnode_if.src#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/libkern/cmpdi2.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/libkern/quad.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/Makefile#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/coda/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/coda5/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/cxgb/Makefile#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/em/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/geom_eli/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/geom_linux_lvm/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/hwpmc/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/igb/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/mii/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/rr232x/Makefile#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/sf/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/sound/driver/emu10kx/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/zfs/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net/bpf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net/route.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_bpf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_nat.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_nat.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_pppoe.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_pred1.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_tee.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/in.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/in_rmx.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_carp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_dummynet.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_fw2.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_id.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_options.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_auth.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_bsd_addr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_indata.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_pcb.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctp_peeloff.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/sctputil.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/in6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/in6_src.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netipsec/ipsec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netipsec/ipsec.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netipsec/key.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netncp/ncp_conn.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netsmb/smb_conn.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netsmb/smb_iod.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfs4client/nfs4_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfsm_subs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pc98/cbus/sio.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/amdsmb.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/if_rl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/if_sf.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/if_sfreg.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/if_wb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/pci/nfsmb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/locore.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/ofw_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/swtch.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/support.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_add.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_arith.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_compare.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_div.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_emu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_emu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_explode.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_extern.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_implode.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_instr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_mul.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_sqrt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/fpu/fpu_subr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/bootinfo.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/float.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/frame.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/hid.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/intr_machdep.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/md_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/metadata.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/openpicreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/openpicvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/pcb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/pmap.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/psl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/pte.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/spr.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/trap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powermac/hrowpic.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powermac/openpic_macio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/autoconf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/db_trace.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/genassym.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/openpic.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/pic_if.m#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/psim/openpic_iobus.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_bsm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_trigger.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/audit/audit_worker.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sparc64/include/md_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sparc64/sparc64/ata_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sparc64/sparc64/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sun4v/sun4v/dump_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/_types.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/buf.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/bufobj.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/bus.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/conf.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/cpuset.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/event.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/ipc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/ktrace.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/lock.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/lockmgr.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/mbuf.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/module.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/mount.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/param.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/priv.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/proc.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/rwlock.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/sched.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/shm.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/signal.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/smp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/socket.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/socketvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/syscall.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/syscall.mk#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/syscallsubr.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/sysproto.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/types.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/user.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/vnode.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/vtoc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/tools/embed_mfs.sh#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_vnops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/vm/vm_map.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/vm/vm_object.c#3 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.45 2007/07/12 21:04:55 rwatson Exp $ +# $FreeBSD: src/sys/Makefile,v 1.46 2008/01/23 08:50:34 maxim Exp $ .include @@ -8,11 +8,11 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= bsm cam compat conf contrib crypto ddb dev fs geom gnu \ +CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ - netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ - ufs vm ${ARCHDIR} + netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \ + pci rpc security sys ufs vm ${ARCHDIR} ARCHDIR ?= ${MACHINE} ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.24 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.25 2008/01/31 16:51:42 jhb Exp $"); #include #include @@ -109,9 +109,11 @@ /* * Code to abuse the crashdump map to map in the tables for the early * probe. We cheat and make the following assumptions about how we - * use this KVA: page 0 is used to map in the first page of each table - * found via the RSDT or XSDT and pages 1 to n are used to map in the - * RSDT or XSDT. The offset is in pages; the length is in bytes. + * use this KVA: pages 0 and 1 are used to map in the header of each + * table found via the RSDT or XSDT and pages 2 to n are used to map + * in the RSDT or XSDT. We have to use 2 pages for the table headers + * in case a header spans a page boundary. The offset is in pages; + * the length is in bytes. */ static void * madt_map(vm_paddr_t pa, int offset, vm_offset_t length) @@ -232,7 +234,7 @@ printf("MADT: RSDP failed extended checksum\n"); return (ENXIO); } - xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, + xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 2, ACPI_SIG_XSDT); if (xsdt == NULL) { if (bootverbose) @@ -246,7 +248,7 @@ break; madt_unmap_table(xsdt); } else { - rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1, + rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 2, ACPI_SIG_RSDT); if (rsdt == NULL) { if (bootverbose) ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.84 2007/11/27 17:28:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $"); #include #include @@ -598,14 +598,14 @@ * Count the number of bounce pages * needed in order to complete this transfer */ - vaddr = trunc_page((vm_offset_t)buf); + vaddr = (vm_offset_t)buf; vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { paddr = pmap_kextract(vaddr); if (run_filter(dmat, paddr) != 0) map->pagesneeded++; - vaddr += PAGE_SIZE; + vaddr += (PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK)); } CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded); } ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/dump_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.12 2006/04/21 04:24:50 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.14 2008/02/15 06:26:25 scottl Exp $"); #include #include @@ -140,7 +140,7 @@ ptr += len; sz -= len; if (fragsz == DEV_BSIZE) { - error = di->dumper(di->priv, buffer, 0, dumplo, + error = dump_write(di, buffer, 0, dumplo, DEV_BSIZE); if (error) return error; @@ -160,7 +160,7 @@ if (fragsz == 0) return (0); - error = di->dumper(di->priv, buffer, 0, dumplo, DEV_BSIZE); + error = dump_write(di, buffer, 0, dumplo, DEV_BSIZE); dumplo += DEV_BSIZE; fragsz = 0; return (error); @@ -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) { @@ -201,7 +205,7 @@ a = pa + i * PAGE_SIZE; va = pmap_kenter_temporary(trunc_page(a), i); } - error = di->dumper(di->priv, va, 0, dumplo, sz); + error = dump_write(di, va, 0, dumplo, sz); if (error) break; dumplo += sz; @@ -327,7 +331,7 @@ ehdr.e_phnum); /* Dump leader */ - error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh)); + error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh)); if (error) goto fail; dumplo += sizeof(kdh); @@ -358,12 +362,12 @@ goto fail; /* Dump trailer */ - error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh)); + error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh)); if (error) goto fail; /* Signal completion, signoff and exit stage left. */ - di->dumper(di->priv, NULL, 0, 0, 0); + dump_write(di, NULL, 0, 0, 0); printf("\nDump complete\n"); return; ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.155 2007/12/08 21:13:01 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.158 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" @@ -97,6 +97,10 @@ { "Sledgehammer", CPUCLASS_K8 }, /* CPU_SLEDGEHAMMER */ }; +int cpu_cores; +int cpu_logical; + + extern int pq_l2size; extern int pq_l2nways; @@ -223,7 +227,7 @@ "\020" "\001SSE3" /* SSE3 */ "\002" - "\003RSVD2" /* "Reserved" bit 2 */ + "\003DTES64" /* 64-bit Debug Trace */ "\004MON" /* MONITOR/MWAIT Instructions */ "\005DS_CPL" /* CPL Qualified Debug Store */ "\006VMX" /* Virtual Machine Extensions */ @@ -240,11 +244,11 @@ "\021" "\022" "\023DCA" /* Direct Cache Access */ - "\024" - "\025" - "\026" + "\024SSE4.1" + "\025SSE4.2" + "\026x2APIC" /* xAPIC Extensions */ "\027" - "\030" + "\030POPCNT" "\031" "\032" "\033" @@ -360,11 +364,13 @@ if ((regs[0] & 0x1f) != 0) cmp = ((regs[0] >> 26) & 0x3f) + 1; } + cpu_cores = cmp; + cpu_logical = htt / cmp; if (cmp > 1) printf("\n Cores per package: %d", cmp); if ((htt / cmp) > 1) printf("\n Logical CPUs per core: %d", - htt / cmp); + cpu_logical); } } /* Avoid ugly blank lines: only print newline when we have to. */ ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/minidump_machdep.c#2 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.2 2006/12/05 11:31:33 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.4 2008/02/15 06:26:25 scottl Exp $"); #include #include @@ -111,7 +111,7 @@ if (fragsz == 0) return (0); - error = di->dumper(di->priv, dump_va, 0, dumplo, fragsz); + error = dump_write(di, dump_va, 0, dumplo, fragsz); dumplo += fragsz; fragsz = 0; return (error); @@ -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; @@ -153,7 +157,7 @@ counter &= (1<<24) - 1; } if (ptr) { - error = di->dumper(di->priv, ptr, 0, dumplo, len); + error = dump_write(di, ptr, 0, dumplo, len); if (error) return (error); dumplo += 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); @@ -284,7 +288,7 @@ printf("Dumping %llu MB:", (long long)dumpsize >> 20); /* Dump leader */ - error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh)); + error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh)); if (error) goto fail; dumplo += sizeof(kdh); @@ -375,13 +379,13 @@ goto fail; /* Dump trailer */ - error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh)); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 3 22:51:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05E1B1065673; Mon, 3 Mar 2008 22:51:40 +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 9F0D11065671 for ; Mon, 3 Mar 2008 22:51:39 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E78D8FC1A for ; Mon, 3 Mar 2008 22:51:39 +0000 (UTC) (envelope-from rdivacky@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 m23MpdiN006293 for ; Mon, 3 Mar 2008 22:51:39 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23MpdJr006291 for perforce@freebsd.org; Mon, 3 Mar 2008 22:51:39 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 3 Mar 2008 22:51:39 GMT Message-Id: <200803032251.m23MpdJr006291@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136770 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, 03 Mar 2008 22:51:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=136770 Change 136770 by rdivacky@rdivacky_witten on 2008/03/03 22:51:17 Add some comments, adjust some other comments and fix a few style issues. Suggested by: netchild Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#8 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#8 (text+ko) ==== @@ -47,6 +47,7 @@ #endif +/* Create a new epoll file descriptor. */ int linux_epoll_create(struct thread *td, struct linux_epoll_create_args *args) { @@ -54,11 +55,12 @@ if (args->size <= 0) return (EINVAL); - /* XXX: args->size is ignored. Linux ignores it as well. */ + /* args->size is unused. Linux ignores it as well. */ - return kqueue(td, &k_args); + return (kqueue(td, &k_args)); } +/* Structure converting function from epoll to kevent. */ static void linux_epoll_to_kevent(int fd, struct linux_epoll_event *event, struct kevent *kevent) { @@ -71,7 +73,7 @@ filter |= EVFILT_WRITE; if (event->events & LINUX_EPOLLPRI) filter |= EVFILT_READ; - if (event->events & LINUX_EPOLLET) /* XXX: not sure about this */ + if (event->events & LINUX_EPOLLET) flags |= EV_CLEAR; if (event->events & LINUX_EPOLLONESHOT) flags |= EV_ONESHOT; @@ -79,6 +81,7 @@ EV_SET(kevent, fd, filter, flags, 0, 0, 0); } +/* Structure converting function from kevent to epoll. */ static void linux_kevent_to_epoll(struct kevent *kevent, struct linux_epoll_event *event) { @@ -100,6 +103,11 @@ } } +/* + * Copyout callback used by kevent. This converts kevent + * events to epoll events and copies them back to the + * userspace. + */ static int linux_kev_copyout(void *arg, struct kevent *kevp, int count) { @@ -123,6 +131,10 @@ return (0); } +/* + * Copyin callback used by kevent. This copies already + * converted filters to the kevent internal memory. + */ static int linux_kev_copyin(void *arg, struct kevent *kevp, int count) { @@ -137,7 +149,10 @@ return (0); } - +/* + * Load epoll filter, convert it to kevent filter + * and load it into kevent subsystem. + */ int linux_epoll_ctl(struct thread *td, struct linux_epoll_ctl_args *args) { @@ -155,10 +170,11 @@ #ifdef DEBUG if (ldebug(epoll_ctl)) printf(ARGS(epoll_ctl,"%i, %i, %i, %u"), args->epfd, args->op, - args->fd, le.events); + args->fd, le.events); #endif k_args.fd = args->epfd; - k_args.changelist = &kev; /* epoll can register only 1 filter at once*/ + k_args.changelist = &kev; + /* The epoll can register only 1 filter at once. */ k_args.nchanges = 1; k_args.eventlist = NULL; k_args.nevents = 0; @@ -169,18 +185,20 @@ kev.flags = EV_ADD | EV_ENABLE; break; case LINUX_EPOLL_CTL_MOD: - /* XXX: DELETE && ADD maybe? */ + /* TODO: DELETE && ADD maybe? */ return (EINVAL); break; case LINUX_EPOLL_CTL_DEL: - kev.flags = EV_DELETE | EV_DISABLE; + kev.flags = EV_DELETE | EV_DISABLE; break; } linux_epoll_to_kevent(args->fd, &le, &kev); - return kern_kevent(td, args->epfd, 1, 0, &k_ops, NULL); + return (kern_kevent(td, args->epfd, 1, 0, &k_ops, NULL)); } +/* + * Wait for a filter to be triggered on the epoll file descriptor. */ int linux_epoll_wait(struct thread *td, struct linux_epoll_wait_args *args) { @@ -191,6 +209,7 @@ linux_kev_copyin}; int error; + /* Convert from miliseconds to timespec. */ ts.tv_sec = args->timeout / 1000000; ts.tv_nsec = (args->timeout % 1000000) * 1000; @@ -198,8 +217,9 @@ k_args.changelist = NULL; k_args.nchanges = 0; /* - * we dont mind the wrong type-cast because - * our copyout function handles this + * We don't mind the bogus type-cast because + * our copyout function knows about this and + * handles it correctly. */ k_args.eventlist = (struct kevent *)args->events; k_args.nevents = args->maxevents; @@ -207,6 +227,6 @@ error = kern_kevent(td, args->epfd, 0, args->maxevents, &k_ops, &ts); - /* XXX: translation? */ + /* translation? */ return (error); } From owner-p4-projects@FreeBSD.ORG Mon Mar 3 23:15:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72F821065679; Mon, 3 Mar 2008 23:15: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 334E01065671 for ; Mon, 3 Mar 2008 23:15:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 332EA8FC1D for ; Mon, 3 Mar 2008 23:15:04 +0000 (UTC) (envelope-from rdivacky@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 m23NF3Jv011183 for ; Mon, 3 Mar 2008 23:15:03 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23NF3u6011181 for perforce@freebsd.org; Mon, 3 Mar 2008 23:15:03 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 3 Mar 2008 23:15:03 GMT Message-Id: <200803032315.m23NF3u6011181@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136771 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, 03 Mar 2008 23:15:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=136771 Change 136771 by rdivacky@rdivacky_witten on 2008/03/03 23:14:36 The copyout callback can also be called when there's an error during registration of a filter. Check this condition and store the error in event->data and pick the error up if we trigger such conditioin epoll_ctl(). Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#9 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#9 (text+ko) ==== @@ -29,10 +29,12 @@ #include "opt_compat.h" +#include #include #include #include #include +#include #include #include #include @@ -81,12 +83,16 @@ EV_SET(kevent, fd, filter, flags, 0, 0, 0); } -/* Structure converting function from kevent to epoll. */ +/* + * Structure converting function from kevent to epoll. In a case + * this is called on error in registration we store the error in + * event->data and pick it up later in linux_epoll_ctl(). + */ static void linux_kevent_to_epoll(struct kevent *kevent, struct linux_epoll_event *event) { if (kevent->flags & EV_ERROR) { - /* XXX: error handling */ + event->data = kevent->data; return; } switch (kevent->filter) { @@ -106,7 +112,8 @@ /* * Copyout callback used by kevent. This converts kevent * events to epoll events and copies them back to the - * userspace. + * userspace. This is also called on error on registering + * of the filter. */ static int linux_kev_copyout(void *arg, struct kevent *kevp, int count) @@ -194,7 +201,14 @@ } linux_epoll_to_kevent(args->fd, &le, &kev); - return (kern_kevent(td, args->epfd, 1, 0, &k_ops, NULL)); + error = kern_kevent(td, args->epfd, 1, 0, &k_ops, NULL); + /* Check if there was an error during registration. */ + if (error == 0 && td->td_retval[0] != 0) { + /* The copyout callback stored the error there. */ + error = le.data; + } + + return (error); } /* From owner-p4-projects@FreeBSD.ORG Mon Mar 3 23:44:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B29F41065674; Mon, 3 Mar 2008 23:44:40 +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 72AA2106566B for ; Mon, 3 Mar 2008 23:44:40 +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 4D1EA8FC2E for ; Mon, 3 Mar 2008 23:44:40 +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 m23Nie4I012136 for ; Mon, 3 Mar 2008 23:44:40 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23NieOD012134 for perforce@freebsd.org; Mon, 3 Mar 2008 23:44:40 GMT (envelope-from sam@freebsd.org) Date: Mon, 3 Mar 2008 23:44:40 GMT Message-Id: <200803032344.m23NieOD012134@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 136772 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, 03 Mar 2008 23:44:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=136772 Change 136772 by sam@sam_ebb on 2008/03/03 23:44:02 Fix power save mcast frame handling: o mark per-vap mcastq w/ the proper qnum so it's handled correctly by ath_tx_handoff o mark frames with MORE_DATA as they are queued; this can result in 1 frame being wrongly marked in very pathological cases but is hard to avoid unless we want to calculate the air time coverage for q'd frames to figure out where the hardware will cutoff our bursting; in the case of a frame going out wrongly marked with MORE_DATA this should just result in PS stations staying awake for the remainder of the beacon interval (or less depending on their implementation) Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#38 edit .. //depot/projects/vap/sys/dev/ath/if_athvar.h#18 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#38 (text+ko) ==== @@ -906,8 +906,7 @@ */ sc->sc_stagbeacons = 1; } - STAILQ_INIT(&avp->av_mcastq.axq_q); - ATH_TXQ_LOCK_INIT(sc, &avp->av_mcastq); + ath_txq_init(sc, &avp->av_mcastq, ATH_TXQ_SWQ); } ic->ic_opmode = ic_opmode; @@ -4407,8 +4406,8 @@ * to avoid possible races. */ ATH_TXQ_LOCK(txq); - ATH_TXQ_INSERT_TAIL(txq, bf, bf_list); if (txq->axq_qnum != ATH_TXQ_SWQ) { + ATH_TXQ_INSERT_TAIL(txq, bf, bf_list); if (txq->axq_link == NULL) { ath_hal_puttxbuf(ah, txq->axq_qnum, bf->bf_daddr); DPRINTF(sc, ATH_DEBUG_XMIT, @@ -4425,8 +4424,20 @@ txq->axq_link = &bf->bf_desc[bf->bf_nseg - 1].ds_link; ath_hal_txstart(ah, txq->axq_qnum); } else { - if (txq->axq_link != NULL) + if (txq->axq_link != NULL) { + struct ath_buf *last = ATH_TXQ_LAST(txq); + struct ieee80211_frame *wh; + + /* mark previous frame */ + wh = mtod(last->bf_m, struct ieee80211_frame *); + wh->i_fc[1] |= IEEE80211_FC1_MORE_DATA; + bus_dmamap_sync(sc->sc_dmat, last->bf_dmamap, + BUS_DMASYNC_PREWRITE); + + /* link descriptor */ *txq->axq_link = bf->bf_daddr; + } + ATH_TXQ_INSERT_TAIL(txq, bf, bf_list); txq->axq_link = &bf->bf_desc[bf->bf_nseg - 1].ds_link; } ATH_TXQ_UNLOCK(txq); @@ -4620,10 +4631,8 @@ * queue (to prevent out of order delivery) multicast * frames must be buffered until after the beacon. */ - if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) { + if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) txq = &avp->av_mcastq; - /* XXX? more bit in 802.11 frame header */ - } /* * Calculate miscellaneous flags. ==== //depot/projects/vap/sys/dev/ath/if_athvar.h#18 (text+ko) ==== @@ -180,6 +180,10 @@ STAILQ_REMOVE_HEAD(&(_tq)->axq_q, _field); \ (_tq)->axq_depth--; \ } while (0) +/* NB: this does not do the "head empty check" that STAILQ_LAST does */ +#define ATH_TXQ_LAST(_tq) \ + ((struct ath_buf *)(void *) \ + ((char *)((_tq)->axq_q.stqh_last) - __offsetof(struct ath_buf, bf_list))) struct ath_vap { struct ieee80211vap av_vap; /* base class */ From owner-p4-projects@FreeBSD.ORG Mon Mar 3 23:56:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D9D91065673; Mon, 3 Mar 2008 23:56: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 C0F381065670 for ; Mon, 3 Mar 2008 23:56:52 +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 BF5CB8FC1E for ; Mon, 3 Mar 2008 23:56:52 +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 m23NuqUX012525 for ; Mon, 3 Mar 2008 23:56:52 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m23NuqlJ012523 for perforce@freebsd.org; Mon, 3 Mar 2008 23:56:52 GMT (envelope-from marcel@freebsd.org) Date: Mon, 3 Mar 2008 23:56:52 GMT Message-Id: <200803032356.m23NuqlJ012523@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 136773 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, 03 Mar 2008 23:56:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=136773 Change 136773 by marcel@marcel_xcllnt on 2008/03/03 23:55:54 IFC @136769 Affected files ... .. //depot/projects/e500/share/mk/bsd.cpu.mk#8 integrate .. //depot/projects/e500/sys/conf/files#17 integrate .. //depot/projects/e500/sys/conf/files.powerpc#21 integrate .. //depot/projects/e500/sys/conf/options.powerpc#8 integrate .. //depot/projects/e500/sys/dev/ic/quicc.h#2 integrate .. //depot/projects/e500/sys/dev/mii/ciphy.c#4 integrate .. //depot/projects/e500/sys/dev/mii/miidevs#8 integrate .. //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#4 integrate .. //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#3 integrate .. //depot/projects/e500/sys/dev/quicc/quicc_bus.h#2 integrate .. //depot/projects/e500/sys/dev/quicc/quicc_core.c#5 integrate .. //depot/projects/e500/sys/dev/scc/scc_bfe.h#4 integrate .. //depot/projects/e500/sys/dev/scc/scc_bfe_quicc.c#3 integrate .. //depot/projects/e500/sys/dev/scc/scc_bus.h#3 integrate .. //depot/projects/e500/sys/dev/scc/scc_dev_quicc.c#2 integrate .. //depot/projects/e500/sys/dev/tsec/if_tsec.c#8 integrate .. //depot/projects/e500/sys/dev/tsec/if_tsec.h#3 integrate .. //depot/projects/e500/sys/dev/tsec/if_tsecreg.h#4 integrate .. //depot/projects/e500/sys/dev/uart/uart.h#3 integrate .. //depot/projects/e500/sys/dev/uart/uart_bus_ocp.c#2 integrate .. //depot/projects/e500/sys/dev/uart/uart_bus_scc.c#3 integrate .. //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#6 integrate .. //depot/projects/e500/sys/dev/uart/uart_dev_quicc.c#4 integrate .. //depot/projects/e500/sys/kern/subr_witness.c#10 integrate .. //depot/projects/e500/sys/netgraph/ng_pppoe.c#6 integrate .. //depot/projects/e500/sys/netinet/ip_fw_nat.c#2 integrate .. //depot/projects/e500/sys/powerpc/booke/clock.c#4 integrate .. //depot/projects/e500/sys/powerpc/booke/copyinout.c#4 integrate .. //depot/projects/e500/sys/powerpc/booke/interrupt.c#8 integrate .. //depot/projects/e500/sys/powerpc/booke/locore.S#6 integrate .. //depot/projects/e500/sys/powerpc/booke/machdep.c#13 integrate .. //depot/projects/e500/sys/powerpc/booke/pmap.c#13 integrate .. //depot/projects/e500/sys/powerpc/booke/support.S#3 integrate .. //depot/projects/e500/sys/powerpc/booke/swtch.S#3 integrate .. //depot/projects/e500/sys/powerpc/booke/trap.c#8 integrate .. //depot/projects/e500/sys/powerpc/booke/trap_subr.S#7 integrate .. //depot/projects/e500/sys/powerpc/booke/uio_machdep.c#4 integrate .. //depot/projects/e500/sys/powerpc/booke/vm_machdep.c#5 integrate .. //depot/projects/e500/sys/powerpc/conf/MPC85XX#5 integrate .. //depot/projects/e500/sys/powerpc/conf/NOTES#10 integrate .. //depot/projects/e500/sys/powerpc/include/md_var.h#7 integrate .. //depot/projects/e500/sys/powerpc/include/mmuvar.h#3 integrate .. //depot/projects/e500/sys/powerpc/include/ocpbus.h#2 integrate .. //depot/projects/e500/sys/powerpc/include/tlb.h#4 integrate .. //depot/projects/e500/sys/powerpc/include/trap_aim.h#2 integrate .. //depot/projects/e500/sys/powerpc/include/trap_booke.h#3 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/nexus.c#3 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#8 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#5 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#3 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#5 integrate .. //depot/projects/e500/sys/powerpc/powerpc/autoconf.c#4 integrate .. //depot/projects/e500/sys/powerpc/powerpc/gdb_machdep.c#3 integrate Differences ... ==== //depot/projects/e500/share/mk/bsd.cpu.mk#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.64 2008/02/29 19:20:05 jhb Exp $ +# $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.65 2008/03/03 20:40:20 raj Exp $ # Set default CPU compile flags and baseline CPUTYPE for each arch. The # compile flags must support the minimum CPU type for each architecture but ==== //depot/projects/e500/sys/conf/files#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1275 2008/03/02 07:39:21 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1276 2008/03/03 20:40:19 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/e500/sys/conf/files.powerpc#21 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.73 2008/02/23 20:16:38 marcel Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.74 2008/03/03 20:40:19 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/e500/sys/conf/options.powerpc#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.powerpc,v 1.11 2008/02/23 20:16:38 marcel Exp $ +# $FreeBSD: src/sys/conf/options.powerpc,v 1.12 2008/03/03 17:16:59 raj Exp $ # Options specific to the powerpc platform kernels AIM opt_global.h ==== //depot/projects/e500/sys/dev/ic/quicc.h#2 (text+ko) ==== ==== //depot/projects/e500/sys/dev/mii/ciphy.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mii/ciphy.c,v 1.9 2007/06/06 06:55:49 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mii/ciphy.c,v 1.10 2008/03/03 18:44:32 raj Exp $"); /* * Driver for the Cicada CS8201/CS8204 10/100/1000 copper PHY. ==== //depot/projects/e500/sys/dev/mii/miidevs#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/mii/miidevs,v 1.48 2008/01/27 01:10:41 marius Exp $ +$FreeBSD: src/sys/dev/mii/miidevs,v 1.49 2008/03/03 18:44:33 raj Exp $ /*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/ /*- ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#4 (text+ko) ==== ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/dev/quicc/quicc_bus.h#2 (text+ko) ==== ==== //depot/projects/e500/sys/dev/quicc/quicc_core.c#5 (text+ko) ==== ==== //depot/projects/e500/sys/dev/scc/scc_bfe.h#4 (text) ==== @@ -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/sys/dev/scc/scc_bfe.h,v 1.6 2007/03/28 18:05:17 marcel Exp $ + * $FreeBSD: src/sys/dev/scc/scc_bfe.h,v 1.7 2008/03/03 18:20:16 raj Exp $ */ #ifndef _DEV_SCC_BFE_H_ ==== //depot/projects/e500/sys/dev/scc/scc_bfe_quicc.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/dev/scc/scc_bus.h#3 (text) ==== @@ -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/sys/dev/scc/scc_bus.h,v 1.1 2006/03/30 18:33:22 marcel Exp $ + * $FreeBSD: src/sys/dev/scc/scc_bus.h,v 1.2 2008/03/03 18:20:16 raj Exp $ */ #ifndef _DEV_SCC_BUS_H_ ==== //depot/projects/e500/sys/dev/scc/scc_dev_quicc.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/dev/tsec/if_tsec.c#8 (text+ko) ==== ==== //depot/projects/e500/sys/dev/tsec/if_tsec.h#3 (text+ko) ==== ==== //depot/projects/e500/sys/dev/tsec/if_tsecreg.h#4 (text+ko) ==== ==== //depot/projects/e500/sys/dev/uart/uart.h#3 (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/sys/dev/uart/uart.h,v 1.6 2007/04/02 22:00:22 marcel Exp $ + * $FreeBSD: src/sys/dev/uart/uart.h,v 1.7 2008/03/03 17:16:59 raj Exp $ */ #ifndef _DEV_UART_H_ ==== //depot/projects/e500/sys/dev/uart/uart_bus_ocp.c#2 (text+ko) ==== ==== //depot/projects/e500/sys/dev/uart/uart_bus_scc.c#3 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_scc.c,v 1.1 2006/03/30 18:33:22 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_scc.c,v 1.2 2008/03/03 18:20:17 raj Exp $"); #include #include ==== //depot/projects/e500/sys/dev/uart/uart_cpu_powerpc.c#6 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.4 2007/12/19 18:00:49 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.5 2008/03/03 17:16:59 raj Exp $"); #include "opt_platform.h" ==== //depot/projects/e500/sys/dev/uart/uart_dev_quicc.c#4 (text+ko) ==== ==== //depot/projects/e500/sys/kern/subr_witness.c#10 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.239 2007/12/25 17:51:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.240 2008/03/03 17:16:59 raj Exp $"); #include "opt_ddb.h" #include "opt_hwpmc_hooks.h" ==== //depot/projects/e500/sys/netgraph/ng_pppoe.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ * * Author: Julian Elischer * - * $FreeBSD: src/sys/netgraph/ng_pppoe.c,v 1.93 2008/03/02 23:26:35 mav Exp $ + * $FreeBSD: src/sys/netgraph/ng_pppoe.c,v 1.94 2008/03/03 19:36:03 mav Exp $ * $Whistle: ng_pppoe.c,v 1.10 1999/11/01 09:24:52 julian Exp $ */ @@ -235,7 +235,7 @@ ng_ID_t creator; /* who to notify */ struct pppoe_full_hdr pkt_hdr; /* used when connected */ negp neg; /* used when negotiating */ - TAILQ_ENTRY(sess_con) sessions; + LIST_ENTRY(sess_con) sessions; }; typedef struct sess_con *sessp; @@ -244,7 +244,7 @@ struct sess_hash_entry { struct mtx mtx; - TAILQ_HEAD(hhead, sess_con) head; + LIST_HEAD(hhead, sess_con) head; }; /* @@ -260,6 +260,7 @@ #define COMPAT_3COM 0x00000001 #define COMPAT_DLINK 0x00000002 struct ether_header eh; + LIST_HEAD(, sess_con) listeners; struct sess_hash_entry sesshash[SESSHASHSIZE]; }; typedef struct PPPoE *priv_p; @@ -415,21 +416,11 @@ static hook_p pppoe_match_svc(node_p node, const struct pppoe_tag *tag) { - hook_p hook; + const priv_p privp = NG_NODE_PRIVATE(node); + sessp sp; - LIST_FOREACH(hook, &node->nd_hooks, hk_hooks) { - sessp sp = NG_HOOK_PRIVATE(hook); - negp neg; - - /* Skip any nonsession hook. */ - if (sp == NULL) - continue; - - /* Skip any sessions which are not in LISTEN mode. */ - if (sp->state != PPPOE_LISTENING) - continue; - - neg = sp->neg; + LIST_FOREACH(sp, &privp->listeners, sessions) { + negp neg = sp->neg; /* Empty Service-Name matches any service. */ if (neg->service_len == 0) @@ -447,9 +438,10 @@ ntohs(tag->tag_len)) == 0) break; } - CTR3(KTR_NET, "%20s: matched %p for %s", __func__, hook, tag->tag_data); + CTR3(KTR_NET, "%20s: matched %p for %s", __func__, + sp?sp->hook:NULL, tag->tag_data); - return (hook); + return (sp?sp->hook:NULL); } /* @@ -461,27 +453,17 @@ static int pppoe_broadcast_padi(node_p node, struct mbuf *m0) { - hook_p hook; + const priv_p privp = NG_NODE_PRIVATE(node); + sessp sp; int error = 0; - LIST_FOREACH(hook, &node->nd_hooks, hk_hooks) { - sessp sp = NG_HOOK_PRIVATE(hook); + LIST_FOREACH(sp, &privp->listeners, sessions) { struct mbuf *m; - /* - * Go through all listening hooks and - * broadcast the PADI packet up there - */ - if (sp == NULL) - continue; - - if (sp->state != PPPOE_LISTENING) - continue; - m = m_dup(m0, M_DONTWAIT); if (m == NULL) return (ENOMEM); - NG_SEND_DATA_ONLY(error, hook, m); + NG_SEND_DATA_ONLY(error, sp->hook, m); if (error) return (error); } @@ -495,25 +477,15 @@ static hook_p pppoe_find_svc(node_p node, const char *svc_name, int svc_len) { - hook_p hook; + const priv_p privp = NG_NODE_PRIVATE(node); + sessp sp; - LIST_FOREACH(hook, &node->nd_hooks, hk_hooks) { - sessp sp = NG_HOOK_PRIVATE(hook); - negp neg; - - /* Skip any nonsession hook. */ - if (sp == NULL) - continue; + LIST_FOREACH(sp, &privp->listeners, sessions) { + negp neg = sp->neg; - /* Skip any sessions which are not in LISTEN mode. */ - if (sp->state != PPPOE_LISTENING) - continue; - - neg = sp->neg; - if (neg->service_len == svc_len && strncmp(svc_name, neg->service.data, svc_len) == 0) - return (hook); + return (sp->hook); } return (NULL); @@ -541,13 +513,13 @@ /* Check it isn't already in use. */ hash = SESSHASH(val); mtx_lock(&privp->sesshash[hash].mtx); - TAILQ_FOREACH(tsp, &privp->sesshash[hash].head, sessions) { + LIST_FOREACH(tsp, &privp->sesshash[hash].head, sessions) { if (tsp->Session_ID == val) break; } if (!tsp) { sp->Session_ID = val; - TAILQ_INSERT_HEAD(&privp->sesshash[hash].head, sp, sessions); + LIST_INSERT_HEAD(&privp->sesshash[hash].head, sp, sessions); } mtx_unlock(&privp->sesshash[hash].mtx); if (tsp) @@ -566,7 +538,7 @@ uint16_t hash = SESSHASH(sp->Session_ID); mtx_lock(&privp->sesshash[hash].mtx); - TAILQ_INSERT_HEAD(&privp->sesshash[hash].head, sp, sessions); + LIST_INSERT_HEAD(&privp->sesshash[hash].head, sp, sessions); mtx_unlock(&privp->sesshash[hash].mtx); } @@ -578,7 +550,7 @@ uint16_t hash = SESSHASH(sp->Session_ID); mtx_lock(&privp->sesshash[hash].mtx); - TAILQ_REMOVE(&privp->sesshash[hash].head, sp, sessions); + LIST_REMOVE(sp, sessions); mtx_unlock(&privp->sesshash[hash].mtx); } @@ -591,7 +563,7 @@ sessp sp = NULL; mtx_lock(&privp->sesshash[hash].mtx); - TAILQ_FOREACH(sp, &privp->sesshash[hash].head, sessions) { + LIST_FOREACH(sp, &privp->sesshash[hash].head, sessions) { if (sp->Session_ID == session && bcmp(sp->pkt_hdr.eh.ether_dhost, wh->eh.ether_shost, ETHER_ADDR_LEN) == 0) { @@ -651,9 +623,10 @@ memset(&privp->eh.ether_dhost, 0xff, ETHER_ADDR_LEN); privp->eh.ether_type = ETHERTYPE_PPPOE_DISC; + LIST_INIT(&privp->listeners); for (i = 0; i < SESSHASHSIZE; i++) { mtx_init(&privp->sesshash[i].mtx, "PPPoE hash mutex", NULL, MTX_DEF); - TAILQ_INIT(&privp->sesshash[i].head); + LIST_INIT(&privp->sesshash[i].head); } CTR3(KTR_NET, "%20s: created node [%x] (%p)", @@ -789,18 +762,12 @@ /* Make sure strcmp will terminate safely. */ ourmsg->hook[sizeof(ourmsg->hook) - 1] = '\0'; - /* Cycle through all known hooks. */ - LIST_FOREACH(hook, &node->nd_hooks, hk_hooks) { - if (NG_HOOK_NAME(hook) && - strcmp(NG_HOOK_NAME(hook), ourmsg->hook) == - 0) - break; - } + /* Find hook by name. */ + hook = ng_findhook(node, ourmsg->hook); if (hook == NULL) LEAVE(ENOENT); sp = NG_HOOK_PRIVATE(hook); - if (sp == NULL) LEAVE(EINVAL); @@ -922,6 +889,7 @@ * Wait for PADI packet coming from Ethernet. */ sp->state = PPPOE_LISTENING; + LIST_INSERT_HEAD(&privp->listeners, sp, sessions); break; case NGM_PPPOE_OFFER: /* @@ -1810,7 +1778,9 @@ privp->ethernet_hook, m); } } - if (sp->Session_ID) + if (sp->state == PPPOE_LISTENING) + LIST_REMOVE(sp, sessions); + else if (sp->Session_ID) pppoe_delsession(sp); /* * As long as we have somewhere to store the timeout handle, ==== //depot/projects/e500/sys/netinet/ip_fw_nat.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_fw_nat.c,v 1.1 2008/02/29 22:27:19 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_fw_nat.c,v 1.2 2008/03/03 22:32:01 piso Exp $"); #include #include @@ -598,6 +598,7 @@ static void ipfw_nat_destroy(void) { + struct ip_fw *rule; struct cfg_nat *ptr, *ptr_temp; IPFW_WLOCK(&layer3_chain); @@ -608,6 +609,12 @@ free(ptr, M_IPFW); } EVENTHANDLER_DEREGISTER(ifaddr_event, ifaddr_event_tag); + /* flush all nat ptrs */ + for (rule = layer3_chain.rules; rule; rule = rule->next) { + ipfw_insn_nat *cmd = (ipfw_insn_nat *)ACTION_PTR(rule); + if (cmd->o.opcode == O_NAT) + cmd->nat = NULL; + } /* deregister ipfw_nat */ ipfw_nat_ptr = NULL; IPFW_WUNLOCK(&layer3_chain); ==== //depot/projects/e500/sys/powerpc/booke/clock.c#4 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/copyinout.c#4 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/interrupt.c#8 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/locore.S#6 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/machdep.c#13 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#13 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/support.S#3 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/swtch.S#3 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/trap.c#8 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/trap_subr.S#7 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/uio_machdep.c#4 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/booke/vm_machdep.c#5 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/conf/MPC85XX#5 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.13 2008/02/23 22:32:16 marcel Exp $ +# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.14 2008/03/03 20:40:19 raj Exp $ # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. ==== //depot/projects/e500/sys/powerpc/include/md_var.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/include/md_var.h,v 1.30 2007/11/13 15:47:55 grehan Exp $ + * $FreeBSD: src/sys/powerpc/include/md_var.h,v 1.31 2008/03/03 17:17:00 raj Exp $ */ #ifndef _MACHINE_MD_VAR_H_ ==== //depot/projects/e500/sys/powerpc/include/mmuvar.h#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/sys/powerpc/include/mmuvar.h,v 1.1 2005/11/08 06:48:08 grehan Exp $ + * $FreeBSD: src/sys/powerpc/include/mmuvar.h,v 1.2 2008/03/03 17:17:00 raj Exp $ */ #ifndef _MACHINE_MMUVAR_H_ ==== //depot/projects/e500/sys/powerpc/include/ocpbus.h#2 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/include/tlb.h#4 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/include/trap_aim.h#2 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/include/trap_booke.h#3 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/mpc85xx/nexus.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#8 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#5 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#3 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#5 (text+ko) ==== ==== //depot/projects/e500/sys/powerpc/powerpc/autoconf.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/autoconf.c,v 1.16 2007/08/11 19:25:32 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/autoconf.c,v 1.17 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/powerpc/gdb_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/gdb_machdep.c,v 1.1 2006/08/24 21:52:11 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/gdb_machdep.c,v 1.2 2008/03/03 22:00:46 raj Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Mar 4 01:20:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1C801065672; Tue, 4 Mar 2008 01:20: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 5FCCE106566B for ; Tue, 4 Mar 2008 01:20:18 +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 5E0B68FC12 for ; Tue, 4 Mar 2008 01:20:18 +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 m241KI53027267 for ; Tue, 4 Mar 2008 01:20:18 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m241KH0Z027265 for perforce@freebsd.org; Tue, 4 Mar 2008 01:20:17 GMT (envelope-from marcel@freebsd.org) Date: Tue, 4 Mar 2008 01:20:17 GMT Message-Id: <200803040120.m241KH0Z027265@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 136774 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, 04 Mar 2008 01:20:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=136774 Change 136774 by marcel@marcel_xcllnt on 2008/03/04 01:19:27 Fix $FreeBSD$ fodder. Affected files ... .. //depot/projects/e500/sys/dev/ic/quicc.h#3 edit .. //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#5 edit .. //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#4 edit .. //depot/projects/e500/sys/dev/quicc/quicc_bus.h#3 edit .. //depot/projects/e500/sys/dev/quicc/quicc_core.c#6 edit .. //depot/projects/e500/sys/dev/scc/scc_bfe_quicc.c#4 edit .. //depot/projects/e500/sys/dev/scc/scc_dev_quicc.c#3 edit .. //depot/projects/e500/sys/dev/tsec/if_tsec.c#9 edit .. //depot/projects/e500/sys/dev/tsec/if_tsec.h#4 edit .. //depot/projects/e500/sys/dev/tsec/if_tsecreg.h#5 edit .. //depot/projects/e500/sys/dev/uart/uart_bus_ocp.c#3 edit .. //depot/projects/e500/sys/dev/uart/uart_dev_quicc.c#5 edit .. //depot/projects/e500/sys/powerpc/booke/clock.c#5 edit .. //depot/projects/e500/sys/powerpc/booke/copyinout.c#5 edit .. //depot/projects/e500/sys/powerpc/booke/interrupt.c#9 edit .. //depot/projects/e500/sys/powerpc/booke/locore.S#7 edit .. //depot/projects/e500/sys/powerpc/booke/machdep.c#14 edit .. //depot/projects/e500/sys/powerpc/booke/pmap.c#14 edit .. //depot/projects/e500/sys/powerpc/booke/support.S#4 edit .. //depot/projects/e500/sys/powerpc/booke/swtch.S#4 edit .. //depot/projects/e500/sys/powerpc/booke/trap.c#9 edit .. //depot/projects/e500/sys/powerpc/booke/trap_subr.S#8 edit .. //depot/projects/e500/sys/powerpc/booke/uio_machdep.c#5 edit .. //depot/projects/e500/sys/powerpc/booke/vm_machdep.c#6 edit .. //depot/projects/e500/sys/powerpc/conf/MPC85XX#6 edit .. //depot/projects/e500/sys/powerpc/include/ocpbus.h#3 edit .. //depot/projects/e500/sys/powerpc/include/tlb.h#5 edit .. //depot/projects/e500/sys/powerpc/include/trap_aim.h#3 edit .. //depot/projects/e500/sys/powerpc/include/trap_booke.h#4 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/nexus.c#4 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#9 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#6 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#4 edit .. //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#6 edit Differences ... ==== //depot/projects/e500/sys/dev/ic/quicc.h#3 (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$ + * $FreeBSD: src/sys/dev/ic/quicc.h,v 1.1 2008/03/03 18:20:16 raj Exp $ */ #ifndef _DEV_IC_QUICC_H_ ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe.h#5 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/dev/quicc/quicc_bfe.h,v 1.1 2008/03/03 18:20:16 raj Exp $ */ #ifndef _DEV_QUICC_BFE_H_ ==== //depot/projects/e500/sys/dev/quicc/quicc_bfe_ocp.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/quicc/quicc_bfe_ocp.c,v 1.1 2008/03/03 18:20:16 raj Exp $"); #include #include ==== //depot/projects/e500/sys/dev/quicc/quicc_bus.h#3 (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$ + * $FreeBSD: src/sys/dev/quicc/quicc_bus.h,v 1.1 2008/03/03 18:20:16 raj Exp $ */ #ifndef _DEV_QUICC_BUS_H_ ==== //depot/projects/e500/sys/dev/quicc/quicc_core.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/quicc/quicc_core.c,v 1.1 2008/03/03 18:20:16 raj Exp $"); #include #include ==== //depot/projects/e500/sys/dev/scc/scc_bfe_quicc.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/scc/scc_bfe_quicc.c,v 1.1 2008/03/03 18:20:16 raj Exp $"); #define __RMAN_RESOURCE_VISIBLE ==== //depot/projects/e500/sys/dev/scc/scc_dev_quicc.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/scc/scc_dev_quicc.c,v 1.1 2008/03/03 18:20:16 raj Exp $"); #define __RMAN_RESOURCE_VISIBLE ==== //depot/projects/e500/sys/dev/tsec/if_tsec.c#9 (text+ko) ==== @@ -30,6 +30,8 @@ /* * Freescale integrated Three-Speed Ethernet Controller (TSEC) driver. */ +#include +__FBSDID("$FreeBSD: src/sys/dev/tsec/if_tsec.c,v 1.1 2008/03/03 19:03:44 raj Exp $"); #include #include ==== //depot/projects/e500/sys/dev/tsec/if_tsec.h#4 (text+ko) ==== @@ -25,6 +25,8 @@ * 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/sys/dev/tsec/if_tsec.h,v 1.1 2008/03/03 19:03:44 raj Exp $ */ #define TSEC_RX_NUM_DESC 256 ==== //depot/projects/e500/sys/dev/tsec/if_tsecreg.h#5 (text+ko) ==== @@ -25,6 +25,8 @@ * 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/sys/dev/tsec/if_tsecreg.h,v 1.1 2008/03/03 19:03:44 raj Exp $ */ #define TSEC_REG_ID 0x000 /* Controller ID register #1. */ ==== //depot/projects/e500/sys/dev/uart/uart_bus_ocp.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_ocp.c,v 1.1 2008/03/03 17:16:59 raj Exp $"); #include #include ==== //depot/projects/e500/sys/dev/uart/uart_dev_quicc.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_quicc.c,v 1.1 2008/03/03 18:20:17 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/clock.c#5 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/clock.c,v 1.20 2005/02/04 01:41:38 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/clock.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/copyinout.c#5 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/copyinout.c,v 1.11 2005/01/07 02:29:20 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/copyinout.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/interrupt.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/interrupt.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/locore.S#7 (text+ko) ==== @@ -24,7 +24,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/powerpc/booke/locore.S,v 1.1 2008/03/03 17:17:00 raj Exp $ */ #include "assym.s" ==== //depot/projects/e500/sys/powerpc/booke/machdep.c#14 (text+ko) ==== @@ -81,7 +81,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/machdep.c,v 1.89.2.1 2005/08/08 07:02:12 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#14 (text+ko) ==== @@ -50,7 +50,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/pmap.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/support.S#4 (text+ko) ==== @@ -24,7 +24,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/powerpc/booke/support.S,v 1.1 2008/03/03 17:17:00 raj Exp $ */ #include "assym.s" @@ -39,7 +39,6 @@ #include .text - /* * void remap_ccsrbar(vm_offset_t old_ccsrbar_va, vm_offset_t new_ccsrbar_va, * vm_offset_t new_ccsrbar_pa) ==== //depot/projects/e500/sys/powerpc/booke/swtch.S#4 (text+ko) ==== @@ -1,6 +1,3 @@ -/* $FreeBSD: src/sys/powerpc/powerpc/swtch.S,v 1.21 2005/01/07 02:29:20 imp Exp $ */ -/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ - /*- * Copyright (C) 2001 Benno Rice * All rights reserved. @@ -24,7 +21,12 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ + * + * from: $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ + * from: $FreeBSD: src/sys/powerpc/booke/swtch.S,v 1.1 2008/03/03 17:17:00 raj Exp $ + * + * $FreeBSD: src/sys/powerpc/booke/swtch.S,v 1.1 2008/03/03 17:17:00 raj Exp $ + */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. * Copyright (C) 1995, 1996 TooLs GmbH. ==== //depot/projects/e500/sys/powerpc/booke/trap.c#9 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/trap.c,v 1.54.2.1 2005/08/08 07:02:12 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/trap.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include "opt_fpu_emu.h" #include "opt_ktrace.h" ==== //depot/projects/e500/sys/powerpc/booke/trap_subr.S#8 (text+ko) ==== @@ -1,6 +1,3 @@ -/* $FreeBSD: src/sys/powerpc/powerpc/trap_subr.S,v 1.14.2.1 2005/08/08 07:02:12 grehan Exp $ */ -/* $NetBSD: trap_subr.S,v 1.20 2002/04/22 23:20:08 kleink Exp $ */ - /*- * Copyright (C) 2006 Semihalf, Marian Balakowicz * Copyright (C) 2006 Semihalf, Rafal Jaworowski @@ -28,8 +25,9 @@ * 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/sys/powerpc/booke/trap_subr.S,v 1.1 2008/03/03 17:17:00 raj Exp $ */ - /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. * Copyright (C) 1995, 1996 TooLs GmbH. @@ -59,6 +57,8 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * from: $NetBSD: trap_subr.S,v 1.20 2002/04/22 23:20:08 kleink Exp $ */ /* ==== //depot/projects/e500/sys/powerpc/booke/uio_machdep.c#5 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/uio_machdep.c,v 1.5 2005/01/07 02:29:20 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/uio_machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include ==== //depot/projects/e500/sys/powerpc/booke/vm_machdep.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ * 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/powerpc/powerpc/vm_machdep.c,v 1.110 2005/07/10 23:31:10 davidxu Exp $ + * from: $FreeBSD: src/sys/powerpc/booke/vm_machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $ */ /*- * Copyright (c) 1982, 1986 The Regents of the University of California. @@ -98,6 +98,9 @@ * rights to redistribute these changes. */ +#include +__FBSDID("$FreeBSD: src/sys/powerpc/booke/vm_machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); + #include #include #include ==== //depot/projects/e500/sys/powerpc/conf/MPC85XX#6 (text+ko) ==== @@ -1,3 +1,9 @@ +# +# Custom kernel for Freescale MPC85XX development boards like the CDS etc. +# +# $FreeBSD: src/sys/powerpc/conf/MPC85XX,v 1.1 2008/03/03 20:40:19 raj Exp $ +# + cpu E500 ident MPC85XX ==== //depot/projects/e500/sys/powerpc/include/ocpbus.h#3 (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$ + * $FreeBSD: src/sys/powerpc/include/ocpbus.h,v 1.1 2008/03/03 17:17:00 raj Exp $ */ #ifndef _MACHINE_OCPBUS_H_ ==== //depot/projects/e500/sys/powerpc/include/tlb.h#5 (text+ko) ==== @@ -24,7 +24,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/powerpc/include/tlb.h,v 1.1 2008/03/03 13:20:52 raj Exp $ */ #ifndef _MACHINE_TLB_H_ ==== //depot/projects/e500/sys/powerpc/include/trap_aim.h#3 (text+ko) ==== @@ -29,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $NetBSD: trap.h,v 1.7 2002/02/22 13:51:40 kleink Exp $ - * $FreeBSD: src/sys/powerpc/include/trap.h,v 1.4 2005/01/07 02:29:19 imp Exp $ + * $FreeBSD: src/sys/powerpc/include/trap_aim.h,v 1.1 2008/03/03 13:20:52 raj Exp $ */ #ifndef _POWERPC_TRAP_H_ ==== //depot/projects/e500/sys/powerpc/include/trap_booke.h#4 (text+ko) ==== @@ -24,7 +24,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/powerpc/include/trap_booke.h,v 1.1 2008/03/03 13:20:52 raj Exp $ */ #ifndef _POWERPC_TRAP_H_ ==== //depot/projects/e500/sys/powerpc/mpc85xx/nexus.c#4 (text+ko) ==== @@ -51,10 +51,11 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/i386/i386/nexus.c,v 1.43 2001/02/09 - * - * $FreeBSD: src/sys/powerpc/powerpc/nexus.c,v 1.12 2005/01/07 02:29:20 imp Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/nexus.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); + #include #include #include ==== //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#9 (text+ko) ==== @@ -24,9 +24,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/psim/iobus.c,v 1.8 2005/01/07 02:29:21 imp Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/ocpbus.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); + #include #include #include ==== //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.h#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/powerpc/mpc85xx/ocpbus.h,v 1.1 2008/03/03 17:17:00 raj Exp $ */ #ifndef _MACHINE_OCP85XX_H_ ==== //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#4 (text+ko) ==== @@ -24,9 +24,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/psim/iobus.c,v 1.8 2005/01/07 02:29:21 imp Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/opic.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); + #include #include #include @@ -43,17 +45,11 @@ #include "pic_if.h" -static int openpic_ocpbus_probe(device_t); - -struct openpic_ocpbus_softc { - struct openpic_softc osc; - int sc_rrid; - struct resource *sc_memr; /* mem resource */ -}; - /* * OpenPIC attachment to ocpbus */ +static int openpic_ocpbus_probe(device_t); + static device_method_t openpic_ocpbus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, openpic_ocpbus_probe), @@ -63,6 +59,7 @@ DEVMETHOD(pic_dispatch, openpic_dispatch), DEVMETHOD(pic_enable, openpic_enable), DEVMETHOD(pic_eoi, openpic_eoi), + DEVMETHOD(pic_ipi, openpic_ipi), DEVMETHOD(pic_mask, openpic_mask), DEVMETHOD(pic_unmask, openpic_unmask), @@ -72,7 +69,7 @@ static driver_t openpic_ocpbus_driver = { "openpic", openpic_ocpbus_methods, - sizeof(struct openpic_ocpbus_softc) + sizeof(struct openpic_softc) }; DRIVER_MODULE(openpic, ocpbus, openpic_ocpbus_driver, openpic_devclass, 0, 0); ==== //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/pci_ocp.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Mar 4 01:44:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 260991065673; Tue, 4 Mar 2008 01:44: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 D9925106566B for ; Tue, 4 Mar 2008 01:44: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 BF5BE8FC12 for ; Tue, 4 Mar 2008 01:44: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 m241ihY7028047 for ; Tue, 4 Mar 2008 01:44:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m241ihMC028045 for perforce@freebsd.org; Tue, 4 Mar 2008 01:44:43 GMT (envelope-from marcel@freebsd.org) Date: Tue, 4 Mar 2008 01:44:43 GMT Message-Id: <200803040144.m241ihMC028045@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 136776 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, 04 Mar 2008 01:44:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=136776 Change 136776 by marcel@marcel_xcllnt on 2008/03/04 01:44:14 IFC @136775 Affected files ... .. //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#5 integrate Differences ... ==== //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/opic.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/mpc85xx/opic.c,v 1.2 2008/03/04 01:40:26 marcel Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Mar 4 03:37:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76CA510656A6; Tue, 4 Mar 2008 03:37: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 3347B1065692 for ; Tue, 4 Mar 2008 03:37:46 +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 316418FC2D for ; Tue, 4 Mar 2008 03:37:46 +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 m243bkEh044306 for ; Tue, 4 Mar 2008 03:37:46 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m243bkCs044304 for perforce@freebsd.org; Tue, 4 Mar 2008 03:37:46 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 4 Mar 2008 03:37:46 GMT Message-Id: <200803040337.m243bkCs044304@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 136780 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, 04 Mar 2008 03:37:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=136780 Change 136780 by swise@swise:vic10:iwarp on 2008/03/04 03:37:25 Added wlat, rlat, and bw tests to krping. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#11 edit .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.h#5 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#11 (text+ko) ==== @@ -76,6 +76,10 @@ {"client", OPT_NOPARAM, 'c'}, {"dmamr", OPT_NOPARAM, 'D'}, {"debug", OPT_NOPARAM, 'd'}, + {"wlat", OPT_NOPARAM, 'l'}, + {"rlat", OPT_NOPARAM, 'L'}, + {"bw", OPT_NOPARAM, 'B'}, + {"tx-depth", OPT_INT, 't'}, {NULL, 0, 0} }; @@ -102,8 +106,8 @@ /* * Default max buffer size for IO... */ -#define RPING_BUFSIZE 64*1024 -#define RPING_SQ_DEPTH 16 +#define RPING_BUFSIZE 128*1024 +#define RPING_SQ_DEPTH 32 /* lifted from netinet/libalias/alias_proxy.c */ @@ -346,7 +350,8 @@ mtx_unlock_spin(&cb->lock); return; } - ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); + if (!cb->wlat && !cb->rlat && !cb->bw) + ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); while ((ret = ib_poll_cq(cb->cq, 1, &wc)) == 1) { if (wc.status) { DEBUG_LOG(PFX "cq completion failed status %d\n", @@ -381,7 +386,10 @@ DEBUG_LOG(PFX "recv completion\n"); cb->stats.recv_bytes += sizeof(cb->recv_buf); cb->stats.recv_msgs++; - ret = cb->server ? server_recv(cb, &wc) : + if (cb->wlat || cb->rlat || cb->bw) + ret = server_recv(cb, &wc); + else + ret = cb->server ? server_recv(cb, &wc) : client_recv(cb, &wc); if (ret) { DEBUG_LOG(PFX "recv wc error: %d\n", ret); @@ -431,10 +439,12 @@ return ret; } - krping_wait(cb, CONNECTED); - if (cb->state == ERROR) { - DEBUG_LOG(PFX "wait for CONNECTED state %d\n", cb->state); - return -1; + if (!cb->wlat && !cb->rlat && !cb->bw) { + krping_wait(cb, CONNECTED); + if (cb->state == ERROR) { + DEBUG_LOG(PFX "wait for CONNECTED state %d\n", cb->state); + return -1; + } } return 0; } @@ -473,7 +483,7 @@ cb->rdma_sq_wr.sg_list = &cb->rdma_sgl; cb->rdma_sq_wr.num_sge = 1; - if (!cb->server) { + if (!cb->server || cb->wlat || cb->rlat || cb->bw) { cb->start_addr = virt_to_phys(cb->start_buf); } } @@ -546,7 +556,7 @@ } } - if (!cb->server) { + if (!cb->server || cb->wlat || cb->rlat || cb->bw) { cb->start_buf = contigmalloc(cb->size, M_DEVBUF, M_WAITOK, 0, (1L<<22), 4096, 1024*1024); if (!cb->start_buf) { @@ -555,12 +565,15 @@ goto err2; } if (!cb->use_dmamr) { + unsigned flags = IB_ACCESS_REMOTE_READ; + if (cb->wlat || cb->rlat || cb->bw) + flags |= IB_ACCESS_REMOTE_WRITE; buf.addr = virt_to_phys(cb->start_buf); buf.size = cb->size; iovbase = virt_to_phys(cb->start_buf); cb->start_mr = ib_reg_phys_mr(cb->pd, &buf, 1, - IB_ACCESS_REMOTE_READ, + flags, &iovbase); if (IS_ERR(cb->start_mr)) { @@ -607,7 +620,7 @@ cb->size, DMA_BIDIRECTIONAL); #endif contigfree(cb->rdma_buf, cb->size, M_DEVBUF); - if (!cb->server) { + if (!cb->server || cb->wlat || cb->rlat || cb->bw) { dma_unmap_single(cb->pd->device->dma_device, pci_unmap_addr(cb, start_mapping), cb->size, DMA_BIDIRECTIONAL); @@ -630,7 +643,7 @@ int ret; memset(&init_attr, 0, sizeof(init_attr)); - init_attr.cap.max_send_wr = RPING_SQ_DEPTH; + init_attr.cap.max_send_wr = cb->txdepth; init_attr.cap.max_recv_wr = 2; init_attr.cap.max_recv_sge = 1; init_attr.cap.max_send_sge = 1; @@ -669,7 +682,7 @@ DEBUG_LOG(PFX "created pd %p\n", cb->pd); cb->cq = ib_create_cq(cm_id->device, krping_cq_event_handler, NULL, - cb, RPING_SQ_DEPTH * 2, 0); + cb, cb->txdepth * 2, 0); if (IS_ERR(cb->cq)) { DEBUG_LOG(PFX "ib_create_cq failed\n"); ret = PTR_ERR(cb->cq); @@ -677,10 +690,12 @@ } DEBUG_LOG(PFX "created cq %p\n", cb->cq); - ret = ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); - if (ret) { - DEBUG_LOG(PFX "ib_create_cq failed\n"); - goto err2; + if (!cb->wlat && !cb->rlat && !cb->bw) { + ret = ib_req_notify_cq(cb->cq, IB_CQ_NEXT_COMP); + if (ret) { + DEBUG_LOG(PFX "ib_create_cq failed\n"); + goto err2; + } } ret = krping_create_qp(cb); @@ -809,6 +824,451 @@ } } +static void rlat_test(struct krping_cb *cb) +{ + int scnt; + int iters = cb->count; + struct timeval start_tv, stop_tv; + int ret; + struct ib_wc wc; + struct ib_send_wr *bad_wr; + int ne; + + scnt = 0; + cb->rdma_sq_wr.opcode = IB_WR_RDMA_READ; + cb->rdma_sq_wr.wr.rdma.rkey = cb->remote_rkey; + cb->rdma_sq_wr.wr.rdma.remote_addr = cb->remote_addr; + cb->rdma_sq_wr.sg_list->length = cb->size; + + microtime(&start_tv); + while (scnt < iters) { + + ret = ib_post_send(cb->qp, &cb->rdma_sq_wr, &bad_wr); + if (ret) { + printf(PFX + "Couldn't post send: ret=%d scnt %d\n", + ret, scnt); + return; + } + + do { + ne = ib_poll_cq(cb->cq, 1, &wc); + if (cb->state == ERROR) { + printf(PFX + "state == ERROR...bailing scnt %d\n", scnt); + return; + } + } while (ne == 0); + + if (ne < 0) { + printf(PFX "poll CQ failed %d\n", ne); + return; + } + if (wc.status != IB_WC_SUCCESS) { + printf(PFX "Completion wth error at %s:\n", + cb->server ? "server" : "client"); + printf(PFX "Failed status %d: wr_id %d\n", + wc.status, (int) wc.wr_id); + return; + } + ++scnt; + } + microtime(&stop_tv); + + if (stop_tv.tv_usec < start_tv.tv_usec) { + stop_tv.tv_usec += 1000000; + stop_tv.tv_sec -= 1; + } + + printf(PFX "delta sec %lu delta usec %lu iter %d size %d\n", + stop_tv.tv_sec - start_tv.tv_sec, + stop_tv.tv_usec - start_tv.tv_usec, + scnt, cb->size); +} + +static int alloc_cycle_mem(int cycle_iters, + cycles_t **post_cycles_start, + cycles_t **post_cycles_stop, + cycles_t **poll_cycles_start, + cycles_t **poll_cycles_stop, + cycles_t **last_poll_cycles_start) +{ + *post_cycles_start = malloc(cycle_iters * sizeof(cycles_t), M_DEVBUF, M_WAITOK); + if (!*post_cycles_start) { + goto fail1; + } + *post_cycles_stop = malloc(cycle_iters * sizeof(cycles_t), M_DEVBUF, M_WAITOK); + if (!*post_cycles_stop) { + goto fail2; + } + *poll_cycles_start = malloc(cycle_iters * sizeof(cycles_t), M_DEVBUF, M_WAITOK); + if (!*poll_cycles_start) { + goto fail3; + } + *poll_cycles_stop = malloc(cycle_iters * sizeof(cycles_t), M_DEVBUF, M_WAITOK); + if (!*poll_cycles_stop) { + goto fail4; + } + *last_poll_cycles_start = malloc(cycle_iters * sizeof(cycles_t), M_DEVBUF, M_WAITOK); + if (!*last_poll_cycles_start) { + goto fail5; + } + return 0; +fail5: + free(*poll_cycles_stop, M_DEVBUF); +fail4: + free(*poll_cycles_start, M_DEVBUF); +fail3: + free(*post_cycles_stop, M_DEVBUF); +fail2: + free(*post_cycles_start, M_DEVBUF); +fail1: + printf(PFX "%s malloc failed\n", __FUNCTION__); + return ENOMEM; +} + +static void free_cycle_mem(cycles_t *post_cycles_start, + cycles_t *post_cycles_stop, + cycles_t *poll_cycles_start, + cycles_t *poll_cycles_stop, + cycles_t *last_poll_cycles_start) +{ + free(last_poll_cycles_start, M_DEVBUF); + free(poll_cycles_stop, M_DEVBUF); + free(poll_cycles_start, M_DEVBUF); + free(post_cycles_stop, M_DEVBUF); + free(post_cycles_start, M_DEVBUF); +} + +static void wlat_test(struct krping_cb *cb) +{ + int ccnt, scnt, rcnt; + int iters=cb->count; + volatile char *poll_buf = (char *) cb->start_buf; + char *buf = (char *)cb->rdma_buf; + ccnt = 0; + scnt = 0; + rcnt = 0; + struct timeval start_tv, stop_tv; + cycles_t *post_cycles_start, *post_cycles_stop; + cycles_t *poll_cycles_start, *poll_cycles_stop; + cycles_t *last_poll_cycles_start; + cycles_t sum_poll = 0, sum_post = 0, sum_last_poll = 0; + int i; + int cycle_iters = 1000; + int err; + + err = alloc_cycle_mem(cycle_iters, &post_cycles_start, &post_cycles_stop, + &poll_cycles_start, &poll_cycles_stop, &last_poll_cycles_start); + + if (err) { + printf(PFX "%s malloc failed\n", __FUNCTION__); + return; + } + + cb->rdma_sq_wr.opcode = IB_WR_RDMA_WRITE; + cb->rdma_sq_wr.wr.rdma.rkey = cb->remote_rkey; + cb->rdma_sq_wr.wr.rdma.remote_addr = cb->remote_addr; + cb->rdma_sq_wr.sg_list->length = cb->size; + + if (cycle_iters > iters) + cycle_iters = iters; + microtime(&start_tv); + while (scnt < iters || ccnt < iters || rcnt < iters) { + + /* Wait till buffer changes. */ + if (rcnt < iters && !(scnt < 1 && !cb->server)) { + ++rcnt; + while (*poll_buf != (char)rcnt) { + if (cb->state == ERROR) { + printf(PFX "state = ERROR, bailing\n"); + return; + } + } + } + + if (scnt < iters) { + struct ib_send_wr *bad_wr; + + *buf = (char)scnt+1; + if (scnt < cycle_iters) + post_cycles_start[scnt] = get_cycles(); + if (ib_post_send(cb->qp, &cb->rdma_sq_wr, &bad_wr)) { + printf(PFX "Couldn't post send: scnt=%d\n", + scnt); + return; + } + if (scnt < cycle_iters) + post_cycles_stop[scnt] = get_cycles(); + scnt++; + } + + if (ccnt < iters) { + struct ib_wc wc; + int ne; + + if (ccnt < cycle_iters) + poll_cycles_start[ccnt] = get_cycles(); + do { + if (ccnt < cycle_iters) + last_poll_cycles_start[ccnt] = get_cycles(); + ne = ib_poll_cq(cb->cq, 1, &wc); + } while (ne == 0); + if (ccnt < cycle_iters) + poll_cycles_stop[ccnt] = get_cycles(); + ++ccnt; + + if (ne < 0) { + printf(PFX "poll CQ failed %d\n", ne); + return; + } + if (wc.status != IB_WC_SUCCESS) { + printf(PFX "Completion wth error at %s:\n", + cb->server ? "server" : "client"); + printf(PFX "Failed status %d: wr_id %d\n", + wc.status, (int) wc.wr_id); + printf(PFX "scnt=%d, rcnt=%d, ccnt=%d\n", + scnt, rcnt, ccnt); + return; + } + } + } + microtime(&stop_tv); + + if (stop_tv.tv_usec < start_tv.tv_usec) { + stop_tv.tv_usec += 1000000; + stop_tv.tv_sec -= 1; + } + + for (i=0; i < cycle_iters; i++) { + sum_post += post_cycles_stop[i] - post_cycles_start[i]; + sum_poll += poll_cycles_stop[i] - poll_cycles_start[i]; + sum_last_poll += poll_cycles_stop[i] - last_poll_cycles_start[i]; + } + + printf(PFX "delta sec %lu delta usec %lu iter %d size %d cycle_iters %d sum_post %llu sum_poll %llu sum_last_poll %llu\n", + stop_tv.tv_sec - start_tv.tv_sec, + stop_tv.tv_usec - start_tv.tv_usec, + scnt, cb->size, cycle_iters, + (unsigned long long)sum_post, (unsigned long long)sum_poll, + (unsigned long long)sum_last_poll); + + free_cycle_mem(post_cycles_start, post_cycles_stop, poll_cycles_start, + poll_cycles_stop, last_poll_cycles_start); +} + +static void bw_test(struct krping_cb *cb) +{ + int ccnt, scnt, rcnt; + int iters=cb->count; + ccnt = 0; + scnt = 0; + rcnt = 0; + struct timeval start_tv, stop_tv; + cycles_t *post_cycles_start, *post_cycles_stop; + cycles_t *poll_cycles_start, *poll_cycles_stop; + cycles_t *last_poll_cycles_start; + cycles_t sum_poll = 0, sum_post = 0, sum_last_poll = 0; + int i; + int cycle_iters = 1000; + int err; + + err = alloc_cycle_mem(cycle_iters, &post_cycles_start, &post_cycles_stop, + &poll_cycles_start, &poll_cycles_stop, &last_poll_cycles_start); + + if (err) { + printf(PFX "%s kmalloc failed\n", __FUNCTION__); + return; + } + + cb->rdma_sq_wr.opcode = IB_WR_RDMA_WRITE; + cb->rdma_sq_wr.wr.rdma.rkey = cb->remote_rkey; + cb->rdma_sq_wr.wr.rdma.remote_addr = cb->remote_addr; + cb->rdma_sq_wr.sg_list->length = cb->size; + + if (cycle_iters > iters) + cycle_iters = iters; + microtime(&start_tv); + while (scnt < iters || ccnt < iters) { + + while (scnt < iters && scnt - ccnt < cb->txdepth) { + struct ib_send_wr *bad_wr; + + if (scnt < cycle_iters) + post_cycles_start[scnt] = get_cycles(); + if (ib_post_send(cb->qp, &cb->rdma_sq_wr, &bad_wr)) { + printf(PFX "Couldn't post send: scnt=%d\n", + scnt); + return; + } + if (scnt < cycle_iters) + post_cycles_stop[scnt] = get_cycles(); + ++scnt; + } + + if (ccnt < iters) { + int ne; + struct ib_wc wc; + + if (ccnt < cycle_iters) + poll_cycles_start[ccnt] = get_cycles(); + do { + if (ccnt < cycle_iters) + last_poll_cycles_start[ccnt] = get_cycles(); + ne = ib_poll_cq(cb->cq, 1, &wc); + } while (ne == 0); + if (ccnt < cycle_iters) + poll_cycles_stop[ccnt] = get_cycles(); + ccnt += 1; + + if (ne < 0) { + printf(PFX "poll CQ failed %d\n", ne); + return; + } + if (wc.status != IB_WC_SUCCESS) { + printf(PFX "Completion wth error at %s:\n", + cb->server ? "server" : "client"); + printf(PFX "Failed status %d: wr_id %d\n", + wc.status, (int) wc.wr_id); + return; + } + } + } + microtime(&stop_tv); + + if (stop_tv.tv_usec < start_tv.tv_usec) { + stop_tv.tv_usec += 1000000; + stop_tv.tv_sec -= 1; + } + + for (i=0; i < cycle_iters; i++) { + sum_post += post_cycles_stop[i] - post_cycles_start[i]; + sum_poll += poll_cycles_stop[i] - poll_cycles_start[i]; + sum_last_poll += poll_cycles_stop[i] - last_poll_cycles_start[i]; + } + + printf(PFX "delta sec %lu delta usec %lu iter %d size %d cycle_iters %d sum_post %llu sum_poll %llu sum_last_poll %llu\n", + stop_tv.tv_sec - start_tv.tv_sec, + stop_tv.tv_usec - start_tv.tv_usec, + scnt, cb->size, cycle_iters, + (unsigned long long)sum_post, (unsigned long long)sum_poll, + (unsigned long long)sum_last_poll); + + free_cycle_mem(post_cycles_start, post_cycles_stop, poll_cycles_start, + poll_cycles_stop, last_poll_cycles_start); +} + +static void krping_rlat_test_server(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + /* Spin waiting for client's Start STAG/TO/Len */ + while (cb->state < RDMA_READ_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->start_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completiong error %d\n", wc.status); + return; + } + + krping_wait(cb, ERROR); +} + +static void krping_wlat_test_server(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + /* Spin waiting for client's Start STAG/TO/Len */ + while (cb->state < RDMA_READ_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->start_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completiong error %d\n", wc.status); + return; + } + + wlat_test(cb); + +} + +static void krping_bw_test_server(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + /* Spin waiting for client's Start STAG/TO/Len */ + while (cb->state < RDMA_READ_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->start_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completiong error %d\n", wc.status); + return; + } + + if (cb->duplex) + bw_test(cb); + krping_wait(cb, ERROR); +} + static int krping_bind_server(struct krping_cb *cb) { struct sockaddr_in sin; @@ -877,7 +1337,15 @@ goto err2; } - krping_test_server(cb); + if (cb->wlat) + krping_wlat_test_server(cb); + else if (cb->rlat) + krping_rlat_test_server(cb); + else if (cb->bw) + krping_bw_test_server(cb); + else + krping_test_server(cb); + rdma_disconnect(cb->child_cm_id); rdma_destroy_id(cb->child_cm_id); err2: @@ -960,6 +1428,171 @@ } } +static void krping_rlat_test_client(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + cb->state = RDMA_READ_ADV; + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->rdma_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completion error %d\n", wc.status); + return; + } + + /* Spin waiting for server's Start STAG/TO/Len */ + while (cb->state < RDMA_WRITE_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + +#if 0 +{ + int i; + struct timeval start, stop; + time_t sec; + suseconds_t usec; + unsigned long long elapsed; + struct ib_wc wc; + struct ib_send_wr *bad_wr; + int ne; + + cb->rdma_sq_wr.opcode = IB_WR_RDMA_WRITE; + cb->rdma_sq_wr.wr.rdma.rkey = cb->remote_rkey; + cb->rdma_sq_wr.wr.rdma.remote_addr = cb->remote_addr; + cb->rdma_sq_wr.sg_list->length = 0; + cb->rdma_sq_wr.num_sge = 0; + + microtime(&start); + for (i=0; i < 100000; i++) { + if (ib_post_send(cb->qp, &cb->rdma_sq_wr, &bad_wr)) { + printf(PFX "Couldn't post send\n"); + return; + } + do { + ne = ib_poll_cq(cb->cq, 1, &wc); + } while (ne == 0); + if (ne < 0) { + printf(PFX "poll CQ failed %d\n", ne); + return; + } + if (wc.status != IB_WC_SUCCESS) { + printf(PFX "Completion wth error at %s:\n", + cb->server ? "server" : "client"); + printf(PFX "Failed status %d: wr_id %d\n", + wc.status, (int) wc.wr_id); + return; + } + } + microtime(&stop); + + if (stop.tv_usec < start.tv_usec) { + stop.tv_usec += 1000000; + stop.tv_sec -= 1; + } + sec = stop.tv_sec - start.tv_sec; + usec = stop.tv_usec - start.tv_usec; + elapsed = sec * 1000000 + usec; + printf(PFX "0B-write-lat iters 100000 usec %llu\n", elapsed); +} +#endif + + rlat_test(cb); +} + +static void krping_wlat_test_client(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + cb->state = RDMA_READ_ADV; + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->start_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completion error %d\n", wc.status); + return; + } + + /* Spin waiting for server's Start STAG/TO/Len */ + while (cb->state < RDMA_WRITE_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + + wlat_test(cb); +} + +static void krping_bw_test_client(struct krping_cb *cb) +{ + struct ib_send_wr *bad_wr; + struct ib_wc wc; + int ret; + + cb->state = RDMA_READ_ADV; + + /* Send STAG/TO/Len to client */ + if (cb->dma_mr) + krping_format_send(cb, cb->start_addr, cb->dma_mr); + else + krping_format_send(cb, cb->start_addr, cb->start_mr); + ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr); + if (ret) { + printf(PFX "post send error %d\n", ret); + return; + } + + /* Spin waiting for send completion */ + while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0)); + if (ret < 0) { + printf(PFX "poll error %d\n", ret); + return; + } + if (wc.status) { + printf(PFX "send completion error %d\n", wc.status); + return; + } + + /* Spin waiting for server's Start STAG/TO/Len */ + while (cb->state < RDMA_WRITE_ADV) { + krping_cq_event_handler(cb->cq, cb); + } + + bw_test(cb); +} + static int krping_connect_client(struct krping_cb *cb) { struct rdma_conn_param conn_param; @@ -1049,7 +1682,14 @@ goto err2; } - krping_test_client(cb); + if (cb->wlat) + krping_wlat_test_client(cb); + else if (cb->rlat) + krping_rlat_test_client(cb); + else if (cb->bw) + krping_bw_test_client(cb); + else + krping_test_client(cb); rdma_disconnect(cb->cm_id); err2: krping_free_buffers(cb); @@ -1064,6 +1704,7 @@ int ret = 0; char *optarg; unsigned long optint; + debug = 0; cb = malloc(sizeof(*cb), M_DEVBUF, M_WAITOK); if (!cb) @@ -1077,6 +1718,7 @@ cb->server = -1; cb->state = IDLE; cb->size = 64; + cb->txdepth = RPING_SQ_DEPTH; mtx_init(&cb->lock, "krping mtx", NULL, MTX_DUPOK|MTX_SPIN); while ((op = krping_getopt("krping", &cmd, krping_opts, NULL, &optarg, @@ -1134,6 +1776,19 @@ cb->validate++; DEBUG_LOG(PFX "validate data\n"); break; + case 'L': + cb->rlat++; + break; + case 'l': + cb->wlat++; + break; + case 'B': + cb->bw++; + break; + case 't': + cb->txdepth = optint; + DEBUG_LOG(PFX "txdepth %d\n", cb->txdepth); + break; case 'd': debug++; break; @@ -1151,6 +1806,12 @@ ret = EINVAL; goto out; } + if ((cb->bw + cb->rlat + cb->wlat) > 1) { + printf(PFX "Pick only one test: bw, rlat, wlat\n"); + ret = -EINVAL; + goto out; + } + cb->cm_id = rdma_create_id(krping_cma_event_handler, cb, RDMA_PS_TCP); if (IS_ERR(cb->cm_id)) { ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.h#5 (text+ko) ==== @@ -101,8 +101,24 @@ /* listener on service side. */ struct rdma_cm_id *child_cm_id; /* connection on server side */ TAILQ_ENTRY(krping_cb) list; + + int rlat; /* run read latency test */ + int wlat; /* run write latency test */ + int bw; /* run write bw test */ + int duplex; /* run write bw full duplex test */ + int txdepth; }; +static __inline uint64_t +get_cycles(void) +{ + u_int32_t low, high; + __asm __volatile("rdtsc" : "=a" (low), "=d" (high)); + return (low | ((u_int64_t)high << 32)); +} + +typedef uint64_t cycles_t; + extern struct mtx krping_mutex; TAILQ_HEAD(krping_cb_list, krping_cb); extern struct krping_cb_list krping_cbs; From owner-p4-projects@FreeBSD.ORG Tue Mar 4 03:38:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9913A1065670; Tue, 4 Mar 2008 03:38: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 595DC106566B for ; Tue, 4 Mar 2008 03:38:47 +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 598228FC1C for ; Tue, 4 Mar 2008 03:38:47 +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 m243clSW044327 for ; Tue, 4 Mar 2008 03:38:47 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m243clQG044325 for perforce@freebsd.org; Tue, 4 Mar 2008 03:38:47 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 4 Mar 2008 03:38:47 GMT Message-Id: <200803040338.m243clQG044325@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 136781 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, 04 Mar 2008 03:38:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=136781 Change 136781 by swise@swise:vic10:iwarp on 2008/03/04 03:37:51 Handle clientless TERMINATE messages. Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#13 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#13 (text+ko) ==== @@ -927,7 +927,7 @@ struct toe_tid_entry *toe_tid; toe_tid = lookup_tid(&(T3C_DATA (dev))->tid_maps, hwtid); - if (toe_tid->ctx && toe_tid->client->handlers && + if (toe_tid && toe_tid->ctx && toe_tid->client->handlers && toe_tid->client->handlers[opcode]) { return toe_tid->client->handlers[opcode](dev, m, toe_tid->ctx); } else { From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:27:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D0591065675; Tue, 4 Mar 2008 11:27: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 F0A4C1065673 for ; Tue, 4 Mar 2008 11:27:15 +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 EC0888FC1A for ; Tue, 4 Mar 2008 11:27:15 +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 m24BRFkZ088631 for ; Tue, 4 Mar 2008 11:27:15 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BRFe0088629 for perforce@freebsd.org; Tue, 4 Mar 2008 11:27:15 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:27:15 GMT Message-Id: <200803041127.m24BRFe0088629@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 136800 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, 04 Mar 2008 11:27:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=136800 Change 136800 by rrs@rrs-mips2-jnpr on 2008/03/04 11:26:21 move all PG_XXX to PTE_XXX Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#6 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/pte.h#6 (text+ko) ==== @@ -93,58 +93,57 @@ #define PT_ENTRY_NULL ((pt_entry_t *) 0) -#define PG_WIRED 0x80000000 /* SW */ -#define PG_W PG_WIRED -#define PG_RO 0x40000000 /* SW */ +#define PTE_WIRED 0x80000000 /* SW */ +#define PTE_W PTE_WIRED +#define PTE_RO 0x40000000 /* SW */ + +#define PTE_G 0x00000001 /* HW */ +#define PTE_V 0x00000002 +/*#define PTE_NV 0x00000000 Not Used */ +#define PTE_M 0x00000004 +#define PTE_RW PTE_M +#define PTE_ODDPG 0x00001000 +/*#define PG_ATTR 0x0000003f Not Used */ +#define PTE_UNCACHED 0x00000010 +#define PTE_CACHE 0x00000018 +/*#define PG_CACHEMODE 0x00000038 Not Used*/ +#define PTE_ROPAGE (PTE_V | PTE_RO | PTE_CACHE) /* Write protected */ +#define PTE_RWPAGE (PTE_V | PTE_M | PTE_CACHE) /* Not wr-prot not clean */ +#define PTE_CWPAGE (PTE_V | PTE_CACHE) /* Not wr-prot but clean */ +#define PTE_IOPAGE (PTE_G | PTE_V | PTE_M | PTE_UNCACHED) +#define PTE_FRAME 0x3fffffc0 +#define PTE_HVPN 0xffffe000 /* Hardware page no mask */ +#define PTE_ASID 0x000000ff /* Address space ID */ -#define PG_SVPN 0xfffff000 /* Software page no mask */ -#define PG_HVPN 0xffffe000 /* Hardware page no mask */ -#define PG_ODDPG 0x00001000 /* Odd even pte entry */ -#define PG_ASID 0x000000ff /* Address space ID */ -#define PG_G 0x00000001 /* HW */ -#define PG_V 0x00000002 -#define PG_NV 0x00000000 -#define PG_M 0x00000004 -#define PG_RW PG_M -#define PG_ATTR 0x0000003f -#define PG_UNCACHED 0x00000010 -#define PG_CACHE 0x00000018 -#define PG_CACHEMODE 0x00000038 -#define PG_ROPAGE (PG_V | PG_RO | PG_CACHE) /* Write protected */ -#define PG_RWPAGE (PG_V | PG_M | PG_CACHE) /* Not wr-prot not clean */ -#define PG_CWPAGE (PG_V | PG_CACHED) /* Not wr-prot but clean */ -#define PG_IOPAGE (PG_G | PG_V | PG_M | PG_UNCACHED) -#define PG_FRAME 0x3fffffc0 -#define PG_SHIFT 6 +#define PTE_SHIFT 6 #define pfn_is_ext(x) ((x) & 0x3c000000) -#define vad_to_pfn(x) (((unsigned)(x) >> PG_SHIFT) & PG_FRAME) -#define vad_to_pfn64(x) ((quad_t)(x) >> PG_SHIFT) & PG_FRAME) -#define pfn_to_vad(x) (((x) & PG_FRAME) << PG_SHIFT) -#define vad_to_vpn(x) ((unsigned)(x) & PG_SVPN) -#define vpn_to_vad(x) ((x) & PG_SVPN) +#define vad_to_pfn(x) (((unsigned)(x) >> PTE_SHIFT) & PTE_FRAME) +#define vad_to_pfn64(x) ((quad_t)(x) >> PTE_SHIFT) & PTE_FRAME) +#define pfn_to_vad(x) (((x) & PTE_FRAME) << PTE_SHIFT) + /* User viritual to pte offset in page table */ #define vad_to_pte_offset(adr) (((adr) >> PGSHIFT) & (NPTEPG -1)) -#define mips_pg_v(entry) ((entry) & PG_V) -#define mips_pg_wired(entry) ((entry) & PG_WIRED) -#define mips_pg_m_bit() (PG_M) -#define mips_pg_rw_bit() (PG_M) -#define mips_pg_ro_bit() (PG_RO) -#define mips_pg_ropage_bit() (PG_ROPAGE) -#define mips_pg_rwpage_bit() (PG_RWPAGE) -#define mips_pg_cwpage_bit() (PG_CWPAGE) -#define mips_pg_global_bit() (PG_G) -#define mips_pg_wired_bit() (PG_WIRED) +#define mips_pg_v(entry) ((entry) & PTE_V) +#define mips_pg_wired(entry) ((entry) & PTE_WIRED) +#define mips_pg_m_bit() (PTE_M) +#define mips_pg_rw_bit() (PTE_M) +#define mips_pg_ro_bit() (PTE_RO) +#define mips_pg_ropage_bit() (PTE_ROPAGE) +#define mips_pg_rwpage_bit() (PTE_RWPAGE) +#define mips_pg_cwpage_bit() (PTE_CWPAGE) +#define mips_pg_global_bit() (PTE_G) +#define mips_pg_wired_bit() (PTE_WIRED) #define mips_tlbpfn_to_paddr(x) pfn_to_vad((x)) #define mips_paddr_to_tlbpfn(x) vad_to_pfn((x)) - -#define PG_SIZE_4K 0x00000000 -#define PG_SIZE_16K 0x00006000 -#define PG_SIZE_64K 0x0001e000 -#define PG_SIZE_256K 0x0007e000 -#define PG_SIZE_1M 0x001fe000 -#define PG_SIZE_4M 0x007fe000 -#define PG_SIZE_16M 0x01ffe000 +/* These are not used */ +#define PTE_SIZE_4K 0x00000000 +#define PTE_SIZE_16K 0x00006000 +#define PTE_SIZE_64K 0x0001e000 +#define PTE_SIZE_256K 0x0007e000 +#define PTE_SIZE_1M 0x001fe000 +#define PTE_SIZE_4M 0x007fe000 +#define PTE_SIZE_16M 0x01ffe000 #endif /* !_MACHINE_PTE_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:32:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 203501065673; Tue, 4 Mar 2008 11:32: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 D31F51065677 for ; Tue, 4 Mar 2008 11:32:21 +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 CE6438FC2E for ; Tue, 4 Mar 2008 11:32:21 +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 m24BWLAM088848 for ; Tue, 4 Mar 2008 11:32:21 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BWL6r088846 for perforce@freebsd.org; Tue, 4 Mar 2008 11:32:21 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:32:21 GMT Message-Id: <200803041132.m24BWL6r088846@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 136801 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, 04 Mar 2008 11:32:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=136801 Change 136801 by rrs@rrs-mips2-jnpr on 2008/03/04 11:31:24 Move to PTE_ not PG_ Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#19 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#19 (text+ko) ==== @@ -867,7 +867,7 @@ _SLL k0, k0, WIRED_SHIFT # get rid of "wired" bit _SRL k0, k0, WIRED_SHIFT _MTC0 k0, COP_0_TLB_LO0 # load PTE entry - and k0, k0, PG_V # check for valid entry + and k0, k0, PTE_V # check for valid entry nop # required for QED5230 beq k0, zero, _C_LABEL(MipsKernGenException) # PTE invalid lw k0, 4(k1) # get odd PTE entry @@ -891,7 +891,7 @@ _SLL k0, k0, WIRED_SHIFT # get rid of wired bit _SRL k0, k0, WIRED_SHIFT _MTC0 k0, COP_0_TLB_LO1 # save PTE entry - and k0, k0, PG_V # check for valid entry + and k0, k0, PTE_V # check for valid entry nop # required for QED5230 beq k0, zero, _C_LABEL(MipsKernGenException) # PTE invalid lw k0, -4(k1) # get even PTE entry @@ -951,7 +951,7 @@ _SLL k0, k0, WIRED_SHIFT # get rid of "wired" bit _SRL k0, k0, WIRED_SHIFT _MTC0 k0, COP_0_TLB_LO0 # load PTE entry - and k0, k0, PG_V # check for valid entry + and k0, k0, PTE_V # check for valid entry nop # required for QED5230 beq k0, zero, _C_LABEL(MipsUserGenException) # PTE invalid lw k0, 4(k1) # get odd PTE entry @@ -975,7 +975,7 @@ _SLL k0, k0, WIRED_SHIFT # get rid of wired bit _SRL k0, k0, WIRED_SHIFT _MTC0 k0, COP_0_TLB_LO1 # save PTE entry - and k0, k0, PG_V # check for valid entry + and k0, k0, PTE_V # check for valid entry nop # required for QED5230 beq k0, zero, _C_LABEL(MipsUserGenException) # PTE invalid lw k0, -4(k1) # get even PTE entry From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:33:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31E151065672; Tue, 4 Mar 2008 11:33: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 E5A60106566C for ; Tue, 4 Mar 2008 11:33: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 E02378FC1D for ; Tue, 4 Mar 2008 11:33: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 m24BXMMl088923 for ; Tue, 4 Mar 2008 11:33:22 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BXMQ2088921 for perforce@freebsd.org; Tue, 4 Mar 2008 11:33:22 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:33:22 GMT Message-Id: <200803041133.m24BXMQ2088921@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 136802 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, 04 Mar 2008 11:33:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=136802 Change 136802 by rrs@rrs-mips2-jnpr on 2008/03/04 11:32:45 PG_XXX -> PTE_XXX Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#26 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#26 (text+ko) ==== @@ -122,12 +122,12 @@ #define pmap_pde(m, v) (&((m)->pm_segtab[(vm_offset_t)(v) >> SEGSHIFT])) #define segtab_pde(m, v) (m[(vm_offset_t)(v) >> SEGSHIFT]) -#define pmap_pte_w(pte) ((*(int *)pte & PG_W) != 0) +#define pmap_pte_w(pte) ((*(int *)pte & PTE_W) != 0) #define pmap_pde_v(pte) ((*(int *)pte) != 0) -#define pmap_pte_m(pte) ((*(int *)pte & PG_M) != 0) -#define pmap_pte_v(pte) ((*(int *)pte & PG_V) != 0) +#define pmap_pte_m(pte) ((*(int *)pte & PTE_M) != 0) +#define pmap_pte_v(pte) ((*(int *)pte & PTE_V) != 0) -#define pmap_pte_set_w(pte, v) ((v)?(*(int *)pte |= PG_W):(*(int *)pte &= ~PG_W)) +#define pmap_pte_set_w(pte, v) ((v)?(*(int *)pte |= PTE_W):(*(int *)pte &= ~PTE_W)) #define pmap_pte_set_prot(pte, v) ((*(int *)pte &= ~PG_PROT), (*(int *)pte |= (v))) #define MIPS_SEGSIZE (1L << SEGSHIFT) @@ -350,8 +350,8 @@ */ if (memory_larger_than_512meg) { for (i = 0; i < MAXCPU; i++) { - sysmap_lmem[i].CMAP1 = PG_G; - sysmap_lmem[i].CMAP2 = PG_G; + sysmap_lmem[i].CMAP1 = PTE_G; + sysmap_lmem[i].CMAP2 = PTE_G; sysmap_lmem[i].CADDR1 = (caddr_t)virtual_avail; virtual_avail += PAGE_SIZE; sysmap_lmem[i].CADDR2 = (caddr_t)virtual_avail; @@ -396,7 +396,7 @@ * in the tlb. */ for (i = 0, pte = pgtab; i < (nkpt * NPTEPG); i++, pte++) - *pte = PG_G; + *pte = PTE_G; printf("Va=0x%x Ve=%x\n", virtual_avail, virtual_end); /* @@ -484,7 +484,7 @@ static int pmap_nw_modified(pt_entry_t pte) { - if ((pte & (PG_M | PG_RO)) == (PG_M | PG_RO)) + if ((pte & (PTE_M | PTE_RO)) == (PTE_M | PTE_RO)) return (1); else return (0); @@ -672,7 +672,7 @@ pte = *pmap_pte(pmap, va); if (pte != 0 && pmap_pte_v(&pte) && - ((pte & PG_RW) || (prot & VM_PROT_WRITE) == 0)) { + ((pte & PTE_RW) || (prot & VM_PROT_WRITE) == 0)) { m = PHYS_TO_VM_PAGE(mips_tlbpfn_to_paddr(pte)); vm_page_hold(m); } @@ -694,12 +694,12 @@ register pt_entry_t *pte; pt_entry_t npte, opte; - npte = mips_paddr_to_tlbpfn(pa) | PG_RW | PG_V | PG_G | PG_W; + npte = mips_paddr_to_tlbpfn(pa) | PTE_RW | PTE_V | PTE_G | PTE_W; if (is_cacheable_mem(pa)) - npte |= PG_CACHE; + npte |= PTE_CACHE; else - npte |= PG_UNCACHED; + npte |= PTE_UNCACHED; pte = pmap_pte(kernel_pmap, va); opte = *pte; @@ -717,7 +717,7 @@ register pt_entry_t *pte; pte = pmap_pte(kernel_pmap, va); - *pte = PG_G; + *pte = PTE_G; pmap_invalidate_page(kernel_pmap, va); } @@ -876,7 +876,7 @@ fp->state = TRUE; kva = fp->kva; - npte = mips_paddr_to_tlbpfn(pa) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + npte = mips_paddr_to_tlbpfn(pa) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pte = pmap_pte(kernel_pmap, kva); *pte = npte; @@ -904,7 +904,7 @@ kva = fp->kva; pte = pmap_pte(kernel_pmap, kva); - *pte = PG_G; + *pte = PTE_G; pmap_TLB_invalidate_kernel(kva); fp->state = FALSE; @@ -1029,7 +1029,7 @@ #if 0 /* I think we can just delete these, now that PG_BUSY is gone */ vm_page_lock_queues(); - vm_page_flag_clear(ptdpg, PG_BUSY); /* not usually mapped */ + vm_page_flag_clear(ptdpg, PTE_BUSY); /* not usually mapped */ #endif ptdpg->valid = VM_PAGE_BITS_ALL; @@ -1295,7 +1295,7 @@ * produce a global bit to store in the tlb. */ for (i = 0; i < NPTEPG; i++, pte++) - *pte = PG_G; + *pte = PTE_G; kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); @@ -1432,9 +1432,9 @@ oldpte = loadandclear((u_int *)ptq); if (is_kernel_pmap(pmap)) - *ptq = PG_G; + *ptq = PTE_G; - if (oldpte & PG_W) + if (oldpte & PTE_W) pmap->pm_stats.wired_count -= 1; pmap->pm_stats.resident_count -= 1; @@ -1442,7 +1442,7 @@ if (page_is_managed(pa)) { m = PHYS_TO_VM_PAGE(pa); - if (oldpte & PG_M) { + if (oldpte & PTE_M) { #if defined(PMAP_DIAGNOSTIC) if (pmap_nw_modified(oldpte)) { printf( @@ -1572,15 +1572,15 @@ tpte = loadandclear((u_int *)pte); if (is_kernel_pmap(pv->pv_pmap)) - *pte = PG_G; + *pte = PTE_G; - if (tpte & PG_W) + if (tpte & PTE_W) pv->pv_pmap->pm_stats.wired_count--; /* * Update the vm_page_t clean and reference bits. */ - if (tpte & PG_M) { + if (tpte & PTE_M) { #if defined(PMAP_DIAGNOSTIC) if (pmap_nw_modified(tpte)) { printf( @@ -1656,14 +1656,14 @@ vm_page_flag_set(m, PG_REFERENCED); m->md.pv_flags &= ~PV_TABLE_REF; } - if (pbits & PG_M) { + if (pbits & PTE_M) { if (pmap_track_modified(sva)) { vm_page_dirty(m); m->md.pv_flags &= ~PV_TABLE_MOD; } } } - pbits = (pbits & ~PG_M) | PG_RO; + pbits = (pbits & ~PTE_M) | PTE_RO; if (pbits != *pte) { if (!atomic_cmpset_int((u_int *)pte, obits, pbits)) @@ -1736,16 +1736,16 @@ /* * Mapping has not changed, must be protection or wiring change. */ - if ((origpte & PG_V) && (opa == pa)) { + if ((origpte & PTE_V) && (opa == pa)) { /* * Wiring change, just update stats. We don't worry about * wiring PT pages as they remain resident as long as there * are valid mappings in them. Hence, if a user page is * wired, the PT page will be also. */ - if (wired && ((origpte & PG_W) == 0)) + if (wired && ((origpte & PTE_W) == 0)) pmap->pm_stats.wired_count++; - else if (!wired && (origpte & PG_W)) + else if (!wired && (origpte & PTE_W)) pmap->pm_stats.wired_count--; #if defined(PMAP_DIAGNOSTIC) @@ -1776,7 +1776,7 @@ * handle validating new mapping. */ if (opa) { - if (origpte & PG_W) + if (origpte & PTE_W) pmap->pm_stats.wired_count--; if (page_is_managed(opa)) { @@ -1812,18 +1812,18 @@ /* * Now validate mapping with desired protection/wiring. */ - newpte = mips_paddr_to_tlbpfn(pa) | rw | PG_V; + newpte = mips_paddr_to_tlbpfn(pa) | rw | PTE_V; if (is_cacheable_mem(pa)) - newpte |= PG_CACHE; + newpte |= PTE_CACHE; else - newpte |= PG_UNCACHED; + newpte |= PTE_UNCACHED; if (wired) - newpte |= PG_W; + newpte |= PTE_W; if (is_kernel_pmap(pmap)) { - newpte |= PG_G; + newpte |= PTE_G; } /* @@ -1831,7 +1831,7 @@ * update the pte. */ if (origpte != newpte) { - if (origpte & PG_V) { + if (origpte & PTE_V) { *pte = newpte; if (page_is_managed(opa) && (opa != pa)) { if (om->md.pv_flags & PV_TABLE_REF) @@ -1839,8 +1839,8 @@ om->md.pv_flags &= ~(PV_TABLE_REF | PV_TABLE_MOD); } - if (origpte & PG_M) { - KASSERT((origpte & PG_RW), + if (origpte & PTE_M) { + KASSERT((origpte & PTE_RW), ("pmap_enter: modified page not writable:" " va: 0x%x, pte: 0x%lx", va, origpte)); if ((page_is_managed(opa)) && @@ -1966,17 +1966,17 @@ /* * Now validate mapping with RO protection */ - *pte = mips_paddr_to_tlbpfn(pa) | PG_V; + *pte = mips_paddr_to_tlbpfn(pa) | PTE_V; if (is_cacheable_mem(pa)) - *pte |= PG_CACHE; + *pte |= PTE_CACHE; else - *pte |= PG_UNCACHED; + *pte |= PTE_UNCACHED; if (is_kernel_pmap(pmap)) - *pte |= PG_G; + *pte |= PTE_G; else { - *pte |= PG_RO; + *pte |= PTE_RO; /* * Sync I & D caches. Do this only if the the target pmap * belongs to the current process. Otherwise, an @@ -2020,7 +2020,7 @@ cpu = PCPU_GET(cpuid); sysm = &sysmap_lmem[cpu]; /* Since this is for the debugger, no locks or any other fun */ - sysm->CMAP1 = mips_paddr_to_tlbpfn(pa) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(pa) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); sysm->valid1 = 1; va = (vm_offset_t)sysm->CADDR1; @@ -2187,7 +2187,7 @@ sysm = &sysmap_lmem[cpu]; PMAP_LGMEM_LOCK(sysm); sched_pin(); - sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); sysm->valid1 = 1; bzero(sysm->CADDR1, PAGE_SIZE); @@ -2241,7 +2241,7 @@ sysm = &sysmap_lmem[cpu]; PMAP_LGMEM_LOCK(sysm); sched_pin(); - sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); sysm->valid1 = 1; bzero((char *)sysm->CADDR1 + off, size); @@ -2279,7 +2279,7 @@ sysm = &sysmap_lmem[cpu]; PMAP_LGMEM_LOCK(sysm); sched_pin(); - sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(phys) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); sysm->valid1 = 1; bzero(sysm->CADDR1, PAGE_SIZE); @@ -2350,21 +2350,21 @@ if (phy_src < MIPS_KSEG0_LARGEST_PHYS) { /* one side needs mapping - dest */ va_src = MIPS_PHYS_TO_CACHED(phy_src); - sysm->CMAP2 = mips_paddr_to_tlbpfn(phy_dst) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP2 = mips_paddr_to_tlbpfn(phy_dst) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR2, sysm->CMAP2); sysm->valid2 = 2; va_dst = (vm_offset_t)sysm->CADDR2; } else if (phy_dst < MIPS_KSEG0_LARGEST_PHYS) { /* one side needs mapping - src */ va_dst = MIPS_PHYS_TO_CACHED(phy_dst); - sysm->CMAP1 = mips_paddr_to_tlbpfn(phy_src) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(phy_src) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); va_src = (vm_offset_t)sysm->CADDR1; sysm->valid1 = 1; } else { /* all need mapping */ - sysm->CMAP1 = mips_paddr_to_tlbpfn(phy_src) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; - sysm->CMAP2 = mips_paddr_to_tlbpfn(phy_dst) | PG_RW | PG_V | PG_G | PG_W | PG_CACHE; + sysm->CMAP1 = mips_paddr_to_tlbpfn(phy_src) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; + sysm->CMAP2 = mips_paddr_to_tlbpfn(phy_dst) | PTE_RW | PTE_V | PTE_G | PTE_W | PTE_CACHE; pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR1, sysm->CMAP1); pmap_TLB_update_kernel((vm_offset_t)sysm->CADDR2, sysm->CMAP2); sysm->valid1 = sysm->valid2 = 1; @@ -2464,11 +2464,11 @@ /* * We cannot remove wired pages from a process' mapping at this time */ - if (tpte & PG_W) { + if (tpte & PTE_W) { npv = TAILQ_NEXT(pv, pv_plist); continue; } - *pte = is_kernel_pmap(pmap) ? PG_G : 0; + *pte = is_kernel_pmap(pmap) ? PTE_G : 0; m = PHYS_TO_VM_PAGE(mips_tlbpfn_to_paddr(tpte)); @@ -2480,7 +2480,7 @@ /* * Update the vm_page_t clean and reference bits. */ - if (tpte & PG_M) { + if (tpte & PTE_M) { vm_page_dirty(m); } npv = TAILQ_NEXT(pv, pv_plist); @@ -2521,7 +2521,7 @@ mtx_assert(&vm_page_queue_mtx, MA_OWNED); TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - if (bit & PG_M) { + if (bit & PTE_M) { if (!pmap_track_modified(pv->pv_va)) continue; } @@ -2563,7 +2563,7 @@ /* * don't write protect pager mappings */ - if (!setem && (bit == PG_RW)) { + if (!setem && (bit == PTE_RW)) { if (!pmap_track_modified(pv->pv_va)) continue; } @@ -2584,12 +2584,12 @@ vm_offset_t pbits = *(vm_offset_t *)pte; if (pbits & bit) { - if (bit == PG_RW) { - if (pbits & PG_M) { + if (bit == PTE_RW) { + if (pbits & PTE_M) { vm_page_dirty(m); } - *(int *)pte = (pbits & ~(PG_M | PG_RW)) | - PG_RO; + *(int *)pte = (pbits & ~(PTE_M | PTE_RW)) | + PTE_RO; } else { *(int *)pte = pbits & ~bit; } @@ -2598,7 +2598,7 @@ } PMAP_UNLOCK(pv->pv_pmap); } - if (!setem && bit == PG_RW) + if (!setem && bit == PTE_RW) vm_page_flag_clear(m, PG_WRITEABLE); } @@ -2687,7 +2687,7 @@ if (m->md.pv_flags & PV_TABLE_MOD) return TRUE; else - return pmap_testbit(m, PG_M); + return pmap_testbit(m, PTE_M); } /* N/C */ @@ -2724,7 +2724,7 @@ return; mtx_assert(&vm_page_queue_mtx, MA_OWNED); if (m->md.pv_flags & PV_TABLE_MOD) { - pmap_changebit(m, PG_M, FALSE); + pmap_changebit(m, PTE_M, FALSE); m->md.pv_flags &= ~PV_TABLE_MOD; } } @@ -2801,7 +2801,7 @@ /* * Modified by us */ - if (pte & PG_M) + if (pte & PTE_M) val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER; /* * Modified by someone @@ -2883,6 +2883,9 @@ p->p_vmspace); index = 0; pmap = vmspace_pmap(p->p_vmspace); + printf("pmap asid:%x generation:%x\n", + pmap->pm_asid[0].asid, + pmap->pm_asid[0].gen); for (i = 0; i < NUSERPGTBLS; i++) { pd_entry_t *pde; pt_entry_t *pte; @@ -3041,19 +3044,19 @@ int rw = 0; if (!(prot & VM_PROT_WRITE)) - rw = PG_ROPAGE; + rw = PTE_ROPAGE; else { if (va >= VM_MIN_KERNEL_ADDRESS) { /* * Don't bother to trap on kernel writes, just * record page as dirty. */ - rw = PG_RWPAGE; + rw = PTE_RWPAGE; vm_page_dirty(m); } else if ((m->md.pv_flags & PV_TABLE_MOD) || m->dirty) - rw = PG_RWPAGE; + rw = PTE_RWPAGE; else - rw = PG_CWPAGE; + rw = PTE_CWPAGE; } return rw; } @@ -3100,18 +3103,18 @@ while (tlbno <= last) { MachTLBRead(tlbno, &tlb); - if (tlb.tlb_lo0 & PG_V || tlb.tlb_lo1 & PG_V) { + if (tlb.tlb_lo0 & PTE_V || tlb.tlb_lo1 & PTE_V) { printf("TLB %2d vad 0x%08x ", tlbno, (tlb.tlb_hi & 0xffffff00)); } else { printf("TLB*%2d vad 0x%08x ", tlbno, (tlb.tlb_hi & 0xffffff00)); } printf("0=0x%08x ", pfn_to_vad(tlb.tlb_lo0)); - printf("%c", tlb.tlb_lo0 & PG_M ? 'M' : ' '); - printf("%c", tlb.tlb_lo0 & PG_G ? 'G' : ' '); + printf("%c", tlb.tlb_lo0 & PTE_M ? 'M' : ' '); + printf("%c", tlb.tlb_lo0 & PTE_G ? 'G' : ' '); printf(" atr %x ", (tlb.tlb_lo0 >> 3) & 7); printf("1=0x%08x ", pfn_to_vad(tlb.tlb_lo1)); - printf("%c", tlb.tlb_lo1 & PG_M ? 'M' : ' '); - printf("%c", tlb.tlb_lo1 & PG_G ? 'G' : ' '); + printf("%c", tlb.tlb_lo1 & PTE_M ? 'M' : ' '); + printf("%c", tlb.tlb_lo1 & PTE_G ? 'G' : ' '); printf(" atr %x ", (tlb.tlb_lo1 >> 3) & 7); printf(" sz=%x pid=%x\n", tlb.tlb_mask, (tlb.tlb_hi & 0x000000ff) From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:33:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E424106570C; Tue, 4 Mar 2008 11:33: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 2DEE21065671 for ; Tue, 4 Mar 2008 11:33:23 +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 0F5CB8FC25 for ; Tue, 4 Mar 2008 11:33:23 +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 m24BXMT2088928 for ; Tue, 4 Mar 2008 11:33:22 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BXMJ0088926 for perforce@freebsd.org; Tue, 4 Mar 2008 11:33:22 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:33:22 GMT Message-Id: <200803041133.m24BXMJ0088926@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 136803 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, 04 Mar 2008 11:33:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=136803 Change 136803 by rrs@rrs-mips2-jnpr on 2008/03/04 11:33:10 PG_XXX -> PTE_XXX Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#15 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#15 (text+ko) ==== @@ -338,7 +338,7 @@ bltu v0, s0, sw2 # no need to insert in TLB. lw a1, TD_UPTE+0(s7) # t0 = first u. pte lw a2, TD_UPTE+4(s7) # t1 = 2nd u. pte - and s0, v0, PG_ODDPG + and s0, v0, PTE_ODDPG beq s0, zero, entry0 nop From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:34:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E9E81065674; Tue, 4 Mar 2008 11:34: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 3DF0D1065670 for ; Tue, 4 Mar 2008 11:34:24 +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 394928FC13 for ; Tue, 4 Mar 2008 11:34:24 +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 m24BYOZv088985 for ; Tue, 4 Mar 2008 11:34:24 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BYO62088983 for perforce@freebsd.org; Tue, 4 Mar 2008 11:34:24 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:34:24 GMT Message-Id: <200803041134.m24BYO62088983@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 136804 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, 04 Mar 2008 11:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=136804 Change 136804 by rrs@rrs-mips2-jnpr on 2008/03/04 11:33:41 PG_XXX -> PTE_XXX Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#8 (text+ko) ==== @@ -280,7 +280,7 @@ mfc0 v1, COP_0_STATUS_REG # Save the status register. mtc0 zero, COP_0_STATUS_REG # Disable interrupts ITLBNOPFIX - li v0, (PG_HVPN | PG_ASID) + li v0, (PTE_HVPN | PTE_ASID) and a0, a0, v0 # Make shure valid hi value. _MFC0 t0, COP_0_TLB_HI # Get current PID mfc0 t3, COP_0_TLB_PG_MASK # Save current pgMask @@ -333,11 +333,11 @@ mtc0 zero, COP_0_STATUS_REG # Disable interrupts ITLBNOPFIX and t1, a0, 0x1000 # t1 = Even/Odd flag - li v0, (PG_HVPN | PG_ASID) + li v0, (PTE_HVPN | PTE_ASID) and a0, a0, v0 _MFC0 t0, COP_0_TLB_HI # Save current PID _MTC0 a0, COP_0_TLB_HI # Init high reg - and a2, a1, PG_G # Copy global bit + and a2, a1, PTE_G # Copy global bit MIPS_CPU_NOP_DELAY tlbp # Probe for the entry. _SLL a1, a1, WIRED_SHIFT @@ -483,7 +483,7 @@ tlbr # obtain an entry MIPS_CPU_NOP_DELAY _MFC0 a0, COP_0_TLB_LO1 - and a0, a0, PG_G # check to see it has G bit + and a0, a0, PTE_G # check to see it has G bit bnez a0, 2f nop From owner-p4-projects@FreeBSD.ORG Tue Mar 4 11:34:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC498106571C; Tue, 4 Mar 2008 11:34: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 6B0F31065672 for ; Tue, 4 Mar 2008 11:34:24 +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 669278FC26 for ; Tue, 4 Mar 2008 11:34:24 +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 m24BYOvG088990 for ; Tue, 4 Mar 2008 11:34:24 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24BYO1f088988 for perforce@freebsd.org; Tue, 4 Mar 2008 11:34:24 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 11:34:24 GMT Message-Id: <200803041134.m24BYO1f088988@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 136805 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, 04 Mar 2008 11:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=136805 Change 136805 by rrs@rrs-mips2-jnpr on 2008/03/04 11:34:06 PG_XXX -> PTE_XXX Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#22 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#22 (text+ko) ==== @@ -221,7 +221,7 @@ pte += ((vm_offset_t)td->td_md.md_realstack >> PGSHIFT) & (NPTEPG - 1); for (i = 0; i < KSTACK_PAGES - 1; i++) { - td->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); + td->td_md.md_upte[i] = *pte & ~(PTE_RO|PTE_WIRED); pte++; } } @@ -251,7 +251,7 @@ pte += ((vm_offset_t)td->td_md.md_realstack >> PGSHIFT) & (NPTEPG - 1); for (i = 0; i < KSTACK_PAGES - 1; i++) { - td->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); + td->td_md.md_upte[i] = *pte & ~(PTE_RO|PTE_WIRED); pte++; } } From owner-p4-projects@FreeBSD.ORG Tue Mar 4 12:18:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CCBE11065673; Tue, 4 Mar 2008 12:18: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 8C89A106566B for ; Tue, 4 Mar 2008 12:18:10 +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 84AE28FC21 for ; Tue, 4 Mar 2008 12:18:10 +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 m24CIAsC091834 for ; Tue, 4 Mar 2008 12:18:10 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24CIAU9091832 for perforce@freebsd.org; Tue, 4 Mar 2008 12:18:10 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 12:18:10 GMT Message-Id: <200803041218.m24CIAU9091832@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 136809 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, 04 Mar 2008 12:18:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=136809 Change 136809 by rrs@rrs-mips2-jnpr on 2008/03/04 12:17:53 Carefully disable interrupts, not just blindly stuff 0 into the SR, instead, mask in the old value with INT_IE and INT_EXL off. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#20 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#20 (text+ko) ==== @@ -263,17 +263,22 @@ #ifdef TARGET_OCTEON #define CLEAR_STATUS \ 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) ; \ + li a2, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) ; \ + or a0, a0, a2 ; \ + li a2, ~(MIPS_SR_INT_IE|MIPS_SR_EXL) ; \ + and a0, a0, a2 ; \ mtc0 a0, COP_0_STATUS_REG #else #define CLEAR_STATUS \ - mtc0 zero, COP_0_STATUS_REG + mfc0 a0, COP_0_STATUS_REG ;\ + li a2, ~(MIPS_SR_INT_IE|MIPS_SR_EXL) ; \ + and a0, a0, a2 ; \ + mtc0 a0, COP_0_STATUS_REG #endif #define SAVE_CPU \ SAVE_REG(AT, AST, sp) ;\ + .set at ; \ SAVE_REG(v0, V0, sp) ;\ SAVE_REG(v1, V1, sp) ;\ SAVE_REG(a0, A0, sp) ;\ @@ -331,6 +336,7 @@ mtlo t0 ;\ mthi t1 ;\ _MTC0 v0, COP_0_EXC_PC ;\ + .set noat ; \ RESTORE_REG(AT, AST, sp) ;\ RESTORE_REG(v0, V0, sp) ;\ RESTORE_REG(v1, V1, sp) ;\ @@ -545,8 +551,7 @@ #ifdef TARGET_OCTEON and k0, k0, ~(MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) #endif - or k0, k0, MIPS_SR_INT_IE - + or k0, k0, (MIPS_SR_INT_IE) .set noat RESTORE_U_PCB_REG(AT, AST, k1) @@ -587,6 +592,7 @@ * Save the relevant kernel registers onto the stack. */ SAVE_CPU + /* * Call the interrupt handler. */ @@ -603,7 +609,6 @@ RESTORE_CPU sync eret - .set at END(MipsKernIntr) @@ -684,6 +689,9 @@ # Turn off fpu, disable interrupts, set kernel mode kernel mode, clear exception level. and t0, a0, ~(SR_COP_1_BIT | SR_EXL | SR_INT_ENAB | SR_KSU_MASK) +#ifdef TARGET_OCTEON + or t0, t0, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) +#endif mtc0 t0, COP_0_STATUS_REG ITLBNOPFIX addu a0, k1, U_PCB_REGS @@ -767,7 +775,7 @@ #ifdef TARGET_OCTEON and k0, k0, ~(MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX) #endif - or k0, k0, MIPS_SR_INT_IE + or k0, k0, (MIPS_SR_INT_IE) .set noat RESTORE_U_PCB_REG(AT, AST, k1) From owner-p4-projects@FreeBSD.ORG Tue Mar 4 14:26:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 650E41065675; Tue, 4 Mar 2008 14:26: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 2536F1065673 for ; Tue, 4 Mar 2008 14:26:25 +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 14B418FC12 for ; Tue, 4 Mar 2008 14:26:25 +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 m24EQOZZ008024 for ; Tue, 4 Mar 2008 14:26:24 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24EQOOk008022 for perforce@freebsd.org; Tue, 4 Mar 2008 14:26:24 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 14:26:24 GMT Message-Id: <200803041426.m24EQOOk008022@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 136817 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, 04 Mar 2008 14:26:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=136817 Change 136817 by rrs@rrs-mips2-jnpr on 2008/03/04 14:25:58 135973 Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs2#3 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#15 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs2#3 (text+ko) ==== @@ -75,7 +75,7 @@ # # Use the following for Compact Flash file-system #device cf -options ROOTDEVNAME = \"ufs:cf0s2a\" # Unmask if compact flash is needed as RFS +#options ROOTDEVNAME = \"ufs:cf0s2a\" # Unmask if compact flash is needed as RFS # # Use the following for RFS in mem-device ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#15 (text+ko) ==== @@ -87,7 +87,6 @@ #define uart_getreg(bas, reg) \ bus_space_read_8((bas)->bst, (bas)->bsh, uart_regofs(bas, reg)) - /* * Clear pending interrupts. THRE is cleared by reading IIR. Data * that may have been received gets lost here. @@ -624,23 +623,43 @@ { struct uart_bas *bas; int ipend = 0; - uint8_t iir, lsr; + uint8_t iir, lsr, iir2; bas = &sc->sc_bas; uart_lock(sc->sc_hwmtx); - iir = uart_getreg(bas, OCT_REG_IIR) & IIR_IMASK; + iir2 = uart_getreg(bas, OCT_REG_IIR); + iir = iir2 & IIR_IMASK; if (iir != IIR_NOPEND) { - - if (iir == IIR_RLS) { + if (iir == IIR_RLS) { lsr = uart_getreg(bas, OCT_REG_LSR); if (lsr & LSR_OE) ipend |= SER_INT_OVERRUN; - if (lsr & LSR_BI) - ipend |= SER_INT_BREAK; + if (lsr & LSR_BI) { + ipend |= SER_INT_BREAK; + lsr = uart_getreg(bas, OCT_REG_LSR); + if (lsr & LSR_RXRDY) { + /* the uart gives us a '0' after we + * clear the break by reading the lsr. + * The upper layer uart_tty.c code + * pushes in a 0, (it probably should + * be pushing int a TTY_BI (I think + * thats a bug). But regardless we don't + * want to push in a subsequent 0. + */ + unsigned int xc; + xc = uart_getreg(bas, OCT_REG_RBR); + if (xc != 0) { + /* TSNH */ + printf("Warning driver incorrectly tossed c %x\n", + xc); + } + lsr = uart_getreg(bas, OCT_REG_LSR); + } + } if (lsr & LSR_RXRDY) - ipend |= SER_INT_RXREADY; - + ipend |= SER_INT_RXREADY; + } else if (iir == IIR_RXRDY) { ipend |= SER_INT_RXREADY; @@ -758,7 +777,6 @@ bas = &sc->sc_bas; uart_lock(sc->sc_hwmtx); lsr = uart_getreg(bas, OCT_REG_LSR); - while (lsr & LSR_RXRDY) { if (uart_rx_full(sc)) { sc->sc_rxbuf[sc->sc_rxput] = UART_STAT_OVERRUN; @@ -777,9 +795,9 @@ * First do a read/discard anyway, in case the UART was lying to us. * This was seen, when IIR said RBR, but LSR said no RXRDY */ - (void)uart_getreg(bas, OCT_REG_RBR); + xc = uart_getreg(bas, OCT_REG_RBR); while (lsr & LSR_RXRDY) { - (void)uart_getreg(bas, OCT_REG_RBR); + xc = uart_getreg(bas, OCT_REG_RBR); uart_barrier(bas); lsr = uart_getreg(bas, OCT_REG_LSR); } From owner-p4-projects@FreeBSD.ORG Tue Mar 4 14:30:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D5EB1065671; Tue, 4 Mar 2008 14:30: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 5CADC1065674 for ; Tue, 4 Mar 2008 14:30:29 +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 4C3528FC22 for ; Tue, 4 Mar 2008 14:30:29 +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 m24EUTo7008146 for ; Tue, 4 Mar 2008 14:30:29 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24EUTfg008144 for perforce@freebsd.org; Tue, 4 Mar 2008 14:30:29 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 14:30:29 GMT Message-Id: <200803041430.m24EUTfg008144@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 136818 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, 04 Mar 2008 14:30:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=136818 Change 136818 by rrs@rrs-mips2-jnpr on 2008/03/04 14:29:51 Hmm, not sure why p4 did what it did. This change (or maybe the previous one that did not allow email) takes and puts in a fix for the way break is handled by this device. We will re-read the lsr, then check it again, if its says there is data, read it and get the '0' char and discard it. This seems to be a shadow character that comes in with every break. Note that in uart_core (or tty), when we see the break we send in the break as a 0, not a TTY_BI, this is probably a bug. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#16 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#16 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Mar 4 14:36:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C33B1065671; Tue, 4 Mar 2008 14:36: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 BFA4F1065670 for ; Tue, 4 Mar 2008 14:36:35 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AEC018FC17 for ; Tue, 4 Mar 2008 14:36:35 +0000 (UTC) (envelope-from csjp@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 m24EaZPu008346 for ; Tue, 4 Mar 2008 14:36:35 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24EaZdH008344 for perforce@freebsd.org; Tue, 4 Mar 2008 14:36:35 GMT (envelope-from csjp@freebsd.org) Date: Tue, 4 Mar 2008 14:36:35 GMT Message-Id: <200803041436.m24EaZdH008344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 136819 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, 04 Mar 2008 14:36:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=136819 Change 136819 by csjp@ibm01 on 2008/03/04 14:35:54 Implement SSL for writes and reads Affected files ... .. //depot/projects/trustedbsd/netauditd/netauditd.c#14 edit Differences ... ==== //depot/projects/trustedbsd/netauditd/netauditd.c#14 (text+ko) ==== @@ -291,6 +291,18 @@ } } +int +netaudit_write(struct au_cmpnt *au, u_char *buf, int len) +{ + int error; + + if (crypto_enabled == 0) + return (write(au->ac_fd, buf, len)); + error = SSL_write(au->ac_ssl, buf, len); + /* XXX error checking */ + return (error); +} + void netaudit_oq(void) { @@ -310,8 +322,7 @@ au->ac_name); r = q->aq_ptr; s = r->ar_reclen - q->aq_remain; - ret = write(au->ac_fd, r->ar_rec + s, - q->aq_remain); + ret = netaudit_write(au, r->ar_rec + s, q->aq_remain); if (ret == -1) { if (errno == EAGAIN) break; @@ -455,15 +466,22 @@ int ret, left; u_int32_t hdr_remain, val, need; - ret = read(asb->sb_fd, asb->sb_buf, sizeof(asb->sb_buf)); - if (ret == -1) { - if (errno != EINTR) + if (crypto_enabled == 0) { + ret = read(asb->sb_fd, asb->sb_buf, sizeof(asb->sb_buf)); + if (ret == -1) { + if (errno != EINTR) + return (-1); + else + return (0); + } else if (ret == 0) + return (-1); + } else { + ret = SSL_read(asb->sb_ssl, asb->sb_buf, + sizeof(asb->sb_buf)); + if (ret < 0) return (-1); - else - return (0); + /* XXX handle I/O errors */ } - else if (ret == 0) - return (-1); left = ret; bufptr = asb->sb_buf; while (left > 0) { From owner-p4-projects@FreeBSD.ORG Tue Mar 4 14:37:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FD5A1065673; Tue, 4 Mar 2008 14:37: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 F35561065671 for ; Tue, 4 Mar 2008 14:37:36 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E2C728FC1C for ; Tue, 4 Mar 2008 14:37:36 +0000 (UTC) (envelope-from csjp@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 m24EbaWp008376 for ; Tue, 4 Mar 2008 14:37:36 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24EbaWY008374 for perforce@freebsd.org; Tue, 4 Mar 2008 14:37:36 GMT (envelope-from csjp@freebsd.org) Date: Tue, 4 Mar 2008 14:37:36 GMT Message-Id: <200803041437.m24EbaWY008374@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 136820 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, 04 Mar 2008 14:37:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=136820 Change 136820 by csjp@ibm01 on 2008/03/04 14:37:11 assert that our SSL handle is not null Affected files ... .. //depot/projects/trustedbsd/netauditd/netauditd.c#15 edit Differences ... ==== //depot/projects/trustedbsd/netauditd/netauditd.c#15 (text+ko) ==== @@ -298,6 +298,7 @@ if (crypto_enabled == 0) return (write(au->ac_fd, buf, len)); + assert(au->ac_ssl != NULL); error = SSL_write(au->ac_ssl, buf, len); /* XXX error checking */ return (error); @@ -476,6 +477,7 @@ } else if (ret == 0) return (-1); } else { + assert(asb->sb_ssl != NULL); ret = SSL_read(asb->sb_ssl, asb->sb_buf, sizeof(asb->sb_buf)); if (ret < 0) From owner-p4-projects@FreeBSD.ORG Tue Mar 4 15:06:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 524F91065673; Tue, 4 Mar 2008 15:06: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 109AB1065671 for ; Tue, 4 Mar 2008 15:06:07 +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 003B58FC13 for ; Tue, 4 Mar 2008 15:06:06 +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 m24F66Fd010525 for ; Tue, 4 Mar 2008 15:06:06 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24F66g6010523 for perforce@freebsd.org; Tue, 4 Mar 2008 15:06:06 GMT (envelope-from rrs@cisco.com) Date: Tue, 4 Mar 2008 15:06:06 GMT Message-Id: <200803041506.m24F66g6010523@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 136821 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, 04 Mar 2008 15:06:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=136821 Change 136821 by rrs@rrs-mips2-jnpr on 2008/03/04 15:05:40 Ok, other weirdness of the oct16550 figured out. We will occasionaly, when getting a BREAK, get the proper indication from the IIR register, but the LSR tells us there is only a character. Which is the strange '0' character that accompanies each break. So transmute this to a break. We can always now get into the debugger with this fix :-) Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#17 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#17 (text+ko) ==== @@ -87,6 +87,9 @@ #define uart_getreg(bas, reg) \ bus_space_read_8((bas)->bst, (bas)->bsh, uart_regofs(bas, reg)) +int rrs_uart_debug=0; +int rrs_uart_show_tmit_too=0; + /* * Clear pending interrupts. THRE is cleared by reading IIR. Data * that may have been received gets lost here. @@ -632,6 +635,7 @@ iir = iir2 & IIR_IMASK; if (iir != IIR_NOPEND) { if (iir == IIR_RLS) { + unsigned int xc; lsr = uart_getreg(bas, OCT_REG_LSR); if (lsr & LSR_OE) ipend |= SER_INT_OVERRUN; @@ -647,7 +651,6 @@ * thats a bug). But regardless we don't * want to push in a subsequent 0. */ - unsigned int xc; xc = uart_getreg(bas, OCT_REG_RBR); if (xc != 0) { /* TSNH */ @@ -657,9 +660,25 @@ lsr = uart_getreg(bas, OCT_REG_LSR); } } - if (lsr & LSR_RXRDY) - ipend |= SER_INT_RXREADY; - + if (lsr & LSR_RXRDY) { + /* This is utterly wierd. If we get + * a IIR_RLS, we should ONT just + * read a LSR_RXRDY. So we will re-read the + * register and the character. If the + * char is 0, then its the 0 that accompanies + * the BREAK and the hardware just futzed. + * If its other than that, we loose and drop + * the character. + */ + xc = uart_getreg(bas, OCT_REG_RBR); + lsr = uart_getreg(bas, OCT_REG_LSR); + if (xc == 0) { + ipend |= SER_INT_BREAK; + } else { + /* TSNH, but neither should this whole block */ + printf("We loose a char %x\n", xc); + } + } } else if (iir == IIR_RXRDY) { ipend |= SER_INT_RXREADY; @@ -684,6 +703,8 @@ niir = uart_getreg(bas, OCT_REG_IIR); lsr = uart_getreg(bas, OCT_REG_LSR); usr = uart_getreg(bas, OCT_REG_USR); + printf("Got IIR_BUSY:%x niir:%x lsr:%x usr:%x\n", + iir2, niir, lsr, usr); } } uart_unlock(sc->sc_hwmtx); From owner-p4-projects@FreeBSD.ORG Tue Mar 4 16:32:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0B7C1065675; Tue, 4 Mar 2008 16: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 B049C1065671 for ; Tue, 4 Mar 2008 16:32:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FF088FC1D for ; Tue, 4 Mar 2008 16:32:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m24GWfra014779 for ; Tue, 4 Mar 2008 16:32:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24GWfoF014777 for perforce@freebsd.org; Tue, 4 Mar 2008 16:32:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 4 Mar 2008 16:32:41 GMT Message-Id: <200803041632.m24GWfoF014777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136825 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, 04 Mar 2008 16:32:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=136825 Change 136825 by rwatson@rwatson_freebsd_capabilities on 2008/03/04 16:32:15 Add a comment to uipc_usrreq.c relating to UNIX domain socket GC in the capabilities world order. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_usrreq.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_usrreq.c#2 (text+ko) ==== @@ -1939,6 +1939,11 @@ * Check for a socket potentially in a cycle. It must be in a * queue as indicated by msgcount, and this must equal the file * reference count. Note that when msgcount is 0 the file is NULL. + * + * XXXRW: This will need to change to also look at the capabilities + * referencing the file descriptor. It must: (a) subtract the number + * of capability references, and (b) add the non-message references + * to the capabilities themselves. */ if ((unp->unp_gcflag & UNPGC_REF) == 0 && fp && unp->unp_msgcount != 0 && fp->f_count == unp->unp_msgcount) { From owner-p4-projects@FreeBSD.ORG Tue Mar 4 17:02:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 060611065673; Tue, 4 Mar 2008 17: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 B9F9D1065671 for ; Tue, 4 Mar 2008 17:02:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AAE8D8FC1F for ; Tue, 4 Mar 2008 17:02:12 +0000 (UTC) (envelope-from rdivacky@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 m24H2C6J024806 for ; Tue, 4 Mar 2008 17:02:12 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24H2CFS024804 for perforce@freebsd.org; Tue, 4 Mar 2008 17:02:12 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 4 Mar 2008 17:02:12 GMT Message-Id: <200803041702.m24H2CFS024804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136828 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, 04 Mar 2008 17:02:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=136828 Change 136828 by rdivacky@rdivacky_witten on 2008/03/04 17:01:27 Some comment changes + printf and change from EINVAL to ENOSYS for some operation we dont support yet. Suggested by: netchild Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#10 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#10 (text+ko) ==== @@ -57,7 +57,9 @@ if (args->size <= 0) return (EINVAL); - /* args->size is unused. Linux ignores it as well. */ + /* + * args->size is unused. Linux just tests it + * and then forgets it as well. */ return (kqueue(td, &k_args)); } @@ -140,7 +142,9 @@ /* * Copyin callback used by kevent. This copies already - * converted filters to the kevent internal memory. + * converted filters from kernel memory to the kevent + * internal kernel memory. Hence the memcpy instead of + * copyin. */ static int linux_kev_copyin(void *arg, struct kevent *kevp, int count) @@ -193,7 +197,8 @@ break; case LINUX_EPOLL_CTL_MOD: /* TODO: DELETE && ADD maybe? */ - return (EINVAL); + printf("linux_epoll_ctl: CTL_MOD not yet implemented.\n"); + return (ENOSYS); break; case LINUX_EPOLL_CTL_DEL: kev.flags = EV_DELETE | EV_DISABLE; @@ -241,6 +246,9 @@ error = kern_kevent(td, args->epfd, 0, args->maxevents, &k_ops, &ts); - /* translation? */ + /* + * kern_keven might return ENOMEM which is not expected from epoll_wait. + * Maybe we should translate that but I don't think it matters at all. + */ return (error); } From owner-p4-projects@FreeBSD.ORG Tue Mar 4 17:53:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 856761065744; Tue, 4 Mar 2008 17:53: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 4542D1065741 for ; Tue, 4 Mar 2008 17:53:10 +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 375928FC23 for ; Tue, 4 Mar 2008 17:53:10 +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 m24HrAdv027664 for ; Tue, 4 Mar 2008 17:53:10 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24HrAUm027662 for perforce@freebsd.org; Tue, 4 Mar 2008 17:53:10 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Mar 2008 17:53:10 GMT Message-Id: <200803041753.m24HrAUm027662@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 136834 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, 04 Mar 2008 17:53:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=136834 Change 136834 by sam@sam_ebb on 2008/03/04 17:52:33 unbreak PHYERR frame handling for older parts Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#39 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#39 (text+ko) ==== @@ -2443,6 +2443,11 @@ * operating mode and state: * * o always accept unicast, broadcast, and multicast traffic + * o accept PHY error frames when hardware doesn't have MIB support + * to count and we need them for ANI (sta mode only at the moment) + * and we are not scanning (ANI is disabled) + * NB: only with recent hal's; older hal's add rx filter bits out + * of sight and we need to blindly preserve them * o probe request frames are accepted only when operating in * hostap, adhoc, or monitor modes * o enable promiscuous mode according to the interface state @@ -2455,9 +2460,6 @@ * - when doing s/w beacon miss (e.g. for ap+sta) * o accept control frames: * - when in monitor mode - * o accept PHY error frames when hardware doesn't have MIB support - * to count and we need them for ANI (sta mode only at the moment) - * and we are not scanning (ANI is disabled) * XXX BAR frames for 11n */ static u_int32_t @@ -2467,7 +2469,16 @@ struct ifnet *ifp = sc->sc_ifp; u_int32_t rfilt; +#if HAL_ABI_VERSION < 0x08011600 + rfilt = (ath_hal_getrxfilter(sc->sc_ah) & + (HAL_RX_FILTER_PHYRADAR | HAL_RX_FILTER_PHYERR)) + | HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; +#else rfilt = HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; + if (ic->ic_opmode == IEEE80211_M_STA && + !sc->sc_needmib && !sc->sc_scanning) + rfilt |= HAL_RX_FILTER_PHYERR; +#endif if (ic->ic_opmode != IEEE80211_M_STA) rfilt |= HAL_RX_FILTER_PROBEREQ; if (ic->ic_opmode != IEEE80211_M_HOSTAP && @@ -2479,9 +2490,6 @@ rfilt |= HAL_RX_FILTER_BEACON; if (ic->ic_opmode == IEEE80211_M_MONITOR) rfilt |= HAL_RX_FILTER_CONTROL; - if (ic->ic_opmode == IEEE80211_M_STA && - !sc->sc_needmib && !sc->sc_scanning) - rfilt |= HAL_RX_FILTER_PHYERR; return rfilt; } From owner-p4-projects@FreeBSD.ORG Tue Mar 4 18:38:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 658511065673; Tue, 4 Mar 2008 18:38: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 217B51065671 for ; Tue, 4 Mar 2008 18:38:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FE828FC18 for ; Tue, 4 Mar 2008 18:38:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m24IcFrZ030500 for ; Tue, 4 Mar 2008 18:38:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24Ic4G7030498 for perforce@freebsd.org; Tue, 4 Mar 2008 18:38:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 4 Mar 2008 18:38:04 GMT Message-Id: <200803041838.m24Ic4G7030498@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136842 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, 04 Mar 2008 18:38:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=136842 Change 136842 by rwatson@rwatson_freebsd_capabilities on 2008/03/04 18:37:40 Integrate TrustedBSD capabilities branch; further manual rebuilding of generated files still required. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/MAINTAINERS#2 integrate .. //depot/projects/trustedbsd/capabilities/src/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/Makefile.inc1#2 integrate .. //depot/projects/trustedbsd/capabilities/src/ObsoleteFiles.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/UPDATING#2 integrate .. //depot/projects/trustedbsd/capabilities/src/bin/date/date.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/bin/sh/cd.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mksyntax.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/binutils/libiberty/cp-demangle.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/file/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/bFLT#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/chi#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/cvs#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/hdf#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/impulse#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/Magdir/wordperfect#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/acconfig.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/magic.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/file/missing#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/file/stamp-h.in#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/libiberty/cp-demangle.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/FREEBSD-vendor#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/MANIFEST#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/NEWS#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/dist.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/form/frm_driver.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/include/curses.h.in#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/include/ncurses_defs#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/man/curs_clear.3x#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/man/man_db.renames#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/man/manlinks.sed#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/man/toe.1m#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/misc/terminfo.src#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/MKlib_gen.sh#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/MKunctrl.awk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_addch.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_getch.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_insch.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_newterm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_newwin.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_set_term.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_slk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_slkclear.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/lib_slkinit.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/resizeterm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/base/use_window.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/curses.priv.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/tinfo/lib_data.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/ncurses/tinfo/lib_setup.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/progs/infocmp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/ncurses/progs/toe.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/openpam/FREEBSD-vendor#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/openpam/include/security/openpam_version.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/pf/man/pf.conf.5#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/tcpdump/print-802_11.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/traceroute/as.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/traceroute/as.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/traceroute/traceroute.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/contrib/traceroute/traceroute.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/crypto/openssh/FREEBSD-Xlist#2 integrate .. //depot/projects/trustedbsd/capabilities/src/crypto/openssh/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/capabilities/src/crypto/openssh/FREEBSD-vendor#1 branch .. //depot/projects/trustedbsd/capabilities/src/etc/defaults/rc.conf#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/devd.conf#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/mail/access.sample#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/namedb/named.root#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/netstart#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/periodic/security/100.chksetuid#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.d/dhclient#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.d/ipfw#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.d/mountcritremote#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.d/netif#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.d/ppp#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/rc.subr#2 integrate .. //depot/projects/trustedbsd/capabilities/src/etc/sendmail/freebsd.mc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/games/fortune/datfiles/fortunes#2 integrate .. //depot/projects/trustedbsd/capabilities/src/games/fortune/strfile/strfile.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/lib/libgcc/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/binutils/ar/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/binutils/ranlib/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/kld.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/man/man/man.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/gnu/usr.bin/man/manpath/manpath.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/include/fts.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/include/pthread_np.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/include/unistd.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_endian.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_entry_strmode.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_platform.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_open_filename.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_compression_bzip2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_compression_gzip.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_format_ar.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_format_iso9660.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_format_mtree.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_format_tar.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_read_support_format_zip.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_write_disk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_write_open_filename.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_write_set_compression_gzip.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/archive_write_set_format_ar.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/config_freebsd.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/test/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/test/main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/test/test.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/test/test_compat_tar_hardlink.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/btree.tests/main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/dbtest.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Symbol.map#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysconf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/namespace.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/un-namespace.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/flt_rounds.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetmask.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetround.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetsticky.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpsetmask.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpsetround.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/resolv/res_comp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdio/fdopen.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdio/fopen.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdlib/getenv.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdlib/malloc.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/stdlib/malloc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#7 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/access.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/clock_gettime.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_close.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_getattr.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_notify.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_open.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_receive.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_send.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/mq_setattr.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/readlink.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libdisk/disk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libelf/elf_update.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libelf/gelf_fsize.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libfetch/common.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libfetch/fetch.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libfetch/ftp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libfetch/http.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libkse/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libkse/kse.map#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libkse/sys/lock.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libkse/thread/thr_mutex.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libmilter/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libpmc/pmc.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/librpcsvc/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/librpcsvc/xcrypt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/ia64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/pthread.map#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_attr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_init.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_mutex.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_private.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/libthr/thread/thr_sig.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/Symbol.map#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/amd64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/amd64/e_remainder.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/amd64/e_remainderf.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/bsdsrc/b_log.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/bsdsrc/b_tgamma.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/i387/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld128/k_cosl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld128/k_sinl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld128/k_tanl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld128/s_exp2l.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld128/s_nanl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld80/k_cosl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld80/k_sinl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld80/k_tanl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/ld80/s_exp2l.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/cos.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/j0.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/lgamma.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/sin.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/sqrt.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/man/tan.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/powerpc/fenv.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_acos.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_acosf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_acosh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_acoshf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_asin.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_asinf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_atan2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_atan2f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_atanh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_atanhf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_cosh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_coshf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_exp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_fmod.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_fmodf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_gamma.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_gamma_r.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_gammaf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_gammaf_r.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_hypot.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_hypotf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_j0.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_j0f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_j1.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_j1f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_jn.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_jnf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_lgamma.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_lgamma_r.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_lgammaf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_lgammaf_r.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_log.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_log10.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_log10f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_logf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_pow.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_powf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_rem_pio2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_rem_pio2f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_remainder.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_remainderf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_scalb.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_scalbf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_sinh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_sinhf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_cos.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_cosf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_rem_pio2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_sin.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_sinf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_tan.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/k_tanf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/math.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/math_private.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_asinh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_asinhf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_atan.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_atanf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_cbrt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_cbrtf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ceil.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ceilf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ceill.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_copysign.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_copysignf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_cos.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_cosf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_cosl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_erf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_erff.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_exp2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_exp2f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_expm1.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_expm1f.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_fabsf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_finite.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_finitef.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_floor.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_floorf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_floorl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_frexp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_frexpf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ilogb.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ilogbf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_ilogbl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_logb.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_logbf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_modff.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_nextafter.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_nextafterf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_nextafterl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_nexttoward.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_nexttowardf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_rint.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_rintf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_rintl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_significand.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_significandf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_sin.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_sinf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_sinl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tan.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tanf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tanh.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tanhf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tanl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_tgammaf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_trunc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/msun/src/w_cabs.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/release/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate .. //depot/projects/trustedbsd/capabilities/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate .. //depot/projects/trustedbsd/capabilities/src/release/doc/share/misc/dev.archlist.txt#2 integrate .. //depot/projects/trustedbsd/capabilities/src/release/fixit.profile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ffsinfo/ffsinfo.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/fsck_ffs/pass1.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/fsck_ffs/pass2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/fsck_ffs/setup.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/fsck_msdosfs/boot.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/fsck_msdosfs/fat.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/geom/core/geom.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/geom/core/geom.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/gpt/gpt.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/gpt/gpt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/gpt/migrate.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/gpt/show.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ifconfig/ifieee80211.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ipfw/ipfw.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ipfw/ipfw2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/iscontrol/misc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/md5/md5.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/mount/getmntopts.3#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/mount/mount.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/mount_nfs/mount_nfs.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/natd/natd.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/ping6/ping6.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/quotacheck/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/quotacheck/preen.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/quotacheck/quotacheck.8#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/quotacheck/quotacheck.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sbin/sconfig/sconfig.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/secure/usr.bin/bdes/bdes.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/colldef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ath.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/atkbd.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/awi.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ciss.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/dcons.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ed.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/fwohci.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/geom_linux_lvm.4#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/hptiop.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/hptrr.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ip6.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/man4.i386/snc.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/mxge.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ng_nat.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/oldcard.4#2 delete .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/rr232x.4#2 delete .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/sk.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/uchcom.4#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/ucycom.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/uscanner.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man4/wi.4#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man5/fstab.5#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man5/rc.conf.5#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/VOP_LOCK.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/insmntque.9#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/lock.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/mbuf.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/pci.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/style.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vfs_mountedfrom.9#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vgone.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vhold.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vput.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vref.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vrefcnt.9#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/man/man9/vrele.9#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/misc/bsd-family-tree#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/misc/committers-doc.dot#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/misc/committers-ports.dot#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/misc/committers-src.dot#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/mk/bsd.cpu.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/mk/bsd.dep.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/mk/bsd.libnames.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/msgdef/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/share/msgdef/ko_KR.UTF-8.src#1 branch .. //depot/projects/trustedbsd/capabilities/src/share/msgdef/ko_KR.eucKR.src#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/proc.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/smp.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/locore.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_bus.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/atomic.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_console.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/conf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/help.uboot#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/ldscript.powerpc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/metadata.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/uboot/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/common/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/common/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/api_public.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/console.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/copy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/devicename.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/disk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/elf_freebsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/glue.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/libuboot.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/module.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/net.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/reboot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/uboot/lib/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_periph.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/Makefile.arm#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/NOTES#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files#5 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.amd64#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.i386#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.sparc64#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/kern.post.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/ldscript.powerpc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/options#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/conf/options.powerpc#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ddb/db_capture.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/amr/amrreg.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_l2t.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_l2t.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/sys/mbufq.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/LICENSE#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82575.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_82575.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/if_em.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/em/if_em.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptiop/hptiop.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/array.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/him.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/himfuncs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/hptintf.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/hptrr_config.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/ldm.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/list.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/os_bsd.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hptrr/osm.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ic/quicc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/md/md.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mfi/mfireg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/amphy.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/miidevs#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/nsphy.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/nsphyter.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/re/if_re.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/LICENSE#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/README#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/array.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/him.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/himfuncs.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/hptintf.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/ldm.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/list.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/os_bsd.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/os_bsd.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/osm.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/osm_bsd.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/rr232x_config.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/rr232x/rr232x_config.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/syscons/syscons.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/twe/twe.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/uart/uart.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/uart/uart_cpu_powerpc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/uark.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/ucom.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/umass.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdi.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/uscanner.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/TODO#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_fbsd.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_io.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_kernel.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_namecache.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_namecache.h#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_opstats.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_pioctl.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_psdev.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_subr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_subr.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_venus.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_venus.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_vfsops.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/coda/coda_vnops.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/fdescfs/fdesc_vnops.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/ntfs/ntfs_subr.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/nullfs/null_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/nullfs/null_vnops.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/smbfs/smbfs_node.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/unionfs/union_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/geom/geom_disk.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/geom/linux_lvm/g_linux_lvm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/geom/linux_lvm/g_linux_lvm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/geode.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/initcpu.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/minidump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/include/proc.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/include/smp.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/ia64/dump_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/ia64/locore.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/ia64/include/md_var.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_main.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#13 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_exit.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mib.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_module.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_tc.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_thread.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_timeout.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sched_ule.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_bus.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_lock.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_smp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_witness.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#13 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#7 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#13 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sysv_shm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/tty_pty.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_default.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vnode_if.src#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/libkern/cmpdi2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/libkern/quad.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/coda/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/coda5/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/cxgb/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/em/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/geom_eli/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/geom_linux_lvm/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/modules/hwpmc/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/igb/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/modules/mii/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/rr232x/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/modules/zfs/Makefile#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net/bpf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net/route.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_bpf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_nat.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_nat.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_pred1.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_tee.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/in_rmx.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_fw.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_fw2.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_id.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/ip_output.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_auth.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_indata.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_input.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_output.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_pcb.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/sctputil.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet/tcp_var.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netipsec/ipsec.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netipsec/key.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netncp/ncp_conn.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netsmb/smb_conn.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/netsmb/smb_iod.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfs4client/nfs4_idmap.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfs4client/nfs4_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfsm_subs.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/pc98/cbus/sio.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/pc98/pc98/machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/pci/if_rl.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/pci/if_wb.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/locore.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/ofw_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/swtch.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/trap.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/support.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/conf/GENERIC#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_add.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_compare.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_div.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_emu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_emu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_explode.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_implode.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_instr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_mul.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_sqrt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/fpu/fpu_subr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/bootinfo.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/float.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/frame.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/hid.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/intr_machdep.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/metadata.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/openpicreg.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/openpicvar.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pcb.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pcpu.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/psl.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pte.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/spr.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/trap.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powermac/openpic_macio.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/autoconf.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/intr_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/pic_if.m#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/psim/openpic_iobus.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/security/audit/audit.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 4 18:41:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2E1C1065671; Tue, 4 Mar 2008 18:41: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 8F3C9106566C for ; Tue, 4 Mar 2008 18:41:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D0EA8FC23 for ; Tue, 4 Mar 2008 18:41:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m24IfIMv032727 for ; Tue, 4 Mar 2008 18:41:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24IfIts032712 for perforce@freebsd.org; Tue, 4 Mar 2008 18:41:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 4 Mar 2008 18:41:18 GMT Message-Id: <200803041841.m24IfIts032712@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136843 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, 04 Mar 2008 18:41:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=136843 Change 136843 by rwatson@rwatson_freebsd_capabilities on 2008/03/04 18:41:00 Regenerate generated files from syscalls.master. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#14 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#14 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#14 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#14 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#14 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#14 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#14 (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.234 2008/03/02 07:41:10 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.238 2008/03/02 07:39:22 jeff Exp */ @@ -29,493 +29,498 @@ /* The casts are bogus but will do for now. */ struct sysent sysent[] = { - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = syscall */ - { AS(sys_exit_args), (sy_call_t *)sys_exit, AUE_EXIT, NULL, 0, 0 }, /* 1 = exit */ - { 0, (sy_call_t *)fork, AUE_FORK, NULL, 0, 0 }, /* 2 = fork */ - { AS(read_args), (sy_call_t *)read, AUE_NULL, NULL, 0, 0 }, /* 3 = read */ - { AS(write_args), (sy_call_t *)write, AUE_NULL, NULL, 0, 0 }, /* 4 = write */ - { AS(open_args), (sy_call_t *)open, AUE_OPEN_RWTC, NULL, 0, 0 }, /* 5 = open */ - { AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */ - { AS(wait_args), (sy_call_t *)wait4, AUE_WAIT4, NULL, 0, 0 }, /* 7 = wait4 */ - { compat(AS(ocreat_args),creat), AUE_CREAT, NULL, 0, 0 }, /* 8 = old creat */ - { AS(link_args), (sy_call_t *)link, AUE_LINK, NULL, 0, 0 }, /* 9 = link */ - { AS(unlink_args), (sy_call_t *)unlink, AUE_UNLINK, NULL, 0, 0 }, /* 10 = unlink */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 11 = obsolete execv */ - { AS(chdir_args), (sy_call_t *)chdir, AUE_CHDIR, NULL, 0, 0 }, /* 12 = chdir */ - { AS(fchdir_args), (sy_call_t *)fchdir, AUE_FCHDIR, NULL, 0, 0 }, /* 13 = fchdir */ - { AS(mknod_args), (sy_call_t *)mknod, AUE_MKNOD, NULL, 0, 0 }, /* 14 = mknod */ - { AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0 }, /* 15 = chmod */ - { AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0 }, /* 16 = chown */ - { AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0 }, /* 17 = break */ - { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0 }, /* 18 = old getfsstat */ - { compat(AS(olseek_args),lseek), AUE_LSEEK, NULL, 0, 0 }, /* 19 = old lseek */ - { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0 }, /* 20 = getpid */ - { AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0 }, /* 21 = mount */ - { AS(unmount_args), (sy_call_t *)unmount, AUE_UMOUNT, NULL, 0, 0 }, /* 22 = unmount */ - { AS(setuid_args), (sy_call_t *)setuid, AUE_SETUID, NULL, 0, 0 }, /* 23 = setuid */ - { 0, (sy_call_t *)getuid, AUE_GETUID, NULL, 0, 0 }, /* 24 = getuid */ - { 0, (sy_call_t *)geteuid, AUE_GETEUID, NULL, 0, 0 }, /* 25 = geteuid */ - { AS(ptrace_args), (sy_call_t *)ptrace, AUE_PTRACE, NULL, 0, 0 }, /* 26 = ptrace */ - { AS(recvmsg_args), (sy_call_t *)recvmsg, AUE_RECVMSG, NULL, 0, 0 }, /* 27 = recvmsg */ - { AS(sendmsg_args), (sy_call_t *)sendmsg, AUE_SENDMSG, NULL, 0, 0 }, /* 28 = sendmsg */ - { AS(recvfrom_args), (sy_call_t *)recvfrom, AUE_RECVFROM, NULL, 0, 0 }, /* 29 = recvfrom */ - { AS(accept_args), (sy_call_t *)accept, AUE_ACCEPT, NULL, 0, 0 }, /* 30 = accept */ - { AS(getpeername_args), (sy_call_t *)getpeername, AUE_GETPEERNAME, NULL, 0, 0 }, /* 31 = getpeername */ - { AS(getsockname_args), (sy_call_t *)getsockname, AUE_GETSOCKNAME, NULL, 0, 0 }, /* 32 = getsockname */ - { AS(access_args), (sy_call_t *)access, AUE_ACCESS, NULL, 0, 0 }, /* 33 = access */ - { AS(chflags_args), (sy_call_t *)chflags, AUE_CHFLAGS, NULL, 0, 0 }, /* 34 = chflags */ - { AS(fchflags_args), (sy_call_t *)fchflags, AUE_FCHFLAGS, NULL, 0, 0 }, /* 35 = fchflags */ - { 0, (sy_call_t *)sync, AUE_SYNC, NULL, 0, 0 }, /* 36 = sync */ - { AS(kill_args), (sy_call_t *)kill, AUE_KILL, NULL, 0, 0 }, /* 37 = kill */ - { compat(AS(ostat_args),stat), AUE_STAT, NULL, 0, 0 }, /* 38 = old stat */ - { 0, (sy_call_t *)getppid, AUE_GETPPID, NULL, 0, 0 }, /* 39 = getppid */ - { compat(AS(olstat_args),lstat), AUE_LSTAT, NULL, 0, 0 }, /* 40 = old lstat */ - { AS(dup_args), (sy_call_t *)dup, AUE_DUP, NULL, 0, 0 }, /* 41 = dup */ - { 0, (sy_call_t *)pipe, AUE_PIPE, NULL, 0, 0 }, /* 42 = pipe */ - { 0, (sy_call_t *)getegid, AUE_GETEGID, NULL, 0, 0 }, /* 43 = getegid */ - { AS(profil_args), (sy_call_t *)profil, AUE_PROFILE, NULL, 0, 0 }, /* 44 = profil */ - { AS(ktrace_args), (sy_call_t *)ktrace, AUE_KTRACE, NULL, 0, 0 }, /* 45 = ktrace */ - { compat(AS(osigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0 }, /* 46 = old sigaction */ - { 0, (sy_call_t *)getgid, AUE_GETGID, NULL, 0, 0 }, /* 47 = getgid */ - { compat(AS(osigprocmask_args),sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0 }, /* 48 = old sigprocmask */ - { AS(getlogin_args), (sy_call_t *)getlogin, AUE_GETLOGIN, NULL, 0, 0 }, /* 49 = getlogin */ - { AS(setlogin_args), (sy_call_t *)setlogin, AUE_SETLOGIN, NULL, 0, 0 }, /* 50 = setlogin */ - { AS(acct_args), (sy_call_t *)acct, AUE_ACCT, NULL, 0, 0 }, /* 51 = acct */ - { compat(0,sigpending), AUE_SIGPENDING, NULL, 0, 0 }, /* 52 = old sigpending */ - { AS(sigaltstack_args), (sy_call_t *)sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0 }, /* 53 = sigaltstack */ - { AS(ioctl_args), (sy_call_t *)ioctl, AUE_IOCTL, NULL, 0, 0 }, /* 54 = ioctl */ - { AS(reboot_args), (sy_call_t *)reboot, AUE_REBOOT, NULL, 0, 0 }, /* 55 = reboot */ - { AS(revoke_args), (sy_call_t *)revoke, AUE_REVOKE, NULL, 0, 0 }, /* 56 = revoke */ - { AS(symlink_args), (sy_call_t *)symlink, AUE_SYMLINK, NULL, 0, 0 }, /* 57 = symlink */ - { AS(readlink_args), (sy_call_t *)readlink, AUE_READLINK, NULL, 0, 0 }, /* 58 = readlink */ - { AS(execve_args), (sy_call_t *)execve, AUE_EXECVE, NULL, 0, 0 }, /* 59 = execve */ - { AS(umask_args), (sy_call_t *)umask, AUE_UMASK, NULL, 0, 0 }, /* 60 = umask */ - { AS(chroot_args), (sy_call_t *)chroot, AUE_CHROOT, NULL, 0, 0 }, /* 61 = chroot */ - { compat(AS(ofstat_args),fstat), AUE_FSTAT, NULL, 0, 0 }, /* 62 = old fstat */ - { compat(AS(getkerninfo_args),getkerninfo), AUE_NULL, NULL, 0, 0 }, /* 63 = old getkerninfo */ - { compat(0,getpagesize), AUE_NULL, NULL, 0, 0 }, /* 64 = old getpagesize */ - { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0 }, /* 65 = msync */ - { 0, (sy_call_t *)vfork, AUE_VFORK, NULL, 0, 0 }, /* 66 = vfork */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 67 = obsolete vread */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 68 = obsolete vwrite */ - { AS(sbrk_args), (sy_call_t *)sbrk, AUE_SBRK, NULL, 0, 0 }, /* 69 = sbrk */ - { AS(sstk_args), (sy_call_t *)sstk, AUE_SSTK, NULL, 0, 0 }, /* 70 = sstk */ - { compat(AS(ommap_args),mmap), AUE_MMAP, NULL, 0, 0 }, /* 71 = old mmap */ - { AS(ovadvise_args), (sy_call_t *)ovadvise, AUE_O_VADVISE, NULL, 0, 0 }, /* 72 = vadvise */ - { AS(munmap_args), (sy_call_t *)munmap, AUE_MUNMAP, NULL, 0, 0 }, /* 73 = munmap */ - { AS(mprotect_args), (sy_call_t *)mprotect, AUE_MPROTECT, NULL, 0, 0 }, /* 74 = mprotect */ - { AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE, NULL, 0, 0 }, /* 75 = madvise */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 76 = obsolete vhangup */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 77 = obsolete vlimit */ - { AS(mincore_args), (sy_call_t *)mincore, AUE_MINCORE, NULL, 0, 0 }, /* 78 = mincore */ - { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0 }, /* 79 = getgroups */ - { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0 }, /* 80 = setgroups */ - { 0, (sy_call_t *)getpgrp, AUE_GETPGRP, NULL, 0, 0 }, /* 81 = getpgrp */ - { AS(setpgid_args), (sy_call_t *)setpgid, AUE_SETPGRP, NULL, 0, 0 }, /* 82 = setpgid */ - { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0 }, /* 83 = setitimer */ - { compat(0,wait), AUE_WAIT4, NULL, 0, 0 }, /* 84 = old wait */ - { AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON, NULL, 0, 0 }, /* 85 = swapon */ - { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0 }, /* 86 = getitimer */ - { compat(AS(gethostname_args),gethostname), AUE_SYSCTL, NULL, 0, 0 }, /* 87 = old gethostname */ - { compat(AS(sethostname_args),sethostname), AUE_SYSCTL, NULL, 0, 0 }, /* 88 = old sethostname */ - { 0, (sy_call_t *)getdtablesize, AUE_GETDTABLESIZE, NULL, 0, 0 }, /* 89 = getdtablesize */ - { AS(dup2_args), (sy_call_t *)dup2, AUE_DUP2, NULL, 0, 0 }, /* 90 = dup2 */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 91 = getdopt */ - { AS(fcntl_args), (sy_call_t *)fcntl, AUE_FCNTL, NULL, 0, 0 }, /* 92 = fcntl */ - { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0 }, /* 93 = select */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 94 = setdopt */ - { AS(fsync_args), (sy_call_t *)fsync, AUE_FSYNC, NULL, 0, 0 }, /* 95 = fsync */ - { AS(setpriority_args), (sy_call_t *)setpriority, AUE_SETPRIORITY, NULL, 0, 0 }, /* 96 = setpriority */ - { AS(socket_args), (sy_call_t *)socket, AUE_SOCKET, NULL, 0, 0 }, /* 97 = socket */ - { AS(connect_args), (sy_call_t *)connect, AUE_CONNECT, NULL, 0, 0 }, /* 98 = connect */ - { compat(AS(accept_args),accept), AUE_ACCEPT, NULL, 0, 0 }, /* 99 = old accept */ - { AS(getpriority_args), (sy_call_t *)getpriority, AUE_GETPRIORITY, NULL, 0, 0 }, /* 100 = getpriority */ - { compat(AS(osend_args),send), AUE_SEND, NULL, 0, 0 }, /* 101 = old send */ - { compat(AS(orecv_args),recv), AUE_RECV, NULL, 0, 0 }, /* 102 = old recv */ - { compat(AS(osigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0 }, /* 103 = old sigreturn */ - { AS(bind_args), (sy_call_t *)bind, AUE_BIND, NULL, 0, 0 }, /* 104 = bind */ - { AS(setsockopt_args), (sy_call_t *)setsockopt, AUE_SETSOCKOPT, NULL, 0, 0 }, /* 105 = setsockopt */ - { AS(listen_args), (sy_call_t *)listen, AUE_LISTEN, NULL, 0, 0 }, /* 106 = listen */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 107 = obsolete vtimes */ - { compat(AS(osigvec_args),sigvec), AUE_NULL, NULL, 0, 0 }, /* 108 = old sigvec */ - { compat(AS(osigblock_args),sigblock), AUE_NULL, NULL, 0, 0 }, /* 109 = old sigblock */ - { compat(AS(osigsetmask_args),sigsetmask), AUE_NULL, NULL, 0, 0 }, /* 110 = old sigsetmask */ - { compat(AS(osigsuspend_args),sigsuspend), AUE_NULL, NULL, 0, 0 }, /* 111 = old sigsuspend */ - { compat(AS(osigstack_args),sigstack), AUE_NULL, NULL, 0, 0 }, /* 112 = old sigstack */ - { compat(AS(orecvmsg_args),recvmsg), AUE_RECVMSG, NULL, 0, 0 }, /* 113 = old recvmsg */ - { compat(AS(osendmsg_args),sendmsg), AUE_SENDMSG, NULL, 0, 0 }, /* 114 = old sendmsg */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 115 = obsolete vtrace */ - { AS(gettimeofday_args), (sy_call_t *)gettimeofday, AUE_GETTIMEOFDAY, NULL, 0, 0 }, /* 116 = gettimeofday */ - { AS(getrusage_args), (sy_call_t *)getrusage, AUE_GETRUSAGE, NULL, 0, 0 }, /* 117 = getrusage */ - { AS(getsockopt_args), (sy_call_t *)getsockopt, AUE_GETSOCKOPT, NULL, 0, 0 }, /* 118 = getsockopt */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 119 = resuba */ - { AS(readv_args), (sy_call_t *)readv, AUE_READV, NULL, 0, 0 }, /* 120 = readv */ - { AS(writev_args), (sy_call_t *)writev, AUE_WRITEV, NULL, 0, 0 }, /* 121 = writev */ - { AS(settimeofday_args), (sy_call_t *)settimeofday, AUE_SETTIMEOFDAY, NULL, 0, 0 }, /* 122 = settimeofday */ - { AS(fchown_args), (sy_call_t *)fchown, AUE_FCHOWN, NULL, 0, 0 }, /* 123 = fchown */ - { AS(fchmod_args), (sy_call_t *)fchmod, AUE_FCHMOD, NULL, 0, 0 }, /* 124 = fchmod */ - { compat(AS(recvfrom_args),recvfrom), AUE_RECVFROM, NULL, 0, 0 }, /* 125 = old recvfrom */ - { AS(setreuid_args), (sy_call_t *)setreuid, AUE_SETREUID, NULL, 0, 0 }, /* 126 = setreuid */ - { AS(setregid_args), (sy_call_t *)setregid, AUE_SETREGID, NULL, 0, 0 }, /* 127 = setregid */ - { AS(rename_args), (sy_call_t *)rename, AUE_RENAME, NULL, 0, 0 }, /* 128 = rename */ - { compat(AS(otruncate_args),truncate), AUE_TRUNCATE, NULL, 0, 0 }, /* 129 = old truncate */ - { compat(AS(oftruncate_args),ftruncate), AUE_FTRUNCATE, NULL, 0, 0 }, /* 130 = old ftruncate */ - { AS(flock_args), (sy_call_t *)flock, AUE_FLOCK, NULL, 0, 0 }, /* 131 = flock */ - { AS(mkfifo_args), (sy_call_t *)mkfifo, AUE_MKFIFO, NULL, 0, 0 }, /* 132 = mkfifo */ - { AS(sendto_args), (sy_call_t *)sendto, AUE_SENDTO, NULL, 0, 0 }, /* 133 = sendto */ - { AS(shutdown_args), (sy_call_t *)shutdown, AUE_SHUTDOWN, NULL, 0, 0 }, /* 134 = shutdown */ - { AS(socketpair_args), (sy_call_t *)socketpair, AUE_SOCKETPAIR, NULL, 0, 0 }, /* 135 = socketpair */ - { AS(mkdir_args), (sy_call_t *)mkdir, AUE_MKDIR, NULL, 0, 0 }, /* 136 = mkdir */ - { AS(rmdir_args), (sy_call_t *)rmdir, AUE_RMDIR, NULL, 0, 0 }, /* 137 = rmdir */ - { AS(utimes_args), (sy_call_t *)utimes, AUE_UTIMES, NULL, 0, 0 }, /* 138 = utimes */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 139 = obsolete 4.2 sigreturn */ - { AS(adjtime_args), (sy_call_t *)adjtime, AUE_ADJTIME, NULL, 0, 0 }, /* 140 = adjtime */ - { compat(AS(ogetpeername_args),getpeername), AUE_GETPEERNAME, NULL, 0, 0 }, /* 141 = old getpeername */ - { compat(0,gethostid), AUE_SYSCTL, NULL, 0, 0 }, /* 142 = old gethostid */ - { compat(AS(osethostid_args),sethostid), AUE_SYSCTL, NULL, 0, 0 }, /* 143 = old sethostid */ - { compat(AS(ogetrlimit_args),getrlimit), AUE_GETRLIMIT, NULL, 0, 0 }, /* 144 = old getrlimit */ - { compat(AS(osetrlimit_args),setrlimit), AUE_SETRLIMIT, NULL, 0, 0 }, /* 145 = old setrlimit */ - { compat(AS(okillpg_args),killpg), AUE_KILLPG, NULL, 0, 0 }, /* 146 = old killpg */ - { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0 }, /* 147 = setsid */ - { AS(quotactl_args), (sy_call_t *)quotactl, AUE_QUOTACTL, NULL, 0, 0 }, /* 148 = quotactl */ - { compat(0,quota), AUE_O_QUOTA, NULL, 0, 0 }, /* 149 = old quota */ - { compat(AS(getsockname_args),getsockname), AUE_GETSOCKNAME, NULL, 0, 0 }, /* 150 = old getsockname */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 151 = sem_lock */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 152 = sem_wakeup */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 153 = asyncdaemon */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 154 = nosys */ - { AS(nfssvc_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 155 = nfssvc */ - { compat(AS(ogetdirentries_args),getdirentries), AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 156 = old getdirentries */ - { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0 }, /* 157 = old statfs */ - { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0 }, /* 158 = old fstatfs */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 159 = nosys */ - { AS(lgetfh_args), (sy_call_t *)lgetfh, AUE_LGETFH, NULL, 0, 0 }, /* 160 = lgetfh */ - { AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0 }, /* 161 = getfh */ - { AS(getdomainname_args), (sy_call_t *)getdomainname, AUE_SYSCTL, NULL, 0, 0 }, /* 162 = getdomainname */ - { AS(setdomainname_args), (sy_call_t *)setdomainname, AUE_SYSCTL, NULL, 0, 0 }, /* 163 = setdomainname */ - { AS(uname_args), (sy_call_t *)uname, AUE_NULL, NULL, 0, 0 }, /* 164 = uname */ - { AS(sysarch_args), (sy_call_t *)sysarch, AUE_SYSARCH, NULL, 0, 0 }, /* 165 = sysarch */ - { AS(rtprio_args), (sy_call_t *)rtprio, AUE_RTPRIO, NULL, 0, 0 }, /* 166 = rtprio */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 167 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 168 = nosys */ - { AS(semsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 169 = semsys */ - { AS(msgsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 170 = msgsys */ - { AS(shmsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 171 = shmsys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 172 = nosys */ - { AS(freebsd6_pread_args), (sy_call_t *)freebsd6_pread, AUE_PREAD, NULL, 0, 0 }, /* 173 = freebsd6_pread */ - { AS(freebsd6_pwrite_args), (sy_call_t *)freebsd6_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 174 = freebsd6_pwrite */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 175 = nosys */ - { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 }, /* 176 = ntp_adjtime */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 177 = sfork */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 178 = getdescriptor */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 179 = setdescriptor */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 180 = nosys */ - { AS(setgid_args), (sy_call_t *)setgid, AUE_SETGID, NULL, 0, 0 }, /* 181 = setgid */ - { AS(setegid_args), (sy_call_t *)setegid, AUE_SETEGID, NULL, 0, 0 }, /* 182 = setegid */ - { AS(seteuid_args), (sy_call_t *)seteuid, AUE_SETEUID, NULL, 0, 0 }, /* 183 = seteuid */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 184 = lfs_bmapv */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 185 = lfs_markv */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 186 = lfs_segclean */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 187 = lfs_segwait */ - { AS(stat_args), (sy_call_t *)stat, AUE_STAT, NULL, 0, 0 }, /* 188 = stat */ - { AS(fstat_args), (sy_call_t *)fstat, AUE_FSTAT, NULL, 0, 0 }, /* 189 = fstat */ - { AS(lstat_args), (sy_call_t *)lstat, AUE_LSTAT, NULL, 0, 0 }, /* 190 = lstat */ - { AS(pathconf_args), (sy_call_t *)pathconf, AUE_PATHCONF, NULL, 0, 0 }, /* 191 = pathconf */ - { AS(fpathconf_args), (sy_call_t *)fpathconf, AUE_FPATHCONF, NULL, 0, 0 }, /* 192 = fpathconf */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 193 = nosys */ - { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0 }, /* 194 = getrlimit */ - { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0 }, /* 195 = setrlimit */ - { AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 196 = getdirentries */ - { AS(freebsd6_mmap_args), (sy_call_t *)freebsd6_mmap, AUE_MMAP, NULL, 0, 0 }, /* 197 = freebsd6_mmap */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 198 = __syscall */ - { AS(freebsd6_lseek_args), (sy_call_t *)freebsd6_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 199 = freebsd6_lseek */ - { AS(freebsd6_truncate_args), (sy_call_t *)freebsd6_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = freebsd6_truncate */ - { AS(freebsd6_ftruncate_args), (sy_call_t *)freebsd6_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = freebsd6_ftruncate */ - { AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0 }, /* 202 = __sysctl */ - { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0 }, /* 203 = mlock */ - { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0 }, /* 204 = munlock */ - { AS(undelete_args), (sy_call_t *)undelete, AUE_UNDELETE, NULL, 0, 0 }, /* 205 = undelete */ - { AS(futimes_args), (sy_call_t *)futimes, AUE_FUTIMES, NULL, 0, 0 }, /* 206 = futimes */ - { AS(getpgid_args), (sy_call_t *)getpgid, AUE_GETPGID, NULL, 0, 0 }, /* 207 = getpgid */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 208 = newreboot */ - { AS(poll_args), (sy_call_t *)poll, AUE_POLL, NULL, 0, 0 }, /* 209 = poll */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 210 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 211 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 212 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 213 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 214 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 215 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 216 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 217 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 218 = lkmnosys */ - { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 219 = lkmnosys */ - { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 220 = __semctl */ - { AS(semget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 221 = semget */ - { AS(semop_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 222 = semop */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 223 = semconfig */ - { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 224 = msgctl */ - { AS(msgget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 225 = msgget */ - { AS(msgsnd_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 226 = msgsnd */ - { AS(msgrcv_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 227 = msgrcv */ - { AS(shmat_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 228 = shmat */ - { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 229 = shmctl */ - { AS(shmdt_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 230 = shmdt */ - { AS(shmget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 231 = shmget */ - { AS(clock_gettime_args), (sy_call_t *)clock_gettime, AUE_NULL, NULL, 0, 0 }, /* 232 = clock_gettime */ - { AS(clock_settime_args), (sy_call_t *)clock_settime, AUE_CLOCK_SETTIME, NULL, 0, 0 }, /* 233 = clock_settime */ - { AS(clock_getres_args), (sy_call_t *)clock_getres, AUE_NULL, NULL, 0, 0 }, /* 234 = clock_getres */ - { AS(ktimer_create_args), (sy_call_t *)ktimer_create, AUE_NULL, NULL, 0, 0 }, /* 235 = ktimer_create */ - { AS(ktimer_delete_args), (sy_call_t *)ktimer_delete, AUE_NULL, NULL, 0, 0 }, /* 236 = ktimer_delete */ - { AS(ktimer_settime_args), (sy_call_t *)ktimer_settime, AUE_NULL, NULL, 0, 0 }, /* 237 = ktimer_settime */ - { AS(ktimer_gettime_args), (sy_call_t *)ktimer_gettime, AUE_NULL, NULL, 0, 0 }, /* 238 = ktimer_gettime */ - { AS(ktimer_getoverrun_args), (sy_call_t *)ktimer_getoverrun, AUE_NULL, NULL, 0, 0 }, /* 239 = ktimer_getoverrun */ - { AS(nanosleep_args), (sy_call_t *)nanosleep, AUE_NULL, NULL, 0, 0 }, /* 240 = nanosleep */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 243 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = nosys */ - { AS(ntp_gettime_args), (sy_call_t *)ntp_gettime, AUE_NULL, NULL, 0, 0 }, /* 248 = ntp_gettime */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = nosys */ - { AS(minherit_args), (sy_call_t *)minherit, AUE_MINHERIT, NULL, 0, 0 }, /* 250 = minherit */ - { AS(rfork_args), (sy_call_t *)rfork, AUE_RFORK, NULL, 0, 0 }, /* 251 = rfork */ - { AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0 }, /* 252 = openbsd_poll */ - { 0, (sy_call_t *)issetugid, AUE_ISSETUGID, NULL, 0, 0 }, /* 253 = issetugid */ - { AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0 }, /* 254 = lchown */ - { AS(aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 255 = aio_read */ - { AS(aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 256 = aio_write */ - { AS(lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 257 = lio_listio */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 258 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 259 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 260 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 261 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 262 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 263 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 264 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 265 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 266 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 267 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 268 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 269 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 270 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 271 = nosys */ - { AS(getdents_args), (sy_call_t *)getdents, AUE_O_GETDENTS, NULL, 0, 0 }, /* 272 = getdents */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 273 = nosys */ - { AS(lchmod_args), (sy_call_t *)lchmod, AUE_LCHMOD, NULL, 0, 0 }, /* 274 = lchmod */ - { AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0 }, /* 275 = netbsd_lchown */ - { AS(lutimes_args), (sy_call_t *)lutimes, AUE_LUTIMES, NULL, 0, 0 }, /* 276 = lutimes */ - { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0 }, /* 277 = netbsd_msync */ - { AS(nstat_args), (sy_call_t *)nstat, AUE_STAT, NULL, 0, 0 }, /* 278 = nstat */ - { AS(nfstat_args), (sy_call_t *)nfstat, AUE_FSTAT, NULL, 0, 0 }, /* 279 = nfstat */ - { AS(nlstat_args), (sy_call_t *)nlstat, AUE_LSTAT, NULL, 0, 0 }, /* 280 = nlstat */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 281 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 282 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 283 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 284 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 285 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 286 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 287 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 288 = nosys */ - { AS(preadv_args), (sy_call_t *)preadv, AUE_PREADV, NULL, 0, 0 }, /* 289 = preadv */ - { AS(pwritev_args), (sy_call_t *)pwritev, AUE_PWRITEV, NULL, 0, 0 }, /* 290 = pwritev */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 291 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 292 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 293 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 294 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 295 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 296 = nosys */ - { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0 }, /* 297 = old fhstatfs */ - { AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0 }, /* 298 = fhopen */ - { AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0 }, /* 299 = fhstat */ - { AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0 }, /* 300 = modnext */ - { AS(modstat_args), (sy_call_t *)modstat, AUE_NULL, NULL, 0, 0 }, /* 301 = modstat */ - { AS(modfnext_args), (sy_call_t *)modfnext, AUE_NULL, NULL, 0, 0 }, /* 302 = modfnext */ - { AS(modfind_args), (sy_call_t *)modfind, AUE_NULL, NULL, 0, 0 }, /* 303 = modfind */ - { AS(kldload_args), (sy_call_t *)kldload, AUE_MODLOAD, NULL, 0, 0 }, /* 304 = kldload */ - { AS(kldunload_args), (sy_call_t *)kldunload, AUE_MODUNLOAD, NULL, 0, 0 }, /* 305 = kldunload */ - { AS(kldfind_args), (sy_call_t *)kldfind, AUE_NULL, NULL, 0, 0 }, /* 306 = kldfind */ - { AS(kldnext_args), (sy_call_t *)kldnext, AUE_NULL, NULL, 0, 0 }, /* 307 = kldnext */ - { AS(kldstat_args), (sy_call_t *)kldstat, AUE_NULL, NULL, 0, 0 }, /* 308 = kldstat */ - { AS(kldfirstmod_args), (sy_call_t *)kldfirstmod, AUE_NULL, NULL, 0, 0 }, /* 309 = kldfirstmod */ - { AS(getsid_args), (sy_call_t *)getsid, AUE_GETSID, NULL, 0, 0 }, /* 310 = getsid */ - { AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0 }, /* 311 = setresuid */ - { AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0 }, /* 312 = setresgid */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 313 = obsolete signanosleep */ - { AS(aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 314 = aio_return */ - { AS(aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 315 = aio_suspend */ - { AS(aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 316 = aio_cancel */ - { AS(aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 317 = aio_error */ - { AS(oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 318 = oaio_read */ - { AS(oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 319 = oaio_write */ - { AS(olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 320 = olio_listio */ - { 0, (sy_call_t *)yield, AUE_NULL, NULL, 0, 0 }, /* 321 = yield */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 322 = obsolete thr_sleep */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 323 = obsolete thr_wakeup */ - { AS(mlockall_args), (sy_call_t *)mlockall, AUE_MLOCKALL, NULL, 0, 0 }, /* 324 = mlockall */ - { 0, (sy_call_t *)munlockall, AUE_MUNLOCKALL, NULL, 0, 0 }, /* 325 = munlockall */ - { AS(__getcwd_args), (sy_call_t *)__getcwd, AUE_GETCWD, NULL, 0, 0 }, /* 326 = __getcwd */ - { AS(sched_setparam_args), (sy_call_t *)sched_setparam, AUE_NULL, NULL, 0, 0 }, /* 327 = sched_setparam */ - { AS(sched_getparam_args), (sy_call_t *)sched_getparam, AUE_NULL, NULL, 0, 0 }, /* 328 = sched_getparam */ - { AS(sched_setscheduler_args), (sy_call_t *)sched_setscheduler, AUE_NULL, NULL, 0, 0 }, /* 329 = sched_setscheduler */ - { AS(sched_getscheduler_args), (sy_call_t *)sched_getscheduler, AUE_NULL, NULL, 0, 0 }, /* 330 = sched_getscheduler */ - { 0, (sy_call_t *)sched_yield, AUE_NULL, NULL, 0, 0 }, /* 331 = sched_yield */ - { AS(sched_get_priority_max_args), (sy_call_t *)sched_get_priority_max, AUE_NULL, NULL, 0, 0 }, /* 332 = sched_get_priority_max */ - { AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0 }, /* 333 = sched_get_priority_min */ - { AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0 }, /* 334 = sched_rr_get_interval */ - { AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0 }, /* 335 = utrace */ - { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0 }, /* 336 = old sendfile */ - { AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0 }, /* 337 = kldsym */ - { AS(jail_args), (sy_call_t *)jail, AUE_JAIL, NULL, 0, 0 }, /* 338 = jail */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 339 = pioctl */ - { AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0 }, /* 340 = sigprocmask */ - { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0 }, /* 341 = sigsuspend */ - { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0 }, /* 342 = old sigaction */ - { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0 }, /* 343 = sigpending */ - { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0 }, /* 344 = old sigreturn */ - { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0 }, /* 345 = sigtimedwait */ - { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0 }, /* 346 = sigwaitinfo */ - { AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0 }, /* 347 = __acl_get_file */ - { AS(__acl_set_file_args), (sy_call_t *)__acl_set_file, AUE_NULL, NULL, 0, 0 }, /* 348 = __acl_set_file */ - { AS(__acl_get_fd_args), (sy_call_t *)__acl_get_fd, AUE_NULL, NULL, 0, 0 }, /* 349 = __acl_get_fd */ - { AS(__acl_set_fd_args), (sy_call_t *)__acl_set_fd, AUE_NULL, NULL, 0, 0 }, /* 350 = __acl_set_fd */ - { AS(__acl_delete_file_args), (sy_call_t *)__acl_delete_file, AUE_NULL, NULL, 0, 0 }, /* 351 = __acl_delete_file */ - { AS(__acl_delete_fd_args), (sy_call_t *)__acl_delete_fd, AUE_NULL, NULL, 0, 0 }, /* 352 = __acl_delete_fd */ - { AS(__acl_aclcheck_file_args), (sy_call_t *)__acl_aclcheck_file, AUE_NULL, NULL, 0, 0 }, /* 353 = __acl_aclcheck_file */ - { AS(__acl_aclcheck_fd_args), (sy_call_t *)__acl_aclcheck_fd, AUE_NULL, NULL, 0, 0 }, /* 354 = __acl_aclcheck_fd */ - { AS(extattrctl_args), (sy_call_t *)extattrctl, AUE_EXTATTRCTL, NULL, 0, 0 }, /* 355 = extattrctl */ - { AS(extattr_set_file_args), (sy_call_t *)extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0 }, /* 356 = extattr_set_file */ - { AS(extattr_get_file_args), (sy_call_t *)extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0 }, /* 357 = extattr_get_file */ - { AS(extattr_delete_file_args), (sy_call_t *)extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0 }, /* 358 = extattr_delete_file */ - { AS(aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 359 = aio_waitcomplete */ - { AS(getresuid_args), (sy_call_t *)getresuid, AUE_GETRESUID, NULL, 0, 0 }, /* 360 = getresuid */ - { AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0 }, /* 361 = getresgid */ - { 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0 }, /* 362 = kqueue */ - { AS(kevent_args), (sy_call_t *)kevent, AUE_NULL, NULL, 0, 0 }, /* 363 = kevent */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 364 = __cap_get_proc */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 365 = __cap_set_proc */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 366 = __cap_get_fd */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 367 = __cap_get_file */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 368 = __cap_set_fd */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 369 = __cap_set_file */ - { AS(nosys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 370 = lkmressys */ - { AS(extattr_set_fd_args), (sy_call_t *)extattr_set_fd, AUE_EXTATTR_SET_FD, NULL, 0, 0 }, /* 371 = extattr_set_fd */ - { AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0 }, /* 372 = extattr_get_fd */ - { AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0 }, /* 373 = extattr_delete_fd */ - { AS(__setugid_args), (sy_call_t *)__setugid, AUE_NULL, NULL, 0, 0 }, /* 374 = __setugid */ - { AS(nfsclnt_args), (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 375 = nfsclnt */ - { AS(eaccess_args), (sy_call_t *)eaccess, AUE_EACCESS, NULL, 0, 0 }, /* 376 = eaccess */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 377 = afs_syscall */ - { AS(nmount_args), (sy_call_t *)nmount, AUE_NMOUNT, NULL, 0, 0 }, /* 378 = nmount */ - { 0, (sy_call_t *)kse_exit, AUE_NULL, NULL, 0, 0 }, /* 379 = kse_exit */ - { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup, AUE_NULL, NULL, 0, 0 }, /* 380 = kse_wakeup */ - { AS(kse_create_args), (sy_call_t *)kse_create, AUE_NULL, NULL, 0, 0 }, /* 381 = kse_create */ - { AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt, AUE_NULL, NULL, 0, 0 }, /* 382 = kse_thr_interrupt */ - { AS(kse_release_args), (sy_call_t *)kse_release, AUE_NULL, NULL, 0, 0 }, /* 383 = kse_release */ - { AS(__mac_get_proc_args), (sy_call_t *)__mac_get_proc, AUE_NULL, NULL, 0, 0 }, /* 384 = __mac_get_proc */ - { AS(__mac_set_proc_args), (sy_call_t *)__mac_set_proc, AUE_NULL, NULL, 0, 0 }, /* 385 = __mac_set_proc */ - { AS(__mac_get_fd_args), (sy_call_t *)__mac_get_fd, AUE_NULL, NULL, 0, 0 }, /* 386 = __mac_get_fd */ - { AS(__mac_get_file_args), (sy_call_t *)__mac_get_file, AUE_NULL, NULL, 0, 0 }, /* 387 = __mac_get_file */ - { AS(__mac_set_fd_args), (sy_call_t *)__mac_set_fd, AUE_NULL, NULL, 0, 0 }, /* 388 = __mac_set_fd */ - { AS(__mac_set_file_args), (sy_call_t *)__mac_set_file, AUE_NULL, NULL, 0, 0 }, /* 389 = __mac_set_file */ - { AS(kenv_args), (sy_call_t *)kenv, AUE_NULL, NULL, 0, 0 }, /* 390 = kenv */ - { AS(lchflags_args), (sy_call_t *)lchflags, AUE_LCHFLAGS, NULL, 0, 0 }, /* 391 = lchflags */ - { AS(uuidgen_args), (sy_call_t *)uuidgen, AUE_NULL, NULL, 0, 0 }, /* 392 = uuidgen */ - { AS(sendfile_args), (sy_call_t *)sendfile, AUE_SENDFILE, NULL, 0, 0 }, /* 393 = sendfile */ - { AS(mac_syscall_args), (sy_call_t *)mac_syscall, AUE_NULL, NULL, 0, 0 }, /* 394 = mac_syscall */ - { AS(getfsstat_args), (sy_call_t *)getfsstat, AUE_GETFSSTAT, NULL, 0, 0 }, /* 395 = getfsstat */ - { AS(statfs_args), (sy_call_t *)statfs, AUE_STATFS, NULL, 0, 0 }, /* 396 = statfs */ - { AS(fstatfs_args), (sy_call_t *)fstatfs, AUE_FSTATFS, NULL, 0, 0 }, /* 397 = fstatfs */ - { AS(fhstatfs_args), (sy_call_t *)fhstatfs, AUE_FHSTATFS, NULL, 0, 0 }, /* 398 = fhstatfs */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 399 = nosys */ - { AS(ksem_close_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 400 = ksem_close */ - { AS(ksem_post_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 401 = ksem_post */ - { AS(ksem_wait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 402 = ksem_wait */ - { AS(ksem_trywait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 403 = ksem_trywait */ - { AS(ksem_init_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 404 = ksem_init */ - { AS(ksem_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 405 = ksem_open */ - { AS(ksem_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 406 = ksem_unlink */ - { AS(ksem_getvalue_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 407 = ksem_getvalue */ - { AS(ksem_destroy_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 408 = ksem_destroy */ - { AS(__mac_get_pid_args), (sy_call_t *)__mac_get_pid, AUE_NULL, NULL, 0, 0 }, /* 409 = __mac_get_pid */ - { AS(__mac_get_link_args), (sy_call_t *)__mac_get_link, AUE_NULL, NULL, 0, 0 }, /* 410 = __mac_get_link */ - { AS(__mac_set_link_args), (sy_call_t *)__mac_set_link, AUE_NULL, NULL, 0, 0 }, /* 411 = __mac_set_link */ - { AS(extattr_set_link_args), (sy_call_t *)extattr_set_link, AUE_EXTATTR_SET_LINK, NULL, 0, 0 }, /* 412 = extattr_set_link */ - { AS(extattr_get_link_args), (sy_call_t *)extattr_get_link, AUE_EXTATTR_GET_LINK, NULL, 0, 0 }, /* 413 = extattr_get_link */ - { AS(extattr_delete_link_args), (sy_call_t *)extattr_delete_link, AUE_EXTATTR_DELETE_LINK, NULL, 0, 0 }, /* 414 = extattr_delete_link */ - { AS(__mac_execve_args), (sy_call_t *)__mac_execve, AUE_NULL, NULL, 0, 0 }, /* 415 = __mac_execve */ - { AS(sigaction_args), (sy_call_t *)sigaction, AUE_SIGACTION, NULL, 0, 0 }, /* 416 = sigaction */ - { AS(sigreturn_args), (sy_call_t *)sigreturn, AUE_SIGRETURN, NULL, 0, 0 }, /* 417 = sigreturn */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 418 = __xstat */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 419 = __xfstat */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 420 = __xlstat */ - { AS(getcontext_args), (sy_call_t *)getcontext, AUE_NULL, NULL, 0, 0 }, /* 421 = getcontext */ - { AS(setcontext_args), (sy_call_t *)setcontext, AUE_NULL, NULL, 0, 0 }, /* 422 = setcontext */ - { AS(swapcontext_args), (sy_call_t *)swapcontext, AUE_NULL, NULL, 0, 0 }, /* 423 = swapcontext */ - { AS(swapoff_args), (sy_call_t *)swapoff, AUE_SWAPOFF, NULL, 0, 0 }, /* 424 = swapoff */ - { AS(__acl_get_link_args), (sy_call_t *)__acl_get_link, AUE_NULL, NULL, 0, 0 }, /* 425 = __acl_get_link */ - { AS(__acl_set_link_args), (sy_call_t *)__acl_set_link, AUE_NULL, NULL, 0, 0 }, /* 426 = __acl_set_link */ - { AS(__acl_delete_link_args), (sy_call_t *)__acl_delete_link, AUE_NULL, NULL, 0, 0 }, /* 427 = __acl_delete_link */ - { AS(__acl_aclcheck_link_args), (sy_call_t *)__acl_aclcheck_link, AUE_NULL, NULL, 0, 0 }, /* 428 = __acl_aclcheck_link */ - { AS(sigwait_args), (sy_call_t *)sigwait, AUE_SIGWAIT, NULL, 0, 0 }, /* 429 = sigwait */ - { AS(thr_create_args), (sy_call_t *)thr_create, AUE_NULL, NULL, 0, 0 }, /* 430 = thr_create */ - { AS(thr_exit_args), (sy_call_t *)thr_exit, AUE_NULL, NULL, 0, 0 }, /* 431 = thr_exit */ - { AS(thr_self_args), (sy_call_t *)thr_self, AUE_NULL, NULL, 0, 0 }, /* 432 = thr_self */ - { AS(thr_kill_args), (sy_call_t *)thr_kill, AUE_NULL, NULL, 0, 0 }, /* 433 = thr_kill */ - { AS(_umtx_lock_args), (sy_call_t *)_umtx_lock, AUE_NULL, NULL, 0, 0 }, /* 434 = _umtx_lock */ - { AS(_umtx_unlock_args), (sy_call_t *)_umtx_unlock, AUE_NULL, NULL, 0, 0 }, /* 435 = _umtx_unlock */ - { AS(jail_attach_args), (sy_call_t *)jail_attach, AUE_NULL, NULL, 0, 0 }, /* 436 = jail_attach */ - { AS(extattr_list_fd_args), (sy_call_t *)extattr_list_fd, AUE_EXTATTR_LIST_FD, NULL, 0, 0 }, /* 437 = extattr_list_fd */ - { AS(extattr_list_file_args), (sy_call_t *)extattr_list_file, AUE_EXTATTR_LIST_FILE, NULL, 0, 0 }, /* 438 = extattr_list_file */ - { AS(extattr_list_link_args), (sy_call_t *)extattr_list_link, AUE_EXTATTR_LIST_LINK, NULL, 0, 0 }, /* 439 = extattr_list_link */ - { AS(kse_switchin_args), (sy_call_t *)kse_switchin, AUE_NULL, NULL, 0, 0 }, /* 440 = kse_switchin */ - { AS(ksem_timedwait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 441 = ksem_timedwait */ - { AS(thr_suspend_args), (sy_call_t *)thr_suspend, AUE_NULL, NULL, 0, 0 }, /* 442 = thr_suspend */ - { AS(thr_wake_args), (sy_call_t *)thr_wake, AUE_NULL, NULL, 0, 0 }, /* 443 = thr_wake */ - { AS(kldunloadf_args), (sy_call_t *)kldunloadf, AUE_MODUNLOAD, NULL, 0, 0 }, /* 444 = kldunloadf */ - { AS(audit_args), (sy_call_t *)audit, AUE_AUDIT, NULL, 0, 0 }, /* 445 = audit */ - { AS(auditon_args), (sy_call_t *)auditon, AUE_AUDITON, NULL, 0, 0 }, /* 446 = auditon */ - { AS(getauid_args), (sy_call_t *)getauid, AUE_GETAUID, NULL, 0, 0 }, /* 447 = getauid */ - { AS(setauid_args), (sy_call_t *)setauid, AUE_SETAUID, NULL, 0, 0 }, /* 448 = setauid */ - { AS(getaudit_args), (sy_call_t *)getaudit, AUE_GETAUDIT, NULL, 0, 0 }, /* 449 = getaudit */ - { AS(setaudit_args), (sy_call_t *)setaudit, AUE_SETAUDIT, NULL, 0, 0 }, /* 450 = setaudit */ - { AS(getaudit_addr_args), (sy_call_t *)getaudit_addr, AUE_GETAUDIT_ADDR, NULL, 0, 0 }, /* 451 = getaudit_addr */ - { AS(setaudit_addr_args), (sy_call_t *)setaudit_addr, AUE_SETAUDIT_ADDR, NULL, 0, 0 }, /* 452 = setaudit_addr */ - { AS(auditctl_args), (sy_call_t *)auditctl, AUE_AUDITCTL, NULL, 0, 0 }, /* 453 = auditctl */ - { AS(_umtx_op_args), (sy_call_t *)_umtx_op, AUE_NULL, NULL, 0, 0 }, /* 454 = _umtx_op */ - { AS(thr_new_args), (sy_call_t *)thr_new, AUE_NULL, NULL, 0, 0 }, /* 455 = thr_new */ - { AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0 }, /* 456 = sigqueue */ - { AS(kmq_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 457 = kmq_open */ - { AS(kmq_setattr_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 458 = kmq_setattr */ - { AS(kmq_timedreceive_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 459 = kmq_timedreceive */ - { AS(kmq_timedsend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 460 = kmq_timedsend */ - { AS(kmq_notify_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 461 = kmq_notify */ - { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 462 = kmq_unlink */ - { AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0 }, /* 463 = abort2 */ - { AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0 }, /* 464 = thr_set_name */ - { AS(aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 465 = aio_fsync */ - { AS(rtprio_thread_args), (sy_call_t *)rtprio_thread, AUE_RTPRIO, NULL, 0, 0 }, /* 466 = rtprio_thread */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 467 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 468 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 469 = __getpath_fromfd */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 470 = __getpath_fromaddr */ - { AS(sctp_peeloff_args), (sy_call_t *)sctp_peeloff, AUE_NULL, NULL, 0, 0 }, /* 471 = sctp_peeloff */ - { AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0 }, /* 472 = sctp_generic_sendmsg */ - { AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0 }, /* 473 = sctp_generic_sendmsg_iov */ - { AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0 }, /* 474 = sctp_generic_recvmsg */ - { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = pread */ - { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = pwrite */ - { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = mmap */ - { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = lseek */ - { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */ - { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */ - { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */ - { AS(shm_open_args), (sy_call_t *)shm_open, AUE_SHMOPEN, NULL, 0, 0 }, /* 482 = shm_open */ - { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0 }, /* 483 = shm_unlink */ - { AS(cpuset_args), (sy_call_t *)cpuset, AUE_NULL, NULL, 0, 0 }, /* 484 = cpuset */ - { AS(cpuset_setid_args), (sy_call_t *)cpuset_setid, AUE_NULL, NULL, 0, 0 }, /* 485 = cpuset_setid */ - { AS(cpuset_getid_args), (sy_call_t *)cpuset_getid, AUE_NULL, NULL, 0, 0 }, /* 486 = cpuset_getid */ - { AS(cpuset_getaffinity_args), (sy_call_t *)cpuset_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 487 = cpuset_getaffinity */ - { AS(cpuset_setaffinity_args), (sy_call_t *)cpuset_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 488 = cpuset_setaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = syscall */ + { AS(sys_exit_args), (sy_call_t *)sys_exit, AUE_EXIT, NULL, 0, 0, SYF_CAPENABLED }, /* 1 = exit */ + { 0, (sy_call_t *)fork, AUE_FORK, NULL, 0, 0, SYF_CAPENABLED }, /* 2 = fork */ + { AS(read_args), (sy_call_t *)read, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 3 = read */ + { AS(write_args), (sy_call_t *)write, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 4 = write */ + { AS(open_args), (sy_call_t *)open, AUE_OPEN_RWTC, NULL, 0, 0, 0 }, /* 5 = open */ + { AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0, SYF_CAPENABLED }, /* 6 = close */ + { AS(wait_args), (sy_call_t *)wait4, AUE_WAIT4, NULL, 0, 0, SYF_CAPENABLED }, /* 7 = wait4 */ + { compat(AS(ocreat_args),creat), AUE_CREAT, NULL, 0, 0, 0 }, /* 8 = old creat */ + { AS(link_args), (sy_call_t *)link, AUE_LINK, NULL, 0, 0, 0 }, /* 9 = link */ + { AS(unlink_args), (sy_call_t *)unlink, AUE_UNLINK, NULL, 0, 0, 0 }, /* 10 = unlink */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 11 = obsolete execv */ + { AS(chdir_args), (sy_call_t *)chdir, AUE_CHDIR, NULL, 0, 0, 0 }, /* 12 = chdir */ + { AS(fchdir_args), (sy_call_t *)fchdir, AUE_FCHDIR, NULL, 0, 0, 0 }, /* 13 = fchdir */ + { AS(mknod_args), (sy_call_t *)mknod, AUE_MKNOD, NULL, 0, 0, 0 }, /* 14 = mknod */ + { AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = chmod */ + { AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0, 0 }, /* 16 = chown */ + { AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 17 = break */ + { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = old getfsstat */ + { compat(AS(olseek_args),lseek), AUE_LSEEK, NULL, 0, 0, SYF_CAPENABLED }, /* 19 = old lseek */ + { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, SYF_CAPENABLED }, /* 20 = getpid */ + { AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = mount */ + { AS(unmount_args), (sy_call_t *)unmount, AUE_UMOUNT, NULL, 0, 0, 0 }, /* 22 = unmount */ + { AS(setuid_args), (sy_call_t *)setuid, AUE_SETUID, NULL, 0, 0, SYF_CAPENABLED }, /* 23 = setuid */ + { 0, (sy_call_t *)getuid, AUE_GETUID, NULL, 0, 0, SYF_CAPENABLED }, /* 24 = getuid */ + { 0, (sy_call_t *)geteuid, AUE_GETEUID, NULL, 0, 0, SYF_CAPENABLED }, /* 25 = geteuid */ + { AS(ptrace_args), (sy_call_t *)ptrace, AUE_PTRACE, NULL, 0, 0, 0 }, /* 26 = ptrace */ + { AS(recvmsg_args), (sy_call_t *)recvmsg, AUE_RECVMSG, NULL, 0, 0, SYF_CAPENABLED }, /* 27 = recvmsg */ + { AS(sendmsg_args), (sy_call_t *)sendmsg, AUE_SENDMSG, NULL, 0, 0, SYF_CAPENABLED }, /* 28 = sendmsg */ + { AS(recvfrom_args), (sy_call_t *)recvfrom, AUE_RECVFROM, NULL, 0, 0, SYF_CAPENABLED }, /* 29 = recvfrom */ + { AS(accept_args), (sy_call_t *)accept, AUE_ACCEPT, NULL, 0, 0, SYF_CAPENABLED }, /* 30 = accept */ + { AS(getpeername_args), (sy_call_t *)getpeername, AUE_GETPEERNAME, NULL, 0, 0, SYF_CAPENABLED }, /* 31 = getpeername */ + { AS(getsockname_args), (sy_call_t *)getsockname, AUE_GETSOCKNAME, NULL, 0, 0, SYF_CAPENABLED }, /* 32 = getsockname */ + { AS(access_args), (sy_call_t *)access, AUE_ACCESS, NULL, 0, 0, 0 }, /* 33 = access */ + { AS(chflags_args), (sy_call_t *)chflags, AUE_CHFLAGS, NULL, 0, 0, 0 }, /* 34 = chflags */ + { AS(fchflags_args), (sy_call_t *)fchflags, AUE_FCHFLAGS, NULL, 0, 0, SYF_CAPENABLED }, /* 35 = fchflags */ + { 0, (sy_call_t *)sync, AUE_SYNC, NULL, 0, 0, SYF_CAPENABLED }, /* 36 = sync */ + { AS(kill_args), (sy_call_t *)kill, AUE_KILL, NULL, 0, 0, 0 }, /* 37 = kill */ + { compat(AS(ostat_args),stat), AUE_STAT, NULL, 0, 0, 0 }, /* 38 = old stat */ + { 0, (sy_call_t *)getppid, AUE_GETPPID, NULL, 0, 0, SYF_CAPENABLED }, /* 39 = getppid */ + { compat(AS(olstat_args),lstat), AUE_LSTAT, NULL, 0, 0, 0 }, /* 40 = old lstat */ + { AS(dup_args), (sy_call_t *)dup, AUE_DUP, NULL, 0, 0, SYF_CAPENABLED }, /* 41 = dup */ + { 0, (sy_call_t *)pipe, AUE_PIPE, NULL, 0, 0, SYF_CAPENABLED }, /* 42 = pipe */ + { 0, (sy_call_t *)getegid, AUE_GETEGID, NULL, 0, 0, SYF_CAPENABLED }, /* 43 = getegid */ + { AS(profil_args), (sy_call_t *)profil, AUE_PROFILE, NULL, 0, 0, SYF_CAPENABLED }, /* 44 = profil */ + { AS(ktrace_args), (sy_call_t *)ktrace, AUE_KTRACE, NULL, 0, 0, 0 }, /* 45 = ktrace */ + { compat(AS(osigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, SYF_CAPENABLED }, /* 46 = old sigaction */ + { 0, (sy_call_t *)getgid, AUE_GETGID, NULL, 0, 0, SYF_CAPENABLED }, /* 47 = getgid */ + { compat(AS(osigprocmask_args),sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0, SYF_CAPENABLED }, /* 48 = old sigprocmask */ + { AS(getlogin_args), (sy_call_t *)getlogin, AUE_GETLOGIN, NULL, 0, 0, 0 }, /* 49 = getlogin */ + { AS(setlogin_args), (sy_call_t *)setlogin, AUE_SETLOGIN, NULL, 0, 0, 0 }, /* 50 = setlogin */ + { AS(acct_args), (sy_call_t *)acct, AUE_ACCT, NULL, 0, 0, 0 }, /* 51 = acct */ + { compat(0,sigpending), AUE_SIGPENDING, NULL, 0, 0, SYF_CAPENABLED }, /* 52 = old sigpending */ + { AS(sigaltstack_args), (sy_call_t *)sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0, SYF_CAPENABLED }, /* 53 = sigaltstack */ + { AS(ioctl_args), (sy_call_t *)ioctl, AUE_IOCTL, NULL, 0, 0, SYF_CAPENABLED }, /* 54 = ioctl */ + { AS(reboot_args), (sy_call_t *)reboot, AUE_REBOOT, NULL, 0, 0, 0 }, /* 55 = reboot */ + { AS(revoke_args), (sy_call_t *)revoke, AUE_REVOKE, NULL, 0, 0, 0 }, /* 56 = revoke */ + { AS(symlink_args), (sy_call_t *)symlink, AUE_SYMLINK, NULL, 0, 0, 0 }, /* 57 = symlink */ + { AS(readlink_args), (sy_call_t *)readlink, AUE_READLINK, NULL, 0, 0, 0 }, /* 58 = readlink */ + { AS(execve_args), (sy_call_t *)execve, AUE_EXECVE, NULL, 0, 0, 0 }, /* 59 = execve */ + { AS(umask_args), (sy_call_t *)umask, AUE_UMASK, NULL, 0, 0, SYF_CAPENABLED }, /* 60 = umask */ + { AS(chroot_args), (sy_call_t *)chroot, AUE_CHROOT, NULL, 0, 0, 0 }, /* 61 = chroot */ + { compat(AS(ofstat_args),fstat), AUE_FSTAT, NULL, 0, 0, SYF_CAPENABLED }, /* 62 = old fstat */ + { compat(AS(getkerninfo_args),getkerninfo), AUE_NULL, NULL, 0, 0, 0 }, /* 63 = old getkerninfo */ + { compat(0,getpagesize), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 64 = old getpagesize */ + { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0, SYF_CAPENABLED }, /* 65 = msync */ + { 0, (sy_call_t *)vfork, AUE_VFORK, NULL, 0, 0, SYF_CAPENABLED }, /* 66 = vfork */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 67 = obsolete vread */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 68 = obsolete vwrite */ + { AS(sbrk_args), (sy_call_t *)sbrk, AUE_SBRK, NULL, 0, 0, SYF_CAPENABLED }, /* 69 = sbrk */ + { AS(sstk_args), (sy_call_t *)sstk, AUE_SSTK, NULL, 0, 0, SYF_CAPENABLED }, /* 70 = sstk */ + { compat(AS(ommap_args),mmap), AUE_MMAP, NULL, 0, 0, SYF_CAPENABLED }, /* 71 = old mmap */ + { AS(ovadvise_args), (sy_call_t *)ovadvise, AUE_O_VADVISE, NULL, 0, 0, 0 }, /* 72 = vadvise */ + { AS(munmap_args), (sy_call_t *)munmap, AUE_MUNMAP, NULL, 0, 0, SYF_CAPENABLED }, /* 73 = munmap */ + { AS(mprotect_args), (sy_call_t *)mprotect, AUE_MPROTECT, NULL, 0, 0, SYF_CAPENABLED }, /* 74 = mprotect */ + { AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE, NULL, 0, 0, SYF_CAPENABLED }, /* 75 = madvise */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 76 = obsolete vhangup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 77 = obsolete vlimit */ + { AS(mincore_args), (sy_call_t *)mincore, AUE_MINCORE, NULL, 0, 0, SYF_CAPENABLED }, /* 78 = mincore */ + { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0, SYF_CAPENABLED }, /* 79 = getgroups */ + { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 80 = setgroups */ + { 0, (sy_call_t *)getpgrp, AUE_GETPGRP, NULL, 0, 0, SYF_CAPENABLED }, /* 81 = getpgrp */ + { AS(setpgid_args), (sy_call_t *)setpgid, AUE_SETPGRP, NULL, 0, 0, 0 }, /* 82 = setpgid */ + { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0, SYF_CAPENABLED }, /* 83 = setitimer */ + { compat(0,wait), AUE_WAIT4, NULL, 0, 0, SYF_CAPENABLED }, /* 84 = old wait */ + { AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON, NULL, 0, 0, 0 }, /* 85 = swapon */ + { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0, SYF_CAPENABLED }, /* 86 = getitimer */ + { compat(AS(gethostname_args),gethostname), AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED }, /* 87 = old gethostname */ + { compat(AS(sethostname_args),sethostname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 88 = old sethostname */ + { 0, (sy_call_t *)getdtablesize, AUE_GETDTABLESIZE, NULL, 0, 0, 0 }, /* 89 = getdtablesize */ + { AS(dup2_args), (sy_call_t *)dup2, AUE_DUP2, NULL, 0, 0, SYF_CAPENABLED }, /* 90 = dup2 */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 91 = getdopt */ + { AS(fcntl_args), (sy_call_t *)fcntl, AUE_FCNTL, NULL, 0, 0, SYF_CAPENABLED }, /* 92 = fcntl */ + { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0, SYF_CAPENABLED }, /* 93 = select */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 94 = setdopt */ + { AS(fsync_args), (sy_call_t *)fsync, AUE_FSYNC, NULL, 0, 0, SYF_CAPENABLED }, /* 95 = fsync */ + { AS(setpriority_args), (sy_call_t *)setpriority, AUE_SETPRIORITY, NULL, 0, 0, SYF_CAPENABLED }, /* 96 = setpriority */ + { AS(socket_args), (sy_call_t *)socket, AUE_SOCKET, NULL, 0, 0, 0 }, /* 97 = socket */ + { AS(connect_args), (sy_call_t *)connect, AUE_CONNECT, NULL, 0, 0, SYF_CAPENABLED }, /* 98 = connect */ + { compat(AS(accept_args),accept), AUE_ACCEPT, NULL, 0, 0, SYF_CAPENABLED }, /* 99 = old accept */ + { AS(getpriority_args), (sy_call_t *)getpriority, AUE_GETPRIORITY, NULL, 0, 0, SYF_CAPENABLED }, /* 100 = getpriority */ + { compat(AS(osend_args),send), AUE_SEND, NULL, 0, 0, SYF_CAPENABLED }, /* 101 = old send */ + { compat(AS(orecv_args),recv), AUE_RECV, NULL, 0, 0, SYF_CAPENABLED }, /* 102 = old recv */ + { compat(AS(osigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, SYF_CAPENABLED }, /* 103 = old sigreturn */ + { AS(bind_args), (sy_call_t *)bind, AUE_BIND, NULL, 0, 0, SYF_CAPENABLED }, /* 104 = bind */ + { AS(setsockopt_args), (sy_call_t *)setsockopt, AUE_SETSOCKOPT, NULL, 0, 0, SYF_CAPENABLED }, /* 105 = setsockopt */ + { AS(listen_args), (sy_call_t *)listen, AUE_LISTEN, NULL, 0, 0, SYF_CAPENABLED }, /* 106 = listen */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 107 = obsolete vtimes */ + { compat(AS(osigvec_args),sigvec), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 108 = old sigvec */ + { compat(AS(osigblock_args),sigblock), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 109 = old sigblock */ + { compat(AS(osigsetmask_args),sigsetmask), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 110 = old sigsetmask */ + { compat(AS(osigsuspend_args),sigsuspend), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 111 = old sigsuspend */ + { compat(AS(osigstack_args),sigstack), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 112 = old sigstack */ + { compat(AS(orecvmsg_args),recvmsg), AUE_RECVMSG, NULL, 0, 0, SYF_CAPENABLED }, /* 113 = old recvmsg */ + { compat(AS(osendmsg_args),sendmsg), AUE_SENDMSG, NULL, 0, 0, SYF_CAPENABLED }, /* 114 = old sendmsg */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 115 = obsolete vtrace */ + { AS(gettimeofday_args), (sy_call_t *)gettimeofday, AUE_GETTIMEOFDAY, NULL, 0, 0, SYF_CAPENABLED }, /* 116 = gettimeofday */ + { AS(getrusage_args), (sy_call_t *)getrusage, AUE_GETRUSAGE, NULL, 0, 0, SYF_CAPENABLED }, /* 117 = getrusage */ + { AS(getsockopt_args), (sy_call_t *)getsockopt, AUE_GETSOCKOPT, NULL, 0, 0, SYF_CAPENABLED }, /* 118 = getsockopt */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 119 = resuba */ + { AS(readv_args), (sy_call_t *)readv, AUE_READV, NULL, 0, 0, SYF_CAPENABLED }, /* 120 = readv */ + { AS(writev_args), (sy_call_t *)writev, AUE_WRITEV, NULL, 0, 0, SYF_CAPENABLED }, /* 121 = writev */ + { AS(settimeofday_args), (sy_call_t *)settimeofday, AUE_SETTIMEOFDAY, NULL, 0, 0, 0 }, /* 122 = settimeofday */ + { AS(fchown_args), (sy_call_t *)fchown, AUE_FCHOWN, NULL, 0, 0, SYF_CAPENABLED }, /* 123 = fchown */ + { AS(fchmod_args), (sy_call_t *)fchmod, AUE_FCHMOD, NULL, 0, 0, SYF_CAPENABLED }, /* 124 = fchmod */ + { compat(AS(recvfrom_args),recvfrom), AUE_RECVFROM, NULL, 0, 0, SYF_CAPENABLED }, /* 125 = old recvfrom */ + { AS(setreuid_args), (sy_call_t *)setreuid, AUE_SETREUID, NULL, 0, 0, SYF_CAPENABLED }, /* 126 = setreuid */ + { AS(setregid_args), (sy_call_t *)setregid, AUE_SETREGID, NULL, 0, 0, SYF_CAPENABLED }, /* 127 = setregid */ + { AS(rename_args), (sy_call_t *)rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 128 = rename */ + { compat(AS(otruncate_args),truncate), AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 129 = old truncate */ + { compat(AS(oftruncate_args),ftruncate), AUE_FTRUNCATE, NULL, 0, 0, SYF_CAPENABLED }, /* 130 = old ftruncate */ + { AS(flock_args), (sy_call_t *)flock, AUE_FLOCK, NULL, 0, 0, SYF_CAPENABLED }, /* 131 = flock */ + { AS(mkfifo_args), (sy_call_t *)mkfifo, AUE_MKFIFO, NULL, 0, 0, 0 }, /* 132 = mkfifo */ + { AS(sendto_args), (sy_call_t *)sendto, AUE_SENDTO, NULL, 0, 0, SYF_CAPENABLED }, /* 133 = sendto */ + { AS(shutdown_args), (sy_call_t *)shutdown, AUE_SHUTDOWN, NULL, 0, 0, SYF_CAPENABLED }, /* 134 = shutdown */ + { AS(socketpair_args), (sy_call_t *)socketpair, AUE_SOCKETPAIR, NULL, 0, 0, SYF_CAPENABLED }, /* 135 = socketpair */ + { AS(mkdir_args), (sy_call_t *)mkdir, AUE_MKDIR, NULL, 0, 0, 0 }, /* 136 = mkdir */ + { AS(rmdir_args), (sy_call_t *)rmdir, AUE_RMDIR, NULL, 0, 0, 0 }, /* 137 = rmdir */ + { AS(utimes_args), (sy_call_t *)utimes, AUE_UTIMES, NULL, 0, 0, 0 }, /* 138 = utimes */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 139 = obsolete 4.2 sigreturn */ + { AS(adjtime_args), (sy_call_t *)adjtime, AUE_ADJTIME, NULL, 0, 0, 0 }, /* 140 = adjtime */ + { compat(AS(ogetpeername_args),getpeername), AUE_GETPEERNAME, NULL, 0, 0, SYF_CAPENABLED }, /* 141 = old getpeername */ + { compat(0,gethostid), AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED }, /* 142 = old gethostid */ + { compat(AS(osethostid_args),sethostid), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 143 = old sethostid */ + { compat(AS(ogetrlimit_args),getrlimit), AUE_GETRLIMIT, NULL, 0, 0, SYF_CAPENABLED }, /* 144 = old getrlimit */ + { compat(AS(osetrlimit_args),setrlimit), AUE_SETRLIMIT, NULL, 0, 0, SYF_CAPENABLED }, /* 145 = old setrlimit */ + { compat(AS(okillpg_args),killpg), AUE_KILLPG, NULL, 0, 0, 0 }, /* 146 = old killpg */ + { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0, SYF_CAPENABLED }, /* 147 = setsid */ + { AS(quotactl_args), (sy_call_t *)quotactl, AUE_QUOTACTL, NULL, 0, 0, 0 }, /* 148 = quotactl */ + { compat(0,quota), AUE_O_QUOTA, NULL, 0, 0, 0 }, /* 149 = old quota */ + { compat(AS(getsockname_args),getsockname), AUE_GETSOCKNAME, NULL, 0, 0, SYF_CAPENABLED }, /* 150 = old getsockname */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 151 = sem_lock */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 152 = sem_wakeup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 153 = asyncdaemon */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 154 = nosys */ + { AS(nfssvc_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 155 = nfssvc */ + { compat(AS(ogetdirentries_args),getdirentries), AUE_GETDIRENTRIES, NULL, 0, 0, SYF_CAPENABLED }, /* 156 = old getdirentries */ + { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = old statfs */ + { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0, SYF_CAPENABLED }, /* 158 = old fstatfs */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 159 = nosys */ + { AS(lgetfh_args), (sy_call_t *)lgetfh, AUE_LGETFH, NULL, 0, 0, 0 }, /* 160 = lgetfh */ + { AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0, 0 }, /* 161 = getfh */ + { AS(getdomainname_args), (sy_call_t *)getdomainname, AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED }, /* 162 = getdomainname */ + { AS(setdomainname_args), (sy_call_t *)setdomainname, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 163 = setdomainname */ + { AS(uname_args), (sy_call_t *)uname, AUE_NULL, NULL, 0, 0, 0 }, /* 164 = uname */ + { AS(sysarch_args), (sy_call_t *)sysarch, AUE_SYSARCH, NULL, 0, 0, 0 }, /* 165 = sysarch */ + { AS(rtprio_args), (sy_call_t *)rtprio, AUE_RTPRIO, NULL, 0, 0, SYF_CAPENABLED }, /* 166 = rtprio */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 167 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 168 = nosys */ + { AS(semsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 169 = semsys */ + { AS(msgsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 170 = msgsys */ + { AS(shmsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 171 = shmsys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 172 = nosys */ + { AS(freebsd6_pread_args), (sy_call_t *)freebsd6_pread, AUE_PREAD, NULL, 0, 0, SYF_CAPENABLED }, /* 173 = freebsd6_pread */ + { AS(freebsd6_pwrite_args), (sy_call_t *)freebsd6_pwrite, AUE_PWRITE, NULL, 0, 0, SYF_CAPENABLED }, /* 174 = freebsd6_pwrite */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 175 = nosys */ + { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0, 0 }, /* 176 = ntp_adjtime */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 177 = sfork */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 178 = getdescriptor */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 179 = setdescriptor */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 180 = nosys */ + { AS(setgid_args), (sy_call_t *)setgid, AUE_SETGID, NULL, 0, 0, SYF_CAPENABLED }, /* 181 = setgid */ + { AS(setegid_args), (sy_call_t *)setegid, AUE_SETEGID, NULL, 0, 0, SYF_CAPENABLED }, /* 182 = setegid */ + { AS(seteuid_args), (sy_call_t *)seteuid, AUE_SETEUID, NULL, 0, 0, SYF_CAPENABLED }, /* 183 = seteuid */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 184 = lfs_bmapv */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 185 = lfs_markv */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 186 = lfs_segclean */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 187 = lfs_segwait */ + { AS(stat_args), (sy_call_t *)stat, AUE_STAT, NULL, 0, 0, 0 }, /* 188 = stat */ + { AS(fstat_args), (sy_call_t *)fstat, AUE_FSTAT, NULL, 0, 0, SYF_CAPENABLED }, /* 189 = fstat */ + { AS(lstat_args), (sy_call_t *)lstat, AUE_LSTAT, NULL, 0, 0, 0 }, /* 190 = lstat */ + { AS(pathconf_args), (sy_call_t *)pathconf, AUE_PATHCONF, NULL, 0, 0, 0 }, /* 191 = pathconf */ + { AS(fpathconf_args), (sy_call_t *)fpathconf, AUE_FPATHCONF, NULL, 0, 0, SYF_CAPENABLED }, /* 192 = fpathconf */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 193 = nosys */ + { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0, SYF_CAPENABLED }, /* 194 = getrlimit */ + { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, SYF_CAPENABLED }, /* 195 = setrlimit */ + { AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0, SYF_CAPENABLED }, /* 196 = getdirentries */ + { AS(freebsd6_mmap_args), (sy_call_t *)freebsd6_mmap, AUE_MMAP, NULL, 0, 0, SYF_CAPENABLED }, /* 197 = freebsd6_mmap */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 198 = __syscall */ + { AS(freebsd6_lseek_args), (sy_call_t *)freebsd6_lseek, AUE_LSEEK, NULL, 0, 0, SYF_CAPENABLED }, /* 199 = freebsd6_lseek */ + { AS(freebsd6_truncate_args), (sy_call_t *)freebsd6_truncate, AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 200 = freebsd6_truncate */ + { AS(freebsd6_ftruncate_args), (sy_call_t *)freebsd6_ftruncate, AUE_FTRUNCATE, NULL, 0, 0, SYF_CAPENABLED }, /* 201 = freebsd6_ftruncate */ + { AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED }, /* 202 = __sysctl */ + { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0, SYF_CAPENABLED }, /* 203 = mlock */ + { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, SYF_CAPENABLED }, /* 204 = munlock */ + { AS(undelete_args), (sy_call_t *)undelete, AUE_UNDELETE, NULL, 0, 0, 0 }, /* 205 = undelete */ + { AS(futimes_args), (sy_call_t *)futimes, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED }, /* 206 = futimes */ + { AS(getpgid_args), (sy_call_t *)getpgid, AUE_GETPGID, NULL, 0, 0, SYF_CAPENABLED }, /* 207 = getpgid */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 208 = newreboot */ + { AS(poll_args), (sy_call_t *)poll, AUE_POLL, NULL, 0, 0, SYF_CAPENABLED }, /* 209 = poll */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 210 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 211 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 212 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 213 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 214 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 215 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 216 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 217 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 218 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 219 = lkmnosys */ + { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 220 = __semctl */ + { AS(semget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 221 = semget */ + { AS(semop_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 222 = semop */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 223 = semconfig */ + { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 224 = msgctl */ + { AS(msgget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 225 = msgget */ + { AS(msgsnd_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 226 = msgsnd */ + { AS(msgrcv_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 227 = msgrcv */ + { AS(shmat_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 228 = shmat */ + { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 229 = shmctl */ + { AS(shmdt_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 230 = shmdt */ + { AS(shmget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 231 = shmget */ + { AS(clock_gettime_args), (sy_call_t *)clock_gettime, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 232 = clock_gettime */ + { AS(clock_settime_args), (sy_call_t *)clock_settime, AUE_CLOCK_SETTIME, NULL, 0, 0, 0 }, /* 233 = clock_settime */ + { AS(clock_getres_args), (sy_call_t *)clock_getres, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 234 = clock_getres */ + { AS(ktimer_create_args), (sy_call_t *)ktimer_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 235 = ktimer_create */ + { AS(ktimer_delete_args), (sy_call_t *)ktimer_delete, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 236 = ktimer_delete */ + { AS(ktimer_settime_args), (sy_call_t *)ktimer_settime, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 237 = ktimer_settime */ + { AS(ktimer_gettime_args), (sy_call_t *)ktimer_gettime, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 238 = ktimer_gettime */ + { AS(ktimer_getoverrun_args), (sy_call_t *)ktimer_getoverrun, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 239 = ktimer_getoverrun */ + { AS(nanosleep_args), (sy_call_t *)nanosleep, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 240 = nanosleep */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 241 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 242 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 243 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 244 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 245 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 246 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 247 = nosys */ + { AS(ntp_gettime_args), (sy_call_t *)ntp_gettime, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 248 = ntp_gettime */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 249 = nosys */ + { AS(minherit_args), (sy_call_t *)minherit, AUE_MINHERIT, NULL, 0, 0, SYF_CAPENABLED }, /* 250 = minherit */ + { AS(rfork_args), (sy_call_t *)rfork, AUE_RFORK, NULL, 0, 0, SYF_CAPENABLED }, /* 251 = rfork */ + { AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0, SYF_CAPENABLED }, /* 252 = openbsd_poll */ + { 0, (sy_call_t *)issetugid, AUE_ISSETUGID, NULL, 0, 0, SYF_CAPENABLED }, /* 253 = issetugid */ + { AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0, 0 }, /* 254 = lchown */ + { AS(aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 255 = aio_read */ + { AS(aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 256 = aio_write */ + { AS(lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 257 = lio_listio */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 258 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 259 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 260 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 261 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 262 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 263 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 264 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 265 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 266 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 267 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 268 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 269 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 270 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 271 = nosys */ + { AS(getdents_args), (sy_call_t *)getdents, AUE_O_GETDENTS, NULL, 0, 0, SYF_CAPENABLED }, /* 272 = getdents */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 273 = nosys */ + { AS(lchmod_args), (sy_call_t *)lchmod, AUE_LCHMOD, NULL, 0, 0, 0 }, /* 274 = lchmod */ + { AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0, 0 }, /* 275 = netbsd_lchown */ + { AS(lutimes_args), (sy_call_t *)lutimes, AUE_LUTIMES, NULL, 0, 0, 0 }, /* 276 = lutimes */ + { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0, SYF_CAPENABLED }, /* 277 = netbsd_msync */ + { AS(nstat_args), (sy_call_t *)nstat, AUE_STAT, NULL, 0, 0, 0 }, /* 278 = nstat */ + { AS(nfstat_args), (sy_call_t *)nfstat, AUE_FSTAT, NULL, 0, 0, 0 }, /* 279 = nfstat */ + { AS(nlstat_args), (sy_call_t *)nlstat, AUE_LSTAT, NULL, 0, 0, 0 }, /* 280 = nlstat */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 281 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 282 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 283 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 284 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 285 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 286 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 287 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 288 = nosys */ + { AS(preadv_args), (sy_call_t *)preadv, AUE_PREADV, NULL, 0, 0, SYF_CAPENABLED }, /* 289 = preadv */ + { AS(pwritev_args), (sy_call_t *)pwritev, AUE_PWRITEV, NULL, 0, 0, SYF_CAPENABLED }, /* 290 = pwritev */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 291 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 292 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 293 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 294 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 295 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 296 = nosys */ + { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = old fhstatfs */ + { AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0, 0 }, /* 298 = fhopen */ + { AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0, 0 }, /* 299 = fhstat */ + { AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0, 0 }, /* 300 = modnext */ + { AS(modstat_args), (sy_call_t *)modstat, AUE_NULL, NULL, 0, 0, 0 }, /* 301 = modstat */ + { AS(modfnext_args), (sy_call_t *)modfnext, AUE_NULL, NULL, 0, 0, 0 }, /* 302 = modfnext */ + { AS(modfind_args), (sy_call_t *)modfind, AUE_NULL, NULL, 0, 0, 0 }, /* 303 = modfind */ + { AS(kldload_args), (sy_call_t *)kldload, AUE_MODLOAD, NULL, 0, 0, 0 }, /* 304 = kldload */ + { AS(kldunload_args), (sy_call_t *)kldunload, AUE_MODUNLOAD, NULL, 0, 0, 0 }, /* 305 = kldunload */ + { AS(kldfind_args), (sy_call_t *)kldfind, AUE_NULL, NULL, 0, 0, 0 }, /* 306 = kldfind */ + { AS(kldnext_args), (sy_call_t *)kldnext, AUE_NULL, NULL, 0, 0, 0 }, /* 307 = kldnext */ + { AS(kldstat_args), (sy_call_t *)kldstat, AUE_NULL, NULL, 0, 0, 0 }, /* 308 = kldstat */ + { AS(kldfirstmod_args), (sy_call_t *)kldfirstmod, AUE_NULL, NULL, 0, 0, 0 }, /* 309 = kldfirstmod */ + { AS(getsid_args), (sy_call_t *)getsid, AUE_GETSID, NULL, 0, 0, SYF_CAPENABLED }, /* 310 = getsid */ + { AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0, SYF_CAPENABLED }, /* 311 = setresuid */ + { AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0, SYF_CAPENABLED }, /* 312 = setresgid */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 313 = obsolete signanosleep */ + { AS(aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 314 = aio_return */ + { AS(aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 315 = aio_suspend */ + { AS(aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 316 = aio_cancel */ + { AS(aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 317 = aio_error */ + { AS(oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 318 = oaio_read */ + { AS(oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 319 = oaio_write */ + { AS(olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 320 = olio_listio */ + { 0, (sy_call_t *)yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 321 = yield */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 322 = obsolete thr_sleep */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 323 = obsolete thr_wakeup */ + { AS(mlockall_args), (sy_call_t *)mlockall, AUE_MLOCKALL, NULL, 0, 0, SYF_CAPENABLED }, /* 324 = mlockall */ + { 0, (sy_call_t *)munlockall, AUE_MUNLOCKALL, NULL, 0, 0, SYF_CAPENABLED }, /* 325 = munlockall */ + { AS(__getcwd_args), (sy_call_t *)__getcwd, AUE_GETCWD, NULL, 0, 0, 0 }, /* 326 = __getcwd */ + { AS(sched_setparam_args), (sy_call_t *)sched_setparam, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 327 = sched_setparam */ + { AS(sched_getparam_args), (sy_call_t *)sched_getparam, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 328 = sched_getparam */ + { AS(sched_setscheduler_args), (sy_call_t *)sched_setscheduler, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 329 = sched_setscheduler */ + { AS(sched_getscheduler_args), (sy_call_t *)sched_getscheduler, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 330 = sched_getscheduler */ + { 0, (sy_call_t *)sched_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 331 = sched_yield */ + { AS(sched_get_priority_max_args), (sy_call_t *)sched_get_priority_max, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 332 = sched_get_priority_max */ + { AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0 }, /* 333 = sched_get_priority_min */ + { AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0 }, /* 334 = sched_rr_get_interval */ + { AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 335 = utrace */ + { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, SYF_CAPENABLED }, /* 336 = old sendfile */ + { AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0 }, /* 337 = kldsym */ + { AS(jail_args), (sy_call_t *)jail, AUE_JAIL, NULL, 0, 0, 0 }, /* 338 = jail */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 339 = pioctl */ + { AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, SYF_CAPENABLED }, /* 340 = sigprocmask */ + { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, SYF_CAPENABLED }, /* 341 = sigsuspend */ + { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, SYF_CAPENABLED }, /* 342 = old sigaction */ + { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, SYF_CAPENABLED }, /* 343 = sigpending */ + { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, SYF_CAPENABLED }, /* 344 = old sigreturn */ + { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, SYF_CAPENABLED }, /* 345 = sigtimedwait */ + { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 346 = sigwaitinfo */ + { AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 347 = __acl_get_file */ + { AS(__acl_set_file_args), (sy_call_t *)__acl_set_file, AUE_NULL, NULL, 0, 0, 0 }, /* 348 = __acl_set_file */ + { AS(__acl_get_fd_args), (sy_call_t *)__acl_get_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 349 = __acl_get_fd */ + { AS(__acl_set_fd_args), (sy_call_t *)__acl_set_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 350 = __acl_set_fd */ + { AS(__acl_delete_file_args), (sy_call_t *)__acl_delete_file, AUE_NULL, NULL, 0, 0, 0 }, /* 351 = __acl_delete_file */ + { AS(__acl_delete_fd_args), (sy_call_t *)__acl_delete_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 352 = __acl_delete_fd */ + { AS(__acl_aclcheck_file_args), (sy_call_t *)__acl_aclcheck_file, AUE_NULL, NULL, 0, 0, 0 }, /* 353 = __acl_aclcheck_file */ + { AS(__acl_aclcheck_fd_args), (sy_call_t *)__acl_aclcheck_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 354 = __acl_aclcheck_fd */ + { AS(extattrctl_args), (sy_call_t *)extattrctl, AUE_EXTATTRCTL, NULL, 0, 0, 0 }, /* 355 = extattrctl */ + { AS(extattr_set_file_args), (sy_call_t *)extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0, 0 }, /* 356 = extattr_set_file */ + { AS(extattr_get_file_args), (sy_call_t *)extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0, 0 }, /* 357 = extattr_get_file */ + { AS(extattr_delete_file_args), (sy_call_t *)extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0, 0 }, /* 358 = extattr_delete_file */ + { AS(aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 359 = aio_waitcomplete */ + { AS(getresuid_args), (sy_call_t *)getresuid, AUE_GETRESUID, NULL, 0, 0, SYF_CAPENABLED }, /* 360 = getresuid */ + { AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0, SYF_CAPENABLED }, /* 361 = getresgid */ + { 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0, SYF_CAPENABLED }, /* 362 = kqueue */ + { AS(kevent_args), (sy_call_t *)kevent, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 363 = kevent */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 364 = __cap_get_proc */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 365 = __cap_set_proc */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 366 = __cap_get_fd */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 367 = __cap_get_file */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 368 = __cap_set_fd */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 369 = __cap_set_file */ + { AS(nosys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 370 = lkmressys */ + { AS(extattr_set_fd_args), (sy_call_t *)extattr_set_fd, AUE_EXTATTR_SET_FD, NULL, 0, 0, SYF_CAPENABLED }, /* 371 = extattr_set_fd */ + { AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0, SYF_CAPENABLED }, /* 372 = extattr_get_fd */ + { AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0, SYF_CAPENABLED }, /* 373 = extattr_delete_fd */ + { AS(__setugid_args), (sy_call_t *)__setugid, AUE_NULL, NULL, 0, 0, 0 }, /* 374 = __setugid */ + { AS(nfsclnt_args), (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 375 = nfsclnt */ + { AS(eaccess_args), (sy_call_t *)eaccess, AUE_EACCESS, NULL, 0, 0, SYF_CAPENABLED }, /* 376 = eaccess */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 377 = afs_syscall */ + { AS(nmount_args), (sy_call_t *)nmount, AUE_NMOUNT, NULL, 0, 0, 0 }, /* 378 = nmount */ + { 0, (sy_call_t *)kse_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 379 = kse_exit */ + { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 380 = kse_wakeup */ + { AS(kse_create_args), (sy_call_t *)kse_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 381 = kse_create */ + { AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 382 = kse_thr_interrupt */ + { AS(kse_release_args), (sy_call_t *)kse_release, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 383 = kse_release */ + { AS(__mac_get_proc_args), (sy_call_t *)__mac_get_proc, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 384 = __mac_get_proc */ + { AS(__mac_set_proc_args), (sy_call_t *)__mac_set_proc, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 385 = __mac_set_proc */ + { AS(__mac_get_fd_args), (sy_call_t *)__mac_get_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 386 = __mac_get_fd */ + { AS(__mac_get_file_args), (sy_call_t *)__mac_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 387 = __mac_get_file */ + { AS(__mac_set_fd_args), (sy_call_t *)__mac_set_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 388 = __mac_set_fd */ + { AS(__mac_set_file_args), (sy_call_t *)__mac_set_file, AUE_NULL, NULL, 0, 0, 0 }, /* 389 = __mac_set_file */ + { AS(kenv_args), (sy_call_t *)kenv, AUE_NULL, NULL, 0, 0, 0 }, /* 390 = kenv */ + { AS(lchflags_args), (sy_call_t *)lchflags, AUE_LCHFLAGS, NULL, 0, 0, 0 }, /* 391 = lchflags */ + { AS(uuidgen_args), (sy_call_t *)uuidgen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 392 = uuidgen */ + { AS(sendfile_args), (sy_call_t *)sendfile, AUE_SENDFILE, NULL, 0, 0, SYF_CAPENABLED }, /* 393 = sendfile */ + { AS(mac_syscall_args), (sy_call_t *)mac_syscall, AUE_NULL, NULL, 0, 0, 0 }, /* 394 = mac_syscall */ + { AS(getfsstat_args), (sy_call_t *)getfsstat, AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 395 = getfsstat */ + { AS(statfs_args), (sy_call_t *)statfs, AUE_STATFS, NULL, 0, 0, 0 }, /* 396 = statfs */ + { AS(fstatfs_args), (sy_call_t *)fstatfs, AUE_FSTATFS, NULL, 0, 0, SYF_CAPENABLED }, /* 397 = fstatfs */ + { AS(fhstatfs_args), (sy_call_t *)fhstatfs, AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 398 = fhstatfs */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 399 = nosys */ + { AS(ksem_close_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 400 = ksem_close */ + { AS(ksem_post_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 401 = ksem_post */ + { AS(ksem_wait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 402 = ksem_wait */ + { AS(ksem_trywait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 403 = ksem_trywait */ + { AS(ksem_init_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 404 = ksem_init */ + { AS(ksem_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 405 = ksem_open */ + { AS(ksem_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 406 = ksem_unlink */ + { AS(ksem_getvalue_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 407 = ksem_getvalue */ + { AS(ksem_destroy_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 408 = ksem_destroy */ + { AS(__mac_get_pid_args), (sy_call_t *)__mac_get_pid, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 409 = __mac_get_pid */ + { AS(__mac_get_link_args), (sy_call_t *)__mac_get_link, AUE_NULL, NULL, 0, 0, 0 }, /* 410 = __mac_get_link */ + { AS(__mac_set_link_args), (sy_call_t *)__mac_set_link, AUE_NULL, NULL, 0, 0, 0 }, /* 411 = __mac_set_link */ + { AS(extattr_set_link_args), (sy_call_t *)extattr_set_link, AUE_EXTATTR_SET_LINK, NULL, 0, 0, 0 }, /* 412 = extattr_set_link */ + { AS(extattr_get_link_args), (sy_call_t *)extattr_get_link, AUE_EXTATTR_GET_LINK, NULL, 0, 0, 0 }, /* 413 = extattr_get_link */ + { AS(extattr_delete_link_args), (sy_call_t *)extattr_delete_link, AUE_EXTATTR_DELETE_LINK, NULL, 0, 0, 0 }, /* 414 = extattr_delete_link */ + { AS(__mac_execve_args), (sy_call_t *)__mac_execve, AUE_NULL, NULL, 0, 0, 0 }, /* 415 = __mac_execve */ + { AS(sigaction_args), (sy_call_t *)sigaction, AUE_SIGACTION, NULL, 0, 0, SYF_CAPENABLED }, /* 416 = sigaction */ + { AS(sigreturn_args), (sy_call_t *)sigreturn, AUE_SIGRETURN, NULL, 0, 0, SYF_CAPENABLED }, /* 417 = sigreturn */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 418 = __xstat */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 419 = __xfstat */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 420 = __xlstat */ + { AS(getcontext_args), (sy_call_t *)getcontext, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 421 = getcontext */ + { AS(setcontext_args), (sy_call_t *)setcontext, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 422 = setcontext */ + { AS(swapcontext_args), (sy_call_t *)swapcontext, AUE_NULL, NULL, 0, 0, 0 }, /* 423 = swapcontext */ + { AS(swapoff_args), (sy_call_t *)swapoff, AUE_SWAPOFF, NULL, 0, 0, 0 }, /* 424 = swapoff */ + { AS(__acl_get_link_args), (sy_call_t *)__acl_get_link, AUE_NULL, NULL, 0, 0, 0 }, /* 425 = __acl_get_link */ + { AS(__acl_set_link_args), (sy_call_t *)__acl_set_link, AUE_NULL, NULL, 0, 0, 0 }, /* 426 = __acl_set_link */ + { AS(__acl_delete_link_args), (sy_call_t *)__acl_delete_link, AUE_NULL, NULL, 0, 0, 0 }, /* 427 = __acl_delete_link */ + { AS(__acl_aclcheck_link_args), (sy_call_t *)__acl_aclcheck_link, AUE_NULL, NULL, 0, 0, 0 }, /* 428 = __acl_aclcheck_link */ + { AS(sigwait_args), (sy_call_t *)sigwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 429 = sigwait */ + { AS(thr_create_args), (sy_call_t *)thr_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 430 = thr_create */ + { AS(thr_exit_args), (sy_call_t *)thr_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 431 = thr_exit */ + { AS(thr_self_args), (sy_call_t *)thr_self, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 432 = thr_self */ + { AS(thr_kill_args), (sy_call_t *)thr_kill, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 433 = thr_kill */ + { AS(_umtx_lock_args), (sy_call_t *)_umtx_lock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 434 = _umtx_lock */ + { AS(_umtx_unlock_args), (sy_call_t *)_umtx_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 435 = _umtx_unlock */ + { AS(jail_attach_args), (sy_call_t *)jail_attach, AUE_NULL, NULL, 0, 0, 0 }, /* 436 = jail_attach */ + { AS(extattr_list_fd_args), (sy_call_t *)extattr_list_fd, AUE_EXTATTR_LIST_FD, NULL, 0, 0, SYF_CAPENABLED }, /* 437 = extattr_list_fd */ + { AS(extattr_list_file_args), (sy_call_t *)extattr_list_file, AUE_EXTATTR_LIST_FILE, NULL, 0, 0, 0 }, /* 438 = extattr_list_file */ + { AS(extattr_list_link_args), (sy_call_t *)extattr_list_link, AUE_EXTATTR_LIST_LINK, NULL, 0, 0, 0 }, /* 439 = extattr_list_link */ + { AS(kse_switchin_args), (sy_call_t *)kse_switchin, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 440 = kse_switchin */ + { AS(ksem_timedwait_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 441 = ksem_timedwait */ + { AS(thr_suspend_args), (sy_call_t *)thr_suspend, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 442 = thr_suspend */ + { AS(thr_wake_args), (sy_call_t *)thr_wake, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 443 = thr_wake */ + { AS(kldunloadf_args), (sy_call_t *)kldunloadf, AUE_MODUNLOAD, NULL, 0, 0, 0 }, /* 444 = kldunloadf */ + { AS(audit_args), (sy_call_t *)audit, AUE_AUDIT, NULL, 0, 0, 0 }, /* 445 = audit */ + { AS(auditon_args), (sy_call_t *)auditon, AUE_AUDITON, NULL, 0, 0, 0 }, /* 446 = auditon */ + { AS(getauid_args), (sy_call_t *)getauid, AUE_GETAUID, NULL, 0, 0, SYF_CAPENABLED }, /* 447 = getauid */ + { AS(setauid_args), (sy_call_t *)setauid, AUE_SETAUID, NULL, 0, 0, SYF_CAPENABLED }, /* 448 = setauid */ + { AS(getaudit_args), (sy_call_t *)getaudit, AUE_GETAUDIT, NULL, 0, 0, SYF_CAPENABLED }, /* 449 = getaudit */ + { AS(setaudit_args), (sy_call_t *)setaudit, AUE_SETAUDIT, NULL, 0, 0, SYF_CAPENABLED }, /* 450 = setaudit */ + { AS(getaudit_addr_args), (sy_call_t *)getaudit_addr, AUE_GETAUDIT_ADDR, NULL, 0, 0, SYF_CAPENABLED }, /* 451 = getaudit_addr */ + { AS(setaudit_addr_args), (sy_call_t *)setaudit_addr, AUE_SETAUDIT_ADDR, NULL, 0, 0, SYF_CAPENABLED }, /* 452 = setaudit_addr */ + { AS(auditctl_args), (sy_call_t *)auditctl, AUE_AUDITCTL, NULL, 0, 0, 0 }, /* 453 = auditctl */ + { AS(_umtx_op_args), (sy_call_t *)_umtx_op, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 454 = _umtx_op */ + { AS(thr_new_args), (sy_call_t *)thr_new, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 455 = thr_new */ + { AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 456 = sigqueue */ + { AS(kmq_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 457 = kmq_open */ + { AS(kmq_setattr_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 458 = kmq_setattr */ + { AS(kmq_timedreceive_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 459 = kmq_timedreceive */ + { AS(kmq_timedsend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 460 = kmq_timedsend */ + { AS(kmq_notify_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 461 = kmq_notify */ + { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 462 = kmq_unlink */ + { AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 463 = abort2 */ + { AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 464 = thr_set_name */ + { AS(aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 465 = aio_fsync */ + { AS(rtprio_thread_args), (sy_call_t *)rtprio_thread, AUE_RTPRIO, NULL, 0, 0, SYF_CAPENABLED }, /* 466 = rtprio_thread */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 467 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 468 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 469 = __getpath_fromfd */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 470 = __getpath_fromaddr */ + { AS(sctp_peeloff_args), (sy_call_t *)sctp_peeloff, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 471 = sctp_peeloff */ + { AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 472 = sctp_generic_sendmsg */ + { AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 473 = sctp_generic_sendmsg_iov */ + { AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 474 = sctp_generic_recvmsg */ + { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0, SYF_CAPENABLED }, /* 475 = pread */ + { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0, SYF_CAPENABLED }, /* 476 = pwrite */ + { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0, SYF_CAPENABLED }, /* 477 = mmap */ + { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0, SYF_CAPENABLED }, /* 478 = lseek */ + { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 479 = truncate */ + { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0, SYF_CAPENABLED }, /* 480 = ftruncate */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 4 19:43:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 498F91065673; Tue, 4 Mar 2008 19:43: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 08010106566B for ; Tue, 4 Mar 2008 19:43:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2E0C8FC13 for ; Tue, 4 Mar 2008 19:43:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m24JhP0c039151 for ; Tue, 4 Mar 2008 19:43:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24JhPFO039149 for perforce@freebsd.org; Tue, 4 Mar 2008 19:43:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 4 Mar 2008 19:43:25 GMT Message-Id: <200803041943.m24JhPFO039149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136848 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, 04 Mar 2008 19:43:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=136848 Change 136848 by rwatson@rwatson_freebsd_capabilities on 2008/03/04 19:43:04 Capabilities will require audit and (eventually) MAC. Affected files ... .. //depot/projects/trustedbsd/capabilities/TODO#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/TODO#4 (text+ko) ==== @@ -44,3 +44,7 @@ - mmap(2) needs to look at capability masks, not just file flags to determine maxprot. + +- MAC control of capability facility. + +- Audit for capability facility. From owner-p4-projects@FreeBSD.ORG Tue Mar 4 19:43:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A44BE106570D; Tue, 4 Mar 2008 19:43: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 331A01065671 for ; Tue, 4 Mar 2008 19:43:26 +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 0B8EE8FC16 for ; Tue, 4 Mar 2008 19:43: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 m24JhPLb039156 for ; Tue, 4 Mar 2008 19:43:25 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24JhPPZ039154 for perforce@freebsd.org; Tue, 4 Mar 2008 19:43:25 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 4 Mar 2008 19:43:25 GMT Message-Id: <200803041943.m24JhPPZ039154@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 136849 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, 04 Mar 2008 19:43:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=136849 Change 136849 by gonzo@gonzo_jeeves on 2008/03/04 19:43:21 o Interrupt mask should be preserved in disableintr, otherwise we'd get enabled but masked interrupts. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/psraccess.S#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/psraccess.S#8 (text+ko) ==== @@ -144,7 +144,6 @@ .set mips0 #else mfc0 v0, COP_0_STATUS_REG # read status register - and v0, v0, SR_INT_ENAB nop and v1, v0, ~SR_INT_ENAB mtc0 v1, COP_0_STATUS_REG # disable all interrupts From owner-p4-projects@FreeBSD.ORG Tue Mar 4 19:49:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A8121065672; Tue, 4 Mar 2008 19:49: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 BDEFB106566B for ; Tue, 4 Mar 2008 19:49:32 +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 B0DE68FC1E for ; Tue, 4 Mar 2008 19:49:32 +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 m24JnW5B039351 for ; Tue, 4 Mar 2008 19:49:32 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24JnWkQ039349 for perforce@freebsd.org; Tue, 4 Mar 2008 19:49:32 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Mar 2008 19:49:32 GMT Message-Id: <200803041949.m24JnWkQ039349@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 136850 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, 04 Mar 2008 19:49:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=136850 Change 136850 by sam@sam_ebb on 2008/03/04 19:48:58 wpa_supplicant core code specifies a broadcast ssid when no directed probe request is desired so suppress the default bcast probe request frame generated by net80211; this fixes the problem where we were sending multiple bcast probe req's Affected files ... .. //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#4 edit Differences ... ==== //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#4 (text+ko) ==== @@ -465,6 +465,11 @@ sr.sr_flags = IEEE80211_IOC_SCAN_ACTIVE | IEEE80211_IOC_SCAN_ONCE | IEEE80211_IOC_SCAN_NOPICK + /* + * NB: caller specifies bcast ssid, so suppress + * net80211's normal handling + */ + | IEEE80211_IOC_SCAN_NOBCAST ; sr.sr_duration = IEEE80211_IOC_SCAN_FOREVER; sr.sr_nssid = 1; From owner-p4-projects@FreeBSD.ORG Tue Mar 4 20:01:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF3A51065676; Tue, 4 Mar 2008 20:01: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 ADFAA1065670 for ; Tue, 4 Mar 2008 20:01:45 +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 A0F508FC22 for ; Tue, 4 Mar 2008 20:01:45 +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 m24K1j7v039902 for ; Tue, 4 Mar 2008 20:01:45 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24K1jcn039900 for perforce@freebsd.org; Tue, 4 Mar 2008 20:01:45 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Mar 2008 20:01:45 GMT Message-Id: <200803042001.m24K1jcn039900@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 136851 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, 04 Mar 2008 20:01:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=136851 Change 136851 by sam@sam_ebb on 2008/03/04 20:01:10 improve debug msgs for send probe request/response Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_output.c#38 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_output.c#38 (text+ko) ==== @@ -1671,9 +1671,10 @@ IEEE80211_NODE_STAT(ni, tx_probereq); IEEE80211_NODE_STAT(ni, tx_mgmt); - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, - wh->i_addr1, "send probe req on channel %u", - ieee80211_chan2ieee(ic, ic->ic_curchan)); + IEEE80211_DPRINTF(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, + "send probe req on channel %u bssid %s ssid \"%.*s\"\n", + ieee80211_chan2ieee(ic, ic->ic_curchan), ether_sprintf(bssid), + ssidlen, ssid); return ic->ic_raw_xmit(ni, m, NULL); } @@ -2236,9 +2237,10 @@ M_WME_SETAC(m, WME_AC_BE); - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, - wh->i_addr1, "send probe resp on channel %u", - ieee80211_chan2ieee(ic, ic->ic_curchan)); + IEEE80211_DPRINTF(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, + "send probe resp on channel %u to %s%s\n", + ieee80211_chan2ieee(ic, ic->ic_curchan), ether_sprintf(da), + legacy ? " " : ""); IEEE80211_NODE_STAT(bss, tx_mgmt); return ic->ic_raw_xmit(bss, m, NULL); From owner-p4-projects@FreeBSD.ORG Tue Mar 4 22:00:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0003C10656D4; Tue, 4 Mar 2008 22:00: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 B417010656D5 for ; Tue, 4 Mar 2008 22:00:54 +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 A6E3A8FC23 for ; Tue, 4 Mar 2008 22:00:54 +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 m24M0sP1056628 for ; Tue, 4 Mar 2008 22:00:54 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24M0s0R056626 for perforce@freebsd.org; Tue, 4 Mar 2008 22:00:54 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Mar 2008 22:00:54 GMT Message-Id: <200803042200.m24M0s0R056626@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 136855 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, 04 Mar 2008 22:00:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=136855 Change 136855 by sam@sam_ebb on 2008/03/04 22:00:22 when a vap is marked UP check if we are not in the INIT state to decide whether to clock the state machine; checking RUN is wrong and have bad side-effects like flushing the scan cache Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#34 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#34 (text+ko) ==== @@ -3053,7 +3053,7 @@ * then it will automatically be brought up as a * side-effect of bringing ourself up. */ - if (vap->iv_state < IEEE80211_S_RUN) + if (vap->iv_state == IEEE80211_S_INIT) ieee80211_init(vap); } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) { /* From owner-p4-projects@FreeBSD.ORG Tue Mar 4 22:02:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D66F1065692; Tue, 4 Mar 2008 22:02:58 +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 F03571065672 for ; Tue, 4 Mar 2008 22:02:56 +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 D488B8FC1F for ; Tue, 4 Mar 2008 22:02:56 +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 m24M2uSE056681 for ; Tue, 4 Mar 2008 22:02:56 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24M2uZ2056679 for perforce@freebsd.org; Tue, 4 Mar 2008 22:02:56 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Mar 2008 22:02:56 GMT Message-Id: <200803042202.m24M2uZ2056679@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 136856 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, 04 Mar 2008 22:02:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=136856 Change 136856 by sam@sam_ebb on 2008/03/04 22:02:46 don't blindly mark the interface UP before scanning; check first as this might have uninteded side-effects Affected files ... .. //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#5 edit Differences ... ==== //depot/projects/vap/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#5 (text+ko) ==== @@ -293,9 +293,9 @@ memcpy(&ea, addr, IEEE80211_ADDR_LEN); wpa_printf(MSG_DEBUG, - "%s: alg=%s addr=%s key_idx=%d set_tx=%d seq_len=%zu key_len=%zu", - __func__, alg_name, ether_ntoa(&ea), key_idx, set_tx, - seq_len, key_len); + "%s: alg=%s addr=%s key_idx=%d set_tx=%d seq_len=%zu key_len=%zu", + __func__, alg_name, ether_ntoa(&ea), key_idx, set_tx, + seq_len, key_len); if (seq_len > sizeof(u_int64_t)) { wpa_printf(MSG_DEBUG, "%s: seq_len %zu too big", @@ -458,8 +458,15 @@ /* XXX not true but easiest to perpetuate the myth */ /* NB: interface must be marked UP to do a scan */ - if (getifflags(drv, &flags) != 0 || setifflags(drv, flags | IFF_UP) != 0) + if (getifflags(drv, &flags) != 0) { + wpa_printf(MSG_DEBUG, "%s did not mark interface UP", __func__); + return -1; + } + if ((flags & IFF_UP) == 0 && setifflags(drv, flags | IFF_UP) != 0) { + wpa_printf(MSG_DEBUG, "%s unable to mark interface UP", + __func__); return -1; + } memset(&sr, 0, sizeof(sr)); sr.sr_flags = IEEE80211_IOC_SCAN_ACTIVE From owner-p4-projects@FreeBSD.ORG Tue Mar 4 22:22:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C6031065697; Tue, 4 Mar 2008 22:22: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 44E911065695 for ; Tue, 4 Mar 2008 22:22:17 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3753B8FC32 for ; Tue, 4 Mar 2008 22:22:17 +0000 (UTC) (envelope-from piso@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 m24MMHwH058673 for ; Tue, 4 Mar 2008 22:22:17 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24MMHmL058671 for perforce@freebsd.org; Tue, 4 Mar 2008 22:22:17 GMT (envelope-from piso@freebsd.org) Date: Tue, 4 Mar 2008 22:22:17 GMT Message-Id: <200803042222.m24MMHmL058671@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136861 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, 04 Mar 2008 22:22:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=136861 Change 136861 by piso@piso_newluxor on 2008/03/04 22:22:08 Don't pass pkt ptr to functions that don't need it: TcpMonitorIn and TcpMonitorOut. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#63 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#63 (text+ko) ==== @@ -170,50 +170,42 @@ */ /* Local prototypes */ -static void TcpMonitorIn(struct ip *, struct alias_link *); +static void TcpMonitorIn(u_char, struct alias_link *); -static void TcpMonitorOut(struct ip *, struct alias_link *); +static void TcpMonitorOut(u_char, struct alias_link *); -// XXX ip free static void -TcpMonitorIn(struct ip *pip, struct alias_link *lnk) +TcpMonitorIn(u_char th_flags, struct alias_link *lnk) { - struct tcphdr *tc; - tc = (struct tcphdr *)ip_next(pip); - switch (GetStateIn(lnk)) { case ALIAS_TCP_STATE_NOT_CONNECTED: - if (tc->th_flags & TH_RST) + if (th_flags & TH_RST) SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED); - else if (tc->th_flags & TH_SYN) + else if (th_flags & TH_SYN) SetStateIn(lnk, ALIAS_TCP_STATE_CONNECTED); break; case ALIAS_TCP_STATE_CONNECTED: - if (tc->th_flags & (TH_FIN | TH_RST)) + if (th_flags & (TH_FIN | TH_RST)) SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED); break; } } -// XXX ip free static void -TcpMonitorOut(struct ip *pip, struct alias_link *lnk) +TcpMonitorOut(u_char th_flags, struct alias_link *lnk) { - struct tcphdr *tc; - - tc = (struct tcphdr *)ip_next(pip); switch (GetStateOut(lnk)) { case ALIAS_TCP_STATE_NOT_CONNECTED: - if (tc->th_flags & TH_RST) + if (th_flags & TH_RST) SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED); - else if (tc->th_flags & TH_SYN) + else if (th_flags & TH_SYN) SetStateOut(lnk, ALIAS_TCP_STATE_CONNECTED); break; case ALIAS_TCP_STATE_CONNECTED: - if (tc->th_flags & (TH_FIN | TH_RST)) + if (th_flags & (TH_FIN | TH_RST)) SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED); break; } @@ -956,7 +948,8 @@ ADJUST_CHECKSUM(accumulate, pip->ip_sum); /* Monitor TCP connection state */ - TcpMonitorIn(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + TcpMonitorIn(tc->th_flags, lnk); return (PKT_ALIAS_OK); } @@ -1038,7 +1031,8 @@ alias_address = GetAliasAddress(lnk); /* Monitor TCP connection state */ - TcpMonitorOut(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + TcpMonitorOut(tc->th_flags, lnk); /* Walk out chain. */ error = find_handler(OUT, TCP, la, pip, &ad); From owner-p4-projects@FreeBSD.ORG Tue Mar 4 22:58:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB9B21065679; Tue, 4 Mar 2008 22:58: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 98D6B106566C; Tue, 4 Mar 2008 22:58:17 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 4357A8FC23; Tue, 4 Mar 2008 22:58:17 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m24Mt753076472; Tue, 4 Mar 2008 15:55:07 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 04 Mar 2008 15:55:36 -0700 (MST) Message-Id: <20080304.155536.1493775479.imp@bsdimp.com> To: rrs@freebsd.org From: "M. Warner Losh" In-Reply-To: <200803041133.m24BXMQ2088921@repoman.freebsd.org> References: <200803041133.m24BXMQ2088921@repoman.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: perforce@freebsd.org Subject: Re: PERFORCE change 136802 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, 04 Mar 2008 22:58:18 -0000 In message: <200803041133.m24BXMQ2088921@repoman.freebsd.org> "Randall R. Stewart" writes: : PG_XXX -> PTE_XXX The PG_xxx ones that should remain are the ones that the MI code uses, no? That's how we got PG_CACHE and PG_CACHED in the first place... Warner From owner-p4-projects@FreeBSD.ORG Tue Mar 4 23:12:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5765E1065672; Tue, 4 Mar 2008 23:12: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 17416106566C for ; Tue, 4 Mar 2008 23:12:13 +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 098888FC1B for ; Tue, 4 Mar 2008 23:12:13 +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 m24NCCox061607 for ; Tue, 4 Mar 2008 23:12:12 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24NCCZm061605 for perforce@freebsd.org; Tue, 4 Mar 2008 23:12:12 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 4 Mar 2008 23:12:12 GMT Message-Id: <200803042312.m24NCCZm061605@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 136868 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, 04 Mar 2008 23:12:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=136868 Change 136868 by gonzo@gonzo_jeeves on 2008/03/04 23:11:42 o For interrupt stuff we use intr_machdep.c. interrupt.c is orphaned file so delete it to avoid confusion and remove corespondent entry (commented) in files.mips Affected files ... .. //depot/projects/mips2-jnpr/src/sys/conf/files.mips#17 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips/interrupt.c#7 delete Differences ... ==== //depot/projects/mips2-jnpr/src/sys/conf/files.mips#17 (text+ko) ==== @@ -45,7 +45,6 @@ mips/mips/elf_machdep.c standard mips/mips/exception.S standard mips/mips/gdb_machdep.c standard -#mips/mips/interrupt.c standard mips/mips/mainbus.c standard mips/mips/pmap.c standard mips/mips/trap.c standard From owner-p4-projects@FreeBSD.ORG Tue Mar 4 23:41:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 548551065671; Tue, 4 Mar 2008 23:41: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 1334A1065676 for ; Tue, 4 Mar 2008 23:41:49 +0000 (UTC) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01B8E8FC24 for ; Tue, 4 Mar 2008 23:41:49 +0000 (UTC) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m24NfmpP062960 for ; Tue, 4 Mar 2008 23:41:48 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m24Nfm2e062958 for perforce@freebsd.org; Tue, 4 Mar 2008 23:41:48 GMT (envelope-from wsalamon@computer.org) Date: Tue, 4 Mar 2008 23:41:48 GMT Message-Id: <200803042341.m24Nfm2e062958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 136873 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, 04 Mar 2008 23:41:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=136873 Change 136873 by wsalamon@gretsch on 2008/03/04 23:41:08 Sync development branch with vendor branch. Affected files ... .. //depot/projects/trustedbsd/audit_mac/src/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/amd64/include/smp.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/include/_bus.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/files#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/ldscript.powerpc#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/options#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/options.powerpc#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/cxgb/t3fw-5.0.0.bin.gz.uu#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/LICENSE#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82575.c#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_82575.h#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/if_em.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/em/if_em.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/ic/quicc.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/md/md.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/mii/miidevs#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/re/if_re.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/uart/uart.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/uart/uart_cpu_powerpc.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/usb/uscanner.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/coda/TODO#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/i386/i386/initcpu.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/i386/include/smp.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/init_main.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/init_sysent.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/kern_thread.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/sched_ule.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/subr_smp.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/subr_witness.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/syscalls.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/syscalls.master#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/systrace_args.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/vnode_if.src#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/cxgb/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/em/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/geom/Makefile#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/igb/Makefile#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netgraph/ng_nat.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netgraph/ng_nat.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netipsec/key.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/pc98/cbus/sio.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/pc98/pc98/machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/pci/if_rl.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/locore.S#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/swtch.S#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/trap.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/support.S#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/frame.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/hid.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/pcb.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/pcpu.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/pmap.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/psl.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/pte.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/spr.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/trap.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/vmparam.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/powerpc/autoconf.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit_syscalls.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit_trigger.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/security/audit/audit_worker.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/_types.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/buf.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/bufobj.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/cpuset.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/mount.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/param.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/proc.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/sched.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/smp.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/syscall.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/syscall.mk#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/sysproto.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/types.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/vnode.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/sys/vtoc.h#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/ufs/ufs/extattr.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/ufs/ufs/ufs_extattr.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/vm/vm_map.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/vm/vm_object.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/audit_mac/src/sys/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.157 2008/02/02 23:17:27 das Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.158 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" @@ -97,6 +97,10 @@ { "Sledgehammer", CPUCLASS_K8 }, /* CPU_SLEDGEHAMMER */ }; +int cpu_cores; +int cpu_logical; + + extern int pq_l2size; extern int pq_l2nways; @@ -360,11 +364,13 @@ if ((regs[0] & 0x1f) != 0) cmp = ((regs[0] >> 26) & 0x3f) + 1; } + cpu_cores = cmp; + cpu_logical = htt / cmp; if (cmp > 1) printf("\n Cores per package: %d", cmp); if ((htt / cmp) > 1) printf("\n Logical CPUs per core: %d", - htt / cmp); + cpu_logical); } } /* Avoid ugly blank lines: only print newline when we have to. */ ==== //depot/projects/trustedbsd/audit_mac/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.288 2008/03/02 07:58:40 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -83,12 +83,6 @@ extern struct pcpu __pcpu[]; -/* - * CPU topology map datastructures for HTT. - */ -static struct cpu_group mp_groups[MAXCPU]; -static struct cpu_top mp_top; - /* AP uses this during bootstrap. Do not staticize. */ char *bootSTK; static int bootAP; @@ -182,40 +176,38 @@ mem_range_softc.mr_op->initAP(&mem_range_softc); } -void -mp_topology(void) +struct cpu_group * +cpu_topo(void) { - struct cpu_group *group; - int apic_id; - int groups; - int cpu; - - /* Build the smp_topology map. */ - /* Nothing to do if there is no HTT support. */ - if (hyperthreading_cpus <= 1) - return; - group = &mp_groups[0]; - groups = 1; - for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { - if (!cpu_info[apic_id].cpu_present) - continue; - /* - * If the current group has members and we're not a logical - * cpu, create a new group. - */ - if (group->cg_count != 0 && - (apic_id % hyperthreading_cpus) == 0) { - group++; - groups++; - } - group->cg_count++; - group->cg_mask |= 1 << cpu; - cpu++; + if (cpu_cores == 0) + cpu_cores = 1; + if (cpu_logical == 0) + cpu_logical = 1; + if (mp_ncpus % (cpu_cores * cpu_logical) != 0) { + printf("WARNING: Non-uniform processors.\n"); + printf("WARNING: Using suboptimal topology.\n"); + return (smp_topo_none()); } - - mp_top.ct_count = groups; - mp_top.ct_group = mp_groups; - smp_topology = &mp_top; + /* + * No multi-core or hyper-threaded. + */ + if (cpu_logical * cpu_cores == 1) + return (smp_topo_none()); + /* + * Only HTT no multi-core. + */ + if (cpu_logical > 1 && cpu_cores == 1) + return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); + /* + * Only multi-core no HTT. + */ + if (cpu_cores > 1 && cpu_logical == 1) + return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0)); + /* + * Both HTT and multi-core. + */ + return (smp_topo_2level(CG_SHARE_NONE, cpu_cores, + CG_SHARE_L1, cpu_logical, CG_FLAG_HTT)); } /* @@ -409,9 +401,6 @@ } set_interrupt_apic_ids(); - - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); } ==== //depot/projects/trustedbsd/audit_mac/src/sys/amd64/include/smp.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.92 2008/03/02 07:58:40 jeff Exp $ * */ @@ -36,6 +36,10 @@ extern struct pcb stoppcbs[]; extern int cpu_apic_ids[]; +/* global data in identcpu.c */ +extern int cpu_cores; +extern int cpu_logical; + /* IPI handlers */ inthand_t IDTVEC(invltlb), /* TLB shootdowns - global */ @@ -57,7 +61,6 @@ void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); -void mp_topology(void); void smp_cache_flush(void); void smp_invlpg(vm_offset_t addr); void smp_masked_invlpg(u_int mask, vm_offset_t addr); ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/include/_bus.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- -% * Copyright (c) 2005 M. Warner Losh. + * Copyright (c) 2005 M. Warner Losh. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/_bus.h,v 1.1 2005/04/18 21:45:33 imp Exp $ + * $FreeBSD: src/sys/arm/include/_bus.h,v 1.2 2008/02/26 11:45:32 rwatson Exp $ */ #ifndef ARM_INCLUDE__BUS_H ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.8 2007/05/29 18:10:42 jhay Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.9 2008/02/26 11:44:41 rwatson Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -234,7 +234,7 @@ sc->sc_mem_rman.rm_descr = "IXP425 Memory"; if (rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_mem_rman, 0, ~0) != 0) - panic("ixp425_attach: failed to set up IRQ rman"); + panic("ixp425_attach: failed to set up memory rman"); BUS_ADD_CHILD(dev, 0, "pcib", 0); BUS_ADD_CHILD(dev, 0, "ixpclk", 0); ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 (text+ko) ==== @@ -9,13 +9,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. * * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -31,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.2 2008/03/03 06:39:36 kevlo Exp $"); #include #include ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.85 2007/10/26 21:02:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $"); #include #include @@ -129,7 +129,7 @@ unsigned start; int init; } dsk; -static char cmd[512]; +static char cmd[512], cmddup[512]; static char kname[1024]; static uint32_t opts; static int comspeed = SIOSPD; @@ -255,10 +255,11 @@ fsread(ino, cmd, sizeof(cmd)); if (*cmd) { + memcpy(cmddup, cmd, sizeof(cmd)); if (parse()) autoboot = 0; if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmd); + printf("%s: %s", PATH_CONFIG, cmddup); /* Do not process this command twice */ *cmd = 0; } ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/btx/btx/Makefile#2 (text+ko) ==== @@ -1,14 +1,10 @@ -# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.19 2004/12/21 08:47:13 ru Exp $ +# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.20 2008/02/27 23:35:39 jhb Exp $ PROG= btx INTERNALPROG= NO_MAN= SRCS= btx.S -.if defined(PAGING) -CFLAGS+=-DPAGING -.endif - .if defined(BOOT_BTX_NOHANG) BOOT_BTX_FLAGS=0x1 .else ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/btx/btx/btx.S#2 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.44 2006/12/06 17:45:35 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.45 2008/02/27 23:35:39 jhb Exp $ */ /* @@ -25,8 +25,7 @@ .set MEM_IDT,0x1e00 # IDT .set MEM_TSS,0x1f98 # TSS .set MEM_MAP,0x2000 # I/O bit map - .set MEM_DIR,0x4000 # Page directory - .set MEM_TBL,0x5000 # Page tables + .set MEM_TSS_END,0x3fff # Page directory .set MEM_ORG,0x9000 # BTX code .set MEM_USR,0xa000 # Start of user memory /* @@ -88,7 +87,7 @@ .set _ESP0H,MEM_ESP0>>0x8 # Byte 1 of ESP0 .set _ESP1H,MEM_ESP1>>0x8 # Byte 1 of ESP1 .set _TSSIO,MEM_MAP-MEM_TSS # TSS I/O base - .set _TSSLM,MEM_DIR-MEM_TSS-1 # TSS limit + .set _TSSLM,MEM_TSS_END-MEM_TSS # TSS limit .set _IDTLM,MEM_TSS-MEM_IDT-1 # IDT limit /* * Code segment. @@ -158,58 +157,15 @@ movb $SEL_SDATA,TSS_SS0(%di) # Set SS0 movb $_ESP1H,TSS_ESP1+1(%di) # Set ESP1 movb $_TSSIO,TSS_MAP(%di) # Set I/O bit map base -#ifdef PAGING /* - * Create page directory. - */ - xor %edx,%edx # Page - mov $PAG_SIZ>>0x8,%dh # size - xor %eax,%eax # Zero - mov $MEM_DIR,%di # Page directory - mov $PAG_CNT>>0xa,%cl # Entries - mov $MEM_TBL|0x7,%ax # First entry -init.5: stosl # Write entry - add %dx,%ax # To next - loop init.5 # Till done -/* - * Create page tables. - */ - mov $MEM_TBL,%di # Page table - mov $PAG_CNT>>0x8,%ch # Entries - xor %ax,%ax # Start address -init.6: mov $0x7,%al # Set U:W:P flags - cmp btx_hdr+0x8,%cx # Standard user page? - jb init.7 # Yes - cmp $PAG_CNT-MEM_BTX>>0xc,%cx # BTX memory? - jae init.7 # No or first page - and $~0x2,%al # Clear W flag - cmp $PAG_CNT-MEM_USR>>0xc,%cx # User page zero? - jne init.7 # No - testb $0x80,btx_hdr+0x7 # Unmap it? - jz init.7 # No - and $~0x1,%al # Clear P flag -init.7: stosl # Set entry - add %edx,%eax # Next address - loop init.6 # Till done -#endif -/* * Bring up the system. */ mov $0x2820,%bx # Set protected mode callw setpic # IRQ offsets lidt idtdesc # Set IDT -#ifdef PAGING - xor %eax,%eax # Set base - mov $MEM_DIR>>0x8,%ah # of page - mov %eax,%cr3 # directory -#endif lgdt gdtdesc # Set GDT mov %cr0,%eax # Switch to protected -#ifdef PAGING - or $0x80000001,%eax # mode and enable paging -#else inc %ax # mode -#endif mov %eax,%cr0 # ljmp $SEL_SCODE,$init.8 # To 32-bit code .code32 @@ -854,13 +810,6 @@ movl $MEM_USR,%eax # User base address addl 0xc(%esp,1),%eax # Change to user leal 0x4(%eax),%esp # stack -#ifdef PAGING - movl %cr0,%eax # Turn - andl $~0x80000000,%eax # off - movl %eax,%cr0 # paging - xorl %eax,%eax # Flush - movl %eax,%cr3 # TLB -#endif popl %eax # Call call *%eax # program intx30.1: orb $0x1,%ss:btx_hdr+0x7 # Flag reboot ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/gptboot/gptboot.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.86 2007/10/26 21:02:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.87 2008/02/28 17:08:05 jhb Exp $"); #include #include @@ -127,7 +127,7 @@ daddr_t start; int init; } dsk; -static char cmd[512]; +static char cmd[512], cmddup[512]; static char kname[1024]; static uint32_t opts; static int comspeed = SIOSPD; @@ -253,10 +253,11 @@ fsread(ino, cmd, sizeof(cmd)); if (*cmd) { + memcpy(cmddup, cmd, sizeof(cmd)); if (parse()) autoboot = 0; if (!OPT_CHECK(RBX_QUIET)) - printf("%s: %s", PATH_CONFIG, cmd); + printf("%s: %s", PATH_CONFIG, cmddup); /* Do not process this command twice */ *cmd = 0; } ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/i386/libi386/biosdisk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.54 2007/11/12 23:53:43 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.55 2008/02/28 17:49:23 jhb Exp $"); /* * BIOS disk device handling. @@ -316,6 +316,29 @@ } } +/* Given a size in 512 byte sectors, convert it to a human-readable number. */ +static char * +display_size(uint64_t size) +{ + static char buf[80]; + char unit; + + size /= 2; + unit = 'K'; + if (size >= 10485760000LL) { + size /= 1073741824; + unit = 'T'; + } else if (size >= 10240000) { + size /= 1048576; + unit = 'G'; + } else if (size >= 10000) { + size /= 1024; + unit = 'M'; + } + sprintf(buf, "%.6ld%cB", (long)size, unit); + return (buf); +} + static uuid_t efi = GPT_ENT_TYPE_EFI; static uuid_t freebsd_boot = GPT_ENT_TYPE_FREEBSD_BOOT; static uuid_t freebsd_ufs = GPT_ENT_TYPE_FREEBSD_UFS; @@ -329,33 +352,22 @@ { char stats[80]; char line[96]; - uint64_t size; - char unit; - if (verbose) { - size = (gp->gp_end + 1 - gp->gp_start) / 2048; - unit = 'M'; - if (size >= 10240000) { - size /= 1048576; - unit = 'T'; - } else if (size >= 10000) { - size /= 1024; - unit = 'G'; - } - sprintf(stats, " %.6ld%cB", (long)size, unit); - } else + if (verbose) + sprintf(stats, " %s", display_size(gp->gp_end + 1 - gp->gp_start)); + else stats[0] = '\0'; if (uuid_equal(&gp->gp_type, &efi, NULL)) - sprintf(line, "%s: EFI%s\n", prefix, stats); + sprintf(line, "%s: EFI %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &ms_basic_data, NULL)) - sprintf(line, "%s: FAT/NTFS%s\n", prefix, stats); + sprintf(line, "%s: FAT/NTFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_boot, NULL)) sprintf(line, "%s: FreeBSD boot%s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_ufs, NULL)) - sprintf(line, "%s: FreeBSD UFS%s\n", prefix, stats); + sprintf(line, "%s: FreeBSD UFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_zfs, NULL)) - sprintf(line, "%s: FreeBSD ZFS%s\n", prefix, stats); + sprintf(line, "%s: FreeBSD ZFS %s\n", prefix, stats); else if (uuid_equal(&gp->gp_type, &freebsd_swap, NULL)) sprintf(line, "%s: FreeBSD swap%s\n", prefix, stats); else @@ -377,70 +389,50 @@ bd_printslice(struct open_disk *od, struct dos_partition *dp, char *prefix, int verbose) { + char stats[80]; char line[80]; + if (verbose) + sprintf(stats, " %s (%d - %d)", display_size(dp->dp_size), + dp->dp_start, dp->dp_start + dp->dp_size); + else + stats[0] = '\0'; + switch (dp->dp_typ) { case DOSPTYP_386BSD: bd_printbsdslice(od, (daddr_t)dp->dp_start, prefix, verbose); return; case DOSPTYP_LINSWP: - if (verbose) - sprintf(line, "%s: Linux swap %.6dMB (%d - %d)\n", - prefix, dp->dp_size / 2048, - dp->dp_start, dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: Linux swap\n", prefix); + sprintf(line, "%s: Linux swap%s\n", prefix, stats); break; case DOSPTYP_LINUX: /* * XXX * read the superblock to confirm this is an ext2fs partition? */ - if (verbose) - sprintf(line, "%s: ext2fs %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: ext2fs\n", prefix); + sprintf(line, "%s: ext2fs%s\n", prefix, stats); break; case 0x00: /* unused partition */ case DOSPTYP_EXT: return; case 0x01: - if (verbose) - sprintf(line, "%s: FAT-12 %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: FAT-12\n", prefix); + sprintf(line, "%s: FAT-12%s\n", prefix, stats); break; case 0x04: case 0x06: case 0x0e: - if (verbose) - sprintf(line, "%s: FAT-16 %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: FAT-16\n", prefix); + sprintf(line, "%s: FAT-16%s\n", prefix, stats); + break; + case 0x07: + sprintf(line, "%s: NTFS/HPFS%s\n", prefix, stats); break; case 0x0b: case 0x0c: - if (verbose) - sprintf(line, "%s: FAT-32 %.6dMB (%d - %d)\n", prefix, - dp->dp_size / 2048, dp->dp_start, - dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: FAT-32\n", prefix); + sprintf(line, "%s: FAT-32%s\n", prefix, stats); break; default: - if (verbose) - sprintf(line, "%s: Unknown fs: 0x%x %.6dMB (%d - %d)\n", - prefix, dp->dp_typ, dp->dp_size / 2048, - dp->dp_start, dp->dp_start + dp->dp_size); - else - sprintf(line, "%s: Unknown fs: 0x%x\n", prefix, - dp->dp_typ); + sprintf(line, "%s: Unknown fs: 0x%x %s\n", prefix, dp->dp_typ, + stats); } pager_output(line); } @@ -484,11 +476,11 @@ /* Only print out statistics in verbose mode */ if (verbose) - sprintf(line, " %s%c: %s %.6dMB (%d - %d)\n", prefix, 'a' + i, - (lp->d_partitions[i].p_fstype == FS_SWAP) ? "swap" : + sprintf(line, " %s%c: %s %s (%d - %d)\n", prefix, 'a' + i, + (lp->d_partitions[i].p_fstype == FS_SWAP) ? "swap " : (lp->d_partitions[i].p_fstype == FS_VINUM) ? "vinum" : - "FFS", - lp->d_partitions[i].p_size / 2048, + "FFS ", + display_size(lp->d_partitions[i].p_size), lp->d_partitions[i].p_offset, lp->d_partitions[i].p_offset + lp->d_partitions[i].p_size); else ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/btx/btx/Makefile#2 (text+ko) ==== @@ -1,14 +1,10 @@ -# $FreeBSD: src/sys/boot/pc98/btx/btx/Makefile,v 1.12 2005/05/08 14:17:27 nyan Exp $ +# $FreeBSD: src/sys/boot/pc98/btx/btx/Makefile,v 1.13 2008/02/28 17:33:05 nyan Exp $ PROG= btx INTERNALPROG= NO_MAN= SRCS= btx.S -.if defined(PAGING) -CFLAGS+=-DPAGING -.endif - .if defined(BOOT_BTX_NOHANG) BOOT_BTX_FLAGS=0x1 .else ==== //depot/projects/trustedbsd/audit_mac/src/sys/boot/pc98/btx/btx/btx.S#2 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.22 2006/11/09 08:05:51 nyan Exp $ + * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.23 2008/02/28 17:33:06 nyan Exp $ */ /* @@ -25,8 +25,7 @@ .set MEM_IDT,0x1e00 # IDT .set MEM_TSS,0x1f98 # TSS .set MEM_MAP,0x2000 # I/O bit map - .set MEM_DIR,0x4000 # Page directory - .set MEM_TBL,0x5000 # Page tables + .set MEM_TSS_END,0x3fff # Page directory .set MEM_ORG,0x9000 # BTX code .set MEM_USR,0xa000 # Start of user memory /* @@ -86,7 +85,7 @@ .set _ESP0H,MEM_ESP0>>0x8 # Byte 1 of ESP0 .set _ESP1H,MEM_ESP1>>0x8 # Byte 1 of ESP1 .set _TSSIO,MEM_MAP-MEM_TSS # TSS I/O base - .set _TSSLM,MEM_DIR-MEM_TSS-1 # TSS limit + .set _TSSLM,MEM_TSS_END-MEM_TSS # TSS limit .set _IDTLM,MEM_TSS-MEM_IDT-1 # IDT limit /* * Code segment. @@ -156,58 +155,15 @@ movb $SEL_SDATA,TSS_SS0(%di) # Set SS0 movb $_ESP1H,TSS_ESP1+1(%di) # Set ESP1 movb $_TSSIO,TSS_MAP(%di) # Set I/O bit map base -#ifdef PAGING /* - * Create page directory. - */ - xor %edx,%edx # Page - mov $PAG_SIZ>>0x8,%dh # size - xor %eax,%eax # Zero - mov $MEM_DIR,%di # Page directory - mov $PAG_CNT>>0xa,%cl # Entries - mov $MEM_TBL|0x7,%ax # First entry -init.5: stosl # Write entry - add %dx,%ax # To next - loop init.5 # Till done -/* - * Create page tables. - */ - mov $MEM_TBL,%di # Page table - mov $PAG_CNT>>0x8,%ch # Entries - xor %ax,%ax # Start address -init.6: mov $0x7,%al # Set U:W:P flags - cmp btx_hdr+0x8,%cx # Standard user page? - jb init.7 # Yes - cmp $PAG_CNT-MEM_BTX>>0xc,%cx # BTX memory? - jae init.7 # No or first page - and $~0x2,%al # Clear W flag - cmp $PAG_CNT-MEM_USR>>0xc,%cx # User page zero? - jne init.7 # No - testb $0x80,btx_hdr+0x7 # Unmap it? - jz init.7 # No - and $~0x1,%al # Clear P flag -init.7: stosl # Set entry - add %edx,%eax # Next address - loop init.6 # Till done -#endif -/* * Bring up the system. */ mov $0x2820,%bx # Set protected mode callw setpic # IRQ offsets lidt idtdesc # Set IDT -#ifdef PAGING - xor %eax,%eax # Set base - mov $MEM_DIR>>0x8,%ah # of page - mov %eax,%cr3 # directory -#endif lgdt gdtdesc # Set GDT mov %cr0,%eax # Switch to protected -#ifdef PAGING - or $0x80000001,%eax # mode and enable paging -#else inc %ax # mode -#endif mov %eax,%cr0 # ljmp $SEL_SCODE,$init.8 # To 32-bit code .code32 @@ -882,13 +838,6 @@ movl $MEM_USR,%eax # User base address addl 0xc(%esp,1),%eax # Change to user leal 0x4(%eax),%esp # stack -#ifdef PAGING - movl %cr0,%eax # Turn - andl $~0x80000000,%eax # off - movl %eax,%cr0 # paging - xorl %eax,%eax # Flush - movl %eax,%cr3 # TLB -#endif popl %eax # Call call *%eax # program intx30.1: orb $0x1,%ss:btx_hdr+0x7 # Flag reboot >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 5 01:18:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4D2F1065674; Wed, 5 Mar 2008 01:18: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 82AD41065671 for ; Wed, 5 Mar 2008 01:18:30 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E7158FC14 for ; Wed, 5 Mar 2008 01:18:30 +0000 (UTC) (envelope-from thompsa@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 m251IU4t080808 for ; Wed, 5 Mar 2008 01:18:30 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m251IU0C080806 for perforce@freebsd.org; Wed, 5 Mar 2008 01:18:30 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 5 Mar 2008 01:18:30 GMT Message-Id: <200803050118.m251IU0C080806@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136876 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, 05 Mar 2008 01:18:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=136876 Change 136876 by thompsa@thompsa_burger on 2008/03/05 01:18:00 Checkpoint work - locking fixes - net80211 state fixes - ditch second taskq - hook up hw kill switch - dont config firmware between each scan - consolidate timers Parts of this are from bensjc and sam. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#14 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpireg.h#3 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#14 (text+ko) ==== @@ -16,10 +16,10 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define VERSION "20071218-p4" +#define VERSION "20071127" #include -__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.8 2008/02/01 19:36:25 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.5.2.2 2008/02/02 06:49:57 sam Exp $"); /* * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters. @@ -75,15 +75,8 @@ #include #include -#if (__FreeBSD_version > 700000) -#define WPI_CURRENT -#endif - #include #include -#ifndef WPI_CURRENT -#include -#endif #include #include @@ -129,7 +122,6 @@ WPI_DEBUG_TEMP = 0x00000200, /* TXPower/Temp Calibration */ WPI_DEBUG_OPS = 0x00000400, /* wpi_ops taskq debug */ WPI_DEBUG_WATCHDOG = 0x00000800, /* Watch dog debug */ - WPI_DEBUG_HWSWITCH = 0x00001000, /* Watch hwswitch callout */ WPI_DEBUG_ANY = 0xffffffff }; @@ -200,8 +192,8 @@ static void wpi_intr(void *); static void wpi_ops(void *, int); static uint8_t wpi_plcp_signal(int); -static int wpi_queue_cmd(struct wpi_softc *, int); -static void wpi_tick(void *); +static int wpi_queue_cmd(struct wpi_softc *, int, int); +static void wpi_watchdog(void *); static int wpi_tx_data(struct wpi_softc *, struct mbuf *, struct ieee80211_node *, int); static void wpi_start(struct ifnet *); @@ -210,9 +202,7 @@ static void wpi_set_channel(struct ieee80211com *); static void wpi_scan_curchan(struct ieee80211com *, unsigned long); static void wpi_scan_mindwell(struct ieee80211com *); -static void wpi_watchdog(struct ifnet *); static int wpi_ioctl(struct ifnet *, u_long, caddr_t); -static void wpi_restart(void *, int); static void wpi_read_eeprom(struct wpi_softc *); static void wpi_read_eeprom_channels(struct wpi_softc *, int); static void wpi_read_eeprom_group(struct wpi_softc *, int); @@ -232,6 +222,7 @@ static int wpi_reset(struct wpi_softc *); static void wpi_hw_config(struct wpi_softc *); static void wpi_init(void *); +static void wpi_init_locked(struct wpi_softc *, int); static void wpi_stop(struct wpi_softc *); static void wpi_stop_locked(struct wpi_softc *); static void wpi_iter_func(void *, struct ieee80211_node *); @@ -243,7 +234,6 @@ static void wpi_power_calibration(struct wpi_softc *, int); static int wpi_get_power_index(struct wpi_softc *, struct wpi_power_group *, struct ieee80211_channel *, int); -static void wpi_radio(void *); static const char *wpi_cmd_str(int); static int wpi_probe(device_t); static int wpi_attach(device_t); @@ -314,17 +304,12 @@ static int wpi_load_firmware(struct wpi_softc *sc) { -#ifdef WPI_CURRENT const struct firmware *fp ; -#else - struct firmware *fp; -#endif struct wpi_dma_info *dma = &sc->fw_dma; const struct wpi_firmware_hdr *hdr; const uint8_t *itext, *idata, *rtext, *rdata, *btext; uint32_t itextsz, idatasz, rtextsz, rdatasz, btextsz; int error; - WPI_LOCK_DECL; DPRINTFN(WPI_DEBUG_FIRMWARE, ("Attempting Loading Firmware from wpi_fw module\n")); @@ -480,7 +465,6 @@ static void wpi_unload_firmware(struct wpi_softc *sc) { - WPI_LOCK_DECL; if (sc->fw_fp) { WPI_UNLOCK(sc); @@ -527,23 +511,16 @@ taskqueue_thread_enqueue, &sc->sc_tq); taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", device_get_nameunit(dev)); - - sc->sc_tq2 = taskqueue_create("wpi_taskq2", M_NOWAIT | M_ZERO, - taskqueue_thread_enqueue, &sc->sc_tq2); - taskqueue_start_threads(&sc->sc_tq2, 1, PI_NET, "%s taskq2", - device_get_nameunit(dev)); #else #error "Sorry, this driver is not yet ready for FreeBSD < 7.0" #endif /* Create the tasks that can be queued */ TASK_INIT(&sc->sc_opstask, 0, wpi_ops, sc); - TASK_INIT(&sc->sc_restarttask, 0, wpi_restart, sc); WPI_LOCK_INIT(sc); WPI_CMD_LOCK_INIT(sc); - callout_init_mtx(&sc->hwswitch_to, &sc->sc_mtx, 0); callout_init_mtx(&sc->calib_to, &sc->sc_mtx, 0); callout_init_mtx(&sc->watchdog_to, &sc->sc_mtx, 0); @@ -739,17 +716,15 @@ /* * Hook our interrupt after all initialization is complete. */ - error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET |INTR_MPSAFE , -#ifdef WPI_CURRENT - NULL, -#endif - wpi_intr, sc, &sc->sc_ih); + error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET |INTR_MPSAFE, + NULL, wpi_intr, sc, &sc->sc_ih); if (error != 0) { device_printf(dev, "could not set up interrupt\n"); goto fail; } - ieee80211_announce(ic); + if (bootverbose) + ieee80211_announce(ic); #ifdef XXX_DEBUG ieee80211_announce_channels(ic); #endif @@ -767,13 +742,11 @@ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; int ac; - WPI_LOCK_DECL; if (ifp != NULL) { wpi_stop(sc); callout_drain(&sc->watchdog_to); callout_drain(&sc->calib_to); - callout_drain(&sc->hwswitch_to); bpfdetach(ifp); ieee80211_ifdetach(ic); } @@ -809,7 +782,6 @@ if_free(ifp); taskqueue_free(sc->sc_tq); - taskqueue_free(sc->sc_tq2); WPI_LOCK_DESTROY(sc); WPI_CMD_LOCK_DESTROY(sc); @@ -983,14 +955,18 @@ { struct wpi_rbuf *rbuf = arg; struct wpi_softc *sc = rbuf->sc; - WPI_LOCK_DECL; + int waslocked; - WPI_LOCK(sc); + /* XXX Horrible! use busdma? */ + waslocked = WPI_LOCK_OWNED(sc); + if (!waslocked) + WPI_LOCK(sc); /* put the buffer back in the free list */ SLIST_INSERT_HEAD(&sc->rxq.freelist, rbuf, next); - WPI_UNLOCK(sc); + if (!waslocked) + WPI_UNLOCK(sc); } static int @@ -1129,7 +1105,9 @@ for (i = 0; i < WPI_RX_RING_COUNT; i++) { if (ring->data[i].m != NULL) { + WPI_UNLOCK(sc); m_freem(ring->data[i].m); + WPI_LOCK(sc); ring->data[i].m = NULL; } } @@ -1274,7 +1252,6 @@ wpi_shutdown(device_t dev) { struct wpi_softc *sc = device_get_softc(dev); - WPI_LOCK_DECL; WPI_LOCK(sc); wpi_stop_locked(sc); @@ -1362,19 +1339,12 @@ wpi_set_led(sc, WPI_LED_LINK, 20, 2); break; - case IEEE80211_S_ASSOC: - DPRINTF(("NEWSTATE:ASSOC\n")); - if (ic->ic_state != IEEE80211_S_RUN) - break; - /* FALLTHROUGH */ - case IEEE80211_S_AUTH: - sc->flags |= WPI_FLAG_AUTH; + sc->sc_autharg = arg; sc->config.associd = 0; sc->config.filter &= ~htole32(WPI_FILTER_BSS); - wpi_queue_cmd(sc,WPI_AUTH); - DPRINTF(("END AUTH\n")); - break; + /* Delay the auth transition until we can update the firmware */ + return (wpi_queue_cmd(sc, WPI_AUTH, 0)); case IEEE80211_S_RUN: if (ic->ic_opmode == IEEE80211_M_MONITOR) { @@ -1438,7 +1408,6 @@ wpi_set_led(sc, WPI_LED_LINK, 0, 1); break; - case IEEE80211_S_INIT: default: break; } @@ -1605,7 +1574,6 @@ struct wpi_rbuf *rbuf; struct ieee80211_node *ni; struct mbuf *m, *mnew; - WPI_LOCK_DECL; stat = (struct wpi_rx_stat *)(desc + 1); @@ -1655,11 +1623,7 @@ } } -#ifndef WPI_CURRENT - if (sc->sc_drvbpf != NULL) { -#else if (bpf_peers_present(sc->sc_drvbpf)) { -#endif struct wpi_rx_radiotap_header *tap = &sc->sc_rxtap; tap->wr_flags = 0; @@ -1752,7 +1716,6 @@ ring->queued--; sc->sc_tx_timer = 0; - callout_stop(&sc->watchdog_to); ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; wpi_start(ifp); } @@ -1788,6 +1751,7 @@ wpi_notif_intr(struct wpi_softc *sc) { struct ieee80211com *ic = &sc->sc_ic; + struct ifnet *ifp = ic->ic_ifp; struct wpi_rx_desc *desc; struct wpi_rx_data *data; uint32_t hw; @@ -1847,10 +1811,10 @@ device_printf(sc->sc_dev, "Radio transmitter is switched off\n"); sc->flags |= WPI_FLAG_HW_RADIO_OFF; - /* XXX Do something? */ - break; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + /* Disable firmware commands */ + WPI_WRITE(sc, WPI_UCODE_SET, WPI_DISABLE_CMD); } - sc->flags &= ~WPI_FLAG_HW_RADIO_OFF; break; } case WPI_START_SCAN: @@ -1872,7 +1836,8 @@ ("scan finished nchan=%d status=%d chan=%d\n", scan->nchan, scan->status, scan->chan)); - wpi_queue_cmd(sc, WPI_SCAN_NEXT); + sc->sc_scan_timer = 0; + ieee80211_scan_next(ic); break; } case WPI_MISSED_BEACON: @@ -1887,6 +1852,7 @@ ic->ic_bmissthreshold)); ieee80211_beacon_miss(ic); } + break; } } @@ -1903,7 +1869,6 @@ { struct wpi_softc *sc = arg; uint32_t r; - WPI_LOCK_DECL; WPI_LOCK(sc); @@ -1922,7 +1887,7 @@ device_printf(sc->sc_dev, "fatal firmware error\n"); DPRINTFN(6,("(%s)\n", (r & WPI_SW_ERROR) ? "(Software Error)" : "(Hardware Error)")); - taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); + wpi_queue_cmd(sc, WPI_RESTART, 1); sc->flags &= ~WPI_FLAG_BUSY; WPI_UNLOCK(sc); return; @@ -2002,7 +1967,7 @@ if (wh->i_fc[1] & IEEE80211_FC1_WEP) { k = ieee80211_crypto_encap(ic, ni, m0); - if (k == NULL){ + if (k == NULL) { m_freem(m0); return ENOBUFS; } @@ -2023,7 +1988,7 @@ tx->cck_mask = 0x0f; tx->lifetime = htole32(WPI_LIFETIME_INFINITE); tx->id = ismcast ? WPI_ID_BROADCAST : WPI_ID_BSS; - tx->len = htole16( m0->m_pkthdr.len); + tx->len = htole16(m0->m_pkthdr.len); if (ismcast) { if ((ni->ni_flags & IEEE80211_NODE_QOS) == 0 || @@ -2036,47 +2001,42 @@ } /* pick a rate */ - if((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_MASK){ + if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_MASK) { uint8_t subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; /* tell h/w to set timestamp in probe responses */ if (subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP) tx->flags |= htole32(WPI_TX_INSERT_TSTAMP); if (subtype == IEEE80211_FC0_SUBTYPE_ASSOC_REQ || - subtype == IEEE80211_FC0_SUBTYPE_REASSOC_REQ) + subtype == IEEE80211_FC0_SUBTYPE_REASSOC_REQ) tx->timeout = htole16(3); else tx->timeout = htole16(2); rate = ni->ni_rates.rs_rates[0] & IEEE80211_RATE_VAL; - } else if (ismcast ){ - rate = ic->ic_mcast_rate; - } else if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE){ - rate = ic->ic_fixed_rate; + } else if (ismcast) { + rate = ic->ic_mcast_rate; + } else if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) { + rate = ic->ic_fixed_rate; } else { - rate = ni->ni_rates.rs_rates[ni->ni_txrate]; - rate &= IEEE80211_RATE_VAL; + rate = ni->ni_rates.rs_rates[ni->ni_txrate]; + rate &= IEEE80211_RATE_VAL; } tx->rate = wpi_plcp_signal(rate); /* be very persistant at sending frames out */ tx->data_ntries = 15; /* XXX Way too high */ -#ifndef WPI_CURRENT - if (sc->sc_drvbpf != NULL ){ -#else - if (bpf_peers_present(sc->sc_drvbpf)){ -#endif - struct wpi_tx_radiotap_header *tap = &sc->sc_txtap; - tap->wt_flags = 0; - tap->wt_chan_freq = htole16(ni->ni_chan->ic_freq); - tap->wt_chan_flags = htole16(ni->ni_chan->ic_flags); - tap->wt_rate = rate; - tap->wt_hwqueue = ac; - if (wh->i_fc[1] & IEEE80211_FC1_WEP) - tap->wt_flags |= IEEE80211_RADIOTAP_F_WEP; - - bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m0); + if (bpf_peers_present(sc->sc_drvbpf)) { + struct wpi_tx_radiotap_header *tap = &sc->sc_txtap; + tap->wt_flags = 0; + tap->wt_chan_freq = htole16(ni->ni_chan->ic_freq); + tap->wt_chan_flags = htole16(ni->ni_chan->ic_flags); + tap->wt_rate = rate; + tap->wt_hwqueue = ac; + if (wh->i_fc[1] & IEEE80211_FC1_WEP) + tap->wt_flags |= IEEE80211_RADIOTAP_F_WEP; + bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m0); } /* save and trim IEEE802.11 header */ @@ -2153,16 +2113,18 @@ struct ieee80211_node *ni; struct ether_header *eh; struct mbuf *m0; - int ac; - WPI_LOCK_DECL; + int ac, waslocked; + + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; - WPI_LOCK(sc); + waslocked = WPI_LOCK_OWNED(sc); + if (!waslocked) + WPI_LOCK(sc); for (;;) { - IF_POLL(&ic->ic_mgtq, m0); + IF_DEQUEUE(&ic->ic_mgtq, m0); if (m0 != NULL) { - IF_DEQUEUE(&ic->ic_mgtq, m0); - ni = (struct ieee80211_node *)m0->m_pkthdr.rcvif; m0->m_pkthdr.rcvif = NULL; @@ -2228,11 +2190,7 @@ continue; } -#ifndef WPI_CURRENT - if (ic->ic_rawbpf != NULL) -#else if (bpf_peers_present(ic->ic_rawbpf)) -#endif bpf_mtap(ic->ic_rawbpf, m0); if (wpi_tx_data(sc, m0, ni, ac) != 0) { @@ -2246,24 +2204,8 @@ ic->ic_lastdata = ticks; } - WPI_UNLOCK(sc); -} - -static void -wpi_watchdog(struct ifnet *ifp) -{ - struct wpi_softc *sc = ifp->if_softc; - WPI_LOCK_DECL; - - WPI_LOCK(sc); - - DPRINTFN(WPI_DEBUG_WATCHDOG, ("tx_timer: %d\n", sc->sc_tx_timer)); - if (sc->sc_tx_timer && --sc->sc_tx_timer != 0) { - device_printf(sc->sc_dev,"device timeout\n"); - ifp->if_oerrors++; - taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); - } - WPI_UNLOCK(sc); + if (!waslocked) + WPI_UNLOCK(sc); } static int @@ -2272,7 +2214,6 @@ struct wpi_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; int error = 0; - WPI_LOCK_DECL; WPI_LOCK(sc); @@ -2280,8 +2221,9 @@ case SIOCSIFFLAGS: if ((ifp->if_flags & IFF_UP)) { if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) - wpi_init(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + wpi_init_locked(sc, 0); + } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) || + (sc->flags & WPI_FLAG_HW_RADIO_OFF)) wpi_stop_locked(sc); break; default: @@ -2294,7 +2236,7 @@ if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING) && ic->ic_roaming != IEEE80211_ROAMING_MANUAL) - wpi_init(sc); + wpi_init_locked(sc, 0); error = 0; } @@ -2638,14 +2580,10 @@ node.action = htole32(WPI_ACTION_SET_RATE); node.antenna = WPI_ANTENNA_BOTH; error = wpi_cmd(sc, WPI_CMD_ADD_NODE, &node, sizeof node, 1); - if (error != 0) { + if (error != 0) device_printf(sc->sc_dev, "could not add BSS node\n"); - return error; - } - sc->flags &= ~WPI_FLAG_AUTH; - - return 0; + return (error); } /* @@ -2721,18 +2659,18 @@ /*XXX Need to cater for multiple essids */ memset(&hdr->scan_essids, 0, sizeof(hdr->scan_essids)); nssid = MIN(ss->ss_nssid, WPI_SCAN_MAX_ESSIDS); - for(i = 0; i < nssid; i++ ){ - hdr->scan_essids[i].id = IEEE80211_ELEMID_SSID; - hdr->scan_essids[i].esslen = MIN(ss->ss_ssid[i].len, 32); - memcpy(hdr->scan_essids[i].essid, ss->ss_ssid[i].ssid, - hdr->scan_essids[i].esslen); + for (i = 0; i < nssid; i++ ){ + hdr->scan_essids[i].id = IEEE80211_ELEMID_SSID; + hdr->scan_essids[i].esslen = MIN(ss->ss_ssid[i].len, 32); + memcpy(hdr->scan_essids[i].essid, ss->ss_ssid[i].ssid, + hdr->scan_essids[i].esslen); #ifdef WPI_DEBUG - if (wpi_debug & WPI_DEBUG_SCANNING) { - printf("Scanning Essid: "); - ieee80211_print_essid(ic->ic_des_ssid[i].ssid, - ic->ic_des_ssid[i].len); - printf("\n"); - } + if (wpi_debug & WPI_DEBUG_SCANNING) { + printf("Scanning Essid: "); + ieee80211_print_essid(ic->ic_des_ssid[i].ssid, + ic->ic_des_ssid[i].len); + printf("\n"); + } #endif } @@ -2875,6 +2813,7 @@ ring->cur = (ring->cur + 1) % WPI_CMD_RING_COUNT; WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur); + sc->sc_scan_timer = 5; return 0; /* will be notified async. of failure/success */ } @@ -2956,7 +2895,7 @@ } /* configuration has changed, set Tx power accordingly */ - if ((error = wpi_set_txpower(sc, ic->ic_curchan,0)) != 0) { + if ((error = wpi_set_txpower(sc, ic->ic_curchan, 0)) != 0) { device_printf(sc->sc_dev, "could not set Tx power\n"); return error; } @@ -3104,16 +3043,83 @@ } static void +wpi_rfkill_resume(struct wpi_softc *sc) +{ + struct ifnet *ifp = sc->sc_ifp; + struct ieee80211com *ic = &sc->sc_ic; + int ntries; + + /* enable firmware again */ + WPI_WRITE(sc, WPI_UCODE_CLR, WPI_RADIO_OFF); + WPI_WRITE(sc, WPI_UCODE_CLR, WPI_DISABLE_CMD); + + /* wait for thermal sensors to calibrate */ + for (ntries = 0; ntries < 1000; ntries++) { + if ((sc->temp = (int)WPI_READ(sc, WPI_TEMPERATURE)) != 0) + break; + DELAY(10); + } + + if (ntries == 1000) { + device_printf(sc->sc_dev, + "timeout waiting for thermal calibration\n"); + WPI_UNLOCK(sc); + return; + } + DPRINTFN(WPI_DEBUG_TEMP,("temperature %d\n", sc->temp)); + + if (wpi_config(sc) != 0) { + device_printf(sc->sc_dev, "device config failed\n"); + WPI_UNLOCK(sc); + return; + } + + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + sc->flags &= ~WPI_FLAG_HW_RADIO_OFF; + + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_scan_next(ic); + + ieee80211_beacon_miss(ic); + + /* reset the led sequence */ + switch (ic->ic_state) { + case IEEE80211_S_SCAN: + wpi_set_led(sc, WPI_LED_LINK, 20, 2); + break; + + case IEEE80211_S_RUN: + if (ic->ic_opmode == IEEE80211_M_MONITOR) + wpi_set_led(sc, WPI_LED_LINK, 5, 5); + else + wpi_set_led(sc, WPI_LED_LINK, 0, 1); + break; + + default: + break; /* please compiler */ + } + + callout_reset(&sc->watchdog_to, hz, wpi_watchdog, sc); +} + +static void wpi_init(void *arg) { struct wpi_softc *sc = arg; + + WPI_LOCK(sc); + wpi_init_locked(sc, 0); + WPI_UNLOCK(sc); +} + +static void +wpi_init_locked(struct wpi_softc *sc, int force) +{ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; uint32_t tmp; int ntries, qid; - WPI_LOCK_DECL; - - WPI_LOCK(sc); wpi_stop_locked(sc); (void)wpi_reset(sc); @@ -3174,7 +3180,7 @@ if ((wpi_load_firmware(sc)) != 0) { device_printf(sc->sc_dev, "A problem occurred loading the firmware to the driver\n"); - goto fail; + return; } /* At this point the firmware is up and running. If the hardware @@ -3188,11 +3194,8 @@ if (!(tmp & 0x1)) { sc->flags |= WPI_FLAG_HW_RADIO_OFF; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - ifp->if_drv_flags |= IFF_DRV_RUNNING; device_printf(sc->sc_dev,"Radio Transmitter is switched off\n"); - callout_reset(&sc->hwswitch_to, hz, wpi_tick, sc); - goto fail; + goto out; } /* wait for thermal sensors to calibrate */ @@ -3205,29 +3208,30 @@ if (ntries == 1000) { device_printf(sc->sc_dev, "timeout waiting for thermal sensors calibration\n"); - goto fail; + return; } DPRINTFN(WPI_DEBUG_TEMP,("temperature %d\n", sc->temp)); + if (wpi_config(sc) != 0) { + device_printf(sc->sc_dev, "device config failed\n"); + return; + } + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; ifp->if_drv_flags |= IFF_DRV_RUNNING; - callout_reset(&sc->watchdog_to, hz, wpi_tick, sc); - WPI_UNLOCK(sc); +out: + callout_reset(&sc->watchdog_to, hz, wpi_watchdog, sc); if (ic->ic_opmode == IEEE80211_M_MONITOR) ieee80211_new_state(ic, IEEE80211_S_RUN, -1); else if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); return; - -fail: - WPI_UNLOCK(sc); } static void wpi_stop(struct wpi_softc *sc) { - WPI_LOCK_DECL; WPI_LOCK(sc); wpi_stop_locked(sc); @@ -3244,8 +3248,13 @@ int ac; sc->sc_tx_timer = 0; + sc->sc_scan_timer = 0; ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + sc->flags &= ~WPI_FLAG_HW_RADIO_OFF; + callout_stop(&sc->watchdog_to); + callout_stop(&sc->calib_to); + /* disable interrupts */ WPI_WRITE(sc, WPI_MASK, 0); WPI_WRITE(sc, WPI_INTR, WPI_INTR_MASK); @@ -3254,6 +3263,8 @@ /* Clear any commands left in the command buffer */ memset(sc->sc_cmd, 0, sizeof(sc->sc_cmd)); + sc->sc_cmd_cur = 0; + sc->sc_cmd_next = 0; wpi_mem_lock(sc); wpi_mem_write(sc, WPI_MEM_MODE, 0); @@ -3600,42 +3611,6 @@ } /** - * Called from a callout, wpi_radio checks the state of hw switch and - * if it's enabled restarts the device. The hardware doesn't give us an - * interupt when the hw switch is toggled on, only off hence we poll - * the device checking. Calling callout locks mtx; - */ -static void -wpi_radio(void *arg) -{ - struct wpi_softc *sc = arg; - struct ieee80211com *ic = &sc->sc_ic; - struct ifnet *ifp = ic->ic_ifp; - int tmp; - - wpi_mem_lock(sc); - tmp = wpi_mem_read(sc, WPI_MEM_HW_RADIO_OFF); - wpi_mem_unlock(sc); - - DPRINTFN(WPI_DEBUG_HWSWITCH, - ("wpi_radio callout: radio %d\n",tmp&0x1)); - - if (tmp & 0x1) { - // Radio enabled - device_printf(sc->sc_dev, "Hardware Switch Enabled\n"); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - ifp->if_drv_flags |= IFF_DRV_RUNNING; - - callout_reset(&sc->watchdog_to, hz, wpi_tick, sc); - if (ic->ic_opmode == IEEE80211_M_MONITOR) - ieee80211_new_state(ic, IEEE80211_S_RUN, -1); - else if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL) - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); - } else - callout_reset(&sc->hwswitch_to, hz, wpi_radio, sc); -} - -/** * Called by net80211 framework to indicate that a scan * is starting. This function doesn't actually do the scan, * wpi_scan_curchan starts things off. This function is more @@ -3648,7 +3623,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SCAN_START); + wpi_queue_cmd(sc, WPI_SCAN_START, 0); } /** @@ -3662,7 +3637,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SCAN_STOP); + wpi_queue_cmd(sc, WPI_SCAN_STOP, 0); } /** @@ -3675,7 +3650,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SET_CHAN); + wpi_queue_cmd(sc, WPI_SET_CHAN, 0); } /** @@ -3691,7 +3666,7 @@ sc->maxdwell = maxdwell; - wpi_queue_cmd(sc, WPI_SCAN_CURCHAN); + wpi_queue_cmd(sc, WPI_SCAN_CURCHAN, 0); } /** @@ -3717,7 +3692,6 @@ { struct wpi_softc *sc = arg; struct ieee80211com *ic = &sc->sc_ic; - WPI_LOCK_DECL; int cmd; again: @@ -3734,60 +3708,46 @@ WPI_CMD_UNLOCK(sc); WPI_LOCK(sc); - if (!(sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING)) { + DPRINTFN(WPI_DEBUG_OPS,("wpi_ops: command: %d\n", cmd)); + + switch (cmd) { + case WPI_RESTART: + wpi_init_locked(sc, 0); + WPI_UNLOCK(sc); + return; + + case WPI_RF_RESTART: + wpi_rfkill_resume(sc); WPI_UNLOCK(sc); return; } - { - const char *name[]={"SCAN_START", "SCAN_CURCHAN",0,"STOP",0,0,0,"CHAN", - 0,0,0,0,0,0,"AUTH",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"NEXT"}; - DPRINTFN(WPI_DEBUG_OPS,("wpi_ops: command: %d %s\n", cmd, name[cmd-1])); + if (!(sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING)) { + WPI_UNLOCK(sc); + return; } switch (cmd) { case WPI_SCAN_START: - if (sc->flags & WPI_FLAG_HW_RADIO_OFF) { - DPRINTF(("HERER\n")); - ieee80211_cancel_scan(ic); - } else - sc->flags |= WPI_FLAG_SCANNING; + sc->flags |= WPI_FLAG_SCANNING; break; case WPI_SCAN_STOP: sc->flags &= ~WPI_FLAG_SCANNING; break; - case WPI_SCAN_NEXT: - DPRINTF(("NEXT\n")); - WPI_UNLOCK(sc); - ieee80211_scan_next(ic); - WPI_LOCK(sc); - break; - case WPI_SCAN_CURCHAN: if (wpi_scan(sc)) ieee80211_cancel_scan(ic); break; case WPI_SET_CHAN: - if (sc->flags&WPI_FLAG_AUTH) { - DPRINTF(("Authenticating, not changing channel\n")); - break; - } - if (wpi_config(sc)) { - DPRINTF(("Scan cancelled\n")); - WPI_UNLOCK(sc); - ieee80211_cancel_scan(ic); - WPI_LOCK(sc); - sc->flags &= ~WPI_FLAG_SCANNING; - wpi_restart(sc,0); - WPI_UNLOCK(sc); - return; - } + /* XXX Is this needed ? */ + DPRINTF(("Ignoring WPI_SET_CHAN\n")); break; case WPI_AUTH: + /* The node must be registered in the firmware before auth */ if (wpi_auth(sc) != 0) { device_printf(sc->sc_dev, "could not send authentication request\n"); @@ -3795,10 +3755,8 @@ WPI_UNLOCK(sc); return; } - WPI_UNLOCK(sc); - ieee80211_node_authorize(ic->ic_bss); - ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1); - WPI_LOCK(sc); + /* Send the auth frame now */ + sc->sc_newstate(ic, IEEE80211_S_AUTH, sc->sc_autharg); break; } WPI_UNLOCK(sc); @@ -3815,10 +3773,16 @@ * a sleep enabled thread. */ static int -wpi_queue_cmd(struct wpi_softc *sc, int cmd) +wpi_queue_cmd(struct wpi_softc *sc, int cmd, int flush) { WPI_CMD_LOCK(sc); + if (flush) { + memset(sc->sc_cmd, 0, sizeof (sc->sc_cmd)); + sc->sc_cmd_cur = 0; + sc->sc_cmd_next = 0; + } + if (sc->sc_cmd[sc->sc_cmd_next] != 0) { WPI_CMD_UNLOCK(sc); DPRINTF(("%s: command %d dropped\n", __func__, cmd)); @@ -3835,23 +3799,6 @@ return 0; } -static void -wpi_restart(void * arg, int pending) -{ -#if 0 - struct wpi_softc *sc = arg; - struct ieee80211com *ic = &sc->sc_ic; - WPI_LOCK_DECL; - - DPRINTF(("Device failed, restarting device\n")); - WPI_LOCK(sc); - wpi_stop(sc); - wpi_init(sc); - WPI_UNLOCK(sc); - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); -#endif -} - /* * Allocate DMA-safe memory for firmware transfer. */ @@ -3871,18 +3818,50 @@ } /** - * Called every second, wpi_tick used by the watch dog timer + * Called every second, wpi_watchdog used by the watch dog timer * to check that the card is still alive */ static void -wpi_tick(void *arg) +wpi_watchdog(void *arg) { struct wpi_softc *sc = arg; + struct ifnet *ifp = sc->sc_ifp; + uint32_t tmp; DPRINTFN(WPI_DEBUG_WATCHDOG,("Watchdog: tick\n")); - wpi_watchdog(sc->sc_ifp); - callout_reset(&sc->watchdog_to, hz, wpi_tick, sc); + if (sc->flags & WPI_FLAG_HW_RADIO_OFF) { + /* No need to lock firmware memory */ + tmp = wpi_mem_read(sc, WPI_MEM_HW_RADIO_OFF); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 5 01:35:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15EA51065671; Wed, 5 Mar 2008 01:35: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 C9C78106566C for ; Wed, 5 Mar 2008 01:35:49 +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 B66AD8FC16 for ; Wed, 5 Mar 2008 01:35:49 +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 m251ZnZe081405 for ; Wed, 5 Mar 2008 01:35:49 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m251Zn2O081403 for perforce@freebsd.org; Wed, 5 Mar 2008 01:35:49 GMT (envelope-from sam@freebsd.org) Date: Wed, 5 Mar 2008 01:35:49 GMT Message-Id: <200803050135.m251Zn2O081403@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 136877 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, 05 Mar 2008 01:35:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=136877 Change 136877 by sam@sam_ebb on 2008/03/05 01:35:33 v0.9.20.3 doesn't return maxTxPower settings for 5111 parts; fake it using the max regulatory power, the hal will cap any tx power above what the h/w can do Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#40 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#40 (text+ko) ==== @@ -5746,7 +5746,7 @@ int i, nhalchans, error; halchans = malloc(IEEE80211_CHAN_MAX * sizeof(HAL_CHANNEL), - M_TEMP, M_NOWAIT); + M_TEMP, M_NOWAIT | M_ZERO); if (halchans == NULL) { device_printf(sc->sc_dev, "%s: unable to allocate channel table\n", __func__); @@ -5771,8 +5771,10 @@ ichan->ic_ieee = ath_hal_mhz2ieee(ah, c->channel, c->channelFlags); if (bootverbose) - device_printf(sc->sc_dev, "hal channel %u/%x -> %u\n", - c->channel, c->channelFlags, ichan->ic_ieee); + device_printf(sc->sc_dev, "hal channel %u/%x -> %u " + "maxpow %d minpow %d maxreg %d\n", + c->channel, c->channelFlags, ichan->ic_ieee, + c->maxTxPower, c->minTxPower, c->maxRegTxPower); ichan->ic_freq = c->channel; if ((c->channelFlags & CHANNEL_PUREG) == CHANNEL_PUREG) { @@ -5794,7 +5796,9 @@ ichan->ic_flags); } ichan->ic_maxregpower = c->maxRegTxPower; /* dBm */ - ichan->ic_maxpower = c->maxTxPower; /* 1/2 dBm */ + /* XXX: old hal's don't provide maxTxPower for some parts */ + ichan->ic_maxpower = (c->maxTxPower != 0) ? + c->maxTxPower : 2*c->maxRegTxPower; /* 1/2 dBm */ ichan->ic_minpower = c->minTxPower; /* 1/2 dBm */ } *nchans = nhalchans; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 02:02:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEEB7106566C; Wed, 5 Mar 2008 02:02: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 AE9DE1065670 for ; Wed, 5 Mar 2008 02:02:22 +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 9A1478FC20 for ; Wed, 5 Mar 2008 02:02:22 +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 m2522MOO082341 for ; Wed, 5 Mar 2008 02:02:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2522MnR082339 for perforce@freebsd.org; Wed, 5 Mar 2008 02:02:22 GMT (envelope-from sam@freebsd.org) Date: Wed, 5 Mar 2008 02:02:22 GMT Message-Id: <200803050202.m2522MnR082339@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 136880 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, 05 Mar 2008 02:02:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=136880 Change 136880 by sam@sam_ebb on 2008/03/05 02:02:11 add IEEE80211_IOC_SCAN_CHECK flag to IEEE80211_IOC_SCAN_REQ so user apps can check the scan cache before kicking off a scan Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#35 edit .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#12 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#35 (text+ko) ==== @@ -2284,8 +2284,8 @@ #define IEEE80211_IOC_SCAN_FLAGS \ (IEEE80211_IOC_SCAN_NOPICK | IEEE80211_IOC_SCAN_ACTIVE | \ IEEE80211_IOC_SCAN_PICK1ST | IEEE80211_IOC_SCAN_BGSCAN | \ - IEEE80211_IOC_SCAN_ONCE | IEEE80211_IOC_SCAN_FLUSH | \ - IEEE80211_IOC_SCAN_NOBCAST) + IEEE80211_IOC_SCAN_ONCE | IEEE80211_IOC_SCAN_NOBCAST | \ + IEEE80211_IOC_SCAN_FLUSH | IEEE80211_IOC_SCAN_CHECK) struct ieee80211com *ic = vap->iv_ic; struct ieee80211_scan_req sr; /* XXX off stack? */ int error, i; @@ -2372,11 +2372,19 @@ vap->iv_flags_ext &= ~IEEE80211_FEXT_SCANREQ; IEEE80211_UNLOCK(ic); /* XXX neeed error return codes */ - (void) ieee80211_start_scan(vap, sr.sr_flags, - sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell, - sr.sr_nssid, - /* NB: cheat, we assume the structures are compatible */ - (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]); + if (sr.sr_flags & IEEE80211_IOC_SCAN_CHECK) { + (void) ieee80211_check_scan(vap, sr.sr_flags, + sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell, + sr.sr_nssid, + /* NB: cheat, we assume structures are compatible */ + (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]); + } else { + (void) ieee80211_start_scan(vap, sr.sr_flags, + sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell, + sr.sr_nssid, + /* NB: cheat, we assume structures are compatible */ + (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]); + } } return error; #undef IEEE80211_IOC_SCAN_FLAGS ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#12 (text+ko) ==== @@ -637,6 +637,7 @@ #define IEEE80211_IOC_SCAN_ONCE 0x00010 /* do one complete pass */ #define IEEE80211_IOC_SCAN_NOBCAST 0x00020 /* don't send bcast probe req */ #define IEEE80211_IOC_SCAN_FLUSH 0x10000 /* flush scan cache first */ +#define IEEE80211_IOC_SCAN_CHECK 0x20000 /* check scan cache first */ u_int sr_duration; /* duration (ms) */ #define IEEE80211_IOC_SCAN_DURATION_MIN 1 #define IEEE80211_IOC_SCAN_DURATION_MAX 0x7fffffff From owner-p4-projects@FreeBSD.ORG Wed Mar 5 06:05:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E88701065672; Wed, 5 Mar 2008 06:05:42 +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 A63EA1065670 for ; Wed, 5 Mar 2008 06:05:42 +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 926E58FC20 for ; Wed, 5 Mar 2008 06:05:42 +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 m2565gE5006791 for ; Wed, 5 Mar 2008 06:05:42 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2565fLF006789 for perforce@freebsd.org; Wed, 5 Mar 2008 06:05:41 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 5 Mar 2008 06:05:41 GMT Message-Id: <200803050605.m2565fLF006789@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 136888 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, 05 Mar 2008 06:05:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=136888 Change 136888 by pgj@disznohal on 2008/03/05 06:04:42 Add initial Hungarian translation of Chapter 29: Advanced Networking. Affected files ... .. //depot/projects/docproj_hu/books/handbook/advanced-networking/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/advanced-networking/chapter.sgml#4 (text+ko) ==== @@ -4,75 +4,99 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.404 2007/12/20 22:21:44 gabor Exp $ --> - - Advanced Networking + + + + Egyéb haladó hálózati + témák - Synopsis + Áttekintés - This chapter will cover a number of advanced networking - topics. + Ebben a fejezetben számos komolyabb + hálózati témát fogunk + tárgyalni. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - The basics of gateways and routes. + az átjárók és az + útválasztás alapjait - How to set up IEEE 802.11 and &bluetooth; devices. + hogyan állítsunk be IEEE 802.11 és + &bluetooth; eszközöket - How to make FreeBSD act as a bridge. + a &os; segítségével hogyan tudunk + két hálózatot összekötni + hálózati hidakon keresztül - How to set up network booting on a diskless machine. + hogyan indítsuk hálózatról egy + lemez nélküli gépet - How to set up network address translation. + hogyan állítsunk be hálózati + címfordítást - How to connect two computers via PLIP. + hogyan kapcsoljunk össze két + számítógépet PLIP + használatával - How to set up IPv6 on a FreeBSD machine. + hogyan állítsuk be az IPv6 + használatát egy &os;-s gépen - How to configure ATM. + hogyan állítsuk be az ATM + használatát - How to enable and utilize the features of CARP, the - Common Access Redundancy Protocol in &os; + hogyan engedélyezzük és + használjuk ki a Közös címredundancia + protokollt &os;-ben - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Understand the basics of the /etc/rc scripts. + az /etc/rc könyvtárban + található szkriptek + mûködésének ismerete - Be familiar with basic network terminology. + az alapvetõ hálózati fogalmak + ismerete - Know how to configure and install a new FreeBSD kernel - (). + egy új &os; rendszermag + beállításának és + telepítésének ismerete () - Know how to install additional third-party - software (). + a külsõ fejlesztésû szoftverek + telepítésének ismerete () @@ -81,40 +105,53 @@ - - Coranth - Gryphon - Contributed by - + + Coranth + Gryphon + Készítette: + - Gateways and Routes + + Átjárók és az + útválasztás + + útválasztás + átjáró + alhálózat - routing - gateway - subnet - For one machine to be able to find another over a network, - there must be a mechanism in place to describe how to get from - one to the other. This is called - routing. A route is a - defined pair of addresses: a destination and a - gateway. The pair indicates that if you are - trying to get to this destination, - communicate through this gateway. There - are three types of destinations: individual hosts, subnets, and - default. The default route is - used if none of the other routes apply. We will talk a little - bit more about default routes later on. There are also three - types of gateways: individual hosts, interfaces (also called - links), and Ethernet hardware addresses (MAC - addresses). - + Egy gép egy másikat úgy tud + megtalálni a hálózaton, ha erre létezik + egy olyan mechanizmus, amely leírja, hogyan tudunk eljutni + az egyiktõl a másikig. Ezt hívjuk + útválasztásnak + (routing). Az útvonal (route) címek + egy párjaként adható meg, egy + céllal (destination) és egy + átjáróval (gateway). Ez a + páros mondja meg, hogy ha el akarjuk érni ezt a + célt, akkor ezen az + átjárón kell + továbbhaladnunk. A céloknak három + típusa lehet: egyéni gépek, + alhálózatok és az + alapértelmezett. Az + alapértelmezett útvonalat (default + route) abban az esetben alkalmazzuk, ha semelyik más + útvonal nem megfelelõ. Az alapértelmezett + útvonalakról a késõbbiekben még + beszélni fogunk. Három típusa van az + átjáróknak: egyéni gépek, + felületek (avagy linkek) és a hardveres + Ethernet címek (MAC-címek). - An Example + Példa - To illustrate different aspects of routing, we will use the - following example from netstat: + Az útválasztás + különbözõ területeit a + következõ netstat parancs + alapján fogjuk bemutatni: &prompt.user; netstat -r Routing tables @@ -131,76 +168,110 @@ host2.example.com link#1 UC 0 0 224 link#1 UC 0 0 - default route - The first two lines specify the default route (which we - will cover in the next - section) and the localhost route. + alapértelmezett + útvonal + + Az elsõ két sorban az alapértelmezett + útvonalat (amirõl részleteiben majd a következõ + szakaszban fogunk szólni) és a + localhost útvonalát + láthatjuk. + + visszahurkolt + eszköz - loopback device - The interface (Netif column) that this - routing table specifies to use for - localhost is lo0, - also known as the loopback device. This says to keep all - traffic for this destination internal, rather than sending it - out over the LAN, since it will only end up back where it - started. + A localhost címhez az + útválasztási táblázatban a + lo0 eszköz tartozik (a + Netif oszlopban), amit visszahurkolt + eszköznek (loopback device) is neveznek. Ez arra + utasítja a rendszert, hogy az ide küldött + csomagokat ne küldje keresztül a helyi + hálózaton, hanem csak ezen a belsõ + felületen, mivel úgyis oda jutnak vissza, ahonnan + indultak. - Ethernet - MAC address + Ethernet + MAC-cím - The next thing that stands out are the addresses beginning - with 0:e0:. These are Ethernet - hardware addresses, which are also known as MAC addresses. - FreeBSD will automatically identify any hosts - (test0 in the example) on the local Ethernet - and add a route for that host, directly to it over the - Ethernet interface, ed0. There is - also a timeout (Expire column) associated - with this type of route, which is used if we fail to hear from - the host in a specific amount of time. When this happens, the - route to this host will be automatically deleted. These hosts - are identified using a mechanism known as RIP (Routing - Information Protocol), which figures out routes to local hosts - based upon a shortest path determination. + + A táblázatban a következõ sor egy + 0:e0 kezdetû címet + tartalmaz. Ez egy hardveres Ethernet-cím, más + néven MAC-cím. A &os; magától + képes beazonosítani tetszõleges gépet + (ebben a példában a test0 + gépet) a helyi Ethernetes hálózaton + és felvenni hozzá egy útvonalat, + közvetlenül az ed0 Ethernetes + csatolófelületen keresztül. Ehhez a + típusú útvonalhoz tartozik még egy + lejárati idõ is (a Expire + oszlop), ami akkor kap szerepet, ha ennyi idõ + elteltével nem kapunk semmilyen hírt a + géprõl. Amikor ilyen történik, az + géphez eddig nyilvántartott útvonal + automatikusan törlõdik. Ezek a gépek a RIP + (útvonal-információs protokoll, Routing + Information Protocol) nevû mechanizmuson keresztül + azonosítódnak, mely a legrövidebb út + kiszámítása alapján határozza + meg a helyi gépekhez vezetõ útvonalat. + + alhálózat - subnet - FreeBSD will also add subnet routes for the local subnet (10.20.30.255 is the broadcast address for the - subnet 10.20.30, and example.com is the domain name associated - with that subnet). The designation link#1 refers - to the first Ethernet card in the machine. You will notice no - additional interface is specified for those. + A &os; a helyi alhálózat (10.20.30.255 és example.com, az + alhálózathoz tartozó név) + esetében is felvesz útvonalakat. A + link#1 megnevezés a gépben + található elsõ Ethernet-kártyát + jelöli. Megfigyelhetjük, hogy rajta kívül + nincs is több felülete. - Both of these groups (local network hosts and local subnets) have - their routes automatically configured by a daemon called - routed. If this is not run, then only - routes which are statically defined (i.e. entered explicitly) will - exist. + Mindegyik csoport (a helyi hálózati + gépek és a helyi alhálózatokatok) + útvonalait a routed nevû + démon tartja automatikusan karban. Ha ez nem fut, akkor + csak a statikusan definiált (vagyis az elõre + megadott) útvonalak fognak létezni. - The host1 line refers to our host, which it - knows by Ethernet address. Since we are the sending host, FreeBSD - knows to use the loopback interface (lo0) - rather than sending it out over the Ethernet interface. + A host1 sor a saját + gépünkre vonatkozik, amit az Ethernet-címe + szerint ismerünk. Mivel mi vagyunk küldõ + gép, a &os; tudni fogja, hogy ilyenkor az Ethernetes + felület helyett a visszahurkolt eszközt + (lo0) kell használnia. - The two host2 lines are an example of - what happens when we use an &man.ifconfig.8; alias (see the - section on Ethernet for reasons why we would do this). The - => symbol after the - lo0 interface says that not only are - we using the loopback (since this address also refers to the - local host), but specifically it is an alias. Such routes - only show up on the host that supports the alias; all other - hosts on the local network will simply have a - link#1 line for such routes. + A két host2 sor arra mutat + példát, amikor az &man.ifconfig.8; paranccsal + álneveket hozunk létre (ennek konkrét okait + ld. az Ethernetrõl szóló részben). A + lo0 felület neve után + szereplõ => szimbólum azt + jelzi, hogy ez nem csak egy visszahurkolt felület (mivel a + címe szintén a helyi gépre mutat), hanem a + felület egy másik neve. Ilyen útvonalak csak + az álneveket ismerõ gépeknél jelennek + meg. A helyi hálózaton minden más + gépnél egyszerûen csak a + link#1 jelenik meg az ilyen útvonalak + esetében. - The final line (destination subnet 224) deals - with multicasting, which will be covered in another section. + Az utolsó sor (a 224 + céllal rendelkezõ alhálózat) a + többesküldésre (multicasting) szolgál, + ezzel egy másik szakaszban foglalkozunk. - Finally, various attributes of each route can be seen in - the Flags column. Below is a short table - of some of these flags and their meanings: + Végezetül az útvonalakhoz tartozó + különféle tulajdonságok a + Flags oszlopban láthatóak. Az + alábbi rövid táblázatban + összefoglaltunk közülük + néhányat: @@ -210,75 +281,100 @@ U - Up: The route is active. + Up: az útvonal aktív H - Host: The route destination is a single host. + Host: az útvonal egyetlen gépre + mutat G - Gateway: Send anything for this destination on to this - remote system, which will figure out from there where to send - it. + Gateway: az adott cél felé ezen a + gépen keresztül küldjünk, ami majd + kitalálja, hogy merre küldje + tovább S - Static: This route was configured manually, not - automatically generated by the system. + Static: ez az útvonal statikus, nem a + rendszer hozta létre automatikusan C - Clone: Generates a new route based upon this route for - machines we connect to. This type of route is normally used - for local networks. + Clone: ebbõl az útvonalból + származtatunk új útvonalat azokhoz a + gépekhez, amikhez csatlakozunk. Ilyen + útvonalakat általában a helyi + hálózatokban találhatunk W - WasCloned: Indicated a route that was auto-configured - based upon a local area network (Clone) route. + WasCloned: azt jelzi, hogy ezt az útvonalat + egy helyi hálózatra mutató + (klón, avagy Clone típusú) + útvonal alapján hoztuk létre + automatikusan L - Link: Route involves references to Ethernet - hardware. + Link: az útvonal Ethernetes hardverhez + kapcsolódik + - Default Routes + Alapértelmezett útvonalak + + alapértelmezett + útvonal - default route - When the local system needs to make a connection to a remote host, - it checks the routing table to determine if a known path exists. If - the remote host falls into a subnet that we know how to reach (Cloned - routes), then the system checks to see if it can connect along that - interface. + Amikor a helyi rendszernek fel kell vennie a kapcsolatot egy + távoli géppel, ellenõrzi az + útválasztási táblázatban, + hogy létezik-e már hozzá valamilyen + útvonal. Ha a távoli gép egy olyan + alhálózatba esik, amit már el tudunk + érni (klónozott útvonalak), akkor a + rendszer megnézi, hogy a hozzátartozó + felületen képes-e kapcsolatot + létesíteni. - If all known paths fail, the system has one last option: the - default route. This route is a special type of gateway - route (usually the only one present in the system), and is always - marked with a c in the flags field. For hosts on a - local area network, this gateway is set to whatever machine has a - direct connection to the outside world (whether via PPP link, - DSL, cable modem, T1, or another network interface). + Ha minden ismert útvonal csõdöt mond, akkor + a rendszerünknek marad még egy utolsó + esélye: az alapértelmezett + útvonal használata. Ez az útvonal egy + speciális átjáró útvonal + (amibõl általában csak egyetlen egy + létezik a rendszerben) és tulajdonságai + között mindig szerepel a c. A + helyi hálózat gépei közül ez az + átjáró az legyen, amelyik + közvetlenül kapcsolódik a külsõ + világhoz (PPP összeköttetéssel, DSL, + kábelmodem, T1 vagy bármilyen más + hálózati felületen keresztül). - If you are configuring the default route for a machine which - itself is functioning as the gateway to the outside world, then the - default route will be the gateway machine at your Internet Service - Provider's (ISP) site. + Amikor pedig magát a külsõ világ + felé átjáróként + szolgáló gépet állítjuk be, + az alapértelmezett útvonal az internet + szolgáltatónk által megadott gép + címe lesz. - Let us look at an example of default routes. This is a common - configuration: + Vegyünk egy példát az + alapértelmezett útvonalakra. Egy tipikus + konfiguráció: @@ -287,165 +383,236 @@ -[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] +[Helyi2] <--ether--> [Helyi1] <--PPP--> [ Szolg. ] <--ether--> [T1-ÁJ] - The hosts Local1 and - Local2 are at your site. - Local1 is connected to an ISP via a dial up - PPP connection. This PPP server computer is connected through - a local area network to another gateway computer through an - external interface to the ISPs Internet feed. + A Helyi1 és Helyi2 + gépek a hálózatunk tagjai. A + Helyi1 az internet szolgáltatót + éri el egy betárcsázós PPP + kapcsolaton keresztül. A PPP szerver a külsõ + felületén keresztül a helyi + hálózaton pedig egy másik + átjáróhoz csatlakozik. - The default routes for each of your machines will be: + Az egyes gépek alapértelmezett + útvonalai így alakulnak: - Host - Default Gateway - Interface + Gép + Alapértelmezett + átjáró + Felület - Local2 - Local1 + Helyi2 + Helyi1 Ethernet - Local1 - T1-GW + Helyi1 + T1-ÁJ PPP - A common question is Why (or how) would we set - the T1-GW to be the default gateway for - Local1, rather than the ISP server it is - connected to?. + Gyakran felmerül a kérdés, hogy + Miért (és hogy-hogy) a + T1-ÁJ a Helyi1 + gép számára az alapértelmezett + átjáró és nem a + szolgáltató azon szervere, amihez + csatlakozott? - Remember, since the PPP interface is using an address on the ISP's - local network for your side of the connection, routes for any other - machines on the ISP's local network will be automatically generated. - Hence, you will already know how to reach the T1-GW - machine, so there is no need for the intermediate step - of sending traffic to the ISP server. + Ne felejtsük el, hogy a PPP felület a + szolgáltató helyi hálózatában a + mi részünkre kap címet, és a itt az + összes többi géphez tartozó + útvonal automatikusan létrejön. Emiatt + már eleve el tudjuk érni a + T1-ÁJ gépet, ezért amikor + a szolgáltatón keresztül küldünk, + nincs szükségünk egy további + lépcsõre. - It is common to use the address X.X.X.1 as the gateway address for your local - network. So (using the same example), if your local class-C address - space was 10.20.30 and your ISP was - using 10.9.9 then the default routes - would be: + Általában a X.X.X.1 címet szokták a helyi + hálózat átjárójának + kiosztani. Ezért (az elõbbi példát + újrahasznosítva) ha a helyi + hálózatunkon a C osztályú 10.20.30 címtartományt + használjuk, és a szolgáltatónkhoz a + 10.9.9 címtartomány + tartozik, akkor az alapértelmezett útvonalak a + következõk lesznek: - Host - Default Route + Gép + Alapértelmezett útvonal - Local2 (10.20.30.2) - Local1 (10.20.30.1) + Helyi2 (10.20.30.2) + Helyi1 (10.20.30.1) - Local1 (10.20.30.1, 10.9.9.30) - T1-GW (10.9.9.1) + Helyi1 (10.20.30.1, 10.9.9.30) + T1-ÁJ (10.9.9.1) - You can easily define the default route via the - /etc/rc.conf file. In our example, on the - Local2 machine, we added the following line - in /etc/rc.conf: + Az /etc/rc.conf + állományon keresztül könnyen meg tudjuk + adni az alapértelmezett útvonalat. A + példánkban a Helyi2 gép + /etc/rc.conf + állományába kell felvennünk a + következõ sort: defaultrouter="10.20.30.1" - It is also possible to do it directly from the command - line with the &man.route.8; command: + De a &man.route.8; parancs használatával + akár közvetlenül is megtehetjük + mindezt: &prompt.root; route add default 10.20.30.1 - For more information on manual manipulation of network - routing tables, consult &man.route.8; manual page. + A hálózati útválasztási + táblázatok kézzel történõ + módosításáról a &man.route.8; + man oldalon olvashatunk bõvebben. + - Dual Homed Hosts - dual homed hosts - There is one other type of configuration that we should cover, and - that is a host that sits on two different networks. Technically, any - machine functioning as a gateway (in the example above, using a PPP - connection) counts as a dual-homed host. But the term is really only - used to refer to a machine that sits on two local-area - networks. + Kettõs hálózatú + gépek + + kettõs hálózatú + gépek + + Egy másik típusú + konfigurációról is szót kell + ejtenünk, ahol a gép egyszerre két + hálózatnak is tagja. Gyakorlatilag az + átjáróként üzemelõ + számítógépek (mint mondjuk az, ami a + fenti példában PPP kapcsolattal csatlakozott) + ilyen kettõs hálózatú gépnek + tekinthetõek. De ez a kifejezés + igazából csak azokra az esetekre illik, ahol a + gép egyszerre két helyi hálózatban + is megjelenik. + + Az egyik esetben a gépben két + Ethernet-kártya található, melyek mindegyike + birtokol egy-egy hálózati címet az egyes + alhálózatokon. De elõfordulhat az is, hogy a + gépünkben csupán egyetlen + Ethernet-kártya van és az &man.ifconfig.8; + segítségével álneveket hoztunk + létre hozzá. Az elõbbi + általában két fizikailag + elkülönölõ Ethernet alapú + hálózat esetében történik, + míg az utóbbinál csak egyetlen fizikai + hálózati szegmensrõl van szó, ami + viszont logikailag két külön + alhálózatot tartalmaz. - In one case, the machine has two Ethernet cards, each - having an address on the separate subnets. Alternately, the - machine may only have one Ethernet card, and be using - &man.ifconfig.8; aliasing. The former is used if two - physically separate Ethernet networks are in use, the latter - if there is one physical network segment, but two logically - separate subnets. + Akármelyiket is vesszük, az + útválasztási táblázatok + úgy jönnek létre, hogy a gép a + másik alhálózat felé + átjáróként (bejövõ + útvonalként) lesz nyilvántartva. Ebben a + konfigurációban a gép a két + alhálózat között + útválasztóként fog + tevékenykedni, és gyakran valamelyik vagy + éppen mind a két irányba be kell + állítanunk valamilyen csomagszûrést + vagy tûzfalazást. - Either way, routing tables are set up so that each subnet knows - that this machine is the defined gateway (inbound route) to the other - subnet. This configuration, with the machine acting as a router - between the two subnets, is often used when we need to implement - packet filtering or firewall security in either or both - directions. + Ha azt szeretnénk, hogy ez a gép a két + felület között továbbítson + csomagokat, akkor a &os;-ben külön engedélyezni + kell ezt a lehetõséget. A következõ + szakaszban ennek részleteit tárjuk fel. - If you want this machine to actually forward packets - between the two interfaces, you need to tell FreeBSD to enable - this ability. See the next section for more details on how - to do this. - Building a Router + Az útválasztók + beállítása + + útválasztó - router + A hálózati útválasztó nem + csinál mást, csak továbbküldi az egyik + felületén beérkezõ csomagokat egy + másik felületére. Az internetes + szabványok és a sokéves mérnöki + tapasztalat azonban nem engedik, hogy a &os; projekt + alapértelmezés szerint is + elérhetõvé tegye ezt a &os; rendszerekben. + Ezt a lehetõséget az alábbi + változó YES + értékûre + állításával lehet + engedélyezni az &man.rc.conf.5; + állományban: - A network router is simply a system that forwards packets - from one interface to another. Internet standards and good - engineering practice prevent the FreeBSD Project from enabling - this by default in FreeBSD. You can enable this feature by - changing the following variable to YES in - &man.rc.conf.5;: + gateway_enable=YES # Ez legyen YES, ha átjáróként akarunk üzemelni - gateway_enable=YES # Set to YES if this host will be a gateway + Ezzel lényegében a + net.inet.ip.forwarding &man.sysctl.8; + változó értékét + állítjuk 1-re. Ha + valamiért egy idõre szüneteltetni akarjuk a + csomagok továbbküldését, akkor + állítsuk a változót + értékét 0-ra. - This option will set the &man.sysctl.8; variable - net.inet.ip.forwarding to - 1. If you should need to stop routing - temporarily, you can reset this to 0 temporarily. + Az új útválasztónak nem + árt arról sem tudnia, hogy merre + továbbítsa a forgalmat. Ha elég + egyszerû a hálózatunk, akkor akár + statikus útvonalakat is használhatunk. A &os; + alapból tartalmazza a BSD-k esetén + szabványos &man.routed.8; útválasztó + démont, ami a RIP (v1 és v2) valamint az IRDP + megoldásokat ismeri. A BGP v4, OSPF v2 és a + többi fejlettebb útválasztási + protokoll a net/zebra + csomagban érhetõ el. Az ettõl bonyolultabb + hálózati útválasztási + feladatokhoz olyan kereskedelmi termékek is + elérhetõek, mint mondjuk a + &gated;. - Your new router will need routes to know where to send the - traffic. If your network is simple enough you can use static - routes. FreeBSD also comes with the standard BSD routing - daemon &man.routed.8;, which speaks RIP (both version 1 and - version 2) and IRDP. Support for BGP v4, OSPF v2, and other - sophisticated routing protocols is available with the - net/zebra package. - Commercial products such as &gated; are also available for more - complex network routing solutions. + BGP + RIP + OSPF -BGP -RIP -OSPF @@ -454,17 +621,19 @@ Al Hoang - Contributed by + Írta: - - Setting Up Static Routes + + Statikus útvonalak + beállítása - Manual Configuration + Manuális konfiguráció - Let us assume we have a network as follows: + Tegyük fel, hogy hálózatunk a + következõ: @@ -474,45 +643,52 @@ INTERNET - | (10.0.0.1/24) Default Router to Internet + | (10.0.0.1/24) alapértelmezett átjáró az internetre | - |Interface xl0 + |az xl0 felület |10.0.0.10/24 +------+ - | | RouterA - | | (FreeBSD gateway) + | | A-utvalaszto + | | (FreeBSD átjáró) +------+ - | Interface xl1 + | az xl1 felület | 192.168.1.1/24 | +--------------------------------+ - Internal Net 1 | 192.168.1.2/24 + 1. belsõ hálózat | 192.168.1.2/24 | +------+ - | | RouterB + | | B-utvalaszto | | +------+ | 192.168.2.1/24 | - Internal Net 2 + 2. belsõ hálózat - In this scenario, RouterA is our &os; - machine that is acting as a router to the rest of the - Internet. It has a default route set to 10.0.0.1 which allows it to connect - with the outside world. We will assume that - RouterB is already configured properly and - knows how to get wherever it needs to go. (This is simple - in this picture. Just add a default route on - RouterB using 192.168.1.1 as the gateway.) + Ebben a forgatókönyvben az + A-utvalaszto a mi &os;-s gépünk, + ami az internet felé vezetõ + útválasztó szerepét + játssza. Számára az + alapértelmezett útvonal a 10.0.0.1, amin keresztül a + külsõ világot tudja elérni. + Feltételezzük, hogy a + B-utvalaszto-t már eleve jól + állítottuk be, tudja merre kell mennie. (A + kép alapján egyszerû: csak vegyünk fel + egy alapértelmezett útvonalat a + B-utvalaszto géphez, ahol így a + 192.168.1.1 lesz az + átjáró.) - If we look at the routing table for - RouterA we would see something like the - following: + Ha megnézzük most az + A-utvalaszto útválasztási + táblázatát, akkor nagyjából + a következõket fogjuk látni: &prompt.user; netstat -nr Routing tables @@ -524,139 +700,223 @@ 10.0.0/24 link#1 UC 0 0 xl0 192.168.1/24 link#2 UC 0 0 xl1 - With the current routing table RouterA - will not be able to reach our Internal Net 2. It does not - have a route for 192.168.2.0/24. One way to alleviate - this is to manually add the route. The following command - would add the Internal Net 2 network to - RouterA's routing table using 192.168.1.2 as the next hop: + Az A-utvalaszto + útválasztási táblázata + alapján jelen helyzetben nem lehet elérni a 2. + belsõ hálózatot. Nincs olyan + útvonal, ami a 192.168.2.0/24 alhálózat + felé vezetne. Ezt például úgy + tudjuk megoldani, ha manuálisan felvesszük ezt az + útvonalat. Az alábbi paranccsal + hozzáadjuk a 2. belsõ hálózat + elérését az A-utvalaszto + útválasztási + táblázatához, ahol a 192.168.1.2 lesz a következõ + ugrási pont (next hop): &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 - Now RouterA can reach any hosts on the + Most már az A-utvalaszto + bármelyik gépet képes elérni a 192.168.2.0/24 - network. + hálózaton. + - Persistent Configuration + Rögzített konfiguráció - The above example is perfect for configuring a static - route on a running system. However, one problem is that the - routing information will not persist if you reboot your &os; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 5 11:34:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD1351065677; Wed, 5 Mar 2008 11:34: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 9C0AE1065673 for ; Wed, 5 Mar 2008 11:34:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 836DA8FC2B for ; Wed, 5 Mar 2008 11:34:30 +0000 (UTC) (envelope-from piso@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 m25BYU4S035822 for ; Wed, 5 Mar 2008 11:34:30 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25BYUWA035816 for perforce@freebsd.org; Wed, 5 Mar 2008 11:34:30 GMT (envelope-from piso@freebsd.org) Date: Wed, 5 Mar 2008 11:34:30 GMT Message-Id: <200803051134.m25BYUWA035816@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136903 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, 05 Mar 2008 11:34:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=136903 Change 136903 by piso@piso_ferret on 2008/03/05 11:34:13 IFC@136902 Affected files ... .. //depot/projects/soc2005/libalias/Makefile.inc1#16 integrate .. //depot/projects/soc2005/libalias/UPDATING#23 integrate .. //depot/projects/soc2005/libalias/contrib/pf/pflogd/pidfile.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/pf/pflogd/pidfile.h#3 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#16 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/binutils/ar/Makefile#3 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/binutils/ranlib/Makefile#3 integrate .. //depot/projects/soc2005/libalias/include/pthread_np.h#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_close.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_getattr.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_notify.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_open.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_receive.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_send.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/mq_setattr.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libelf/elf_update.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libelf/gelf_rel.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libelf/gelf_rela.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/pthread.map#5 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_attr.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_create.c#7 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_init.c#11 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_private.h#13 integrate .. //depot/projects/soc2005/libalias/lib/libthr/thread/thr_sig.c#7 integrate .. //depot/projects/soc2005/libalias/lib/msun/Makefile#5 integrate .. //depot/projects/soc2005/libalias/lib/msun/Symbol.map#5 integrate .. //depot/projects/soc2005/libalias/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/soc2005/libalias/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/soc2005/libalias/lib/msun/i387/Makefile.inc#4 integrate .. //depot/projects/soc2005/libalias/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/soc2005/libalias/lib/msun/ld128/s_nanl.c#2 integrate .. //depot/projects/soc2005/libalias/lib/msun/man/sqrt.3#4 integrate .. //depot/projects/soc2005/libalias/lib/msun/src/e_rem_pio2.c#4 integrate .. //depot/projects/soc2005/libalias/lib/msun/src/e_rem_pio2f.c#4 integrate .. //depot/projects/soc2005/libalias/lib/msun/src/e_sqrt.c#2 integrate .. //depot/projects/soc2005/libalias/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/soc2005/libalias/lib/msun/src/math.h#4 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.8#18 integrate .. //depot/projects/soc2005/libalias/share/man/man4/Makefile#16 integrate .. //depot/projects/soc2005/libalias/share/man/man4/fwohci.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ng_nat.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/uchcom.4#1 branch .. //depot/projects/soc2005/libalias/share/man/man4/ucom.4#4 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ucycom.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man9/Makefile#14 integrate .. //depot/projects/soc2005/libalias/share/man/man9/lock.9#6 integrate .. //depot/projects/soc2005/libalias/share/misc/committers-ports.dot#7 integrate .. //depot/projects/soc2005/libalias/share/mk/bsd.cpu.mk#9 integrate .. //depot/projects/soc2005/libalias/share/mk/sys.mk#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/identcpu.c#8 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/mp_machdep.c#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/pmap.c#15 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/smp.h#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/AVILA#6 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_futex.c#7 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#27 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#32 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.powerpc#11 integrate .. //depot/projects/soc2005/libalias/sys/conf/kmod.mk#11 integrate .. //depot/projects/soc2005/libalias/sys/conf/options#24 integrate .. //depot/projects/soc2005/libalias/sys/conf/options.powerpc#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/LICENSE#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_80003es2lan.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_80003es2lan.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82540.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82541.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82541.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82542.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82543.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82543.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82571.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82571.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82575.c#3 delete .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_82575.h#3 delete .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_api.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_api.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_defines.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_hw.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_ich8lan.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_ich8lan.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_mac.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_mac.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_manage.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_manage.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_nvm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_nvm.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_osdep.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_phy.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_phy.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/e1000_regs.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.c#19 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.h#12 integrate .. //depot/projects/soc2005/libalias/sys/dev/ic/quicc.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/lge/if_lge.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/md/md.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/ciphy.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/miidevs#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/rgephy.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_msk.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_mskreg.h#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/re/if_re.c#15 integrate .. //depot/projects/soc2005/libalias/sys/dev/scc/scc_bfe.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/uart/uart.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_cpu_powerpc.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/usb/ehci.c#7 integrate .. //depot/projects/soc2005/libalias/sys/fs/nwfs/nwfs_node.c#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/nwfs/nwfs_subr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/smbfs/smbfs_node.c#6 integrate .. //depot/projects/soc2005/libalias/sys/fs/smbfs/smbfs_vfsops.c#6 integrate .. //depot/projects/soc2005/libalias/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/soc2005/libalias/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/identcpu.c#10 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/mp_machdep.c#11 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/_types.h#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/float.h#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/smp.h#5 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/mp_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_main.c#12 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_sysent.c#14 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/soc2005/libalias/sys/kern/kern_lock.c#9 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_shutdown.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thread.c#12 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_4bsd.c#14 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_ule.c#14 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_smp.c#6 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_witness.c#13 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.c#14 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.master#15 integrate .. //depot/projects/soc2005/libalias/sys/kern/systrace_args.c#11 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_bio.c#13 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_subr.c#16 integrate .. //depot/projects/soc2005/libalias/sys/modules/Makefile#20 integrate .. //depot/projects/soc2005/libalias/sys/modules/cxgb/cxgb_t3fw/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/em/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/geom/Makefile#8 integrate .. //depot/projects/soc2005/libalias/sys/modules/geom/geom_apple/Makefile#2 delete .. //depot/projects/soc2005/libalias/sys/modules/geom/geom_gpt/Makefile#2 delete .. //depot/projects/soc2005/libalias/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/igb/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_base.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_nat.c#14 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_nat.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_pppoe.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet/in.h#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/in_pcb.c#12 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#12 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#54 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw_pfil.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_input.c#16 integrate .. //depot/projects/soc2005/libalias/sys/netipsec/key.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netipsec/key_debug.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/soc2005/libalias/sys/nfs4client/nfs4_idmap.c#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_vfsops.c#11 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_serv.c#9 integrate .. //depot/projects/soc2005/libalias/sys/pc98/cbus/sio.c#5 integrate .. //depot/projects/soc2005/libalias/sys/pc98/pc98/machdep.c#13 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_rl.c#9 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_rlreg.h#11 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/aim/swtch.S#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/aim/trap.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/aim/trap_subr.S#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/aim/vm_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/support.S#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/conf/NOTES#9 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/frame.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/hid.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/kdb.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/md_var.h#6 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/include/pcb.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/pcpu.h#4 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/pmap.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/psl.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/pte.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/spr.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/include/trap.h#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/include/vmparam.h#6 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/autoconf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/db_trace.c#4 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/genassym.c#6 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/mp_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit.c#13 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_klib.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_private.h#8 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_syscalls.c#14 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_trigger.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_worker.c#8 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/mp_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/mp_machdep.c#8 integrate .. //depot/projects/soc2005/libalias/sys/sys/_types.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/buf.h#6 integrate .. //depot/projects/soc2005/libalias/sys/sys/bufobj.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/cpuset.h#1 branch .. //depot/projects/soc2005/libalias/sys/sys/lockmgr.h#7 integrate .. //depot/projects/soc2005/libalias/sys/sys/mount.h#11 integrate .. //depot/projects/soc2005/libalias/sys/sys/param.h#20 integrate .. //depot/projects/soc2005/libalias/sys/sys/proc.h#16 integrate .. //depot/projects/soc2005/libalias/sys/sys/sched.h#9 integrate .. //depot/projects/soc2005/libalias/sys/sys/smp.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.h#14 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.mk#14 integrate .. //depot/projects/soc2005/libalias/sys/sys/sysproto.h#14 integrate .. //depot/projects/soc2005/libalias/sys/sys/types.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/vnode.h#10 integrate .. //depot/projects/soc2005/libalias/sys/sys/vtoc.h#1 branch .. //depot/projects/soc2005/libalias/sys/ufs/ffs/ffs_vfsops.c#11 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ufs/extattr.h#3 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ufs/ufs_extattr.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_map.h#4 integrate .. //depot/projects/soc2005/libalias/tools/build/mk/OptionalObsoleteFiles.inc#9 integrate .. //depot/projects/soc2005/libalias/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/soc2005/libalias/tools/regression/lib/msun/test-trig.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/Makefile#7 integrate .. //depot/projects/soc2005/libalias/usr.bin/ar/write.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/awk/Makefile#5 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.freebsd#15 integrate .. //depot/projects/soc2005/libalias/usr.bin/cpuset/Makefile#1 branch .. //depot/projects/soc2005/libalias/usr.bin/cpuset/cpuset.1#1 branch .. //depot/projects/soc2005/libalias/usr.bin/cpuset/cpuset.c#1 branch .. //depot/projects/soc2005/libalias/usr.bin/find/find.1#8 integrate .. //depot/projects/soc2005/libalias/usr.bin/find/main.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/Makefile.dist#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/arch.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/job.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/main.c#7 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/make.1#6 integrate .. //depot/projects/soc2005/libalias/usr.bin/unifdef/unifdef.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwcontrol.8#5 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwcontrol.c#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/mountd/mountd.c#9 integrate Differences ... ==== //depot/projects/soc2005/libalias/Makefile.inc1#16 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.600 2008/02/25 16:29:54 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.601 2008/03/02 11:10:46 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -203,6 +203,9 @@ GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \ GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac +.if ${OSRELDATE} < 700044 +CROSSENV+= AR=gnu-ar RANLIB=gnu-ranlib +.endif # bootstrap-tools stage BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -972,10 +975,6 @@ .endif .endif -.if make(cross-tools) && ${BOOTSTRAPPING} < 700044 -.MAKEFLAGS+= -D_WITH_GNUAR -.endif - cross-tools: .for _tool in \ gnu/usr.bin/binutils \ ==== //depot/projects/soc2005/libalias/UPDATING#23 (text+ko) ==== @@ -22,6 +22,20 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080301: + The layout of struct vmspace has changed. This affects libkvm + and any executables that link against libkvm and use the + kvm_getprocs() function. In particular, but not exclusively, + it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1). + The effects are minimal, but it's advisable to upgrade world + nonetheless. + +20080229: + The latest em driver no longer has support in it for the + 82575 adapter, this is now moved to the igb driver. The + split was done to make new features that are incompatible + with older hardware easier to do. + 20080220: The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4), likewise the kernel option is now GEOM_LINUX_LVM. @@ -983,4 +997,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.520 2008/02/20 07:50:12 thompsa Exp $ +$FreeBSD: src/UPDATING,v 1.522 2008/03/01 22:54:42 marcel Exp $ ==== //depot/projects/soc2005/libalias/contrib/pf/pflogd/pidfile.c#3 (text+ko) ==== ==== //depot/projects/soc2005/libalias/contrib/pf/pflogd/pidfile.h#3 (text+ko) ==== ==== //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#16 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.258 2008/03/03 10:06:52 dds Exp $ % ======================================================================= || || @@ -49242,7 +49242,7 @@ admit it, I tell him, `Forget it'. If they bring a car back late we overlook it. If they've had a crash and it doesn't involve another vehicle we might overlook that too." - "Where's the ashtray?" asked on Los Angeles wife, as she settled + "Where's the ashtray?" asked one Los Angeles wife, as she settled into the ripped interior. "Honey," said her husband, "the whole car's the ash tray." -- Stephen Pile, "The Book of Heroic Failures" ==== //depot/projects/soc2005/libalias/gnu/usr.bin/binutils/ar/Makefile#3 (text+ko) ==== @@ -1,16 +1,14 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.17 2008/02/25 16:16:16 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.18 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if !defined(_WITH_GNUAR) PROGNAME= gnu-ar MAN= gnu-ar.1 gnu-ar.1: ar.1 cat ${.ALLSRC} > ${.TARGET} CLEANFILES+= gnu-ar.1 -.endif PROG= ar SRCS= ar.c not-ranlib.c ==== //depot/projects/soc2005/libalias/gnu/usr.bin/binutils/ranlib/Makefile#3 (text+ko) ==== @@ -1,16 +1,14 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.18 2008/02/25 16:16:16 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.19 2008/03/02 11:10:46 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if !defined(_WITH_GNUAR) PROGNAME= gnu-ranlib MAN= gnu-ranlib.1 gnu-ranlib.1: ranlib.1 cat ${.ALLSRC} > ${.TARGET} CLEANFILES+= gnu-ranlib.1 -.endif PROG= ranlib SRCS= ar.c is-ranlib.c ==== //depot/projects/soc2005/libalias/include/pthread_np.h#4 (text+ko) ==== @@ -26,11 +26,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread_np.h,v 1.20 2008/02/06 19:34:31 des Exp $ + * $FreeBSD: src/include/pthread_np.h,v 1.21 2008/03/03 08:28:13 davidxu Exp $ */ #ifndef _PTHREAD_NP_H_ #define _PTHREAD_NP_H_ +#include +#include + /* * Non-POSIX type definitions: */ @@ -42,6 +45,9 @@ __BEGIN_DECLS int pthread_attr_setcreatesuspend_np(pthread_attr_t *); int pthread_attr_get_np(pthread_t, pthread_attr_t *); +int pthread_attr_getaffinity_np(const pthread_attr_t *, size_t, cpuset_t *); +int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const cpuset_t *); +int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); int pthread_main_np(void); int pthread_multi_np(void); int pthread_mutexattr_getkind_np(pthread_mutexattr_t); @@ -54,6 +60,7 @@ int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count); int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count); int pthread_mutex_isowned_np(pthread_mutex_t *mutex); +int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); ==== //depot/projects/soc2005/libalias/lib/libc/sys/Symbol.map#6 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.9 2007/08/22 01:56:35 davidxu Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.10 2008/03/02 07:39:22 jeff Exp $ */ /* @@ -66,6 +66,11 @@ clock_settime; close; connect; + cpuset; + cpuset_getid; + cpuset_setid; + cpuset_getaffinity; + cpuset_setaffinity; dup; dup2; eaccess; @@ -450,6 +455,16 @@ __sys_close; _connect; __sys_connect; + __cpuset; + __sys_cpuset; + __cpuset_getid; + __sys_cpuset_getid; + __cpuset_setid; + __sys_cpuset_setid; + __cpuset_getaffinity; + __sys_cpuset_getaffinity; + __cpuset_setaffinity; + __sys_cpuset_setaffinity; _dup; __sys_dup; _dup2; ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_close.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_close.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_close.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_CLOSE 2 @@ -95,11 +95,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_getattr.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_getattr.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_getattr.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_GETATTR 2 @@ -117,11 +117,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_notify.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_notify.2,v 1.9 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_notify.2,v 1.10 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_NOTIFY 2 @@ -141,11 +141,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_open.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_open.2,v 1.9 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_open.2,v 1.10 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_OPEN 2 @@ -313,11 +313,11 @@ and contain no other slash characters. .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_receive.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_receive.2,v 1.6 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_receive.2,v 1.7 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_RECEIVE 2 @@ -207,11 +207,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_send.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_send.2,v 1.5 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_send.2,v 1.6 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_SEND 2 @@ -226,11 +226,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libc/sys/mq_setattr.2#4 (text+ko) ==== @@ -25,17 +25,17 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" Portions of this text are reprinted and reproduced in electronic form -.\" from IEEE Std 1003.1, 2003 Edition, Standard for Information -.\" Technology -- Portable Operating System Interface (POSIX), The Open -.\" Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -.\" Institute of Electrical and Electronics Engineers, Inc and The Open -.\" Group. In the event of any discrepancy between this version and the -.\" original IEEE and The Open Group Standard, the original IEEE and The -.\" Open Group Standard is the referee document. The original Standard can -.\" be obtained online at http://www.opengroup.org/unix/online.html . +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/sys/mq_setattr.2,v 1.6 2008/02/21 19:16:57 philip Exp $ +.\" $FreeBSD: src/lib/libc/sys/mq_setattr.2,v 1.7 2008/02/29 17:48:25 philip Exp $ .\" .Dd November 29, 2005 .Dt MQ_SETATTR 2 @@ -113,11 +113,11 @@ .Fx 7.0 . .Sh COPYRIGHT Portions of this text are reprinted and reproduced in electronic form -from IEEE Std 1003.1, 2003 Edition, Standard for Information -Technology -- Portable Operating System Interface (POSIX), The Open -Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the -Institute of Electrical and Electronics Engineers, Inc and The Open -Group. In the event of any discrepancy between this version and the -original IEEE and The Open Group Standard, the original IEEE and The -Open Group Standard is the referee document. The original Standard can -be obtained online at http://www.opengroup.org/unix/online.html . +from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard is +the referee document. The original Standard can be obtained online at + http://www.opengroup.org/unix/online.html. ==== //depot/projects/soc2005/libalias/lib/libelf/elf_update.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Joseph Koshy + * Copyright (c) 2006-2008 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.3 2007/09/08 08:20:12 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.4 2008/03/03 04:29:25 jkoshy Exp $"); #include #include @@ -246,13 +246,19 @@ tmin = t->s_offset; tmax = tmin + t->s_size; - /* check if there is an overlap */ - if (tmax < smin) { + if (tmax <= smin) { + /* + * 't' lies entirely before 's': ...| t |...| s |... + */ prevt = t; continue; - } else if (smax < tmin) + } else if (smax <= tmin) + /* + * 's' lies entirely before 't', and after 'prevt': + * ...| prevt |...| s |...| t |... + */ break; - else { + else { /* 's' and 't' overlap. */ LIBELF_SET_ERROR(LAYOUT, 0); return (0); } ==== //depot/projects/soc2005/libalias/lib/libelf/gelf_rel.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/gelf_rel.c,v 1.1 2006/11/11 17:16:33 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/gelf_rel.c,v 1.2 2008/03/02 06:33:10 jkoshy Exp $"); #include @@ -78,7 +78,9 @@ rel32 = (Elf32_Rel *) d->d_buf + ndx; dst->r_offset = (Elf64_Addr) rel32->r_offset; - dst->r_info = (Elf64_Xword) rel32->r_info; + dst->r_info = ELF64_R_INFO( + (Elf64_Xword) ELF32_R_SYM(rel32->r_info), + ELF32_R_TYPE(rel32->r_info)); } else { @@ -133,7 +135,14 @@ rel32 = (Elf32_Rel *) d->d_buf + ndx; LIBELF_COPY_U32(rel32, dr, r_offset); - LIBELF_COPY_U32(rel32, dr, r_info); + + if (ELF64_R_SYM(dr->r_info) > ELF32_R_SYM(~0UL) || + ELF64_R_TYPE(dr->r_info) > ELF32_R_TYPE(~0U)) { + LIBELF_SET_ERROR(RANGE, 0); + return (0); + } + rel32->r_info = ELF32_R_INFO(ELF64_R_SYM(dr->r_info), + ELF64_R_TYPE(dr->r_info)); } else { rel64 = (Elf64_Rel *) d->d_buf + ndx; ==== //depot/projects/soc2005/libalias/lib/libelf/gelf_rela.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/gelf_rela.c,v 1.1 2006/11/11 17:16:33 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/gelf_rela.c,v 1.2 2008/03/02 06:33:10 jkoshy Exp $"); #include @@ -78,7 +78,9 @@ rela32 = (Elf32_Rela *) d->d_buf + ndx; dst->r_offset = (Elf64_Addr) rela32->r_offset; - dst->r_info = (Elf64_Xword) rela32->r_info; + dst->r_info = ELF64_R_INFO( + (Elf64_Xword) ELF32_R_SYM(rela32->r_info), + ELF32_R_TYPE(rela32->r_info)); dst->r_addend = (Elf64_Sxword) rela32->r_addend; } else { @@ -134,7 +136,15 @@ rela32 = (Elf32_Rela *) d->d_buf + ndx; LIBELF_COPY_U32(rela32, dr, r_offset); - LIBELF_COPY_U32(rela32, dr, r_info); + + if (ELF64_R_SYM(dr->r_info) > ELF32_R_SYM(~0UL) || + ELF64_R_TYPE(dr->r_info) > ELF32_R_TYPE(~0U)) { + LIBELF_SET_ERROR(RANGE, 0); + return (0); + } + rela32->r_info = ELF32_R_INFO(ELF64_R_SYM(dr->r_info), + ELF64_R_TYPE(dr->r_info)); + LIBELF_COPY_S32(rela32, dr, r_addend); } else { rela64 = (Elf64_Rela *) d->d_buf + ndx; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 5 14:59:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 224FA1065672; Wed, 5 Mar 2008 14: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 B2BC91065670 for ; Wed, 5 Mar 2008 14:59:07 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9AD238FC29 for ; Wed, 5 Mar 2008 14:59:07 +0000 (UTC) (envelope-from piso@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 m25Ex7Y3060220 for ; Wed, 5 Mar 2008 14:59:07 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25Ex7ax060218 for perforce@freebsd.org; Wed, 5 Mar 2008 14:59:07 GMT (envelope-from piso@freebsd.org) Date: Wed, 5 Mar 2008 14:59:07 GMT Message-Id: <200803051459.m25Ex7ax060218@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136915 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, 05 Mar 2008 14:59:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=136915 Change 136915 by piso@piso_ferret on 2008/03/05 14:58:42 Don't pass down the entire packet: GetDeltaAckIn and GetDeltaSeqOut. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#64 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#28 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#21 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#23 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#29 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#25 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#21 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#64 (text+ko) ==== @@ -924,7 +924,8 @@ if (GetAckModified(lnk) == 1) { int delta; - delta = GetDeltaAckIn(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaAckIn(tc->th_ack, lnk); if (delta != 0) { accumulate += twowords(&tc->th_ack); tc->th_ack = htonl(ntohl(tc->th_ack) - delta); @@ -1048,8 +1049,9 @@ /* Modify sequence number if necessary */ if (GetAckModified(lnk) == 1) { int delta; - - delta = GetDeltaSeqOut(pip, lnk); + + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaSeqOut(tc->th_seq, lnk); if (delta != 0) { accumulate += twowords(&tc->th_seq); tc->th_seq = htonl(ntohl(tc->th_seq) + delta); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#28 (text+ko) ==== @@ -2007,7 +2007,7 @@ // XXX ip free int -GetDeltaAckIn(struct ip *pip, struct alias_link *lnk) +GetDeltaAckIn(u_long ack, struct alias_link *lnk) { /* Find out how much the ACK number has been altered for an incoming @@ -2016,12 +2016,7 @@ */ int i; - struct tcphdr *tc; int delta, ack_diff_min; - u_long ack; - - tc = ip_next(pip); - ack = tc->th_ack; delta = 0; ack_diff_min = -1; @@ -2051,7 +2046,7 @@ // XXX ip free int -GetDeltaSeqOut(struct ip *pip, struct alias_link *lnk) +GetDeltaSeqOut(u_long seq, struct alias_link *lnk) { /* Find out how much the sequence number has been altered for an outgoing @@ -2060,12 +2055,7 @@ */ int i; - struct tcphdr *tc; int delta, seq_diff_min; - u_long seq; - - tc = ip_next(pip); - seq = tc->th_seq; delta = 0; seq_diff_min = -1; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#21 (text+ko) ==== @@ -734,7 +734,8 @@ int delta; SetAckModified(lnk); - delta = GetDeltaSeqOut(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaSeqOut(tc->th_seq, lnk); AddSeq(pip, lnk, delta + slen - dlen); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#23 (text+ko) ==== @@ -432,7 +432,8 @@ int delta; SetAckModified(lnk); - delta = GetDeltaSeqOut(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaSeqOut(tc->th_seq, lnk); AddSeq(pip, lnk, delta + copyat + iCopy - dlen); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#29 (text+ko) ==== @@ -298,8 +298,8 @@ void SetProxyPort(struct alias_link *_lnk, u_short _port); void SetAckModified(struct alias_link *_lnk); int GetAckModified(struct alias_link *_lnk); -int GetDeltaAckIn(struct ip *_pip, struct alias_link *_lnk); -int GetDeltaSeqOut(struct ip *_pip, struct alias_link *_lnk); +int GetDeltaAckIn(u_long, struct alias_link *_lnk); +int GetDeltaSeqOut(u_long, struct alias_link *lnk); void AddSeq (struct ip *_pip, struct alias_link *_lnk, int _delta); void SetExpire (struct alias_link *_lnk, int _expire); void ClearCheckNewLink(struct libalias *la); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#25 (text+ko) ==== @@ -453,7 +453,8 @@ int delta; SetAckModified(lnk); - delta = GetDeltaSeqOut(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaSeqOut(tc->th_seq, lnk); AddSeq(pip, lnk, delta + slen); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#21 (text+ko) ==== @@ -404,7 +404,8 @@ memcpy(data, newdata, new_dlen); SetAckModified(lnk); - delta = GetDeltaSeqOut(pip, lnk); + tc = (struct tcphdr *)ip_next(pip); + delta = GetDeltaSeqOut(tc->th_seq, lnk); AddSeq(pip, lnk, delta + new_dlen - dlen); new_len = htons(hlen + new_dlen); From owner-p4-projects@FreeBSD.ORG Wed Mar 5 16:15:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD29C1065675; Wed, 5 Mar 2008 16:15: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 9D67E106566C for ; Wed, 5 Mar 2008 16:15:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A8A18FC20 for ; Wed, 5 Mar 2008 16:15:30 +0000 (UTC) (envelope-from piso@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 m25GFU2n065117 for ; Wed, 5 Mar 2008 16:15:30 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25GFUVP065115 for perforce@freebsd.org; Wed, 5 Mar 2008 16:15:30 GMT (envelope-from piso@freebsd.org) Date: Wed, 5 Mar 2008 16:15:30 GMT Message-Id: <200803051615.m25GFUVP065115@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136919 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, 05 Mar 2008 16:15:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=136919 Change 136919 by piso@piso_ferret on 2008/03/05 16:15:09 Don't pass down the entire packet: AddSeq. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#29 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#22 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#24 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#30 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#26 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#22 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#29 (text+ko) ==== @@ -2085,7 +2085,8 @@ // XXX ip free void -AddSeq(struct ip *pip, struct alias_link *lnk, int delta) +AddSeq(struct alias_link *lnk, int delta, u_int ip_hl, u_short ip_len, + u_long th_seq, u_int th_off) { /* When a TCP packet has been altered in length, save this @@ -2093,19 +2094,16 @@ been altered, then this list will begin to overwrite itself. */ - struct tcphdr *tc; struct ack_data_record x; int hlen, tlen, dlen; int i; - tc = ip_next(pip); - - hlen = (pip->ip_hl + tc->th_off) << 2; - tlen = ntohs(pip->ip_len); + hlen = (ip_hl + th_off) << 2; + tlen = ntohs(ip_len); dlen = tlen - hlen; - x.ack_old = htonl(ntohl(tc->th_seq) + dlen); - x.ack_new = htonl(ntohl(tc->th_seq) + dlen + delta); + x.ack_old = htonl(ntohl(th_seq) + dlen); + x.ack_new = htonl(ntohl(th_seq) + dlen + delta); x.delta = delta; x.active = 1; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#22 (text+ko) ==== @@ -736,7 +736,8 @@ SetAckModified(lnk); tc = (struct tcphdr *)ip_next(pip); delta = GetDeltaSeqOut(tc->th_seq, lnk); - AddSeq(pip, lnk, delta + slen - dlen); + AddSeq(lnk, delta + slen - dlen, pip->ip_hl, + pip->ip_len, tc->th_seq, tc->th_off); } /* Revise IP header */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#24 (text+ko) ==== @@ -434,7 +434,8 @@ SetAckModified(lnk); tc = (struct tcphdr *)ip_next(pip); delta = GetDeltaSeqOut(tc->th_seq, lnk); - AddSeq(pip, lnk, delta + copyat + iCopy - dlen); + AddSeq(lnk, delta + copyat + iCopy - dlen, pip->ip_hl, + pip->ip_len, tc->th_seq, tc->th_off); } /* Revise IP header */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#30 (text+ko) ==== @@ -300,7 +300,8 @@ int GetAckModified(struct alias_link *_lnk); int GetDeltaAckIn(u_long, struct alias_link *_lnk); int GetDeltaSeqOut(u_long, struct alias_link *lnk); -void AddSeq (struct ip *_pip, struct alias_link *_lnk, int _delta); +void AddSeq(struct alias_link *lnk, int delta, u_int ip_hl, + u_short ip_len, u_long th_seq, u_int th_off); void SetExpire (struct alias_link *_lnk, int _expire); void ClearCheckNewLink(struct libalias *la); void SetProtocolFlags(struct alias_link *_lnk, int _pflags); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#26 (text+ko) ==== @@ -455,7 +455,8 @@ SetAckModified(lnk); tc = (struct tcphdr *)ip_next(pip); delta = GetDeltaSeqOut(tc->th_seq, lnk); - AddSeq(pip, lnk, delta + slen); + AddSeq(lnk, delta + slen, pip->ip_hl, pip->ip_len, tc->th_seq, + tc->th_off); } /* Update IP header packet length and checksum */ ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#22 (text+ko) ==== @@ -406,7 +406,8 @@ SetAckModified(lnk); tc = (struct tcphdr *)ip_next(pip); delta = GetDeltaSeqOut(tc->th_seq, lnk); - AddSeq(pip, lnk, delta + new_dlen - dlen); + AddSeq(lnk, delta + new_dlen - dlen, pip->ip_hl, pip->ip_len, + tc->th_seq, tc->th_off); new_len = htons(hlen + new_dlen); DifferentialChecksum(&pip->ip_sum, From owner-p4-projects@FreeBSD.ORG Wed Mar 5 17:27:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F3DF1065677; Wed, 5 Mar 2008 17:27: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 4E41C1065674 for ; Wed, 5 Mar 2008 17:27:48 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3920E8FC16 for ; Wed, 5 Mar 2008 17:27:48 +0000 (UTC) (envelope-from piso@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 m25HRmWW078519 for ; Wed, 5 Mar 2008 17:27:48 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25HRme8078517 for perforce@freebsd.org; Wed, 5 Mar 2008 17:27:48 GMT (envelope-from piso@freebsd.org) Date: Wed, 5 Mar 2008 17:27:48 GMT Message-Id: <200803051727.m25HRme8078517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 136925 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, 05 Mar 2008 17:27:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=136925 Change 136925 by piso@piso_ferret on 2008/03/05 17:26:56 Don't pass down the entire packet: ProxyCheck. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#65 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#31 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#27 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#65 (text+ko) ==== @@ -972,8 +972,9 @@ tc = (struct tcphdr *)ip_next(pip); if (create) - proxy_type = - ProxyCheck(la, pip, &proxy_server_address, &proxy_server_port); + proxy_type = ProxyCheck(la, &proxy_server_address, + &proxy_server_port, pip->ip_src, pip->ip_dst, + tc->th_dport, pip->ip_p); else proxy_type = 0; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#31 (text+ko) ==== @@ -321,8 +321,9 @@ /* Transparent proxy routines */ int -ProxyCheck(struct libalias *la, struct ip *_pip, struct in_addr *_proxy_server_addr, - u_short * _proxy_server_port); +ProxyCheck(struct libalias *la, struct in_addr *proxy_server_addr, + u_short * proxy_server_port, struct in_addr src_addr, + struct in_addr dst_addr, u_short dst_port, u_char ip_p); void ProxyModify(struct libalias *la, struct alias_link *_lnk, struct ip *_pip, int _maxpacketsize, int _proxy_type); ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#27 (text+ko) ==== @@ -563,20 +563,13 @@ */ int -ProxyCheck(struct libalias *la, struct ip *pip, - struct in_addr *proxy_server_addr, - u_short * proxy_server_port) +ProxyCheck(struct libalias *la, struct in_addr *proxy_server_addr, + u_short * proxy_server_port, struct in_addr src_addr, + struct in_addr dst_addr, u_short dst_port, u_char ip_p) { - u_short dst_port; - struct in_addr src_addr; - struct in_addr dst_addr; struct proxy_entry *ptr; LIBALIAS_LOCK_ASSERT(la); - src_addr = pip->ip_src; - dst_addr = pip->ip_dst; - dst_port = ((struct tcphdr *)ip_next(pip)) - ->th_dport; ptr = la->proxyList; while (ptr != NULL) { @@ -584,7 +577,7 @@ proxy_port = ptr->proxy_port; if ((dst_port == proxy_port || proxy_port == 0) - && pip->ip_p == ptr->proto + && ip_p == ptr->proto && src_addr.s_addr != ptr->server_addr.s_addr) { struct in_addr src_addr_masked; struct in_addr dst_addr_masked; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:05:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD9D31065676; Wed, 5 Mar 2008 18:05: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 9BB95106566C for ; Wed, 5 Mar 2008 18:05:28 +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 893408FC1A for ; Wed, 5 Mar 2008 18:05:28 +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 m25I5SQG081429 for ; Wed, 5 Mar 2008 18:05:28 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25I5SNk081427 for perforce@freebsd.org; Wed, 5 Mar 2008 18:05:28 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:05:28 GMT Message-Id: <200803051805.m25I5SNk081427@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 136929 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, 05 Mar 2008 18:05:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=136929 Change 136929 by rrs@rrs-mips2-jnpr on 2008/03/05 18:05:19 Fix bug in timing setup. They had the structures in the wrong place, resulting in an interrupt every 255*15 instructions. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/dev/rgmii/octeon_rgmx.c#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/dev/rgmii/octeon_rgmx.c#7 (text+ko) ==== @@ -1458,10 +1458,10 @@ uint64_t word64; struct { uint64_t rsvd3:4; - uint64_t thr_freq:28; + uint64_t thr_period:28; /* R / O */ uint64_t rsvd2:4; - uint64_t thr_period:20; + uint64_t thr_freq:20; uint64_t rsvd:8; } bits; } octeon_rgmx_pow_int_pc_t; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:06:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FF7F1065680; Wed, 5 Mar 2008 18:06: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 E21C2106566B for ; Wed, 5 Mar 2008 18:06:29 +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 B5E278FC1D for ; Wed, 5 Mar 2008 18:06:29 +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 m25I6TpY081481 for ; Wed, 5 Mar 2008 18:06:29 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25I6T7k081479 for perforce@freebsd.org; Wed, 5 Mar 2008 18:06:29 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:06:29 GMT Message-Id: <200803051806.m25I6T7k081479@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 136930 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, 05 Mar 2008 18:06:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=136930 Change 136930 by rrs@rrs-mips2-jnpr on 2008/03/05 18:06:21 remove un-needed instructions. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#15 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#15 (text+ko) ==== @@ -308,8 +308,6 @@ */ #define DO_AST \ 44: \ - GET_CPU_PCPU(a1) ;\ - lw a1, PC_CURPCB(a1) ;\ la s0, _C_LABEL(disableintr) ;\ jalr s0 ;\ nop ;\ From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:07:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A30D1065676; Wed, 5 Mar 2008 18:07: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 183B21065672 for ; Wed, 5 Mar 2008 18:07:31 +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 DFECE8FC1C for ; Wed, 5 Mar 2008 18:07: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 m25I7Uqk081515 for ; Wed, 5 Mar 2008 18:07:30 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25I7UlQ081513 for perforce@freebsd.org; Wed, 5 Mar 2008 18:07:30 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:07:30 GMT Message-Id: <200803051807.m25I7UlQ081513@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 136931 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, 05 Mar 2008 18:07:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=136931 Change 136931 by rrs@rrs-mips2-jnpr on 2008/03/05 18:07:14 Add mask for unaligned access bit. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#12 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#12 (text+ko) ==== @@ -201,6 +201,9 @@ #define COP_0_TAG_HI $29 #define COP_0_ERROR_PC $30 +#ifdef TARGET_OCTEON +#define OCTEON_UNALIGNED_ACCESS 0x4000 +#endif /* * Coprocessor 0 Set 1 From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:08:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AC981065675; Wed, 5 Mar 2008 18:08: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 DDA86106566B for ; Wed, 5 Mar 2008 18:08:32 +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 CBBEF8FC13 for ; Wed, 5 Mar 2008 18:08:32 +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 m25I8WIx081542 for ; Wed, 5 Mar 2008 18:08:32 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25I8WRc081540 for perforce@freebsd.org; Wed, 5 Mar 2008 18:08:32 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:08:32 GMT Message-Id: <200803051808.m25I8WRc081540@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 136932 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, 05 Mar 2008 18:08:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=136932 Change 136932 by rrs@rrs-mips2-jnpr on 2008/03/05 18:08:24 NHARD is set to 6 so we must not allow 6 in the irq level. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#7 (text+ko) ==== @@ -62,7 +62,10 @@ int error; printf("Establish HARD IRQ %d: filt %p handler %p arg %p\n", irq, filt, handler, arg); - if (irq < 0 || irq > NHARD_IRQS) + /* + * We have 6 levels, but thats 0 - 5 (not including 6) + */ + if (irq < 0 || irq >= NHARD_IRQS) panic("%s called for unknown hard intr %d", __func__, irq); event = hardintr_events[irq]; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:09:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 554CC1065675; Wed, 5 Mar 2008 18:09: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 13F8D106566C for ; Wed, 5 Mar 2008 18:09:34 +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 01CC78FC19 for ; Wed, 5 Mar 2008 18:09:34 +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 m25I9XxB081562 for ; Wed, 5 Mar 2008 18:09:33 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25I9Xr7081560 for perforce@freebsd.org; Wed, 5 Mar 2008 18:09:33 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:09:33 GMT Message-Id: <200803051809.m25I9Xr7081560@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 136933 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, 05 Mar 2008 18:09:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=136933 Change 136933 by rrs@rrs-mips2-jnpr on 2008/03/05 18:08:58 Adds support to turn on/off the unaligned access bit. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#7 (text+ko) ==== @@ -1484,3 +1484,35 @@ sw zero, U_PCB_ONFAULT(t1) /* clean up */ j ra END(casuptr) + + +#ifdef TARGET_OCTEON +/* + * octeon_set_unaligned(addr) + */ +LEAF(octeon_set_unaligned) + .set mips64r2 +/* dmfc0 a1, 9, 7*/ + .word 0x40254807 + sd a1, 0(a0) + or a1, a1, (OCTEON_UNALIGNED_ACCESS) +/* dmtc0 a1, 9, 7*/ + .word 0x40a54807 + jr ra + nop + .set mips0 +END(octeon_set_unaligned) + +LEAF(octeon_clr_unaligned) + .set mips64r2 +/* dmfc0 a1, 9, 7 */ + .word 0x40254807 + sd a1, 0(a0) + and a1, a1, ~(OCTEON_UNALIGNED_ACCESS) +/* dmtc0 a1, 9, 7 */ + .word 0x40a54807 + jr ra + nop + .set mips0 +END(octeon_clr_unaligned) +#endif From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:13:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B85EE1065670; Wed, 5 Mar 2008 18:13:40 +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 77C92106566B for ; Wed, 5 Mar 2008 18:13:40 +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 65CFA8FC2C for ; Wed, 5 Mar 2008 18:13:40 +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 m25IDeCR081795 for ; Wed, 5 Mar 2008 18:13:40 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25IDeDF081793 for perforce@freebsd.org; Wed, 5 Mar 2008 18:13:40 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:13:40 GMT Message-Id: <200803051813.m25IDeDF081793@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 136934 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, 05 Mar 2008 18:13:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=136934 Change 136934 by rrs@rrs-mips2-jnpr on 2008/03/05 18:12:57 Turn off un-aligned access also no extra memory until I sort out the rgmii driver and pow some more. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#19 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#19 (text+ko) ==== @@ -808,6 +808,8 @@ octeon_set_interrupts(cpu_status_bits); } +void octeon_set_unaligned(uint64_t *old); +void octeon_clr_unaligned(uint64_t *old); static void mips_platform_init(void) @@ -1251,6 +1253,7 @@ * */ physmem = btoc(phys_avail[1] - phys_avail[0]); +#ifdef GAHHHHHHH if ((octeon_board_real()) && (realmem_bytes > OCTEON_DRAM_FIRST_256_END)) { /* take out the upper non-cached 1/2 */ @@ -1264,8 +1267,11 @@ phys_avail[2], phys_avail[3]); physmem += btoc(phys_avail[3] - phys_avail[2]); } else { +#endif printf("realmem_bytes is %d\n", realmem_bytes); +#ifdef GAHHHHHHH } +#endif realmem = physmem; printf("\nCode: _start 0x%X _end 0x%X", (uint32_t) (&_start), (uint32_t) (&end)); @@ -1332,6 +1338,7 @@ { vm_offset_t kernend; uint64_t platform_counter_freq; + uint64_t oldval; mips_platform_init(); @@ -1346,8 +1353,14 @@ cninit(); mips_boot_params_init(); printf(" Initialized memory: 0x%p to 0x%lX\n", &edata, ((long)&edata) + ((long)kernend - (long)(&edata))); - + oldval = 0; + /* Lets leave unaligned access not working like normal mips for now */ + octeon_clr_unaligned(&oldval); + /* + * Uncomment this to get unaligned access in hardware. + octeon_set_unaligned(&oldval); + */ mips_init(); platform_counter_freq = (uint64_t) (octeon_get_clock_rate()); - mips_timer_init_params(platform_counter_freq, 0); + mips_timer_init_params(platform_counter_freq, 0); } From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:14:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC50B1065672; Wed, 5 Mar 2008 18:14: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 8C0F2106567A for ; Wed, 5 Mar 2008 18:14:43 +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 7A2478FC1E for ; Wed, 5 Mar 2008 18:14:43 +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 m25IEhPc081844 for ; Wed, 5 Mar 2008 18:14:43 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25IEh6Y081842 for perforce@freebsd.org; Wed, 5 Mar 2008 18:14:43 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:14:43 GMT Message-Id: <200803051814.m25IEh6Y081842@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 136935 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, 05 Mar 2008 18:14:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=136935 Change 136935 by rrs@rrs-mips2-jnpr on 2008/03/05 18:13:46 Add a comment or two around cryptic assembly. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_pcmap_regs.h#6 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_pcmap_regs.h#6 (text+ko) ==== @@ -513,18 +513,19 @@ #define CVMX_MF_CHORD(dest) OCTEON_RDHWR(dest, 30) +/* word 0x7c02f03b == rdhwr r2, chOrd*/ #define OCTEON_CHORD_HEX(dest_ptr) \ ({ __asm __volatile( \ ".set push\n" \ ".set mips3\n" \ ".set noreorder\n" \ ".set noat\n" \ - ".word 0x7c02f03b \n"\ + ".word 0x7c02f03b \n" \ "nop\n" \ "nop\n" \ "nop\n" \ "nop\n" \ - "sd $2,0(%0)\n" \ + "sd $2,0(%0)\n" \ ".set pop" \ : /* no outputs */ : "r" (dest_ptr) : "$2"); \ }) From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:16:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 058301065673; Wed, 5 Mar 2008 18:16: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 BA3091065670 for ; Wed, 5 Mar 2008 18:16:45 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A7C898FC14 for ; Wed, 5 Mar 2008 18:16:45 +0000 (UTC) (envelope-from rdivacky@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 m25IGjKm081957 for ; Wed, 5 Mar 2008 18:16:45 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25IGjeX081955 for perforce@freebsd.org; Wed, 5 Mar 2008 18:16:45 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 5 Mar 2008 18:16:45 GMT Message-Id: <200803051816.m25IGjeX081955@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136936 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, 05 Mar 2008 18:16:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=136936 Change 136936 by rdivacky@rdivacky_witten on 2008/03/05 18:16:33 Check for sane maxevents parameter. Noticed by: netchild Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#11 edit .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.h#5 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c#11 (text+ko) ==== @@ -29,6 +29,7 @@ #include "opt_compat.h" +#include #include #include #include @@ -228,6 +229,9 @@ linux_kev_copyin}; int error; + if (args->maxevents <= 0 || args->maxevents > LINUX_MAX_EVENTS) + return (EINVAL); + /* Convert from miliseconds to timespec. */ ts.tv_sec = args->timeout / 1000000; ts.tv_nsec = (args->timeout % 1000000) * 1000; ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.h#5 (text+ko) ==== @@ -50,4 +50,6 @@ #define LINUX_EPOLL_CTL_DEL 2 #define LINUX_EPOLL_CTL_MOD 3 +#define LINUX_MAX_EVENTS (INT_MAX / sizeof(struct linux_epoll_event)) + #endif /* !_LINUX_EPOLL_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:22:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7798A1065671; Wed, 5 Mar 2008 18:22: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 369C5106566B for ; Wed, 5 Mar 2008 18:22:53 +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 24DFF8FC17 for ; Wed, 5 Mar 2008 18:22:53 +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 m25IMrmR082242 for ; Wed, 5 Mar 2008 18:22:53 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25IMqbH082240 for perforce@freebsd.org; Wed, 5 Mar 2008 18:22:52 GMT (envelope-from rrs@cisco.com) Date: Wed, 5 Mar 2008 18:22:52 GMT Message-Id: <200803051822.m25IMqbH082240@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 136937 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, 05 Mar 2008 18:22:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=136937 Change 136937 by rrs@rrs-mips2-jnpr on 2008/03/05 18:22:37 More enhancements in the show oct_state Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#18 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#18 (text+ko) ==== @@ -87,9 +87,6 @@ #define uart_getreg(bas, reg) \ bus_space_read_8((bas)->bst, (bas)->bsh, uart_regofs(bas, reg)) -int rrs_uart_debug=0; -int rrs_uart_show_tmit_too=0; - /* * Clear pending interrupts. THRE is cleared by reading IIR. Data * that may have been received gets lost here. @@ -661,24 +658,15 @@ } } if (lsr & LSR_RXRDY) { - /* This is utterly wierd. If we get - * a IIR_RLS, we should ONT just - * read a LSR_RXRDY. So we will re-read the - * register and the character. If the - * char is 0, then its the 0 that accompanies - * the BREAK and the hardware just futzed. - * If its other than that, we loose and drop - * the character. - */ xc = uart_getreg(bas, OCT_REG_RBR); lsr = uart_getreg(bas, OCT_REG_LSR); if (xc == 0) { ipend |= SER_INT_BREAK; - } else { - /* TSNH, but neither should this whole block */ - printf("We loose a char %x\n", xc); } + /* else printf("We loose a char\n"); */ + } + } else if (iir == IIR_RXRDY) { ipend |= SER_INT_RXREADY; @@ -703,8 +691,6 @@ niir = uart_getreg(bas, OCT_REG_IIR); lsr = uart_getreg(bas, OCT_REG_LSR); usr = uart_getreg(bas, OCT_REG_USR); - printf("Got IIR_BUSY:%x niir:%x lsr:%x usr:%x\n", - iir2, niir, lsr, usr); } } uart_unlock(sc->sc_hwmtx); @@ -884,6 +870,12 @@ #ifdef DDB +#define OCTEON_POW_WQ_INT_THR 0x8001670000000080ull +#define OCTEON_POW_WQ_INT_CNT 0x8001670000000100ull +#define OCTEON_POW_WQ_QOS_THR 0x8001670000000180ull +#define OCTEON_POW_WQ_INT 0x8001670000000200ull +#define OCTEON_POW_WQ_INT_PC 0x8001670000000208ull + void db_dump_intr_state(void); void @@ -927,7 +919,49 @@ /* next register set please */ ciu_intr_reg_addr += 0x10; } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_THR; + printf("Pow Threshold registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx tc:%llx tc_thr:%llx ds_thr:%llx iq_thr:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 28) & 0x00001) , + ((regstate1 >> 24) & 0x0000f), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_CNT; + printf("Pow int cnt registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx tc_cnt:%llx ds_cnt:%llx iq_cnt:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 24) & 0x0000f), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_QOS_THR; + printf("Pow QOS thr registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx des_cnt:%llx buf_cnt:%llx free_cnt:%llx max_thr:%llx min_thr:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 48) & 0x00fff), + ((regstate1 >> 36) & 0x00fff), + ((regstate1 >> 24) & 0x00fff), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT; + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("POW_WQ_INT:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_PC; + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("POW_WQ_INT_PC:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); } #include From owner-p4-projects@FreeBSD.ORG Wed Mar 5 18:25:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE34E1065680; Wed, 5 Mar 2008 18:25: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 9BDD11065674 for ; Wed, 5 Mar 2008 18:25:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 789D98FC26 for ; Wed, 5 Mar 2008 18:25:56 +0000 (UTC) (envelope-from rdivacky@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 m25IPueU082366 for ; Wed, 5 Mar 2008 18:25:56 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25IPulw082364 for perforce@freebsd.org; Wed, 5 Mar 2008 18:25:56 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 5 Mar 2008 18:25:56 GMT Message-Id: <200803051825.m25IPulw082364@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 136938 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, 05 Mar 2008 18:25:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=136938 Change 136938 by rdivacky@rdivacky_witten on 2008/03/05 18:25:49 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/arm/conf/AVILA#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/NOTES#5 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files#5 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/files.powerpc#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/conf/kmod.mk#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/lge/if_lge.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/dev/usb/uslcom.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/include/_types.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/i386/include/float.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/Makefile#5 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/modules/uslcom/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_base.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netgraph/ng_nat.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/in.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/netinet/ip_fw_nat.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsclient/nfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/conf/NOTES#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/opic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/mpc85xx/pci_ocp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/sys/cpuset.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ufs/extattr.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_epoll/sys/ufs/ufs/ufs_extattr.c#4 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_epoll/sys/amd64/amd64/pmap.c#3 (text+ko) ==== @@ -7,7 +7,7 @@ * All rights reserved. * Copyright (c) 2003 Peter Wemm * All rights reserved. - * Copyright (c) 2005 Alan L. Cox + * Copyright (c) 2005-2008 Alan L. Cox * All rights reserved. * * This code is derived from software contributed to Berkeley by @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.606 2008/03/04 18:50:15 alc Exp $"); /* * Manages physical address maps. @@ -107,10 +107,12 @@ #include "opt_msgbuf.h" #include "opt_pmap.h" +#include "opt_vm.h" #include #include #include +#include #include #include #include @@ -134,6 +136,7 @@ #include #include #include +#include #include #include @@ -162,6 +165,9 @@ #define PV_STAT(x) do { } while (0) #endif +#define pa_index(pa) ((pa) >> PDRSHIFT) +#define pa_to_pvh(pa) (&pv_table[pa_index(pa)]) + struct pmap kernel_pmap_store; vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ @@ -173,6 +179,12 @@ vm_offset_t kernel_vm_end; pt_entry_t pg_nx; +SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); + +static int pg_ps_enabled; +SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RD, &pg_ps_enabled, 0, + "Are large page mappings enabled?"); + static u_int64_t KPTphys; /* phys addr of kernel level 1 */ static u_int64_t KPDphys; /* phys addr of kernel level 2 */ u_int64_t KPDPphys; /* phys addr of kernel level 3 */ @@ -185,6 +197,7 @@ * Data for the pv entry allocation mechanism */ static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0; +static struct md_page *pv_table; static int shpgperproc = PMAP_SHPGPERPROC; /* @@ -201,11 +214,29 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); +static void pmap_pv_demote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa); +static boolean_t pmap_pv_insert_pde(pmap_t pmap, vm_offset_t va, vm_page_t m); +static void pmap_pv_promote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa); +static void pmap_pvh_free(struct md_page *pvh, pmap_t pmap, vm_offset_t va); +static pv_entry_t pmap_pvh_remove(struct md_page *pvh, pmap_t pmap, + vm_offset_t va); +static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, + vm_prot_t prot); static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); +static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); +static boolean_t pmap_is_modified_pvh(struct md_page *pvh); +static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va); +static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va); +static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, + vm_prot_t prot); +static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, + vm_page_t *free); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free); +static void pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte); static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, @@ -361,21 +392,6 @@ } -static __inline pt_entry_t * -pmap_pte_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *ptepde) -{ - pd_entry_t *pde; - - pde = pmap_pde(pmap, va); - if (pde == NULL || (*pde & PG_V) == 0) - return NULL; - *ptepde = *pde; - if ((*pde & PG_PS) != 0) /* compat with i386 pmap_pte() */ - return ((pt_entry_t *)pde); - return (pmap_pde_to_pte(pde, va)); -} - - PMAP_INLINE pt_entry_t * vtopte(vm_offset_t va) { @@ -521,6 +537,7 @@ */ PMAP_LOCK_INIT(kernel_pmap); kernel_pmap->pm_pml4 = (pdp_entry_t *) (KERNBASE + KPML4phys); + kernel_pmap->pm_root = NULL; kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); nkpt = NKPT; @@ -620,8 +637,28 @@ void pmap_init(void) { + pd_entry_t *pd; + vm_page_t mpte; + vm_size_t s; + int i, pv_npg; /* + * Initialize the vm page array entries for the kernel pmap's + * page table pages. + */ + pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS); + for (i = 0; i < nkpt; i++) { + if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V)) + continue; + mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME); + KASSERT(mpte >= vm_page_array && + mpte < &vm_page_array[vm_page_array_size], + ("pmap_init: page table page is out of range")); + mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i; + mpte->phys_addr = pd[i] & PG_FRAME; + } + + /* * Initialize the address space (zone) for the pv entries. Set a * high water mark so that the system can recover from excessive * numbers of pv entries. @@ -630,9 +667,28 @@ pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; TUNABLE_INT_FETCH("vm.pmap.pv_entries", &pv_entry_max); pv_entry_high_water = 9 * (pv_entry_max / 10); + + /* + * Are large page mappings enabled? + */ + TUNABLE_INT_FETCH("vm.pmap.pg_ps_enabled", &pg_ps_enabled); + + /* + * Calculate the size of the pv head table for superpages. + */ + for (i = 0; phys_avail[i + 1]; i += 2); + pv_npg = round_2mpage(phys_avail[(i - 2) + 1]) / NBPDR; + + /* + * Allocate memory for the pv head table for superpages. + */ + s = (vm_size_t)(pv_npg * sizeof(struct md_page)); + s = round_page(s); + pv_table = (struct md_page *)kmem_alloc(kernel_map, s); + for (i = 0; i < pv_npg; i++) + TAILQ_INIT(&pv_table[i].pv_list); } -SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pmap_pventry_proc(SYSCTL_HANDLER_ARGS) { @@ -663,6 +719,25 @@ SYSCTL_PROC(_vm_pmap, OID_AUTO, shpgperproc, CTLTYPE_INT|CTLFLAG_RW, &shpgperproc, 0, pmap_shpgperproc_proc, "IU", "Page share factor per proc"); +SYSCTL_NODE(_vm_pmap, OID_AUTO, pde, CTLFLAG_RD, 0, + "2MB page mapping counters"); + +static u_long pmap_pde_demotions; +SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, demotions, CTLFLAG_RD, + &pmap_pde_demotions, 0, "2MB page demotions"); + +static u_long pmap_pde_mappings; +SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, mappings, CTLFLAG_RD, + &pmap_pde_mappings, 0, "2MB page mappings"); + +static u_long pmap_pde_p_failures; +SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, p_failures, CTLFLAG_RD, + &pmap_pde_p_failures, 0, "2MB page promotion failures"); + +static u_long pmap_pde_promotions; +SYSCTL_ULONG(_vm_pmap_pde, OID_AUTO, promotions, CTLFLAG_RD, + &pmap_pde_promotions, 0, "2MB page promotions"); + /*************************************************** * Low level helper routines..... @@ -1097,8 +1172,105 @@ while (free != NULL) { m = free; free = m->right; - vm_page_free_zero(m); + /* Preserve the page's PG_ZERO setting. */ + vm_page_free_toq(m); + } +} + +/* + * Schedule the specified unused page table page to be freed. Specifically, + * add the page to the specified list of pages that will be released to the + * physical memory manager after the TLB has been updated. + */ +static __inline void +pmap_add_delayed_free_list(vm_page_t m, vm_page_t *free, boolean_t set_PG_ZERO) +{ + + if (set_PG_ZERO) + m->flags |= PG_ZERO; + else + m->flags &= ~PG_ZERO; + m->right = *free; + *free = m; +} + +/* + * Inserts the specified page table page into the specified pmap's collection + * of idle page table pages. Each of a pmap's page table pages is responsible + * for mapping a distinct range of virtual addresses. The pmap's collection is + * ordered by this virtual address range. + */ +static void +pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte) +{ + vm_page_t root; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + root = pmap->pm_root; + if (root == NULL) { + mpte->left = NULL; + mpte->right = NULL; + } else { + root = vm_page_splay(mpte->pindex, root); + if (mpte->pindex < root->pindex) { + mpte->left = root->left; + mpte->right = root; + root->left = NULL; + } else if (mpte->pindex == root->pindex) + panic("pmap_insert_pt_page: pindex already inserted"); + else { + mpte->right = root->right; + mpte->left = root; + root->right = NULL; + } + } + pmap->pm_root = mpte; +} + +/* + * Looks for a page table page mapping the specified virtual address in the + * specified pmap's collection of idle page table pages. Returns NULL if there + * is no page table page corresponding to the specified virtual address. + */ +static vm_page_t +pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va) +{ + vm_page_t mpte; + vm_pindex_t pindex = pmap_pde_pindex(va); + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + if ((mpte = pmap->pm_root) != NULL && mpte->pindex != pindex) { + mpte = vm_page_splay(pindex, mpte); + if ((pmap->pm_root = mpte)->pindex != pindex) + mpte = NULL; + } + return (mpte); +} + +/* + * Removes the specified page table page from the specified pmap's collection + * of idle page table pages. The specified page table page must be a member of + * the pmap's collection. + */ +static void +pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte) +{ + vm_page_t root; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + if (mpte != pmap->pm_root) { + root = vm_page_splay(mpte->pindex, pmap->pm_root); + KASSERT(mpte == root, + ("pmap_remove_pt_page: mpte %p is missing from pmap %p", + mpte, pmap)); + } + if (mpte->left == NULL) + root = mpte->right; + else { + root = vm_page_splay(mpte->pindex, mpte->left); + root->right = mpte->right; } + pmap->pm_root = root; } /* @@ -1177,8 +1349,7 @@ * Put page on a list so that it is released after * *ALL* TLB shootdown is done */ - m->right = *free; - *free = m; + pmap_add_delayed_free_list(m, free, TRUE); return 1; } @@ -1205,6 +1376,7 @@ PMAP_LOCK_INIT(pmap); pmap->pm_pml4 = (pml4_entry_t *)(KERNBASE + KPML4phys); + pmap->pm_root = NULL; pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -1241,6 +1413,7 @@ /* install self-referential address mapping entry(s) */ pmap->pm_pml4[PML4PML4I] = VM_PAGE_TO_PHYS(pml4pg) | PG_V | PG_RW | PG_A | PG_M; + pmap->pm_root = NULL; pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -1416,7 +1589,7 @@ { vm_pindex_t ptepindex; pd_entry_t *pd; - vm_page_t m, free; + vm_page_t m; KASSERT((flags & (M_NOWAIT | M_WAITOK)) == M_NOWAIT || (flags & (M_NOWAIT | M_WAITOK)) == M_WAITOK, @@ -1437,13 +1610,13 @@ * normal 4K page. */ if (pd != NULL && (*pd & (PG_PS | PG_V)) == (PG_PS | PG_V)) { - *pd = 0; - pd = NULL; - pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE; - free = NULL; - pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va), &free); - pmap_invalidate_all(kernel_pmap); - pmap_free_zero_pages(free); + if (!pmap_demote_pde(pmap, pd, va)) { + /* + * Invalidation of the 2MB page mapping may have caused + * the deallocation of the underlying PD page. + */ + pd = NULL; + } } /* @@ -1483,6 +1656,8 @@ KASSERT(pmap->pm_stats.resident_count == 0, ("pmap_release: pmap resident count %ld != 0", pmap->pm_stats.resident_count)); + KASSERT(pmap->pm_root == NULL, + ("pmap_release: pmap has reserved page table page(s)")); m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I] & PG_FRAME); @@ -1649,11 +1824,16 @@ * drastic measures to free some pages so we can allocate * another pv entry chunk. This is normally called to * unmap inactive pages, and if necessary, active pages. + * + * We do not, however, unmap 2mpages because subsequent accesses will + * allocate per-page pv entries until repromotion occurs, thereby + * exacerbating the shortage of free pv entries. */ static void pmap_collect(pmap_t locked_pmap, struct vpgqueues *vpq) { - pd_entry_t ptepde; + struct md_page *pvh; + pd_entry_t *pde; pmap_t pmap; pt_entry_t *pte, tpte; pv_entry_t next_pv, pv; @@ -1672,10 +1852,10 @@ else if (pmap != locked_pmap && !PMAP_TRYLOCK(pmap)) continue; pmap->pm_stats.resident_count--; - pte = pmap_pte_pde(pmap, va, &ptepde); - if (pte == NULL) { - panic("null pte in pmap_collect"); - } + pde = pmap_pde(pmap, va); + KASSERT((*pde & PG_PS) == 0, ("pmap_collect: found" + " a 2mpage in page %p's pv list", m)); + pte = pmap_pde_to_pte(pde, va); tpte = pte_load_clear(pte); KASSERT((tpte & PG_W) == 0, ("pmap_collect: wired pte %#lx", tpte)); @@ -1688,12 +1868,15 @@ vm_page_dirty(m); } free = NULL; - pmap_unuse_pt(pmap, va, ptepde, &free); + pmap_unuse_pt(pmap, va, *pde, &free); pmap_invalidate_page(pmap, va); pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - if (TAILQ_EMPTY(&m->md.pv_list)) - vm_page_flag_clear(m, PG_WRITEABLE); + if (TAILQ_EMPTY(&m->md.pv_list)) { + pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m)); + if (TAILQ_EMPTY(&pvh->pv_list)) + vm_page_flag_clear(m, PG_WRITEABLE); + } free_pv_entry(pmap, pv); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); @@ -1828,24 +2011,133 @@ return (pv); } -static void -pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va) +/* + * First find and then remove the pv entry for the specified pmap and virtual + * address from the specified pv list. Returns the pv entry if found and NULL + * otherwise. This operation can be performed on pv lists for either 4KB or + * 2MB page mappings. + */ +static __inline pv_entry_t +pmap_pvh_remove(struct md_page *pvh, pmap_t pmap, vm_offset_t va) { pv_entry_t pv; - PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); - TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - if (pmap == PV_PMAP(pv) && va == pv->pv_va) + TAILQ_FOREACH(pv, &pvh->pv_list, pv_list) { + if (pmap == PV_PMAP(pv) && va == pv->pv_va) { + TAILQ_REMOVE(&pvh->pv_list, pv, pv_list); break; + } } - KASSERT(pv != NULL, ("pmap_remove_entry: pv not found")); - TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - if (TAILQ_EMPTY(&m->md.pv_list)) - vm_page_flag_clear(m, PG_WRITEABLE); + return (pv); +} + +/* + * After demotion from a 2MB page mapping to 512 4KB page mappings, + * destroy the pv entry for the 2MB page mapping and reinstantiate the pv + * entries for each of the 4KB page mappings. + */ +static void +pmap_pv_demote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa) +{ + struct md_page *pvh; + pv_entry_t pv; + vm_offset_t va_last; + vm_page_t m; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + KASSERT((pa & PDRMASK) == 0, + ("pmap_pv_demote_pde: pa is not 2mpage aligned")); + + /* + * Transfer the 2mpage's pv entry for this mapping to the first + * page's pv list. + */ + pvh = pa_to_pvh(pa); + va = trunc_2mpage(va); + pv = pmap_pvh_remove(pvh, pmap, va); + KASSERT(pv != NULL, ("pmap_pv_demote_pde: pv not found")); + m = PHYS_TO_VM_PAGE(pa); + TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); + /* Instantiate the remaining NPTEPG - 1 pv entries. */ + va_last = va + NBPDR - PAGE_SIZE; + do { + m++; + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_pv_demote_pde: page %p is not managed", m)); + va += PAGE_SIZE; + pmap_insert_entry(pmap, va, m); + } while (va < va_last); +} + +/* + * After promotion from 512 4KB page mappings to a single 2MB page mapping, + * replace the many pv entries for the 4KB page mappings by a single pv entry + * for the 2MB page mapping. + */ +static void +pmap_pv_promote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa) +{ + struct md_page *pvh; + pv_entry_t pv; + vm_offset_t va_last; + vm_page_t m; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + KASSERT((pa & PDRMASK) == 0, + ("pmap_pv_promote_pde: pa is not 2mpage aligned")); + + /* + * Transfer the first page's pv entry for this mapping to the + * 2mpage's pv list. Aside from avoiding the cost of a call + * to get_pv_entry(), a transfer avoids the possibility that + * get_pv_entry() calls pmap_collect() and that pmap_collect() + * removes one of the mappings that is being promoted. + */ + m = PHYS_TO_VM_PAGE(pa); + va = trunc_2mpage(va); + pv = pmap_pvh_remove(&m->md, pmap, va); + KASSERT(pv != NULL, ("pmap_pv_promote_pde: pv not found")); + pvh = pa_to_pvh(pa); + TAILQ_INSERT_TAIL(&pvh->pv_list, pv, pv_list); + /* Free the remaining NPTEPG - 1 pv entries. */ + va_last = va + NBPDR - PAGE_SIZE; + do { + m++; + va += PAGE_SIZE; + pmap_pvh_free(&m->md, pmap, va); + } while (va < va_last); +} + +/* + * First find and then destroy the pv entry for the specified pmap and virtual + * address. This operation can be performed on pv lists for either 4KB or 2MB + * page mappings. + */ +static void +pmap_pvh_free(struct md_page *pvh, pmap_t pmap, vm_offset_t va) +{ + pv_entry_t pv; + + pv = pmap_pvh_remove(pvh, pmap, va); + KASSERT(pv != NULL, ("pmap_pvh_free: pv not found")); free_pv_entry(pmap, pv); } +static void +pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va) +{ + struct md_page *pvh; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + pmap_pvh_free(&m->md, pmap, va); + if (TAILQ_EMPTY(&m->md.pv_list)) { + pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m)); + if (TAILQ_EMPTY(&pvh->pv_list)) + vm_page_flag_clear(m, PG_WRITEABLE); + } +} + /* * Create a pv entry for page at pa for * (pmap, va). @@ -1882,6 +2174,174 @@ } /* + * Create the pv entry for a 2MB page mapping. + */ +static boolean_t +pmap_pv_insert_pde(pmap_t pmap, vm_offset_t va, vm_page_t m) +{ + struct md_page *pvh; + pv_entry_t pv; + + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + if (pv_entry_count < pv_entry_high_water && + (pv = get_pv_entry(pmap, TRUE)) != NULL) { + pv->pv_va = va; + pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m)); + TAILQ_INSERT_TAIL(&pvh->pv_list, pv, pv_list); + return (TRUE); + } else + return (FALSE); +} + +/* + * Tries to demote a 2MB page mapping. + */ +static boolean_t +pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va) +{ + pd_entry_t newpde, oldpde; + pt_entry_t *firstpte, newpte, *pte; + vm_paddr_t mptepa; + vm_page_t free, mpte; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + mpte = pmap_lookup_pt_page(pmap, va); + if (mpte != NULL) + pmap_remove_pt_page(pmap, mpte); + else { + KASSERT((*pde & PG_W) == 0, + ("pmap_demote_pde: page table page for a wired mapping" + " is missing")); + free = NULL; + pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free); + pmap_invalidate_page(pmap, trunc_2mpage(va)); + pmap_free_zero_pages(free); + CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx" + " in pmap %p", va, pmap); + return (FALSE); + } + mptepa = VM_PAGE_TO_PHYS(mpte); + firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa); + oldpde = *pde; + newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V; + KASSERT((oldpde & (PG_A | PG_V)) == (PG_A | PG_V), + ("pmap_demote_pde: oldpde is missing PG_A and/or PG_V")); + KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW, + ("pmap_demote_pde: oldpde is missing PG_M")); + KASSERT((oldpde & PG_PS) != 0, + ("pmap_demote_pde: oldpde is missing PG_PS")); + newpte = oldpde & ~PG_PS; + if ((newpte & PG_PDE_PAT) != 0) + newpte ^= PG_PDE_PAT | PG_PTE_PAT; + + /* + * If the mapping has changed attributes, update the page table + * entries. + */ + KASSERT((*firstpte & PG_FRAME) == (newpte & PG_FRAME), + ("pmap_demote_pde: firstpte and newpte map different physical" + " addresses")); + if ((*firstpte & PG_PTE_PROMOTE) != (newpte & PG_PTE_PROMOTE)) + for (pte = firstpte; pte < firstpte + NPTEPG; pte++) { + *pte = newpte; + newpte += PAGE_SIZE; + } + + /* + * Demote the mapping. This pmap is locked. The old PDE has + * PG_A set. If the old PDE has PG_RW set, it also has PG_M + * set. Thus, there is no danger of a race with another + * processor changing the setting of PG_A and/or PG_M between + * the read above and the store below. + */ + pde_store(pde, newpde); + + /* + * Invalidate a stale mapping of the page table page. + */ + pmap_invalidate_page(pmap, (vm_offset_t)vtopte(va)); + + /* + * Demote the pv entry. This depends on the earlier demotion + * of the mapping. Specifically, the (re)creation of a per- + * page pv entry might trigger the execution of pmap_collect(), + * which might reclaim a newly (re)created per-page pv entry + * and destroy the associated mapping. In order to destroy + * the mapping, the PDE must have already changed from mapping + * the 2mpage to referencing the page table page. + */ + if ((oldpde & PG_MANAGED) != 0) + pmap_pv_demote_pde(pmap, va, oldpde & PG_FRAME); + + pmap_pde_demotions++; + CTR2(KTR_PMAP, "pmap_demote_pde: success for va %#lx" + " in pmap %p", va, pmap); + return (TRUE); +} + +/* + * pmap_remove_pde: do the things to unmap a superpage in a process + */ +static int +pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva, + vm_page_t *free) +{ + struct md_page *pvh; + pd_entry_t oldpde; + vm_offset_t eva, va; + vm_page_t m, mpte; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + KASSERT((sva & PDRMASK) == 0, + ("pmap_remove_pde: sva is not 2mpage aligned")); + oldpde = pte_load_clear(pdq); + if (oldpde & PG_W) + pmap->pm_stats.wired_count -= NBPDR / PAGE_SIZE; + + /* + * Machines that don't support invlpg, also don't support + * PG_G. + */ + if (oldpde & PG_G) + pmap_invalidate_page(kernel_pmap, sva); + pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE; + if (oldpde & PG_MANAGED) { + pvh = pa_to_pvh(oldpde & PG_FRAME); + pmap_pvh_free(pvh, pmap, sva); + eva = sva + NBPDR; + for (va = sva, m = PHYS_TO_VM_PAGE(oldpde & PG_FRAME); + va < eva; va += PAGE_SIZE, m++) { + if (oldpde & PG_M) { + KASSERT((oldpde & PG_RW) != 0, + ("pmap_remove_pde: modified 2mpage not writable: va: %#lx, pde: %#lx", + va, oldpde)); + vm_page_dirty(m); + } + if (oldpde & PG_A) + vm_page_flag_set(m, PG_REFERENCED); + if (TAILQ_EMPTY(&m->md.pv_list) && + TAILQ_EMPTY(&pvh->pv_list)) + vm_page_flag_clear(m, PG_WRITEABLE); + } + } + if (pmap == kernel_pmap) { + if (!pmap_demote_pde(pmap, pdq, sva)) + panic("pmap_remove_pde: failed demotion"); + } else { + mpte = pmap_lookup_pt_page(pmap, sva); + if (mpte != NULL) { + pmap_remove_pt_page(pmap, mpte); + KASSERT(mpte->wire_count == NPTEPG, + ("pmap_remove_pde: pte page wire count error")); + mpte->wire_count = 0; + pmap_add_delayed_free_list(mpte, free, FALSE); + atomic_subtract_int(&cnt.v_wire_count, 1); + } + } + return (pmap_unuse_pt(pmap, sva, *pmap_pdpe(pmap, sva), free)); +} + +/* * pmap_remove_pte: do the things to unmap a page in a process */ static int @@ -2011,11 +2471,24 @@ * Check for large page. */ if ((ptpaddr & PG_PS) != 0) { - *pde = 0; - pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE; - pmap_unuse_pt(pmap, sva, *pdpe, &free); - anyvalid = 1; - continue; + /* + * Are we removing the entire large page? If not, + * demote the mapping and fall through. + */ + if (sva + NBPDR == va_next && eva >= va_next) { + /* + * The TLB entry for a PG_G mapping is + * invalidated by pmap_remove_pde(). + */ + if ((ptpaddr & PG_G) == 0) + anyvalid = 1; + pmap_remove_pde(pmap, pde, sva, &free); + continue; + } else if (!pmap_demote_pde(pmap, pde, sva)) { + /* The large page mapping was destroyed. */ + continue; + } else + ptpaddr = *pde; } /* @@ -2065,23 +2538,34 @@ void pmap_remove_all(vm_page_t m) { + struct md_page *pvh; pv_entry_t pv; pmap_t pmap; pt_entry_t *pte, tpte; - pd_entry_t ptepde; + pd_entry_t *pde; + vm_offset_t va; vm_page_t free; KASSERT((m->flags & PG_FICTITIOUS) == 0, ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); + pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m)); + while ((pv = TAILQ_FIRST(&pvh->pv_list)) != NULL) { + va = pv->pv_va; + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pde = pmap_pde(pmap, va); + (void)pmap_demote_pde(pmap, pde, va); + PMAP_UNLOCK(pmap); + } while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { pmap = PV_PMAP(pv); PMAP_LOCK(pmap); pmap->pm_stats.resident_count--; - pte = pmap_pte_pde(pmap, pv->pv_va, &ptepde); - if (pte == NULL) { - panic("null pte in pmap_remove_all"); - } + pde = pmap_pde(pmap, pv->pv_va); + KASSERT((*pde & PG_PS) == 0, ("pmap_remove_all: found" + " a 2mpage in page %p's pv list", m)); + pte = pmap_pde_to_pte(pde, pv->pv_va); tpte = pte_load_clear(pte); if (tpte & PG_W) pmap->pm_stats.wired_count--; @@ -2098,7 +2582,7 @@ vm_page_dirty(m); } free = NULL; - pmap_unuse_pt(pmap, pv->pv_va, ptepde, &free); + pmap_unuse_pt(pmap, pv->pv_va, *pde, &free); pmap_invalidate_page(pmap, pv->pv_va); pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); @@ -2109,6 +2593,54 @@ } /* + * pmap_protect_pde: do the things to protect a 2mpage in a process + */ +static boolean_t +pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot) +{ + pd_entry_t newpde, oldpde; + vm_offset_t eva, va; + vm_page_t m; + boolean_t anychanged; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + KASSERT((sva & PDRMASK) == 0, + ("pmap_protect_pde: sva is not 2mpage aligned")); + anychanged = FALSE; +retry: + oldpde = newpde = *pde; + if (oldpde & PG_MANAGED) { + eva = sva + NBPDR; + for (va = sva, m = PHYS_TO_VM_PAGE(oldpde & PG_FRAME); + va < eva; va += PAGE_SIZE, m++) { + /* + * In contrast to the analogous operation on a 4KB page + * mapping, the mapping's PG_A flag is not cleared and + * the page's PG_REFERENCED flag is not set. The + * reason is that pmap_demote_pde() expects that a 2MB + * page mapping with a stored page table page has PG_A + * set. + */ + if ((oldpde & PG_M) != 0) + vm_page_dirty(m); + } + } + if ((prot & VM_PROT_WRITE) == 0) + newpde &= ~(PG_RW | PG_M); + if ((prot & VM_PROT_EXECUTE) == 0) + newpde |= pg_nx; + if (newpde != oldpde) { + if (!atomic_cmpset_long(pde, oldpde, newpde)) + goto retry; + if (oldpde & PG_G) + pmap_invalidate_page(pmap, sva); + else + anychanged = TRUE; + } + return (anychanged); +} + +/* * Set the physical protection on the * specified range of this map as requested. */ @@ -2164,12 +2696,22 @@ * Check for large page. */ if ((ptpaddr & PG_PS) != 0) { - if ((prot & VM_PROT_WRITE) == 0) - *pde &= ~(PG_M|PG_RW); - if ((prot & VM_PROT_EXECUTE) == 0) - *pde |= pg_nx; - anychanged = 1; - continue; + /* + * Are we protecting the entire large page? If not, + * demote the mapping and fall through. + */ + if (sva + NBPDR == va_next && eva >= va_next) { + /* + * The TLB entry for a PG_G mapping is + * invalidated by pmap_protect_pde(). + */ + if (pmap_protect_pde(pmap, pde, sva, prot)) + anychanged = 1; + continue; + } else if (!pmap_demote_pde(pmap, pde, sva)) { + /* The large page mapping was destroyed. */ + continue; + } } if (va_next > eva) @@ -2221,6 +2763,103 @@ } /* + * Tries to promote the 512, contiguous 4KB page mappings that are within a + * single page table page to a single 2MB page mapping. For promotion to + * occur, two conditions must be met: (1) the 4KB page mappings must map + * aligned, contiguous physical memory and (2) the 4KB page mappings must have + * identical characteristics. + */ +static void +pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va) +{ + pd_entry_t newpde; + pt_entry_t *firstpte, oldpte, *pte; + vm_offset_t oldpteva; + vm_paddr_t pa; + vm_page_t mpte; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + firstpte = (pt_entry_t *)PHYS_TO_DMAP(*pde & PG_FRAME); + KASSERT((*firstpte & PG_V) != 0, + ("pmap_promote_pde: firstpte is missing PG_V")); + if ((*firstpte & PG_A) == 0) { + pmap_pde_p_failures++; + CTR2(KTR_PMAP, "pmap_promote_pde: failure for va %#lx" + " in pmap %p", va, pmap); + return; + } + pa = *firstpte & PG_PS_FRAME; + newpde = *firstpte; + if ((newpde & (PG_M | PG_RW)) == PG_RW) + newpde &= ~PG_RW; + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 5 21:13:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21C31106567E; Wed, 5 Mar 2008 21:13: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 D5E7E1065686 for ; Wed, 5 Mar 2008 21:12:59 +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 CB9338FC22 for ; Wed, 5 Mar 2008 21:12:59 +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 m25LCxPk001317 for ; Wed, 5 Mar 2008 21:12:59 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25LCxtC001315 for perforce@freebsd.org; Wed, 5 Mar 2008 21:12:59 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 5 Mar 2008 21:12:59 GMT Message-Id: <200803052112.m25LCxtC001315@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 136947 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, 05 Mar 2008 21:13:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=136947 Change 136947 by pgj@disznohal on 2008/03/05 21:12:08 MFen: 1.404 --> 1.406 Affected files ... .. //depot/projects/docproj_hu/books/handbook/advanced-networking/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/advanced-networking/chapter.sgml#5 (text+ko) ==== @@ -1,12 +1,12 @@ + Original Revision: 1.406 --> Egyéb haladó hálózati @@ -7092,7 +7092,7 @@ <sect2> <title>Kapcsolódás - Jelenleg három módon tudunk más IPv6-os + Jelenleg négy módon tudunk más IPv6-os géphez és hálózathoz csatlakozni: @@ -7107,6 +7107,12 @@ + A SixXS a + világ minden táján kínál + végpontokkal rendelkezõ járatokat. + + + Egy 6-ból-4 (RFC 3068) típusú járattal. @@ -7557,7 +7563,78 @@ lehetõségek ezután már elérhetõek, és számos sysctl változón keresztül - állíthatóak. Az eszközök maguk az + állíthatóak: + + + + + + Változó + Leírás + + + + + + net.inet.carp.allow + A beérkezõ CARP + csomagok elfogadása. Alapértelmezés + szerint engedélyezett. + + + + net.inet.carp.preempt + Ezzel a beállítással az adott + gépen az összes CARP + felület leáll, ha közülük + bármelyik is + mûködésképtelenné + válik. Alapértelmezés szerint + tiltott. + + + + net.inet.carp.log + A 0 értékkel + kikapcsoljuk a naplózást. Az + 1 értékkel a rossz + CARP csomagok + naplózását engedélyezzük. + Az ettõl nagyobb értékek esetén + pedig a CARP felületek + változásait naplózzuk. Az + alapértelmezett értéke az + 1. + + + + net.inet.carp.arpbalance + Az ARP protokoll + segítségével próbálja meg + a helyi hálózati forgalmat + mentesíteni a terheléstõl. + Alapértelmezés szerint tiltott. + + + + net.inet.carp.suppress_preempt + Ez a változó + írásvédett, és a + megszakítás elnyomásának + állapotát mutatja. A + megszakítás elnyomható, ha a + felület egyik linkje nem mûködik. A + 0 érték arra utal, hogy a + megszakítást nem nyomták el. Minden + probléma növeli ennek a + változónak az + értékét. + + + + + + A CARP eszközök maguk az ifconfig paranccsal készíthetõek el: @@ -7618,7 +7695,7 @@ hostname="a-gep.minta.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" -ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24" +ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" Miközben a b-gep.minta.org az rc.conf állományában @@ -7665,14 +7742,14 @@ Az alap &os; rendszermag használata esetén elõfordulhat, hogy a - preemption opció engedélyezett. - Amennyiben így lenne, a - szolgaltato.minta.org nem fogja minden - esetben fogja rendesen visszaadni az + megszakítás (a preemption + opció) engedélyezett. Amennyiben így + lenne, a szolgaltato.minta.org nem fogja + minden esetben fogja rendesen visszaadni az IP-címet az eredeti tulajdonosának. Ilyenkor a rendszergazdának - meg kell böknie a felületet. - Tehát a következõ parancsot kell kiadnia a + kell ezt manuálisan megtennie. Tehát a + következõ parancsot kell kiadnia a szolgaltato.minta.org gépen: &prompt.root; ifconfig carp0 down && ifconfig carp0 up From owner-p4-projects@FreeBSD.ORG Wed Mar 5 21:15:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A7A71065674; Wed, 5 Mar 2008 21:15: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 19C9F106566B for ; Wed, 5 Mar 2008 21:15:02 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E8458FC1C for ; Wed, 5 Mar 2008 21:15:02 +0000 (UTC) (envelope-from thompsa@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 m25LF1NK001410 for ; Wed, 5 Mar 2008 21:15:01 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25LF1xl001408 for perforce@freebsd.org; Wed, 5 Mar 2008 21:15:01 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 5 Mar 2008 21:15:01 GMT Message-Id: <200803052115.m25LF1xl001408@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136948 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, 05 Mar 2008 21:15:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=136948 Change 136948 by thompsa@thompsa_burger on 2008/03/05 21:14:42 Merge Rx buffer handling improvements from iwn. Obtained from: Sam Leffler via sam_vap branch Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#15 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#6 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#15 (text+ko) ==== @@ -158,10 +158,6 @@ static void wpi_dma_map_addr(void *, bus_dma_segment_t *, int, int); static int wpi_alloc_shared(struct wpi_softc *); static void wpi_free_shared(struct wpi_softc *); -static struct wpi_rbuf *wpi_alloc_rbuf(struct wpi_softc *); -static void wpi_free_rbuf(void *, void *); -static int wpi_alloc_rpool(struct wpi_softc *); -static void wpi_free_rpool(struct wpi_softc *); static int wpi_alloc_rx_ring(struct wpi_softc *, struct wpi_rx_ring *); static void wpi_reset_rx_ring(struct wpi_softc *, struct wpi_rx_ring *); static void wpi_free_rx_ring(struct wpi_softc *, struct wpi_rx_ring *); @@ -587,17 +583,6 @@ goto fail; } - /* - * Allocate the receive buffer pool. The recieve buffers are - * WPI_RBUF_SIZE in length (3k) this is bigger than MCLBYTES - * hence we can't simply use a cluster and used mapped dma memory - * instead. - */ - if ((error = wpi_alloc_rpool(sc)) != 0) { - device_printf(dev, "could not allocate Rx buffers\n"); - goto fail; - } - /* tx data queues - 4 for QoS purposes */ for (ac = 0; ac < WME_NUM_AC; ac++) { error = wpi_alloc_tx_ring(sc, &sc->txq[ac], WPI_TX_RING_COUNT, ac); @@ -758,7 +743,6 @@ wpi_free_tx_ring(sc, &sc->cmdq); wpi_free_rx_ring(sc, &sc->rxq); - wpi_free_rpool(sc); wpi_free_shared(sc); } @@ -934,138 +918,79 @@ wpi_dma_contig_free(&sc->shared_dma); } -struct wpi_rbuf * -wpi_alloc_rbuf(struct wpi_softc *sc) -{ - struct wpi_rbuf *rbuf; - - rbuf = SLIST_FIRST(&sc->rxq.freelist); - if (rbuf == NULL) - return NULL; - SLIST_REMOVE_HEAD(&sc->rxq.freelist, next); - return rbuf; -} - -/* - * This is called automatically by the network stack when the mbuf to which our - * Rx buffer is attached is freed. - */ -static void -wpi_free_rbuf(void *buf, void *arg) -{ - struct wpi_rbuf *rbuf = arg; - struct wpi_softc *sc = rbuf->sc; - int waslocked; - - /* XXX Horrible! use busdma? */ - waslocked = WPI_LOCK_OWNED(sc); - if (!waslocked) - WPI_LOCK(sc); - - /* put the buffer back in the free list */ - SLIST_INSERT_HEAD(&sc->rxq.freelist, rbuf, next); - - if (!waslocked) - WPI_UNLOCK(sc); -} - -static int -wpi_alloc_rpool(struct wpi_softc *sc) -{ - struct wpi_rx_ring *ring = &sc->rxq; - struct wpi_rbuf *rbuf; - int i, error; - - /* allocate a big chunk of DMA'able memory.. */ - error = wpi_dma_contig_alloc(sc, &ring->buf_dma, NULL, - WPI_RBUF_COUNT * WPI_RBUF_SIZE, PAGE_SIZE, BUS_DMA_NOWAIT); - if (error != 0) { - device_printf(sc->sc_dev, - "could not allocate Rx buffers DMA memory\n"); - return error; - } - - /* ..and split it into 3KB chunks */ - SLIST_INIT(&ring->freelist); - for (i = 0; i < WPI_RBUF_COUNT; i++) { - rbuf = &ring->rbuf[i]; - - rbuf->sc = sc; /* backpointer for callbacks */ - rbuf->vaddr = ring->buf_dma.vaddr + i * WPI_RBUF_SIZE; - rbuf->paddr = ring->buf_dma.paddr + i * WPI_RBUF_SIZE; - - SLIST_INSERT_HEAD(&ring->freelist, rbuf, next); - } - return 0; -} - -static void -wpi_free_rpool(struct wpi_softc *sc) -{ - wpi_dma_contig_free(&sc->rxq.buf_dma); -} - static int wpi_alloc_rx_ring(struct wpi_softc *sc, struct wpi_rx_ring *ring) { - struct wpi_rx_data *data; - struct wpi_rbuf *rbuf; int i, error; ring->cur = 0; error = wpi_dma_contig_alloc(sc, &ring->desc_dma, - (void **)&ring->desc, WPI_RX_RING_COUNT * sizeof (uint32_t), - WPI_RING_DMA_ALIGN, BUS_DMA_NOWAIT); + (void **)&ring->desc, WPI_RX_RING_COUNT * sizeof (uint32_t), + WPI_RING_DMA_ALIGN, BUS_DMA_NOWAIT); if (error != 0) { - device_printf(sc->sc_dev, - "could not allocate rx ring DMA memory\n"); - goto fail; + device_printf(sc->sc_dev, + "%s: could not allocate rx ring DMA memory, error %d\n", + __func__, error); + goto fail; } + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, + BUS_SPACE_MAXADDR, NULL, NULL, MJUMPAGESIZE, 1, + MJUMPAGESIZE, BUS_DMA_NOWAIT, NULL, NULL, &ring->data_dmat); + if (error != 0) { + device_printf(sc->sc_dev, + "%s: bus_dma_tag_create_failed, error %d\n", + __func__, error); + goto fail; + } + /* - * Allocate Rx buffers. + * Setup Rx buffers. */ for (i = 0; i < WPI_RX_RING_COUNT; i++) { - data = &ring->data[i]; + struct wpi_rx_data *data = &ring->data[i]; + struct mbuf *m; + bus_addr_t paddr; - data->m = m_gethdr(M_DONTWAIT, MT_DATA); - if (data->m == NULL) { + error = bus_dmamap_create(ring->data_dmat, 0, &data->map); + if (error != 0) { device_printf(sc->sc_dev, - "could not allocate rx mbuf\n"); - error = ENOBUFS; + "%s: bus_dmamap_create failed, error %d\n", + __func__, error); goto fail; } - - if ((rbuf = wpi_alloc_rbuf(sc)) == NULL) { - m_freem(data->m); - data->m = NULL; + m = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, MJUMPAGESIZE); + if (m == NULL) { device_printf(sc->sc_dev, - "could not allocate rx buffer\n"); - error = ENOBUFS; + "%s: could not allocate rx mbuf\n", __func__); + error = ENOMEM; goto fail; } - - /* attach RxBuffer to mbuf */ - MEXTADD(data->m, rbuf->vaddr, WPI_RBUF_SIZE,wpi_free_rbuf, - rbuf->vaddr, rbuf, 0, EXT_NET_DRV); - - if ((data->m->m_flags & M_EXT) == 0) { - m_freem(data->m); - data->m = NULL; - error = ENOBUFS; + /* map page */ + error = bus_dmamap_load(ring->data_dmat, data->map, + mtod(m, caddr_t), MJUMPAGESIZE, + wpi_dma_map_addr, &paddr, BUS_DMA_NOWAIT); + if (error != 0 && error != EFBIG) { + device_printf(sc->sc_dev, + "%s: bus_dmamap_load failed, error %d\n", + __func__, error); + m_freem(m); + error = ENOMEM; /* XXX unique code */ goto fail; } - ring->desc[i] = htole32(rbuf->paddr); + bus_dmamap_sync(ring->data_dmat, data->map, + BUS_DMASYNC_PREWRITE); + + data->m = m; + ring->desc[i] = htole32(paddr); } - bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map, BUS_DMASYNC_PREWRITE); - return 0; - fail: wpi_free_rx_ring(sc, ring); return error; @@ -1089,7 +1014,7 @@ wpi_mem_unlock(sc); #ifdef WPI_DEBUG - if (ntries == 100 && wpi_debug > 0) + if (ntries == 100) device_printf(sc->sc_dev, "timeout resetting Rx ring\n"); #endif @@ -1103,14 +1028,9 @@ wpi_dma_contig_free(&ring->desc_dma); - for (i = 0; i < WPI_RX_RING_COUNT; i++) { - if (ring->data[i].m != NULL) { - WPI_UNLOCK(sc); + for (i = 0; i < WPI_RX_RING_COUNT; i++) + if (ring->data[i].m != NULL) m_freem(ring->data[i].m); - WPI_LOCK(sc); - ring->data[i].m = NULL; - } - } } static int @@ -1180,7 +1100,8 @@ return 0; -fail: wpi_free_tx_ring(sc, ring); +fail: + wpi_free_tx_ring(sc, ring); return error; } @@ -1199,10 +1120,9 @@ DELAY(10); } #ifdef WPI_DEBUG - if (ntries == 100 && wpi_debug > 0) { + if (ntries == 100) device_printf(sc->sc_dev, "timeout resetting Tx ring %d\n", ring->qid); - } #endif wpi_mem_unlock(sc); @@ -1571,9 +1491,10 @@ struct wpi_rx_stat *stat; struct wpi_rx_head *head; struct wpi_rx_tail *tail; - struct wpi_rbuf *rbuf; struct ieee80211_node *ni; struct mbuf *m, *mnew; + bus_addr_t paddr; + int error; stat = (struct wpi_rx_stat *)(desc + 1); @@ -1591,37 +1512,37 @@ le16toh(head->len), (int8_t)stat->rssi, head->rate, head->chan, (uintmax_t)le64toh(tail->tstamp))); + /* XXX don't need mbuf, just dma buffer */ + mnew = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, MJUMPAGESIZE); + if (mnew == NULL) { + DPRINTFN(WPI_DEBUG_RX, ("%s: no mbuf to restock ring\n", + __func__)); + ic->ic_stats.is_rx_nobuf++; + ifp->if_ierrors++; + return; + } + error = bus_dmamap_load(ring->data_dmat, data->map, + mtod(mnew, caddr_t), MJUMPAGESIZE, + wpi_dma_map_addr, &paddr, BUS_DMA_NOWAIT); + if (error != 0 && error != EFBIG) { + device_printf(sc->sc_dev, + "%s: bus_dmamap_load failed, error %d\n", __func__, error); + m_freem(mnew); + ic->ic_stats.is_rx_nobuf++; /* XXX need stat */ + ifp->if_ierrors++; + return; + } + bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_PREWRITE); + + /* finalize mbuf and swap in new one */ m = data->m; - - /* finalize mbuf */ m->m_pkthdr.rcvif = ifp; m->m_data = (caddr_t)(head + 1); m->m_pkthdr.len = m->m_len = le16toh(head->len); - if ((rbuf = SLIST_FIRST(&sc->rxq.freelist)) != NULL) { - mnew = m_gethdr(M_DONTWAIT,MT_DATA); - if (mnew == NULL) { - ifp->if_ierrors++; - return; - } - - /* attach Rx buffer to mbuf */ - MEXTADD(mnew, rbuf->vaddr, WPI_RBUF_SIZE, wpi_free_rbuf, - rbuf->vaddr, rbuf, 0, EXT_NET_DRV); - SLIST_REMOVE_HEAD(&sc->rxq.freelist, next); - data->m = mnew; - - /* update Rx descriptor */ - ring->desc[ring->cur] = htole32(rbuf->paddr); - } else { - /* no free rbufs, copy frame */ - m = m_dup(m, M_DONTWAIT); - if (m == NULL) { - /* no free mbufs either, drop frame */ - ifp->if_ierrors++; - return; - } - } + data->m = mnew; + /* update Rx descriptor */ + ring->desc[ring->cur] = htole32(paddr); if (bpf_peers_present(sc->sc_drvbpf)) { struct wpi_rx_radiotap_header *tap = &sc->sc_rxtap; ==== //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#6 (text+ko) ==== @@ -18,12 +18,6 @@ */ #include -/* DMA mapping */ -struct wpi_mapping { - int nsegs; - bus_dma_segment_t segs[WPI_MAX_SCATTER]; -}; - struct wpi_rx_radiotap_header { struct ieee80211_radiotap_header wr_ihdr; uint64_t wr_tsft; @@ -90,26 +84,16 @@ #define WPI_RBUF_COUNT ( WPI_RX_RING_COUNT + 16 ) -struct wpi_softc; - -struct wpi_rbuf { - struct wpi_softc *sc; - bus_addr_t paddr; - caddr_t vaddr; - SLIST_ENTRY(wpi_rbuf) next; -}; - struct wpi_rx_data { - struct mbuf *m; + bus_dmamap_t map; + struct mbuf *m; }; struct wpi_rx_ring { struct wpi_dma_info desc_dma; - struct wpi_dma_info buf_dma; uint32_t *desc; struct wpi_rx_data data[WPI_RX_RING_COUNT]; - struct wpi_rbuf rbuf[WPI_RBUF_COUNT]; - SLIST_HEAD(, wpi_rbuf) freelist; + bus_dma_tag_t data_dmat; int cur; }; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 22:37:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FACA1065673; Wed, 5 Mar 2008 22:37: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 D20481065671 for ; Wed, 5 Mar 2008 22:37:33 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C907F8FC1B for ; Wed, 5 Mar 2008 22:37:33 +0000 (UTC) (envelope-from thompsa@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 m25MbXgH006313 for ; Wed, 5 Mar 2008 22:37:33 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25MbXwr006311 for perforce@freebsd.org; Wed, 5 Mar 2008 22:37:33 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 5 Mar 2008 22:37:33 GMT Message-Id: <200803052237.m25MbXwr006311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136954 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, 05 Mar 2008 22:37:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=136954 Change 136954 by thompsa@thompsa_burger on 2008/03/05 22:36:42 Move the firmware frobbing for setting the association id in the RUN transition to the taskq. Obtained from: iwn Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#16 edit .. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#7 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#16 (text+ko) ==== @@ -188,7 +188,7 @@ static void wpi_intr(void *); static void wpi_ops(void *, int); static uint8_t wpi_plcp_signal(int); -static int wpi_queue_cmd(struct wpi_softc *, int, int); +static int wpi_queue_cmd(struct wpi_softc *, int, int, int); static void wpi_watchdog(void *); static int wpi_tx_data(struct wpi_softc *, struct mbuf *, struct ieee80211_node *, int); @@ -211,6 +211,7 @@ static int wpi_setup_beacon(struct wpi_softc *, struct ieee80211_node *); #endif static int wpi_auth(struct wpi_softc *); +static int wpi_run(struct wpi_softc *); static int wpi_scan(struct wpi_softc *); static int wpi_config(struct wpi_softc *); static void wpi_stop_master(struct wpi_softc *); @@ -1240,8 +1241,6 @@ { struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - struct ieee80211_node *ni; - int error; DPRINTF(("%s: %s -> %s\n", __func__, ieee80211_state_name[ic->ic_state], @@ -1260,11 +1259,10 @@ break; case IEEE80211_S_AUTH: - sc->sc_autharg = arg; - sc->config.associd = 0; - sc->config.filter &= ~htole32(WPI_FILTER_BSS); /* Delay the auth transition until we can update the firmware */ - return (wpi_queue_cmd(sc, WPI_AUTH, 0)); + if (ic->ic_state != IEEE80211_S_AUTH) + return wpi_queue_cmd(sc, WPI_AUTH, arg, + WPI_QUEUE_NORMAL); case IEEE80211_S_RUN: if (ic->ic_opmode == IEEE80211_M_MONITOR) { @@ -1272,60 +1270,13 @@ wpi_set_led(sc, WPI_LED_LINK, 5, 5); break; } - -#if 0 - if (ic->ic_opmode != IEEE80211_M_STA) { - (void) wpi_auth(sc); /* XXX */ - wpi_setup_beacon(sc, ic->ic_bss); - } -#endif - - ni = ic->ic_bss; - wpi_enable_tsf(sc, ni); - - /* update adapter's configuration */ - sc->config.associd = htole16(ni->ni_associd & ~0xc000); - /* short preamble/slot time are negotiated when associating */ - sc->config.flags &= ~htole32(WPI_CONFIG_SHPREAMBLE | - WPI_CONFIG_SHSLOT); - if (ic->ic_flags & IEEE80211_F_SHSLOT) - sc->config.flags |= htole32(WPI_CONFIG_SHSLOT); - if (ic->ic_flags & IEEE80211_F_SHPREAMBLE) - sc->config.flags |= htole32(WPI_CONFIG_SHPREAMBLE); - sc->config.filter |= htole32(WPI_FILTER_BSS); -#if 0 - if (ic->ic_opmode != IEEE80211_M_STA) - sc->config.filter |= htole32(WPI_FILTER_BEACON); -#endif - -/* XXX put somewhere HC_QOS_SUPPORT_ASSOC + HC_IBSS_START */ + if (ic->ic_state != IEEE80211_S_RUN) + /* set the association id first */ + return wpi_queue_cmd(sc, WPI_RUN, arg, + WPI_QUEUE_NORMAL); - DPRINTF(("config chan %d flags %x\n", sc->config.chan, - sc->config.flags)); - error = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->config, - sizeof (struct wpi_config), 1); - if (error != 0) { - device_printf(sc->sc_dev, - "could not update configuration\n"); - return error; - } - - if ((error = wpi_set_txpower(sc, ic->ic_bsschan, 1)) != 0) { - device_printf(sc->sc_dev, - "could set txpower\n"); - return error; - } - - if (ic->ic_opmode == IEEE80211_M_STA) { - /* fake a join to init the tx rate */ - wpi_newassoc(ic->ic_bss, 1); - } - /* start automatic rate control timer */ callout_reset(&sc->calib_to, hz/2, wpi_calib_timeout, sc); - - /* link LED always on while associated */ - wpi_set_led(sc, WPI_LED_LINK, 0, 1); break; default: @@ -1808,7 +1759,7 @@ device_printf(sc->sc_dev, "fatal firmware error\n"); DPRINTFN(6,("(%s)\n", (r & WPI_SW_ERROR) ? "(Software Error)" : "(Hardware Error)")); - wpi_queue_cmd(sc, WPI_RESTART, 1); + wpi_queue_cmd(sc, WPI_RESTART, 0, WPI_QUEUE_CLEAR); sc->flags &= ~WPI_FLAG_BUSY; WPI_UNLOCK(sc); return; @@ -2456,7 +2407,10 @@ struct wpi_node_info node; int error; + /* update adapter's configuration */ + sc->config.associd = 0; + sc->config.filter &= ~htole32(WPI_FILTER_BSS); IEEE80211_ADDR_COPY(sc->config.bssid, ni->ni_bssid); sc->config.chan = ieee80211_chan2ieee(ic, ni->ni_chan); if (IEEE80211_IS_CHAN_2GHZ(ni->ni_chan)) { @@ -2507,6 +2461,55 @@ return (error); } +static int +wpi_run(struct wpi_softc *sc) +{ + struct ieee80211com *ic = &sc->sc_ic; + struct ieee80211_node *ni = ic->ic_bss; + int error; + + ni = ic->ic_bss; + wpi_enable_tsf(sc, ni); + + /* update adapter's configuration */ + sc->config.associd = htole16(ni->ni_associd & ~0xc000); + /* short preamble/slot time are negotiated when associating */ + sc->config.flags &= ~htole32(WPI_CONFIG_SHPREAMBLE | + WPI_CONFIG_SHSLOT); + if (ic->ic_flags & IEEE80211_F_SHSLOT) + sc->config.flags |= htole32(WPI_CONFIG_SHSLOT); + if (ic->ic_flags & IEEE80211_F_SHPREAMBLE) + sc->config.flags |= htole32(WPI_CONFIG_SHPREAMBLE); + sc->config.filter |= htole32(WPI_FILTER_BSS); + + /* XXX put somewhere HC_QOS_SUPPORT_ASSOC + HC_IBSS_START */ + + DPRINTF(("config chan %d flags %x\n", sc->config.chan, + sc->config.flags)); + error = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->config, sizeof (struct + wpi_config), 1); + if (error != 0) { + device_printf(sc->sc_dev, "could not update configuration\n"); + return error; + } + + error = wpi_set_txpower(sc, ic->ic_bsschan, 1); + if (error != 0) { + device_printf(sc->sc_dev, "could set txpower\n"); + return error; + } + + if (ic->ic_opmode == IEEE80211_M_STA) { + /* fake a join to init the tx rate */ + wpi_newassoc(ic->ic_bss, 1); + } + + /* link LED always on while associated */ + wpi_set_led(sc, WPI_LED_LINK, 0, 1); + + return (error); +} + /* * Send a scan request to the firmware. Since this command is huge, we map it * into a mbufcluster instead of using the pre-allocated set of commands. Note, @@ -3184,6 +3187,7 @@ /* Clear any commands left in the command buffer */ memset(sc->sc_cmd, 0, sizeof(sc->sc_cmd)); + memset(sc->sc_cmd_arg, 0, sizeof(sc->sc_cmd_arg)); sc->sc_cmd_cur = 0; sc->sc_cmd_next = 0; @@ -3544,7 +3548,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SCAN_START, 0); + wpi_queue_cmd(sc, WPI_SCAN_START, 0, WPI_QUEUE_NORMAL); } /** @@ -3558,7 +3562,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SCAN_STOP, 0); + wpi_queue_cmd(sc, WPI_SCAN_STOP, 0, WPI_QUEUE_NORMAL); } /** @@ -3571,7 +3575,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SET_CHAN, 0); + wpi_queue_cmd(sc, WPI_SET_CHAN, 0, WPI_QUEUE_NORMAL); } /** @@ -3587,7 +3591,7 @@ sc->maxdwell = maxdwell; - wpi_queue_cmd(sc, WPI_SCAN_CURCHAN, 0); + wpi_queue_cmd(sc, WPI_SCAN_CURCHAN, 0, WPI_QUEUE_NORMAL); } /** @@ -3609,15 +3613,16 @@ * The task that gets cued is a op task, which ends up calling this function. */ static void -wpi_ops(void *arg, int pending) +wpi_ops(void *arg0, int pending) { - struct wpi_softc *sc = arg; + struct wpi_softc *sc = arg0; struct ieee80211com *ic = &sc->sc_ic; - int cmd; + int cmd, arg, error; again: WPI_CMD_LOCK(sc); cmd = sc->sc_cmd[sc->sc_cmd_cur]; + arg = sc->sc_cmd_arg[sc->sc_cmd_cur]; if (cmd == 0) { /* No more commands to process */ @@ -3625,6 +3630,7 @@ return; } sc->sc_cmd[sc->sc_cmd_cur] = 0; /* free the slot */ + sc->sc_cmd_arg[sc->sc_cmd_cur] = 0; /* free the slot */ sc->sc_cmd_cur = (sc->sc_cmd_cur + 1) % WPI_CMD_MAXOPS; WPI_CMD_UNLOCK(sc); WPI_LOCK(sc); @@ -3669,15 +3675,28 @@ case WPI_AUTH: /* The node must be registered in the firmware before auth */ - if (wpi_auth(sc) != 0) { + error = wpi_auth(sc); + if (error != 0) { device_printf(sc->sc_dev, - "could not send authentication request\n"); - wpi_stop_locked(sc); + "%s: could not move to auth state, error %d\n", + __func__, error); WPI_UNLOCK(sc); return; } /* Send the auth frame now */ - sc->sc_newstate(ic, IEEE80211_S_AUTH, sc->sc_autharg); + sc->sc_newstate(ic, IEEE80211_S_AUTH, arg); + break; + + case WPI_RUN: + error = wpi_run(sc); + if (error != 0) { + device_printf(sc->sc_dev, + "%s: could not move to run state, error %d\n", + __func__, error); + WPI_UNLOCK(sc); + return; + } + sc->sc_newstate(ic, IEEE80211_S_RUN, arg); break; } WPI_UNLOCK(sc); @@ -3694,12 +3713,13 @@ * a sleep enabled thread. */ static int -wpi_queue_cmd(struct wpi_softc *sc, int cmd, int flush) +wpi_queue_cmd(struct wpi_softc *sc, int cmd, int arg, int flush) { WPI_CMD_LOCK(sc); if (flush) { memset(sc->sc_cmd, 0, sizeof (sc->sc_cmd)); + memset(sc->sc_cmd_arg, 0, sizeof (sc->sc_cmd_arg)); sc->sc_cmd_cur = 0; sc->sc_cmd_next = 0; } @@ -3711,6 +3731,7 @@ } sc->sc_cmd[sc->sc_cmd_next] = cmd; + sc->sc_cmd_arg[sc->sc_cmd_next] = arg; sc->sc_cmd_next = (sc->sc_cmd_next + 1) % WPI_CMD_MAXOPS; taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); @@ -3762,7 +3783,7 @@ } device_printf(sc->sc_dev, "Hardware Switch Enabled\n"); - wpi_queue_cmd(sc, WPI_RF_RESTART, 1); + wpi_queue_cmd(sc, WPI_RF_RESTART, 0, WPI_QUEUE_CLEAR); return; } @@ -3770,14 +3791,14 @@ if (--sc->sc_tx_timer == 0) { device_printf(sc->sc_dev,"device timeout\n"); ifp->if_oerrors++; - wpi_queue_cmd(sc, WPI_RESTART, 1); + wpi_queue_cmd(sc, WPI_RESTART, 0, WPI_QUEUE_CLEAR); } } if (sc->sc_scan_timer > 0) { if (--sc->sc_scan_timer == 0) { device_printf(sc->sc_dev,"scan timeout\n"); ieee80211_cancel_scan(&sc->sc_ic); - wpi_queue_cmd(sc, WPI_RESTART, 1); + wpi_queue_cmd(sc, WPI_RESTART, 0, WPI_QUEUE_CLEAR); } } ==== //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#7 (text+ko) ==== @@ -133,7 +133,6 @@ int (*sc_newstate)(struct ieee80211com *, enum ieee80211_state, int); unsigned long maxdwell; /* Max dwell time whilst scanning */ - int sc_autharg; struct mtx sc_mtx; @@ -194,16 +193,21 @@ struct wpi_dma_info fw_dma; /* command queue related variables */ - #define WPI_CMD_MAXOPS 10 - #define WPI_SCAN_START (1<<0) - #define WPI_SCAN_CURCHAN (1<<1) - #define WPI_SCAN_STOP (1<<2) - #define WPI_SET_CHAN (1<<3) - #define WPI_AUTH (1<<4) - #define WPI_SCAN_NEXT (1<<5) - #define WPI_RESTART (1<<6) - #define WPI_RF_RESTART (1<<7) +#define WPI_SCAN_START (1<<0) +#define WPI_SCAN_CURCHAN (1<<1) +#define WPI_SCAN_STOP (1<<2) +#define WPI_SET_CHAN (1<<3) +#define WPI_AUTH (1<<4) +#define WPI_RUN (1<<5) +#define WPI_SCAN_NEXT (1<<6) +#define WPI_RESTART (1<<7) +#define WPI_RF_RESTART (1<<8) +#define WPI_CMD_MAXOPS 10 + /* command queuing request type */ +#define WPI_QUEUE_NORMAL 0 +#define WPI_QUEUE_CLEAR 1 int sc_cmd[WPI_CMD_MAXOPS]; + int sc_cmd_arg[WPI_CMD_MAXOPS]; int sc_cmd_cur; /* current queued scan task */ int sc_cmd_next; /* last queued scan task */ struct mtx sc_cmdlock; From owner-p4-projects@FreeBSD.ORG Wed Mar 5 23:07:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 626181065671; Wed, 5 Mar 2008 23:07: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 22009106566B for ; Wed, 5 Mar 2008 23:07:05 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1B1348FC14 for ; Wed, 5 Mar 2008 23:07:05 +0000 (UTC) (envelope-from thompsa@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 m25N74bc012727 for ; Wed, 5 Mar 2008 23:07:04 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25N74Mq012725 for perforce@freebsd.org; Wed, 5 Mar 2008 23:07:04 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 5 Mar 2008 23:07:04 GMT Message-Id: <200803052307.m25N74Mq012725@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136956 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, 05 Mar 2008 23:07:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=136956 Change 136956 by thompsa@thompsa_peeps on 2008/03/05 23:06:28 - Add a missing break on IEEE80211_S_AUTH which made things interesting - Make sure to set the callout in wpi_run, we dont reenter wpi_newstate Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#17 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#17 (text+ko) ==== @@ -1263,6 +1263,7 @@ if (ic->ic_state != IEEE80211_S_AUTH) return wpi_queue_cmd(sc, WPI_AUTH, arg, WPI_QUEUE_NORMAL); + break; case IEEE80211_S_RUN: if (ic->ic_opmode == IEEE80211_M_MONITOR) { @@ -1274,9 +1275,6 @@ /* set the association id first */ return wpi_queue_cmd(sc, WPI_RUN, arg, WPI_QUEUE_NORMAL); - - /* start automatic rate control timer */ - callout_reset(&sc->calib_to, hz/2, wpi_calib_timeout, sc); break; default: @@ -2507,6 +2505,9 @@ /* link LED always on while associated */ wpi_set_led(sc, WPI_LED_LINK, 0, 1); + /* start automatic rate control timer */ + callout_reset(&sc->calib_to, hz/2, wpi_calib_timeout, sc); + return (error); } From owner-p4-projects@FreeBSD.ORG Wed Mar 5 23:22:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D87651065674; Wed, 5 Mar 2008 23:22: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 9878E106566C for ; Wed, 5 Mar 2008 23:22:20 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 91B838FC1B for ; Wed, 5 Mar 2008 23:22:20 +0000 (UTC) (envelope-from thompsa@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 m25NMKwQ013374 for ; Wed, 5 Mar 2008 23:22:20 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m25NMK9s013372 for perforce@freebsd.org; Wed, 5 Mar 2008 23:22:20 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 5 Mar 2008 23:22:20 GMT Message-Id: <200803052322.m25NMK9s013372@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 136957 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, 05 Mar 2008 23:22:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=136957 Change 136957 by thompsa@thompsa_peeps on 2008/03/05 23:22:18 Always update the node table in the firmware for -> AUTH. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#18 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#18 (text+ko) ==== @@ -1260,10 +1260,7 @@ case IEEE80211_S_AUTH: /* Delay the auth transition until we can update the firmware */ - if (ic->ic_state != IEEE80211_S_AUTH) - return wpi_queue_cmd(sc, WPI_AUTH, arg, - WPI_QUEUE_NORMAL); - break; + return wpi_queue_cmd(sc, WPI_AUTH, arg, WPI_QUEUE_NORMAL); case IEEE80211_S_RUN: if (ic->ic_opmode == IEEE80211_M_MONITOR) { @@ -1281,7 +1278,7 @@ break; } - return (*sc->sc_newstate)(ic, nstate, arg); + return sc->sc_newstate(ic, nstate, arg); } /* From owner-p4-projects@FreeBSD.ORG Thu Mar 6 11:10:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86CD61065672; Thu, 6 Mar 2008 11: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 46525106566C for ; Thu, 6 Mar 2008 11:10:55 +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 352028FC23 for ; Thu, 6 Mar 2008 11:10:55 +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 m26BAtOM080480 for ; Thu, 6 Mar 2008 11:10:55 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26BAsMo080478 for perforce@freebsd.org; Thu, 6 Mar 2008 11:10:54 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 11:10:54 GMT Message-Id: <200803061110.m26BAsMo080478@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 136980 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, 06 Mar 2008 11:10:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=136980 Change 136980 by rrs@rrs-mips2-jnpr on 2008/03/06 11:10:50 get rid of getsr and setsr, no one uses these routines and they are questionable at best since the sr should not be blindly set. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/psraccess.S#9 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/psraccess.S#9 (text+ko) ==== @@ -181,23 +181,6 @@ END(get_intr_mask) - - -LEAF(getsr) - mfc0 v0, COP_0_STATUS_REG - MIPS_CPU_NOP_DELAY - jr ra - nop -END(getsr) - -LEAF(setsr) - mtc0 a0, COP_0_STATUS_REG - MIPS_CPU_NOP_DELAY - move v0, a0 - jr ra - nop -END(setsr) - /* * u_int32_t mips_cp0_config1_read(void) * From owner-p4-projects@FreeBSD.ORG Thu Mar 6 11:11:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF0391065731; Thu, 6 Mar 2008 11:11: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 8E4DB10656CD for ; Thu, 6 Mar 2008 11:11:56 +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 62D4F8FC2F for ; Thu, 6 Mar 2008 11:11:56 +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 m26BBur3080511 for ; Thu, 6 Mar 2008 11:11:56 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26BBuEh080509 for perforce@freebsd.org; Thu, 6 Mar 2008 11:11:56 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 11:11:56 GMT Message-Id: <200803061111.m26BBuEh080509@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 136981 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, 06 Mar 2008 11:11:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=136981 Change 136981 by rrs@rrs-mips2-jnpr on 2008/03/06 11:11:19 Kill out getsr/setsr routines that are unused. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#13 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#13 (text+ko) ==== @@ -544,8 +544,7 @@ void clearsoftintr0(void); void setsoftintr1(void); void clearsoftintr1(void); -void setsr(u_int32_t); -u_int32_t getsr(void); + u_int32_t mips_cp0_status_read(void); void mips_cp0_status_write(u_int32_t); From owner-p4-projects@FreeBSD.ORG Thu Mar 6 12:32:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3209E1065676; Thu, 6 Mar 2008 12:32: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 E5EC4106566B for ; Thu, 6 Mar 2008 12:32:23 +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 D45868FC12 for ; Thu, 6 Mar 2008 12:32:23 +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 m26CWN4A084054 for ; Thu, 6 Mar 2008 12:32:23 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26CWNh6084052 for perforce@freebsd.org; Thu, 6 Mar 2008 12:32:23 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 12:32:23 GMT Message-Id: <200803061232.m26CWNh6084052@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 136987 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, 06 Mar 2008 12:32:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=136987 Change 136987 by rrs@rrs-mips2-jnpr on 2008/03/06 12:31:40 Use define's PCREG_XX in setjump/longjump please. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#8 (text+ko) ==== @@ -1411,39 +1411,39 @@ break BREAK_SOVER_VAL jr ra nop -END(breakpoint) + END(breakpoint) LEAF(setjmp) mfc0 v0, COP_0_STATUS_REG # Later the "real" spl value! - STORE s0, RSIZE * 0(a0) - STORE s1, RSIZE * 1(a0) - STORE s2, RSIZE * 2(a0) - STORE s3, RSIZE * 3(a0) - STORE s4, RSIZE * 4(a0) - STORE s5, RSIZE * 5(a0) - STORE s6, RSIZE * 6(a0) - STORE s7, RSIZE * 7(a0) - STORE s8, RSIZE * 8(a0) - STORE sp, RSIZE * 9(a0) - STORE ra, RSIZE * 10(a0) - STORE v0, RSIZE * 11(a0) + STORE s0, (RSIZE * PREG_S0)(a0) + STORE s1, (RSIZE * PREG_S1)(a0) + STORE s2, (RSIZE * PREG_S2)(a0) + STORE s3, (RSIZE * PREG_S3)(a0) + STORE s4, (RSIZE * PREG_S4)(a0) + STORE s5, (RSIZE * PREG_S5)(a0) + STORE s6, (RSIZE * PREG_S6)(a0) + STORE s7, (RSIZE * PREG_S7)(a0) + STORE s8, (RSIZE * PREG_SP)(a0) + STORE sp, (RSIZE * PREG_S8)(a0) + STORE ra, (RSIZE * PREG_RA)(a0) + STORE v0, (RSIZE * PREG_SR)(a0) jr ra li v0, 0 # setjmp return END(setjmp) LEAF(longjmp) - LOAD v0, RSIZE * 11(a0) - LOAD ra, RSIZE * 10(a0) - LOAD s0, RSIZE * 0(a0) - LOAD s1, RSIZE * 1(a0) - LOAD s2, RSIZE * 2(a0) - LOAD s3, RSIZE * 3(a0) - LOAD s4, RSIZE * 4(a0) - LOAD s5, RSIZE * 5(a0) - LOAD s6, RSIZE * 6(a0) - LOAD s7, RSIZE * 7(a0) - LOAD s8, RSIZE * 8(a0) - LOAD sp, RSIZE * 9(a0) + LOAD v0, (RSIZE * PREG_SR)(a0) + LOAD ra, (RSIZE * PREG_RA)(a0) + LOAD s0, (RSIZE * PREG_S0)(a0) + LOAD s1, (RSIZE * PREG_S1)(a0) + LOAD s2, (RSIZE * PREG_S2)(a0) + LOAD s3, (RSIZE * PREG_S3)(a0) + LOAD s4, (RSIZE * PREG_S4)(a0) + LOAD s5, (RSIZE * PREG_S5)(a0) + LOAD s6, (RSIZE * PREG_S6)(a0) + LOAD s7, (RSIZE * PREG_S7)(a0) + LOAD s8, (RSIZE * PREG_S8)(a0) + LOAD sp, (RSIZE * PREG_SP)(a0) mtc0 v0, COP_0_STATUS_REG # Later the "real" spl value! ITLBNOPFIX jr ra From owner-p4-projects@FreeBSD.ORG Thu Mar 6 12:48:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3567D1065676; Thu, 6 Mar 2008 12:48: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 E8DBC1065672 for ; Thu, 6 Mar 2008 12:48:40 +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 D756C8FC18 for ; Thu, 6 Mar 2008 12:48:40 +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 m26Cmenc093582 for ; Thu, 6 Mar 2008 12:48:40 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26Cmevh093580 for perforce@freebsd.org; Thu, 6 Mar 2008 12:48:40 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 12:48:40 GMT Message-Id: <200803061248.m26Cmevh093580@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 136988 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, 06 Mar 2008 12:48:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=136988 Change 136988 by rrs@rrs-mips2-jnpr on 2008/03/06 12:47:57 Move oct-state out of uart_device. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#19 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#19 (text+ko) ==== @@ -867,109 +867,3 @@ uart_unlock(sc->sc_hwmtx); return (0); } - -#ifdef DDB - -#define OCTEON_POW_WQ_INT_THR 0x8001670000000080ull -#define OCTEON_POW_WQ_INT_CNT 0x8001670000000100ull -#define OCTEON_POW_WQ_QOS_THR 0x8001670000000180ull -#define OCTEON_POW_WQ_INT 0x8001670000000200ull -#define OCTEON_POW_WQ_INT_PC 0x8001670000000208ull - -void db_dump_intr_state(void); - -void -db_dump_intr_state(void) -{ - uint32_t status_bits; - uint64_t ciu_intr_reg_addr; - uint64_t regstate1, regstate2; - int i; - status_bits = mips_rd_status(); - printf("Mips SR is currently %x\n", status_bits); - - - printf("Core Interrupt summary's IP2/IP3\n"); - ciu_intr_reg_addr = OCTEON_CIU_SUMMARY_BASE_ADDR; - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - regstate2 = oct_read64(ciu_intr_reg_addr + 0x8); - printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", - i, ciu_intr_reg_addr, regstate1, regstate2); - /* next register set please */ - ciu_intr_reg_addr += 0x10; - } - printf("Core Interrupt enable 0 IP2/IP3\n"); - ciu_intr_reg_addr = OCTEON_CIU_ENABLE_BASE_ADDR; - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - regstate2 = oct_read64(ciu_intr_reg_addr + 0x10); - printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", - i, ciu_intr_reg_addr, regstate1, regstate2); - /* next register set please */ - ciu_intr_reg_addr += 0x10; - } - printf("Core Interrupt enable 1 IP2/IP3\n"); - ciu_intr_reg_addr = OCTEON_CIU_ENABLE_BASE_ADDR + 0x8; - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - regstate2 = oct_read64(ciu_intr_reg_addr + 0x10); - printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", - i, ciu_intr_reg_addr, regstate1, regstate2); - /* next register set please */ - ciu_intr_reg_addr += 0x10; - } - ciu_intr_reg_addr = OCTEON_POW_WQ_INT_THR; - printf("Pow Threshold registers\n"); - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - printf("%llx tc:%llx tc_thr:%llx ds_thr:%llx iq_thr:%llx\n", - ciu_intr_reg_addr, - ((regstate1 >> 28) & 0x00001) , - ((regstate1 >> 24) & 0x0000f), - ((regstate1 >> 12) & 0x003ff), - (regstate1 & 0x003ff)); - ciu_intr_reg_addr += 0x8; - } - ciu_intr_reg_addr = OCTEON_POW_WQ_INT_CNT; - printf("Pow int cnt registers\n"); - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - printf("%llx tc_cnt:%llx ds_cnt:%llx iq_cnt:%llx\n", - ciu_intr_reg_addr, - ((regstate1 >> 24) & 0x0000f), - ((regstate1 >> 12) & 0x003ff), - (regstate1 & 0x003ff)); - ciu_intr_reg_addr += 0x8; - } - - ciu_intr_reg_addr = OCTEON_POW_WQ_QOS_THR; - printf("Pow QOS thr registers\n"); - for(i=0; i<16; i++) { - regstate1 = oct_read64(ciu_intr_reg_addr); - printf("%llx des_cnt:%llx buf_cnt:%llx free_cnt:%llx max_thr:%llx min_thr:%llx\n", - ciu_intr_reg_addr, - ((regstate1 >> 48) & 0x00fff), - ((regstate1 >> 36) & 0x00fff), - ((regstate1 >> 24) & 0x00fff), - ((regstate1 >> 12) & 0x003ff), - (regstate1 & 0x003ff)); - ciu_intr_reg_addr += 0x8; - } - ciu_intr_reg_addr = OCTEON_POW_WQ_INT; - regstate1 = oct_read64(ciu_intr_reg_addr); - printf("POW_WQ_INT:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); - ciu_intr_reg_addr = OCTEON_POW_WQ_INT_PC; - regstate1 = oct_read64(ciu_intr_reg_addr); - printf("POW_WQ_INT_PC:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); -} - -#include -#include - -DB_SHOW_COMMAND(oct_state, ddb_dump_intr_state) -{ - db_dump_intr_state(); -} - -#endif From owner-p4-projects@FreeBSD.ORG Thu Mar 6 12:48:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E79A510656E4; Thu, 6 Mar 2008 12:48: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 17B0C1065673 for ; Thu, 6 Mar 2008 12:48:41 +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 0649A8FC32 for ; Thu, 6 Mar 2008 12:48:41 +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 m26CmeFI093587 for ; Thu, 6 Mar 2008 12:48:40 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26CmeLJ093585 for perforce@freebsd.org; Thu, 6 Mar 2008 12:48:40 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 12:48:40 GMT Message-Id: <200803061248.m26CmeLJ093585@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 136989 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, 06 Mar 2008 12:48:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=136989 Change 136989 by rrs@rrs-mips2-jnpr on 2008/03/06 12:48:23 move ddb show oct_state to proper place. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#20 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#20 (text+ko) ==== @@ -1364,3 +1364,110 @@ platform_counter_freq = (uint64_t) (octeon_get_clock_rate()); mips_timer_init_params(platform_counter_freq, 0); } + + +#ifdef DDB + +#define OCTEON_POW_WQ_INT_THR 0x8001670000000080ull +#define OCTEON_POW_WQ_INT_CNT 0x8001670000000100ull +#define OCTEON_POW_WQ_QOS_THR 0x8001670000000180ull +#define OCTEON_POW_WQ_INT 0x8001670000000200ull +#define OCTEON_POW_WQ_INT_PC 0x8001670000000208ull + +void db_dump_intr_state(void); + +void +db_dump_intr_state(void) +{ + uint32_t status_bits; + uint64_t ciu_intr_reg_addr; + uint64_t regstate1, regstate2; + int i; + status_bits = mips_rd_status(); + printf("Mips SR is currently %x\n", status_bits); + + + printf("Core Interrupt summary's IP2/IP3\n"); + ciu_intr_reg_addr = OCTEON_CIU_SUMMARY_BASE_ADDR; + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + regstate2 = oct_read64(ciu_intr_reg_addr + 0x8); + printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", + i, ciu_intr_reg_addr, regstate1, regstate2); + /* next register set please */ + ciu_intr_reg_addr += 0x10; + } + printf("Core Interrupt enable 0 IP2/IP3\n"); + ciu_intr_reg_addr = OCTEON_CIU_ENABLE_BASE_ADDR; + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + regstate2 = oct_read64(ciu_intr_reg_addr + 0x10); + printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", + i, ciu_intr_reg_addr, regstate1, regstate2); + /* next register set please */ + ciu_intr_reg_addr += 0x10; + } + printf("Core Interrupt enable 1 IP2/IP3\n"); + ciu_intr_reg_addr = OCTEON_CIU_ENABLE_BASE_ADDR + 0x8; + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + regstate2 = oct_read64(ciu_intr_reg_addr + 0x10); + printf("Core:%d Reg:%llx IP2:%llx IP3:%llx\n", + i, ciu_intr_reg_addr, regstate1, regstate2); + /* next register set please */ + ciu_intr_reg_addr += 0x10; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_THR; + printf("Pow Threshold registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx tc:%llx tc_thr:%llx ds_thr:%llx iq_thr:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 28) & 0x00001) , + ((regstate1 >> 24) & 0x0000f), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_CNT; + printf("Pow int cnt registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx tc_cnt:%llx ds_cnt:%llx iq_cnt:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 24) & 0x0000f), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + + ciu_intr_reg_addr = OCTEON_POW_WQ_QOS_THR; + printf("Pow QOS thr registers\n"); + for(i=0; i<16; i++) { + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("%llx des_cnt:%llx buf_cnt:%llx free_cnt:%llx max_thr:%llx min_thr:%llx\n", + ciu_intr_reg_addr, + ((regstate1 >> 48) & 0x00fff), + ((regstate1 >> 36) & 0x00fff), + ((regstate1 >> 24) & 0x00fff), + ((regstate1 >> 12) & 0x003ff), + (regstate1 & 0x003ff)); + ciu_intr_reg_addr += 0x8; + } + ciu_intr_reg_addr = OCTEON_POW_WQ_INT; + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("POW_WQ_INT:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); + ciu_intr_reg_addr = OCTEON_POW_WQ_INT_PC; + regstate1 = oct_read64(ciu_intr_reg_addr); + printf("POW_WQ_INT_PC:%llx val:%llx\n", ciu_intr_reg_addr, regstate1); +} + +#include +#include + +DB_SHOW_COMMAND(oct_state, ddb_dump_intr_state) +{ + db_dump_intr_state(); +} + +#endif From owner-p4-projects@FreeBSD.ORG Thu Mar 6 17:10:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6DCD1065675; Thu, 6 Mar 2008 17:10: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 65FD11065682 for ; Thu, 6 Mar 2008 17:10:17 +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 539158FC14 for ; Thu, 6 Mar 2008 17:10:17 +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 m26HAHMn025920 for ; Thu, 6 Mar 2008 17:10:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26HAH8X025918 for perforce@freebsd.org; Thu, 6 Mar 2008 17:10:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 6 Mar 2008 17:10:17 GMT Message-Id: <200803061710.m26HAH8X025918@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 137008 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, 06 Mar 2008 17:10:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=137008 Change 137008 by hselasky@hselasky_laptop001 on 2008/03/06 17:09:24 This fix only affects the USB device side. Be USB specification compliant. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_template.c#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_template.c#16 (text+ko) ==== @@ -397,11 +397,11 @@ switch (temp->usb_speed) { case USB_SPEED_LOW: - USETW(utd->udd.bcdUSB, 0x0101); + USETW(utd->udd.bcdUSB, 0x0110); utd->udd.bMaxPacketSize = 8; break; case USB_SPEED_FULL: - USETW(utd->udd.bcdUSB, 0x0101); + USETW(utd->udd.bcdUSB, 0x0110); utd->udd.bMaxPacketSize = 32; break; case USB_SPEED_HIGH: From owner-p4-projects@FreeBSD.ORG Thu Mar 6 17:37:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75B151065678; Thu, 6 Mar 2008 17:37: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 35A241065676 for ; Thu, 6 Mar 2008 17:37:46 +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 233308FC1A for ; Thu, 6 Mar 2008 17:37:46 +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 m26HbkTh026843 for ; Thu, 6 Mar 2008 17:37:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26Hbjr2026841 for perforce@freebsd.org; Thu, 6 Mar 2008 17:37:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 6 Mar 2008 17:37:45 GMT Message-Id: <200803061737.m26Hbjr2026841@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 137011 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, 06 Mar 2008 17:37:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=137011 Change 137011 by hselasky@hselasky_laptop001 on 2008/03/06 17:36:50 Update "usbd_fs_isoc_schedule_alloc". Be more proactive against isochronous schedule overflow situations. When the schedule is full we simply stop activating the USB transfer descriptors. NOTE: There sneaked in a one-line style change in the patch to usb_subr.h which does not affect anything. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.c#74 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#100 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#100 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#74 (text+ko) ==== @@ -2424,6 +2424,7 @@ #endif uint8_t sa; uint8_t sb; + uint8_t error; ehci_sitd_t *td; ehci_sitd_t *td_last = NULL; ehci_sitd_t **pp_last; @@ -2521,7 +2522,7 @@ * We currently don't care if the ISOCHRONOUS schedule is * full! */ - sa = usbd_fs_isoc_schedule_alloc(fss, *plen); + error = usbd_fs_isoc_schedule_alloc(fss, &sa, *plen); if (*plen) { /* @@ -2587,6 +2588,15 @@ (EHCI_SITD_ACTIVE | EHCI_SITD_SET_LEN(*plen)); } + if (error) { + /* + * The FULL speed schedule is FULL! Pretend that the + * transaction has been executed. The IOC bit should + * be active even if the ACTIVE bit is zero. + */ + td->sitd_status &= + ~htole32(EHCI_SITD_ACTIVE); + } usbd_pc_cpu_flush(td->page_cache); #ifdef USB_DEBUG ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#100 (text+ko) ==== @@ -787,14 +787,19 @@ /*------------------------------------------------------------------------* * usbd_fs_isoc_schedule_alloc * - * This function will allocate bandwidth for the isochronous FULL - * speed schedule. + * This function will allocate bandwidth for an isochronous FULL speed + * transaction in the FULL speed schedule. The microframe slot where + * the transaction should be started is stored in the byte pointed to + * by "pstart". The "len" argument specifies the length of the + * transaction in bytes. * * Returns: - * Microframe slot where the transaction will start. + * 0: Success + * Else: Error *------------------------------------------------------------------------*/ uint8_t -usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, uint16_t len) +usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, + uint8_t *pstart, uint16_t len) { uint8_t slot = fss->frame_slot; @@ -806,7 +811,8 @@ len /= 6; if (len > fss->total_bytes) { - len = fss->total_bytes; + *pstart = 0; /* set some dummy value */ + return (1); /* error */ } if (len > 0) { @@ -820,7 +826,8 @@ fss->frame_bytes -= len; } - return (slot); + *pstart = slot; + return (0); /* success */ } /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#100 (text+ko) ==== @@ -570,7 +570,7 @@ uint16_t langid; /* language for strings */ uint8_t address; /* device addess */ - uint8_t device_index; /* device index in "bus->devices" */ + uint8_t device_index; /* device index in "bus->devices" */ uint8_t curr_config_no; /* current configuration # */ uint8_t depth; /* distance from root HUB */ uint8_t speed; /* low/full/high speed */ @@ -996,7 +996,7 @@ uint8_t usbd_intr_schedule_adjust(struct usbd_device *udev, int16_t len, uint8_t slot); void usbd_fs_isoc_schedule_init_all(struct usbd_fs_isoc_schedule *fss); uint16_t usbd_fs_isoc_schedule_isoc_time_expand(struct usbd_device *udev, struct usbd_fs_isoc_schedule **pp_start, struct usbd_fs_isoc_schedule **pp_end, uint16_t isoc_time); -uint8_t usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, uint16_t len); +uint8_t usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, uint8_t *pstart, uint16_t len); usbd_status_t usbd_set_config_no(struct usbd_device *udev, uint8_t no, uint8_t msg); usbd_status_t usbd_set_config_index(struct usbd_device *udev, uint8_t index, uint8_t msg); usbd_status_t usbd_set_alt_interface_index(struct usbd_device *udev, uint8_t iface_index, uint8_t alt_index); From owner-p4-projects@FreeBSD.ORG Thu Mar 6 18:28:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3905106566C; Thu, 6 Mar 2008 18:28: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 9DD67106567A for ; Thu, 6 Mar 2008 18:28:46 +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 8B54C8FC1C for ; Thu, 6 Mar 2008 18:28:46 +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 m26ISk5A030834 for ; Thu, 6 Mar 2008 18:28:46 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26ISjTv030832 for perforce@freebsd.org; Thu, 6 Mar 2008 18:28:45 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 6 Mar 2008 18:28:45 GMT Message-Id: <200803061828.m26ISjTv030832@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 137014 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, 06 Mar 2008 18:28:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=137014 Change 137014 by pgj@disznohal on 2008/03/06 18:28:24 (audit) MFen: 1.31 --> 1.33, including some minor language and format fixes. Affected files ... .. //depot/projects/docproj_hu/books/handbook/audit/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/audit/chapter.sgml#5 (text+ko) ==== @@ -1,11 +1,11 @@ + Original Revision: r1.33 --> @@ -33,55 +33,62 @@ MAC - A &os; 6.2-RELEASE és az azóta megjelent verziók - támogatják a biztonsági események - aprólékos vizsgálatát. Ezzel egy - megbízható, részletes és jól - konfigurálható naplózási rendszert - társítanak a rendszerben található - biztonságot igénylõ események széles - köréhez, beleértve a bejelentkezéseket, a - konfigurációs állományokban - bekövetkezõ változásokat, állomány- - és hálózati hozzáféréseket. Az - így létrehozott naplóbejegyzések - felbecsülhetetlen értékûnek bizonyulhatnak egy - élõ rendszer felügyelete során, vagy egy - hálózati támadás - észleléséhez, esetleg egy összeomlás - okainak kielemezéséhez. A &os; ehhez a &sun; által - kifejlesztett BSM technológia API-ját - és állományformátumát + A &os; 6.2-RELEASE és az azóta megjelent + verziók támogatják a biztonsági + események aprólékos + vizsgálatát. Ezzel egy megbízható, + részletes és jól konfigurálható + naplózási rendszert társítanak a + rendszerben található biztonságot + igénylõ események széles + köréhez, beleértve a bejelentkezéseket, + a konfigurációs állományokban + bekövetkezõ változásokat, + állomány- és hálózati + hozzáféréseket. Az így + létrehozott naplóbejegyzések + felbecsülhetetlen értékûnek bizonyulhatnak + egy élõ rendszer felügyelete során, vagy + egy hálózati támadás + észleléséhez, esetleg egy + összeomlás okainak kielemezéséhez. A + &os; ehhez a &sun; által kifejlesztett + BSM technológia API-ját és + állományformátumát valósítja meg, és így képes együttmûködni a &sun; &solaris; valamint az &apple; &macos; X bizonsági rendszereivel egyaránt. Ebben a fejezetben a biztonsági események - vizsgálatának telepítéséhez és - beállításához szükséges ismeretek - tekintjük át. Ennek keretében szó esik a - vizsgálati házirendekrõl, valamint mutatunk egy + vizsgálatának telepítéséhez + és beállításához + szükséges ismeretek tekintjük át. Ennek + keretében szó esik a vizsgálati + házirendekrõl, valamint mutatunk egy példát a vizsgálatok beállítására. - A fejezet elolvasása során megismerjük: + A fejezet elolvasása során + megismerjük: - mit jelent az események vizsgálata és hogyan - mûködik. + mit jelent az események vizsgálata és + hogyan mûködik hogyan kell beállítani az események - vizsgálatát &os;-n a különbözõ - felhasználók és programok esetén. + vizsgálatát &os;-n a + különbözõ felhasználók + és programok esetén - hogyan értelmezzük egy vizsgálati nyomokat a - vizsgálatot szûkítõ és -elemzõ - segédprogramok segítségével. + hogyan értelmezzük egy vizsgálati + nyomokat a vizsgálatot szûkítõ és + -elemzõ segédprogramok + segítségével @@ -89,56 +96,61 @@ - alapvetõ &unix;-os és &os;-s ismeretek - (). + alapvetõ &unix;-os és &os;-s ismeretek () - a rendszermag konfigurálásával és - fordításával kapcsolatos tudnivalók - alapszintû ismerete (). + a rendszermag konfigurálásával + és fordításával kapcsolatos + tudnivalók alapszintû ismerete () - az informatikai biztonság alapfogalmainak és annak - a &os;-re vonatkozó részleteinek minimális - ismerete (). + az informatikai biztonság alapfogalmainak és + annak a &os;-re vonatkozó részleteinek + minimális ismerete () - A &os; 6.2-es verziójában jelenlevõ - biztonsági vizsgálat még csak - kísérleti jelleggel szerepel, éles + A &os; 6.X verziójaiban + jelenlevõ biztonsági vizsgálat még + csak kísérleti jelleggel szerepel, éles környezetben kizárólag csak az ilyen fajta - szoftverekkel kapcsolatos kockázatok tudatában és - elfogadásával javasolt használni. Ismert - korlátozások: nem mindegyik biztonságot - érintõ esemény vizsgálható, mint - mondjuk az egyes bejelentkezési típusok, mivel azok nem + szoftverekkel kapcsolatos kockázatok tudatában + és elfogadásával javasolt használni. + Ismert korlátozások: nem mindegyik + biztonságot érintõ esemény + vizsgálható, mint mondjuk az egyes + bejelentkezési típusok, mivel azok nem megfelelõen hitelesítik a belépõ felhasználókat. Ilyenek például az - X11-alapú felületek és az egyéb, erre a - célra alkalmas, más által fejlesztett daemonok. + X11-alapú felületek és az egyéb, erre + a célra alkalmas, más által fejlesztett + démonok. - A biztonsági események vizsgálata során - a rendszer képes nagyon részletes naplókat - készíteni az érintett - tevékenységekrõl. Így egy kellõen - forgalmas rendszeren az állománymozgások alapos - nyomonkövetése bizonyos konfigurációkon - akár gigabyte-okat is kitehet hetente. A - rendszergazdáknak ezért mindig javasolt számolniuk - a nagy forgalmú események biztonsági - vizsgálatának tárigényével. - Például, emiatt érdemes lehet egy egész + A biztonsági események vizsgálata + során a rendszer képes nagyon részletes + naplókat készíteni az érintett + tevékenységekrõl. Így egy + kellõen forgalmas rendszeren az + állománymozgások alapos + nyomonkövetése bizonyos + konfigurációkon akár gigabájtokat is + kitehet hetente. A rendszergazdáknak ezért mindig + javasolt számolniuk a nagy forgalmú + események biztonsági vizsgálatának + tárigényével. Például, + emiatt érdemes lehet egy egész állományrendszert szánni erre a feladatra a - /var/audit könyvtárban, és - így a többi állományrendszer nem látja - kárát, ha véletlenül betelne ez a - terület. + /var/audit könyvtárban, + és így a többi állományrendszer + nem látja kárát, ha véletlenül + betelne ez a terület. @@ -150,21 +162,24 @@ - esemény: Vizsgálható - eseménynek azt az eseményt nevezzük, amely egy - vizsgálati alrendszerben naplózható. - Biztonsági események lehetnek például: - egy állomány létrehozása, egy - hálózati kapcsolat felépítése, - vagy egy felhasználó bejelentkezése. Egy + esemény: + Vizsgálható eseménynek azt az + eseményt nevezzük, amely egy vizsgálati + alrendszerben naplózható. Biztonsági + események lehetnek például: egy + állomány létrehozása, egy + hálózati kapcsolat + felépítése, vagy egy + felhasználó bejelentkezése. Egy esemény jellegzetes, ha visszakövethetõ valamelyik hitelesített - felhasználóhoz, vagy nem jellegzetes, - ha ez nem lehetséges. Nem jellegzetes események lehet - például minden olyan esemény, amely egy - bejelentkezési folyamat hitelesítési - lépése elõtt történik, ilyenek a - hibás jelszóval történõ + felhasználóhoz, vagy nem + jellegzetes, ha ez nem lehetséges. Nem + jellegzetes események lehet például + minden olyan esemény, amely egy bejelentkezési + folyamat hitelesítési lépése + elõtt történik, ilyenek a hibás + jelszóval történõ belépési kísérletek. @@ -172,24 +187,26 @@ osztály: Eseményosztálynak az összefüggõ események névvel ellátott halmazát - tekintjük, és szûrési feltételekben - használjuk õket. Általában alkalmazott - osztályok: file creation (fc, - állománylétrehozás), exec - (ex, programindítás), és - login_logout (lo, ki- és + tekintjük, és szûrési + feltételekben használjuk õket. + Általában alkalmazott osztályok: + file creation (fc, + állománylétrehozás), + exec (ex, programindítás), + és login_logout (lo, ki- és bejelentkezés). rekord: Rekordnak nevezzük a biztonsági eseményeket leíró - biztonsági naplóbejegyzéseket. A rekordok - tartalmazhatják a feljegyzett esemény - típusát, az eseményt kiváltó - tevékenységet (felhasználót), a - dátumot és az idõt, tetszõleges objektum - vagy paraméter értékét, feltételek + biztonsági naplóbejegyzéseket. A + rekordok tartalmazhatják a feljegyzett esemény + típusát, az eseményt + kiváltó tevékenységet + (felhasználót), a dátumot és az + idõt, tetszõleges objektum vagy paraméter + értékét, feltételek teljesülését vagy meghiúsulását. @@ -197,57 +214,63 @@ nyom: Vizsgálati nyomnak vagy naplóállománynak nevezzük a - különféle biztonsági eseményeket - leíró vizsgálati rekordok sorozatát. A - nyomok többnyire nagyjából az események - bekövetkezése szerinti idõrendben következnek. - Csak és kizárólag az erre felhatalmazott - programok hozhatnak létre rekordokat a vizsgálati - nyomban. + különféle biztonsági + eseményeket leíró vizsgálati + rekordok sorozatát. A nyomok többnyire + nagyjából az események + bekövetkezése szerinti idõrendben + következnek. Csak és kizárólag az + erre felhatalmazott programok hozhatnak létre + rekordokat a vizsgálati nyomban. szûrési feltétel: Szûrési feltételnek nevezünk egy olyan - sztringet, amelyet események szûrésére - használunk, és módosítókat - valamint eseményosztályok neveit tartalmazza. + sztringet, amelyet események + szûrésére használunk, és + módosítókat valamint + eseményosztályok neveit tartalmazza. elõválogatás: Elõválogatásnak nevezzük a folyamatot, amelynek során a rendszer beazonosítja azokat az - eseményeket, amelyek a rendszergazda számára - fontosak. Ezáltal elkerülhetjük olyan - vizsgálati rekordok generálását, amelyek - számunkra érdektelen eseményekrõl - számolnak be. Az elõválogatás - szûrési feltételek sorát használja - az adott felhasználókhoz tartozó adott + eseményeket, amelyek a rendszergazda + számára fontosak. Ezáltal + elkerülhetjük olyan vizsgálati rekordok + generálását, amelyek számunkra + érdektelen eseményekrõl számolnak + be. Az elõválogatás szûrési + feltételek sorát használja az adott + felhasználókhoz tartozó adott biztonsági események vizsgálatának beállításához, akárcsak a - hitelesített és a nem hitelesített programokat - értintõ globális beállítások - meghatározásához. + hitelesített és a nem hitelesített + programokat értintõ globális + beállítások + meghatározásához. leszûkítés: - Leszûkítésnek nevezzük a folyamatot, amelynek - során a már meglevõ biztonsági - rekordokból válogatunk le tárolásra, - nyomtatásra vagy elemzésre. Hasonlóan ez a - folyamat, ahol a szükségtelen rekordokat - eltávolítjuk a vizsgálatai nyomból. A - leszûkítés segítségével a - rendszergazdák a vizsgálati adatok - eltárolására alakíthatnak ki - házirendet. Például a részletesebb - vizsgálati nyomokat érdemes egy hónapig - megtartani, ennek lejártával viszont már - inkább ajánlott leszûkíteni õket - és archiválásra csak a bejelentkezési + Leszûkítésnek nevezzük a folyamatot, + amelynek során a már meglevõ + biztonsági rekordokból válogatunk le + tárolásra, nyomtatásra vagy + elemzésre. Hasonlóan ez a folyamat, ahol a + szükségtelen rekordokat eltávolítjuk + a vizsgálatai nyomból. A + leszûkítés + segítségével a rendszergazdák a + vizsgálati adatok eltárolására + alakíthatnak ki házirendet. + Például a részletesebb vizsgálati + nyomokat érdemes egy hónapig megtartani, ennek + lejártával viszont már inkább + ajánlott leszûkíteni õket és + archiválásra csak a bejelentkezési információkat megtartani. @@ -259,33 +282,36 @@ A eseményvizsgálathoz szükséges felhasználói programok a &os; alaprendszer - részét képezik. A &os; 6.3 és - késõbbi verzióiban az eseményvizsgálat - támogatása alapértelmezés szerint - megtalálható a rendszermagban, azonban a - &os; 6.2-ben be kell kapcsolnunk a megfelelõ + részét képezik. A &os; 7.0 és + késõbbi verzióiban az + eseményvizsgálat támogatása + alapértelmezés szerint megtalálható a + rendszermagban, azonban a &os; 6.X + változataiban be kell kapcsolnunk a megfelelõ támogatást, mégpedig a rendszermag konfigurációs állományában az alábbi sor hozzáadásával: options AUDIT - Fordítsuk és telepítsük újra a - rendszermagot az ben ismertetett + Fordítsuk és telepítsük újra + a rendszermagot az ben ismertetett folyamat szerint. - Ahogy a rendszermagot a bekapcsolt eseményvizsgálati - támogatással sikerült lefordítanunk és + Ahogy a rendszermagot a bekapcsolt + eseményvizsgálati támogatással + sikerült lefordítanunk és telepítenünk, valamint a rendszerünk is - újraindult, indítsuk el a vizsgáló daemont - a következõ sor hozzáadásával a - &man.rc.conf.5;-ban: + újraindult, indítsuk el a vizsgáló + démont a következõ sor + hozzáadásával az &man.rc.conf.5; + állományban: auditd_enable="YES" A vizsgálatot innentõl ténylegesen egy ismételt újraindítással vagy pedig az - elõbb említett daemon manuális + elõbb említett démon manuális elindításával aktiválhatjuk: /etc/rc.d/auditd start @@ -297,9 +323,10 @@ A vizsgálatok beállításához szükséges összes konfigurációs állomány a /etc/security könyvtárban - található. A következõ állományok - vannak itt a daemon indítása elõtt: + class="directory">/etc/security + könyvtárban található. A + következõ állományok vannak itt a + démon indítása elõtt: @@ -310,67 +337,73 @@ audit_control - a vizsgálati alrendszer különbözõ területei - vezérli, többek közt az alapértelmezett - vizsgálati osztályokat, az vizsgálati adatok - tárhelyén meghagyandó minimális - lemezterület, a vizsgálati nyom maximális - mérete, stb. + vezérli, többek közt az + alapértelmezett vizsgálati osztályokat, + az vizsgálati adatok tárhelyén + meghagyandó minimális lemezterület, a + vizsgálati nyom maximális mérete, + stb. - audit_event - a rendszerben jelenlevõ - vizsgálati események szöveges megnevezése - és leírása, valamint a lista, hogy melyikük - mely osztályban található. + audit_event - a rendszerben + jelenlevõ vizsgálati események szöveges + megnevezése és leírása, valamint a + lista, hogy melyikük mely osztályban + található. audit_user - felhasználónként változó vizsgálati elvárások, kombinálva a - bejelentkezéskor érvényes globálisan - alapértelmezett beállításokkal. + bejelentkezéskor érvényes + globálisan alapértelmezett + beállításokkal. audit_warn - az auditd által használt testreszabható shell szkript, aminek - segítségével a szélsõséges - helyzetekben figyelmeztetõ üzeneteket tudunk - generálni, mint mondjuk amikor a rekordok - számára fenntartott hely elfogyóban van, vagy - amikor a nyomokat tartalmazó állományt + segítségével a + szélsõséges helyzetekben figyelmeztetõ + üzeneteket tudunk generálni, mint mondjuk amikor a + rekordok számára fenntartott hely + elfogyóban van, vagy amikor a nyomokat + tartalmazó állományt archiváltuk. - Az eseményvizsgálat konfigurációs - állományait alapos körültekintés - mellett szabad szerkeszteni és karbantartani, mivel a - bennük keletkezõ hibák az események - helytelen naplózását - eredményezhetik. + Az eseményvizsgálat + konfigurációs állományait alapos + körültekintés mellett szabad szerkeszteni + és karbantartani, mivel a bennük keletkezõ + hibák az események helytelen + naplózását eredményezhetik. Eseményszûrési feltételek - Az eseményvizsgálati beállítások - során számtalan helyen felbukkanak a vizsgálni - kívánt eseményeket meghatározó - szûrési feltételek. Ezen feltételek + Az eseményvizsgálati + beállítások során számtalan + helyen felbukkanak a vizsgálni kívánt + eseményeket meghatározó szûrési + feltételek. Ezen feltételek eseményosztályok felsorolását tartalmazzák, mindegyiküket egy - módosító vezeti be, ezzel jelezve, hogy az adott - eseményosztályba tartozó rekordokat tartsuk meg - vagy vessük el. Esetleg utalhatnak arra is, hogy vagy csak a - sikerességet jelzõ rekordokat, vagy csak a - sikertelenséget jelzõ rekordokat szûrjük ki. - A szûrési feltételek balról jobbra - értékelõdnek ki, és két - kifejezés összefûzéssel + módosító vezeti be, ezzel jelezve, hogy az + adott eseményosztályba tartozó rekordokat + tartsuk meg vagy vessük el. Esetleg utalhatnak arra is, + hogy vagy csak a sikerességet jelzõ rekordokat, vagy + csak a sikertelenséget jelzõ rekordokat + szûrjük ki. A szûrési feltételek + balról jobbra értékelõdnek ki, + és két kifejezés + összefûzéssel kombinálható. A most következõ lista tartalmazza a @@ -380,8 +413,8 @@ - all - all (mind) - - Minden eseményosztályra vonatkozik. + all - all (mind) + - Minden eseményosztályra vonatkozik. @@ -401,8 +434,8 @@ cl - file close - (állomány lezárása) - a - close rendszerhívás + (állomány lezárása) - + a close rendszerhívás meghívásának vizsgálata. @@ -410,9 +443,10 @@ ex - exec (programindítás) - egy program indításának vizsgálata. A - parancssorban átadott paraméterek és - a környezeti változók vizsgálatát - a &man.audit.control.5; vezérli a policy + parancssorban átadott paraméterek és a + környezeti változók + vizsgálatát az &man.audit.control.5; + vezérli a policy beállításhoz tartozó argv és envv paraméterek segítségével. @@ -421,17 +455,19 @@ fa - file attribute access (állományjellemzõk - hozzáférése) - a rendszerbeli - objektumok jellemzõinek hozzáférésnek - vizsgálata, mint pl. a &man.stat.1;, &man.pathconf.2; - és ehhez hasonló események. + hozzáférése) - a + rendszerbeli objektumok jellemzõinek + hozzáférésnek vizsgálata, mint + pl. a &man.stat.1;, &man.pathconf.2; és ehhez + hasonló események. fc - file create - (állomány létrehozása) - - állományt eredményezõ események - vizsgálata. + (állomány + létrehozása) - + állományt eredményezõ + események vizsgálata. @@ -446,45 +482,48 @@ (állományjellemzõk módosítása) - állományok jellemzõit - megváltoztató események vizsgálata, - mint mondjuk a &man.chown.8;, &man.chflags.1;, &man.flock.2;, - stb. + megváltoztató események + vizsgálata, mint mondjuk a &man.chown.8;, + &man.chflags.1;, &man.flock.2;, stb. - fr - file read + fr - file read (állományolvasás) - - állományok olvasásra történõ - megnyitásával, olvasásával, - stb. kapcsolatos események vizsgálata. + állományok olvasásra + történõ megnyitásával, + olvasásával, stb. kapcsolatos + események vizsgálata. - fw - file write + fw - file write (állományírás) - állományok írásra történõ megnyitásával, írásával, - módosításával, stb. kapcsolatos + módosításával, stb. kapcsolatos események vizsgálata. - io - ioctl - a - &man.ioctl.2; rendszerhívást használó - események vizsgálata. + io - ioctl - az + &man.ioctl.2; rendszerhívást + használó események + vizsgálata. - ip - ipc - a folyamatok - közti kommunikáció különféle - formáinak, beleértve a POSIX csövek és - System V IPC mûveleteinek + ip - ipc - a + folyamatok közti kommunikáció + különféle formáinak, + beleértve a POSIX csövek és System V + IPC mûveleteinek vizsgálata. - lo - login_logout (ki- + lo - login_logout (ki- és bejelentkezés) - a rendszerben megjelenõ &man.login.1; és &man.logout.1; események vizsgálata. @@ -499,27 +538,29 @@ no - invalid class (érvénytelen osztály) - - egyetlen biztonsági eseményt sem tartalmaz. + egyetlen biztonsági eseményt sem + tartalmaz. - nt - network - (hálózat) - a hálózathoz - tartozó események vizsgálata, mint pl. a - &man.connect.2; és &man.accept.2;. + nt - network + (hálózat) - a + hálózathoz tartozó események + vizsgálata, mint pl. a &man.connect.2; és + &man.accept.2;. - ot - other + ot - other (egyéb) - más egyéb események vizsgálata. - pc - process - (folyamat) - a folyamatokkal kapcsolatos mûveletek, - mint például a &man.exec.3; és &man.exit.3; - vizsgálata. + pc - process + (folyamat) - a folyamatokkal kapcsolatos + mûveletek, mint például az &man.exec.3; + és &man.exit.3; vizsgálata. @@ -531,16 +572,16 @@ A listában szereplõ minden egyes eseményosztályhoz tartozik még egy - módosító is, amely jelzi, hogy a sikeres vagy a - sikertelen mûveleteket kell-e szûrnünk, valamint hogy a - bejegyzés az adott típust vagy osztályt - hozzáadja vagy elveszi az adott + módosító is, amely jelzi, hogy a sikeres + vagy a sikertelen mûveleteket kell-e szûrnünk, + valamint hogy a bejegyzés az adott típust vagy + osztályt hozzáadja vagy elveszi az adott szûrésbõl. - (üres) az adott típusból mind a sikereseket - és mind a sikerteleneket feljegyzi. + (üres) az adott típusból mind a + sikereseket és mind a sikerteleneket feljegyzi. @@ -551,24 +592,26 @@ - az eseményosztályba - tartozó sikertelen eseményeket vizsgálja - csak. + tartozó sikertelen eseményeket + vizsgálja csak. - ^ az eseményosztályból - sem a sikereseket, sem pedig a sikerteleneket nem - vizsgálja. + ^ az + eseményosztályból sem a sikereseket, sem + pedig a sikerteleneket nem vizsgálja. - ^+ az eseményosztályból - nem vizsgálja a sikeres eseményeket. + ^+ az + eseményosztályból nem vizsgálja a + sikeres eseményeket. - ^- az eseményosztályból - nem vizsgálja a sikertelen eseményeket. + ^- az + eseményosztályból nem vizsgálja a + sikertelen eseményeket. @@ -582,7 +625,8 @@ - A konfigurációs állományok + A konfigurációs + állományok A vizsgálati rendszer beállításához az esetek @@ -592,18 +636,21 @@ audit_control és az audit_user. Az elõbbi felelõs a rendszerszintû vizsgálati jellemzõkért - és házirendekért, míg az utóbbi az - igények felhasználókénti - finomhangolásához használható. + és házirendekért, míg az + utóbbi az igények + felhasználókénti + finomhangolásához + használható. - Az <filename>audit_control</filename> + <title>Az <filename>audit_control</filename> állomány - Az audit_control állomány - határozza meg a vizsgálati alrendszer - alapértelmezéseit. Ezt az állományt - megnyitva a következõket láthatjuk: + Az audit_control + állomány határozza meg a vizsgálati + alrendszer alapértelmezéseit. Ezt az + állományt megnyitva a következõket + láthatjuk: dir:/var/audit flags:lo @@ -613,68 +660,74 @@ filesz:0 A opciót használjuk a - vizsgálati naplók tárolására - szolgáló egy vagy több könyvtár - megadására. Ha egynél több - könyvtárra vonatkozó bejegyzés - található az állományban, akkor azok a - megadás sorrendjében kerülnek - feltöltésre. Nagyon gyakori az a - beállítás, ahol a vizsgálati - naplókat egy erre a célra külön - kialakított állományrendszeren - tárolják, megelõzve ezzel az - állományrendszer betelésekor keletkezõ - problémákat a többi alrendszerben. + vizsgálati naplók + tárolására szolgáló egy + vagy több könyvtár megadására. + Ha egynél több könyvtárra + vonatkozó bejegyzés található az + állományban, akkor azok a megadás + sorrendjében kerülnek feltöltésre. + Nagyon gyakori az a beállítás, ahol a + vizsgálati naplókat egy erre a célra + külön kialakított + állományrendszeren tárolják, + megelõzve ezzel az állományrendszer + betelésekor keletkezõ problémákat a + többi alrendszerben. A mezõ egy rendszerszintû - alapértelmezett elõválogatási maszkot - határoz meg a jellegzetes események - számára. A fenti példában a sikeres - és sikertelen ki- és bejelentkezéseket mindegyik - felhasználó esetén vizsgáljuk. + alapértelmezett elõválogatási + maszkot határoz meg a jellegzetes események + számára. A fenti példában a + sikeres és sikertelen ki- és + bejelentkezéseket mindegyik felhasználó + esetén vizsgáljuk. A opció megszabja a - vizsgálati nyom tárolására szánt - állományrendszeren a minimális szabad helyet, - a teljes kapacitás százalékában. Amint - ezt a küszöböt túllépjük, egy + vizsgálati nyom tárolására + szánt állományrendszeren a + minimális szabad helyet, a teljes kapacitás + százalékában. Amint ezt a + küszöböt túllépjük, egy figyelmeztetés fog generálódni. A fenti példa a minimálisan szükséges rendelkezésre álló helyet húsz százalékra állítja. A opció megadja azokat az - eseményosztályokat, amelyeket vizsgálni kell a - nem jellegzetes események, mind mondjuk a - bejelentkezési folyamatok vagy rendszerdaemonok + eseményosztályokat, amelyeket vizsgálni + kell a nem jellegzetes események, mind mondjuk a + bejelentkezési folyamatok vagy rendszerdémonok esetén. A opció a vizsgálat különbözõ szempontjait irányító házirendbeli - beállítások vesszõvel elválasztott - listáját tartalmazza. Az alapértelmezett - cnt beállítás azt adja meg, - hogy a rendszer a felmerülõ vizsgálati hibák + beállítások vesszõvel + elválasztott listáját tartalmazza. Az + alapértelmezett cnt + beállítás azt adja meg, hogy a rendszer a + felmerülõ vizsgálati hibák ellenére is folytassa tovább a mûködését (erõsen javasolt a használata). A másik gyakorta alkalmazott - beállítás az argv, amellyel a - rendszer a parancsvégrehajtás részeként - az &man.execve.2; rendszerhívás parancssori - paramétereit is megvizsgálja. + beállítás az argv, + amellyel a rendszer a parancsvégrehajtás + részeként az &man.execve.2; + rendszerhívás parancssori paramétereit is + megvizsgálja. - A opció meghatározza a - vizsgálati nyom automatikus szétvágása - és archiválása elõtti maximális - méretét, byte-ban. Az alapértelmezett - értéke a 0, amely kikapcsolja ezt az - archiválást. Ha az itt megadott - állományméret nem nulla és a - minimálisan elvárt 512 kb alatt van, akkor a rendszer - figyelmen kívül hagyja és errõl egy - figyelmeztetést ad. + A opció meghatározza + a vizsgálati nyom automatikus + szétvágása és + archiválása elõtti maximális + méretét, bájtban. Az + alapértelmezett értéke a 0, amely + kikapcsolja ezt az archiválást. Ha az itt + megadott állományméret nem nulla + és a minimálisan elvárt 512 kb alatt van, + akkor a rendszer figyelmen kívül hagyja és + errõl egy figyelmeztetést ad. @@ -682,33 +735,38 @@ állomány Az audit_user állomány - lehetõvé teszi a rendszergazda számára, - hogy az egyes felhasználók számára + lehetõvé teszi a rendszergazda + számára, hogy az egyes + felhasználók számára további vizsgálati szigorításokat - határozzon meg. Minden sor egy-egy felhasználó - vizsgálatának pontosítását adja - meg két mezõ segítségével: az - elsõ közülük az alwaysaudit - mezõ, mely felsorolja azokat az eseményeket, amelyeket - minden esetben vizsgáni kell az adott - felhasználó esetén, valamint a második a - neveraudit mezõ, mely az adott - felhasználó esetén a nem + határozzon meg. Minden sor egy-egy + felhasználó vizsgálatának + pontosítását adja meg két + mezõ segítségével: az elsõ + közülük az alwaysaudit + mezõ, mely felsorolja azokat az eseményeket, + amelyeket minden esetben vizsgáni kell az adott + felhasználó esetén, valamint a + második a neveraudit mezõ, mely + az adott felhasználó esetén a nem vizsgálandó eseményeket adja meg. A most következõ audit_user - példában vizsgáljuk a root - felhasználó ki/bejelentkezéseit és - sikeres programindításait, valamint a + példában vizsgáljuk a + root felhasználó + ki/bejelentkezéseit és sikeres + programindításait, valamint a + www felhasználó + állománylétrehozásait és + sikeres programindításait. Ha a korábban + bemutatott audit_control + példával együtt használjuk, akkor + észrevehetjük, hogy a lo + bejegyzés a root + felhasználó esetén redundáns, + illetve ilyenkor a ki/bejelentkezést a www felhasználó - állománylétrehozásait és sikeres - programindításait. Ha a korábban bemutatott >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 6 19:27:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB75E1065681; Thu, 6 Mar 2008 19:27: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 7AFE21065684 for ; Thu, 6 Mar 2008 19:27:47 +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 68FEE8FC28 for ; Thu, 6 Mar 2008 19:27:47 +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 m26JRl4v034027 for ; Thu, 6 Mar 2008 19:27:47 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26JRlLq034025 for perforce@freebsd.org; Thu, 6 Mar 2008 19:27:47 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 6 Mar 2008 19:27:47 GMT Message-Id: <200803061927.m26JRlLq034025@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 137016 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, 06 Mar 2008 19:27:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=137016 Change 137016 by pgj@disznohal on 2008/03/06 19:27:42 (basics) MFen: 1.149 --> 1.153, and minor language fixes. Affected files ... .. //depot/projects/docproj_hu/books/handbook/basics/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/basics/chapter.sgml#3 (text+ko) ==== @@ -1,17 +1,18 @@ + + Original Revision: 1.153 --> - Chris + Chris Shumway Újraírta: @@ -24,8 +25,8 @@ Áttekintés Ez a fejezet a &os; operációs rendszer - alapvetõ funkcióit és parancsait mutatja be. Az - itt tárgyalásra kerülõ anyag nagy + alapvetõ funkcióit és parancsait mutatja be. + Az itt tárgyalásra kerülõ anyag nagy része érvényes bármelyik más &unix;-szerû operációs rendszer esetén is. Ezért, ha már ismerjük az @@ -402,6 +403,54 @@ ismeretében. + + + A videómód váltása + konzolban + + A &os; konzol alapértelmezett + videómódja átállítható + 1024x768-ra, 1280x1024-re, vagy bármilyen olyan + más méretre, amit a + videókártyánk és monitorunk + képes megjeleníteni. Az eltérõ + videómódok használatához + elõször a rendszermagunkat az alábbi két + beállítás + hozzáadásával kell + újrafordítanunk: + + options VESA +options SC_PIXEL_MODE + + Miután a rendszermagot sikeresen + újrafordítottuk a fenti + beállításokkal, a &man.vidcontrol.1; + segédprogrammal tudjuk megállapítani, hogy + a hardverünk milyen videómódokat enged + használni. Az összes támogatott + videómódot a következõképpen + tudjuk lekérdezni: + + &prompt.root; vidcontrol -i mode + + A parancs eredményeképpen megkapjuk a + hardverünk által ismert videómódokat. + Ezek közül tudjuk kiválasztani + valamelyikõjüket és root + felhasználóként a &man.vidcontrol.1; + segítségével + beállítani: + + &prompt.root; vidcontrol MODE_279 + + Ha az új videómód megfelel + számunkra, akkor ezt a beállítást az + /etc/rc.conf állományon + keresztül véglegesíthetjük is: + + allscreens_flags="MODE_279" + @@ -989,7 +1038,7 @@ memóriában létrehozott állományrendszert szoktak csatlakoztatni a /tmp - könyvtárba. Ez utóbbit a + könyvtárba. Ez utóbbit az &man.rc.conf.5; tmpmfs-re vonatkozó változóinak beállításával lehet @@ -1100,7 +1149,7 @@ memóriában létrehozott állományrendszereket is olykor a /var - könyvtárban találjuk. Ezt a + könyvtárban találjuk. Ezt az &man.rc.conf.5; állományban található varmfs-változók beállításával tehetjük @@ -2133,7 +2182,7 @@ leválasztás - A &man.umount.8; parancs paraméterként egy + Az &man.umount.8; parancs paraméterként egy csatlakozási pontot, egy eszköznevet vagy a ill. opciókat várja. @@ -2510,7 +2559,7 @@ Jelzés küldése a folyamatnak Ebben a példában megmutatjuk, hogyan lehet - jelzést küldeni a &man.inetd.8; démonnak. Az + jelzést küldeni az &man.inetd.8; démonnak. Az inetd a beállításait az /etc/inetd.conf állományban tárolja, és az inetd a @@ -2547,7 +2596,7 @@ A jelzés elküldésére használjuk a &man.kill.1; parancsot. Mivel az &man.inetd.8; démont a root - felhasználó futtattja, ehhez elõször a + felhasználó futtatja, ehhez elõször a &man.su.1; parancs kiadásával nekünk is root felhasználóvá (rendszeradminisztrátorrá) kell @@ -3058,7 +3107,7 @@ Bináris formátumok Annak megértéséhez, hogy a &os; - miért a &man.elf.5; formátumot használja, + miért az &man.elf.5; formátumot használja, elõször is tisztában kell lennünk a &unix; típusú rendszerekben használt végrehajtható állományok három @@ -3118,7 +3167,7 @@ A &os; a klasszikusok - táborából indult, ezért kezdetben a + táborából indult, ezért kezdetben az &man.a.out.5; formátumot használta, mivel ez a technológia a BSD kiadások számos generációjában megméretettett From owner-p4-projects@FreeBSD.ORG Thu Mar 6 19:49:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55A361065674; Thu, 6 Mar 2008 19:49: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 15B6F1065672 for ; Thu, 6 Mar 2008 19:49:12 +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 0469B8FC1D for ; Thu, 6 Mar 2008 19:49:12 +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 m26JnBCf034700 for ; Thu, 6 Mar 2008 19:49:11 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26JnBw6034694 for perforce@freebsd.org; Thu, 6 Mar 2008 19:49:11 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 19:49:11 GMT Message-Id: <200803061949.m26JnBw6034694@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 137017 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, 06 Mar 2008 19:49:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=137017 Change 137017 by rrs@rrs-mips2-jnpr on 2008/03/06 19:48:17 AST's should not be done in trap, the exception code does this. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#15 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#15 (text+ko) ==== @@ -260,7 +260,7 @@ * kdbpeekD(addr) - skip one word starting at 'addr', then read the second word */ #define kdbpeekD(addr) kdbpeek(((int *)(addr)) + 1) - +int rrs_debug = 0; /* * MIPS load/store access type @@ -838,9 +838,6 @@ PTRACESTOP_SC(p, td, S_PT_SCX); mtx_assert(&Giant, MA_NOTOWNED); - if (curthread->td_flags & (TDF_ASTPENDING | TDF_NEEDRESCHED)) { - ast(trapframe); - } return (trapframe->pc); } @@ -1029,9 +1026,9 @@ printf("kernel mode)\n"); #ifdef TRAP_DEBUG - printf("badvaddr = %p, pc = %p, ra = %p, sr = 0x%x\n", - trapframe->badvaddr, trapframe->pc, trapframe->ra, - trapframe->sr); + printf("badvaddr = %x, pc = %x, ra = %x, sr = 0x%x\n", + trapframe->badvaddr, trapframe->pc, trapframe->ra, + trapframe->sr); #endif #ifdef KDB @@ -1057,9 +1054,6 @@ */ userret(td, trapframe); mtx_assert(&Giant, MA_NOTOWNED); - if (curthread->td_flags & (TDF_ASTPENDING | TDF_NEEDRESCHED)) { - ast(trapframe); - } return (trapframe->pc); } From owner-p4-projects@FreeBSD.ORG Thu Mar 6 19:50:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A0521065671; Thu, 6 Mar 2008 19:50: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 5A440106566B for ; Thu, 6 Mar 2008 19:50:13 +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 2EDBF8FC22 for ; Thu, 6 Mar 2008 19:50:13 +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 m26JoDUP034767 for ; Thu, 6 Mar 2008 19:50:13 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26JoDLT034765 for perforce@freebsd.org; Thu, 6 Mar 2008 19:50:13 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 19:50:13 GMT Message-Id: <200803061950.m26JoDLT034765@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 137018 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, 06 Mar 2008 19:50:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=137018 Change 137018 by rrs@rrs-mips2-jnpr on 2008/03/06 19:49:13 Fixes END() endent Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#9 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#9 (text+ko) ==== @@ -506,4 +506,4 @@ j ra # new ASID will be set soon nop .set mips2 - END(mips_TBIAP) +END(mips_TBIAP) From owner-p4-projects@FreeBSD.ORG Thu Mar 6 19:50:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4ABC1065717; Thu, 6 Mar 2008 19:50: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 63988106566C for ; Thu, 6 Mar 2008 19:50:13 +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 528708FC24 for ; Thu, 6 Mar 2008 19:50:13 +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 m26JoDes034772 for ; Thu, 6 Mar 2008 19:50:13 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26JoDXx034770 for perforce@freebsd.org; Thu, 6 Mar 2008 19:50:13 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 19:50:13 GMT Message-Id: <200803061950.m26JoDXx034770@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 137019 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, 06 Mar 2008 19:50:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=137019 Change 137019 by rrs@rrs-mips2-jnpr on 2008/03/06 19:49:46 The ast was in the wrong place causing all kinds of pain. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#21 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#21 (text+ko) ==== @@ -392,12 +392,6 @@ jalr k0 sw a3, STAND_RA_OFFSET + KERN_REG_SIZE(sp) # for debugging -/* .set at*/ - -/* Should I DO the AST stuff here? */ - -/* .set noat*/ - RESTORE_CPU # v0 contains the return address. sync eret @@ -497,14 +491,14 @@ * Restore user registers and return. * First disable interrupts and set exeption level. */ + DO_AST + mtc0 zero, COP_0_STATUS_REG # disable int ITLBNOPFIX li v0, SR_EXL mtc0 v0, COP_0_STATUS_REG # set exeption level ITLBNOPFIX - DO_AST - /* * The use of k1 for storing the PCB pointer must be done only * after interrupts are disabled. Otherwise it will get overwritten From owner-p4-projects@FreeBSD.ORG Thu Mar 6 19:51:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4C451065677; Thu, 6 Mar 2008 19:51: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 94D081065675 for ; Thu, 6 Mar 2008 19:51:14 +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 83BBD8FC1E for ; Thu, 6 Mar 2008 19:51:14 +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 m26JpExK034838 for ; Thu, 6 Mar 2008 19:51:14 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26JpEBb034836 for perforce@freebsd.org; Thu, 6 Mar 2008 19:51:14 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 19:51:14 GMT Message-Id: <200803061951.m26JpEBb034836@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 137020 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, 06 Mar 2008 19:51:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=137020 Change 137020 by rrs@rrs-mips2-jnpr on 2008/03/06 19:50:45 Don't blast 0 in carefully disable ints and preserve the rest of the SR. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#16 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#16 (text+ko) ==== @@ -172,20 +172,23 @@ lw a1, PC_CURPCB(a1) 1: - .set noat - li v0, SR_EXL + mfc0 v0, COP_0_STATUS_REG # set exeption level bit. + or v0, SR_EXL + and v0, ~(SR_INT_ENAB) mtc0 v0, COP_0_STATUS_REG # set exeption level bit. nop nop nop nop - RESTORE_U_PCB_REG(t0, MULLO, a1) - RESTORE_U_PCB_REG(t1, MULHI, a1) + .set noat + move k1, a1 + RESTORE_U_PCB_REG(t0, MULLO, k1) + RESTORE_U_PCB_REG(t1, MULHI, k1) mtlo t0 mthi t1 - RESTORE_U_PCB_REG(a0, PC, a1) - RESTORE_U_PCB_REG(AT, AST, a1) - RESTORE_U_PCB_REG(v0, V0, a1) + RESTORE_U_PCB_REG(a0, PC, k1) + RESTORE_U_PCB_REG(AT, AST, k1) + RESTORE_U_PCB_REG(v0, V0, k1) _MTC0 a0, COP_0_EXC_PC # set return address /* @@ -193,7 +196,6 @@ * after interrupts are disabled. Otherwise it will get overwritten * by the interrupt code. */ - move k1, a1 RESTORE_U_PCB_REG(v1, V1, k1) RESTORE_U_PCB_REG(a0, A0, k1) RESTORE_U_PCB_REG(a1, A1, k1) @@ -267,8 +269,7 @@ mfc0 t0, COP_0_STATUS_REG # t0 = saved status register nop nop - - and a3, t0, SR_KX + and a3, t0, ~(SR_INT_ENAB) mtc0 a3, COP_0_STATUS_REG # Disable all interrupts ITLBNOPFIX j mips_sw1 # We're not interested in old @@ -287,7 +288,7 @@ mfc0 t0, COP_0_STATUS_REG # t0 = saved status register nop nop - and a3, t0, SR_KX + and a3, t0, ~(SR_INT_ENAB) mtc0 a3, COP_0_STATUS_REG # Disable all interrupts ITLBNOPFIX beqz a0, mips_sw1 From owner-p4-projects@FreeBSD.ORG Thu Mar 6 21:24:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D14AA1065670; Thu, 6 Mar 2008 21:24: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 90E75106566B for ; Thu, 6 Mar 2008 21:24: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 659908FC1A for ; Thu, 6 Mar 2008 21:24: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 m26LOqs3050747 for ; Thu, 6 Mar 2008 21:24:52 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26LOqPV050745 for perforce@freebsd.org; Thu, 6 Mar 2008 21:24:52 GMT (envelope-from rrs@cisco.com) Date: Thu, 6 Mar 2008 21:24:52 GMT Message-Id: <200803062124.m26LOqPV050745@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 137025 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, 06 Mar 2008 21:24:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=137025 Change 137025 by rrs@rrs-mips2-jnpr on 2008/03/06 21:23:56 Adds a few tweaks. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/dev/rgmii/octeon_rgmx.c#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/dev/rgmii/octeon_rgmx.c#8 (text+ko) ==== @@ -1523,7 +1523,8 @@ thr.word64 = 0; intpc.word64 = 0; - intpc.bits.thr_freq = (500 * 1000 * 1000) / (1000 * 16 * 256); + /*((500 * 1000 * 1000) / (1000 * 16 * 256)) */ + intpc.bits.thr_freq = 122; #ifdef OCTEON_RGMX_POW_TIME_THR_INTS thr.bits.enable = 1; From owner-p4-projects@FreeBSD.ORG Thu Mar 6 22:06:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4662610656E7; Thu, 6 Mar 2008 22:06: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 01A4A10656BF for ; Thu, 6 Mar 2008 22:06:56 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E42BB8FC24 for ; Thu, 6 Mar 2008 22:06:55 +0000 (UTC) (envelope-from thompsa@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 m26M6tEI053864 for ; Thu, 6 Mar 2008 22:06:55 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26M6tlk053862 for perforce@freebsd.org; Thu, 6 Mar 2008 22:06:55 GMT (envelope-from thompsa@freebsd.org) Date: Thu, 6 Mar 2008 22:06:55 GMT Message-Id: <200803062206.m26M6tlk053862@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 137031 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, 06 Mar 2008 22:06:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=137031 Change 137031 by thompsa@thompsa_peeps on 2008/03/06 22:06:48 Allow setting the channel in monitor mode, AP scanning/auth are already taken care of by their respective firmware commands. Discussed with: sam Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#19 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#19 (text+ko) ==== @@ -3667,8 +3667,17 @@ break; case WPI_SET_CHAN: - /* XXX Is this needed ? */ - DPRINTF(("Ignoring WPI_SET_CHAN\n")); + /* + * Only need to set the channel in Monitor mode. The scanning + * firmware command lists the channel and the AP channel is + * set in wpi_auth(). + */ + if (ic->ic_opmode == IEEE80211_M_MONITOR) { + error = wpi_config(sc); + if (error != 0) + device_printf(sc->sc_dev, + "error %d settting channel\n", error); + } break; case WPI_AUTH: From owner-p4-projects@FreeBSD.ORG Thu Mar 6 23:12:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7A6A1065677; Thu, 6 Mar 2008 23:12: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 960FC1065674 for ; Thu, 6 Mar 2008 23:12:05 +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 853AF8FC16 for ; Thu, 6 Mar 2008 23:12:05 +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 m26NC5xV058138 for ; Thu, 6 Mar 2008 23:12:05 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26NC5t5058136 for perforce@freebsd.org; Thu, 6 Mar 2008 23:12:05 GMT (envelope-from sam@freebsd.org) Date: Thu, 6 Mar 2008 23:12:05 GMT Message-Id: <200803062312.m26NC5t5058136@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 137034 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, 06 Mar 2008 23:12:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=137034 Change 137034 by sam@sam_ebb on 2008/03/06 23:11:22 purge 802.3 bpf taps, these happen in ether_input (we should never reference if_bpf in net80211, only iv_rawbpf for DLT_IEEE802_11 tap'ing) Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_hostap.c#18 edit .. //depot/projects/vap/sys/net80211/ieee80211_input.c#29 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_hostap.c#18 (text+ko) ==== @@ -375,13 +375,6 @@ /* XXX only if dwds in use? */ ieee80211_dwds_mcast(vap, m); } - /* - * XXX If we forward packet into transmitter of the AP, - * we don't need to duplicate for DLT_EN10MB. - */ - if (bpf_peers_present(ifp->if_bpf)) - bpf_mtap(ifp->if_bpf, m); - if (ni->ni_vlan != 0) { /* attach vlan tag */ m->m_pkthdr.ether_vtag = ni->ni_vlan; ==== //depot/projects/vap/sys/net80211/ieee80211_input.c#29 (text+ko) ==== @@ -215,13 +215,6 @@ /* clear driver/net80211 flags before passing up */ m->m_flags &= ~M_80211_RX; - /* - * XXX If we forward packet into transmitter of the AP, - * we don't need to duplicate for DLT_EN10MB. - */ - if (bpf_peers_present(ifp->if_bpf)) - bpf_mtap(ifp->if_bpf, m); - if (ni->ni_vlan != 0) { /* attach vlan tag */ m->m_pkthdr.ether_vtag = ni->ni_vlan; From owner-p4-projects@FreeBSD.ORG Thu Mar 6 23:46:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12EBE1065675; Thu, 6 Mar 2008 23:46: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 C5EDB1065670 for ; Thu, 6 Mar 2008 23:46:45 +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 B362A8FC1C for ; Thu, 6 Mar 2008 23:46:45 +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 m26Nkjol059220 for ; Thu, 6 Mar 2008 23:46:45 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26Nkj3u059218 for perforce@freebsd.org; Thu, 6 Mar 2008 23:46:45 GMT (envelope-from sam@freebsd.org) Date: Thu, 6 Mar 2008 23:46:45 GMT Message-Id: <200803062346.m26Nkj3u059218@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 137035 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, 06 Mar 2008 23:46:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=137035 Change 137035 by sam@sam_ebb on 2008/03/06 23:46:20 import wpa_supplicant 0.5.10 Affected files ... .. //depot/projects/vap/contrib/wpa_supplicant/ChangeLog#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/Makefile#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/README#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/aes_wrap.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/aes_wrap.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/asn1.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/common.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/common.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/config.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/config_ssid.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_unix.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/defconfig#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_background.8#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/driver_ndis.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_gpsk.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_gpsk_common.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_gpsk_common.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_peap.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_sim.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_sim_common.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_tlv.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eap_tlv.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eapol_sm.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/eapol_test.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/events.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/main.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/os.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/os_unix.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/pcsc_funcs.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/radius.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/radius.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/radius_client.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/tls_openssl.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/version.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_cli.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_ctrl.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_gui/networkconfig.ui.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_gui/setup-mingw-cross-compiling#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.c#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.conf#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant_i.h#3 edit .. //depot/projects/vap/contrib/wpa_supplicant/x509v3.c#3 edit Differences ... ==== //depot/projects/vap/contrib/wpa_supplicant/ChangeLog#3 (text+ko) ==== @@ -1,5 +1,46 @@ ChangeLog for wpa_supplicant +2008-02-19 - v0.5.10 + * added support for Makefile builds to include debug-log-to-a-file + functionality (CONFIG_DEBUG_FILE=y and -f on command line) + * added network configuration parameter 'frequency' for setting + initial channel for IBSS (adhoc) networks + * fixed EAP-SIM and EAP-AKA message parser to validate attribute + lengths properly to avoid potential crash caused by invalid messages + * added driver_wext workaround for race condition between scanning and + association with drivers that take very long time to scan all + channels (e.g., madwifi with dual-band cards); wpa_supplicant is now + using a longer hardcoded timeout for the scan if the driver supports + notifications for scan completion (SIOCGIWSCAN event); this helps, + e.g., in cases where wpa_supplicant and madwifi driver ended up in + loop where the driver did not even try to associate + * fixed EAP-SIM not to include AT_NONCE_MT and AT_SELECTED_VERSION + attributes in EAP-SIM Start/Response when using fast reauthentication + * fixed problems in getting NDIS events from WMI on Windows 2000 + +2007-12-02 - v0.5.9 + * fixed an integer overflow issue in the ASN.1 parser used by the + (experimental) internal TLS implementation to avoid a potential + buffer read overflow + * fixed a race condition with -W option (wait for a control interface + monitor before starting) that could have caused the first messages to + be lost + * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest + draft (draft-ietf-emu-eap-gpsk-07.txt) + * added ctrl_iface RECONNECT (wpa_cli reconnect) command + (like reassociate, but only takes effect if already associated) + * fixed a possible race condition between wpa_cli reassociate and + wpa_cli disconnect + * return a non-zero exit code from non-interactive wpa_cli if the + command is not recognized or fails + * fixed 0.5.8 regressions in BSS selection that prevented wildcard SSID + from being used with non-WPA networks and disabled workaround for + ignoring bogus WPA/RSN IE in non-WPA configuration + * fixed OpenSSL TLS wrapper to clear trusted CA list to allow + network blocks to use different trusted CA configurations + * fixed a potential EAP state machine loop when mloving from PSK to EAP + configuration without restarting wpa_supplicant + 2007-05-28 - v0.5.8 * updated driver_wext.c to build with the current wireless-dev.git tree and net/d80211 changes ==== //depot/projects/vap/contrib/wpa_supplicant/Makefile#3 (text+ko) ==== @@ -654,8 +654,25 @@ ifdef CONFIG_CTRL_IFACE_DBUS CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o -LIBS += `pkg-config --libs dbus-1` -CFLAGS += `pkg-config --cflags dbus-1` +ifndef DBUS_LIBS +DBUS_LIBS := $(shell pkg-config --libs dbus-1) +endif +LIBS += $(DBUS_LIBS) +ifndef DBUS_INCLUDE +DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1) +endif +dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1)) +DBUS_VERSION_MAJOR=$(word 1,$(dbus_version)) +DBUS_VERSION_MINOR=$(word 2,$(dbus_version)) +ifeq ($(DBUS_VERSION_MAJOR),) +DBUS_VERSION_MAJOR=0 +endif +ifeq ($(DBUS_VERSION_MINOR),) +DBUS_VERSION_MINOR=0 +endif +DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR) +DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR) +CFLAGS += $(DBUS_INCLUDE) endif ifdef CONFIG_READLINE @@ -724,6 +741,10 @@ CONFIG_MAIN=main endif +ifdef CONFIG_DEBUG_FILE +CFLAGS += -DCONFIG_DEBUG_FILE +endif + OBJS += wpa_supplicant.o events.o OBJS_t := $(OBJS) eapol_test.o radius.o radius_client.o OBJS_t2 := $(OBJS) preauth_test.o ==== //depot/projects/vap/contrib/wpa_supplicant/README#3 (text+ko) ==== @@ -1,7 +1,7 @@ WPA Supplicant ============== -Copyright (c) 2003-2007, Jouni Malinen and contributors +Copyright (c) 2003-2008, Jouni Malinen and contributors All Rights Reserved. This program is dual-licensed under both the GPL version 2 and BSD @@ -481,7 +481,7 @@ -------------------- usage: - wpa_supplicant [-BddehLqqvwW] [-P] [-g] \ + wpa_supplicant [-BddfhKLqqtuvwW] [-P] [-g] \ -i -c [-C] [-D] [-p] \ [-b [-N -i -c [-C] [-D] \ [-p] [-b] ...] @@ -494,6 +494,7 @@ -i = interface name -d = increase debugging verbosity (-dd even more) -D = driver name + -f = Log output to default log location (normally /tmp) -g = global ctrl_interface -K = include keys (passwords, etc.) in debug output -t = include timestamp in debug messages ==== //depot/projects/vap/contrib/wpa_supplicant/aes_wrap.c#3 (text+ko) ==== @@ -7,7 +7,7 @@ * - AES-128 EAX mode encryption/decryption * - AES-128 CBC * - * Copyright (c) 2003-2005, Jouni Malinen + * Copyright (c) 2003-2007, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -34,10 +34,11 @@ /** * aes_wrap - Wrap keys with AES Key Wrap Algorithm (128-bit KEK) (RFC3394) - * @kek: Key encryption key (KEK) - * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes - * @plain: Plaintext key to be wrapped, n * 64 bit - * @cipher: Wrapped key, (n + 1) * 64 bit + * @kek: 16-octet Key encryption key (KEK) + * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16 + * bytes + * @plain: Plaintext key to be wrapped, n * 64 bits + * @cipher: Wrapped key, (n + 1) * 64 bits * Returns: 0 on success, -1 on failure */ int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher) @@ -93,9 +94,10 @@ /** * aes_unwrap - Unwrap key with AES Key Wrap Algorithm (128-bit KEK) (RFC3394) * @kek: Key encryption key (KEK) - * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes - * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bit - * @plain: Plaintext key, n * 64 bit + * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16 + * bytes + * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bits + * @plain: Plaintext key, n * 64 bits * Returns: 0 on success, -1 on failure (e.g., integrity verification failed) */ int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain) @@ -167,28 +169,45 @@ /** - * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC) + * omac1_aes_128_vector - One-Key CBC MAC (OMAC1) hash with AES-128 * @key: 128-bit key for the hash operation - * @data: Data buffer for which a MAC is determined - * @data: Length of data buffer in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks * @mac: Buffer for MAC (128 bits, i.e., 16 bytes) * Returns: 0 on success, -1 on failure */ -int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac) +int omac1_aes_128_vector(const u8 *key, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) { void *ctx; u8 cbc[BLOCK_SIZE], pad[BLOCK_SIZE]; - const u8 *pos = data; - size_t i, left = data_len; + const u8 *pos, *end; + size_t i, e, left, total_len; ctx = aes_encrypt_init(key, 16); if (ctx == NULL) return -1; os_memset(cbc, 0, BLOCK_SIZE); + total_len = 0; + for (e = 0; e < num_elem; e++) + total_len += len[e]; + left = total_len; + + e = 0; + pos = addr[0]; + end = pos + len[0]; + while (left >= BLOCK_SIZE) { - for (i = 0; i < BLOCK_SIZE; i++) + for (i = 0; i < BLOCK_SIZE; i++) { cbc[i] ^= *pos++; + if (pos >= end) { + e++; + pos = addr[e]; + end = pos + len[e]; + } + } if (left > BLOCK_SIZE) aes_encrypt(ctx, cbc, cbc); left -= BLOCK_SIZE; @@ -198,9 +217,15 @@ aes_encrypt(ctx, pad, pad); gf_mulx(pad); - if (left || data_len == 0) { - for (i = 0; i < left; i++) + if (left || total_len == 0) { + for (i = 0; i < left; i++) { cbc[i] ^= *pos++; + if (pos >= end) { + e++; + pos = addr[e]; + end = pos + len[e]; + } + } cbc[left] ^= 0x80; gf_mulx(pad); } @@ -212,6 +237,24 @@ return 0; } + +/** + * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC) + * @key: 128-bit key for the hash operation + * @data: Data buffer for which a MAC is determined + * @data_len: Length of data buffer in bytes + * @mac: Buffer for MAC (128 bits, i.e., 16 bytes) + * Returns: 0 on success, -1 on failure + * + * This is a mode for using block cipher (AES in this case) for authentication. + * OMAC1 was standardized with the name CMAC by NIST in a Special Publication + * (SP) 800-38B. + */ +int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac) +{ + return omac1_aes_128_vector(key, 1, &data, &data_len, mac); +} + #endif /* CONFIG_NO_AES_OMAC1 */ ==== //depot/projects/vap/contrib/wpa_supplicant/aes_wrap.h#3 (text+ko) ==== @@ -7,7 +7,7 @@ * - AES-128 EAX mode encryption/decryption * - AES-128 CBC * - * Copyright (c) 2003-2005, Jouni Malinen + * Copyright (c) 2003-2007, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -24,6 +24,8 @@ int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher); int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain); +int omac1_aes_128_vector(const u8 *key, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac); int aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out); int aes_128_ctr_encrypt(const u8 *key, const u8 *nonce, ==== //depot/projects/vap/contrib/wpa_supplicant/asn1.c#3 (text+ko) ==== @@ -58,6 +58,10 @@ } tmp &= 0x7f; /* number of subsequent octets */ hdr->length = 0; + if (tmp > 4) { + wpa_printf(MSG_DEBUG, "ASN.1: Too long length field"); + return -1; + } while (tmp--) { if (pos >= end) { wpa_printf(MSG_DEBUG, "ASN.1: Length " @@ -71,7 +75,7 @@ hdr->length = tmp; } - if (pos + hdr->length > end) { + if (end < pos || hdr->length > (unsigned int) (end - pos)) { wpa_printf(MSG_DEBUG, "ASN.1: Contents underflow"); return -1; } ==== //depot/projects/vap/contrib/wpa_supplicant/common.c#3 (text+ko) ==== @@ -20,7 +20,6 @@ #ifdef CONFIG_DEBUG_FILE static FILE *out_file = NULL; #endif /* CONFIG_DEBUG_FILE */ -int wpa_debug_use_file = 0; int wpa_debug_level = MSG_INFO; int wpa_debug_show_keys = 0; int wpa_debug_timestamp = 0; @@ -344,32 +343,29 @@ } -int wpa_debug_open_file(void) +int wpa_debug_open_file(const char *path) { #ifdef CONFIG_DEBUG_FILE - static int count = 0; - char fname[64]; - if (!wpa_debug_use_file) + if (!path) return 0; -#ifdef _WIN32 - os_snprintf(fname, sizeof(fname), "\\Temp\\wpa_supplicant-log-%d.txt", - count++); -#else /* _WIN32 */ - os_snprintf(fname, sizeof(fname), "/tmp/wpa_supplicant-log-%d.txt", - count++); + out_file = fopen(path, "a"); + if (out_file == NULL) { + wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open " + "output file, using standard output"); + return -1; + } +#ifndef _WIN32 + setvbuf(out_file, NULL, _IOLBF, 0); #endif /* _WIN32 */ - out_file = fopen(fname, "w"); - return out_file == NULL ? -1 : 0; -#else /* CONFIG_DEBUG_FILE */ +#endif /* CONFIG_DEBUG_FILE */ return 0; -#endif /* CONFIG_DEBUG_FILE */ } void wpa_debug_close_file(void) { #ifdef CONFIG_DEBUG_FILE - if (!wpa_debug_use_file) + if (!out_file) return; fclose(out_file); out_file = NULL; ==== //depot/projects/vap/contrib/wpa_supplicant/common.h#3 (text+ko) ==== @@ -10,8 +10,6 @@ * license. * * See README and COPYING for more details. - * - * $FreeBSD: src/contrib/wpa_supplicant/common.h,v 1.4 2007/07/11 15:58:51 sam Exp $ */ #ifndef COMMON_H @@ -266,12 +264,12 @@ #define wpa_hexdump_key(l,t,b,le) do { } while (0) #define wpa_hexdump_ascii(l,t,b,le) do { } while (0) #define wpa_hexdump_ascii_key(l,t,b,le) do { } while (0) -#define wpa_debug_open_file() do { } while (0) +#define wpa_debug_open_file(p) do { } while (0) #define wpa_debug_close_file() do { } while (0) #else /* CONFIG_NO_STDOUT_DEBUG */ -int wpa_debug_open_file(void); +int wpa_debug_open_file(const char *path); void wpa_debug_close_file(void); /** ==== //depot/projects/vap/contrib/wpa_supplicant/config.c#3 (text+ko) ==== @@ -66,17 +66,19 @@ return os_strdup(value); } else { u8 *str; - size_t hlen = os_strlen(value); + size_t tlen, hlen = os_strlen(value); if (hlen & 1) return NULL; - *len = hlen / 2; - str = os_malloc(*len); + tlen = hlen / 2; + str = os_malloc(tlen + 1); if (str == NULL) return NULL; - if (hexstr2bin(value, str, *len)) { + if (hexstr2bin(value, str, tlen)) { os_free(str); return NULL; } + str[tlen] = '\0'; + *len = tlen; return (char *) str; } } @@ -1157,7 +1159,8 @@ { INT_RANGE(ieee80211w, 0, 2) }, #endif /* CONFIG_IEEE80211W */ { INT_RANGE(peerkey, 0, 1) }, - { INT_RANGE(mixed_cell, 0, 1) } + { INT_RANGE(mixed_cell, 0, 1) }, + { INT_RANGE(frequency, 0, 10000) } }; #undef OFFSET ==== //depot/projects/vap/contrib/wpa_supplicant/config_ssid.h#3 (text+ko) ==== @@ -851,6 +851,18 @@ IEEE80211W_REQUIRED = 2 } ieee80211w; #endif /* CONFIG_IEEE80211W */ + + /** + * frequency - Channel frequency in megahertz (MHz) for IBSS + * + * This value is used to configure the initial channel for IBSS (adhoc) + * networks, e.g., 2412 = IEEE 802.11b/g channel 1. It is ignored in + * the infrastructure mode. In addition, this value is only used by the + * station that creates the IBSS. If an IBSS network with the + * configured SSID is already present, the frequency of the network + * will be used instead of this configured value. + */ + int frequency; }; int wpa_config_allowed_eap_method(struct wpa_ssid *ssid, int vendor, ==== //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface.c#3 (text+ko) ==== @@ -1120,6 +1120,12 @@ wpa_s->disconnected = 0; wpa_s->reassociate = 1; wpa_supplicant_req_scan(wpa_s, 0, 0); + } else if (os_strcmp(buf, "RECONNECT") == 0) { + if (wpa_s->disconnected) { + wpa_s->disconnected = 0; + wpa_s->reassociate = 1; + wpa_supplicant_req_scan(wpa_s, 0, 0); + } } else if (os_strncmp(buf, "PREAUTH ", 8) == 0) { if (wpa_supplicant_ctrl_iface_preauth(wpa_s, buf + 8)) reply_len = -1; @@ -1147,6 +1153,7 @@ reply_len = wpa_supplicant_ctrl_iface_list_networks( wpa_s, reply, reply_size); } else if (os_strcmp(buf, "DISCONNECT") == 0) { + wpa_s->reassociate = 0; wpa_s->disconnected = 1; wpa_supplicant_disassociate(wpa_s, REASON_DEAUTH_LEAVING); } else if (os_strcmp(buf, "SCAN") == 0) { ==== //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus.c#3 (text+ko) ==== @@ -30,6 +30,14 @@ #include "wpa_ctrl.h" #include "eap.h" +#define DBUS_VERSION (DBUS_VERSION_MAJOR << 8 | DBUS_VERSION_MINOR) +#define DBUS_VER(major, minor) ((major) << 8 | (minor)) + +#if DBUS_VERSION < DBUS_VER(1,1) +#define dbus_watch_get_unix_fd dbus_watch_get_fd +#endif + + struct ctrl_iface_dbus_priv { DBusConnection *con; int should_dispatch; @@ -92,7 +100,7 @@ return; flags = dbus_watch_get_flags(watch); - fd = dbus_watch_get_fd(watch); + fd = dbus_watch_get_unix_fd(watch); eloop_register_sock(fd, EVENT_TYPE_EXCEPTION, process_watch_exception, iface, watch); @@ -117,7 +125,7 @@ int fd; flags = dbus_watch_get_flags(watch); - fd = dbus_watch_get_fd(watch); + fd = dbus_watch_get_unix_fd(watch); eloop_unregister_sock(fd, EVENT_TYPE_EXCEPTION); @@ -536,6 +544,10 @@ reply = wpas_dbus_iface_set_ap_scan(message, wpa_s); else if (!strcmp(method, "state")) reply = wpas_dbus_iface_get_state(message, wpa_s); + else if (!strcmp(method, "setBlobs")) + reply = wpas_dbus_iface_set_blobs(message, wpa_s); + else if (!strcmp(method, "removeBlobs")) + reply = wpas_dbus_iface_remove_blobs(message, wpa_s); } /* If the message was handled, send back the reply */ @@ -645,6 +657,7 @@ return; } dbus_connection_send(iface->con, signal, NULL); + dbus_message_unref(signal); } @@ -662,7 +675,7 @@ wpa_states old_state) { struct ctrl_iface_dbus_priv *iface; - DBusMessage *signal; + DBusMessage *signal = NULL; const char *path; const char *new_state_str, *old_state_str; @@ -707,7 +720,7 @@ wpa_printf(MSG_ERROR, "wpa_supplicant_dbus_notify_state_change[dbus]: " "couldn't convert state strings."); - return; + goto out; } if (!dbus_message_append_args(signal, @@ -720,8 +733,12 @@ "wpa_supplicant_dbus_notify_state_change[dbus]: " "not enough memory to construct state change " "signal."); + goto out; } dbus_connection_send(iface->con, signal, NULL); + +out: + dbus_message_unref(signal); } ==== //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#3 (text+ko) ==== @@ -1203,3 +1203,129 @@ return reply; } + + +/** + * wpas_dbus_iface_set_blobs - Store named binary blobs (ie, for certificates) + * @message: Pointer to incoming dbus message + * @global: %wpa_supplicant global data structure + * Returns: A dbus message containing a UINT32 indicating success (1) or + * failure (0) + * + * Asks wpa_supplicant to internally store a one or more binary blobs. + */ +DBusMessage * wpas_dbus_iface_set_blobs(DBusMessage *message, + struct wpa_supplicant *wpa_s) +{ + DBusMessage *reply = NULL; + struct wpa_dbus_dict_entry entry = { .type = DBUS_TYPE_STRING }; + DBusMessageIter iter, iter_dict; + + dbus_message_iter_init(message, &iter); + + if (!wpa_dbus_dict_open_read(&iter, &iter_dict)) + return wpas_dbus_new_invalid_opts_error(message, NULL); + + while (wpa_dbus_dict_has_dict_entry(&iter_dict)) { + struct wpa_config_blob *blob; + + if (!wpa_dbus_dict_get_entry(&iter_dict, &entry)) { + reply = wpas_dbus_new_invalid_opts_error(message, + NULL); + break; + } + + if (entry.type != DBUS_TYPE_ARRAY || + entry.array_type != DBUS_TYPE_BYTE) { + reply = wpas_dbus_new_invalid_opts_error( + message, "Byte array expected."); + break; + } + + if ((entry.array_len <= 0) || (entry.array_len > 65536) || + !strlen(entry.key)) { + reply = wpas_dbus_new_invalid_opts_error( + message, "Invalid array size."); + break; + } + + blob = os_zalloc(sizeof(*blob)); + if (blob == NULL) { + reply = dbus_message_new_error( + message, WPAS_ERROR_ADD_ERROR, + "Not enough memory to add blob."); + break; + } + blob->data = os_zalloc(entry.array_len); + if (blob->data == NULL) { + reply = dbus_message_new_error( + message, WPAS_ERROR_ADD_ERROR, + "Not enough memory to add blob data."); + os_free(blob); + break; + } + + blob->name = os_strdup(entry.key); + blob->len = entry.array_len; + os_memcpy(blob->data, (u8 *) entry.bytearray_value, + entry.array_len); + if (blob->name == NULL || blob->data == NULL) { + wpa_config_free_blob(blob); + reply = dbus_message_new_error( + message, WPAS_ERROR_ADD_ERROR, + "Error adding blob."); + break; + } + + /* Success */ + wpa_config_remove_blob(wpa_s->conf, blob->name); + wpa_config_set_blob(wpa_s->conf, blob); + wpa_dbus_dict_entry_clear(&entry); + } + wpa_dbus_dict_entry_clear(&entry); + + return reply ? reply : wpas_dbus_new_success_reply(message); +} + + +/** + * wpas_dbus_iface_remove_blob - Remove named binary blobs + * @message: Pointer to incoming dbus message + * @global: %wpa_supplicant global data structure + * Returns: A dbus message containing a UINT32 indicating success (1) or + * failure (0) + * + * Asks wpa_supplicant to remove one or more previously stored binary blobs. + */ +DBusMessage * wpas_dbus_iface_remove_blobs(DBusMessage *message, + struct wpa_supplicant *wpa_s) +{ + DBusMessageIter iter, array; + char *err_msg = NULL; + + dbus_message_iter_init(message, &iter); + + if ((dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_ARRAY) || + (dbus_message_iter_get_element_type (&iter) != DBUS_TYPE_STRING)) + return wpas_dbus_new_invalid_opts_error(message, NULL); + + dbus_message_iter_recurse(&iter, &array); + while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_STRING) { + const char *name; + + dbus_message_iter_get_basic(&array, &name); + if (!strlen(name)) + err_msg = "Invalid blob name."; + + if (wpa_config_remove_blob(wpa_s->conf, name) != 0) + err_msg = "Error removing blob."; + dbus_message_iter_next(&array); + } + + if (err_msg) { + return dbus_message_new_error(message, WPAS_ERROR_REMOVE_ERROR, + err_msg); + } + + return wpas_dbus_new_success_reply(message); +} ==== //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#3 (text+ko) ==== @@ -71,6 +71,12 @@ DBusMessage * wpas_dbus_iface_get_state(DBusMessage *message, struct wpa_supplicant *wpa_s); +DBusMessage * wpas_dbus_iface_set_blobs(DBusMessage *message, + struct wpa_supplicant *wpa_s); + +DBusMessage * wpas_dbus_iface_remove_blobs(DBusMessage *message, + struct wpa_supplicant *wpa_s); + #endif /* CONFIG_CTRL_IFACE_DBUS */ #endif /* CTRL_IFACE_DBUS_HANDLERS_H */ ==== //depot/projects/vap/contrib/wpa_supplicant/ctrl_iface_unix.c#3 (text+ko) ==== @@ -522,9 +522,42 @@ void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv) { - wpa_printf(MSG_DEBUG, "CTRL_IFACE - %s - wait for monitor", - priv->wpa_s->ifname); - eloop_wait_for_read_sock(priv->sock); + char buf[256]; + int res; + struct sockaddr_un from; + socklen_t fromlen = sizeof(from); + + for (;;) { + wpa_printf(MSG_DEBUG, "CTRL_IFACE - %s - wait for monitor to " + "attach", priv->wpa_s->ifname); + eloop_wait_for_read_sock(priv->sock); + + res = recvfrom(priv->sock, buf, sizeof(buf) - 1, 0, + (struct sockaddr *) &from, &fromlen); + if (res < 0) { + perror("recvfrom(ctrl_iface)"); + continue; + } + buf[res] = '\0'; + + if (os_strcmp(buf, "ATTACH") == 0) { + /* handle ATTACH signal of first monitor interface */ + if (!wpa_supplicant_ctrl_iface_attach(priv, &from, + fromlen)) { + sendto(priv->sock, "OK\n", 3, 0, + (struct sockaddr *) &from, fromlen); + /* OK to continue */ + return; + } else { + sendto(priv->sock, "FAIL\n", 5, 0, + (struct sockaddr *) &from, fromlen); + } + } else { + /* return FAIL for all other signals */ + sendto(priv->sock, "FAIL\n", 5, 0, + (struct sockaddr *) &from, fromlen); + } + } } ==== //depot/projects/vap/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#3 (text+ko) ==== @@ -8,10 +8,6 @@ - - - - ==== //depot/projects/vap/contrib/wpa_supplicant/defconfig#3 (text+ko) ==== @@ -209,7 +209,9 @@ #CONFIG_NO_AES_EXTRAS=y # Select configuration backend: -# file = text file (e.g., wpa_supplicant.conf) +# file = text file (e.g., wpa_supplicant.conf; note: the configuration file +# path is given on command line, not here; this option is just used to +# select the backend that allows configuration files to be used) # winreg = Windows registry (see win_example.reg for an example) CONFIG_BACKEND=file @@ -316,3 +318,6 @@ # wireless-dev.git tree). #WIRELESS_DEV=/usr/src/wireless-dev #CFLAGS += -I$(WIRELESS_DEV)/net/mac80211 + +# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) +#CONFIG_DEBUG_FILE=y ==== //depot/projects/vap/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#3 (text) ==== @@ -203,6 +203,12 @@ Force reassociation. +\subsection ctrl_iface_RECONNECT RECONNECT + +Connect if disconnected (i.e., like \c REASSOCIATE, but only connect +if in disconnected state). + + \subsection ctrl_iface_PREAUTH PREAUTH Start pre-authentication with the given BSSID. @@ -255,7 +261,8 @@ \subsection ctrl_iface_DISCONNECT DISCONNECT -Disconnect and wait for \c REASSOCIATE command before connecting. +Disconnect and wait for \c REASSOCIATE or \c RECONNECT command before +connecting. \subsection ctrl_iface_SCAN SCAN ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_background.8#3 (text) ==== @@ -3,7 +3,7 @@ .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . -.TH "WPA_BACKGROUND" "8" "28 May 2007" "" "" +.TH "WPA_BACKGROUND" "8" "19 February 2008" "" "" .SH NAME wpa_background \- Background information on Wi-Fi Protected Access and IEEE 802.11i ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#3 (text) ==== @@ -3,7 +3,7 @@ .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . -.TH "WPA_CLI" "8" "28 May 2007" "" "" +.TH "WPA_CLI" "8" "19 February 2008" "" "" .SH NAME wpa_cli \- WPA command line client @@ -112,7 +112,7 @@ Run in daemon mode executing the action file based on events from wpa_supplicant. The specified file will be executed with the first argument set to interface name and -second to "CONNECT" or "DISCONNECT" depending on the event. +second to "CONNECTED" or "DISCONNECTED" depending on the event. This can be used to execute networking tools required to configure the interface. ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#3 (text) ==== @@ -140,7 +140,7 @@ Run in daemon mode executing the action file based on events from wpa_supplicant. The specified file will be executed with the first argument set to interface name and - second to "CONNECT" or "DISCONNECT" depending on the event. + second to "CONNECTED" or "DISCONNECTED" depending on the event. This can be used to execute networking tools required to configure the interface. ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#3 (text) ==== @@ -3,7 +3,7 @@ .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . -.TH "WPA_PASSPHRASE" "8" "28 May 2007" "" "" +.TH "WPA_PASSPHRASE" "8" "19 February 2008" "" "" .SH NAME wpa_passphrase \- Generate a WPA PSK from an ASCII passphrase for a SSID ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#3 (text) ==== @@ -3,13 +3,13 @@ .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . -.TH "WPA_SUPPLICANT" "8" "28 May 2007" "" "" +.TH "WPA_SUPPLICANT" "8" "19 February 2008" "" "" .SH NAME wpa_supplicant \- Wi-Fi Protected Access client and IEEE 802.1X supplicant .SH SYNOPSIS -\fBwpa_supplicant\fR [ \fB-BddehLqqvw\fR ] [ \fB-i\fIifname\fB\fR ] [ \fB-c\fIconfig file\fB\fR ] [ \fB-D\fIdriver\fB\fR ] [ \fB-P\fIPID_file\fB\fR ] +\fBwpa_supplicant\fR [ \fB-BddfhKLqqtuvwW\fR ] [ \fB-i\fIifname\fB\fR ] [ \fB-c\fIconfig file\fB\fR ] [ \fB-D\fIdriver\fB\fR ] [ \fB-P\fIPID_file\fB\fR ] [ \fB-f\fIoutput file\fB\fR ] .SH "OVERVIEW" .PP @@ -272,6 +272,9 @@ \fB-D driver\fR Driver to use. See the available options below. .TP +\fB-f output file\fR +Log output to specified file instead of stdout. +.TP \fB-d\fR Increase debugging verbosity (-dd even more). .TP ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#3 (text) ==== @@ -3,7 +3,7 @@ .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . -.TH "WPA_SUPPLICANT.CONF" "5" "28 May 2007" "" "" +.TH "WPA_SUPPLICANT.CONF" "5" "19 February 2008" "" "" .SH NAME wpa_supplicant.conf \- configuration file for wpa_supplicant ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml#3 (text) ==== ==== //depot/projects/vap/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#3 (text) ==== @@ -12,11 +12,12 @@ wpa_supplicant - -BddehLqqvw + -BddfhKLqqtuvwW -iifname -cconfig file -Ddriver -PPID_file + -foutput file @@ -376,6 +377,13 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 6 23:52:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 395161065696; Thu, 6 Mar 2008 23:52: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 EC8721065684 for ; Thu, 6 Mar 2008 23:52:54 +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 DBA8D8FC26 for ; Thu, 6 Mar 2008 23:52:54 +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 m26NqsBF059431 for ; Thu, 6 Mar 2008 23:52:54 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26NqsBi059429 for perforce@freebsd.org; Thu, 6 Mar 2008 23:52:54 GMT (envelope-from sam@freebsd.org) Date: Thu, 6 Mar 2008 23:52:54 GMT Message-Id: <200803062352.m26NqsBi059429@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 137036 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, 06 Mar 2008 23:52:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=137036 Change 137036 by sam@sam_ebb on 2008/03/06 23:52:34 add back local mods Affected files ... .. //depot/projects/vap/contrib/wpa_supplicant/events.c#4 edit Differences ... ==== //depot/projects/vap/contrib/wpa_supplicant/events.c#4 (text) ==== @@ -803,6 +803,18 @@ } +#ifdef CONFIG_TERMINATE_ONLASTIF +static int any_interfaces(struct wpa_supplicant *head) +{ + struct wpa_supplicant *wpa_s; + + for (wpa_s = head; wpa_s != NULL; wpa_s = wpa_s->next) + if (!wpa_s->interface_removed) + return 1; + return 0; +} +#endif /* CONFIG_TERMINATE_ONLASTIF */ + static void wpa_supplicant_event_interface_status(struct wpa_supplicant *wpa_s, union wpa_event_data *data) @@ -827,6 +839,11 @@ wpa_supplicant_mark_disassoc(wpa_s); l2_packet_deinit(wpa_s->l2); wpa_s->l2 = NULL; +#ifdef CONFIG_TERMINATE_ONLASTIF + /* check if last interface */ + if (!any_interfaces(wpa_s->global->ifaces)) + eloop_terminate(); +#endif /* CONFIG_TERMINATE_ONLASTIF */ break; } } From owner-p4-projects@FreeBSD.ORG Thu Mar 6 23:56:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B77621065678; Thu, 6 Mar 2008 23:56: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 751911065675 for ; Thu, 6 Mar 2008 23:56:59 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 641218FC1B for ; Thu, 6 Mar 2008 23:56:59 +0000 (UTC) (envelope-from thompsa@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 m26Nuxxm059589 for ; Thu, 6 Mar 2008 23:56:59 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26NuxES059587 for perforce@freebsd.org; Thu, 6 Mar 2008 23:56:59 GMT (envelope-from thompsa@freebsd.org) Date: Thu, 6 Mar 2008 23:56:59 GMT Message-Id: <200803062356.m26NuxES059587@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 137037 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, 06 Mar 2008 23:57:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=137037 Change 137037 by thompsa@thompsa_peeps on 2008/03/06 23:56:32 Improve english. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#20 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#20 (text+ko) ==== @@ -3668,9 +3668,9 @@ case WPI_SET_CHAN: /* - * Only need to set the channel in Monitor mode. The scanning - * firmware command lists the channel and the AP channel is - * set in wpi_auth(). + * Only need to set the channel in Monitor mode. AP scanning + * and auth are already taken care of by their respective + * firmware commands. */ if (ic->ic_opmode == IEEE80211_M_MONITOR) { error = wpi_config(sc); From owner-p4-projects@FreeBSD.ORG Thu Mar 6 23:59:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC6861065673; Thu, 6 Mar 2008 23:59: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 7A1A61065671 for ; Thu, 6 Mar 2008 23:59:01 +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 678F48FC1D for ; Thu, 6 Mar 2008 23:59:01 +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 m26Nx111059668 for ; Thu, 6 Mar 2008 23:59:01 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m26Nx1GO059666 for perforce@freebsd.org; Thu, 6 Mar 2008 23:59:01 GMT (envelope-from sam@freebsd.org) Date: Thu, 6 Mar 2008 23:59:01 GMT Message-Id: <200803062359.m26Nx1GO059666@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 137038 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, 06 Mar 2008 23:59:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=137038 Change 137038 by sam@sam_ebb on 2008/03/06 23:58:49 import hostapd 0.5.10 Affected files ... .. //depot/projects/vap/contrib/hostapd/ChangeLog#3 edit .. //depot/projects/vap/contrib/hostapd/README#3 edit .. //depot/projects/vap/contrib/hostapd/aes_wrap.c#3 edit .. //depot/projects/vap/contrib/hostapd/aes_wrap.h#3 edit .. //depot/projects/vap/contrib/hostapd/common.c#3 edit .. //depot/projects/vap/contrib/hostapd/common.h#3 edit .. //depot/projects/vap/contrib/hostapd/driver_test.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap.h#3 edit .. //depot/projects/vap/contrib/hostapd/eap_aka.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_gpsk.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_gpsk_common.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_gpsk_common.h#3 edit .. //depot/projects/vap/contrib/hostapd/eap_sim.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_sim_common.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_sim_db.c#3 edit .. //depot/projects/vap/contrib/hostapd/eap_tls_common.c#3 edit .. //depot/projects/vap/contrib/hostapd/eapol_sm.c#3 edit .. //depot/projects/vap/contrib/hostapd/hostapd.c#3 edit .. //depot/projects/vap/contrib/hostapd/hostapd.conf#3 edit .. //depot/projects/vap/contrib/hostapd/ieee802_11.c#3 edit .. //depot/projects/vap/contrib/hostapd/ieee802_1x.c#3 edit .. //depot/projects/vap/contrib/hostapd/ieee802_1x.h#3 edit .. //depot/projects/vap/contrib/hostapd/madwifi.conf#3 edit .. //depot/projects/vap/contrib/hostapd/os.h#3 edit .. //depot/projects/vap/contrib/hostapd/os_unix.c#3 edit .. //depot/projects/vap/contrib/hostapd/radius.c#3 edit .. //depot/projects/vap/contrib/hostapd/radius.h#3 edit .. //depot/projects/vap/contrib/hostapd/radius_client.c#3 edit .. //depot/projects/vap/contrib/hostapd/radius_server.c#3 edit .. //depot/projects/vap/contrib/hostapd/tls_openssl.c#3 edit .. //depot/projects/vap/contrib/hostapd/version.h#3 edit .. //depot/projects/vap/contrib/hostapd/wpa.c#3 edit Differences ... ==== //depot/projects/vap/contrib/hostapd/ChangeLog#3 (text+ko) ==== @@ -1,5 +1,25 @@ ChangeLog for hostapd +2008-02-19 - v0.5.10 + * fixed EAP-SIM and EAP-AKA message parser to validate attribute + lengths properly to avoid potential crash caused by invalid messages + * fixed Reassociation Response callback processing when using internal + MLME (driver_{hostap,devicescape,test}.c) + * fixed EAP-SIM/AKA realm processing to allow decorated usernames to + be used + * added a workaround for EAP-SIM/AKA peers that include incorrect null + termination in the username + * fixed EAP-SIM Start response processing for fast reauthentication + case + * copy optional Proxy-State attributes into RADIUS response when acting + as a RADIUS authentication server + +2007-12-02 - v0.5.9 + * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest + draft (draft-ietf-emu-eap-gpsk-07.txt) + * fixed debugging code not to use potentially unaligned read to fetch + IPv4 addresses + 2007-05-28 - v0.5.8 * updated driver_devicescape.c to build with the current wireless-dev.git tree and net/d80211 changes ==== //depot/projects/vap/contrib/hostapd/README#3 (text+ko) ==== @@ -2,7 +2,7 @@ Authenticator and RADIUS authentication server ================================================================ -Copyright (c) 2002-2007, Jouni Malinen and contributors +Copyright (c) 2002-2008, Jouni Malinen and contributors All Rights Reserved. This program is dual-licensed under both the GPL version 2 and BSD ==== //depot/projects/vap/contrib/hostapd/aes_wrap.c#3 (text+ko) ==== @@ -7,7 +7,7 @@ * - AES-128 EAX mode encryption/decryption * - AES-128 CBC * - * Copyright (c) 2003-2005, Jouni Malinen + * Copyright (c) 2003-2007, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -34,10 +34,11 @@ /** * aes_wrap - Wrap keys with AES Key Wrap Algorithm (128-bit KEK) (RFC3394) - * @kek: Key encryption key (KEK) - * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes - * @plain: Plaintext key to be wrapped, n * 64 bit - * @cipher: Wrapped key, (n + 1) * 64 bit + * @kek: 16-octet Key encryption key (KEK) + * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16 + * bytes + * @plain: Plaintext key to be wrapped, n * 64 bits + * @cipher: Wrapped key, (n + 1) * 64 bits * Returns: 0 on success, -1 on failure */ int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher) @@ -93,9 +94,10 @@ /** * aes_unwrap - Unwrap key with AES Key Wrap Algorithm (128-bit KEK) (RFC3394) * @kek: Key encryption key (KEK) - * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes - * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bit - * @plain: Plaintext key, n * 64 bit + * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16 + * bytes + * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bits + * @plain: Plaintext key, n * 64 bits * Returns: 0 on success, -1 on failure (e.g., integrity verification failed) */ int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain) @@ -167,28 +169,45 @@ /** - * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC) + * omac1_aes_128_vector - One-Key CBC MAC (OMAC1) hash with AES-128 * @key: 128-bit key for the hash operation - * @data: Data buffer for which a MAC is determined - * @data: Length of data buffer in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks * @mac: Buffer for MAC (128 bits, i.e., 16 bytes) * Returns: 0 on success, -1 on failure */ -int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac) +int omac1_aes_128_vector(const u8 *key, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) { void *ctx; u8 cbc[BLOCK_SIZE], pad[BLOCK_SIZE]; - const u8 *pos = data; - size_t i, left = data_len; + const u8 *pos, *end; + size_t i, e, left, total_len; ctx = aes_encrypt_init(key, 16); if (ctx == NULL) return -1; os_memset(cbc, 0, BLOCK_SIZE); + total_len = 0; + for (e = 0; e < num_elem; e++) + total_len += len[e]; + left = total_len; + + e = 0; + pos = addr[0]; + end = pos + len[0]; + while (left >= BLOCK_SIZE) { - for (i = 0; i < BLOCK_SIZE; i++) + for (i = 0; i < BLOCK_SIZE; i++) { cbc[i] ^= *pos++; + if (pos >= end) { + e++; + pos = addr[e]; + end = pos + len[e]; + } + } if (left > BLOCK_SIZE) aes_encrypt(ctx, cbc, cbc); left -= BLOCK_SIZE; @@ -198,9 +217,15 @@ aes_encrypt(ctx, pad, pad); gf_mulx(pad); - if (left || data_len == 0) { - for (i = 0; i < left; i++) + if (left || total_len == 0) { + for (i = 0; i < left; i++) { cbc[i] ^= *pos++; + if (pos >= end) { + e++; + pos = addr[e]; + end = pos + len[e]; + } + } cbc[left] ^= 0x80; gf_mulx(pad); } @@ -212,6 +237,24 @@ return 0; } + +/** + * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC) + * @key: 128-bit key for the hash operation + * @data: Data buffer for which a MAC is determined + * @data_len: Length of data buffer in bytes + * @mac: Buffer for MAC (128 bits, i.e., 16 bytes) + * Returns: 0 on success, -1 on failure + * + * This is a mode for using block cipher (AES in this case) for authentication. + * OMAC1 was standardized with the name CMAC by NIST in a Special Publication + * (SP) 800-38B. + */ +int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac) +{ + return omac1_aes_128_vector(key, 1, &data, &data_len, mac); +} + #endif /* CONFIG_NO_AES_OMAC1 */ ==== //depot/projects/vap/contrib/hostapd/aes_wrap.h#3 (text+ko) ==== @@ -7,7 +7,7 @@ * - AES-128 EAX mode encryption/decryption * - AES-128 CBC * - * Copyright (c) 2003-2005, Jouni Malinen + * Copyright (c) 2003-2007, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -24,6 +24,8 @@ int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher); int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain); +int omac1_aes_128_vector(const u8 *key, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac); int aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out); int aes_128_ctr_encrypt(const u8 *key, const u8 *nonce, ==== //depot/projects/vap/contrib/hostapd/common.c#3 (text+ko) ==== @@ -20,7 +20,6 @@ #ifdef CONFIG_DEBUG_FILE static FILE *out_file = NULL; #endif /* CONFIG_DEBUG_FILE */ -int wpa_debug_use_file = 0; int wpa_debug_level = MSG_INFO; int wpa_debug_show_keys = 0; int wpa_debug_timestamp = 0; @@ -344,32 +343,29 @@ } -int wpa_debug_open_file(void) +int wpa_debug_open_file(const char *path) { #ifdef CONFIG_DEBUG_FILE - static int count = 0; - char fname[64]; - if (!wpa_debug_use_file) + if (!path) return 0; -#ifdef _WIN32 - os_snprintf(fname, sizeof(fname), "\\Temp\\wpa_supplicant-log-%d.txt", - count++); -#else /* _WIN32 */ - os_snprintf(fname, sizeof(fname), "/tmp/wpa_supplicant-log-%d.txt", - count++); + out_file = fopen(path, "a"); + if (out_file == NULL) { + wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open " + "output file, using standard output"); + return -1; + } +#ifndef _WIN32 + setvbuf(out_file, NULL, _IOLBF, 0); #endif /* _WIN32 */ - out_file = fopen(fname, "w"); - return out_file == NULL ? -1 : 0; -#else /* CONFIG_DEBUG_FILE */ +#endif /* CONFIG_DEBUG_FILE */ return 0; -#endif /* CONFIG_DEBUG_FILE */ } void wpa_debug_close_file(void) { #ifdef CONFIG_DEBUG_FILE - if (!wpa_debug_use_file) + if (!out_file) return; fclose(out_file); out_file = NULL; ==== //depot/projects/vap/contrib/hostapd/common.h#3 (text+ko) ==== @@ -264,12 +264,12 @@ #define wpa_hexdump_key(l,t,b,le) do { } while (0) #define wpa_hexdump_ascii(l,t,b,le) do { } while (0) #define wpa_hexdump_ascii_key(l,t,b,le) do { } while (0) -#define wpa_debug_open_file() do { } while (0) +#define wpa_debug_open_file(p) do { } while (0) #define wpa_debug_close_file() do { } while (0) #else /* CONFIG_NO_STDOUT_DEBUG */ -int wpa_debug_open_file(void); +int wpa_debug_open_file(const char *path); void wpa_debug_close_file(void); /** ==== //depot/projects/vap/contrib/hostapd/driver_test.c#3 (text+ko) ==== @@ -170,9 +170,10 @@ u16 fc; if (drv->test_socket < 0 || len < 10 || drv->socket_dir == NULL) { - wpa_printf(MSG_DEBUG, "%s: invalid parameters (sock=%d len=%d " - "socket_dir=%p)", - __func__, drv->test_socket, len, drv->socket_dir); + wpa_printf(MSG_DEBUG, "%s: invalid parameters (sock=%d len=%lu" + " socket_dir=%p)", + __func__, drv->test_socket, (unsigned long) len, + drv->socket_dir); return -1; } ==== //depot/projects/vap/contrib/hostapd/eap.c#3 (text+ko) ==== @@ -10,8 +10,6 @@ * license. * * See README and COPYING for more details. - * - * $FreeBSD: src/contrib/hostapd/eap.c,v 1.4 2007/07/09 16:20:41 sam Exp $ */ #include "includes.h" ==== //depot/projects/vap/contrib/hostapd/eap.h#3 (text+ko) ==== @@ -1,5 +1,3 @@ -/* $FreeBSD: src/contrib/hostapd/eap.h,v 1.4 2007/07/09 16:20:41 sam Exp $ */ - /* * hostapd / EAP Standalone Authenticator state machine (RFC 4137) * Copyright (c) 2004-2005, Jouni Malinen ==== //depot/projects/vap/contrib/hostapd/eap_aka.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /* * hostapd / EAP-AKA (RFC 4187) - * Copyright (c) 2005-2007, Jouni Malinen + * Copyright (c) 2005-2008, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -124,6 +124,14 @@ sm->identity_len)) { wpa_printf(MSG_DEBUG, " AT_PERMANENT_ID_REQ"); eap_sim_msg_add(msg, EAP_SIM_AT_PERMANENT_ID_REQ, 0, NULL, 0); + } else { + /* + * RFC 4187, Chap. 4.1.4 recommends that identity from EAP is + * ignored and the AKA/Identity is used to request the + * identity. + */ + wpa_printf(MSG_DEBUG, " AT_ANY_ID_REQ"); + eap_sim_msg_add(msg, EAP_SIM_AT_ANY_ID_REQ, 0, NULL, 0); } return eap_sim_msg_finish(msg, reqDataLen, NULL, NULL, 0); } @@ -445,10 +453,16 @@ sm->method_pending = METHOD_PENDING_NONE; } + identity_len = sm->identity_len; + while (identity_len > 0 && sm->identity[identity_len - 1] == '\0') { + wpa_printf(MSG_DEBUG, "EAP-AKA: Workaround - drop last null " + "character from identity"); + identity_len--; + } wpa_hexdump_ascii(MSG_DEBUG, "EAP-AKA: Identity for MK derivation", - sm->identity, sm->identity_len); + sm->identity, identity_len); - eap_aka_derive_mk(sm->identity, sm->identity_len, data->ik, data->ck, + eap_aka_derive_mk(sm->identity, identity_len, data->ik, data->ck, data->mk); eap_sim_derive_keys(data->mk, data->k_encr, data->k_aut, data->msk, data->emsk); ==== //depot/projects/vap/contrib/hostapd/eap_gpsk.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * hostapd / EAP-GPSK (draft-ietf-emu-eap-gpsk-03.txt) server + * hostapd / EAP-GPSK (draft-ietf-emu-eap-gpsk-08.txt) server * Copyright (c) 2006-2007, Jouni Malinen * * This program is free software; you can redistribute it and/or modify @@ -23,15 +23,15 @@ struct eap_gpsk_data { enum { GPSK_1, GPSK_3, SUCCESS, FAILURE } state; u8 rand_server[EAP_GPSK_RAND_LEN]; - u8 rand_client[EAP_GPSK_RAND_LEN]; + u8 rand_peer[EAP_GPSK_RAND_LEN]; u8 msk[EAP_MSK_LEN]; u8 emsk[EAP_EMSK_LEN]; u8 sk[EAP_GPSK_MAX_SK_LEN]; size_t sk_len; u8 pk[EAP_GPSK_MAX_PK_LEN]; size_t pk_len; - u8 *id_client; - size_t id_client_len; + u8 *id_peer; + size_t id_peer_len; u8 *id_server; size_t id_server_len; #define MAX_NUM_CSUITES 2 @@ -85,17 +85,17 @@ data->csuite_count = 0; if (eap_gpsk_supported_ciphersuite(EAP_GPSK_VENDOR_IETF, EAP_GPSK_CIPHER_AES)) { - WPA_PUT_BE24(data->csuite_list[data->csuite_count].vendor, + WPA_PUT_BE32(data->csuite_list[data->csuite_count].vendor, EAP_GPSK_VENDOR_IETF); - WPA_PUT_BE24(data->csuite_list[data->csuite_count].specifier, + WPA_PUT_BE16(data->csuite_list[data->csuite_count].specifier, EAP_GPSK_CIPHER_AES); data->csuite_count++; } if (eap_gpsk_supported_ciphersuite(EAP_GPSK_VENDOR_IETF, EAP_GPSK_CIPHER_SHA256)) { - WPA_PUT_BE24(data->csuite_list[data->csuite_count].vendor, + WPA_PUT_BE32(data->csuite_list[data->csuite_count].vendor, EAP_GPSK_VENDOR_IETF); - WPA_PUT_BE24(data->csuite_list[data->csuite_count].specifier, + WPA_PUT_BE16(data->csuite_list[data->csuite_count].specifier, EAP_GPSK_CIPHER_SHA256); data->csuite_count++; } @@ -108,7 +108,7 @@ { struct eap_gpsk_data *data = priv; free(data->id_server); - free(data->id_client); + free(data->id_peer); free(data); } @@ -174,8 +174,8 @@ wpa_printf(MSG_DEBUG, "EAP-GPSK: Request/GPSK-3"); miclen = eap_gpsk_mic_len(data->vendor, data->specifier); - len = 1 + 2 * EAP_GPSK_RAND_LEN + sizeof(struct eap_gpsk_csuite) + 2 + - miclen; + len = 1 + 2 * EAP_GPSK_RAND_LEN + 2 + data->id_server_len + + sizeof(struct eap_gpsk_csuite) + 2 + miclen; req = eap_msg_alloc(EAP_VENDOR_IETF, EAP_TYPE_GPSK, reqDataLen, len, EAP_CODE_REQUEST, id, &pos); if (req == NULL) { @@ -188,13 +188,18 @@ *pos++ = EAP_GPSK_OPCODE_GPSK_3; start = pos; - memcpy(pos, data->rand_client, EAP_GPSK_RAND_LEN); + memcpy(pos, data->rand_peer, EAP_GPSK_RAND_LEN); pos += EAP_GPSK_RAND_LEN; memcpy(pos, data->rand_server, EAP_GPSK_RAND_LEN); pos += EAP_GPSK_RAND_LEN; + WPA_PUT_BE16(pos, data->id_server_len); + pos += 2; + if (data->id_server) + memcpy(pos, data->id_server, data->id_server_len); + pos += data->id_server_len; csuite = (struct eap_gpsk_csuite *) pos; - WPA_PUT_BE24(csuite->vendor, data->vendor); - WPA_PUT_BE24(csuite->specifier, data->specifier); + WPA_PUT_BE32(csuite->vendor, data->vendor); + WPA_PUT_BE16(csuite->specifier, data->specifier); pos += sizeof(*csuite); /* no PD_Payload_2 */ @@ -282,7 +287,7 @@ if (end - pos < 2) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for " - "ID_Client length"); + "ID_Peer length"); eap_gpsk_state(data, FAILURE); return; } @@ -290,21 +295,21 @@ pos += 2; if (end - pos < alen) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for " - "ID_Client"); + "ID_Peer"); eap_gpsk_state(data, FAILURE); return; } - free(data->id_client); - data->id_client = malloc(alen); - if (data->id_client == NULL) { + free(data->id_peer); + data->id_peer = malloc(alen); + if (data->id_peer == NULL) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Not enough memory to store " - "%d-octet ID_Client", alen); + "%d-octet ID_Peer", alen); return; } - memcpy(data->id_client, pos, alen); - data->id_client_len = alen; - wpa_hexdump_ascii(MSG_DEBUG, "EAP-GPSK: ID_Client", - data->id_client, data->id_client_len); + memcpy(data->id_peer, pos, alen); + data->id_peer_len = alen; + wpa_hexdump_ascii(MSG_DEBUG, "EAP-GPSK: ID_Peer", + data->id_peer, data->id_peer_len); pos += alen; if (end - pos < 2) { @@ -332,13 +337,13 @@ if (end - pos < EAP_GPSK_RAND_LEN) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for " - "RAND_Client"); + "RAND_Peer"); eap_gpsk_state(data, FAILURE); return; } - memcpy(data->rand_client, pos, EAP_GPSK_RAND_LEN); - wpa_hexdump(MSG_DEBUG, "EAP-GPSK: RAND_Client", - data->rand_client, EAP_GPSK_RAND_LEN); + memcpy(data->rand_peer, pos, EAP_GPSK_RAND_LEN); + wpa_hexdump(MSG_DEBUG, "EAP-GPSK: RAND_Peer", + data->rand_peer, EAP_GPSK_RAND_LEN); pos += EAP_GPSK_RAND_LEN; if (end - pos < EAP_GPSK_RAND_LEN) { @@ -397,13 +402,13 @@ if (i == data->csuite_count) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Peer selected unsupported " "ciphersuite %d:%d", - WPA_GET_BE24(csuite->vendor), - WPA_GET_BE24(csuite->specifier)); + WPA_GET_BE32(csuite->vendor), + WPA_GET_BE16(csuite->specifier)); eap_gpsk_state(data, FAILURE); return; } - data->vendor = WPA_GET_BE24(csuite->vendor); - data->specifier = WPA_GET_BE24(csuite->specifier); + data->vendor = WPA_GET_BE32(csuite->vendor); + data->specifier = WPA_GET_BE16(csuite->specifier); wpa_printf(MSG_DEBUG, "EAP-GPSK: CSuite_Sel %d:%d", data->vendor, data->specifier); pos += sizeof(*csuite); @@ -434,8 +439,8 @@ if (eap_gpsk_derive_keys(sm->user->password, sm->user->password_len, data->vendor, data->specifier, - data->rand_client, data->rand_server, - data->id_client, data->id_client_len, + data->rand_peer, data->rand_server, + data->id_peer, data->id_peer_len, data->id_server, data->id_server_len, data->msk, data->emsk, data->sk, &data->sk_len, ==== //depot/projects/vap/contrib/hostapd/eap_gpsk_common.c#3 (text+ko) ==== @@ -18,8 +18,9 @@ #include "eap_defs.h" #include "aes_wrap.h" #include "crypto.h" -#include "sha1.h" +#ifdef EAP_GPSK_SHA256 #include "sha256.h" +#endif /* EAP_GPSK_SHA256 */ #include "eap_gpsk_common.h" @@ -43,31 +44,29 @@ } -static int eap_gpsk_gkdf(const u8 *psk /* Y */, size_t psk_len, - const u8 *data /* Z */, size_t data_len, - u8 *buf, size_t len /* X */) +static int eap_gpsk_gkdf_cmac(const u8 *psk /* Y */, + const u8 *data /* Z */, size_t data_len, + u8 *buf, size_t len /* X */) { u8 *opos; size_t i, n, hashlen, left, clen; - u8 ibuf[2], hash[SHA1_MAC_LEN]; - const u8 *addr[3]; - size_t vlen[3]; + u8 ibuf[2], hash[16]; + const u8 *addr[2]; + size_t vlen[2]; - hashlen = SHA1_MAC_LEN; - /* M_i = Hash-Function (i || Y || Z); */ + hashlen = sizeof(hash); + /* M_i = MAC_Y (i || Z); (MAC = AES-CMAC-128) */ addr[0] = ibuf; vlen[0] = sizeof(ibuf); - addr[1] = psk; - vlen[1] = psk_len; - addr[2] = data; - vlen[2] = data_len; + addr[1] = data; + vlen[1] = data_len; opos = buf; left = len; n = (len + hashlen - 1) / hashlen; for (i = 1; i <= n; i++) { WPA_PUT_BE16(ibuf, i); - sha1_vector(3, addr, vlen, hash); + omac1_aes_128_vector(psk, 2, addr, vlen, hash); clen = left > hashlen ? hashlen : left; os_memcpy(opos, hash, clen); opos += clen; @@ -78,112 +77,30 @@ } -static int eap_gpsk_derive_keys_aes(const u8 *psk, size_t psk_len, - const u8 *seed, size_t seed_len, - u8 *msk, u8 *emsk, u8 *sk, size_t *sk_len, - u8 *pk, size_t *pk_len) -{ -#define EAP_GPSK_SK_LEN_AES 16 -#define EAP_GPSK_PK_LEN_AES 16 - u8 zero_string[1], mk[32], *pos, *data; - u8 kdf_out[EAP_MSK_LEN + EAP_EMSK_LEN + EAP_GPSK_SK_LEN_AES + - EAP_GPSK_PK_LEN_AES]; - size_t data_len; - - /* - * inputString = RAND_Client || ID_Client || RAND_Server || ID_Server - * (= seed) - * KS = 16, PL = psk_len, CSuite_Sel = 0x000000 0x000001 - * MK = GKDF-32 (0x00, PL || PSK || CSuite_Sel || inputString) - * MSK = GKDF-160 (MK, inputString)[0..63] - * EMSK = GKDF-160 (MK, inputString)[64..127] - * SK = GKDF-160 (MK, inputString)[128..143] - * PK = GKDF-160 (MK, inputString)[144..159] - * MID = GKDF-16(0x00, "Method ID" || EAP_Method_Type || CSuite_Sel || - * inputString) - * Hash-Function = SHA-1 (see [RFC3174]) - * hashlen = 20 octets (160 bits) - */ - - os_memset(zero_string, 0, sizeof(zero_string)); - - data_len = 2 + psk_len + 6 + seed_len; - data = os_malloc(data_len); - if (data == NULL) - return -1; - pos = data; - WPA_PUT_BE16(pos, psk_len); - pos += 2; - os_memcpy(pos, psk, psk_len); - pos += psk_len; - WPA_PUT_BE24(pos, 0); /* CSuite/Vendor = IETF */ - pos += 3; - WPA_PUT_BE24(pos, EAP_GPSK_CIPHER_AES); /* CSuite/Specifier */ - pos += 3; - os_memcpy(pos, seed, seed_len); /* inputString */ - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: Data to MK derivation (AES)", - data, data_len); - - if (eap_gpsk_gkdf(zero_string, sizeof(zero_string), data, data_len, - mk, sizeof(mk)) < 0) { - os_free(data); - return -1; - } - os_free(data); - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: MK", mk, sizeof(mk)); - - if (eap_gpsk_gkdf(mk, sizeof(mk), seed, seed_len, - kdf_out, sizeof(kdf_out)) < 0) - return -1; - - pos = kdf_out; - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: MSK", pos, EAP_MSK_LEN); - os_memcpy(msk, pos, EAP_MSK_LEN); - pos += EAP_MSK_LEN; - - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: EMSK", pos, EAP_EMSK_LEN); - os_memcpy(emsk, pos, EAP_EMSK_LEN); - pos += EAP_EMSK_LEN; - - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: SK", pos, EAP_GPSK_SK_LEN_AES); - os_memcpy(sk, pos, EAP_GPSK_SK_LEN_AES); - *sk_len = EAP_GPSK_SK_LEN_AES; - pos += EAP_GPSK_SK_LEN_AES; - - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: PK", pos, EAP_GPSK_PK_LEN_AES); - os_memcpy(pk, pos, EAP_GPSK_PK_LEN_AES); - *pk_len = EAP_GPSK_PK_LEN_AES; - - return 0; -} - - #ifdef EAP_GPSK_SHA256 -static int eap_gpsk_gkdf_sha256(const u8 *psk /* Y */, size_t psk_len, +static int eap_gpsk_gkdf_sha256(const u8 *psk /* Y */, const u8 *data /* Z */, size_t data_len, u8 *buf, size_t len /* X */) { u8 *opos; size_t i, n, hashlen, left, clen; u8 ibuf[2], hash[SHA256_MAC_LEN]; - const u8 *addr[3]; - size_t vlen[3]; + const u8 *addr[2]; + size_t vlen[2]; hashlen = SHA256_MAC_LEN; - /* M_i = Hash-Function (i || Y || Z); */ + /* M_i = MAC_Y (i || Z); (MAC = HMAC-SHA256) */ addr[0] = ibuf; vlen[0] = sizeof(ibuf); - addr[1] = psk; - vlen[1] = psk_len; - addr[2] = data; - vlen[2] = data_len; + addr[1] = data; + vlen[1] = data_len; opos = buf; left = len; n = (len + hashlen - 1) / hashlen; for (i = 1; i <= n; i++) { WPA_PUT_BE16(ibuf, i); - sha256_vector(3, addr, vlen, hash); + hmac_sha256_vector(psk, 32, 2, addr, vlen, hash); clen = left > hashlen ? hashlen : left; os_memcpy(opos, hash, clen); opos += clen; @@ -192,37 +109,40 @@ return 0; } +#endif /* EAP_GPSK_SHA256 */ -static int eap_gpsk_derive_keys_sha256(const u8 *psk, size_t psk_len, +static int eap_gpsk_derive_keys_helper(u32 csuite_specifier, + u8 *kdf_out, size_t kdf_out_len, + const u8 *psk, size_t psk_len, const u8 *seed, size_t seed_len, u8 *msk, u8 *emsk, - u8 *sk, size_t *sk_len, - u8 *pk, size_t *pk_len) + u8 *sk, size_t sk_len, + u8 *pk, size_t pk_len) { -#define EAP_GPSK_SK_LEN_SHA256 SHA256_MAC_LEN -#define EAP_GPSK_PK_LEN_SHA256 SHA256_MAC_LEN - u8 mk[SHA256_MAC_LEN], zero_string[1], *pos, *data; - u8 kdf_out[EAP_MSK_LEN + EAP_EMSK_LEN + EAP_GPSK_SK_LEN_SHA256 + - EAP_GPSK_PK_LEN_SHA256]; - size_t data_len; + u8 mk[32], *pos, *data; + size_t data_len, mk_len; + int (*gkdf)(const u8 *psk, const u8 *data, size_t data_len, + u8 *buf, size_t len); - /* - * inputString = RAND_Client || ID_Client || RAND_Server || ID_Server - * (= seed) - * KS = 32, PL = psk_len, CSuite_Sel = 0x000000 0x000002 - * MK = GKDF-32 (0x00, PL || PSK || CSuite_Sel || inputString) - * MSK = GKDF-192 (MK, inputString)[0..63] - * EMSK = GKDF-192 (MK, inputString)[64..127] - * SK = GKDF-192 (MK, inputString)[128..159] - * PK = GKDF-192 (MK, inputString)[160..191] - * MID = GKDF-16(0x00, "Method ID" || EAP_Method_Type || CSuite_Sel || - * inputString) - * Hash-Function = SHA256 (see [RFC4634]) - * hashlen = 32 octets (256 bits) - */ + gkdf = NULL; + switch (csuite_specifier) { + case EAP_GPSK_CIPHER_AES: + gkdf = eap_gpsk_gkdf_cmac; + mk_len = 16; + break; +#ifdef EAP_GPSK_SHA256 + case EAP_GPSK_CIPHER_SHA256: + gkdf = eap_gpsk_gkdf_sha256; + mk_len = SHA256_MAC_LEN; + break; +#endif /* EAP_GPSK_SHA256 */ + default: + return -1; + } - os_memset(zero_string, 0, sizeof(zero_string)); + if (psk_len < mk_len) + return -1; data_len = 2 + psk_len + 6 + seed_len; data = os_malloc(data_len); @@ -233,24 +153,22 @@ pos += 2; os_memcpy(pos, psk, psk_len); pos += psk_len; - WPA_PUT_BE24(pos, 0); /* CSuite/Vendor = IETF */ - pos += 3; - WPA_PUT_BE24(pos, EAP_GPSK_CIPHER_SHA256); /* CSuite/Specifier */ - pos += 3; + WPA_PUT_BE32(pos, EAP_GPSK_VENDOR_IETF); /* CSuite/Vendor = IETF */ + pos += 4; + WPA_PUT_BE16(pos, csuite_specifier); /* CSuite/Specifier */ + pos += 2; os_memcpy(pos, seed, seed_len); /* inputString */ - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: Data to MK derivation (SHA256)", + wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: Data to MK derivation", data, data_len); - if (eap_gpsk_gkdf_sha256(zero_string, sizeof(zero_string), - data, data_len, mk, sizeof(mk)) < 0) { + if (gkdf(psk, data, data_len, mk, mk_len) < 0) { os_free(data); return -1; } os_free(data); - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: MK", mk, sizeof(mk)); + wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: MK", mk, mk_len); - if (eap_gpsk_gkdf_sha256(mk, sizeof(mk), seed, seed_len, - kdf_out, sizeof(kdf_out)) < 0) + if (gkdf(mk, seed, seed_len, kdf_out, kdf_out_len) < 0) return -1; pos = kdf_out; @@ -262,46 +180,113 @@ os_memcpy(emsk, pos, EAP_EMSK_LEN); pos += EAP_EMSK_LEN; - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: SK", - pos, EAP_GPSK_SK_LEN_SHA256); - os_memcpy(sk, pos, EAP_GPSK_SK_LEN_SHA256); + wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: SK", pos, sk_len); + os_memcpy(sk, pos, sk_len); + pos += sk_len; + + if (pk) { + wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: PK", pos, pk_len); + os_memcpy(pk, pos, pk_len); + } + + return 0; +} + + +static int eap_gpsk_derive_keys_aes(const u8 *psk, size_t psk_len, + const u8 *seed, size_t seed_len, + u8 *msk, u8 *emsk, u8 *sk, size_t *sk_len, + u8 *pk, size_t *pk_len) +{ +#define EAP_GPSK_SK_LEN_AES 16 +#define EAP_GPSK_PK_LEN_AES 16 + u8 kdf_out[EAP_MSK_LEN + EAP_EMSK_LEN + EAP_GPSK_SK_LEN_AES + + EAP_GPSK_PK_LEN_AES]; + + /* + * inputString = RAND_Peer || ID_Peer || RAND_Server || ID_Server + * (= seed) + * KS = 16, PL = psk_len, CSuite_Sel = 0x00000000 0x0001 + * MK = GKDF-16 (PSK[0..15], PL || PSK || CSuite_Sel || inputString) + * MSK = GKDF-160 (MK, inputString)[0..63] + * EMSK = GKDF-160 (MK, inputString)[64..127] + * SK = GKDF-160 (MK, inputString)[128..143] + * PK = GKDF-160 (MK, inputString)[144..159] + * zero = 0x00 || 0x00 || ... || 0x00 (16 times) + * Method-ID = GKDF-16 (zero, "Method ID" || EAP_Method_Type || + * CSuite_Sel || inputString) + */ + *sk_len = EAP_GPSK_SK_LEN_AES; - pos += EAP_GPSK_SK_LEN_AES; + *pk_len = EAP_GPSK_PK_LEN_AES; + + return eap_gpsk_derive_keys_helper(EAP_GPSK_CIPHER_AES, + kdf_out, sizeof(kdf_out), + psk, psk_len, seed, seed_len, + msk, emsk, sk, *sk_len, + pk, *pk_len); +} + + +#ifdef EAP_GPSK_SHA256 +static int eap_gpsk_derive_keys_sha256(const u8 *psk, size_t psk_len, + const u8 *seed, size_t seed_len, + u8 *msk, u8 *emsk, + u8 *sk, size_t *sk_len) +{ +#define EAP_GPSK_SK_LEN_SHA256 SHA256_MAC_LEN +#define EAP_GPSK_PK_LEN_SHA256 SHA256_MAC_LEN + u8 kdf_out[EAP_MSK_LEN + EAP_EMSK_LEN + EAP_GPSK_SK_LEN_SHA256 + + EAP_GPSK_PK_LEN_SHA256]; + + /* + * inputString = RAND_Peer || ID_Peer || RAND_Server || ID_Server + * (= seed) + * KS = 32, PL = psk_len, CSuite_Sel = 0x00000000 0x0002 + * MK = GKDF-32 (PSK[0..31], PL || PSK || CSuite_Sel || inputString) + * MSK = GKDF-160 (MK, inputString)[0..63] + * EMSK = GKDF-160 (MK, inputString)[64..127] + * SK = GKDF-160 (MK, inputString)[128..159] + * zero = 0x00 || 0x00 || ... || 0x00 (32 times) + * Method-ID = GKDF-16 (zero, "Method ID" || EAP_Method_Type || + * CSuite_Sel || inputString) + */ - wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: PK", - pos, EAP_GPSK_PK_LEN_SHA256); - os_memcpy(pk, pos, EAP_GPSK_PK_LEN_SHA256); - *pk_len = EAP_GPSK_PK_LEN_SHA256; + *sk_len = EAP_GPSK_SK_LEN_SHA256; - return 0; + return eap_gpsk_derive_keys_helper(EAP_GPSK_CIPHER_SHA256, + kdf_out, sizeof(kdf_out), + psk, psk_len, seed, seed_len, + msk, emsk, sk, *sk_len, + NULL, 0); } #endif /* EAP_GPSK_SHA256 */ /** * eap_gpsk_derive_keys - Derive EAP-GPSK keys - * @psk: Pre-shared key (at least 16 bytes if AES is used) + * @psk: Pre-shared key * @psk_len: Length of psk in bytes * @vendor: CSuite/Vendor * @specifier: CSuite/Specifier - * @rand_client: 32-byte RAND_Client + * @rand_peer: 32-byte RAND_Peer * @rand_server: 32-byte RAND_Server - * @id_client: ID_Client - * @id_client_len: Length of ID_Client + * @id_peer: ID_Peer + * @id_peer_len: Length of ID_Peer * @id_server: ID_Server * @id_server_len: Length of ID_Server * @msk: Buffer for 64-byte MSK * @emsk: Buffer for 64-byte EMSK * @sk: Buffer for SK (at least EAP_GPSK_MAX_SK_LEN bytes) * @sk_len: Buffer for returning length of SK - * @pk: Buffer for SK (at least EAP_GPSK_MAX_PK_LEN bytes) + * @pk: Buffer for PK (at least EAP_GPSK_MAX_PK_LEN bytes) * @pk_len: Buffer for returning length of PK * Returns: 0 on success, -1 on failure */ int eap_gpsk_derive_keys(const u8 *psk, size_t psk_len, int vendor, int specifier, - const u8 *rand_client, const u8 *rand_server, - const u8 *id_client, size_t id_client_len, + const u8 *rand_peer, const u8 *rand_server, + const u8 *id_peer, size_t id_peer_len, const u8 *id_server, size_t id_server_len, u8 *msk, u8 *emsk, u8 *sk, size_t *sk_len, u8 *pk, size_t *pk_len) @@ -318,8 +303,8 @@ wpa_hexdump_key(MSG_DEBUG, "EAP-GPSK: PSK", psk, psk_len); - /* Seed = RAND_Client || ID_Client || RAND_Server || ID_Server */ - seed_len = 2 * EAP_GPSK_RAND_LEN + id_server_len + id_client_len; + /* Seed = RAND_Peer || ID_Peer || RAND_Server || ID_Server */ + seed_len = 2 * EAP_GPSK_RAND_LEN + id_server_len + id_peer_len; seed = os_malloc(seed_len); if (seed == NULL) { wpa_printf(MSG_DEBUG, "EAP-GPSK: Failed to allocate memory " @@ -328,10 +313,10 @@ } pos = seed; - os_memcpy(pos, rand_client, EAP_GPSK_RAND_LEN); + os_memcpy(pos, rand_peer, EAP_GPSK_RAND_LEN); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 7 00:28:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32805106567C; Fri, 7 Mar 2008 00:28: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 E39CC106566B for ; Fri, 7 Mar 2008 00:28:35 +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 D2F508FC1B for ; Fri, 7 Mar 2008 00:28:35 +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 m270SZwa061977 for ; Fri, 7 Mar 2008 00:28:35 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m270SZ0A061975 for perforce@freebsd.org; Fri, 7 Mar 2008 00:28:35 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 7 Mar 2008 00:28:35 GMT Message-Id: <200803070028.m270SZ0A061975@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 137039 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, 07 Mar 2008 00:28:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=137039 Change 137039 by kmacy@pandemonium:kmacy:iwarp on 2008/03/07 00:28:21 make changes to help identify use after free Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#8 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#5 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#14 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#8 (text+ko) ==== @@ -109,13 +109,13 @@ unsigned short kbuf_noinval; unsigned short kbuf_idx; /* which HW buffer is used for kbuf */ struct ddp_gather_list *ubuf; + int user_ddp_pending; unsigned int ubuf_nppods; /* # of page pods for buffer 1 */ unsigned int ubuf_tag; unsigned int ubuf_ddp_ready; + int cancel_ubuf; int get_tcb_count; unsigned int kbuf_posted; - int cancel_ubuf; - int user_ddp_pending; unsigned int kbuf_nppods[NUM_DDP_KBUF]; unsigned int kbuf_tag[NUM_DDP_KBUF]; struct ddp_gather_list *kbuf[NUM_DDP_KBUF]; /* kernel buffer for DDP prefetch */ ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#5 (text+ko) ==== @@ -36,8 +36,8 @@ struct toepcb { struct toedev *tp_toedev; struct l2t_entry *tp_l2t; - pr_ctloutput_t *tp_ctloutput; unsigned int tp_tid; + int tp_wr_max; int tp_wr_avail; int tp_wr_unacked; @@ -66,7 +66,7 @@ bus_dma_tag_t tp_tx_dmat; bus_dma_tag_t tp_rx_dmat; bus_dmamap_t tp_dmamap; - + LIST_ENTRY(toepcb) synq_entry; struct mbuf_head wr_list; struct mbuf_head out_of_order_queue; ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_tom.c#14 (text+ko) ==== @@ -162,7 +162,7 @@ { struct toepcb *toep; - toep = malloc(sizeof(struct toepcb), M_DEVBUF, M_NOWAIT|M_ZERO); + toep = malloc(sizeof(struct toepcb), M_CXGB, M_NOWAIT|M_ZERO); if (toep == NULL) return (NULL); @@ -188,7 +188,7 @@ toepcb_release(struct toepcb *toep) { if (toep->tp_refcount == 1) { - free(toep, M_DEVBUF); + free(toep, M_CXGB); return; } atomic_add_acq_int(&toep->tp_refcount, -1); @@ -1057,8 +1057,8 @@ { struct t3c_data *td = T3C_DATA (tdev); struct toe_tid_entry *p = &td->tid_maps.tid_tab[tid]; - - printf("queuing tid release\n"); + + CTR0(KTR_TOM, "queuing tid release\n"); mtx_lock(&td->tid_release_lock); p->ctx = td->tid_release_list; From owner-p4-projects@FreeBSD.ORG Fri Mar 7 01:01:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE139106567A; Fri, 7 Mar 2008 01:01: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 8E0111065673 for ; Fri, 7 Mar 2008 01:01:13 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7CB638FC12 for ; Fri, 7 Mar 2008 01:01:13 +0000 (UTC) (envelope-from thompsa@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 m2711D1f072073 for ; Fri, 7 Mar 2008 01:01:13 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2711De8072071 for perforce@freebsd.org; Fri, 7 Mar 2008 01:01:13 GMT (envelope-from thompsa@freebsd.org) Date: Fri, 7 Mar 2008 01:01:13 GMT Message-Id: <200803070101.m2711De8072071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 137041 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, 07 Mar 2008 01:01:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=137041 Change 137041 by thompsa@thompsa_peeps on 2008/03/07 01:00:26 Gah, save scheduling the taskqueue. Affected files ... .. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#21 edit Differences ... ==== //depot/projects/wifi/sys/dev/wpi/if_wpi.c#21 (text+ko) ==== @@ -3573,7 +3573,12 @@ struct ifnet *ifp = ic->ic_ifp; struct wpi_softc *sc = ifp->if_softc; - wpi_queue_cmd(sc, WPI_SET_CHAN, 0, WPI_QUEUE_NORMAL); + /* + * Only need to set the channel in Monitor mode. AP scanning and auth + * are already taken care of by their respective firmware commands. + */ + if (ic->ic_opmode == IEEE80211_M_MONITOR) + wpi_queue_cmd(sc, WPI_SET_CHAN, 0, WPI_QUEUE_NORMAL); } /** @@ -3667,17 +3672,10 @@ break; case WPI_SET_CHAN: - /* - * Only need to set the channel in Monitor mode. AP scanning - * and auth are already taken care of by their respective - * firmware commands. - */ - if (ic->ic_opmode == IEEE80211_M_MONITOR) { - error = wpi_config(sc); - if (error != 0) - device_printf(sc->sc_dev, - "error %d settting channel\n", error); - } + error = wpi_config(sc); + if (error != 0) + device_printf(sc->sc_dev, + "error %d settting channel\n", error); break; case WPI_AUTH: From owner-p4-projects@FreeBSD.ORG Fri Mar 7 01:22:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F983106566C; Fri, 7 Mar 2008 01:22:35 +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 4E844106567B for ; Fri, 7 Mar 2008 01:22:35 +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 3D8E08FC15 for ; Fri, 7 Mar 2008 01:22:35 +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 m271MZ54073854 for ; Fri, 7 Mar 2008 01:22:35 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m271MZ9H073852 for perforce@freebsd.org; Fri, 7 Mar 2008 01:22:35 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 01:22:35 GMT Message-Id: <200803070122.m271MZ9H073852@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 137042 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, 07 Mar 2008 01:22:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=137042 Change 137042 by sam@sam_ebb on 2008/03/07 01:22:20 add IEEE80211_IOC_STA_VLAN to get+set the vlan tag; by convention mac address 0 is the bss node Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#36 edit .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#13 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#36 (text+ko) ==== @@ -67,6 +67,7 @@ (IFNET_IS_UP_RUNNING(vap->iv_ifp) && \ (_vap)->iv_roaming == IEEE80211_ROAMING_AUTO) +static const uint8_t zerobssid[IEEE80211_ADDR_LEN]; static struct ieee80211_channel *findchannel(struct ieee80211com *, int ieee, int mode); @@ -695,6 +696,31 @@ return error; } +static __noinline int +ieee80211_ioctl_getstavlan(struct ieee80211vap *vap, struct ieee80211req *ireq) +{ + struct ieee80211_node *ni; + struct ieee80211req_sta_vlan vlan; + int error; + + if (ireq->i_len != sizeof(vlan)) + return EINVAL; + error = copyin(ireq->i_data, &vlan, sizeof(vlan)); + if (error != 0) + return error; + if (!IEEE80211_ADDR_EQ(vlan.sv_macaddr, zerobssid)) { + ni = ieee80211_find_vap_node(&vap->iv_ic->ic_sta, vap, + vlan.sv_macaddr); + if (ni == NULL) + return ENOENT; + } else + ni = ieee80211_ref_node(vap->iv_bss); + vlan.sv_vlan = ni->ni_vlan; + error = copyout(&vlan, ireq->i_data, sizeof(vlan)); + ieee80211_free_node(ni); + return error; +} + /* * When building the kernel with -O2 on the i386 architecture, gcc * seems to want to inline this function into ieee80211_ioctl() @@ -1027,6 +1053,9 @@ } else ireq->i_val = 0; break; + case IEEE80211_IOC_STA_VLAN: + error = ieee80211_ioctl_getstavlan(vap, ireq); + break; default: error = EINVAL; break; @@ -2390,6 +2419,30 @@ #undef IEEE80211_IOC_SCAN_FLAGS } +static __noinline int +ieee80211_ioctl_setstavlan(struct ieee80211vap *vap, struct ieee80211req *ireq) +{ + struct ieee80211_node *ni; + struct ieee80211req_sta_vlan vlan; + int error; + + if (ireq->i_len != sizeof(vlan)) + return EINVAL; + error = copyin(ireq->i_data, &vlan, sizeof(vlan)); + if (error != 0) + return error; + if (!IEEE80211_ADDR_EQ(vlan.sv_macaddr, zerobssid)) { + ni = ieee80211_find_vap_node(&vap->iv_ic->ic_sta, vap, + vlan.sv_macaddr); + if (ni == NULL) + return ENOENT; + } else + ni = ieee80211_ref_node(vap->iv_bss); + ni->ni_vlan = vlan.sv_vlan; + ieee80211_free_node(ni); + return error; +} + static int isvap11g(const struct ieee80211vap *vap) { @@ -2409,7 +2462,6 @@ static __noinline int ieee80211_ioctl_set80211(struct ieee80211vap *vap, u_long cmd, struct ieee80211req *ireq) { - static const uint8_t zerobssid[IEEE80211_ADDR_LEN]; struct ieee80211com *ic = vap->iv_ic; int error; const struct ieee80211_authenticator *auth; @@ -3029,6 +3081,9 @@ if (isvapht(vap)) error = ERESTART; break; + case IEEE80211_IOC_STA_VLAN: + error = ieee80211_ioctl_setstavlan(vap, ireq); + break; default: error = EINVAL; break; ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#13 (text+ko) ==== @@ -474,6 +474,14 @@ int csa_count; /* beacon count to switch */ }; +/* + * Get/set per-station vlan tag. + */ +struct ieee80211req_sta_vlan { + uint8_t sv_macaddr[IEEE80211_ADDR_LEN]; + uint16_t sv_vlan; +}; + #ifdef __FreeBSD__ /* * FreeBSD-style ioctls. @@ -593,6 +601,7 @@ #define IEEE80211_IOC_REGDOMAIN 106 /* regulatory domain info */ #define IEEE80211_IOC_ROAM 107 /* roaming params en masse */ #define IEEE80211_IOC_TXPARAMS 108 /* tx parameters */ +#define IEEE80211_IOC_STA_VLAN 109 /* per-station vlan tag */ /* * Parameters for controlling a scan requested with From owner-p4-projects@FreeBSD.ORG Fri Mar 7 05:07:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1DEF31065674; Fri, 7 Mar 2008 05:07: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 D231E1065676 for ; Fri, 7 Mar 2008 05:07:27 +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 C16C88FC25 for ; Fri, 7 Mar 2008 05:07:27 +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 m2757Rff096068 for ; Fri, 7 Mar 2008 05:07:27 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2757Rc2096066 for perforce@freebsd.org; Fri, 7 Mar 2008 05:07:27 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 7 Mar 2008 05:07:27 GMT Message-Id: <200803070507.m2757Rc2096066@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 137051 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, 07 Mar 2008 05:07:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=137051 Change 137051 by kmacy@kmacy:entropy:iwarp on 2008/03/07 05:07:04 fix race between shutting down offload and ddp pending Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#20 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#16 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#20 (text+ko) ==== @@ -1064,6 +1064,7 @@ struct tcpcb *tp = toep->tp_tp; struct toedev *tdev = toep->tp_toedev; struct t3cdev *cdev; + struct socket *so; unsigned int tid = toep->tp_tid; if (!tdev) @@ -1093,8 +1094,21 @@ toep->tp_tp = NULL; if (tp) { INP_LOCK_ASSERT(tp->t_inpcb); + so = tp->t_inpcb->inp_socket; + + /* + * cancel any offloaded reads + * + */ + SOCKBUF_LOCK(&so->so_rcv); tp->t_toe = NULL; tp->t_flags &= ~TF_TOE; + if (toep->tp_ddp_state.user_ddp_pending) { + t3_cancel_ubuf(toep); + toep->tp_ddp_state.user_ddp_pending = 0; + } + sorwakeup_locked(so); + } if (toep->tp_state == TCPS_SYN_SENT) { ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#16 (text+ko) ==== @@ -578,22 +578,29 @@ return (err); SOCKBUF_LOCK(&so->so_rcv); + if ((tp->t_flags & TF_TOE) == 0) { + SOCKBUF_UNLOCK(&so->so_rcv); + err = EAGAIN; + goto done_unlocked; + } + p->user_ddp_pending = 0; restart: + if ((tp->t_flags & TF_TOE) == 0) { + SOCKBUF_UNLOCK(&so->so_rcv); + err = EAGAIN; + goto done_unlocked; + } + len = uio->uio_resid; m = so->so_rcv.sb_mb; target = (flags & MSG_WAITALL) ? len : so->so_rcv.sb_lowat; user_ddp_ok = p->ubuf_ddp_ready; p->cancel_ubuf = 0; - + if (len == 0) goto done; -#if 0 - while (m && m->m_len == 0) { - so->so_rcv.sb_mb = m_free(m); - m = so->so_rcv.sb_mb; - } -#endif + if (m) goto got_mbuf; @@ -774,6 +781,12 @@ if (avail != (resid - uio->uio_resid)) printf("didn't copy all bytes :-/ avail=%d offset=%d pktlen=%d resid=%d uio_resid=%d copied=%d copied_unacked=%d is_ddp(m)=%d\n", avail, offset, m->m_pkthdr.len, resid, uio->uio_resid, copied, copied_unacked, is_ddp(m)); + + if ((tp->t_flags & TF_TOE) == 0) { + SOCKBUF_UNLOCK(&so->so_rcv); + err = EAGAIN; + goto done_unlocked; + } } copied += avail; @@ -839,6 +852,11 @@ goto restart; done: + if ((tp->t_flags & TF_TOE) == 0) { + SOCKBUF_UNLOCK(&so->so_rcv); + err = EAGAIN; + goto done_unlocked; + } /* * If we can still receive decide what to do in preparation for the * next receive. Note that RCV_SHUTDOWN is set if the connection @@ -846,8 +864,6 @@ */ if (__predict_true((so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED)) == 0)) { if (p->user_ddp_pending) { - SOCKBUF_UNLOCK(&so->so_rcv); - SOCKBUF_LOCK(&so->so_rcv); user_ddp_ok = 0; t3_cancel_ubuf(toep); if (so->so_rcv.sb_mb) { @@ -882,7 +898,7 @@ #endif SOCKBUF_UNLOCK(&so->so_rcv); done_unlocked: - if (copied_unacked) { + if (copied_unacked && (tp->t_flags & TF_TOE)) { INP_LOCK(inp); t3_cleanup_rbuf(tp, copied_unacked); INP_UNLOCK(inp); @@ -915,7 +931,6 @@ * - iovcnt is 1 * */ - if ((tp->t_flags & TF_TOE) && uio && ((flags & (MSG_WAITALL|MSG_OOB|MSG_PEEK|MSG_DONTWAIT)) == 0) && (uio->uio_iovcnt == 1) && (mp0 == NULL)) { tdev = TOE_DEV(so); @@ -924,6 +939,8 @@ if ((uio->uio_resid > zcopy_thres) && (uio->uio_iovcnt == 1) && zcopy_enabled) { + CTR3(KTR_CXGB, "cxgb_soreceive: t_flags=0x%x flags=0x%x uio_resid=%d", + tp->t_flags, flags, uio->uio_resid); rv = t3_soreceive(so, flagsp, uio); if (rv != EAGAIN) return (rv); From owner-p4-projects@FreeBSD.ORG Fri Mar 7 09:17:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 051501065673; Fri, 7 Mar 2008 09:17: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 B83331065671 for ; Fri, 7 Mar 2008 09:17: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 9B9348FC1A for ; Fri, 7 Mar 2008 09:17: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 m279HIoC020381 for ; Fri, 7 Mar 2008 09:17:18 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m279HISY020379 for perforce@freebsd.org; Fri, 7 Mar 2008 09:17:18 GMT (envelope-from rrs@cisco.com) Date: Fri, 7 Mar 2008 09:17:18 GMT Message-Id: <200803070917.m279HISY020379@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 137066 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, 07 Mar 2008 09:17:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=137066 Change 137066 by rrs@rrs-mips2-jnpr on 2008/03/07 09:17:12 Changing to a table driven lookup seems to improve performance on interrupts a bit. I also add a fls64() as well. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/libkern/fls.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/libkern/fls.c#2 (text+ko) ==== @@ -35,14 +35,84 @@ /* * Find Last Set bit */ + +uint8_t fls_mask[256] = { + 0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 +}; + int -fls(int mask) +fls(int m) { - int bit; + int val; + register uint32_t mask = m; + if (mask < 0x00000100) { + val = mask & 0x000000ff; + return (fls_mask[val]); + } + if (mask > 0x00ffffff) { + val = (mask >> 24) & 0x000000ff; + return (fls_mask[val] + 24); + } + if (mask > 0x0000ffff) { + val = (mask >> 16) & 0x000000ff; + return (fls_mask[val] + 16); + } + val = (mask >> 8) & 0x000000ff; + return (fls_mask[val] + 8); +} - if (mask == 0) - return (0); - for (bit = 1; mask != 1; bit++) - mask = (unsigned int)mask >> 1; - return (bit); +int +fls64(uint64_t mask) +{ + int val; + if(mask <= 0x00000000ffffffff) { + val = mask & 0x00000000ffffffff; + return(fls(val)); + } + if(mask > 0x00ffffffffffffff) { + val = (mask >> 56) & 0x000000ff; + return (fls_mask[val] + 56); + } + if (mask > 0x0000ffffffffffff) { + val = (mask >> 48) & 0x000000ff; + return (fls_mask[val] + 48); + } + if (mask > 0x000000ffffffffff) { + val = (mask >> 40) & 0x000000ff; + return (fls_mask[val] + 40); + } + val = (mask >> 32) & 0x000000ff; + return (fls_mask[val] + 32); } + From owner-p4-projects@FreeBSD.ORG Fri Mar 7 09:18:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48DA81065671; Fri, 7 Mar 2008 09:18: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 08878106566B for ; Fri, 7 Mar 2008 09:18:20 +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 D14F38FC12 for ; Fri, 7 Mar 2008 09:18:19 +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 m279IJ8B020422 for ; Fri, 7 Mar 2008 09:18:19 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m279IJU0020420 for perforce@freebsd.org; Fri, 7 Mar 2008 09:18:19 GMT (envelope-from rrs@cisco.com) Date: Fri, 7 Mar 2008 09:18:19 GMT Message-Id: <200803070918.m279IJU0020420@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 137067 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, 07 Mar 2008 09:18:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=137067 Change 137067 by rrs@rrs-mips2-jnpr on 2008/03/07 09:17:52 Add the fls64 in as well. Not sure where the inline comes from (maybe assembly in some architectures). Affected files ... .. //depot/projects/mips2-jnpr/src/sys/sys/libkern.h#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/sys/libkern.h#2 (text+ko) ==== @@ -80,6 +80,7 @@ #endif #ifndef HAVE_INLINE_FLS int fls(int); +int fls64(uint64_t); #endif #ifndef HAVE_INLINE_FLSL int flsl(long); From owner-p4-projects@FreeBSD.ORG Fri Mar 7 14:19:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CFD2610657CE; Fri, 7 Mar 2008 14:19: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 8C7BD1065742 for ; Fri, 7 Mar 2008 14:19:21 +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 780AA8FC17 for ; Fri, 7 Mar 2008 14:19:21 +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 1714C1A4D8D; Fri, 7 Mar 2008 06:18:51 -0800 (PST) From: John Baldwin To: "Randall R. Stewart" Date: Fri, 7 Mar 2008 09:17:37 -0500 User-Agent: KMail/1.9.7 References: <200803061950.m26JoDXx034770@repoman.freebsd.org> In-Reply-To: <200803061950.m26JoDXx034770@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803070917.37450.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 137019 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, 07 Mar 2008 14:19:22 -0000 On Thursday 06 March 2008 02:50:13 pm Randall R. Stewart wrote: > http://perforce.freebsd.org/chv.cgi?CH=137019 > > Change 137019 by rrs@rrs-mips2-jnpr on 2008/03/06 19:49:46 > > The ast was in the wrong place causing all kinds of pain. You need to disable interrupts before checking for ASTPENDING though. Something like this: 1: disable interrupts check TDF_NEEDRESCHED | TDF_ASTPENDING if not set, branch to 2f enable interrupts call ast branch 1b 2: set exception level > > Affected files ... > > .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#21 edit > > Differences ... > > ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#21 (text+ko) > ==== > > @@ -392,12 +392,6 @@ > jalr k0 > sw a3, STAND_RA_OFFSET + KERN_REG_SIZE(sp) # for debugging > > -/* .set at*/ > - > -/* Should I DO the AST stuff here? */ > - > -/* .set noat*/ > - > RESTORE_CPU # v0 contains the return address. > sync > eret > @@ -497,14 +491,14 @@ > * Restore user registers and return. > * First disable interrupts and set exeption level. > */ > + DO_AST > + > mtc0 zero, COP_0_STATUS_REG # disable int > ITLBNOPFIX > li v0, SR_EXL > mtc0 v0, COP_0_STATUS_REG # set exeption level > ITLBNOPFIX > > - DO_AST > - > /* > * The use of k1 for storing the PCB pointer must be done only > * after interrupts are disabled. Otherwise it will get overwritten -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Mar 7 17:41:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 433361065683; Fri, 7 Mar 2008 17:41: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 034FF1065681 for ; Fri, 7 Mar 2008 17:41:24 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E53688FC20 for ; Fri, 7 Mar 2008 17:41:23 +0000 (UTC) (envelope-from piso@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 m27HfNb0073777 for ; Fri, 7 Mar 2008 17:41:23 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27HfNVj073775 for perforce@freebsd.org; Fri, 7 Mar 2008 17:41:23 GMT (envelope-from piso@freebsd.org) Date: Fri, 7 Mar 2008 17:41:23 GMT Message-Id: <200803071741.m27HfNVj073775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 137096 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, 07 Mar 2008 17:41:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=137096 Change 137096 by piso@piso_ferret on 2008/03/07 17:40:24 Don't pass the entire packet to ProtoAliasIn & ProtoAliasOut. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#66 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#66 (text+ko) ==== @@ -264,8 +264,11 @@ static int IcmpAliasOut2(struct libalias *, struct ip *); static int IcmpAliasOut(struct libalias *, struct ip *, int create); -static int ProtoAliasIn(struct libalias *, struct ip *); -static int ProtoAliasOut(struct libalias *, struct ip *, int create); +static int ProtoAliasIn(struct libalias *la, struct in_addr ip_src, + struct in_addr *ip_dst, u_char ip_p, u_short *ip_sum); +static int ProtoAliasOut(struct libalias *la, struct in_addr *ip_src, + struct in_addr ip_dst, u_char ip_p, u_short *ip_sum, + int create); static int UdpAliasIn(struct libalias *, struct ip *); static int UdpAliasOut(struct libalias *, struct ip *, int create); @@ -642,7 +645,8 @@ // XXX ip free static int -ProtoAliasIn(struct libalias *la, struct ip *pip) +ProtoAliasIn(struct libalias *la, struct in_addr ip_src, + struct in_addr *ip_dst, u_char ip_p, u_short *ip_sum) { /* Handle incoming IP packets. The @@ -657,16 +661,16 @@ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); - lnk = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p); + lnk = FindProtoIn(la, ip_src, *ip_dst, ip_p); if (lnk != NULL) { struct in_addr original_address; original_address = GetOriginalAddress(lnk); /* Restore original IP address */ - DifferentialChecksum(&pip->ip_sum, - &original_address, &pip->ip_dst, 2); - pip->ip_dst = original_address; + DifferentialChecksum(ip_sum, + &original_address, ip_dst, 2); + *ip_dst = original_address; return (PKT_ALIAS_OK); } @@ -675,7 +679,8 @@ // XXX ip free static int -ProtoAliasOut(struct libalias *la, struct ip *pip, int create) +ProtoAliasOut(struct libalias *la, struct in_addr *ip_src, + struct in_addr ip_dst, u_char ip_p, u_short *ip_sum, int create) { /* Handle outgoing IP packets. The @@ -691,16 +696,16 @@ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); - lnk = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p); + lnk = FindProtoOut(la, *ip_src, ip_dst, ip_p); if (lnk != NULL) { struct in_addr alias_address; alias_address = GetAliasAddress(lnk); /* Change source address */ - DifferentialChecksum(&pip->ip_sum, - &alias_address, &pip->ip_src, 2); - pip->ip_src = alias_address; + DifferentialChecksum(ip_sum, + &alias_address, ip_src, 2); + *ip_src = alias_address; return (PKT_ALIAS_OK); } @@ -1283,11 +1288,13 @@ if (error == 0) iresult = PKT_ALIAS_OK; else - iresult = ProtoAliasIn(la, pip); + iresult = ProtoAliasIn(la, pip->ip_src, + &pip->ip_dst, pip->ip_p, &pip->ip_sum); } break; default: - iresult = ProtoAliasIn(la, pip); + iresult = ProtoAliasIn(la, pip->ip_src, &pip->ip_dst, + pip->ip_p, &pip->ip_sum); break; } @@ -1424,11 +1431,13 @@ if (error == 0) iresult = PKT_ALIAS_OK; else - iresult = ProtoAliasOut(la, pip, create); + iresult = ProtoAliasOut(la, &pip->ip_src, + pip->ip_dst, pip->ip_p, &pip->ip_sum, create); } break; default: - iresult = ProtoAliasOut(la, pip, create); + iresult = ProtoAliasOut(la, &pip->ip_src, + pip->ip_dst, pip->ip_p, &pip->ip_sum, create); break; } } else { From owner-p4-projects@FreeBSD.ORG Fri Mar 7 18:17:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AB501065675; Fri, 7 Mar 2008 18:17: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 39E831065671 for ; Fri, 7 Mar 2008 18:17:03 +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 27DD48FC12 for ; Fri, 7 Mar 2008 18:17:03 +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 m27IH333076340 for ; Fri, 7 Mar 2008 18:17:03 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27IH3XL076338 for perforce@freebsd.org; Fri, 7 Mar 2008 18:17:03 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 18:17:03 GMT Message-Id: <200803071817.m27IH3XL076338@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 137099 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, 07 Mar 2008 18:17:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=137099 Change 137099 by sam@sam_ebb on 2008/03/07 18:17:01 consolidate and extend debug msgs for mlme ops; in particular add them to the state msgs as some cause subtle state changes that don't go through the normal state machine Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#37 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#37 (text+ko) ==== @@ -1184,6 +1184,47 @@ }; static void +mlmedebug(struct ieee80211_node *ni, int op, int reason) +{ +#ifdef IEEE80211_DEBUG + static const struct { + int mask; + const char *opstr; + } ops[] = { + { 0, "op#0" }, + { IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_ASSOC, "assoc" }, + { IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_ASSOC, "disassoc" }, + { IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_AUTH, "deauth" }, + { IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_AUTH, "authorize" }, + { IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_AUTH, "unauthorize" }, + }; + struct ieee80211vap *vap = ni->ni_vap; + + if (op == IEEE80211_MLME_AUTH) { + IEEE80211_NOTE(vap, IEEE80211_MSG_IOCTL | IEEE80211_MSG_STATE | + IEEE80211_MSG_AUTH, ni, + "station authenticate %s via MLME (reason %d)", + reason == IEEE80211_STATUS_SUCCESS ? "ACCEPT" : "REJECT", + reason); + } else if (!(IEEE80211_MLME_ASSOC <= op && op <= IEEE80211_MLME_AUTH)) { + IEEE80211_NOTE(vap, IEEE80211_MSG_ANY, ni, + "unknown MLME request %d (reason %d)", op, reason); + } else if (reason == IEEE80211_STATUS_SUCCESS) { + IEEE80211_NOTE(vap, ops[op].mask, ni, + "station %s via MLME", ops[op].opstr); + } else { + IEEE80211_NOTE(vap, ops[op].mask, ni, + "station %s via MLME (reason %d)", ops[op].opstr, reason); + } +#endif /* IEEE80211_DEBUG */ +} + +static void domlme(void *arg, struct ieee80211_node *ni) { struct mlmeop *mop = arg; @@ -1198,14 +1239,11 @@ */ if (ni->ni_associd == 0) return; + mlmedebug(ni, mop->op, mop->reason); if (mop->op == IEEE80211_MLME_DEAUTH) { - IEEE80211_NOTE(vap, IEEE80211_MSG_IOCTL | IEEE80211_MSG_AUTH, - ni, "%s", "station deauth via MLME"); IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DEAUTH, mop->reason); } else { - IEEE80211_NOTE(vap, IEEE80211_MSG_IOCTL | IEEE80211_MSG_ASSOC, - ni, "%s", "station disassoc via MLME"); IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DISASSOC, mop->reason); } @@ -1227,6 +1265,7 @@ case IEEE80211_MLME_DEAUTH: switch (vap->iv_opmode) { case IEEE80211_M_STA: + mlmedebug(vap->iv_bss, op, reason); /* XXX not quite right */ ieee80211_new_state(vap, IEEE80211_S_INIT, reason); break; @@ -1260,6 +1299,7 @@ break; } #endif + mlmedebug(vap->iv_bss, op, reason); ni = ieee80211_ref_node(vap->iv_bss); IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DEAUTH, reason); @@ -1279,10 +1319,7 @@ } ni = ieee80211_find_vap_node(&ic->ic_sta, vap, mac); if (ni != NULL) { - IEEE80211_NOTE(vap, - IEEE80211_MSG_IOCTL | IEEE80211_MSG_AUTH, - ni, "station %sauthorize via MLME", - op == IEEE80211_MLME_AUTHORIZE ? "" : "un"); + mlmedebug(ni, op, reason); if (op == IEEE80211_MLME_AUTHORIZE) ieee80211_node_authorize(ni); else @@ -1298,13 +1335,10 @@ } ni = ieee80211_find_vap_node(&ic->ic_sta, vap, mac); if (ni != NULL) { + mlmedebug(ni, op, reason); if (reason == IEEE80211_STATUS_SUCCESS) { IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, 2); - IEEE80211_NOTE(vap, - IEEE80211_MSG_IOCTL | IEEE80211_MSG_AUTH, - ni, "%s", - "station authenticate ACCEPT via MLME"); /* * For shared key auth, just continue the * exchange. Otherwise when 802.1x is not in @@ -1318,10 +1352,6 @@ vap->iv_stats.is_rx_acl++; ieee80211_send_error(ni, ni->ni_macaddr, IEEE80211_FC0_SUBTYPE_AUTH, 2|(reason<<16)); - IEEE80211_NOTE(vap, - IEEE80211_MSG_IOCTL | IEEE80211_MSG_AUTH, - ni, "station authenticate REJECT via MLME, " - "reason %d", reason); ieee80211_node_leave(ni); } ieee80211_free_node(ni); @@ -1379,6 +1409,7 @@ ieee80211_scan_iterate(vap, mlmelookup, &lookup); if (lookup.se == NULL) return ENOENT; + mlmedebug(vap->iv_bss, IEEE80211_MLME_ASSOC, 0); if (!ieee80211_sta_join(vap, lookup.se)) return EIO; /* XXX unique but could be better */ return 0; From owner-p4-projects@FreeBSD.ORG Fri Mar 7 19:42:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D0301065674; Fri, 7 Mar 2008 19:42: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 D0ABA106566C for ; Fri, 7 Mar 2008 19:42:37 +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 A56F08FC17 for ; Fri, 7 Mar 2008 19:42:37 +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 m27Jgbck080898 for ; Fri, 7 Mar 2008 19:42:37 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27JgaqD080896 for perforce@freebsd.org; Fri, 7 Mar 2008 19:42:36 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 19:42:36 GMT Message-Id: <200803071942.m27JgaqD080896@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 137105 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, 07 Mar 2008 19:42:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=137105 Change 137105 by sam@sam_ebb on 2008/03/07 19:41:36 count sta vaps correctly Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#41 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#41 (text+ko) ==== @@ -910,8 +910,11 @@ } ic->ic_opmode = ic_opmode; - if (opmode != IEEE80211_M_WDS) + if (opmode != IEEE80211_M_WDS) { sc->sc_nvaps++; + if (opmode == IEEE80211_M_STA) + sc->sc_nstavaps++; + } switch (ic_opmode) { case IEEE80211_M_IBSS: sc->sc_opmode = HAL_M_IBSS; From owner-p4-projects@FreeBSD.ORG Fri Mar 7 19:51:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A1BD106567B; Fri, 7 Mar 2008 19:51: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 CE6021065676 for ; Fri, 7 Mar 2008 19:51:49 +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 BD0208FC28 for ; Fri, 7 Mar 2008 19:51:49 +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 m27Jpn09081230 for ; Fri, 7 Mar 2008 19:51:49 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27JpnMV081228 for perforce@freebsd.org; Fri, 7 Mar 2008 19:51:49 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 19:51:49 GMT Message-Id: <200803071951.m27JpnMV081228@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 137106 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, 07 Mar 2008 19:51:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=137106 Change 137106 by sam@sam_ebb on 2008/03/07 19:51:41 Bandaid vap teardown races. On vap detach we block/reject use from above by marking the ifnet OACTIVE (to block xmit) and (hold breath for evil back) clearing if_softc so calls through if_init and if_ioctl can be ignored/rejected. This fixes destroy of a vap being controlled by wpa_supplicant--previously we would clock the vap to the INIT state and wpa_supplicant would wakeup and immediately try to scan which raced against the teardown. The better way to deal with this would seem to be destroying the ifnet before the net80211 state so nothing is visible to user space but that is hard because much code assumes this does not happen and changing that assumption may be costly (e.g. additional checks in fast paths). Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211.c#28 edit .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#38 edit .. //depot/projects/vap/sys/net80211/ieee80211_proto.c#23 edit .. //depot/projects/vap/sys/net80211/ieee80211_proto.h#17 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211.c#28 (text+ko) ==== @@ -462,7 +462,10 @@ } /* - * Tear down vap state prior to reclaiming the ifnet. + * Tear down vap state and reclaim the ifnet. + * The driver is assumed to have prepared for + * this; e.g. by turning off interrupts for the + * underlying device. */ void ieee80211_vap_detach(struct ieee80211vap *vap) @@ -474,17 +477,24 @@ __func__, ieee80211_opmode_name[vap->iv_opmode], ic->ic_ifp->if_xname); + IEEE80211_LOCK(ic); + /* block traffic from above */ + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + /* + * Evil hack. Clear the backpointer from the ifnet to the + * vap so any requests from above will return an error or + * be ignored. In particular this short-circuits requests + * by the bridge to turn off promiscuous mode as a result + * of calling ether_ifdetach. + */ + ifp->if_softc = NULL; /* - * Mark interface down so we ignore calls by the bridge - * to turn off promiscuous mode as a result of calling - * ether_ifdetach. + * Stop the vap before detaching the ifnet. Ideally we'd + * do this in the other order so the ifnet is inaccessible + * while we cleanup internal state but that is hard. */ - ifp->if_flags &= ~IFF_UP; - ieee80211_stop(vap); - bpfdetach(ifp); - ether_ifdetach(ifp); + ieee80211_stop_locked(vap); - IEEE80211_LOCK(ic); /* XXX accumulate iv_stats in ic_stats? */ TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next); ieee80211_syncflag_locked(ic, IEEE80211_F_WME); @@ -497,6 +507,10 @@ ieee80211_syncifflag_locked(ic, IFF_ALLMULTI); IEEE80211_UNLOCK(ic); + /* XXX can't hold com lock */ + /* NB: bpfattach is called by ether_ifdetach and claims all taps */ + ether_ifdetach(ifp); + ifmedia_removeall(&vap->iv_media); ieee80211_regdomain_vdetach(vap); ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#38 (text+ko) ==== @@ -3127,19 +3127,33 @@ int ieee80211_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { - struct ieee80211vap *vap = ifp->if_softc; - struct ieee80211com *ic = vap->iv_ic; - struct ifnet *parent = ic->ic_ifp; + struct ieee80211vap *vap; + struct ieee80211com *ic; + struct ifnet *parent; int error = 0; struct ifreq *ifr; struct ifaddr *ifa; /* XXX */ + vap = ifp->if_softc; + if (vap == NULL) { + /* + * During detach we clear the backpointer in the softc + * so any ioctl request through the ifnet that arrives + * before teardown is ignored/rejected. In particular + * this hack handles destroying a vap used by an app + * like wpa_supplicant that will respond to the vap + * being forced into INIT state by immediately trying + * to force it back up. We can yank this hack if/when + * we can destroy the ifnet before cleaning up vap state. + */ + return ENXIO; + } switch (cmd) { case SIOCSIFFLAGS: + ic = vap->iv_ic; IEEE80211_LOCK(ic); ieee80211_syncifflag_locked(ic, IFF_PROMISC); ieee80211_syncifflag_locked(ic, IFF_ALLMULTI); - IEEE80211_UNLOCK(ic); if (ifp->if_flags & IFF_UP) { /* * Bring ourself up unless we're already operational. @@ -3148,18 +3162,20 @@ * side-effect of bringing ourself up. */ if (vap->iv_state == IEEE80211_S_INIT) - ieee80211_init(vap); + ieee80211_start_locked(vap); } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) { /* * Stop ourself. If we are the last vap to be * marked down the parent will also be taken down. */ - ieee80211_stop(vap); + ieee80211_stop_locked(vap); } + IEEE80211_UNLOCK(ic); break; case SIOCADDMULTI: case SIOCDELMULTI: /* XXX merge vap lists into parent */ + parent = vap->iv_ic->ic_ifp; if (parent->if_drv_flags & IFF_DRV_RUNNING) { /* XXX propagate multicast address to device */ error = parent->if_ioctl(parent, cmd, data); ==== //depot/projects/vap/sys/net80211/ieee80211_proto.c#23 (text+ko) ==== @@ -1075,7 +1075,7 @@ * set running on the underlying device then we * automatically bring the device up. */ -static void +void ieee80211_start_locked(struct ieee80211vap *vap) { struct ifnet *ifp = vap->iv_ifp; @@ -1161,14 +1161,23 @@ ieee80211_init(void *arg) { struct ieee80211vap *vap = arg; - struct ieee80211com *ic = vap->iv_ic; - IEEE80211_DPRINTF(vap, - IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "%s\n", __func__); + /* + * This routine is publicly accessible through the vap's + * if_init method so guard against calls during detach. + * ieee80211_vap_detach null's the backpointer before + * tearing down state to signal any callback should be + * rejected/ignored. + */ + if (vap != NULL) { + IEEE80211_DPRINTF(vap, + IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, + "%s\n", __func__); - IEEE80211_LOCK(ic); - ieee80211_start_locked(vap); - IEEE80211_UNLOCK(ic); + IEEE80211_LOCK(vap->iv_ic); + ieee80211_start_locked(vap); + IEEE80211_UNLOCK(vap->iv_ic); + } } /* @@ -1196,16 +1205,17 @@ * next vap is brought up. */ void -ieee80211_stop(struct ieee80211vap *vap) +ieee80211_stop_locked(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; struct ifnet *parent = ic->ic_ifp; + IEEE80211_LOCK_ASSERT(ic); + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "stop running, %d vaps running\n", ic->ic_nrunning); - IEEE80211_LOCK(ic); ieee80211_new_state_locked(vap, IEEE80211_S_INIT, -1); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { ifp->if_drv_flags &= ~IFF_DRV_RUNNING; /* mark us stopped */ @@ -1215,10 +1225,21 @@ IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "down parent %s\n", parent->if_xname); parent->if_flags &= ~IFF_UP; - /* XXX holding lock */ + /* XXX must drop lock */ + IEEE80211_UNLOCK(ic); parent->if_ioctl(parent, SIOCSIFFLAGS, NULL); + IEEE80211_LOCK(ic); } } +} + +void +ieee80211_stop(struct ieee80211vap *vap) +{ + struct ieee80211com *ic = vap->iv_ic; + + IEEE80211_LOCK(ic); + ieee80211_stop_locked(vap); IEEE80211_UNLOCK(ic); } ==== //depot/projects/vap/sys/net80211/ieee80211_proto.h#17 (text+ko) ==== @@ -253,8 +253,10 @@ return tid; } +void ieee80211_start_locked(struct ieee80211vap *); void ieee80211_init(void *); void ieee80211_start_all(struct ieee80211com *); +void ieee80211_stop_locked(struct ieee80211vap *); void ieee80211_stop(struct ieee80211vap *); void ieee80211_stop_all(struct ieee80211com *); void ieee80211_dturbo_switch(struct ieee80211vap *, int newflags); From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:11:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F662106568F; Fri, 7 Mar 2008 20:11: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 2DD181065681 for ; Fri, 7 Mar 2008 20:11:09 +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 B7AFF8FC26 for ; Fri, 7 Mar 2008 20:11:09 +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 m27KB9ls084208 for ; Fri, 7 Mar 2008 20:11:09 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KB9Oo084206 for perforce@freebsd.org; Fri, 7 Mar 2008 20:11:09 GMT (envelope-from rrs@cisco.com) Date: Fri, 7 Mar 2008 20:11:09 GMT Message-Id: <200803072011.m27KB9Oo084206@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 137108 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, 07 Mar 2008 20:11:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=137108 Change 137108 by rrs@rrs-mips2-jnpr on 2008/03/07 20:10:57 Moves octeon goo out. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#14 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#14 (text+ko) ==== @@ -201,10 +201,6 @@ #define COP_0_TAG_HI $29 #define COP_0_ERROR_PC $30 -#ifdef TARGET_OCTEON -#define OCTEON_UNALIGNED_ACCESS 0x4000 -#endif - /* * Coprocessor 0 Set 1 */ From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:12:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC551106566C; Fri, 7 Mar 2008 20:12: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 7BAE81065672 for ; Fri, 7 Mar 2008 20:12:11 +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 6AA6F8FC19 for ; Fri, 7 Mar 2008 20:12:11 +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 m27KCBiX084266 for ; Fri, 7 Mar 2008 20:12:11 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KCBM9084264 for perforce@freebsd.org; Fri, 7 Mar 2008 20:12:11 GMT (envelope-from rrs@cisco.com) Date: Fri, 7 Mar 2008 20:12:11 GMT Message-Id: <200803072012.m27KCBM9084264@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 137109 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, 07 Mar 2008 20:12:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=137109 Change 137109 by rrs@rrs-mips2-jnpr on 2008/03/07 20:11:27 Changes octeon specific to set/get Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#9 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/support.S#9 (text+ko) ==== @@ -1488,31 +1488,32 @@ #ifdef TARGET_OCTEON /* - * octeon_set_unaligned(addr) + * octeon_set_control(addr, uint32_t val) */ -LEAF(octeon_set_unaligned) +LEAF(octeon_set_control) .set mips64r2 + or t1, a1, zero /* dmfc0 a1, 9, 7*/ .word 0x40254807 sd a1, 0(a0) - or a1, a1, (OCTEON_UNALIGNED_ACCESS) + or a1, t1, zero /* dmtc0 a1, 9, 7*/ .word 0x40a54807 jr ra nop .set mips0 -END(octeon_set_unaligned) +END(octeon_set_control) -LEAF(octeon_clr_unaligned) +/* + * octeon_get_control(addr) + */ +LEAF(octeon_get_control) .set mips64r2 /* dmfc0 a1, 9, 7 */ .word 0x40254807 sd a1, 0(a0) - and a1, a1, ~(OCTEON_UNALIGNED_ACCESS) -/* dmtc0 a1, 9, 7 */ - .word 0x40a54807 jr ra nop .set mips0 -END(octeon_clr_unaligned) +END(octeon_get_control) #endif From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:13:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10F4F1065675; Fri, 7 Mar 2008 20: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 C43EE1065673 for ; Fri, 7 Mar 2008 20:13:12 +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 98F8B8FC21 for ; Fri, 7 Mar 2008 20:13:12 +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 m27KDC9H084281 for ; Fri, 7 Mar 2008 20:13:12 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KDCYQ084279 for perforce@freebsd.org; Fri, 7 Mar 2008 20:13:12 GMT (envelope-from rrs@cisco.com) Date: Fri, 7 Mar 2008 20:13:12 GMT Message-Id: <200803072013.m27KDCYQ084279@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 137110 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, 07 Mar 2008 20:13:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=137110 Change 137110 by rrs@rrs-mips2-jnpr on 2008/03/07 20:12:13 Sets in some cavium control bits Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_pcmap_regs.h#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_pcmap_regs.h#7 (text+ko) ==== @@ -17,7 +17,9 @@ #endif - +#define OCTEON_CTLREG_NOMUL 0x08000000 +#define OCTEON_CTLREG_REPUN 0x00004000 +#define OCTEON_CTLREG_USEUN 0x00001000 /* * Utility inlines & macros From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:18:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 529F01065673; Fri, 7 Mar 2008 20:18: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 110E9106566C for ; Fri, 7 Mar 2008 20:18:18 +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 F3B5F8FC18 for ; Fri, 7 Mar 2008 20:18:17 +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 m27KIHJs084510 for ; Fri, 7 Mar 2008 20:18:17 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KIHDU084501 for perforce@freebsd.org; Fri, 7 Mar 2008 20:18:17 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 7 Mar 2008 20:18:17 GMT Message-Id: <200803072018.m27KIHDU084501@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 137111 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, 07 Mar 2008 20:18:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=137111 Change 137111 by pgj@disznohal on 2008/03/07 20:17:42 (config) MFen: 1.227 --> 1.229, minor language and format fixes. Affected files ... .. //depot/projects/docproj_hu/books/handbook/config/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/config/chapter.sgml#3 (text+ko) ==== @@ -1,25 +1,25 @@ + Original Revision: 1.229 --> - Chern + Chern Lee Írta: - Mike + Mike Smith Az alapjául szolgáló bemutatást írta: @@ -27,7 +27,7 @@ - Matt + Matt Dillon Valamint az alapját képzõ tuning(7) oldalt írta: @@ -124,13 +124,13 @@ partíciókiosztás - /etc + /etc - /var + /var - /usr + /usr @@ -711,10 +711,10 @@ - - Tom - Rhodes - Írta: + + Tom + Rhodes + Írta: @@ -979,11 +979,11 @@ - + Tom Rhodes Írta: - + @@ -998,7 +998,7 @@ szolgáltatások, amelyeket a , és paraméterekkel lehet vezérelni. - Például a &man.sshd.8; az alábbi paranccsal + Például az &man.sshd.8; az alábbi paranccsal indítható újra: &prompt.root; /etc/rc.d/sshd restart @@ -1148,9 +1148,13 @@ megállapítani, hogy a függõségi viszonyok betartásával milyen sorrendben kell elindítani a rendszer által felkínált - szolgáltatásokat. Ehhez a következõ - kulcsszavakat kell megadni az egyes - indítóállományok elején: + szolgáltatásokat. + + Ehhez a következõ kulcsszavakat kell megadni az + egyes indító szkriptek elején (az + &man.rc.subr.8; így tudja + engedélyezni az indító + szkriptet): @@ -1159,7 +1163,15 @@ állomány milyen szolgáltatásokat nyújt. + + + A következõ kulcsszavak az egyes + indítóállományok elején + szerepelhetnek. Nem kell feltétlenül + használnunk ezeket, de velük az &man.rcorder.8; + munkáját segíthetjük: + REQUIRE: felsoroljuk azokat a szolgáltatásokat, amelyek a @@ -1176,9 +1188,12 @@ - A módszer felhasználásával a - rendszergazda könnyedén képes a többi &unix; - alapú operációs rendszerekbõl ismert + Az indító szkriptekben a kulcsszavak ügyes + megválasztásával a rendszergazda nagyon + finoman képes az indításkor + végrehajtódó szkriptek sorrendjét + szabályozni, és a többi &unix; alapú + operációs rendszerbõl ismert futtatási szintek használata nélkül vezérlelni a rendszerben megjelenõ szolgáltatásokat. @@ -1195,11 +1210,11 @@ - + Marc Fonvieille Írta: - + @@ -1728,7 +1743,7 @@ képes elindulni. Ahogy a rendszerünk - mûködõképessé vált, ki is + mûködõképessé vált, ki is tudjuk próbálni a hálózati felületeket. @@ -2443,11 +2458,11 @@ - + Tom Rhodes Írta: - + A &man.sysctl.8; írásvédett @@ -2717,7 +2732,7 @@ <sect3> <title><literal>SCSI_DELAY</literal> - (<varname>kern.cam.scsi_delay</varname>) + (kern.cam.scsi_delay) kern.cam.scsi_delay @@ -3679,7 +3694,7 @@ Indítsuk újra a - számítógépünket, vagy a + számítógépünket, vagy a lapozóállomány azonnali használtba vételéhez írjuk be: @@ -4230,7 +4245,7 @@ meghajtó részérõl. Ha gondjaink lennének a rendszerünk felébresztésével, nyugodtan írjunk - egy levelet az &a.acpi.name; listára, ám a + egy levelet a &a.acpi.name; listára, ám a probléma gyors megoldódásában ne reménykedjünk, hiszen ehhez még temérdek meghajtón és hardveren kell From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:39:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 143561065675; Fri, 7 Mar 2008 20:39: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 C76141065671 for ; Fri, 7 Mar 2008 20:39:42 +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 B61AE8FC29 for ; Fri, 7 Mar 2008 20:39:42 +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 m27KdgMa085389 for ; Fri, 7 Mar 2008 20:39:42 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KdgqZ085387 for perforce@freebsd.org; Fri, 7 Mar 2008 20:39:42 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 20:39:42 GMT Message-Id: <200803072039.m27KdgqZ085387@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 137113 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, 07 Mar 2008 20:39:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=137113 Change 137113 by sam@sam_ebb on 2008/03/07 20:38:57 convert ni_txrate handling from setting the rate index to the rate code; change algorithms that use ni_txrate directly to maintain a private value Affected files ... .. //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.c#7 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.h#3 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.c#10 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.h#6 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/sample/sample.c#8 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.c#7 (text+ko) ==== @@ -210,7 +210,7 @@ ni->ni_rates.rs_nrates > 0 ? (ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL) / 2 : 0); - ni->ni_txrate = rate; + amn->amn_rix = rate; /* * Before associating a node has no rate set setup * so we can't calculate any transmit codes to use. @@ -219,8 +219,8 @@ * lowest hardware rate. */ if (ni->ni_rates.rs_nrates > 0) { - amn->amn_tx_rix0 = sc->sc_rixmap[ - ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL]; + ni->ni_txrate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL; + amn->amn_tx_rix0 = sc->sc_rixmap[ni->ni_txrate]; amn->amn_tx_rate0 = rt->info[amn->amn_tx_rix0].rateCode; amn->amn_tx_rate0sp = amn->amn_tx_rate0 | rt->info[amn->amn_tx_rix0].shortPreamble; @@ -391,7 +391,7 @@ { struct ath_softc *sc = arg; struct amrr_node *amn = ATH_NODE_AMRR(ATH_NODE (ni)); - int old_rate; + int rix; #define is_success(amn) \ (amn->amn_tx_try1_cnt < (amn->amn_tx_try0_cnt/10)) @@ -399,12 +399,8 @@ (amn->amn_tx_try0_cnt > 10) #define is_failure(amn) \ (amn->amn_tx_try1_cnt > (amn->amn_tx_try0_cnt/3)) -#define is_max_rate(ni) \ -((ni->ni_txrate + 1) >= ni->ni_rates.rs_nrates) -#define is_min_rate(ni) \ -(ni->ni_txrate == 0) - old_rate = ni->ni_txrate; + rix = amn->amn_rix; DPRINTF (sc, "cnt0: %d cnt1: %d cnt2: %d cnt3: %d -- threshold: %d\n", amn->amn_tx_try0_cnt, @@ -415,17 +411,17 @@ if (is_success (amn) && is_enough (amn)) { amn->amn_success++; if (amn->amn_success == amn->amn_success_threshold && - !is_max_rate (ni)) { + rix + 1 < ni->ni_rates.rs_nrates) { amn->amn_recovery = 1; amn->amn_success = 0; - ni->ni_txrate++; - DPRINTF (sc, "increase rate to %d\n", ni->ni_txrate); + rix++; + DPRINTF (sc, "increase rate to %d\n", rix); } else { amn->amn_recovery = 0; } } else if (is_failure (amn)) { amn->amn_success = 0; - if (!is_min_rate (ni)) { + if (rix > 0) { if (amn->amn_recovery) { /* recovery failure. */ amn->amn_success_threshold *= 2; @@ -438,13 +434,13 @@ DPRINTF (sc, "decrease rate normal thr: %d\n", amn->amn_success_threshold); } amn->amn_recovery = 0; - ni->ni_txrate--; + rix--; } else { amn->amn_recovery = 0; } } - if (is_enough (amn) || old_rate != ni->ni_txrate) { + if (is_enough (amn) || rix != amn->amn_rix) { /* reset counters. */ amn->amn_tx_try0_cnt = 0; amn->amn_tx_try1_cnt = 0; @@ -452,8 +448,8 @@ amn->amn_tx_try3_cnt = 0; amn->amn_tx_failure_cnt = 0; } - if (old_rate != ni->ni_txrate) { - ath_rate_update(sc, ni, ni->ni_txrate); + if (rix != amn->amn_rix) { + ath_rate_update(sc, ni, rix); } } ==== //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.h#3 (text+ko) ==== @@ -48,6 +48,7 @@ /* per-node state */ struct amrr_node { + int amn_rix; /* current rate index */ /* AMRR statistics for this node */ u_int amn_tx_try0_cnt; u_int amn_tx_try1_cnt; ==== //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.c#10 (text+ko) ==== @@ -187,7 +187,6 @@ ni->ni_rates.rs_nrates > 0 ? (ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL) / 2 : 0); - ni->ni_txrate = rate; /* * Before associating a node has no rate set setup * so we can't calculate any transmit codes to use. @@ -197,8 +196,9 @@ */ if (ni->ni_rates.rs_nrates == 0) goto done; - on->on_tx_rix0 = sc->sc_rixmap[ - ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL]; + on->on_rix = rate; + ni->ni_txrate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL; + on->on_tx_rix0 = sc->sc_rixmap[ni->ni_txrate]; on->on_tx_rate0 = rt->info[on->on_tx_rix0].rateCode; on->on_tx_rate0sp = on->on_tx_rate0 | @@ -395,7 +395,7 @@ on->on_tx_ok, on->on_tx_err, on->on_tx_retr, on->on_tx_upper, dir); - nrate = ni->ni_txrate; + nrate = on->on_rix; switch (dir) { case 0: if (enough && on->on_tx_upper > 0) @@ -420,10 +420,10 @@ break; } - if (nrate != ni->ni_txrate) { + if (nrate != on->on_rix) { DPRINTF(sc, "%s: %dM -> %dM (%d ok, %d err, %d retr)\n", __func__, - (rs->rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL) / 2, + ni->ni_txrate / 2, (rs->rs_rates[nrate] & IEEE80211_RATE_VAL) / 2, on->on_tx_ok, on->on_tx_err, on->on_tx_retr); ath_rate_update(sc, ni, nrate); ==== //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.h#6 (text+ko) ==== @@ -43,6 +43,7 @@ /* per-node state */ struct onoe_node { + int on_rix; /* current rate index */ u_int on_tx_ok; /* tx ok pkt */ u_int on_tx_err; /* tx !ok pkt */ u_int on_tx_retr; /* tx retry count */ ==== //depot/projects/vap/sys/dev/ath/ath_rate/sample/sample.c#8 (text+ko) ==== @@ -340,16 +340,13 @@ sn->packets_since_switch[size_bin] = 0; sn->current_rate[size_bin] = best_ndx; sn->ticks_since_switch[size_bin] = ticks; + /* + * Set the visible txrate for this node. + */ + an->an_node.ni_txrate = sn->rates[best_ndx].rate; } ndx = sn->current_rate[size_bin]; sn->packets_since_switch[size_bin]++; - if (size_bin == 0) { - /* - * set the visible txrate for this node - * to the rate of small packets - */ - an->an_node.ni_txrate = ndx; - } } } @@ -722,8 +719,6 @@ } DPRINTF(sc, ATH_DEBUG_RATE, "%s\n", ""); - /* set the visible bit-rate to the lowest one available */ - ni->ni_txrate = 0; sn->num_rates = ni->ni_rates.rs_nrates; for (y = 0; y < NUM_PACKET_SIZE_BINS; y++) { @@ -767,10 +762,11 @@ sn->stats[1][sn->num_rates-1].perfect_tx_time ); - if (sn->static_rate_ndx != -1) - ni->ni_txrate = sn->static_rate_ndx; + /* set the visible bit-rate */ + if (sn->static_rate_ndx != -1) + ni->ni_txrate = sn->rates[sn->static_rate_ndx].rate; else - ni->ni_txrate = sn->current_rate[0]; + ni->ni_txrate = sn->rates[0].rate; #undef RATE } From owner-p4-projects@FreeBSD.ORG Fri Mar 7 20:47:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85D691065674; Fri, 7 Mar 2008 20:47: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 45589106566B for ; Fri, 7 Mar 2008 20:47:51 +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 341918FC16 for ; Fri, 7 Mar 2008 20:47:51 +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 m27Klpvo094737 for ; Fri, 7 Mar 2008 20:47:51 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27KlpYo094735 for perforce@freebsd.org; Fri, 7 Mar 2008 20:47:51 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 7 Mar 2008 20:47:51 GMT Message-Id: <200803072047.m27KlpYo094735@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 137114 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, 07 Mar 2008 20:47:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=137114 Change 137114 by pgj@disznohal on 2008/03/07 20:47:16 (desktop) MFen: 1.73 --> 1.75 Affected files ... .. //depot/projects/docproj_hu/books/handbook/desktop/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/desktop/chapter.sgml#3 (text+ko) ==== @@ -1,11 +1,11 @@ + Original Revision: 1.75 --> @@ -1090,6 +1090,13 @@ könnyû Tcl/Tk + + + KMyMoney + kevés + nehéz + KDE + @@ -1218,6 +1225,55 @@ &prompt.root; cd /usr/ports/deskutils/abacus &prompt.root; make install clean + + + KMyMoney + + + KMyMoney + + + + táblázatkezelõ + KMyMoney + + + A KMyMoney a + KDE részeként + kifejlesztett személyi pénzügyi + nyilvántartó. A + KMyMoney igyekszik az összes + kereskedelmi pénzügyi nyilvántartó + programban megtalálható fontosabb + lehetõséget magában foglalni és + rendelkezésre bocsájtani. Mindezek mellett egy + könnyen használható és nagyon + ügyes kettõs könyvelést is + találhatunk benne. A KMyMoney + képes beolvasni a szabványos Quicken Interchange + Format (QIF) szerint készült + állományokat, követni a + befektetéseket, többféle pénznemet + kezelni és sok fajta kimutatást tudunk vele + készíteni. A megfelelõ + bõvítmény hozzáadásával + még az OFX formátumú + állományok olvasására is + alkalmas. + + A KMyMoney csomagként + így telepíthetõ: + + &prompt.root; pkg_add -r kmymoney2 + + Ha ez a csomag nem érhetõ el, akkor a + Portgyûjteményen keresztül is fel tudjuk + rakni: + + &prompt.root; cd /usr/ports/finance/kmymoney2 +&prompt.root; make install clean + + From owner-p4-projects@FreeBSD.ORG Fri Mar 7 22:34:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A947C1065688; Fri, 7 Mar 2008 22:34: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 9DF001065680 for ; Fri, 7 Mar 2008 22:34: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 754908FC1C for ; Fri, 7 Mar 2008 22:34: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 m27MYjwD002779 for ; Fri, 7 Mar 2008 22:34:45 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27MYjbp002777 for perforce@freebsd.org; Fri, 7 Mar 2008 22:34:45 GMT (envelope-from marcel@freebsd.org) Date: Fri, 7 Mar 2008 22:34:45 GMT Message-Id: <200803072234.m27MYjbp002777@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 137122 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, 07 Mar 2008 22:34:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=137122 Change 137122 by marcel@marcel_cluster on 2008/03/07 22:34:21 IFC @137121 Affected files ... .. //depot/projects/e500/contrib/bsnmp/snmpd/main.c#2 integrate .. //depot/projects/e500/etc/Makefile#5 integrate .. //depot/projects/e500/etc/ddb.conf#1 branch .. //depot/projects/e500/etc/defaults/rc.conf#7 integrate .. //depot/projects/e500/etc/rc.d/Makefile#5 integrate .. //depot/projects/e500/etc/rc.d/ddb#1 branch .. //depot/projects/e500/etc/rc.d/mountcritlocal#4 integrate .. //depot/projects/e500/etc/rc.d/mountlate#3 integrate .. //depot/projects/e500/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/e500/lib/libc/posix1e/mac_exec.c#2 integrate .. //depot/projects/e500/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/e500/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/e500/lib/libc/stdlib/malloc.c#9 integrate .. //depot/projects/e500/lib/libthr/pthread.map#8 integrate .. //depot/projects/e500/lib/libthr/thread/thr_attr.c#2 integrate .. //depot/projects/e500/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/e500/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/e500/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/e500/lib/libthr/thread/thr_private.h#5 integrate .. //depot/projects/e500/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/projects/e500/rescue/rescue/Makefile#4 integrate .. //depot/projects/e500/sbin/ddb/ddb.8#2 integrate .. //depot/projects/e500/sbin/ddb/ddb.c#2 integrate .. //depot/projects/e500/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/e500/sbin/geom/Makefile#3 integrate .. //depot/projects/e500/sbin/geom/class/label/geom_label.c#3 integrate .. //depot/projects/e500/sbin/geom/core/geom.8#4 integrate .. //depot/projects/e500/sbin/geom/core/geom.c#6 integrate .. //depot/projects/e500/sbin/newfs/mkfs.c#3 integrate .. //depot/projects/e500/secure/usr.bin/ssh/Makefile#2 integrate .. //depot/projects/e500/secure/usr.sbin/sshd/Makefile#2 integrate .. //depot/projects/e500/share/man/man4/Makefile#13 integrate .. //depot/projects/e500/share/man/man4/cmx.4#1 branch .. //depot/projects/e500/share/man/man4/ddb.4#4 integrate .. //depot/projects/e500/share/man/man4/uslcom.4#1 branch .. //depot/projects/e500/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/e500/share/man/man9/bus_space.9#2 integrate .. //depot/projects/e500/share/mk/sys.mk#4 integrate .. //depot/projects/e500/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/e500/sys/amd64/conf/GENERIC#12 integrate .. //depot/projects/e500/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/e500/sys/arm/arm/pmap.c#9 integrate .. //depot/projects/e500/sys/arm/arm/uio_machdep.c#2 integrate .. //depot/projects/e500/sys/arm/conf/AVILA#5 integrate .. //depot/projects/e500/sys/arm/include/pmap.h#5 integrate .. //depot/projects/e500/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/e500/sys/conf/NOTES#16 integrate .. //depot/projects/e500/sys/conf/files#18 integrate .. //depot/projects/e500/sys/conf/kmod.mk#5 integrate .. //depot/projects/e500/sys/ddb/db_command.c#3 integrate .. //depot/projects/e500/sys/ddb/db_examine.c#3 integrate .. //depot/projects/e500/sys/ddb/db_input.c#3 integrate .. //depot/projects/e500/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/e500/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/e500/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/e500/sys/dev/bge/if_bge.c#8 integrate .. //depot/projects/e500/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/e500/sys/dev/cmx/cmx.c#1 branch .. //depot/projects/e500/sys/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/e500/sys/dev/cmx/cmxreg.h#1 branch .. //depot/projects/e500/sys/dev/cmx/cmxvar.h#1 branch .. //depot/projects/e500/sys/dev/lge/if_lge.c#4 integrate .. //depot/projects/e500/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/e500/sys/dev/mii/miidevs#9 integrate .. //depot/projects/e500/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/e500/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/e500/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/e500/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/e500/sys/dev/nfe/if_nfevar.h#3 integrate .. //depot/projects/e500/sys/dev/pccard/pccarddevs#4 integrate .. //depot/projects/e500/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/e500/sys/dev/usb/usbdevs#11 integrate .. //depot/projects/e500/sys/dev/usb/uslcom.c#1 branch .. //depot/projects/e500/sys/i386/conf/GENERIC#11 integrate .. //depot/projects/e500/sys/i386/include/_types.h#2 integrate .. //depot/projects/e500/sys/i386/include/float.h#2 integrate .. //depot/projects/e500/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/e500/sys/kern/kern_priv.c#3 integrate .. //depot/projects/e500/sys/kern/kern_shutdown.c#7 integrate .. //depot/projects/e500/sys/modules/Makefile#10 integrate .. //depot/projects/e500/sys/modules/cmx/Makefile#1 branch .. //depot/projects/e500/sys/modules/uslcom/Makefile#1 branch .. //depot/projects/e500/sys/net/if.c#5 integrate .. //depot/projects/e500/sys/net/if_ethersubr.c#6 integrate .. //depot/projects/e500/sys/net/if_gif.c#3 integrate .. //depot/projects/e500/sys/netgraph/ng_base.c#10 integrate .. //depot/projects/e500/sys/netgraph/ng_ksocket.c#2 integrate .. //depot/projects/e500/sys/netgraph/ng_nat.h#4 integrate .. //depot/projects/e500/sys/netinet/in.h#3 integrate .. //depot/projects/e500/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/e500/sys/netinet/libalias/alias.c#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_db.c#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_irc.c#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_local.h#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_proxy.c#2 integrate .. //depot/projects/e500/sys/netinet/libalias/alias_smedia.c#2 integrate .. //depot/projects/e500/sys/nfsclient/nfs_vfsops.c#9 integrate .. //depot/projects/e500/sys/nfsserver/nfs_serv.c#5 integrate .. //depot/projects/e500/sys/powerpc/aim/locore.S#6 integrate .. //depot/projects/e500/sys/powerpc/aim/machdep.c#11 integrate .. //depot/projects/e500/sys/powerpc/conf/NOTES#11 integrate .. //depot/projects/e500/sys/powerpc/include/intr_machdep.h#5 integrate .. //depot/projects/e500/sys/powerpc/include/md_var.h#8 integrate .. //depot/projects/e500/sys/powerpc/include/openpicvar.h#4 integrate .. //depot/projects/e500/sys/powerpc/include/pcpu.h#6 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/ocpbus.c#10 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/opic.c#6 integrate .. //depot/projects/e500/sys/powerpc/mpc85xx/pci_ocp.c#7 integrate .. //depot/projects/e500/sys/powerpc/powermac/openpic_macio.c#4 integrate .. //depot/projects/e500/sys/powerpc/powerpc/cpu.c#4 integrate .. //depot/projects/e500/sys/powerpc/powerpc/intr_machdep.c#6 integrate .. //depot/projects/e500/sys/powerpc/powerpc/openpic.c#4 integrate .. //depot/projects/e500/sys/powerpc/powerpc/pic_if.m#4 integrate .. //depot/projects/e500/sys/powerpc/psim/openpic_iobus.c#4 integrate .. //depot/projects/e500/sys/security/audit/audit_syscalls.c#8 integrate .. //depot/projects/e500/sys/sys/cpuset.h#2 integrate .. //depot/projects/e500/sys/sys/pcpu.h#5 integrate .. //depot/projects/e500/sys/ufs/ffs/ffs_vfsops.c#7 integrate .. //depot/projects/e500/sys/ufs/ufs/extattr.h#2 integrate .. //depot/projects/e500/sys/ufs/ufs/ufs_extattr.c#6 integrate .. //depot/projects/e500/usr.bin/chat/chat.c#2 integrate .. //depot/projects/e500/usr.bin/cpuset/Makefile#2 integrate .. //depot/projects/e500/usr.bin/cpuset/cpuset.1#1 branch .. //depot/projects/e500/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/e500/usr.bin/make/Makefile#2 integrate .. //depot/projects/e500/usr.bin/make/Makefile.dist#3 integrate .. //depot/projects/e500/usr.bin/make/arch.c#2 integrate .. //depot/projects/e500/usr.bin/make/job.c#2 integrate .. //depot/projects/e500/usr.bin/make/main.c#4 integrate .. //depot/projects/e500/usr.bin/make/make.1#3 integrate .. //depot/projects/e500/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate .. //depot/projects/e500/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#2 integrate .. //depot/projects/e500/usr.sbin/fwcontrol/fwcontrol.8#3 integrate .. //depot/projects/e500/usr.sbin/fwcontrol/fwcontrol.c#2 integrate .. //depot/projects/e500/usr.sbin/mountd/mountd.c#4 integrate .. //depot/projects/e500/usr.sbin/moused/Makefile#2 integrate .. //depot/projects/e500/usr.sbin/moused/moused.c#3 integrate Differences ... ==== //depot/projects/e500/contrib/bsnmp/snmpd/main.c#2 (text+ko) ==== @@ -2242,6 +2242,8 @@ return (m); err: + if ((m->flags & LM_ONSTARTLIST) != 0) + TAILQ_REMOVE(&modules_start, m, start); if (m->handle) dlclose(m->handle); free(m->path); ==== //depot/projects/e500/etc/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.365 2007/11/11 01:16:51 mlaier Exp $ +# $FreeBSD: src/etc/Makefile,v 1.366 2008/03/05 18:32:58 brooks Exp $ .include @@ -9,7 +9,7 @@ BIN1= amd.map apmd.conf auth.conf \ crontab csh.cshrc csh.login csh.logout devd.conf devfs.conf \ - dhclient.conf disktab fbtab freebsd-update.conf \ + ddb.conf dhclient.conf disktab fbtab freebsd-update.conf \ ftpusers gettytab group \ hosts hosts.allow hosts.equiv hosts.lpd \ inetd.conf libalias.conf login.access login.conf mac.conf motd \ ==== //depot/projects/e500/etc/defaults/rc.conf#7 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.326 2008/01/27 15:15:11 mtm Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.328 2008/03/06 14:01:10 mtm Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -33,6 +33,8 @@ apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO). apmd_enable="NO" # Run apmd to handle APM event from userland. apmd_flags="" # Flags to apmd (if enabled). +ddb_enable="NO" # Set to YES to load ddb scripts at boot. +ddb_config="/etc/ddb.conf" # ddb(8) config file. devd_enable="YES" # Run devd, to trigger programs on device tree changes. devd_flags="" # Additional flags for devd(8). kldxref_enable="NO" # Build linker.hints files with kldxref(8). @@ -249,7 +251,7 @@ rwhod_enable="NO" # Run the rwho daemon (or NO). rwhod_flags="" # Flags for rwhod rarpd_enable="NO" # Run rarpd (or NO). -rarpd_flags="" # Flags to rarpd. +rarpd_flags="-a" # Flags to rarpd. bootparamd_enable="NO" # Run bootparamd (or NO). bootparamd_flags="" # Flags to bootparamd pppoed_enable="NO" # Run the PPP over Ethernet daemon. ==== //depot/projects/e500/etc/rc.d/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.88 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.89 2008/03/05 18:32:58 brooks Exp $ .include @@ -7,7 +7,7 @@ apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \ bgfsck bluetooth bootparams bridge bsnmpd bthidd \ ccd cleanvar cleartmp cron \ - devd devfs dhclient \ + ddb devd devfs dhclient \ dmesg dumpon \ early.sh encswap \ fsck ftp-proxy ftpd \ ==== //depot/projects/e500/etc/rc.d/mountcritlocal#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.15 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.16 2008/03/06 14:39:33 mtm Exp $ # # PROVIDE: mountcritlocal @@ -15,6 +15,8 @@ mountcritlocal_start() { + local err + # Set up the list of network filesystem types for which mounting # should be delayed until after network initialization. case ${extra_netfs_types} in @@ -34,9 +36,10 @@ done mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} + err=$? echo '.' - case $? in + case ${err} in 0) ;; *) ==== //depot/projects/e500/etc/rc.d/mountlate#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountlate,v 1.2 2007/05/18 12:04:41 mtm Exp $ +# $FreeBSD: src/etc/rc.d/mountlate,v 1.3 2008/03/06 14:39:33 mtm Exp $ # # PROVIDE: mountlate @@ -16,12 +16,15 @@ mountlate_start() { + local err + # Mount "late" filesystems. echo -n 'Mounting late file systems:' mount -a -l + err=$? echo '.' - case $? in + case ${err} in 0) ;; *) ==== //depot/projects/e500/lib/libc/posix1e/mac.c#2 (text+ko) ==== @@ -30,10 +30,11 @@ * 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/libc/posix1e/mac.c,v 1.12 2004/01/06 18:26:15 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac.c,v 1.13 2008/03/07 15:25:56 rwatson Exp $"); + #include #include #include ==== //depot/projects/e500/lib/libc/posix1e/mac_exec.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_exec.c,v 1.2 2003/02/16 17:29:10 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_exec.c,v 1.3 2008/03/07 15:25:56 rwatson Exp $"); + #include #include ==== //depot/projects/e500/lib/libc/posix1e/mac_get.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_get.c,v 1.5 2005/01/23 15:28:02 rwatson Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_get.c,v 1.6 2008/03/07 15:25:56 rwatson Exp $"); + #include #include #include ==== //depot/projects/e500/lib/libc/posix1e/mac_set.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_set.c,v 1.3 2003/02/27 13:40:01 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_set.c,v 1.4 2008/03/07 15:25:56 rwatson Exp $"); + #include #include ==== //depot/projects/e500/lib/libc/stdlib/malloc.c#9 (text+ko) ==== @@ -45,7 +45,8 @@ * Allocation requests are rounded up to the nearest size class, and no record * of the original request size is maintained. Allocations are broken into * categories according to size class. Assuming runtime defaults, 4 kB pages - * and a 16 byte quantum, the size classes in each category are as follows: + * and a 16 byte quantum on a 32-bit system, the size classes in each category + * are as follows: * * |=====================================| * | Category | Subcategory | Size | @@ -69,9 +70,9 @@ * | | 8 kB | * | | 12 kB | * | | ... | + * | | 1004 kB | + * | | 1008 kB | * | | 1012 kB | - * | | 1016 kB | - * | | 1020 kB | * |=====================================| * | Huge | 1 MB | * | | 2 MB | @@ -127,7 +128,7 @@ #define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.166 2008/02/17 18:34:17 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.167 2008/03/07 16:54:03 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -145,7 +146,6 @@ #include #include /* Must come after several other sys/ includes. */ -#include #include #include ==== //depot/projects/e500/lib/libthr/pthread.map#8 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libthr/pthread.map,v 1.27 2008/03/03 09:16:28 davidxu Exp $ + * $FreeBSD: src/lib/libthr/pthread.map,v 1.28 2008/03/05 06:56:35 davidxu Exp $ */ /* @@ -228,6 +228,7 @@ _pthread_barrierattr_setpshared; _pthread_attr_destroy; _pthread_attr_get_np; + _pthread_attr_getaffinity_np; _pthread_attr_getdetachstate; _pthread_attr_getguardsize; _pthread_attr_getinheritsched; @@ -238,6 +239,7 @@ _pthread_attr_getstackaddr; _pthread_attr_getstacksize; _pthread_attr_init; + _pthread_attr_setaffinity_np; _pthread_attr_setcreatesuspend_np; _pthread_attr_setdetachstate; _pthread_attr_setguardsize; @@ -267,6 +269,7 @@ _pthread_detach; _pthread_equal; _pthread_exit; + _pthread_getaffinity_np; _pthread_getconcurrency; _pthread_getprio; _pthread_getschedparam; @@ -321,6 +324,7 @@ _pthread_rwlockattr_setpshared; _pthread_self; _pthread_set_name_np; + _pthread_setaffinity_np; _pthread_setcancelstate; _pthread_setcanceltype; _pthread_setconcurrency; @@ -388,6 +392,8 @@ }; FBSD_1.1 { + pthread_attr_getaffinity_np; + pthread_attr_setaffinity_np; pthread_getaffinity_np; pthread_setaffinity_np; pthread_mutex_getspinloops_np; ==== //depot/projects/e500/lib/libthr/thread/thr_attr.c#2 (text+ko) ==== @@ -90,7 +90,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.8 2007/01/12 07:26:20 imp Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.11 2008/03/06 03:24:03 davidxu Exp $ */ #include "namespace.h" @@ -99,6 +99,7 @@ #include #include #include +#include #include "un-namespace.h" #include "thr_private.h" @@ -148,7 +149,9 @@ attr.flags |= PTHREAD_DETACHED; _thr_ref_delete(curthread, pid); memcpy(*dst, &attr, sizeof(struct pthread_attr)); - + /* XXX */ + (*dst)->cpuset = NULL; + (*dst)->cpusetsize = 0; return (0); } @@ -543,3 +546,92 @@ } return(ret); } + +static int +_get_kern_cpuset_size() +{ + static int kern_cpuset_size = 0; + + if (kern_cpuset_size == 0) { + int len; + + len = sizeof(kern_cpuset_size); + if (sysctlbyname("kern.smp.maxcpus", &kern_cpuset_size, + &len, NULL, 0)) + PANIC("failed to get sysctl kern.smp.maxcpus"); + + kern_cpuset_size = (kern_cpuset_size + 7) / 8; + } + + return (kern_cpuset_size); +} + +__weak_reference(_pthread_attr_setaffinity_np, pthread_attr_setaffinity_np); +int +_pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize, + const cpuset_t *cpuset) +{ + pthread_attr_t attr; + int ret; + + if (pattr == NULL || (attr = (*pattr)) == NULL) + ret = EINVAL; + else { + if (cpusetsize == 0 || cpuset == NULL) { + if (attr->cpuset != NULL) { + free(attr->cpuset); + attr->cpuset = NULL; + attr->cpusetsize = 0; + } + return (0); + } + + if (cpusetsize > attr->cpusetsize) { + int kern_size = _get_kern_cpuset_size(); + if (cpusetsize > kern_size) { + int i; + for (i = kern_size; i < cpusetsize; ++i) { + if (((char *)cpuset)[i]) + return (EINVAL); + } + } + void *newset = realloc(attr->cpuset, cpusetsize); + if (newset == NULL) + return (ENOMEM); + attr->cpuset = newset; + attr->cpusetsize = cpusetsize; + } else { + memset(((char *)attr->cpuset) + cpusetsize, 0, + attr->cpusetsize - cpusetsize); + attr->cpusetsize = cpusetsize; + } + memcpy(attr->cpuset, cpuset, cpusetsize); + ret = 0; + } + return (ret); +} + +__weak_reference(_pthread_attr_getaffinity_np, pthread_attr_getaffinity_np); +int +_pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, + cpuset_t *cpuset) +{ + pthread_attr_t attr; + int ret = 0; + + if (pattr == NULL || (attr = (*pattr)) == NULL) + ret = EINVAL; + else if (attr->cpuset != NULL) { + memcpy(cpuset, attr->cpuset, MIN(cpusetsize, attr->cpusetsize)); + if (cpusetsize > attr->cpusetsize) + memset(((char *)cpuset) + attr->cpusetsize, 0, + cpusetsize - attr->cpusetsize); + } else { + int kern_size = _get_kern_cpuset_size(); + memset(cpuset, -1, MIN(cpusetsize, kern_size)); + if (cpusetsize > kern_size) + memset(((char *)cpuset) + kern_size, 0, + cpusetsize - kern_size); + } + return (ret); +} ==== //depot/projects/e500/lib/libthr/thread/thr_create.c#2 (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/thread/thr_create.c,v 1.36 2006/12/15 11:52:01 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.40 2008/03/06 01:59:08 davidxu Exp $ */ #include "namespace.h" @@ -36,6 +36,7 @@ #include #include #include +#include #include "un-namespace.h" #include "thr_private.h" @@ -55,6 +56,8 @@ struct rtprio rtp; int ret = 0, locked, create_suspended; sigset_t set, oset; + cpuset_t *cpuset = NULL; + int cpusetsize = 0; _thr_check_init(); @@ -73,8 +76,13 @@ if (attr == NULL || *attr == NULL) /* Use the default thread attributes: */ new_thread->attr = _pthread_attr_default; - else + else { new_thread->attr = *(*attr); + cpuset = new_thread->attr.cpuset; + cpusetsize = new_thread->attr.cpusetsize; + new_thread->attr.cpuset = NULL; + new_thread->attr.cpusetsize = 0; + } if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) { /* inherit scheduling contention scope */ if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM) @@ -119,12 +127,17 @@ if (new_thread->attr.flags & PTHREAD_CREATE_DETACHED) new_thread->tlflags |= TLFLAGS_DETACHED; + if (curthread->in_sigcancel_handler) + new_thread->unblock_sigcancel = 1; + else + new_thread->unblock_sigcancel = 0; + /* Add the new thread. */ new_thread->refcount = 1; _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; - if (SHOULD_REPORT_EVENT(curthread, TD_CREATE)) { + if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpuset != NULL) { THR_THREAD_LOCK(curthread, new_thread); locked = 1; } else @@ -142,11 +155,11 @@ param.flags |= THR_SYSTEM_SCOPE; if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) param.rtp = NULL; - else { - sched_param.sched_priority = new_thread->attr.prio; - _schedparam_to_rtp(new_thread->attr.sched_policy, - &sched_param, &rtp); - param.rtp = &rtp; + else { + sched_param.sched_priority = new_thread->attr.prio; + _schedparam_to_rtp(new_thread->attr.sched_policy, + &sched_param, &rtp); + param.rtp = &rtp; } /* Schedule the new thread. */ @@ -168,8 +181,10 @@ ret = EAGAIN; } - if (create_suspended) + if (create_suspended) { __sys_sigprocmask(SIG_SETMASK, &oset, NULL); + SIGDELSET(oset, SIGCANCEL); + } if (ret != 0) { if (!locked) @@ -186,11 +201,31 @@ new_thread->tlflags |= TLFLAGS_DETACHED; _thr_ref_delete_unlocked(curthread, new_thread); THREAD_LIST_UNLOCK(curthread); - (*thread) = 0; } else if (locked) { + if (cpuset != NULL) { + if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, + TID(new_thread), cpusetsize, cpuset)) { + ret = errno; + /* kill the new thread */ + new_thread->force_exit = 1; + THR_THREAD_UNLOCK(curthread, new_thread); + goto out; + } + } + _thr_report_creation(curthread, new_thread); THR_THREAD_UNLOCK(curthread, new_thread); +out: + if (ret) { + THREAD_LIST_LOCK(curthread); + new_thread->tlflags |= TLFLAGS_DETACHED; + _thr_ref_delete_unlocked(curthread, new_thread); + THREAD_LIST_UNLOCK(curthread); + } } + + if (ret) + (*thread) = 0; return (ret); } @@ -213,6 +248,25 @@ static void thread_start(struct pthread *curthread) { + /* + * This is used as a serialization point to allow parent + * to report 'new thread' event to debugger or tweak new thread's + * attributes before the new thread does real-world work. + */ + THR_LOCK(curthread); + THR_UNLOCK(curthread); + + if (curthread->force_exit) + _pthread_exit(PTHREAD_CANCELED); + + if (curthread->unblock_sigcancel) { + sigset_t set; + + SIGEMPTYSET(set); + SIGADDSET(set, SIGCANCEL); + sigprocmask(SIG_UNBLOCK, &set, NULL); + } + if (curthread->attr.suspend == THR_CREATE_SUSPENDED) { sigset_t set = curthread->sigmask; @@ -225,14 +279,6 @@ sigprocmask(SIG_SETMASK, &set, NULL); } - /* - * This is used as a serialization point to allow parent - * to report 'new thread' event to debugger before the thread - * does real work. - */ - THR_LOCK(curthread); - THR_UNLOCK(curthread); - /* Run the current thread's start routine with argument: */ _pthread_exit(curthread->start_routine(curthread->arg)); ==== //depot/projects/e500/lib/libthr/thread/thr_exit.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.24 2007/12/20 04:40:12 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.25 2008/03/06 02:07:18 davidxu Exp $ */ #include @@ -130,7 +130,7 @@ if (curthread->tlflags & TLFLAGS_DETACHED) THR_GCLIST_ADD(curthread); THREAD_LIST_UNLOCK(curthread); - if (SHOULD_REPORT_EVENT(curthread, TD_DEATH)) + if (!curthread->force_exit && SHOULD_REPORT_EVENT(curthread, TD_DEATH)) _thr_report_death(curthread); /* ==== //depot/projects/e500/lib/libthr/thread/thr_init.c#4 (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_init.c,v 1.47 2007/10/30 05:57:36 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.49 2008/03/05 07:01:20 davidxu Exp $ */ #include "namespace.h" @@ -75,13 +75,15 @@ struct pthread_attr _pthread_attr_default = { .sched_policy = SCHED_OTHER, - .sched_inherit = 0, + .sched_inherit = PTHREAD_INHERIT_SCHED, .prio = 0, .suspend = THR_CREATE_RUNNING, .flags = PTHREAD_SCOPE_SYSTEM, .stackaddr_attr = NULL, .stacksize_attr = THR_STACK_DEFAULT, - .guardsize_attr = 0 + .guardsize_attr = 0, + .cpusetsize = 0, + .cpuset = NULL }; struct pthread_mutex_attr _pthread_mutexattr_default = { ==== //depot/projects/e500/lib/libthr/thread/thr_private.h#5 (text+ko) ==== @@ -26,7 +26,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/thread/thr_private.h,v 1.81 2007/12/14 06:25:57 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.85 2008/03/05 07:01:20 davidxu Exp $ */ #ifndef _THR_PRIVATE_H @@ -39,6 +39,8 @@ #include #include #include +#include +#include #include #include #include @@ -221,6 +223,8 @@ void *stackaddr_attr; size_t stacksize_attr; size_t guardsize_attr; + cpuset_t *cpuset; + size_t cpusetsize; }; /* @@ -374,6 +378,15 @@ /* Thread temporary signal mask. */ sigset_t sigmask; + /* Thread is in SIGCANCEL handler. */ + int in_sigcancel_handler; + + /* New thread should unblock SIGCANCEL. */ + int unblock_sigcancel; + + /* Force new thread to exit. */ + int force_exit; + /* Thread state: */ enum pthread_state state; @@ -658,6 +671,8 @@ void _thread_bp_create(void); void _thread_bp_death(void); int _sched_yield(void); +int _pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); +int _pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); /* #include */ #ifdef _SYS_FCNTL_H_ ==== //depot/projects/e500/lib/libthr/thread/thr_sig.c#3 (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/thread/thr_sig.c,v 1.25 2007/11/21 05:23:54 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_sig.c,v 1.27 2008/03/05 07:04:55 davidxu Exp $ */ #include "namespace.h" @@ -69,7 +69,9 @@ if (curthread->cancel_defer && curthread->cancel_pending) thr_wake(curthread->tid); + curthread->in_sigcancel_handler++; _thr_ast(curthread); + curthread->in_sigcancel_handler--; } void ==== //depot/projects/e500/rescue/rescue/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/rescue/rescue/Makefile,v 1.58 2007/11/04 00:44:10 marcel Exp $ +#$FreeBSD: src/rescue/rescue/Makefile,v 1.59 2008/03/05 23:32:12 delphij Exp $ # @(#)Makefile 8.1 (Berkeley) 6/2/93 NO_MAN= @@ -186,6 +186,7 @@ CRUNCH_ALIAS_dump= rdump CRUNCH_ALIAS_fsck_ffs= fsck_4.2bsd fsck_ufs CRUNCH_ALIAS_geom= gpart +CRUNCH_ALIAS_geom= glabel # dhclient has historically been troublesome... CRUNCH_PROGS_sbin+= dhclient ==== //depot/projects/e500/sbin/ddb/ddb.8#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/ddb/ddb.8,v 1.2 2007/12/26 12:20:19 rwatson Exp $ +.\" $FreeBSD: src/sbin/ddb/ddb.8,v 1.3 2008/03/05 17:51:06 brooks Exp $ .\" .Dd 25 December, 2007 .Dt DDB 8 @@ -43,6 +43,8 @@ .Nm .Cm unscript .Ar scriptname +.Nm +.Ar pathname .Sh DESCRIPTION .Nm configures certain aspects of the @@ -51,6 +53,18 @@ easily via .Xr sysctl 8 MIB entries. +.Pp +To ease configuration, commands can be put in a file which is processed using +.Nm +as shown in the last synopsis line. +An absolute +.Ar pathname +must be used. +The file will be read line by line and applied as arguments to the +.Nm +utility. +Whitespace at the beginning of lines will be ignored as will lines where the +first non-whitespace character is #. .Sh SCRIPTING .Nm can be used to configure aspects of ==== //depot/projects/e500/sbin/ddb/ddb.c#2 (text+ko) ==== @@ -25,15 +25,20 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/ddb/ddb.c,v 1.1 2007/12/26 09:38:22 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sbin/ddb/ddb.c,v 1.2 2008/03/05 17:51:06 brooks Exp $"); +#include #include #include #include #include +#include #include "ddb.h" +void ddb_readfile(char *file); +void ddb_main(int argc, char *argv[]); + void usage(void) { @@ -46,15 +51,58 @@ exit(EX_USAGE); } -int -main(int argc, char *argv[]) +void +ddb_readfile(char *filename) +{ + char buf[BUFSIZ]; + FILE* f; + + if ((f = fopen(filename, "r")) == NULL) + err(EX_UNAVAILABLE, "fopen: %s", filename); + +#define WHITESP " \t" +#define MAXARG 2 + while (fgets(buf, BUFSIZ, f)) { + int argc = 0; + char *argv[MAXARG]; + size_t spn; + + spn = strlen(buf); + if (buf[spn-1] == '\n') + buf[spn-1] = '\0'; + + spn = strspn(buf, WHITESP); + argv[0] = buf + spn; + if (*argv[0] == '#' || *argv[0] == '\0') + continue; + argc++; + + spn = strcspn(argv[0], WHITESP); + argv[1] = argv[0] + spn + strspn(argv[0] + spn, WHITESP);; + argv[0][spn] = '\0'; + if (*argv[1] != '\0') + argc++; + +#ifdef DEBUG + { + int i; + printf("argc = %d\n", argc); + for (i = 0; i < argc; i++) { + printf("arg[%d] = %s\n", i, argv[i]); + } + } +#endif + ddb_main(argc, argv); + } +} + +void +ddb_main(int argc, char *argv[]) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 7 22:37:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D8721065676; Fri, 7 Mar 2008 22:37: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 4CA321065674 for ; Fri, 7 Mar 2008 22:37:50 +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 399A48FC1B for ; Fri, 7 Mar 2008 22:37:50 +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 m27Mboxv002896 for ; Fri, 7 Mar 2008 22:37:50 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27MboAY002891 for perforce@freebsd.org; Fri, 7 Mar 2008 22:37:50 GMT (envelope-from marcel@freebsd.org) Date: Fri, 7 Mar 2008 22:37:50 GMT Message-Id: <200803072237.m27MboAY002891@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 137123 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, 07 Mar 2008 22:37:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=137123 Change 137123 by marcel@marcel_cluster on 2008/03/07 22:37:30 IFC @137121 Affected files ... .. //depot/projects/powerpc/contrib/bsnmp/snmpd/main.c#2 integrate .. //depot/projects/powerpc/etc/Makefile#5 integrate .. //depot/projects/powerpc/etc/ddb.conf#1 branch .. //depot/projects/powerpc/etc/defaults/rc.conf#11 integrate .. //depot/projects/powerpc/etc/rc.d/Makefile#6 integrate .. //depot/projects/powerpc/etc/rc.d/ddb#1 branch .. //depot/projects/powerpc/etc/rc.d/mountcritlocal#4 integrate .. //depot/projects/powerpc/etc/rc.d/mountlate#3 integrate .. //depot/projects/powerpc/games/fortune/datfiles/fortunes#12 integrate .. //depot/projects/powerpc/include/pthread_np.h#5 integrate .. //depot/projects/powerpc/lib/libc/posix1e/mac.c#2 integrate .. //depot/projects/powerpc/lib/libc/posix1e/mac_exec.c#2 integrate .. //depot/projects/powerpc/lib/libc/posix1e/mac_get.c#2 integrate .. //depot/projects/powerpc/lib/libc/posix1e/mac_set.c#2 integrate .. //depot/projects/powerpc/lib/libc/stdlib/malloc.c#12 integrate .. //depot/projects/powerpc/lib/libelf/elf_update.c#4 integrate .. //depot/projects/powerpc/lib/libthr/pthread.map#7 integrate .. //depot/projects/powerpc/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/powerpc/lib/libthr/thread/thr_attr.c#3 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#4 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_init.c#5 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_private.h#7 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/projects/powerpc/rescue/rescue/Makefile#6 integrate .. //depot/projects/powerpc/sbin/ddb/ddb.8#2 integrate .. //depot/projects/powerpc/sbin/ddb/ddb.c#2 integrate .. //depot/projects/powerpc/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/powerpc/sbin/geom/Makefile#3 integrate .. //depot/projects/powerpc/sbin/geom/class/label/geom_label.c#3 integrate .. //depot/projects/powerpc/sbin/geom/core/geom.8#4 integrate .. //depot/projects/powerpc/sbin/geom/core/geom.c#6 integrate .. //depot/projects/powerpc/sbin/newfs/mkfs.c#3 integrate .. //depot/projects/powerpc/secure/usr.bin/ssh/Makefile#2 integrate .. //depot/projects/powerpc/secure/usr.sbin/sshd/Makefile#2 integrate .. //depot/projects/powerpc/share/man/man4/Makefile#19 integrate .. //depot/projects/powerpc/share/man/man4/cmx.4#1 branch .. //depot/projects/powerpc/share/man/man4/ddb.4#4 integrate .. //depot/projects/powerpc/share/man/man4/fwohci.4#3 integrate .. //depot/projects/powerpc/share/man/man4/uslcom.4#1 branch .. //depot/projects/powerpc/share/man/man5/rc.conf.5#11 integrate .. //depot/projects/powerpc/share/man/man9/bus_space.9#2 integrate .. //depot/projects/powerpc/share/misc/committers-ports.dot#9 integrate .. //depot/projects/powerpc/share/mk/bsd.cpu.mk#6 integrate .. //depot/projects/powerpc/share/mk/sys.mk#6 integrate .. //depot/projects/powerpc/sys/amd64/amd64/pmap.c#12 integrate .. //depot/projects/powerpc/sys/amd64/conf/GENERIC#14 integrate .. //depot/projects/powerpc/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/powerpc/sys/arm/arm/pmap.c#12 integrate .. //depot/projects/powerpc/sys/arm/arm/uio_machdep.c#2 integrate .. //depot/projects/powerpc/sys/arm/conf/AVILA#6 integrate .. //depot/projects/powerpc/sys/arm/include/pmap.h#7 integrate .. //depot/projects/powerpc/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/powerpc/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/powerpc/sys/conf/NOTES#21 integrate .. //depot/projects/powerpc/sys/conf/files#24 integrate .. //depot/projects/powerpc/sys/conf/files.powerpc#17 integrate .. //depot/projects/powerpc/sys/conf/kmod.mk#11 integrate .. //depot/projects/powerpc/sys/conf/options.powerpc#6 integrate .. //depot/projects/powerpc/sys/ddb/db_command.c#6 integrate .. //depot/projects/powerpc/sys/ddb/db_examine.c#5 integrate .. //depot/projects/powerpc/sys/ddb/db_input.c#5 integrate .. //depot/projects/powerpc/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/powerpc/sys/dev/bge/if_bge.c#17 integrate .. //depot/projects/powerpc/sys/dev/bge/if_bgereg.h#12 integrate .. //depot/projects/powerpc/sys/dev/cmx/cmx.c#1 branch .. //depot/projects/powerpc/sys/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/powerpc/sys/dev/cmx/cmxreg.h#1 branch .. //depot/projects/powerpc/sys/dev/cmx/cmxvar.h#1 branch .. //depot/projects/powerpc/sys/dev/ic/quicc.h#1 branch .. //depot/projects/powerpc/sys/dev/lge/if_lge.c#8 integrate .. //depot/projects/powerpc/sys/dev/mii/brgphy.c#14 integrate .. //depot/projects/powerpc/sys/dev/mii/ciphy.c#3 integrate .. //depot/projects/powerpc/sys/dev/mii/miidevs#12 integrate .. //depot/projects/powerpc/sys/dev/mii/rgephy.c#4 integrate .. //depot/projects/powerpc/sys/dev/msk/if_msk.c#13 integrate .. //depot/projects/powerpc/sys/dev/nfe/if_nfe.c#9 integrate .. //depot/projects/powerpc/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/powerpc/sys/dev/nfe/if_nfevar.h#4 integrate .. //depot/projects/powerpc/sys/dev/pccard/pccarddevs#8 integrate .. //depot/projects/powerpc/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/powerpc/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/powerpc/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/powerpc/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/powerpc/sys/dev/re/if_re.c#12 integrate .. //depot/projects/powerpc/sys/dev/scc/scc_bfe.h#3 integrate .. //depot/projects/powerpc/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/powerpc/sys/dev/scc/scc_bus.h#2 integrate .. //depot/projects/powerpc/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/powerpc/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/powerpc/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/powerpc/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/powerpc/sys/dev/uart/uart.h#3 integrate .. //depot/projects/powerpc/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/powerpc/sys/dev/uart/uart_bus_scc.c#2 integrate .. //depot/projects/powerpc/sys/dev/uart/uart_cpu_powerpc.c#4 integrate .. //depot/projects/powerpc/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/powerpc/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/powerpc/sys/dev/usb/usbdevs#18 integrate .. //depot/projects/powerpc/sys/dev/usb/uslcom.c#1 branch .. //depot/projects/powerpc/sys/i386/conf/GENERIC#16 integrate .. //depot/projects/powerpc/sys/i386/include/_types.h#2 integrate .. //depot/projects/powerpc/sys/i386/include/float.h#4 integrate .. //depot/projects/powerpc/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/powerpc/sys/kern/kern_priv.c#3 integrate .. //depot/projects/powerpc/sys/kern/kern_shutdown.c#10 integrate .. //depot/projects/powerpc/sys/kern/subr_witness.c#17 integrate .. //depot/projects/powerpc/sys/modules/Makefile#18 integrate .. //depot/projects/powerpc/sys/modules/cmx/Makefile#1 branch .. //depot/projects/powerpc/sys/modules/cxgb/cxgb_t3fw/Makefile#2 integrate .. //depot/projects/powerpc/sys/modules/uslcom/Makefile#1 branch .. //depot/projects/powerpc/sys/net/if.c#12 integrate .. //depot/projects/powerpc/sys/net/if_ethersubr.c#14 integrate .. //depot/projects/powerpc/sys/net/if_gif.c#6 integrate .. //depot/projects/powerpc/sys/netgraph/ng_base.c#14 integrate .. //depot/projects/powerpc/sys/netgraph/ng_ksocket.c#6 integrate .. //depot/projects/powerpc/sys/netgraph/ng_nat.h#4 integrate .. //depot/projects/powerpc/sys/netgraph/ng_pppoe.c#8 integrate .. //depot/projects/powerpc/sys/netinet/in.h#9 integrate .. //depot/projects/powerpc/sys/netinet/in_pcb.c#12 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw_nat.c#2 integrate .. //depot/projects/powerpc/sys/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias.c#3 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_db.c#4 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_ftp.c#3 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_irc.c#3 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_local.h#3 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_proxy.c#5 integrate .. //depot/projects/powerpc/sys/netinet/libalias/alias_smedia.c#2 integrate .. //depot/projects/powerpc/sys/nfsclient/nfs_vfsops.c#13 integrate .. //depot/projects/powerpc/sys/nfsserver/nfs_serv.c#10 integrate .. //depot/projects/powerpc/sys/pci/if_rl.c#9 integrate .. //depot/projects/powerpc/sys/pci/if_rlreg.h#10 integrate .. //depot/projects/powerpc/sys/powerpc/aim/locore.S#5 integrate .. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#6 integrate .. //depot/projects/powerpc/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/support.S#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/powerpc/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/powerpc/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/powerpc/sys/powerpc/conf/NOTES#10 integrate .. //depot/projects/powerpc/sys/powerpc/include/intr_machdep.h#6 integrate .. //depot/projects/powerpc/sys/powerpc/include/md_var.h#8 integrate .. //depot/projects/powerpc/sys/powerpc/include/mmuvar.h#2 integrate .. //depot/projects/powerpc/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/powerpc/sys/powerpc/include/openpicvar.h#6 integrate .. //depot/projects/powerpc/sys/powerpc/include/pcpu.h#11 integrate .. //depot/projects/powerpc/sys/powerpc/include/pmap.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/psl.h#4 integrate .. //depot/projects/powerpc/sys/powerpc/include/pte.h#4 integrate .. //depot/projects/powerpc/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/powerpc/sys/powerpc/include/spr.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/powerpc/sys/powerpc/include/trap.h#5 integrate .. //depot/projects/powerpc/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/powerpc/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/powerpc/sys/powerpc/include/vmparam.h#9 integrate .. //depot/projects/powerpc/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/powerpc/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/powerpc/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/powerpc/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/powerpc/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/powerpc/sys/powerpc/powermac/openpic_macio.c#5 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/autoconf.c#6 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/cpu.c#5 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/gdb_machdep.c#2 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/intr_machdep.c#8 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/openpic.c#8 integrate .. //depot/projects/powerpc/sys/powerpc/powerpc/pic_if.m#6 integrate .. //depot/projects/powerpc/sys/powerpc/psim/openpic_iobus.c#5 integrate .. //depot/projects/powerpc/sys/security/audit/audit_syscalls.c#11 integrate .. //depot/projects/powerpc/sys/sys/cpuset.h#2 integrate .. //depot/projects/powerpc/sys/sys/pcpu.h#10 integrate .. //depot/projects/powerpc/sys/ufs/ffs/ffs_vfsops.c#12 integrate .. //depot/projects/powerpc/sys/ufs/ufs/extattr.h#6 integrate .. //depot/projects/powerpc/sys/ufs/ufs/ufs_extattr.c#8 integrate .. //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/powerpc/usr.bin/chat/chat.c#2 integrate .. //depot/projects/powerpc/usr.bin/cpuset/Makefile#2 integrate .. //depot/projects/powerpc/usr.bin/cpuset/cpuset.1#1 branch .. //depot/projects/powerpc/usr.bin/cpuset/cpuset.c#2 integrate .. //depot/projects/powerpc/usr.bin/find/find.1#6 integrate .. //depot/projects/powerpc/usr.bin/find/main.c#2 integrate .. //depot/projects/powerpc/usr.bin/make/Makefile#2 integrate .. //depot/projects/powerpc/usr.bin/make/Makefile.dist#3 integrate .. //depot/projects/powerpc/usr.bin/make/arch.c#2 integrate .. //depot/projects/powerpc/usr.bin/make/job.c#3 integrate .. //depot/projects/powerpc/usr.bin/make/main.c#6 integrate .. //depot/projects/powerpc/usr.bin/make/make.1#5 integrate .. //depot/projects/powerpc/usr.bin/unifdef/unifdef.c#3 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate .. //depot/projects/powerpc/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#2 integrate .. //depot/projects/powerpc/usr.sbin/fwcontrol/fwcontrol.8#4 integrate .. //depot/projects/powerpc/usr.sbin/fwcontrol/fwcontrol.c#2 integrate .. //depot/projects/powerpc/usr.sbin/mountd/mountd.c#5 integrate .. //depot/projects/powerpc/usr.sbin/moused/Makefile#3 integrate .. //depot/projects/powerpc/usr.sbin/moused/moused.c#4 integrate Differences ... ==== //depot/projects/powerpc/contrib/bsnmp/snmpd/main.c#2 (text+ko) ==== @@ -2242,6 +2242,8 @@ return (m); err: + if ((m->flags & LM_ONSTARTLIST) != 0) + TAILQ_REMOVE(&modules_start, m, start); if (m->handle) dlclose(m->handle); free(m->path); ==== //depot/projects/powerpc/etc/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.365 2007/11/11 01:16:51 mlaier Exp $ +# $FreeBSD: src/etc/Makefile,v 1.366 2008/03/05 18:32:58 brooks Exp $ .include @@ -9,7 +9,7 @@ BIN1= amd.map apmd.conf auth.conf \ crontab csh.cshrc csh.login csh.logout devd.conf devfs.conf \ - dhclient.conf disktab fbtab freebsd-update.conf \ + ddb.conf dhclient.conf disktab fbtab freebsd-update.conf \ ftpusers gettytab group \ hosts hosts.allow hosts.equiv hosts.lpd \ inetd.conf libalias.conf login.access login.conf mac.conf motd \ ==== //depot/projects/powerpc/etc/defaults/rc.conf#11 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.326 2008/01/27 15:15:11 mtm Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.328 2008/03/06 14:01:10 mtm Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -33,6 +33,8 @@ apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO). apmd_enable="NO" # Run apmd to handle APM event from userland. apmd_flags="" # Flags to apmd (if enabled). +ddb_enable="NO" # Set to YES to load ddb scripts at boot. +ddb_config="/etc/ddb.conf" # ddb(8) config file. devd_enable="YES" # Run devd, to trigger programs on device tree changes. devd_flags="" # Additional flags for devd(8). kldxref_enable="NO" # Build linker.hints files with kldxref(8). @@ -249,7 +251,7 @@ rwhod_enable="NO" # Run the rwho daemon (or NO). rwhod_flags="" # Flags for rwhod rarpd_enable="NO" # Run rarpd (or NO). -rarpd_flags="" # Flags to rarpd. +rarpd_flags="-a" # Flags to rarpd. bootparamd_enable="NO" # Run bootparamd (or NO). bootparamd_flags="" # Flags to bootparamd pppoed_enable="NO" # Run the PPP over Ethernet daemon. ==== //depot/projects/powerpc/etc/rc.d/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.88 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.89 2008/03/05 18:32:58 brooks Exp $ .include @@ -7,7 +7,7 @@ apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \ bgfsck bluetooth bootparams bridge bsnmpd bthidd \ ccd cleanvar cleartmp cron \ - devd devfs dhclient \ + ddb devd devfs dhclient \ dmesg dumpon \ early.sh encswap \ fsck ftp-proxy ftpd \ ==== //depot/projects/powerpc/etc/rc.d/mountcritlocal#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.15 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.16 2008/03/06 14:39:33 mtm Exp $ # # PROVIDE: mountcritlocal @@ -15,6 +15,8 @@ mountcritlocal_start() { + local err + # Set up the list of network filesystem types for which mounting # should be delayed until after network initialization. case ${extra_netfs_types} in @@ -34,9 +36,10 @@ done mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} + err=$? echo '.' - case $? in + case ${err} in 0) ;; *) ==== //depot/projects/powerpc/etc/rc.d/mountlate#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountlate,v 1.2 2007/05/18 12:04:41 mtm Exp $ +# $FreeBSD: src/etc/rc.d/mountlate,v 1.3 2008/03/06 14:39:33 mtm Exp $ # # PROVIDE: mountlate @@ -16,12 +16,15 @@ mountlate_start() { + local err + # Mount "late" filesystems. echo -n 'Mounting late file systems:' mount -a -l + err=$? echo '.' - case $? in + case ${err} in 0) ;; *) ==== //depot/projects/powerpc/games/fortune/datfiles/fortunes#12 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.258 2008/03/03 10:06:52 dds Exp $ % ======================================================================= || || @@ -49242,7 +49242,7 @@ admit it, I tell him, `Forget it'. If they bring a car back late we overlook it. If they've had a crash and it doesn't involve another vehicle we might overlook that too." - "Where's the ashtray?" asked on Los Angeles wife, as she settled + "Where's the ashtray?" asked one Los Angeles wife, as she settled into the ripped interior. "Honey," said her husband, "the whole car's the ash tray." -- Stephen Pile, "The Book of Heroic Failures" ==== //depot/projects/powerpc/include/pthread_np.h#5 (text+ko) ==== @@ -26,11 +26,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread_np.h,v 1.20 2008/02/06 19:34:31 des Exp $ + * $FreeBSD: src/include/pthread_np.h,v 1.21 2008/03/03 08:28:13 davidxu Exp $ */ #ifndef _PTHREAD_NP_H_ #define _PTHREAD_NP_H_ +#include +#include + /* * Non-POSIX type definitions: */ @@ -42,6 +45,9 @@ __BEGIN_DECLS int pthread_attr_setcreatesuspend_np(pthread_attr_t *); int pthread_attr_get_np(pthread_t, pthread_attr_t *); +int pthread_attr_getaffinity_np(const pthread_attr_t *, size_t, cpuset_t *); +int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const cpuset_t *); +int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); int pthread_main_np(void); int pthread_multi_np(void); int pthread_mutexattr_getkind_np(pthread_mutexattr_t); @@ -54,6 +60,7 @@ int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count); int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count); int pthread_mutex_isowned_np(pthread_mutex_t *mutex); +int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); ==== //depot/projects/powerpc/lib/libc/posix1e/mac.c#2 (text+ko) ==== @@ -30,10 +30,11 @@ * 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/libc/posix1e/mac.c,v 1.12 2004/01/06 18:26:15 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac.c,v 1.13 2008/03/07 15:25:56 rwatson Exp $"); + #include #include #include ==== //depot/projects/powerpc/lib/libc/posix1e/mac_exec.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_exec.c,v 1.2 2003/02/16 17:29:10 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_exec.c,v 1.3 2008/03/07 15:25:56 rwatson Exp $"); + #include #include ==== //depot/projects/powerpc/lib/libc/posix1e/mac_get.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_get.c,v 1.5 2005/01/23 15:28:02 rwatson Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_get.c,v 1.6 2008/03/07 15:25:56 rwatson Exp $"); + #include #include #include ==== //depot/projects/powerpc/lib/libc/posix1e/mac_set.c#2 (text+ko) ==== @@ -27,10 +27,11 @@ * 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/libc/posix1e/mac_set.c,v 1.3 2003/02/27 13:40:01 nectar Exp $ */ +#include +__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_set.c,v 1.4 2008/03/07 15:25:56 rwatson Exp $"); + #include #include ==== //depot/projects/powerpc/lib/libc/stdlib/malloc.c#12 (text+ko) ==== @@ -45,7 +45,8 @@ * Allocation requests are rounded up to the nearest size class, and no record * of the original request size is maintained. Allocations are broken into * categories according to size class. Assuming runtime defaults, 4 kB pages - * and a 16 byte quantum, the size classes in each category are as follows: + * and a 16 byte quantum on a 32-bit system, the size classes in each category + * are as follows: * * |=====================================| * | Category | Subcategory | Size | @@ -69,9 +70,9 @@ * | | 8 kB | * | | 12 kB | * | | ... | + * | | 1004 kB | + * | | 1008 kB | * | | 1012 kB | - * | | 1016 kB | - * | | 1020 kB | * |=====================================| * | Huge | 1 MB | * | | 2 MB | @@ -127,7 +128,7 @@ #define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.166 2008/02/17 18:34:17 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.167 2008/03/07 16:54:03 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -145,7 +146,6 @@ #include #include /* Must come after several other sys/ includes. */ -#include #include #include ==== //depot/projects/powerpc/lib/libelf/elf_update.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Joseph Koshy + * Copyright (c) 2006-2008 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.3 2007/09/08 08:20:12 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.4 2008/03/03 04:29:25 jkoshy Exp $"); #include #include @@ -246,13 +246,19 @@ tmin = t->s_offset; tmax = tmin + t->s_size; - /* check if there is an overlap */ - if (tmax < smin) { + if (tmax <= smin) { + /* + * 't' lies entirely before 's': ...| t |...| s |... + */ prevt = t; continue; - } else if (smax < tmin) + } else if (smax <= tmin) + /* + * 's' lies entirely before 't', and after 'prevt': + * ...| prevt |...| s |...| t |... + */ break; - else { + else { /* 's' and 't' overlap. */ LIBELF_SET_ERROR(LAYOUT, 0); return (0); } ==== //depot/projects/powerpc/lib/libthr/pthread.map#7 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libthr/pthread.map,v 1.26 2008/02/06 20:45:46 des Exp $ + * $FreeBSD: src/lib/libthr/pthread.map,v 1.28 2008/03/05 06:56:35 davidxu Exp $ */ /* @@ -117,8 +117,8 @@ pthread_rwlockattr_getpshared; pthread_rwlockattr_init; pthread_rwlockattr_setpshared; + pthread_set_name_np; pthread_self; - pthread_set_name_np; pthread_setcancelstate; pthread_setcanceltype; pthread_setconcurrency; @@ -228,6 +228,7 @@ _pthread_barrierattr_setpshared; _pthread_attr_destroy; _pthread_attr_get_np; + _pthread_attr_getaffinity_np; _pthread_attr_getdetachstate; _pthread_attr_getguardsize; _pthread_attr_getinheritsched; @@ -238,6 +239,7 @@ _pthread_attr_getstackaddr; _pthread_attr_getstacksize; _pthread_attr_init; + _pthread_attr_setaffinity_np; _pthread_attr_setcreatesuspend_np; _pthread_attr_setdetachstate; _pthread_attr_setguardsize; @@ -267,6 +269,7 @@ _pthread_detach; _pthread_equal; _pthread_exit; + _pthread_getaffinity_np; _pthread_getconcurrency; _pthread_getprio; _pthread_getschedparam; @@ -321,6 +324,7 @@ _pthread_rwlockattr_setpshared; _pthread_self; _pthread_set_name_np; + _pthread_setaffinity_np; _pthread_setcancelstate; _pthread_setcanceltype; _pthread_setconcurrency; @@ -388,6 +392,10 @@ }; FBSD_1.1 { + pthread_attr_getaffinity_np; + pthread_attr_setaffinity_np; + pthread_getaffinity_np; + pthread_setaffinity_np; pthread_mutex_getspinloops_np; pthread_mutex_getyieldloops_np; pthread_mutex_isowned_np; ==== //depot/projects/powerpc/lib/libthr/thread/Makefile.inc#2 (text+ko) ==== @@ -1,9 +1,10 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.16 2006/04/04 02:57:49 davidxu Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.17 2008/03/03 09:16:29 davidxu Exp $ # thr sources .PATH: ${.CURDIR}/thread SRCS+= \ + thr_affinity.c \ thr_attr.c \ thr_barrier.c \ thr_barrierattr.c \ ==== //depot/projects/powerpc/lib/libthr/thread/thr_attr.c#3 (text+ko) ==== @@ -90,7 +90,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.8 2007/01/12 07:26:20 imp Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.11 2008/03/06 03:24:03 davidxu Exp $ */ #include "namespace.h" @@ -99,6 +99,7 @@ #include #include #include +#include #include "un-namespace.h" #include "thr_private.h" @@ -148,7 +149,9 @@ attr.flags |= PTHREAD_DETACHED; _thr_ref_delete(curthread, pid); memcpy(*dst, &attr, sizeof(struct pthread_attr)); - + /* XXX */ + (*dst)->cpuset = NULL; + (*dst)->cpusetsize = 0; return (0); } @@ -543,3 +546,92 @@ } return(ret); } + +static int +_get_kern_cpuset_size() +{ + static int kern_cpuset_size = 0; + + if (kern_cpuset_size == 0) { + int len; + + len = sizeof(kern_cpuset_size); + if (sysctlbyname("kern.smp.maxcpus", &kern_cpuset_size, + &len, NULL, 0)) + PANIC("failed to get sysctl kern.smp.maxcpus"); + + kern_cpuset_size = (kern_cpuset_size + 7) / 8; + } + + return (kern_cpuset_size); +} + +__weak_reference(_pthread_attr_setaffinity_np, pthread_attr_setaffinity_np); +int +_pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize, + const cpuset_t *cpuset) +{ + pthread_attr_t attr; + int ret; + + if (pattr == NULL || (attr = (*pattr)) == NULL) + ret = EINVAL; + else { + if (cpusetsize == 0 || cpuset == NULL) { + if (attr->cpuset != NULL) { + free(attr->cpuset); + attr->cpuset = NULL; + attr->cpusetsize = 0; + } + return (0); + } + + if (cpusetsize > attr->cpusetsize) { + int kern_size = _get_kern_cpuset_size(); + if (cpusetsize > kern_size) { + int i; + for (i = kern_size; i < cpusetsize; ++i) { + if (((char *)cpuset)[i]) + return (EINVAL); + } + } + void *newset = realloc(attr->cpuset, cpusetsize); + if (newset == NULL) + return (ENOMEM); + attr->cpuset = newset; + attr->cpusetsize = cpusetsize; + } else { + memset(((char *)attr->cpuset) + cpusetsize, 0, + attr->cpusetsize - cpusetsize); + attr->cpusetsize = cpusetsize; + } + memcpy(attr->cpuset, cpuset, cpusetsize); + ret = 0; + } + return (ret); +} + +__weak_reference(_pthread_attr_getaffinity_np, pthread_attr_getaffinity_np); +int +_pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, + cpuset_t *cpuset) +{ + pthread_attr_t attr; + int ret = 0; + + if (pattr == NULL || (attr = (*pattr)) == NULL) + ret = EINVAL; + else if (attr->cpuset != NULL) { + memcpy(cpuset, attr->cpuset, MIN(cpusetsize, attr->cpusetsize)); + if (cpusetsize > attr->cpusetsize) + memset(((char *)cpuset) + attr->cpusetsize, 0, + cpusetsize - attr->cpusetsize); + } else { + int kern_size = _get_kern_cpuset_size(); + memset(cpuset, -1, MIN(cpusetsize, kern_size)); + if (cpusetsize > kern_size) + memset(((char *)cpuset) + kern_size, 0, + cpusetsize - kern_size); + } + return (ret); +} ==== //depot/projects/powerpc/lib/libthr/thread/thr_create.c#3 (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/thread/thr_create.c,v 1.36 2006/12/15 11:52:01 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.40 2008/03/06 01:59:08 davidxu Exp $ */ #include "namespace.h" @@ -36,6 +36,7 @@ #include #include #include +#include #include "un-namespace.h" #include "thr_private.h" @@ -55,6 +56,8 @@ struct rtprio rtp; int ret = 0, locked, create_suspended; sigset_t set, oset; + cpuset_t *cpuset = NULL; + int cpusetsize = 0; _thr_check_init(); @@ -73,8 +76,13 @@ if (attr == NULL || *attr == NULL) /* Use the default thread attributes: */ new_thread->attr = _pthread_attr_default; - else + else { new_thread->attr = *(*attr); + cpuset = new_thread->attr.cpuset; + cpusetsize = new_thread->attr.cpusetsize; + new_thread->attr.cpuset = NULL; + new_thread->attr.cpusetsize = 0; + } if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) { /* inherit scheduling contention scope */ if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM) @@ -119,12 +127,17 @@ if (new_thread->attr.flags & PTHREAD_CREATE_DETACHED) new_thread->tlflags |= TLFLAGS_DETACHED; + if (curthread->in_sigcancel_handler) + new_thread->unblock_sigcancel = 1; + else + new_thread->unblock_sigcancel = 0; + /* Add the new thread. */ new_thread->refcount = 1; _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; - if (SHOULD_REPORT_EVENT(curthread, TD_CREATE)) { + if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpuset != NULL) { THR_THREAD_LOCK(curthread, new_thread); locked = 1; } else @@ -142,11 +155,11 @@ param.flags |= THR_SYSTEM_SCOPE; if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) param.rtp = NULL; - else { - sched_param.sched_priority = new_thread->attr.prio; - _schedparam_to_rtp(new_thread->attr.sched_policy, - &sched_param, &rtp); - param.rtp = &rtp; + else { + sched_param.sched_priority = new_thread->attr.prio; + _schedparam_to_rtp(new_thread->attr.sched_policy, + &sched_param, &rtp); + param.rtp = &rtp; } /* Schedule the new thread. */ @@ -168,8 +181,10 @@ ret = EAGAIN; } - if (create_suspended) + if (create_suspended) { __sys_sigprocmask(SIG_SETMASK, &oset, NULL); + SIGDELSET(oset, SIGCANCEL); + } if (ret != 0) { if (!locked) @@ -186,11 +201,31 @@ new_thread->tlflags |= TLFLAGS_DETACHED; _thr_ref_delete_unlocked(curthread, new_thread); THREAD_LIST_UNLOCK(curthread); - (*thread) = 0; } else if (locked) { + if (cpuset != NULL) { + if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, + TID(new_thread), cpusetsize, cpuset)) { + ret = errno; + /* kill the new thread */ + new_thread->force_exit = 1; + THR_THREAD_UNLOCK(curthread, new_thread); + goto out; + } + } + _thr_report_creation(curthread, new_thread); THR_THREAD_UNLOCK(curthread, new_thread); +out: + if (ret) { + THREAD_LIST_LOCK(curthread); + new_thread->tlflags |= TLFLAGS_DETACHED; + _thr_ref_delete_unlocked(curthread, new_thread); + THREAD_LIST_UNLOCK(curthread); + } } + + if (ret) + (*thread) = 0; return (ret); } @@ -213,6 +248,25 @@ static void thread_start(struct pthread *curthread) { + /* + * This is used as a serialization point to allow parent + * to report 'new thread' event to debugger or tweak new thread's + * attributes before the new thread does real-world work. + */ + THR_LOCK(curthread); + THR_UNLOCK(curthread); + + if (curthread->force_exit) + _pthread_exit(PTHREAD_CANCELED); + + if (curthread->unblock_sigcancel) { + sigset_t set; + + SIGEMPTYSET(set); + SIGADDSET(set, SIGCANCEL); + sigprocmask(SIG_UNBLOCK, &set, NULL); + } + if (curthread->attr.suspend == THR_CREATE_SUSPENDED) { sigset_t set = curthread->sigmask; @@ -225,14 +279,6 @@ sigprocmask(SIG_SETMASK, &set, NULL); } - /* - * This is used as a serialization point to allow parent - * to report 'new thread' event to debugger before the thread - * does real work. - */ - THR_LOCK(curthread); - THR_UNLOCK(curthread); - /* Run the current thread's start routine with argument: */ _pthread_exit(curthread->start_routine(curthread->arg)); ==== //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.24 2007/12/20 04:40:12 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.25 2008/03/06 02:07:18 davidxu Exp $ */ #include @@ -130,7 +130,7 @@ if (curthread->tlflags & TLFLAGS_DETACHED) THR_GCLIST_ADD(curthread); THREAD_LIST_UNLOCK(curthread); - if (SHOULD_REPORT_EVENT(curthread, TD_DEATH)) + if (!curthread->force_exit && SHOULD_REPORT_EVENT(curthread, TD_DEATH)) _thr_report_death(curthread); /* ==== //depot/projects/powerpc/lib/libthr/thread/thr_init.c#5 (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_init.c,v 1.47 2007/10/30 05:57:36 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.49 2008/03/05 07:01:20 davidxu Exp $ */ #include "namespace.h" @@ -75,13 +75,15 @@ struct pthread_attr _pthread_attr_default = { .sched_policy = SCHED_OTHER, - .sched_inherit = 0, + .sched_inherit = PTHREAD_INHERIT_SCHED, .prio = 0, .suspend = THR_CREATE_RUNNING, .flags = PTHREAD_SCOPE_SYSTEM, .stackaddr_attr = NULL, .stacksize_attr = THR_STACK_DEFAULT, - .guardsize_attr = 0 + .guardsize_attr = 0, + .cpusetsize = 0, + .cpuset = NULL }; struct pthread_mutex_attr _pthread_mutexattr_default = { ==== //depot/projects/powerpc/lib/libthr/thread/thr_private.h#7 (text+ko) ==== @@ -26,7 +26,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/thread/thr_private.h,v 1.81 2007/12/14 06:25:57 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.85 2008/03/05 07:01:20 davidxu Exp $ */ #ifndef _THR_PRIVATE_H @@ -39,6 +39,8 @@ #include #include #include +#include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 7 23:01:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 634DD1065673; Fri, 7 Mar 2008 23:01: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 22E981065672 for ; Fri, 7 Mar 2008 23:01:20 +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 10FB78FC1D for ; Fri, 7 Mar 2008 23:01:20 +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 m27N1Jrk003810 for ; Fri, 7 Mar 2008 23:01:19 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27N1J0E003808 for perforce@freebsd.org; Fri, 7 Mar 2008 23:01:19 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 23:01:19 GMT Message-Id: <200803072301.m27N1J0E003808@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 137126 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, 07 Mar 2008 23:01:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=137126 Change 137126 by sam@sam_ebb on 2008/03/07 23:00:58 overhaul debug support: use the net80211 debug flag to control msgs instead of the ath debug flags Affected files ... .. //depot/projects/vap/sys/dev/ath/ath_rate/sample/sample.c#9 edit .. //depot/projects/vap/sys/modules/ath_rate_sample/Makefile#5 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/ath_rate/sample/sample.c#9 (text+ko) ==== @@ -42,6 +42,7 @@ * John Bicket's SampleRate control algorithm. */ #include "opt_inet.h" +#include "opt_wlan.h" #include #include @@ -61,7 +62,6 @@ #include #include #include -#include /* XXX for ether_sprintf */ #include @@ -76,23 +76,6 @@ #include #include -#define SAMPLE_DEBUG -#ifdef SAMPLE_DEBUG -enum { - ATH_DEBUG_NODE = 0x00080000, /* node management */ - ATH_DEBUG_RATE = 0x00000010, /* rate control */ - ATH_DEBUG_ANY = 0xffffffff -}; -#define DPRINTF(sc, m, fmt, ...) do { \ - if (sc->sc_debug & (m)) \ - printf(fmt, __VA_ARGS__); \ -} while (0) -#else -#define DPRINTF(sc, m, fmt, ...) do { \ - (void) sc; \ -} while (0) -#endif - /* * This file is an implementation of the SampleRate algorithm * in "Bit-rate Selection in Wireless Networks" @@ -152,14 +135,12 @@ void ath_rate_node_init(struct ath_softc *sc, struct ath_node *an) { - DPRINTF(sc, ATH_DEBUG_NODE, "%s:\n", __func__); /* NB: assumed to be zero'd by caller */ } void ath_rate_node_cleanup(struct ath_softc *sc, struct ath_node *an) { - DPRINTF(sc, ATH_DEBUG_NODE, "%s:\n", __func__); } @@ -323,10 +304,11 @@ if (change_rates) { if (best_ndx != sn->current_rate[size_bin]) { - DPRINTF(sc, ATH_DEBUG_RATE, -"%s: %s size %d switch rate %d (%d/%d) -> %d (%d/%d) after %d packets mrr %d\n", + IEEE80211_NOTE(an->an_node.ni_vap, + IEEE80211_MSG_RATECTL, + &an->an_node, +"%s: size %d switch rate %d (%d/%d) -> %d (%d/%d) after %d packets mrr %d", __func__, - ether_sprintf(an->an_node.ni_macaddr), packet_size_bins[size_bin], sn->rates[sn->current_rate[size_bin]].rate, sn->stats[size_bin][sn->current_rate[size_bin]].average_tx_time, @@ -491,9 +473,10 @@ if (ndx0 == sn->current_sample_ndx[size_bin]) { - DPRINTF(sc, ATH_DEBUG_RATE, -"%s: %s size %d %s sample rate %d tries (%d/%d) tt %d avg_tt (%d/%d)\n", - __func__, ether_sprintf(an->an_node.ni_macaddr), + IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL, + &an->an_node, +"%s: size %d %s sample rate %d tries (%d/%d) tt %d avg_tt (%d/%d)", + __func__, size, status ? "FAIL" : "OK", rate, short_tries, tries, tt, @@ -523,9 +506,10 @@ frame_size = 1500; if (sn->num_rates <= 0) { - DPRINTF(sc, ATH_DEBUG_RATE, - "%s: %s size %d %s rate/try %d/%d no rates yet\n", - __func__, ether_sprintf(an->an_node.ni_macaddr), + IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL, + &an->an_node, + "%s: size %d %s rate/try %d/%d no rates yet", + __func__, bin_to_size(size_to_bin(frame_size)), ts->ts_status ? "FAIL" : "OK", short_tries, long_tries); @@ -538,9 +522,9 @@ /* * Only one rate was used; optimize work. */ - DPRINTF(sc, ATH_DEBUG_RATE, - "%s: %s size %d %s rate/try %d/%d/%d\n", - __func__, ether_sprintf(an->an_node.ni_macaddr), + IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL, + &an->an_node, "%s: size %d %s rate/try %d/%d/%d", + __func__, bin_to_size(size_to_bin(frame_size)), ts->ts_status ? "FAIL" : "OK", final_rate, short_tries, long_tries); @@ -588,9 +572,10 @@ tries3 = MS(ds0->ds_ctl2, AR_XmitDataTries3); ndx3 = rate_to_ndx(sn, rate3); - DPRINTF(sc, ATH_DEBUG_RATE, -"%s: %s size %d finaltsidx %d tries %d %s rate/try [%d/%d %d/%d %d/%d %d/%d]\n", - __func__, ether_sprintf(an->an_node.ni_macaddr), + IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL, + &an->an_node, +"%s: size %d finaltsidx %d tries %d %s rate/try [%d/%d %d/%d %d/%d %d/%d]", + __func__, bin_to_size(size_to_bin(frame_size)), finalTSIdx, long_tries, @@ -655,8 +640,6 @@ void ath_rate_newassoc(struct ath_softc *sc, struct ath_node *an, int isnew) { - DPRINTF(sc, ATH_DEBUG_NODE, "%s: %s isnew %d\n", __func__, - ether_sprintf(an->an_node.ni_macaddr), isnew); if (isnew) ath_rate_ctl_reset(sc, &an->an_node); } @@ -697,30 +680,34 @@ sn->static_rate_ndx = srate; } - DPRINTF(sc, ATH_DEBUG_RATE, "%s: %s size 1600 rate/tt", - __func__, ether_sprintf(ni->ni_macaddr)); - sn->num_rates = ni->ni_rates.rs_nrates; for (x = 0; x < ni->ni_rates.rs_nrates; x++) { sn->rates[x].rate = ni->ni_rates.rs_rates[x] & IEEE80211_RATE_VAL; sn->rates[x].rix = sc->sc_rixmap[sn->rates[x].rate]; if (sn->rates[x].rix == 0xff) { - DPRINTF(sc, ATH_DEBUG_RATE, - "%s: ignore bogus rix at %d\n", __func__, x); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "%s: ignore bogus rix at %d", __func__, x); continue; } sn->rates[x].rateCode = rt->info[sn->rates[x].rix].rateCode; sn->rates[x].shortPreambleRateCode = rt->info[sn->rates[x].rix].rateCode | rt->info[sn->rates[x].rix].shortPreamble; - - DPRINTF(sc, ATH_DEBUG_RATE, " %d/%d", sn->rates[x].rate, - calc_usecs_unicast_packet(sc, 1600, sn->rates[x].rix, 0,0)); + } +#ifdef IEEE80211_DEBUG + if (ieee80211_msg(ni->ni_vap, IEEE80211_MSG_RATECTL)) { + ieee80211_note(ni->ni_vap, "[%6D] %s: size 1600 rate/tt", + __func__, ni->ni_macaddr, ":"); + for (x = 0; x < sn->num_rates; x++) { + if (sn->rates[x].rix == 0xff) + continue; + printf(" %d/%d", sn->rates[x].rate, + calc_usecs_unicast_packet(sc, 1600, + sn->rates[x].rix, 0,0)); + } + printf("\n"); } - DPRINTF(sc, ATH_DEBUG_RATE, "%s\n", ""); - - sn->num_rates = ni->ni_rates.rs_nrates; - +#endif for (y = 0; y < NUM_PACKET_SIZE_BINS; y++) { int size = bin_to_size(y); int ndx = 0; @@ -751,9 +738,8 @@ sn->current_rate[y] = ndx; } - DPRINTF(sc, ATH_DEBUG_RATE, - "%s: %s %d rates %d%sMbps (%dus)- %d%sMbps (%dus)\n", - __func__, ether_sprintf(ni->ni_macaddr), + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "%s: %d rates %d%sMbps (%dus)- %d%sMbps (%dus)", __func__, sn->num_rates, sn->rates[0].rate/2, sn->rates[0].rate % 0x1 ? ".5" : "", sn->stats[1][0].perfect_tx_time, @@ -819,7 +805,6 @@ { struct sample_softc *osc; - DPRINTF(sc, ATH_DEBUG_ANY, "%s:\n", __func__); osc = malloc(sizeof(struct sample_softc), M_DEVBUF, M_NOWAIT|M_ZERO); if (osc == NULL) return NULL; ==== //depot/projects/vap/sys/modules/ath_rate_sample/Makefile#5 (text+ko) ==== @@ -40,7 +40,7 @@ KMOD= ath_rate SRCS= sample.c -SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h opt_wlan.h HAL= ${.CURDIR}/../../contrib/dev/ath CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} @@ -56,7 +56,13 @@ ATH_MODULE_ARCH=${MACHINE_ARCH} .endif +.if !defined(KERNBUILDDIR) opt_ah.h: ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h cp ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h ${.TARGET} +opt_wlan.h: +# echo "#define IEEE80211_DEBUG 1" > opt_wlan.h + echo > opt_wlan.h +.endif + .include From owner-p4-projects@FreeBSD.ORG Fri Mar 7 23:03:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97883106568F; Fri, 7 Mar 2008 23:03: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 55C311065687 for ; Fri, 7 Mar 2008 23:03:22 +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 447F28FC16 for ; Fri, 7 Mar 2008 23:03:22 +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 m27N3Mwf005040 for ; Fri, 7 Mar 2008 23:03:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27N3M80005038 for perforce@freebsd.org; Fri, 7 Mar 2008 23:03:22 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 23:03:22 GMT Message-Id: <200803072303.m27N3M80005038@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 137127 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, 07 Mar 2008 23:03:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=137127 Change 137127 by sam@sam_ebb on 2008/03/07 23:02:50 o convert debug msgs to use net80211 debug flag o purge callout; track time and update in tx complete routine Affected files ... .. //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.c#8 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.h#4 edit .. //depot/projects/vap/sys/modules/ath_rate_amrr/Makefile#5 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.c#8 (text+ko) ==== @@ -46,6 +46,7 @@ * Mathieu Lacage, Hossein Manshaei, Thierry Turletti */ #include "opt_inet.h" +#include "opt_wlan.h" #include #include @@ -65,7 +66,6 @@ #include #include #include -#include /* XXX for ether_sprintf */ #include @@ -80,21 +80,10 @@ #include #include -#define AMRR_DEBUG -#ifdef AMRR_DEBUG -#define DPRINTF(sc, _fmt, ...) do { \ - if (sc->sc_debug & 0x10) \ - printf(_fmt, __VA_ARGS__); \ -} while (0) -#else -#define DPRINTF(sc, _fmt, ...) -#endif - static int ath_rateinterval = 1000; /* rate ctl interval (ms) */ static int ath_rate_max_success_threshold = 10; static int ath_rate_min_success_threshold = 1; -static void ath_ratectl(void *); static void ath_rate_update(struct ath_softc *, struct ieee80211_node *, int rate); static void ath_rate_ctl_start(struct ath_softc *, struct ieee80211_node *); @@ -104,7 +93,6 @@ ath_rate_node_init(struct ath_softc *sc, struct ath_node *an) { /* NB: assumed to be zero'd by caller */ - ath_rate_update(sc, &an->an_node, 0); } void @@ -166,6 +154,11 @@ amn->amn_tx_try3_cnt++; amn->amn_tx_failure_cnt++; } + if (amn->amn_interval != 0 && + ticks - amn->amn_ticks > amn->amn_interval) { + ath_rate_ctl(sc, &an->an_node); + amn->amn_ticks = ticks; + } } void @@ -176,7 +169,7 @@ } static void -node_reset (struct amrr_node *amn) +node_reset(struct amrr_node *amn) { amn->amn_tx_try0_cnt = 0; amn->amn_tx_try1_cnt = 0; @@ -200,13 +193,14 @@ { struct ath_node *an = ATH_NODE(ni); struct amrr_node *amn = ATH_NODE_AMRR(an); + struct ieee80211vap *vap = ni->ni_vap; const HAL_RATE_TABLE *rt = sc->sc_currates; u_int8_t rix; KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); - DPRINTF(sc, "%s: set xmit rate for %s to %dM\n", - __func__, ether_sprintf(ni->ni_macaddr), + IEEE80211_NOTE(vap, IEEE80211_MSG_RATECTL, ni, + "%s: set xmit rate to %dM", __func__, ni->ni_rates.rs_nrates > 0 ? (ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL) / 2 : 0); @@ -268,7 +262,12 @@ amn->amn_tx_rate3 = amn->amn_tx_rate3sp = 0; } } - node_reset (amn); + node_reset(amn); + + amn->amn_interval = ath_rateinterval; + if (vap->iv_opmode == IEEE80211_M_STA) + amn->amn_interval /= 2; + amn->amn_interval = (amn->amn_interval * hz) / 1000; } /* @@ -338,14 +337,10 @@ { struct ieee80211com *ic = vap->iv_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; - struct amrr_softc *asc = (struct amrr_softc *) sc->sc_rc; - const struct ieee80211_txparam *tp; struct ieee80211_node *ni; - if (state == IEEE80211_S_INIT) { - callout_stop(&asc->timer); + if (state == IEEE80211_S_INIT) return; - } if (vap->iv_opmode == IEEE80211_M_STA) { /* * Reset local xmit state; this is really only @@ -367,20 +362,6 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, vap->iv_bss, 0); } - tp = ATH_NODE(vap->iv_bss)->an_tp; - if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE && - state == IEEE80211_S_RUN) { - int interval; - /* - * Start the background rate control thread if we - * are not configured to use a fixed xmit rate. - */ - interval = ath_rateinterval; - if (vap->iv_opmode == IEEE80211_M_STA) - interval /= 2; - callout_reset(&asc->timer, (interval * hz) / 1000, - ath_ratectl, vap); - } } /* @@ -402,12 +383,10 @@ rix = amn->amn_rix; - DPRINTF (sc, "cnt0: %d cnt1: %d cnt2: %d cnt3: %d -- threshold: %d\n", - amn->amn_tx_try0_cnt, - amn->amn_tx_try1_cnt, - amn->amn_tx_try2_cnt, - amn->amn_tx_try3_cnt, - amn->amn_success_threshold); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "cnt0: %d cnt1: %d cnt2: %d cnt3: %d -- threshold: %d", + amn->amn_tx_try0_cnt, amn->amn_tx_try1_cnt, amn->amn_tx_try2_cnt, + amn->amn_tx_try3_cnt, amn->amn_success_threshold); if (is_success (amn) && is_enough (amn)) { amn->amn_success++; if (amn->amn_success == amn->amn_success_threshold && @@ -415,7 +394,8 @@ amn->amn_recovery = 1; amn->amn_success = 0; rix++; - DPRINTF (sc, "increase rate to %d\n", rix); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "increase rate to %d", rix); } else { amn->amn_recovery = 0; } @@ -427,11 +407,17 @@ amn->amn_success_threshold *= 2; amn->amn_success_threshold = min (amn->amn_success_threshold, (u_int)ath_rate_max_success_threshold); - DPRINTF (sc, "decrease rate recovery thr: %d\n", amn->amn_success_threshold); + IEEE80211_NOTE(ni->ni_vap, + IEEE80211_MSG_RATECTL, ni, + "decrease rate recovery thr: %d", + amn->amn_success_threshold); } else { /* simple failure. */ amn->amn_success_threshold = ath_rate_min_success_threshold; - DPRINTF (sc, "decrease rate normal thr: %d\n", amn->amn_success_threshold); + IEEE80211_NOTE(ni->ni_vap, + IEEE80211_MSG_RATECTL, ni, + "decrease rate normal thr: %d", + amn->amn_success_threshold); } amn->amn_recovery = 0; rix--; @@ -454,30 +440,6 @@ } static void -ath_ratectl(void *arg) -{ - struct ieee80211vap *vap = arg; - struct ieee80211com *ic = vap->iv_ic; - struct ifnet *ifp = ic->ic_ifp; - struct ath_softc *sc = ifp->if_softc; - struct amrr_softc *asc = (struct amrr_softc *) sc->sc_rc; - int interval; - - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - sc->sc_stats.ast_rate_calls++; - - if (vap->iv_opmode == IEEE80211_M_STA) - ath_rate_ctl(sc, vap->iv_bss); /* NB: no reference */ - else - ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_ctl, sc); - } - interval = ath_rateinterval; - if (vap->iv_opmode == IEEE80211_M_STA) - interval /= 2; - callout_reset(&asc->timer, (interval * hz) / 1000, ath_ratectl, arg); -} - -static void ath_rate_sysctlattach(struct ath_softc *sc) { struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev); @@ -504,7 +466,6 @@ if (asc == NULL) return NULL; asc->arc.arc_space = sizeof(struct amrr_node); - callout_init(&asc->timer, CALLOUT_MPSAFE); ath_rate_sysctlattach(sc); return &asc->arc; @@ -515,7 +476,6 @@ { struct amrr_softc *asc = (struct amrr_softc *) arc; - callout_drain(&asc->timer); free(asc, M_DEVBUF); } ==== //depot/projects/vap/sys/dev/ath/ath_rate/amrr/amrr.h#4 (text+ko) ==== @@ -43,12 +43,13 @@ /* per-device state */ struct amrr_softc { struct ath_ratectrl arc; /* base state */ - struct callout timer; /* periodic timer */ }; /* per-node state */ struct amrr_node { int amn_rix; /* current rate index */ + int amn_ticks; /* time of last update */ + int amn_interval; /* update interval (ticks) */ /* AMRR statistics for this node */ u_int amn_tx_try0_cnt; u_int amn_tx_try1_cnt; ==== //depot/projects/vap/sys/modules/ath_rate_amrr/Makefile#5 (text+ko) ==== @@ -40,7 +40,7 @@ KMOD= ath_rate SRCS= amrr.c -SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h opt_wlan.h HAL= ${.CURDIR}/../../contrib/dev/ath CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} @@ -56,7 +56,13 @@ ATH_MODULE_ARCH=${MACHINE_ARCH} .endif +.if !defined(KERNBUILDDIR) opt_ah.h: ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h cp ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h ${.TARGET} +opt_wlan.h: +# echo "#define IEEE80211_DEBUG 1" > opt_wlan.h + echo > opt_wlan.h +.endif + .include From owner-p4-projects@FreeBSD.ORG Fri Mar 7 23:03:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28AD710656FB; Fri, 7 Mar 2008 23:03: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 79112106568B for ; Fri, 7 Mar 2008 23:03:22 +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 679818FC1A for ; Fri, 7 Mar 2008 23:03:22 +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 m27N3MCR005045 for ; Fri, 7 Mar 2008 23:03:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27N3Mhl005043 for perforce@freebsd.org; Fri, 7 Mar 2008 23:03:22 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 23:03:22 GMT Message-Id: <200803072303.m27N3Mhl005043@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 137128 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, 07 Mar 2008 23:03:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=137128 Change 137128 by sam@sam_ebb on 2008/03/07 23:03:22 o convert debug msgs to use net80211 flag o purge callout; track time and update in tx complete Affected files ... .. //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.c#11 edit .. //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.h#7 edit .. //depot/projects/vap/sys/modules/ath_rate_onoe/Makefile#5 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.c#11 (text+ko) ==== @@ -34,6 +34,7 @@ * Atsushi Onoe's rate control algorithm. */ #include "opt_inet.h" +#include "opt_wlan.h" #include #include @@ -68,19 +69,6 @@ #include #include -#define ONOE_DEBUG -#ifdef ONOE_DEBUG -enum { - ATH_DEBUG_RATE = 0x00000010, /* rate control */ -}; -#define DPRINTF(sc, _fmt, ...) do { \ - if (sc->sc_debug & ATH_DEBUG_RATE) \ - printf(_fmt, __VA_ARGS__); \ -} while (0) -#else -#define DPRINTF(sc, _fmt, ...) -#endif - /* * Default parameters for the rate control algorithm. These are * all tunable with sysctls. The rate controller runs periodically @@ -104,7 +92,6 @@ static int ath_rate_raise = 10; /* add credit threshold */ static int ath_rate_raise_threshold = 10; /* rate ctl raise threshold */ -static void ath_ratectl(void *); static void ath_rate_update(struct ath_softc *, struct ieee80211_node *, int rate); static void ath_rate_ctl_start(struct ath_softc *, struct ieee80211_node *); @@ -114,7 +101,6 @@ ath_rate_node_init(struct ath_softc *sc, struct ath_node *an) { /* NB: assumed to be zero'd by caller */ - ath_rate_update(sc, &an->an_node, 0); } void @@ -163,6 +149,10 @@ on->on_tx_err++; on->on_tx_retr += ts->ts_shortretry + ts->ts_longretry; + if (on->on_interval != 0 && ticks - on->on_ticks > on->on_interval) { + ath_rate_ctl(sc, &an->an_node); + on->on_ticks = ticks; + } } void @@ -177,14 +167,15 @@ { struct ath_node *an = ATH_NODE(ni); struct onoe_node *on = ATH_NODE_ONOE(an); + struct ieee80211vap *vap = ni->ni_vap; const HAL_RATE_TABLE *rt = sc->sc_currates; u_int8_t rix; KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); - DPRINTF(sc, "%s: set xmit rate for %s to %dM\n", - __func__, ether_sprintf(ni->ni_macaddr), - ni->ni_rates.rs_nrates > 0 ? + IEEE80211_NOTE(vap, IEEE80211_MSG_RATECTL, ni, + "%s: set xmit rate to %dM", __func__, + ni->ni_rates.rs_nrates > 0 ? (ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL) / 2 : 0); /* @@ -246,6 +237,11 @@ } done: on->on_tx_ok = on->on_tx_err = on->on_tx_retr = on->on_tx_upper = 0; + + on->on_interval = ath_rateinterval; + if (vap->iv_opmode == IEEE80211_M_STA) + on->on_interval /= 2; + on->on_interval = (on->on_interval * hz) / 1000; } /* @@ -315,14 +311,10 @@ { struct ieee80211com *ic = vap->iv_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; - struct onoe_softc *osc = (struct onoe_softc *) sc->sc_rc; - const struct ieee80211_txparam *tp; struct ieee80211_node *ni; - if (state == IEEE80211_S_INIT) { - callout_stop(&osc->timer); + if (state == IEEE80211_S_INIT) return; - } if (vap->iv_opmode == IEEE80211_M_STA) { /* * Reset local xmit state; this is really only @@ -344,20 +336,6 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, vap->iv_bss, 0); } - tp = ATH_NODE(vap->iv_bss)->an_tp; - if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE && - state == IEEE80211_S_RUN) { - int interval; - /* - * Start the background rate control thread if we - * are not configured to use a fixed xmit rate. - */ - interval = ath_rateinterval; - if (vap->iv_opmode == IEEE80211_M_STA) - interval /= 2; - callout_reset(&osc->timer, (interval * hz) / 1000, - ath_ratectl, vap); - } } /* @@ -390,10 +368,9 @@ on->on_tx_retr < (on->on_tx_ok * ath_rate_raise) / 100) dir = 1; - DPRINTF(sc, "%s: ok %d err %d retr %d upper %d dir %d\n", - ether_sprintf(ni->ni_macaddr), - on->on_tx_ok, on->on_tx_err, on->on_tx_retr, - on->on_tx_upper, dir); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "ok %d err %d retr %d upper %d dir %d", + on->on_tx_ok, on->on_tx_err, on->on_tx_retr, on->on_tx_upper, dir); nrate = on->on_rix; switch (dir) { @@ -421,8 +398,8 @@ } if (nrate != on->on_rix) { - DPRINTF(sc, "%s: %dM -> %dM (%d ok, %d err, %d retr)\n", - __func__, + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, + "%s: %dM -> %dM (%d ok, %d err, %d retr)", __func__, ni->ni_txrate / 2, (rs->rs_rates[nrate] & IEEE80211_RATE_VAL) / 2, on->on_tx_ok, on->on_tx_err, on->on_tx_retr); @@ -432,30 +409,6 @@ } static void -ath_ratectl(void *arg) -{ - struct ieee80211vap *vap = arg; - struct ieee80211com *ic = vap->iv_ic; - struct ifnet *ifp = ic->ic_ifp; - struct ath_softc *sc = ifp->if_softc; - struct onoe_softc *osc = (struct onoe_softc *) sc->sc_rc; - int interval; - - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - sc->sc_stats.ast_rate_calls++; - - if (vap->iv_opmode == IEEE80211_M_STA) - ath_rate_ctl(sc, vap->iv_bss); /* NB: no reference */ - else - ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_ctl, sc); - } - interval = ath_rateinterval; - if (vap->iv_opmode == IEEE80211_M_STA) - interval /= 2; - callout_reset(&osc->timer, (interval * hz) / 1000, ath_ratectl, arg); -} - -static void ath_rate_sysctlattach(struct ath_softc *sc) { struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev); @@ -482,7 +435,6 @@ if (osc == NULL) return NULL; osc->arc.arc_space = sizeof(struct onoe_node); - callout_init(&osc->timer, CALLOUT_MPSAFE); ath_rate_sysctlattach(sc); return &osc->arc; @@ -493,7 +445,6 @@ { struct onoe_softc *osc = (struct onoe_softc *) arc; - callout_drain(&osc->timer); free(osc, M_DEVBUF); } ==== //depot/projects/vap/sys/dev/ath/ath_rate/onoe/onoe.h#7 (text+ko) ==== @@ -38,12 +38,14 @@ /* per-device state */ struct onoe_softc { struct ath_ratectrl arc; /* base state */ - struct callout timer; /* periodic timer */ }; /* per-node state */ struct onoe_node { int on_rix; /* current rate index */ + int on_ticks; /* time of last update */ + int on_interval; /* update interval (ticks) */ + u_int on_tx_ok; /* tx ok pkt */ u_int on_tx_err; /* tx !ok pkt */ u_int on_tx_retr; /* tx retry count */ ==== //depot/projects/vap/sys/modules/ath_rate_onoe/Makefile#5 (text+ko) ==== @@ -40,7 +40,7 @@ KMOD= ath_rate SRCS= onoe.c -SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ah.h opt_wlan.h HAL= ${.CURDIR}/../../contrib/dev/ath CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} @@ -56,7 +56,13 @@ ATH_MODULE_ARCH=${MACHINE_ARCH} .endif +.if !defined(KERNBUILDDIR) opt_ah.h: ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h cp ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h ${.TARGET} +opt_wlan.h: + echo "#define IEEE80211_DEBUG 1" > opt_wlan.h +# echo > opt_wlan.h +.endif + .include From owner-p4-projects@FreeBSD.ORG Fri Mar 7 23:05:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E75E41065670; Fri, 7 Mar 2008 23:05: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 A735E1065671 for ; Fri, 7 Mar 2008 23:05:24 +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 963E28FC16 for ; Fri, 7 Mar 2008 23:05:24 +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 m27N5OOt005152 for ; Fri, 7 Mar 2008 23:05:24 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27N5OGn005150 for perforce@freebsd.org; Fri, 7 Mar 2008 23:05:24 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 23:05:24 GMT Message-Id: <200803072305.m27N5OGn005150@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 137129 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, 07 Mar 2008 23:05:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=137129 Change 137129 by sam@sam_ebb on 2008/03/07 23:04:40 call ath_newassoc explicitly for sta mode operation so we setup driver private rate state Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#42 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#42 (text+ko) ==== @@ -5601,12 +5601,9 @@ break; case IEEE80211_M_STA: /* - * Allocate a key cache slot to the station. + * Fakeup since we're not called by net80211. */ - if ((vap->iv_flags & IEEE80211_F_PRIVACY) == 0 && - sc->sc_hasclrkey && - ni->ni_ucastkey.wk_keyix == IEEE80211_KEYIX_NONE) - ath_setup_stationkey(ni); + ath_newassoc(ni, 1); /* * Defer beacon timer configuration to the next * beacon frame so we have a current TSF to use @@ -5731,13 +5728,10 @@ an->an_mgmtrix = ath_tx_findrix(sc->sc_rates[mode], tp->mgmtrate); ath_rate_newassoc(sc, an, isnew); - if (isnew && - (vap->iv_flags & IEEE80211_F_PRIVACY) == 0 && sc->sc_hasclrkey) { - KASSERT(ni->ni_ucastkey.wk_keyix == IEEE80211_KEYIX_NONE, - ("new assoc with a unicast key already setup (keyix %u)", - ni->ni_ucastkey.wk_keyix)); + if (isnew && + (vap->iv_flags & IEEE80211_F_PRIVACY) == 0 && sc->sc_hasclrkey && + ni->ni_ucastkey.wk_keyix == IEEE80211_KEYIX_NONE) ath_setup_stationkey(ni); - } } static int From owner-p4-projects@FreeBSD.ORG Fri Mar 7 23:06:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F19D1065671; Fri, 7 Mar 2008 23:06: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 D34A4106566B for ; Fri, 7 Mar 2008 23:06: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 C2AA58FC1A for ; Fri, 7 Mar 2008 23:06: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 m27N6PBH005198 for ; Fri, 7 Mar 2008 23:06:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m27N6PrE005196 for perforce@freebsd.org; Fri, 7 Mar 2008 23:06:25 GMT (envelope-from sam@freebsd.org) Date: Fri, 7 Mar 2008 23:06:25 GMT Message-Id: <200803072306.m27N6PrE005196@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 137130 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, 07 Mar 2008 23:06:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=137130 Change 137130 by sam@sam_ebb on 2008/03/07 23:05:33 fix building ath_rate_amrr Affected files ... .. //depot/projects/vap/sys/conf/files#21 edit Differences ... ==== //depot/projects/vap/sys/conf/files#21 (text+ko) ==== @@ -476,7 +476,8 @@ dev/ata/atapi-tape.c optional atapist dev/ath/ah_osdep.c optional ath_hal \ compile-with "${NORMAL_C} -I$S/dev/ath" -dev/ath/ath_rate/amrr/amrr.c optional ath_rate_amrr +dev/ath/ath_rate/amrr/amrr.c optional ath_rate_amrr \ + compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/onoe/onoe.c optional ath_rate_onoe \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/sample/sample.c optional ath_rate_sample \ From owner-p4-projects@FreeBSD.ORG Sat Mar 8 00:29:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 588F41065675; Sat, 8 Mar 2008 00:29: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 175F81065670 for ; Sat, 8 Mar 2008 00:29:57 +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 070DE8FC1C for ; Sat, 8 Mar 2008 00:29:57 +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 m280TuJL012674 for ; Sat, 8 Mar 2008 00:29:56 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m280Tur0012672 for perforce@freebsd.org; Sat, 8 Mar 2008 00:29:56 GMT (envelope-from sam@freebsd.org) Date: Sat, 8 Mar 2008 00:29:56 GMT Message-Id: <200803080029.m280Tur0012672@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 137133 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, 08 Mar 2008 00:29:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=137133 Change 137133 by sam@sam_ebb on 2008/03/08 00:29:18 a total hack just to get brooks attention Affected files ... .. //depot/projects/vap/etc/network.subr#3 edit Differences ... ==== //depot/projects/vap/etc/network.subr#3 (text+ko) ==== @@ -426,7 +426,13 @@ _prefix= _list= for ifn in ${cloned_interfaces}; do - ifconfig ${ifn} create + _wlandev=`expr "$ifn" : 'wlan:\(.*\)'` + if [ -n "$_wlandev" ]; then + ifn="wlan"; + ifconfig ${ifn} create wlandev $_wlandev + else + ifconfig ${ifn} create + fi if [ $? -eq 0 ]; then _list="${_list}${_prefix}${ifn}" [ -z "$_prefix" ] && _prefix=' ' From owner-p4-projects@FreeBSD.ORG Sat Mar 8 01:25:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE76C106567D; Sat, 8 Mar 2008 01:25: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 ADFDD106567B for ; Sat, 8 Mar 2008 01:25:55 +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 9DAB18FC1E for ; Sat, 8 Mar 2008 01:25:55 +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 m281Pt8q024899 for ; Sat, 8 Mar 2008 01:25:55 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m281PtGn024897 for perforce@freebsd.org; Sat, 8 Mar 2008 01:25:55 GMT (envelope-from sam@freebsd.org) Date: Sat, 8 Mar 2008 01:25:55 GMT Message-Id: <200803080125.m281PtGn024897@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 137135 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, 08 Mar 2008 01:25:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=137135 Change 137135 by sam@sam_ebb on 2008/03/08 01:25:45 count background scans Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#14 edit .. //depot/projects/vap/sys/net80211/ieee80211_sta.c#7 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#14 (text+ko) ==== @@ -210,7 +210,8 @@ uint32_t is_ampdu_stop; /* A-MPDU stream stopped */ uint32_t is_ampdu_stop_failed; /* A-MPDU stream not running */ uint32_t is_ampdu_rx_reorder; /* A-MPDU held for rx reorder */ - uint32_t is_spare[17]; + uint32_t is_scan_bg; /* background scans started */ + uint32_t is_spare[16]; }; /* ==== //depot/projects/vap/sys/net80211/ieee80211_sta.c#7 (text+ko) ==== @@ -1315,6 +1315,7 @@ } else if (contbgscan(vap)) { ieee80211_bg_scan(vap, 0); } else if (startbgscan(vap)) { + vap->iv_stats.is_scan_bg++; #if 0 /* wakeup if we are sleeing */ ieee80211_set_pwrsave(vap, 0); From owner-p4-projects@FreeBSD.ORG Sat Mar 8 01:26:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D86F61065673; Sat, 8 Mar 2008 01:26: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 9858A1065670 for ; Sat, 8 Mar 2008 01:26:57 +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 87C328FC1A for ; Sat, 8 Mar 2008 01:26:57 +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 m281QvgA024938 for ; Sat, 8 Mar 2008 01:26:57 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m281Qvam024936 for perforce@freebsd.org; Sat, 8 Mar 2008 01:26:57 GMT (envelope-from sam@freebsd.org) Date: Sat, 8 Mar 2008 01:26:57 GMT Message-Id: <200803080126.m281Qvam024936@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 137136 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, 08 Mar 2008 01:26:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=137136 Change 137136 by sam@sam_ebb on 2008/03/08 01:26:46 show bg scan count Affected files ... .. //depot/projects/vap/tools/tools/net80211/wlanstats/wlanstats.c#5 edit Differences ... ==== //depot/projects/vap/tools/tools/net80211/wlanstats/wlanstats.c#5 (text+ko) ==== @@ -188,7 +188,9 @@ { 5, "scan_active", "scan_active", "active scans started" }, #define S_SCAN_PASSIVE AFTER(S_SCAN_ACTIVE) { 5, "scan_passive", "scan_passive", "passive scans started" }, -#define S_NODE_TIMEOUT AFTER(S_SCAN_PASSIVE) +#define S_SCAN_BG AFTER(S_SCAN_PASSIVE) + { 5, "scan_bg", "scan_bg", "background scans started" }, +#define S_NODE_TIMEOUT AFTER(S_SCAN_BG) { 5, "node_timeout", "node_timeout", "nodes timed out for inactivity" }, #define S_CRYPTO_NOMEM AFTER(S_NODE_TIMEOUT) { 5, "crypto_nomem", "crypto_nomem", "cipher context malloc failed" }, @@ -582,6 +584,7 @@ case S_TX_FRAGS: STAT(tx_frags); case S_SCAN_ACTIVE: STAT(scan_active); case S_SCAN_PASSIVE: STAT(scan_passive); + case S_SCAN_BG: STAT(scan_bg); case S_NODE_TIMEOUT: STAT(node_timeout); case S_CRYPTO_NOMEM: STAT(crypto_nomem); case S_CRYPTO_TKIP: STAT(crypto_tkip); @@ -724,6 +727,7 @@ case S_TX_FRAGS: STAT(tx_frags); case S_SCAN_ACTIVE: STAT(scan_active); case S_SCAN_PASSIVE: STAT(scan_passive); + case S_SCAN_BG: STAT(scan_bg); case S_NODE_TIMEOUT: STAT(node_timeout); case S_CRYPTO_NOMEM: STAT(crypto_nomem); case S_CRYPTO_TKIP: STAT(crypto_tkip); From owner-p4-projects@FreeBSD.ORG Sat Mar 8 05:31:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 032121065671; Sat, 8 Mar 2008 05:31: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 B748E1065670 for ; Sat, 8 Mar 2008 05:31:19 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6A068FC21 for ; Sat, 8 Mar 2008 05:31:19 +0000 (UTC) (envelope-from imp@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 m285VJfn046946 for ; Sat, 8 Mar 2008 05:31:19 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m285VJIW046944 for perforce@freebsd.org; Sat, 8 Mar 2008 05:31:19 GMT (envelope-from imp@freebsd.org) Date: Sat, 8 Mar 2008 05:31:19 GMT Message-Id: <200803080531.m285VJIW046944@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 137141 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, 08 Mar 2008 05:31:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=137141 Change 137141 by imp@imp_lighthouse on 2008/03/08 05:30:37 I have a recurring feeling of de ja vu. I have a recurring feeling of de ja vu. I have a recurring feeling of de ja vu. Remove extra copy of these files from these files. I love how patch treats '+' lines... Affected files ... .. //depot/projects/mips2-jnpr/src/gnu/usr.bin/binutils/ld/armelf_fbsd.sh#2 edit .. //depot/projects/mips2-jnpr/src/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/gnu/usr.bin/binutils/ld/armelf_fbsd.sh#2 (text+ko) ==== @@ -6,10 +6,3 @@ unset STACK_ADDR unset EMBEDDED -. ${srcdir}/emulparams/armelf.sh -. ${srcdir}/emulparams/elf_fbsd.sh -MAXPAGESIZE=0x8000 -GENERATE_PIE_SCRIPT=yes - -unset STACK_ADDR -unset EMBEDDED ==== //depot/projects/mips2-jnpr/src/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh#2 (text+ko) ==== @@ -11,15 +11,3 @@ unset STACK_ADDR unset EMBEDDED OUTPUT_FORMAT="elf32-bigarm" -#XXX: This should be used once those bits are merged back in the FSF repo. -#. ${srcdir}/emulparams/armelf_fbsd.sh -# -#OUTPUT_FORMAT="elf32-bigarm" -. ${srcdir}/emulparams/armelf.sh -. ${srcdir}/emulparams/elf_fbsd.sh -MAXPAGESIZE=0x8000 -GENERATE_PIE_SCRIPT=yes - -unset STACK_ADDR -unset EMBEDDED -OUTPUT_FORMAT="elf32-bigarm" From owner-p4-projects@FreeBSD.ORG Sat Mar 8 17:35:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 395421065679; Sat, 8 Mar 2008 17:35: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 EBC2D1065677 for ; Sat, 8 Mar 2008 17:35:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D9EF48FC15 for ; Sat, 8 Mar 2008 17:35:21 +0000 (UTC) (envelope-from rpaulo@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 m28HZLR2030251 for ; Sat, 8 Mar 2008 17:35:21 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28HZLAe030249 for perforce@freebsd.org; Sat, 8 Mar 2008 17:35:21 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 8 Mar 2008 17:35:21 GMT Message-Id: <200803081735.m28HZLAe030249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 137167 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, 08 Mar 2008 17:35:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=137167 Change 137167 by rpaulo@rpaulo_vmware on 2008/03/08 17:34:24 Add support for 2G MacBook Core 2 Duo backlight. Initial version by: Christian Laursen Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007 Rui Paulo + * Copyright (c) 2007, 2008 Rui Paulo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#13 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#14 $ * */ @@ -83,30 +83,34 @@ */ { "MacBook1,1", 0x8086, 0x27a2, "MacBook Core Duo Backlight Control", - macbook_attach, macbook_enable, macbook_level }, + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB_MAX }, { "MacBook2,1", 0x8086, 0x27a2, "MacBook Core 2 Duo Backlight Control", - macbook_attach, macbook_enable, macbook_level }, + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB_MAX }, + { "MacBook3,1", 0x8086, 0x2a02, + "MacBook Core 2 Duo (2G) Backlight Control", + macbook_attach, macbook_enable, macbook_level, BACKLIGHT_MB2_MAX }, + /* * MacBook Pro. */ { "MacBookPro1,1", 0x1002, 0x71c5, "MacBook Pro Core Duo (15-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro1,2", 0x1002, 0x71c5, "MacBook Pro Core Duo (17-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro2,1", 0x1002, 0x71c5, "MacBook Pro Core 2 Duo (17-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { "MacBookPro2,2", 0x1002, 0x71c5, "MacBook Pro Core 2 Duo (15-inch) Backlight Control", - macbookpro_attach, macbookpro_enable, macbookpro_level }, + macbookpro_attach, macbookpro_enable, macbookpro_level, BACKLIGHT_MBP_MAX }, { NULL, 0, 0 } }; @@ -207,6 +211,8 @@ if (error) return (error); + sc->sc_max = model->bm_max; + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, @@ -293,7 +299,7 @@ return (ENOMEM); max = macbook_get_max(sc); - if (max > BACKLIGHT_MB_MAX) { + if (max > sc->sc_max) { device_printf(dev, "maximum brightness level out of range" "(0x%x) - please send-pr\n", max); return (EINVAL); @@ -351,7 +357,7 @@ curlevel = macbook_get_current(sc); level = (curlevel - BACKLIGHT_MB_MIN) * 100 / - (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN); + (sc->sc_max - BACKLIGHT_MB_MIN); error = sysctl_handle_int(oidp, &level, 0, req); @@ -361,7 +367,7 @@ if (level > 100) return (EINVAL); - curlevel = (level * (BACKLIGHT_MB_MAX - BACKLIGHT_MB_MIN) + curlevel = (level * (sc->sc_max - BACKLIGHT_MB_MIN) / 100) + BACKLIGHT_MB_MIN; macbook_set_current(sc, curlevel); @@ -468,7 +474,7 @@ curlevel = macbookpro_get_current(sc); level = (curlevel - BACKLIGHT_MBP_MIN) * 100 / - (BACKLIGHT_MBP_MAX - BACKLIGHT_MBP_MIN); + (sc->sc_max - BACKLIGHT_MBP_MIN); error = sysctl_handle_int(oidp, &level, 0, req); @@ -478,7 +484,7 @@ if (level > 100) return (EINVAL); - curlevel = (level * (BACKLIGHT_MBP_MAX - BACKLIGHT_MBP_MIN) + curlevel = (level * (sc->sc_max - BACKLIGHT_MBP_MIN) / 100) + BACKLIGHT_MBP_MIN; macbookpro_set_current(sc, curlevel); ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007 Rui Paulo + * Copyright (c) 2007, 2008 Rui Paulo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#4 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlightvar.h#5 $ * */ @@ -34,6 +34,7 @@ struct resource *sc_res; struct sysctl_ctx_list sc_sysctl_ctx; struct sysctl_oid *sc_sysctl_tree; + int sc_max; }; struct backlight_model { @@ -46,6 +47,8 @@ int (*bm_attach)(device_t); int (*bm_enable)(SYSCTL_HANDLER_ARGS); int (*bm_level)(SYSCTL_HANDLER_ARGS); + + uint8_t bm_max; }; @@ -60,6 +63,7 @@ #define BACKLIGHT_MB_DEF 0x44 #define BACKLIGHT_MB_MIN 0x1f #define BACKLIGHT_MB_MAX 0x94 +#define BACKLIGHT_MB2_MAX 0x1f /* MacBook Core 2 Duo 2G */ #define BACKLIGHT_MB_OFF 0x12 #define BACKLIGHT_MB_ON 0x1f From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:23:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4D851065685; Sat, 8 Mar 2008 19:23: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 8203D1065672 for ; Sat, 8 Mar 2008 19:23:23 +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 6EBB78FC1B for ; Sat, 8 Mar 2008 19:23:23 +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 m28JNNif042294 for ; Sat, 8 Mar 2008 19:23:23 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28JNNs3042292 for perforce@freebsd.org; Sat, 8 Mar 2008 19:23:23 GMT (envelope-from marcel@freebsd.org) Date: Sat, 8 Mar 2008 19:23:23 GMT Message-Id: <200803081923.m28JNNs3042292@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 137178 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, 08 Mar 2008 19:23:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=137178 Change 137178 by marcel@marcel_cluster on 2008/03/08 19:23:22 IFC @137177 Affected files ... .. //depot/projects/e500/sbin/geom/class/multipath/gmultipath.8#2 integrate .. //depot/projects/e500/share/man/man3/Makefile#3 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_os_bsd.c#3 integrate .. //depot/projects/e500/sys/dev/hptrr/hptrr_osm_bsd.c#4 integrate .. //depot/projects/e500/sys/dev/hptrr/ldm.h#3 integrate .. //depot/projects/e500/sys/dev/hptrr/osm.h#3 integrate .. //depot/projects/e500/sys/kern/kern_sig.c#10 integrate .. //depot/projects/e500/sys/modules/zfs/Makefile#6 integrate .. //depot/projects/e500/sys/powerpc/booke/machdep.c#15 integrate .. //depot/projects/e500/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#11 integrate Differences ... ==== //depot/projects/e500/sbin/geom/class/multipath/gmultipath.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/multipath/gmultipath.8,v 1.4 2007/05/06 00:31:38 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/multipath/gmultipath.8,v 1.5 2008/03/08 12:13:00 brueffer Exp $ .\" .Dd February 26, 2007 .Dt GMULTIPATH 8 @@ -59,7 +59,7 @@ This operation writes a label on the last sector of the underlying disk device with a contained name and UUID. The UUID guarantees uniqueness -in in a shared storage environment but is in general too cumbersome to use. +in a shared storage environment but is in general too cumbersome to use. The name is what is exported via the device interface. .Pp The first argument to @@ -221,7 +221,7 @@ gmultipath label -v Fred /dev/da0 /dev/da2 disklabel -Brw /dev/multipath/Fred auto newfs /dev/multipath/Freda -mount /dev/mutlpath/Freda /mnt.... +mount /dev/multipath/Freda /mnt.... .Ed .Pp The resultant console output looks something like: ==== //depot/projects/e500/share/man/man3/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 12/13/93 -# $FreeBSD: src/share/man/man3/Makefile,v 1.45 2007/10/09 23:31:10 obrien Exp $ +# $FreeBSD: src/share/man/man3/Makefile,v 1.46 2008/03/07 22:29:53 jasone Exp $ .include @@ -111,6 +111,7 @@ tree.3 RB_ENTRY.3 \ tree.3 RB_FIND.3 \ tree.3 RB_FOREACH.3 \ + tree.3 RB_FOREACH_REVERSE.3 \ tree.3 RB_GENERATE.3 \ tree.3 RB_GENERATE_STATIC.3 \ tree.3 RB_HEAD.3 \ @@ -123,6 +124,7 @@ tree.3 RB_NEXT.3 \ tree.3 RB_NFIND.3 \ tree.3 RB_PARENT.3 \ + tree.3 RB_PREV.3 \ tree.3 RB_PROTOTYPE.3 \ tree.3 RB_PROTOTYPE_STATIC.3 \ tree.3 RB_REMOVE.3 \ ==== //depot/projects/e500/sys/dev/hptrr/hptrr_os_bsd.c#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/sys/dev/hptrr/hptrr_os_bsd.c,v 1.3 2008/02/06 05:33:17 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/hptrr_os_bsd.c,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* $Id: os_bsd.c,v 1.11 2005/06/03 14:06:38 kdh Exp $ @@ -132,7 +132,7 @@ list->dma = 0; list->size = size; list->head = 0; -#ifdef DBG +#if DBG list->reserved_count = #endif list->count = count; @@ -172,7 +172,7 @@ list->alignment = alignment; list->size = size; list->head = 0; -#ifdef DBG +#if DBG list->reserved_count = #endif list->count = count; @@ -289,7 +289,7 @@ return printf("%s: %s\n", driver_name, buf); } -#ifdef DBG +#if DBG void os_check_stack(const char *location, int size){} void __os_dbgbreak(const char *file, int line) ==== //depot/projects/e500/sys/dev/hptrr/hptrr_osm_bsd.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/hptrr/hptrr_osm_bsd.c,v 1.3 2008/02/06 00:59:38 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/hptrr_osm_bsd.c,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* $Id: osm_bsd.c,v 1.27 2007/11/22 07:35:49 gmm Exp $ @@ -205,7 +205,7 @@ BUS_ADDRESS bus; for (f=vbus_ext->freelist_head; f; f=f->next) { -#ifdef DBG +#if DBG if (f->count!=f->reserved_count) { KdPrint(("memory leak for freelist %s (%d/%d)", f->tag, f->count, f->reserved_count)); } @@ -222,7 +222,7 @@ for (f=vbus_ext->freelist_dma_head; f; f=f->next) { int order, size; -#ifdef DBG +#if DBG if (f->count!=f->reserved_count) { KdPrint(("memory leak for dma freelist %s (%d/%d)", f->tag, f->count, f->reserved_count)); } ==== //depot/projects/e500/sys/dev/hptrr/ldm.h#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/sys/dev/hptrr/ldm.h,v 1.2 2008/02/06 00:59:38 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/ldm.h,v 1.3 2008/03/08 18:06:48 scottl Exp $ */ #include /* @@ -76,7 +76,7 @@ HPT_UINT size; void * head; struct freelist *next; -#ifdef DBG +#if DBG char *tag; HPT_UINT reserved_count; #define freelist_debug_tag(list, _tag) (list)->tag = _tag ==== //depot/projects/e500/sys/dev/hptrr/osm.h#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/sys/dev/hptrr/osm.h,v 1.3 2008/02/06 05:33:17 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/osm.h,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* @@ -187,7 +187,7 @@ /* debug support */ int os_printk(char *fmt, ...); -#ifdef DBG +#if DBG extern int hptrr_dbg_level; #define KdPrint(x) do { if (hptrr_dbg_level) os_printk x; } while (0) void __os_dbgbreak(const char *file, int line); ==== //depot/projects/e500/sys/kern/kern_sig.c#10 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.355 2008/01/13 14:44:09 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.357 2008/03/08 16:31:29 rwatson Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -60,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -2973,65 +2974,59 @@ * by using "/dev/null", or all core files can be stored in "/cores/%U/%N-%P". * This is controlled by the sysctl variable kern.corefile (see above). */ - static char * expand_name(name, uid, pid) const char *name; uid_t uid; pid_t pid; { - const char *format, *appendstr; + struct sbuf sb; + const char *format; char *temp; - char buf[11]; /* Buffer for pid/uid -- max 4B */ - size_t i, l, n; + size_t i; format = corefilename; temp = malloc(MAXPATHLEN, M_TEMP, M_NOWAIT | M_ZERO); if (temp == NULL) return (NULL); - for (i = 0, n = 0; n < MAXPATHLEN && format[i]; i++) { + (void)sbuf_new(&sb, temp, MAXPATHLEN, SBUF_FIXEDLEN); + for (i = 0; format[i]; i++) { switch (format[i]) { case '%': /* Format character */ i++; switch (format[i]) { case '%': - appendstr = "%"; + sbuf_putc(&sb, '%'); break; case 'N': /* process name */ - appendstr = name; + sbuf_printf(&sb, "%s", name); break; case 'P': /* process id */ - sprintf(buf, "%u", pid); - appendstr = buf; + sbuf_printf(&sb, "%u", pid); break; case 'U': /* user id */ - sprintf(buf, "%u", uid); - appendstr = buf; + sbuf_printf(&sb, "%u", uid); break; default: - appendstr = ""; log(LOG_ERR, - "Unknown format character %c in `%s'\n", - format[i], format); + "Unknown format character %c in " + "corename `%s'\n", format[i], format); } - l = strlen(appendstr); - if ((n + l) >= MAXPATHLEN) - goto toolong; - memcpy(temp + n, appendstr, l); - n += l; break; default: - temp[n++] = format[i]; + sbuf_putc(&sb, format[i]); } } - if (format[i] != '\0') - goto toolong; + if (sbuf_overflowed(&sb)) { + sbuf_delete(&sb); + log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too " + "long\n", (long)pid, name, (u_long)uid); + free(temp, M_TEMP); + return (NULL); + } + sbuf_finish(&sb); + sbuf_delete(&sb); return (temp); -toolong: - log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too long\n", - (long)pid, name, (u_long)uid); - free(temp, M_TEMP); - return (NULL); } /* @@ -3063,6 +3058,7 @@ name = expand_name(p->p_comm, td->td_ucred->cr_uid, p->p_pid); if (name == NULL) { + PROC_UNLOCK(p); #ifdef AUDIT audit_proc_coredump(td, NULL, EINVAL); #endif ==== //depot/projects/e500/sys/modules/zfs/Makefile#6 (text+ko) ==== @@ -1,14 +1,16 @@ -# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.8 2008/02/21 11:11:06 ru Exp $ +# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.9 2008/03/08 19:14:43 obrien Exp $ KMOD= zfs SRCS= vnode_if.h -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/acl +SUNW= ${.CURDIR}/../../contrib/opensolaris + +.PATH: ${SUNW}/common/acl SRCS+= acl_common.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/avl +.PATH: ${SUNW}/common/avl SRCS+= avl.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/nvpair +.PATH: ${SUNW}/common/nvpair SRCS+= nvpair.c .PATH: ${.CURDIR}/../../compat/opensolaris/kern @@ -22,28 +24,28 @@ SRCS+= opensolaris_zone.c .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64" -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/atomic/${MACHINE_ARCH} +.PATH: ${SUNW}/common/atomic/${MACHINE_ARCH} SRCS+= atomic.S .else .PATH: ${.CURDIR}/../../compat/opensolaris/kern SRCS+= opensolaris_atomic.c .endif -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/fs +.PATH: ${SUNW}/uts/common/fs SRCS+= gfs.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/os +.PATH: ${SUNW}/uts/common/os SRCS+= callb.c SRCS+= list.c SRCS+= nvpair_alloc_system.c SRCS+= taskq.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/rpc +.PATH: ${SUNW}/uts/common/rpc SRCS+= xdr.c SRCS+= xdr_array.c SRCS+= xdr_mem.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/zmod +.PATH: ${SUNW}/uts/common/zmod SRCS+= adler32.c SRCS+= crc32.c SRCS+= deflate.c @@ -55,9 +57,9 @@ SRCS+= zmod_subr.c SRCS+= zutil.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/zfs -.include "${.CURDIR}/../../contrib/opensolaris/uts/common/Makefile.files" -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/fs/zfs +.PATH: ${SUNW}/common/zfs +.include "${SUNW}/uts/common/Makefile.files" +.PATH: ${SUNW}/uts/common/fs/zfs ZFS_SRCS= ${ZFS_OBJS:C/.o$/.c/} SRCS+= ${ZFS_SRCS} SRCS+= vdev_geom.c @@ -69,12 +71,12 @@ CFLAGS+=-DFREEBSD_NAMECACHE CFLAGS+=-I${.CURDIR}/../../compat/opensolaris -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common/fs/zfs -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common/zmod -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common +CFLAGS+=-I${SUNW}/uts/common/fs/zfs +CFLAGS+=-I${SUNW}/uts/common/zmod +CFLAGS+=-I${SUNW}/uts/common CFLAGS+=-I${.CURDIR}/../.. -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/common/zfs -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/common +CFLAGS+=-I${SUNW}/common/zfs +CFLAGS+=-I${SUNW}/common CFLAGS+=-I${.CURDIR}/../../../include #CFLAGS+=-DDEBUG=1 ==== //depot/projects/e500/sys/powerpc/booke/machdep.c#15 (text+ko) ==== @@ -81,7 +81,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/booke/machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/machdep.c,v 1.2 2008/03/08 05:36:25 marcel Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -158,6 +158,11 @@ extern unsigned char kstack0_space[]; +extern void dcache_enable(void); +extern void dcache_inval(void); +extern void icache_enable(void); +extern void icache_inval(void); + struct kva_md_info kmi; struct pcpu __pcpu[MAXCPU]; struct trapframe frame0; @@ -170,9 +175,6 @@ char machine[] = "powerpc"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); -static char model[128]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, model, 0, ""); - static int cacheline_size = CACHELINESIZE; SYSCTL_INT(_machdep, CPU_CACHELINE, cacheline_size, CTLFLAG_RD, &cacheline_size, 0, ""); @@ -318,6 +320,7 @@ void *kmdp; vm_offset_t end; struct bi_mem_region *mr; + uint32_t csr; int i; kmdp = NULL; @@ -440,6 +443,28 @@ mtmsr(mfmsr() | PSL_ME); isync(); + /* Enable D-cache if applicable */ + csr = mfspr(SPR_L1CSR0); + if ((csr & L1CSR0_DCE) == 0) { + dcache_inval(); + dcache_enable(); + } + csr = mfspr(SPR_L1CSR0); + if ((boothowto & RB_VERBOSE) != 0 || (csr & L1CSR0_DCE) == 0) + printf("L1 D-cache %sabled\n", + (csr & L1CSR0_DCE) ? "en" : "dis"); + + /* Enable L1 I-cache if applicable. */ + csr = mfspr(SPR_L1CSR1); + if ((csr & L1CSR1_ICE) == 0) { + icache_inval(); + icache_enable(); + } + csr = mfspr(SPR_L1CSR1); + if ((boothowto & RB_VERBOSE) != 0 || (csr & L1CSR1_ICE) == 0) + printf("L1 I-cache %sabled\n", + (csr & L1CSR1_ICE) ? "en" : "dis"); + debugf("e500_init: e\n"); } ==== //depot/projects/e500/tools/tools/tinybsd/tinybsd#3 (text+ko) ==== @@ -3,7 +3,7 @@ # # Patrick Tracanelli # -# $FreeBSD: src/tools/tools/tinybsd/tinybsd,v 1.7 2007/08/22 18:44:59 remko Exp $ +# $FreeBSD: src/tools/tools/tinybsd/tinybsd,v 1.8 2008/03/08 15:41:06 remko Exp $ #set -xv CURRENTDIR=/usr/src/tools/tools/tinybsd if [ ! -d $CURRENTDIR ] @@ -12,13 +12,12 @@ else cd $CURRENTDIR fi + WORKDIR=/usr/obj/tinybsdbuild KERNCONF=TINYBSD BASEFILE="tinybsd.basefiles" PORTSFILE="tinybsd.ports" PORTSDIR=/usr/ports -PKGDIRS=/tmp/pkg.dirs -PKGFILES=/tmp/pkg.files DEFINSTARGS="-o 0 -g 0 -m 555" TS="=====>" @@ -276,7 +275,7 @@ copy_binaries() { cd ${CURRENTDIR}/conf/${CONF} - for file in `cat ${BASEFILE} | grep -v "#" | \ + for file in `cat ${CURRENTDIR}/conf/${CONF}/${BASEFILE} | grep -v "#" | \ cut -f1 -d":" | sort | uniq` ; do echo "${TS} Copying "/${file}" to "${WORKDIR}/${file} cp -fp /${file} ${WORKDIR}/${file} ; @@ -284,41 +283,44 @@ } install_ports() { - for portname in `cat ${PORTSFILE} | grep -v '#'` ; do - cd ${PORTSDIR}/${portname} - pkgname=`make -V PKGNAME` - pkg_info -VQ ${pkgname} - install=`echo $?` - if [ ${install} -eq 0 ] ; then - echo "$portname is already installed..." - create_missingdir - copy_ports - else - make install clean - create_missingdir - copy_ports - fi - done -} + for portname in `cat ${CURRENTDIR}/conf/${CONF}/${PORTSFILE} | grep -v '#'` ; do + if [ ! -d "${WORKDIR}/usr/ports" ]; then + mkdir -p "${WORKDIR}/usr/ports" + fi + + PNAME=`/usr/bin/basename "${portname}"` + PORT_OPTION_FILE="/var/db/ports/${PNAME}/options" + + if [ -f "${PORT_OPTION_FILE}" ]; then + mkdir -p "${WORKDIR}/var/db/ports/${PNAME}" + cp "${PORT_OPTION_FILE}" "${WORKDIR}/var/db/ports/${PNAME}/" + fi + + mount_nullfs /lib "${WORKDIR}/lib" + mount_nullfs /usr/bin "${WORKDIR}/usr/bin" + mount_nullfs /usr/sbin "${WORKDIR}/usr/sbin" + mount_nullfs /usr/ports "${WORKDIR}/usr/ports" + mount_nullfs /usr/share "${WORKDIR}/usr/share" + mount_nullfs /usr/libexec "${WORKDIR}/usr/libexec" + mount_nullfs /usr/lib "${WORKDIR}/usr/lib" + mount_nullfs /usr/include "${WORKDIR}/usr/include" + + cd ${PORTSDIR}/${portname} + make fetch-recursive + make DESTDIR_ENV_LIST=PATH DESTDIR="${WORKDIR}" install + make clean -create_missingdir() { -pkg_info -L ${pkgname} | egrep -v '(Information|Files|www|share|doc|man|include)' | sort | uniq >> ${PKGDIRS} - for dir in `cat ${PKGDIRS}`; do - if [ ! -d `dirname ${WORKDIR}/${dir}` ] ; then - mkdir -p `dirname ${WORKDIR}/${dir}` - fi + umount "${WORKDIR}/lib" + umount "${WORKDIR}/usr/ports" + umount "${WORKDIR}/usr/bin" + umount "${WORKDIR}/usr/sbin" + umount "${WORKDIR}/usr/share" + umount "${WORKDIR}/usr/libexec" + umount "${WORKDIR}/usr/lib" + umount "${WORKDIR}/usr/include" done - rm ${PKGDIRS} } -copy_ports() { -pkg_info -L ${pkgname} | egrep -v '(Information|Files|www|share|doc|man|include)' >> ${PKGFILES} - for port in `cat ${PKGFILES}` ; do - echo "${TS} Copying "${port}" to "${WORKDIR}${port} - cp -fp ${port} ${WORKDIR}${port} ; - done -} - make_kernel() { echo "${TS} Building customized tiny beastie kernel... " cp -p ${CURRENTDIR}/conf/${CONF}/${KERNCONF} /usr/src/sys/i386/conf @@ -336,13 +338,10 @@ TDEPFILE="`mktemp -t deps`" TDEPFILES="`mktemp -t depsymlnk`" - cd ${CURRENTDIR}/conf/${CONF} - for file in `cat ${BASEFILE} ${PKGFILES} | grep -v "#" | cut -f1 -d":"`; do - ldd -f "%p\n" /${file} >> ${TDEPFILE} ; # don't worry on progs been "not dynamic" + find "${WORKDIR}" -type f |while read file; do + ldd -f "%p\n" ${file} >> ${TDEPFILE} ; # don't worry on progs been "not dynamic" done - rm ${PKGFILES} - for libdeplib in `cat ${TDEPFILE} | sort | uniq`; do ldd -f "%p\n" /${libdeplib} >> ${TDEPFILE} ; done @@ -378,15 +377,6 @@ rm -fv ${TDEPFILE} ${TDEPFILES} } -deinstall_ports() { - for portname in `cat ${PORTSFILE} | grep -v '#'` ; do - cd ${PORTSDIR}/${portname} - if [ $? -ne ${install} ] ; then - make deinstall - fi - done -} - create_etc() { cd /usr/src/etc/sendmail/ make freebsd.cf freebsd.submit.cf @@ -416,7 +406,7 @@ symlinks() { #set -xv - for i in `cat ${BASEFILE} ${PORTSFILE} | grep -v "#" | grep ":"`; do + for i in `cat ${CURRENTDIR}/conf/${CONF}/${BASEFILE}| grep -v "#" | grep ":"`; do SOURCE_FILE=`echo $i | awk -F ":" {'print $1'}` TARGET_FILE=`echo $i | awk -F ":" {'print $2'}` chroot ${WORKDIR} /bin/ln -vs /${SOURCE_FILE} ${TARGET_FILE} @@ -489,7 +479,6 @@ echo "${TS} You can see your build log in ${HOME}/tinybsd.log" echo "${TS} Your final image is in ${CURRENTDIR}/${IMG}" echo "${TS} Now use dd(1) to write it." - } ########################## @@ -514,12 +503,11 @@ check_alt_imgname create_tree copy_binaries + create_etc install_ports make_kernel copy_libraries symlinks - deinstall_ports - create_etc create_ssh_keys personal_conf create_image ==== //depot/projects/e500/usr.bin/calendar/calendars/calendar.freebsd#11 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.227 2008/03/03 13:14:39 jadawin Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.228 2008/03/08 03:54:30 lippe Exp $ */ #ifndef _calendar_freebsd_ @@ -190,6 +190,7 @@ 07/28 Jim Mock born in Bethlehem, Pennsylvania, United States, 1974 07/28 Tom Hukins born in Manchester, United Kingdom, 1976 07/29 Dirk Meyer born in Kassel, Hessen, Germany, 1965 +07/29 Felippe M. Motta born in Maceio, Alagoas, Brazil, 1988 08/02 Gabor Kovesdan born in Budapest, Hungary, 1987 08/05 Alfred Perlstein born in Brooklyn, New York, United States, 1978 08/06 Anton Berezin born in Dnepropetrovsk, Ukraine, 1970 From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:24:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCA401065672; Sat, 8 Mar 2008 19:24: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 9AFB51065670 for ; Sat, 8 Mar 2008 19:24:24 +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 8818D8FC16 for ; Sat, 8 Mar 2008 19:24:24 +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 m28JOOlh042635 for ; Sat, 8 Mar 2008 19:24:24 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28JOOBo042633 for perforce@freebsd.org; Sat, 8 Mar 2008 19:24:24 GMT (envelope-from marcel@freebsd.org) Date: Sat, 8 Mar 2008 19:24:24 GMT Message-Id: <200803081924.m28JOOBo042633@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 137179 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, 08 Mar 2008 19:24:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=137179 Change 137179 by marcel@marcel_cluster on 2008/03/08 19:24:03 IFC @137177 Affected files ... .. //depot/projects/powerpc/sbin/geom/class/multipath/gmultipath.8#3 integrate .. //depot/projects/powerpc/share/man/man3/Makefile#3 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_os_bsd.c#3 integrate .. //depot/projects/powerpc/sys/dev/hptrr/hptrr_osm_bsd.c#4 integrate .. //depot/projects/powerpc/sys/dev/hptrr/ldm.h#3 integrate .. //depot/projects/powerpc/sys/dev/hptrr/osm.h#3 integrate .. //depot/projects/powerpc/sys/kern/kern_sig.c#14 integrate .. //depot/projects/powerpc/sys/modules/zfs/Makefile#7 integrate .. //depot/projects/powerpc/sys/powerpc/booke/machdep.c#2 integrate .. //depot/projects/powerpc/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#12 integrate Differences ... ==== //depot/projects/powerpc/sbin/geom/class/multipath/gmultipath.8#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/multipath/gmultipath.8,v 1.4 2007/05/06 00:31:38 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/multipath/gmultipath.8,v 1.5 2008/03/08 12:13:00 brueffer Exp $ .\" .Dd February 26, 2007 .Dt GMULTIPATH 8 @@ -59,7 +59,7 @@ This operation writes a label on the last sector of the underlying disk device with a contained name and UUID. The UUID guarantees uniqueness -in in a shared storage environment but is in general too cumbersome to use. +in a shared storage environment but is in general too cumbersome to use. The name is what is exported via the device interface. .Pp The first argument to @@ -221,7 +221,7 @@ gmultipath label -v Fred /dev/da0 /dev/da2 disklabel -Brw /dev/multipath/Fred auto newfs /dev/multipath/Freda -mount /dev/mutlpath/Freda /mnt.... +mount /dev/multipath/Freda /mnt.... .Ed .Pp The resultant console output looks something like: ==== //depot/projects/powerpc/share/man/man3/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 12/13/93 -# $FreeBSD: src/share/man/man3/Makefile,v 1.45 2007/10/09 23:31:10 obrien Exp $ +# $FreeBSD: src/share/man/man3/Makefile,v 1.46 2008/03/07 22:29:53 jasone Exp $ .include @@ -111,6 +111,7 @@ tree.3 RB_ENTRY.3 \ tree.3 RB_FIND.3 \ tree.3 RB_FOREACH.3 \ + tree.3 RB_FOREACH_REVERSE.3 \ tree.3 RB_GENERATE.3 \ tree.3 RB_GENERATE_STATIC.3 \ tree.3 RB_HEAD.3 \ @@ -123,6 +124,7 @@ tree.3 RB_NEXT.3 \ tree.3 RB_NFIND.3 \ tree.3 RB_PARENT.3 \ + tree.3 RB_PREV.3 \ tree.3 RB_PROTOTYPE.3 \ tree.3 RB_PROTOTYPE_STATIC.3 \ tree.3 RB_REMOVE.3 \ ==== //depot/projects/powerpc/sys/dev/hptrr/hptrr_os_bsd.c#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/sys/dev/hptrr/hptrr_os_bsd.c,v 1.3 2008/02/06 05:33:17 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/hptrr_os_bsd.c,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* $Id: os_bsd.c,v 1.11 2005/06/03 14:06:38 kdh Exp $ @@ -132,7 +132,7 @@ list->dma = 0; list->size = size; list->head = 0; -#ifdef DBG +#if DBG list->reserved_count = #endif list->count = count; @@ -172,7 +172,7 @@ list->alignment = alignment; list->size = size; list->head = 0; -#ifdef DBG +#if DBG list->reserved_count = #endif list->count = count; @@ -289,7 +289,7 @@ return printf("%s: %s\n", driver_name, buf); } -#ifdef DBG +#if DBG void os_check_stack(const char *location, int size){} void __os_dbgbreak(const char *file, int line) ==== //depot/projects/powerpc/sys/dev/hptrr/hptrr_osm_bsd.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/hptrr/hptrr_osm_bsd.c,v 1.3 2008/02/06 00:59:38 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/hptrr_osm_bsd.c,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* $Id: osm_bsd.c,v 1.27 2007/11/22 07:35:49 gmm Exp $ @@ -205,7 +205,7 @@ BUS_ADDRESS bus; for (f=vbus_ext->freelist_head; f; f=f->next) { -#ifdef DBG +#if DBG if (f->count!=f->reserved_count) { KdPrint(("memory leak for freelist %s (%d/%d)", f->tag, f->count, f->reserved_count)); } @@ -222,7 +222,7 @@ for (f=vbus_ext->freelist_dma_head; f; f=f->next) { int order, size; -#ifdef DBG +#if DBG if (f->count!=f->reserved_count) { KdPrint(("memory leak for dma freelist %s (%d/%d)", f->tag, f->count, f->reserved_count)); } ==== //depot/projects/powerpc/sys/dev/hptrr/ldm.h#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/sys/dev/hptrr/ldm.h,v 1.2 2008/02/06 00:59:38 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/ldm.h,v 1.3 2008/03/08 18:06:48 scottl Exp $ */ #include /* @@ -76,7 +76,7 @@ HPT_UINT size; void * head; struct freelist *next; -#ifdef DBG +#if DBG char *tag; HPT_UINT reserved_count; #define freelist_debug_tag(list, _tag) (list)->tag = _tag ==== //depot/projects/powerpc/sys/dev/hptrr/osm.h#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/sys/dev/hptrr/osm.h,v 1.3 2008/02/06 05:33:17 scottl Exp $ + * $FreeBSD: src/sys/dev/hptrr/osm.h,v 1.4 2008/03/08 18:06:48 scottl Exp $ */ #include /* @@ -187,7 +187,7 @@ /* debug support */ int os_printk(char *fmt, ...); -#ifdef DBG +#if DBG extern int hptrr_dbg_level; #define KdPrint(x) do { if (hptrr_dbg_level) os_printk x; } while (0) void __os_dbgbreak(const char *file, int line); ==== //depot/projects/powerpc/sys/kern/kern_sig.c#14 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.355 2008/01/13 14:44:09 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.357 2008/03/08 16:31:29 rwatson Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -60,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -2973,65 +2974,59 @@ * by using "/dev/null", or all core files can be stored in "/cores/%U/%N-%P". * This is controlled by the sysctl variable kern.corefile (see above). */ - static char * expand_name(name, uid, pid) const char *name; uid_t uid; pid_t pid; { - const char *format, *appendstr; + struct sbuf sb; + const char *format; char *temp; - char buf[11]; /* Buffer for pid/uid -- max 4B */ - size_t i, l, n; + size_t i; format = corefilename; temp = malloc(MAXPATHLEN, M_TEMP, M_NOWAIT | M_ZERO); if (temp == NULL) return (NULL); - for (i = 0, n = 0; n < MAXPATHLEN && format[i]; i++) { + (void)sbuf_new(&sb, temp, MAXPATHLEN, SBUF_FIXEDLEN); + for (i = 0; format[i]; i++) { switch (format[i]) { case '%': /* Format character */ i++; switch (format[i]) { case '%': - appendstr = "%"; + sbuf_putc(&sb, '%'); break; case 'N': /* process name */ - appendstr = name; + sbuf_printf(&sb, "%s", name); break; case 'P': /* process id */ - sprintf(buf, "%u", pid); - appendstr = buf; + sbuf_printf(&sb, "%u", pid); break; case 'U': /* user id */ - sprintf(buf, "%u", uid); - appendstr = buf; + sbuf_printf(&sb, "%u", uid); break; default: - appendstr = ""; log(LOG_ERR, - "Unknown format character %c in `%s'\n", - format[i], format); + "Unknown format character %c in " + "corename `%s'\n", format[i], format); } - l = strlen(appendstr); - if ((n + l) >= MAXPATHLEN) - goto toolong; - memcpy(temp + n, appendstr, l); - n += l; break; default: - temp[n++] = format[i]; + sbuf_putc(&sb, format[i]); } } - if (format[i] != '\0') - goto toolong; + if (sbuf_overflowed(&sb)) { + sbuf_delete(&sb); + log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too " + "long\n", (long)pid, name, (u_long)uid); + free(temp, M_TEMP); + return (NULL); + } + sbuf_finish(&sb); + sbuf_delete(&sb); return (temp); -toolong: - log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too long\n", - (long)pid, name, (u_long)uid); - free(temp, M_TEMP); - return (NULL); } /* @@ -3063,6 +3058,7 @@ name = expand_name(p->p_comm, td->td_ucred->cr_uid, p->p_pid); if (name == NULL) { + PROC_UNLOCK(p); #ifdef AUDIT audit_proc_coredump(td, NULL, EINVAL); #endif ==== //depot/projects/powerpc/sys/modules/zfs/Makefile#7 (text+ko) ==== @@ -1,14 +1,16 @@ -# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.8 2008/02/21 11:11:06 ru Exp $ +# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.9 2008/03/08 19:14:43 obrien Exp $ KMOD= zfs SRCS= vnode_if.h -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/acl +SUNW= ${.CURDIR}/../../contrib/opensolaris + +.PATH: ${SUNW}/common/acl SRCS+= acl_common.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/avl +.PATH: ${SUNW}/common/avl SRCS+= avl.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/nvpair +.PATH: ${SUNW}/common/nvpair SRCS+= nvpair.c .PATH: ${.CURDIR}/../../compat/opensolaris/kern @@ -22,28 +24,28 @@ SRCS+= opensolaris_zone.c .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64" -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/atomic/${MACHINE_ARCH} +.PATH: ${SUNW}/common/atomic/${MACHINE_ARCH} SRCS+= atomic.S .else .PATH: ${.CURDIR}/../../compat/opensolaris/kern SRCS+= opensolaris_atomic.c .endif -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/fs +.PATH: ${SUNW}/uts/common/fs SRCS+= gfs.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/os +.PATH: ${SUNW}/uts/common/os SRCS+= callb.c SRCS+= list.c SRCS+= nvpair_alloc_system.c SRCS+= taskq.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/rpc +.PATH: ${SUNW}/uts/common/rpc SRCS+= xdr.c SRCS+= xdr_array.c SRCS+= xdr_mem.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/zmod +.PATH: ${SUNW}/uts/common/zmod SRCS+= adler32.c SRCS+= crc32.c SRCS+= deflate.c @@ -55,9 +57,9 @@ SRCS+= zmod_subr.c SRCS+= zutil.c -.PATH: ${.CURDIR}/../../contrib/opensolaris/common/zfs -.include "${.CURDIR}/../../contrib/opensolaris/uts/common/Makefile.files" -.PATH: ${.CURDIR}/../../contrib/opensolaris/uts/common/fs/zfs +.PATH: ${SUNW}/common/zfs +.include "${SUNW}/uts/common/Makefile.files" +.PATH: ${SUNW}/uts/common/fs/zfs ZFS_SRCS= ${ZFS_OBJS:C/.o$/.c/} SRCS+= ${ZFS_SRCS} SRCS+= vdev_geom.c @@ -69,12 +71,12 @@ CFLAGS+=-DFREEBSD_NAMECACHE CFLAGS+=-I${.CURDIR}/../../compat/opensolaris -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common/fs/zfs -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common/zmod -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/uts/common +CFLAGS+=-I${SUNW}/uts/common/fs/zfs +CFLAGS+=-I${SUNW}/uts/common/zmod +CFLAGS+=-I${SUNW}/uts/common CFLAGS+=-I${.CURDIR}/../.. -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/common/zfs -CFLAGS+=-I${.CURDIR}/../../contrib/opensolaris/common +CFLAGS+=-I${SUNW}/common/zfs +CFLAGS+=-I${SUNW}/common CFLAGS+=-I${.CURDIR}/../../../include #CFLAGS+=-DDEBUG=1 ==== //depot/projects/powerpc/sys/powerpc/booke/machdep.c#2 (text+ko) ==== @@ -81,7 +81,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/booke/machdep.c,v 1.1 2008/03/03 17:17:00 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/booke/machdep.c,v 1.2 2008/03/08 05:36:25 marcel Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -158,6 +158,11 @@ extern unsigned char kstack0_space[]; +extern void dcache_enable(void); +extern void dcache_inval(void); +extern void icache_enable(void); +extern void icache_inval(void); + struct kva_md_info kmi; struct pcpu __pcpu[MAXCPU]; struct trapframe frame0; @@ -170,9 +175,6 @@ char machine[] = "powerpc"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); -static char model[128]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, model, 0, ""); - static int cacheline_size = CACHELINESIZE; SYSCTL_INT(_machdep, CPU_CACHELINE, cacheline_size, CTLFLAG_RD, &cacheline_size, 0, ""); @@ -318,6 +320,7 @@ void *kmdp; vm_offset_t end; struct bi_mem_region *mr; + uint32_t csr; int i; kmdp = NULL; @@ -440,6 +443,28 @@ mtmsr(mfmsr() | PSL_ME); isync(); + /* Enable D-cache if applicable */ + csr = mfspr(SPR_L1CSR0); + if ((csr & L1CSR0_DCE) == 0) { + dcache_inval(); + dcache_enable(); + } + csr = mfspr(SPR_L1CSR0); + if ((boothowto & RB_VERBOSE) != 0 || (csr & L1CSR0_DCE) == 0) + printf("L1 D-cache %sabled\n", + (csr & L1CSR0_DCE) ? "en" : "dis"); + + /* Enable L1 I-cache if applicable. */ + csr = mfspr(SPR_L1CSR1); + if ((csr & L1CSR1_ICE) == 0) { + icache_inval(); + icache_enable(); + } + csr = mfspr(SPR_L1CSR1); + if ((boothowto & RB_VERBOSE) != 0 || (csr & L1CSR1_ICE) == 0) + printf("L1 I-cache %sabled\n", + (csr & L1CSR1_ICE) ? "en" : "dis"); + debugf("e500_init: e\n"); } ==== //depot/projects/powerpc/tools/tools/tinybsd/tinybsd#3 (text+ko) ==== @@ -3,7 +3,7 @@ # # Patrick Tracanelli # -# $FreeBSD: src/tools/tools/tinybsd/tinybsd,v 1.7 2007/08/22 18:44:59 remko Exp $ +# $FreeBSD: src/tools/tools/tinybsd/tinybsd,v 1.8 2008/03/08 15:41:06 remko Exp $ #set -xv CURRENTDIR=/usr/src/tools/tools/tinybsd if [ ! -d $CURRENTDIR ] @@ -12,13 +12,12 @@ else cd $CURRENTDIR fi + WORKDIR=/usr/obj/tinybsdbuild KERNCONF=TINYBSD BASEFILE="tinybsd.basefiles" PORTSFILE="tinybsd.ports" PORTSDIR=/usr/ports -PKGDIRS=/tmp/pkg.dirs -PKGFILES=/tmp/pkg.files DEFINSTARGS="-o 0 -g 0 -m 555" TS="=====>" @@ -276,7 +275,7 @@ copy_binaries() { cd ${CURRENTDIR}/conf/${CONF} - for file in `cat ${BASEFILE} | grep -v "#" | \ + for file in `cat ${CURRENTDIR}/conf/${CONF}/${BASEFILE} | grep -v "#" | \ cut -f1 -d":" | sort | uniq` ; do echo "${TS} Copying "/${file}" to "${WORKDIR}/${file} cp -fp /${file} ${WORKDIR}/${file} ; @@ -284,41 +283,44 @@ } install_ports() { - for portname in `cat ${PORTSFILE} | grep -v '#'` ; do - cd ${PORTSDIR}/${portname} - pkgname=`make -V PKGNAME` - pkg_info -VQ ${pkgname} - install=`echo $?` - if [ ${install} -eq 0 ] ; then - echo "$portname is already installed..." - create_missingdir - copy_ports - else - make install clean - create_missingdir - copy_ports - fi - done -} + for portname in `cat ${CURRENTDIR}/conf/${CONF}/${PORTSFILE} | grep -v '#'` ; do + if [ ! -d "${WORKDIR}/usr/ports" ]; then + mkdir -p "${WORKDIR}/usr/ports" + fi + + PNAME=`/usr/bin/basename "${portname}"` + PORT_OPTION_FILE="/var/db/ports/${PNAME}/options" + + if [ -f "${PORT_OPTION_FILE}" ]; then + mkdir -p "${WORKDIR}/var/db/ports/${PNAME}" + cp "${PORT_OPTION_FILE}" "${WORKDIR}/var/db/ports/${PNAME}/" + fi + + mount_nullfs /lib "${WORKDIR}/lib" + mount_nullfs /usr/bin "${WORKDIR}/usr/bin" + mount_nullfs /usr/sbin "${WORKDIR}/usr/sbin" + mount_nullfs /usr/ports "${WORKDIR}/usr/ports" + mount_nullfs /usr/share "${WORKDIR}/usr/share" + mount_nullfs /usr/libexec "${WORKDIR}/usr/libexec" + mount_nullfs /usr/lib "${WORKDIR}/usr/lib" + mount_nullfs /usr/include "${WORKDIR}/usr/include" + + cd ${PORTSDIR}/${portname} + make fetch-recursive + make DESTDIR_ENV_LIST=PATH DESTDIR="${WORKDIR}" install + make clean -create_missingdir() { -pkg_info -L ${pkgname} | egrep -v '(Information|Files|www|share|doc|man|include)' | sort | uniq >> ${PKGDIRS} - for dir in `cat ${PKGDIRS}`; do - if [ ! -d `dirname ${WORKDIR}/${dir}` ] ; then - mkdir -p `dirname ${WORKDIR}/${dir}` - fi + umount "${WORKDIR}/lib" + umount "${WORKDIR}/usr/ports" + umount "${WORKDIR}/usr/bin" + umount "${WORKDIR}/usr/sbin" + umount "${WORKDIR}/usr/share" + umount "${WORKDIR}/usr/libexec" + umount "${WORKDIR}/usr/lib" + umount "${WORKDIR}/usr/include" done - rm ${PKGDIRS} } -copy_ports() { -pkg_info -L ${pkgname} | egrep -v '(Information|Files|www|share|doc|man|include)' >> ${PKGFILES} - for port in `cat ${PKGFILES}` ; do - echo "${TS} Copying "${port}" to "${WORKDIR}${port} - cp -fp ${port} ${WORKDIR}${port} ; - done -} - make_kernel() { echo "${TS} Building customized tiny beastie kernel... " cp -p ${CURRENTDIR}/conf/${CONF}/${KERNCONF} /usr/src/sys/i386/conf @@ -336,13 +338,10 @@ TDEPFILE="`mktemp -t deps`" TDEPFILES="`mktemp -t depsymlnk`" - cd ${CURRENTDIR}/conf/${CONF} - for file in `cat ${BASEFILE} ${PKGFILES} | grep -v "#" | cut -f1 -d":"`; do - ldd -f "%p\n" /${file} >> ${TDEPFILE} ; # don't worry on progs been "not dynamic" + find "${WORKDIR}" -type f |while read file; do + ldd -f "%p\n" ${file} >> ${TDEPFILE} ; # don't worry on progs been "not dynamic" done - rm ${PKGFILES} - for libdeplib in `cat ${TDEPFILE} | sort | uniq`; do ldd -f "%p\n" /${libdeplib} >> ${TDEPFILE} ; done @@ -378,15 +377,6 @@ rm -fv ${TDEPFILE} ${TDEPFILES} } -deinstall_ports() { - for portname in `cat ${PORTSFILE} | grep -v '#'` ; do - cd ${PORTSDIR}/${portname} - if [ $? -ne ${install} ] ; then - make deinstall - fi - done -} - create_etc() { cd /usr/src/etc/sendmail/ make freebsd.cf freebsd.submit.cf @@ -416,7 +406,7 @@ symlinks() { #set -xv - for i in `cat ${BASEFILE} ${PORTSFILE} | grep -v "#" | grep ":"`; do + for i in `cat ${CURRENTDIR}/conf/${CONF}/${BASEFILE}| grep -v "#" | grep ":"`; do SOURCE_FILE=`echo $i | awk -F ":" {'print $1'}` TARGET_FILE=`echo $i | awk -F ":" {'print $2'}` chroot ${WORKDIR} /bin/ln -vs /${SOURCE_FILE} ${TARGET_FILE} @@ -489,7 +479,6 @@ echo "${TS} You can see your build log in ${HOME}/tinybsd.log" echo "${TS} Your final image is in ${CURRENTDIR}/${IMG}" echo "${TS} Now use dd(1) to write it." - } ########################## @@ -514,12 +503,11 @@ check_alt_imgname create_tree copy_binaries + create_etc install_ports make_kernel copy_libraries symlinks - deinstall_ports - create_etc create_ssh_keys personal_conf create_image ==== //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#12 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.227 2008/03/03 13:14:39 jadawin Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.228 2008/03/08 03:54:30 lippe Exp $ */ #ifndef _calendar_freebsd_ @@ -190,6 +190,7 @@ 07/28 Jim Mock born in Bethlehem, Pennsylvania, United States, 1974 07/28 Tom Hukins born in Manchester, United Kingdom, 1976 07/29 Dirk Meyer born in Kassel, Hessen, Germany, 1965 +07/29 Felippe M. Motta born in Maceio, Alagoas, Brazil, 1988 08/02 Gabor Kovesdan born in Budapest, Hungary, 1987 08/05 Alfred Perlstein born in Brooklyn, New York, United States, 1978 08/06 Anton Berezin born in Dnepropetrovsk, Ukraine, 1970 From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:41:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8563D1065682; Sat, 8 Mar 2008 19:41:42 +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 4556F1065677 for ; Sat, 8 Mar 2008 19:41:42 +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 34B0D8FC3B for ; Sat, 8 Mar 2008 19:41:42 +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 m28JfgHl049141 for ; Sat, 8 Mar 2008 19:41:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28JfgJD049139 for perforce@freebsd.org; Sat, 8 Mar 2008 19:41:42 GMT (envelope-from jb@freebsd.org) Date: Sat, 8 Mar 2008 19:41:42 GMT Message-Id: <200803081941.m28JfgJD049139@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 137180 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, 08 Mar 2008 19:41:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=137180 Change 137180 by jb@jb_freebsd8 on 2008/03/08 19:41:30 The mousepad on my Dell Inspiron 1150 laptop doesn't work without ignoring the port error. Affected files ... .. //depot/projects/dtrace/src/sys/dev/atkbdc/psm.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/dev/atkbdc/psm.c#6 (text+ko) ==== @@ -980,6 +980,7 @@ sc->unit = unit; sc->kbdc = atkbdc_open(device_get_unit(device_get_parent(dev))); sc->config = device_get_flags(dev) & PSM_CONFIG_FLAGS; + sc->config |= PSM_CONFIG_IGNPORTERROR; /* XXX: for backward compatibility */ #if defined(PSM_HOOKRESUME) || defined(PSM_HOOKAPM) sc->config |= From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:44:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CA671065672; Sat, 8 Mar 2008 19:44: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 5BDAA1065671 for ; Sat, 8 Mar 2008 19:44: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 4B18C8FC16 for ; Sat, 8 Mar 2008 19:44: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 m28JilLj050434 for ; Sat, 8 Mar 2008 19:44:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28Jil7v050424 for perforce@freebsd.org; Sat, 8 Mar 2008 19:44:47 GMT (envelope-from jb@freebsd.org) Date: Sat, 8 Mar 2008 19:44:47 GMT Message-Id: <200803081944.m28Jil7v050424@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 137181 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, 08 Mar 2008 19:44:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=137181 Change 137181 by jb@jb_freebsd8 on 2008/03/08 19:43:45 Add support for cyclic hooks on machines without a LAPIC. Affected files ... .. //depot/projects/dtrace/src/sys/i386/isa/clock.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/isa/clock.c#10 (text+ko) ==== @@ -48,6 +48,7 @@ #include "opt_apic.h" #include "opt_clock.h" +#include "opt_kdtrace.h" #include "opt_isa.h" #include "opt_mca.h" #include "opt_xbox.h" @@ -97,6 +98,10 @@ #include #endif +#ifdef KDTRACE_HOOKS +#include +#endif + #define TIMER_DIV(x) ((timer_freq + (x) / 2) / (x)) int clkintr_pending; @@ -161,6 +166,18 @@ mtx_unlock_spin(&clock_lock); } KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer")); + +#ifdef KDTRACE_HOOKS + /* + * If the DTrace hooks are configured and a callback function + * has been registered, then call it to process the high speed + * timers. + */ + int cpu = PCPU_GET(cpuid); + if (lapic_cyclic_clock_func[cpu] != NULL) + (*lapic_cyclic_clock_func[cpu])(frame); +#endif + hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); #ifdef DEV_MCA /* Reset clock interrupt by asserting bit 7 of port 0x61 */ From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:45:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F062C1065674; Sat, 8 Mar 2008 19:45: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 AFA6C1065671 for ; Sat, 8 Mar 2008 19:45: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 84AAE8FC12 for ; Sat, 8 Mar 2008 19:45: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 m28JjmCN050858 for ; Sat, 8 Mar 2008 19:45:48 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28Jjm0P050856 for perforce@freebsd.org; Sat, 8 Mar 2008 19:45:48 GMT (envelope-from jb@freebsd.org) Date: Sat, 8 Mar 2008 19:45:48 GMT Message-Id: <200803081945.m28Jjm0P050856@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 137182 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, 08 Mar 2008 19:45:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=137182 Change 137182 by jb@jb_freebsd8 on 2008/03/08 19:44:57 Disable a test that doesn't seem to work too welll on a UP machine. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#24 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#24 (text+ko) ==== @@ -4,6 +4,7 @@ DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl IGNORE= \ + ${TESTSRCDIR}/tst/common/stop/tst.stop1.d \ ${TESTSRCDIR}/tst/common/aggs/tst.subr.d \ ${TESTSRCDIR}/tst/common/arrays/tst.uregsarray.d \ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d \ From owner-p4-projects@FreeBSD.ORG Sat Mar 8 19:58:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D03831065686; Sat, 8 Mar 2008 19:58: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 8B351106567B for ; Sat, 8 Mar 2008 19:58: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 6ECA38FC1A for ; Sat, 8 Mar 2008 19:58: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 m28Jw1eB053929 for ; Sat, 8 Mar 2008 19:58:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28Jw1EW053927 for perforce@freebsd.org; Sat, 8 Mar 2008 19:58:01 GMT (envelope-from jb@freebsd.org) Date: Sat, 8 Mar 2008 19:58:01 GMT Message-Id: <200803081958.m28Jw1EW053927@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 137185 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, 08 Mar 2008 19:58:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=137185 Change 137185 by jb@jb_freebsd8 on 2008/03/08 19:57:26 Add the code to print the type with struct/union field info a bit like a debugger would. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#15 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#15 (text) ==== @@ -810,14 +810,240 @@ nbytes, 50, quiet, 1)); } -int +typedef struct dt_type_cbdata { + dtrace_hdl_t *dtp; + dtrace_typeinfo_t dtt; + caddr_t addr; + caddr_t addrend; + const char *name; + int f_type; + int indent; + int type_width; + int name_width; + FILE *fp; +} dt_type_cbdata_t; + +static int dt_print_type_data(dt_type_cbdata_t *, ctf_id_t); + +static int +dt_print_type_member(const char *name, ctf_id_t type, ulong_t off, void *arg) +{ + dt_type_cbdata_t cbdata; + dt_type_cbdata_t *cbdatap = arg; + ssize_t ssz; + + if ((ssz = ctf_type_size(cbdatap->dtt.dtt_ctfp, type)) <= 0) + return (0); + + off /= 8; + + cbdata = *cbdatap; + cbdata.name = name; + cbdata.addr += off; + cbdata.addrend = cbdata.addr + ssz; + + return (dt_print_type_data(&cbdata, type)); +} + +static int +dt_print_type_width(const char *name, ctf_id_t type, ulong_t off, void *arg) +{ + char buf[DT_TYPE_NAMELEN]; + char *p; + dt_type_cbdata_t *cbdatap = arg; + size_t sz = strlen(name); + + ctf_type_name(cbdatap->dtt.dtt_ctfp, type, buf, sizeof (buf)); + + if ((p = strchr(buf, '[')) != NULL) + p[-1] = '\0'; + else + p = ""; + + sz += strlen(p); + + if (sz > cbdatap->name_width) + cbdatap->name_width = sz; + + sz = strlen(buf); + + if (sz > cbdatap->type_width) + cbdatap->type_width = sz; + + return (0); +} + +static int +dt_print_type_data(dt_type_cbdata_t *cbdatap, ctf_id_t type) +{ + caddr_t addr = cbdatap->addr; + caddr_t addrend = cbdatap->addrend; + char buf[DT_TYPE_NAMELEN]; + char *p; + int cnt = 0; + uint_t kind = ctf_type_kind(cbdatap->dtt.dtt_ctfp, type); + ssize_t ssz = ctf_type_size(cbdatap->dtt.dtt_ctfp, type); + + ctf_type_name(cbdatap->dtt.dtt_ctfp, type, buf, sizeof (buf)); + + if ((p = strchr(buf, '[')) != NULL) + p[-1] = '\0'; + else + p = ""; + + if (cbdatap->f_type) { + int type_width = roundup(cbdatap->type_width + 1, 4); + int name_width = roundup(cbdatap->name_width + 1, 4); + + name_width -= strlen(cbdatap->name); + + dt_printf(cbdatap->dtp, cbdatap->fp, "%*s%-*s%s%-*s = ",cbdatap->indent * 4,"",type_width,buf,cbdatap->name,name_width,p); + } + + while (addr < addrend) { + dt_type_cbdata_t cbdata; + ctf_arinfo_t arinfo; + ctf_encoding_t cte; + void *vp = addr; + cbdata = *cbdatap; + cbdata.name = ""; + cbdata.addr = addr; + cbdata.addrend = addr + ssz; + cbdata.f_type = 0; + cbdata.indent++; + cbdata.type_width = 0; + cbdata.name_width = 0; + + if (cnt > 0) + dt_printf(cbdatap->dtp, cbdatap->fp, "%*s", cbdatap->indent * 4,""); + + switch (kind) { + case CTF_K_INTEGER: + if (ctf_type_encoding(cbdatap->dtt.dtt_ctfp, type, &cte) != 0) + return (-1); + if ((cte.cte_format & CTF_INT_SIGNED) != 0) + switch (cte.cte_bits) { + case 8: + if (isprint(*((char *) vp))) + dt_printf(cbdatap->dtp, cbdatap->fp, "'%c', ", *((char *) vp)); + dt_printf(cbdatap->dtp, cbdatap->fp, "%d (0x%x);\n", *((char *) vp), *((char *) vp)); + break; + case 16: + dt_printf(cbdatap->dtp, cbdatap->fp, "%hd (0x%hx);\n", *((short *) vp), *((u_short *) vp)); + break; + case 32: + dt_printf(cbdatap->dtp, cbdatap->fp, "%d (0x%x);\n", *((int *) vp), *((u_int *) vp)); + break; + case 64: + dt_printf(cbdatap->dtp, cbdatap->fp, "%jd (0x%jx);\n", *((long long *) vp), *((unsigned long long *) vp)); + break; + default: + dt_printf(cbdatap->dtp, cbdatap->fp, "CTF_K_INTEGER: format %x offset %u bits %u\n",cte.cte_format,cte.cte_offset,cte.cte_bits); + break; + } + else + switch (cte.cte_bits) { + case 8: + dt_printf(cbdatap->dtp, cbdatap->fp, "%u (0x%x);\n", *((uint8_t *) vp) & 0xff, *((uint8_t *) vp) & 0xff); + break; + case 16: + dt_printf(cbdatap->dtp, cbdatap->fp, "%hu (0x%hx);\n", *((u_short *) vp), *((u_short *) vp)); + break; + case 32: + dt_printf(cbdatap->dtp, cbdatap->fp, "%u (0x%x);\n", *((u_int *) vp), *((u_int *) vp)); + break; + case 64: + dt_printf(cbdatap->dtp, cbdatap->fp, "%ju (0x%jx);\n", *((unsigned long long *) vp), *((unsigned long long *) vp)); + break; + default: + dt_printf(cbdatap->dtp, cbdatap->fp, "CTF_K_INTEGER: format %x offset %u bits %u\n",cte.cte_format,cte.cte_offset,cte.cte_bits); + break; + } + break; + case CTF_K_FLOAT: + dt_printf(cbdatap->dtp, cbdatap->fp, "CTF_K_FLOAT: format %x offset %u bits %u\n",cte.cte_format,cte.cte_offset,cte.cte_bits); + break; + case CTF_K_POINTER: + dt_printf(cbdatap->dtp, cbdatap->fp, "%p;\n", *((char *) addr)); + break; + case CTF_K_ARRAY: + if (ctf_array_info(cbdatap->dtt.dtt_ctfp, type, &arinfo) != 0) + return (-1); + dt_printf(cbdatap->dtp, cbdatap->fp, "{\n%*s",cbdata.indent * 4,""); + dt_print_type_data(&cbdata, arinfo.ctr_contents); + dt_printf(cbdatap->dtp, cbdatap->fp, "%*s};\n",cbdatap->indent * 4,""); + break; + case CTF_K_FUNCTION: + dt_printf(cbdatap->dtp, cbdatap->fp, "CTF_K_FUNCTION:\n"); + break; + case CTF_K_STRUCT: + cbdata.f_type = 1; + if (ctf_member_iter(cbdatap->dtt.dtt_ctfp, type, + dt_print_type_width, &cbdata) != 0) + return (-1); + dt_printf(cbdatap->dtp, cbdatap->fp, "{\n"); + if (ctf_member_iter(cbdatap->dtt.dtt_ctfp, type, + dt_print_type_member, &cbdata) != 0) + return (-1); + dt_printf(cbdatap->dtp, cbdatap->fp, "%*s};\n",cbdatap->indent * 4,""); + break; + case CTF_K_UNION: + cbdata.f_type = 1; + if (ctf_member_iter(cbdatap->dtt.dtt_ctfp, type, + dt_print_type_width, &cbdata) != 0) + return (-1); + dt_printf(cbdatap->dtp, cbdatap->fp, "{\n"); + if (ctf_member_iter(cbdatap->dtt.dtt_ctfp, type, + dt_print_type_member, &cbdata) != 0) + return (-1); + dt_printf(cbdatap->dtp, cbdatap->fp, "%*s};\n",cbdatap->indent * 4,""); + break; + case CTF_K_ENUM: + dt_printf(cbdatap->dtp, cbdatap->fp, "%s;\n", ctf_enum_name(cbdatap->dtt.dtt_ctfp, type, *((int *) vp))); + break; + case CTF_K_TYPEDEF: + dt_print_type_data(&cbdata, ctf_type_reference(cbdatap->dtt.dtt_ctfp,type)); + break; + case CTF_K_VOLATILE: + if (cbdatap->f_type) + dt_printf(cbdatap->dtp, cbdatap->fp, "volatile "); + dt_print_type_data(&cbdata, ctf_type_reference(cbdatap->dtt.dtt_ctfp,type)); + break; + case CTF_K_CONST: + if (cbdatap->f_type) + dt_printf(cbdatap->dtp, cbdatap->fp, "const "); + dt_print_type_data(&cbdata, ctf_type_reference(cbdatap->dtt.dtt_ctfp,type)); + break; + case CTF_K_RESTRICT: + if (cbdatap->f_type) + dt_printf(cbdatap->dtp, cbdatap->fp, "restrict "); + dt_print_type_data(&cbdata, ctf_type_reference(cbdatap->dtt.dtt_ctfp,type)); + break; + default: + break; + } + + addr += ssz; + cnt++; + } + + return (0); +} + +static int dt_print_type(dtrace_hdl_t *dtp, FILE *fp, caddr_t addr) { + caddr_t addrend; + char *p; dtrace_typeinfo_t dtt; - char *p; + dt_type_cbdata_t cbdata; int num = 0; int quiet = (dtp->dt_options[DTRACEOPT_QUIET] != DTRACEOPT_UNSET); + ssize_t ssz; + if (!quiet) + dt_printf(dtp, fp, "\n"); + /* Get the total number of bytes of data buffered. */ size_t nbytes = *((uintptr_t *) addr); addr += sizeof(uintptr_t); @@ -860,13 +1086,25 @@ /* Offset the buffer address to the start of the data... */ addr += offset; - /* - * XXX Here we need code to expand the type and print the data - * elements based on the member types. - */ + ssz = ctf_type_size(dtt.dtt_ctfp, dtt.dtt_type); + + if (typs != ssz) { + printf("Expected type size from buffer (%lu) to match type size looked up now (%ld)\n", (u_long) typs, (long) ssz); + return (-1); + } + + cbdata.dtp = dtp; + cbdata.dtt = dtt; + cbdata.name = ""; + cbdata.addr = addr; + cbdata.addrend = addr + nbytes; + cbdata.indent = 1; + cbdata.f_type = 1; + cbdata.type_width = 0; + cbdata.name_width = 0; + cbdata.fp = fp; - /* XXX Just print the data for now. */ - return (dt_print_bytes(dtp, fp, addr, nbytes, 50, quiet, 1)); + return (dt_print_type_data(&cbdata, dtt.dtt_type)); } static int From owner-p4-projects@FreeBSD.ORG Sat Mar 8 20:25:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4CF921065675; Sat, 8 Mar 2008 20:25: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 0A91A1065670 for ; Sat, 8 Mar 2008 20:25: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 EB99C8FC13 for ; Sat, 8 Mar 2008 20:25:32 +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 m28KPWnu057424 for ; Sat, 8 Mar 2008 20:25:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28KPTmI057422 for perforce@freebsd.org; Sat, 8 Mar 2008 20:25:29 GMT (envelope-from jb@freebsd.org) Date: Sat, 8 Mar 2008 20:25:29 GMT Message-Id: <200803082025.m28KPTmI057422@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 137189 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, 08 Mar 2008 20:25:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=137189 Change 137189 by jb@jb_freebsd8 on 2008/03/08 20:25:09 IFC Affected files ... .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/faq/book.sgml#12 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#64 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#40 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/hubs/article.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/linux-emulation/Makefile#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/linux-emulation/article.sgml#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/Makefile#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#15 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#58 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#32 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/boot/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/Makefile#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/config/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-ed2.scr#4 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-root2.scr#4 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd01.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd02.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd03.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd04.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd05.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd06.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd07.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd08.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd09.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd10.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd11.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/vmware-freebsd12.png#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/cokane.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/gahr.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/ganbold.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/jadawin.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#32 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#31 integrate .. //depot/projects/dtrace/doc/share/sgml/freebsd.ent#16 integrate .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#25 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/boot/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#13 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#20 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/faq/book.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/printing/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/x11/chapter.sgml#5 integrate .. //depot/projects/dtrace/ports/GIDs#18 integrate .. //depot/projects/dtrace/ports/LEGAL#35 integrate .. //depot/projects/dtrace/ports/MOVED#68 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gnustep.mk#11 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#14 integrate .. //depot/projects/dtrace/ports/Mk/bsd.python.mk#14 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#23 integrate .. //depot/projects/dtrace/ports/UIDs#21 integrate .. //depot/projects/dtrace/ports/UPDATING#55 integrate .. //depot/projects/dtrace/src/Makefile.inc1#41 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#38 integrate .. //depot/projects/dtrace/src/UPDATING#26 integrate .. //depot/projects/dtrace/src/bin/sh/cd.c#4 integrate .. //depot/projects/dtrace/src/contrib/bsnmp/snmpd/main.c#4 integrate .. //depot/projects/dtrace/src/contrib/tcpdump/print-802_11.c#7 integrate .. //depot/projects/dtrace/src/contrib/traceroute/as.c#1 branch .. //depot/projects/dtrace/src/contrib/traceroute/as.h#1 branch .. //depot/projects/dtrace/src/contrib/traceroute/traceroute.8#7 integrate .. //depot/projects/dtrace/src/contrib/traceroute/traceroute.c#7 integrate .. //depot/projects/dtrace/src/etc/Makefile#12 integrate .. //depot/projects/dtrace/src/etc/ddb.conf#1 branch .. //depot/projects/dtrace/src/etc/defaults/rc.conf#29 integrate .. //depot/projects/dtrace/src/etc/rc.d/Makefile#16 integrate .. //depot/projects/dtrace/src/etc/rc.d/ddb#1 branch .. //depot/projects/dtrace/src/etc/rc.d/mountcritlocal#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountlate#4 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#30 integrate .. //depot/projects/dtrace/src/gnu/lib/libgcc/Makefile#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/binutils/ar/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/binutils/ranlib/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kgdb.h#9 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/groff/tmac/mdoc.local#13 integrate .. //depot/projects/dtrace/src/include/pthread_np.h#10 integrate .. //depot/projects/dtrace/src/include/unistd.h#11 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_endian.h#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_zip.c#12 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_disk.c#5 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_compression_gzip.c#8 integrate .. //depot/projects/dtrace/src/lib/libc/gen/sysconf.c#7 integrate .. //depot/projects/dtrace/src/lib/libc/posix1e/mac.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/posix1e/mac_exec.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/posix1e/mac_get.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/posix1e/mac_set.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/flt_rounds.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/fpgetmask.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/fpgetround.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/fpgetsticky.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/fpsetmask.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/powerpc/gen/fpsetround.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fdopen.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fopen.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/freopen.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/getenv.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/malloc.c#20 integrate .. //depot/projects/dtrace/src/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/dtrace/src/lib/libc/sys/clock_gettime.2#7 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_close.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_getattr.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_notify.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_open.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_receive.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_send.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mq_setattr.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/readlink.2#6 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.c#11 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_rel.c#6 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_rela.c#6 integrate .. //depot/projects/dtrace/src/lib/libthr/pthread.map#12 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/Makefile.inc#7 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_affinity.c#1 branch .. //depot/projects/dtrace/src/lib/libthr/thread/thr_attr.c#7 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_create.c#8 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_exit.c#7 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_init.c#15 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_private.h#18 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_sig.c#10 integrate .. //depot/projects/dtrace/src/lib/msun/Makefile#13 integrate .. //depot/projects/dtrace/src/lib/msun/Symbol.map#11 integrate .. //depot/projects/dtrace/src/lib/msun/amd64/Makefile.inc#7 integrate .. //depot/projects/dtrace/src/lib/msun/amd64/e_sqrtl.S#1 branch .. //depot/projects/dtrace/src/lib/msun/bsdsrc/b_exp.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/bsdsrc/b_log.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/bsdsrc/b_tgamma.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/i387/Makefile.inc#7 integrate .. //depot/projects/dtrace/src/lib/msun/i387/e_sqrtl.S#1 branch .. //depot/projects/dtrace/src/lib/msun/ld128/s_nanl.c#2 integrate .. //depot/projects/dtrace/src/lib/msun/man/sqrt.3#6 integrate .. //depot/projects/dtrace/src/lib/msun/powerpc/fenv.h#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_acos.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_acosf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_acosh.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_acoshf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_asin.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_asinf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_atan2.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_atan2f.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_atanh.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_atanhf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_cosh.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_coshf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_exp.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_expf.c#7 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_fmod.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_fmodf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_gamma.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_gamma_r.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_gammaf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_gammaf_r.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_j0.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_j0f.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_j1.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_j1f.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_jn.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_jnf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_lgamma.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_lgamma_r.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_lgammaf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_lgammaf_r.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_log.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_log10.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_log10f.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_logf.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_rem_pio2.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_rem_pio2f.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_scalb.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_scalbf.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_sinh.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_sinhf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_sqrt.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/e_sqrtl.c#1 branch .. //depot/projects/dtrace/src/lib/msun/src/k_cosf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_rem_pio2.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_sinf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_tan.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_tanf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/math.h#10 integrate .. //depot/projects/dtrace/src/lib/msun/src/math_private.h#8 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_asinh.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_asinhf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_atan.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_atanf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_cbrt.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_cbrtf.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ceilf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_copysign.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_copysignf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_cosf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_erf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_erff.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2.c#8 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2f.c#10 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_fabsf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_finite.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_finitef.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_floorf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_frexp.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_frexpf.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ilogb.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ilogbf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_ilogbl.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_logbf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_modff.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_nextafter.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_nextafterf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_nextafterl.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_nexttoward.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_nexttowardf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_rint.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_rintf.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_rintl.c#3 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_significand.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_significandf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_sinf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_tanf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_tanh.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_tanhf.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_trunc.c#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/w_cabs.c#5 integrate .. //depot/projects/dtrace/src/release/Makefile#18 integrate .. //depot/projects/dtrace/src/rescue/rescue/Makefile#10 integrate .. //depot/projects/dtrace/src/sbin/ddb/ddb.8#2 integrate .. //depot/projects/dtrace/src/sbin/ddb/ddb.c#2 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/main.c#6 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/pass1.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/pass2.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/setup.c#5 integrate .. //depot/projects/dtrace/src/sbin/geom/Makefile#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/label/geom_label.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/multipath/gmultipath.8#2 integrate .. //depot/projects/dtrace/src/sbin/geom/core/geom.8#6 integrate .. //depot/projects/dtrace/src/sbin/geom/core/geom.c#8 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.8#17 integrate .. //depot/projects/dtrace/src/sbin/ipfw/ipfw.8#19 integrate .. //depot/projects/dtrace/src/sbin/ipfw/ipfw2.c#18 integrate .. //depot/projects/dtrace/src/sbin/newfs/mkfs.c#7 integrate .. //depot/projects/dtrace/src/sbin/ping6/ping6.c#6 integrate .. //depot/projects/dtrace/src/secure/usr.bin/ssh/Makefile#5 integrate .. //depot/projects/dtrace/src/secure/usr.sbin/sshd/Makefile#6 integrate .. //depot/projects/dtrace/src/share/man/man3/Makefile#6 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#31 integrate .. //depot/projects/dtrace/src/share/man/man4/cmx.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/ddb.4#14 integrate .. //depot/projects/dtrace/src/share/man/man4/fwohci.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/geom_linux_lvm.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/geom_lvm.4#2 delete .. //depot/projects/dtrace/src/share/man/man4/ip6.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/ng_nat.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/uchcom.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/ucom.4#6 integrate .. //depot/projects/dtrace/src/share/man/man4/ucycom.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/uscanner.4#9 integrate .. //depot/projects/dtrace/src/share/man/man4/uslcom.4#1 branch .. //depot/projects/dtrace/src/share/man/man5/rc.conf.5#24 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#27 integrate .. //depot/projects/dtrace/src/share/man/man9/VOP_LOCK.9#7 integrate .. //depot/projects/dtrace/src/share/man/man9/bus_space.9#6 integrate .. //depot/projects/dtrace/src/share/man/man9/insmntque.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/lock.9#12 integrate .. //depot/projects/dtrace/src/share/man/man9/vfs_mountedfrom.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/vgone.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/vhold.9#5 integrate .. //depot/projects/dtrace/src/share/man/man9/vput.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/vref.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/vrefcnt.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/vrele.9#4 integrate .. //depot/projects/dtrace/src/share/misc/bsd-family-tree#15 integrate .. //depot/projects/dtrace/src/share/misc/committers-doc.dot#3 integrate .. //depot/projects/dtrace/src/share/misc/committers-ports.dot#4 integrate .. //depot/projects/dtrace/src/share/mk/bsd.cpu.mk#11 integrate .. //depot/projects/dtrace/src/share/mk/bsd.libnames.mk#9 integrate .. //depot/projects/dtrace/src/share/mk/sys.mk#20 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/identcpu.c#11 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/mp_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#34 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#35 integrate .. //depot/projects/dtrace/src/sys/amd64/include/pmap.h#11 integrate .. //depot/projects/dtrace/src/sys/amd64/include/smp.h#6 integrate .. //depot/projects/dtrace/src/sys/arm/arm/pmap.c#29 integrate .. //depot/projects/dtrace/src/sys/arm/arm/uio_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/conf/AVILA#5 integrate .. //depot/projects/dtrace/src/sys/arm/include/_bus.h#4 integrate .. //depot/projects/dtrace/src/sys/arm/include/pmap.h#13 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/common/bootstrap.h#6 integrate .. //depot/projects/dtrace/src/sys/boot/common/load_elf.c#7 integrate .. //depot/projects/dtrace/src/sys/boot/i386/boot2/boot2.c#9 integrate .. //depot/projects/dtrace/src/sys/boot/i386/btx/btx/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/btx/btx/btx.S#7 integrate .. //depot/projects/dtrace/src/sys/boot/i386/gptboot/gptboot.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/biosdisk.c#7 integrate .. //depot/projects/dtrace/src/sys/boot/i386/pxeldr/pxeldr.S#6 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/btx/btx/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/btx/btx/btx.S#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/biosdisk.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/uboot/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/uboot/conf.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/uboot/metadata.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/uboot/start.S#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/common/main.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/glue.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/lib/glue.h#1 branch .. //depot/projects/dtrace/src/sys/cam/cam_xpt.c#18 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_ses.c#6 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_futex.c#6 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#20 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.h#3 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#40 integrate .. //depot/projects/dtrace/src/sys/conf/files#73 integrate .. //depot/projects/dtrace/src/sys/conf/files.powerpc#17 integrate .. //depot/projects/dtrace/src/sys/conf/kmod.mk#12 integrate .. //depot/projects/dtrace/src/sys/conf/ldscript.powerpc#4 integrate .. //depot/projects/dtrace/src/sys/conf/options#41 integrate .. //depot/projects/dtrace/src/sys/conf/options.powerpc#5 integrate .. //depot/projects/dtrace/src/sys/ddb/db_command.c#13 integrate .. //depot/projects/dtrace/src/sys/ddb/db_examine.c#6 integrate .. //depot/projects/dtrace/src/sys/ddb/db_input.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#24 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-pci.h#14 integrate .. //depot/projects/dtrace/src/sys/dev/atkbdc/psm.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bce.c#18 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bcereg.h#12 integrate .. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#24 integrate .. //depot/projects/dtrace/src/sys/dev/bge/if_bgereg.h#17 integrate .. //depot/projects/dtrace/src/sys/dev/cmx/cmx.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cmx/cmx_pccard.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cmx/cmxreg.h#1 branch .. //depot/projects/dtrace/src/sys/dev/cmx/cmxvar.h#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/bin2h.pl#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_l2t.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_l2t.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_multiq.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_offload.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_t3fw.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_t3fw.h#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/sys/cxgb_support.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/sys/mbufq.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete .. //depot/projects/dtrace/src/sys/dev/cxgb/t3b_protocol_sram.h#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete .. //depot/projects/dtrace/src/sys/dev/cxgb/t3b_tp_eeprom.h#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/t3cdev.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch .. //depot/projects/dtrace/src/sys/dev/drm/drm_pciids.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/em/LICENSE#4 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_80003es2lan.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_80003es2lan.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82540.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82541.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82541.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82542.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82543.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82543.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82571.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82571.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_82575.c#3 delete .. //depot/projects/dtrace/src/sys/dev/em/e1000_82575.h#3 delete .. //depot/projects/dtrace/src/sys/dev/em/e1000_api.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_api.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_defines.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_hw.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_ich8lan.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_ich8lan.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_mac.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_mac.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_manage.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_manage.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_nvm.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_nvm.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_osdep.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_phy.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_phy.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/e1000_regs.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.c#18 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.h#12 integrate .. //depot/projects/dtrace/src/sys/dev/hptrr/hptrr_os_bsd.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/hptrr/hptrr_osm_bsd.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/hptrr/ldm.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/hptrr/osm.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/ic/quicc.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_82575.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_82575.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_api.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_api.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_defines.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_hw.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_mac.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_mac.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_manage.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_manage.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_nvm.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_nvm.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_osdep.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_phy.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_phy.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/e1000_regs.h#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/if_igb.c#1 branch .. //depot/projects/dtrace/src/sys/dev/igb/if_igb.h#1 branch .. //depot/projects/dtrace/src/sys/dev/lge/if_lge.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/md/md.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/mii/brgphy.c#15 integrate .. //depot/projects/dtrace/src/sys/dev/mii/ciphy.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/mii/miidevs#13 integrate .. //depot/projects/dtrace/src/sys/dev/mii/rgephy.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/msk/if_msk.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/msk/if_mskreg.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/nfe/if_nfe.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/nfe/if_nfereg.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/nfe/if_nfevar.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/pccard/pccarddevs#8 integrate .. //depot/projects/dtrace/src/sys/dev/quicc/quicc_bfe.h#1 branch .. //depot/projects/dtrace/src/sys/dev/quicc/quicc_bfe_ocp.c#1 branch .. //depot/projects/dtrace/src/sys/dev/quicc/quicc_bus.h#1 branch .. //depot/projects/dtrace/src/sys/dev/quicc/quicc_core.c#1 branch .. //depot/projects/dtrace/src/sys/dev/re/if_re.c#16 integrate .. //depot/projects/dtrace/src/sys/dev/scc/scc_bfe.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/scc/scc_bfe_quicc.c#1 branch .. //depot/projects/dtrace/src/sys/dev/scc/scc_bus.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/scc/scc_dev_quicc.c#1 branch .. //depot/projects/dtrace/src/sys/dev/tsec/if_tsec.c#1 branch .. //depot/projects/dtrace/src/sys/dev/tsec/if_tsec.h#1 branch .. //depot/projects/dtrace/src/sys/dev/tsec/if_tsecreg.h#1 branch .. //depot/projects/dtrace/src/sys/dev/uart/uart.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_bus_ocp.c#1 branch .. //depot/projects/dtrace/src/sys/dev/uart/uart_bus_scc.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_cpu_powerpc.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_dev_quicc.c#1 branch .. //depot/projects/dtrace/src/sys/dev/usb/ehci.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_axe.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ubsa.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ucom.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/umass.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#24 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uscanner.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uslcom.c#1 branch .. //depot/projects/dtrace/src/sys/fs/coda/TODO#3 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#17 integrate .. //depot/projects/dtrace/src/sys/fs/fdescfs/fdesc_vnops.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/msdosfs/msdosfs_vfsops.c#19 integrate .. //depot/projects/dtrace/src/sys/fs/nullfs/null_vfsops.c#10 integrate .. //depot/projects/dtrace/src/sys/fs/nullfs/null_vnops.c#9 integrate .. //depot/projects/dtrace/src/sys/fs/nwfs/nwfs_node.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/nwfs/nwfs_subr.c#6 integrate .. //depot/projects/dtrace/src/sys/fs/pseudofs/pseudofs_vncache.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs.h#4 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_io.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_node.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_vfsops.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_vnops.c#6 integrate .. //depot/projects/dtrace/src/sys/fs/unionfs/union_vfsops.c#11 integrate .. //depot/projects/dtrace/src/sys/fs/unionfs/union_vnops.c#14 integrate .. //depot/projects/dtrace/src/sys/gdb/gdb_main.c#4 integrate .. //depot/projects/dtrace/src/sys/geom/linux_lvm/g_linux_lvm.c#1 branch .. //depot/projects/dtrace/src/sys/geom/linux_lvm/g_linux_lvm.h#1 branch .. //depot/projects/dtrace/src/sys/geom/lvm/g_lvm.c#2 delete .. //depot/projects/dtrace/src/sys/geom/lvm/g_lvm.h#2 delete .. //depot/projects/dtrace/src/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/dtrace/src/sys/geom/part/g_part_vtoc8.c#1 branch .. //depot/projects/dtrace/src/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#31 integrate .. //depot/projects/dtrace/src/sys/i386/cpufreq/est.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/i386/identcpu.c#12 integrate .. //depot/projects/dtrace/src/sys/i386/i386/initcpu.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/i386/mp_machdep.c#12 integrate .. //depot/projects/dtrace/src/sys/i386/include/_types.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/include/float.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/include/smp.h#6 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/mp_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/init_main.c#25 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#23 integrate .. //depot/projects/dtrace/src/sys/kern/kern_cpuset.c#1 branch .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/kern_ktrace.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_priv.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/kern_shutdown.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#32 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#28 integrate .. //depot/projects/dtrace/src/sys/kern/subr_smp.c#11 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#19 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#18 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#26 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#20 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_cache.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_default.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_lookup.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#31 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/vnode_if.src#8 integrate .. //depot/projects/dtrace/src/sys/libkern/cmpdi2.c#1 branch .. //depot/projects/dtrace/src/sys/libkern/quad.h#4 integrate .. //depot/projects/dtrace/src/sys/modules/Makefile#37 integrate .. //depot/projects/dtrace/src/sys/modules/cmx/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/cxgb/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/cxgb/cxgb/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/cxgb/cxgb_t3fw/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/modules/em/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/geom/Makefile#9 integrate .. //depot/projects/dtrace/src/sys/modules/geom/geom_apple/Makefile#4 delete .. //depot/projects/dtrace/src/sys/modules/geom/geom_eli/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/geom/geom_gpt/Makefile#4 delete .. //depot/projects/dtrace/src/sys/modules/geom/geom_linux_lvm/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/geom/geom_lvm/Makefile#2 delete .. //depot/projects/dtrace/src/sys/modules/geom/geom_part/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/hwpmc/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/igb/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/ipfw_nat/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/sound/driver/emu10kx/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/uslcom/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/zfs/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/net/if.c#12 integrate .. //depot/projects/dtrace/src/sys/net/if_ethersubr.c#14 integrate .. //depot/projects/dtrace/src/sys/net/if_gif.c#10 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_scan_sta.c#6 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_base.c#14 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_ksocket.c#6 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_nat.c#9 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_nat.h#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_pppoe.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet/in.h#7 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#17 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_dummynet.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw.h#9 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw2.c#26 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw_nat.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/ip_fw_pfil.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_db.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_ftp.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_irc.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_local.h#6 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_proxy.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_smedia.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_output.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_input.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_var.h#9 integrate .. //depot/projects/dtrace/src/sys/netipsec/key.c#6 integrate .. //depot/projects/dtrace/src/sys/netipsec/key_debug.c#5 integrate .. //depot/projects/dtrace/src/sys/netncp/ncp_conn.c#7 integrate .. //depot/projects/dtrace/src/sys/netncp/ncp_conn.h#4 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_conn.c#7 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_conn.h#4 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_iod.c#6 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_idmap.c#5 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_vfsops.c#11 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_node.c#10 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_subs.c#13 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vfsops.c#17 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfs_serv.c#10 integrate .. //depot/projects/dtrace/src/sys/pc98/cbus/sio.c#7 integrate .. //depot/projects/dtrace/src/sys/pc98/pc98/machdep.c#20 integrate .. //depot/projects/dtrace/src/sys/pci/if_rl.c#10 integrate .. //depot/projects/dtrace/src/sys/pci/if_rlreg.h#12 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/locore.S#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/machdep.c#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/swtch.S#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/trap.c#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/trap_subr.S#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/aim/vm_machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/booke/clock.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/copyinout.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/interrupt.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/locore.S#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/machdep.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/pmap.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/support.S#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/swtch.S#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/trap.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/trap_subr.S#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/uio_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/booke/vm_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/conf/MPC85XX#1 branch .. //depot/projects/dtrace/src/sys/powerpc/conf/NOTES#13 integrate .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_add.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_arith.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_compare.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_div.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_emu.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_emu.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_explode.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_extern.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_implode.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_instr.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_mul.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_sqrt.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/fpu/fpu_subr.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/bootinfo.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/float.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/frame.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/hid.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/intr_machdep.h#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/kdb.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/md_var.h#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/metadata.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/mmuvar.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/ocpbus.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/openpicvar.h#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/pcb.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/pcpu.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/pmap.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/psl.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/pte.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/sf_buf.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/spr.h#4 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/tlb.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/trap.h#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/trap_aim.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/trap_booke.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/include/vmparam.h#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/nexus.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/ocpbus.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/ocpbus.h#1 branch .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/opic.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/mpc85xx/pci_ocp.c#1 branch .. //depot/projects/dtrace/src/sys/powerpc/powermac/openpic_macio.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/autoconf.c#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/cpu.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/db_trace.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/gdb_machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/genassym.c#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/intr_machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/mp_machdep.c#5 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/openpic.c#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/pic_if.m#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/psim/openpic_iobus.c#6 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit.c#14 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_arg.c#11 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm.c#12 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm_klib.c#9 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_private.h#7 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_syscalls.c#12 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_trigger.c#6 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_worker.c#10 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/mp_machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/mp_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/sys/_types.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/buf.h#11 integrate .. //depot/projects/dtrace/src/sys/sys/bufobj.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/cpuset.h#1 branch .. //depot/projects/dtrace/src/sys/sys/ktrace.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/lockmgr.h#17 integrate .. //depot/projects/dtrace/src/sys/sys/mount.h#10 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#42 integrate .. //depot/projects/dtrace/src/sys/sys/pcpu.h#18 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#35 integrate .. //depot/projects/dtrace/src/sys/sys/sched.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/smp.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#20 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#20 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#20 integrate .. //depot/projects/dtrace/src/sys/sys/types.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/vnode.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/vtoc.h#1 branch .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_rawread.c#7 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_softdep.c#15 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#21 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vnops.c#15 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/extattr.h#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_extattr.c#9 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.h#6 integrate .. //depot/projects/dtrace/src/sys/vm/vm_object.c#20 integrate .. //depot/projects/dtrace/src/tools/build/mk/OptionalObsoleteFiles.inc#11 integrate .. //depot/projects/dtrace/src/tools/regression/bin/sh/builtins/cd1.0#1 branch .. //depot/projects/dtrace/src/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/dtrace/src/tools/regression/lib/msun/test-trig.c#2 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/tinybsd#8 integrate .. //depot/projects/dtrace/src/usr.bin/Makefile#14 integrate .. //depot/projects/dtrace/src/usr.bin/ar/Makefile#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/ar.1#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/ar.c#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/ar.h#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/read.c#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/util.c#1 branch .. //depot/projects/dtrace/src/usr.bin/ar/write.c#1 branch .. //depot/projects/dtrace/src/usr.bin/awk/Makefile#7 integrate .. //depot/projects/dtrace/src/usr.bin/calendar/calendars/calendar.freebsd#18 integrate .. //depot/projects/dtrace/src/usr.bin/chat/chat.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/cpuset/Makefile#1 branch .. //depot/projects/dtrace/src/usr.bin/cpuset/cpuset.1#1 branch .. //depot/projects/dtrace/src/usr.bin/cpuset/cpuset.c#1 branch .. //depot/projects/dtrace/src/usr.bin/du/du.1#6 integrate .. //depot/projects/dtrace/src/usr.bin/du/du.c#7 integrate .. //depot/projects/dtrace/src/usr.bin/find/extern.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/find/find.1#9 integrate .. //depot/projects/dtrace/src/usr.bin/find/find.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/find/function.c#6 integrate .. //depot/projects/dtrace/src/usr.bin/find/main.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/find/option.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/kdump.1#4 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/kdump.c#12 integrate .. //depot/projects/dtrace/src/usr.bin/kdump/mksubr#8 integrate .. //depot/projects/dtrace/src/usr.bin/ktrace/ktrace.1#5 integrate .. //depot/projects/dtrace/src/usr.bin/ktrace/ktrace.h#4 integrate .. //depot/projects/dtrace/src/usr.bin/ktrace/subr.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/make/Makefile#5 integrate .. //depot/projects/dtrace/src/usr.bin/make/Makefile.dist#5 integrate .. //depot/projects/dtrace/src/usr.bin/make/arch.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/make/job.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/make/main.c#7 integrate .. //depot/projects/dtrace/src/usr.bin/make/make.1#8 integrate .. //depot/projects/dtrace/src/usr.bin/unifdef/unifdef.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#6 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwcontrol.8#7 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwcontrol.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/mountd/mountd.c#13 integrate .. //depot/projects/dtrace/src/usr.sbin/moused/Makefile#5 integrate .. //depot/projects/dtrace/src/usr.sbin/moused/moused.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/add/main.c#9 integrate .. //depot/projects/dtrace/src/usr.sbin/pmcstat/Makefile#7 integrate .. //depot/projects/dtrace/src/usr.sbin/pw/pw.8#7 integrate .. //depot/projects/dtrace/src/usr.sbin/pw/pw.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pw/pw_group.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sa/db.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/syslogd/syslogd.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/traceroute/Makefile#5 integrate .. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8#5 integrate .. //depot/projects/dtrace/www/de/administration.sgml#5 integrate .. //depot/projects/dtrace/www/de/developers.sgml#8 integrate .. //depot/projects/dtrace/www/de/docproj/sgml.sgml#2 integrate .. //depot/projects/dtrace/www/de/docs/books.sgml#11 integrate .. //depot/projects/dtrace/www/de/index.xsl#15 integrate .. //depot/projects/dtrace/www/de/java/index.sgml#3 integrate .. //depot/projects/dtrace/www/de/news/2006/news.xml#2 integrate .. //depot/projects/dtrace/www/de/security/Makefile#5 integrate .. //depot/projects/dtrace/www/de/security/charter.sgml#5 integrate .. //depot/projects/dtrace/www/de/security/mkindex.xsl#5 delete .. //depot/projects/dtrace/www/de/security/security.sgml#13 integrate .. //depot/projects/dtrace/www/de/share/sgml/libcommon.xsl#6 integrate .. //depot/projects/dtrace/www/de/share/sgml/navibar.l10n.ent#8 integrate .. //depot/projects/dtrace/www/de/share/sgml/news.xml#18 integrate .. //depot/projects/dtrace/www/de/share/sgml/press.xml#16 integrate .. //depot/projects/dtrace/www/en/about.sgml#9 integrate .. //depot/projects/dtrace/www/en/developers.sgml#30 integrate .. //depot/projects/dtrace/www/en/docproj/sgml.sgml#4 integrate .. //depot/projects/dtrace/www/en/docs/books.sgml#12 integrate .. //depot/projects/dtrace/www/en/donations/wantlist.sgml#29 integrate .. //depot/projects/dtrace/www/en/gnome/docs/faq2.sgml#15 integrate .. //depot/projects/dtrace/www/en/index.xsl#16 integrate .. //depot/projects/dtrace/www/en/java/dists/15.sgml#7 integrate .. //depot/projects/dtrace/www/en/java/dists/16.sgml#1 branch .. //depot/projects/dtrace/www/en/java/dists/Makefile#3 integrate .. //depot/projects/dtrace/www/en/java/dists/index.sgml#4 integrate .. //depot/projects/dtrace/www/en/java/index.sgml#6 integrate .. //depot/projects/dtrace/www/en/java/news.xml#3 integrate .. //depot/projects/dtrace/www/en/news/2006/news.xml#2 integrate .. //depot/projects/dtrace/www/en/platforms/i386.sgml#5 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#8 integrate .. //depot/projects/dtrace/www/en/releases/6.3R/errata.html#4 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/Makefile#2 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/announce.sgml#1 branch .. //depot/projects/dtrace/www/en/releases/7.0R/errata.html#1 branch .. //depot/projects/dtrace/www/en/releases/7.0R/hardware.html#1 branch .. //depot/projects/dtrace/www/en/releases/7.0R/readme.html#1 branch .. //depot/projects/dtrace/www/en/releases/7.0R/relnotes.html#1 branch .. //depot/projects/dtrace/www/en/releases/7.0R/schedule.sgml#13 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/todo.sgml#6 integrate .. //depot/projects/dtrace/www/en/releases/index.sgml#9 integrate .. //depot/projects/dtrace/www/en/releng/index.sgml#29 integrate .. //depot/projects/dtrace/www/en/security/Makefile#4 integrate .. //depot/projects/dtrace/www/en/security/advisories.sgml#1 branch .. //depot/projects/dtrace/www/en/security/charter.sgml#4 integrate .. //depot/projects/dtrace/www/en/security/mkindex.xsl#4 integrate .. //depot/projects/dtrace/www/en/security/security.sgml#13 integrate .. //depot/projects/dtrace/www/en/security/so_public_key.asc#1 branch .. //depot/projects/dtrace/www/en/where.sgml#15 integrate .. //depot/projects/dtrace/www/fr/index.xsl#8 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#21 integrate .. //depot/projects/dtrace/www/share/sgml/libcommon.xsl#9 integrate .. //depot/projects/dtrace/www/share/sgml/navibar.ent#8 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#41 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#21 integrate .. //depot/projects/dtrace/www/share/sgml/release.ent#20 integrate .. //depot/projects/dtrace/www/tools/webupdate#3 integrate .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/Makefile#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/docbook.css#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/errata.html#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/hardware.html#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/readme.html#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/7.0R/relnotes.html#1 branch .. //depot/projects/dtrace/www/zh_CN/releases/Makefile#5 integrate Differences ... ==== //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/faq/book.sgml#12 (text+ko) ==== @@ -2,10 +2,10 @@ The FreeBSD Documentation Project The FreeBSD German Documentation Project -$FreeBSD: doc/de_DE.ISO8859-1/books/faq/book.sgml,v 1.79 2008/01/14 08:36:46 miwi Exp $ -$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.604 2008/01/04 20:31:18 jkois Exp $ +$FreeBSD: doc/de_DE.ISO8859-1/books/faq/book.sgml,v 1.80 2008/02/24 12:11:29 jkois Exp $ +$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.605 2008/02/24 12:01:55 jkois Exp $ - basiert auf: 1.807 + basiert auf: 1.809 --> @@ -33,7 +33,7 @@ - $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.604 2008/01/04 20:31:18 jkois Exp $ + $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.605 2008/02/24 12:01:55 jkois Exp $ 1995 @@ -1254,9 +1254,10 @@ - Der Channel #BSDChat im - IRCNET - (Sprache: traditionelles Chinesisch) hat sich der + Der Channel #bsdchat auf + Freenode + (Sprache: traditionelles Chinesisch, UTF-8-kodiert) + hat sich der Unterstützung von &os;-Anwendern verschrieben. Er ist auch ein guter Startpunkt für nichttechnische Diskussionen. @@ -9871,8 +9872,7 @@ auch beim Update via Sourcecode das SUID-Bit erhält, müssen Sie in /etc/make.conf die Zeile ENABLE_SUIDPERL=true - einfügen, bevor Sie make - buildworld starten. + einfügen, bevor Sie perl bauen. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.54 2008/02/12 07:25:23 gabor Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.55 2008/03/05 12:57:31 gabor Exp $ SUBDIR = SUBDIR+= 5-roadmap @@ -29,6 +29,7 @@ SUBDIR+= ipsec-must SUBDIR+= laptop SUBDIR+= linux-comparison +SUBDIR+= linux-emulation SUBDIR+= mailing-list-faq SUBDIR+= mh SUBDIR+= multi-os ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#64 (text+ko) ==== @@ -1,4 +1,4 @@ - + 1.81 Affected files ... .. //depot/projects/docproj_hu/books/handbook/firewalls/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/firewalls/chapter.sgml#5 (text+ko) ==== @@ -1,12 +1,12 @@ + Original Revision: 1.81 --> @@ -4073,7 +4073,7 @@ beállítások alkalmazására is szükségünk lesz. A rendszermagban opció között meg kell adnunk az option - divert sort a többi IPFIREWALL + IPDIVERT sort a többi IPFIREWALL sor mellett, és fordítanunk egy saját verziót. From owner-p4-projects@FreeBSD.ORG Sat Mar 8 21:26:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 571EC1065672; Sat, 8 Mar 2008 21:26:40 +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 03D731065670 for ; Sat, 8 Mar 2008 21:26:40 +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 E2BA48FC14 for ; Sat, 8 Mar 2008 21:26:39 +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 m28LQdPw069508 for ; Sat, 8 Mar 2008 21:26:39 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m28LQd5p069506 for perforce@freebsd.org; Sat, 8 Mar 2008 21:26:39 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 8 Mar 2008 21:26:39 GMT Message-Id: <200803082126.m28LQd5p069506@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 137192 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, 08 Mar 2008 21:26:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=137192 Change 137192 by pgj@disznohal on 2008/03/08 21:25:42 (geom) MFen: 1.32 --> 1.40 and lots of fixes. Affected files ... .. //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#5 (text+ko) ==== @@ -1,11 +1,11 @@ + Original Revision: 1.40 --> @@ -18,7 +18,7 @@ - GEOM: Moduláris lemezszervezõ rendszer + GEOM: A moduláris lemezszervezõ rendszer Áttekintés @@ -30,90 +30,112 @@ A GEOM lemezrendszer GEOM - - Ez a fejezet a &os;-ben található GEOM rendszert - mutatja be. Ez a rendszer tömöríti az általa is alkalmazott - fontosabb RAID-vezérlõ - segédprogramokat. A fejezet nem részletezi, hogy a GEOM - konkrétan milyen módon kezeli és vezérli az I/O-t, ahogy - azt sem, hogyan mûködik az alapjául szolgáló alrendszer - vagy hogy néz ki annak forráskódja. Az ilyen jellegû - információk a &man.geom.4; man oldalon, valamint az ott - felsorolt hivatkozott helyeken találhatóak meg. Továbbá, ez - a fejezet magukról a RAID-konfigurációkról - sem ad pontos tájékoztatást. Kizárólag csak a GEOM által is - támogatott RAID-besorolásokról esik - szó. - - A fejezet elolvasása során megismerjük: + + Ez a fejezet a &os;-ben található GEOM rendszert + mutatja be. Ez a rendszer tömöríti az + általa is alkalmazott fontosabb RAID-vezérlõ + segédprogramokat. A fejezet nem részletezi, hogy a + GEOM konkrétan milyen módon kezeli és + vezérli az I/O-t, ahogy azt sem, hogyan mûködik + az alapjául szolgáló alrendszer vagy hogy + néz ki annak forráskódja. Az ilyen + jellegû információk a &man.geom.4; man oldalon, + valamint az ott felsorolt hivatkozott helyeken + találhatóak meg. Továbbá, ez a + fejezet magukról a + RAID-konfigurációkról sem + ad pontos tájékoztatást. + Kizárólag csak a GEOM által is + támogatott + RAID-besorolásokról esik + szó. + + A fejezet elolvasása során + megismerjük: - a GEOM segítségével milyen fajtájú RAID - támogatást érhetünk el. + a GEOM segítségével milyen + fajtájú RAID + támogatást érhetünk el. - hogyan kell használni a rendszer által nyújtott - alapvetõ segédeszközöket a különféle RAID - -szintek konfigurálásához, karbantartásához és - kezeléséhez. - + hogyan kell használni a rendszer által + nyújtott alapvetõ segédeszközöket a + különféle RAID -szintek + konfigurálásához, + karbantartásához és + kezeléséhez. + - hogyan kell a GEOM-on keresztül tükrözni, csíkozni, - titkosítani és távolról összekapcsolni lemezes - eszközöket. + hogyan kell a GEOM-on keresztül tükrözni, + csíkozni, titkosítani és + távolról összekapcsolni lemezes + eszközöket. - hogyan kell a GEOM rendszerben összekapcsolt lemezeknél - felmerülõ hibákat felderíteni. + hogyan kell a GEOM rendszerben összekapcsolt + lemezeknél felmerülõ hibákat + felderíteni. - - A fejezet elolvasásához ajánlott: + + A fejezet elolvasásához + ajánlott: - + - megérteni, hogyan kezeli a &os; a lemezes eszközöket - (). + megérteni, hogyan kezeli a &os; a lemezes + eszközöket (). - ismerni, hogyan konfiguráljunk és telepítsünk egy - új &os; rendszermagot (). + ismerni, hogyan konfiguráljunk és + telepítsünk egy új &os; rendszermagot (). A GEOM bemutatása - - A GEOM rendszer adatszolgáltatókon vagy speciális - /dev-állományokon keresztül - hozzáférést és vezérlést tesz lehetõvé bizonyos osztályokhoz — - Master Boot Recordokhoz, BSD-címkékhez stb. - Számos szoftveres RAID konfiguráció támogatásával - a GEOM transzparens elérést tesz lehetõvé mind az operációs rendszer, - mind pedig az általa felkínált segédprogramok számára. + + A GEOM rendszer adatszolgáltatókon vagy + speciális /dev-állományokon + keresztül hozzáférést és + vezérlést tesz lehetõvé bizonyos + osztályokhoz — Master Boot Recordokhoz, + BSD-címkékhez stb. Számos + szoftveres RAID konfiguráció + támogatásával a GEOM transzparens + elérést tesz lehetõvé mind az + operációs rendszer, mind pedig az általa + felkínált segédprogramok + számára. + - - - - Tom - Rhodes - Írta: - - - Murray - Stokely - - - + + + + Tom + Rhodes + Írta: + + + Murray + Stokely + + + RAID0 - Csíkozás @@ -123,108 +145,139 @@ Lemezcsíkozás - - A csíkozás módszerét használjuk több lemezmeghajtó egyetlen - kötetté történõ összevonásához. A GEOM lemezalrendszer - szoftveres támogatást nyújt a RAID0, más - néven a lemezcsíkozás megvalósításához. - - Egy RAID0 rendszerben az adatokat - blokkokra bontva írjuk fel a tömbben található lemezek között - szétosztva. Így ahelyett, hogy meg kellene várnunk 256 kb-nyi - adat egyetlen lemezre írását, egy RAID0 - rendszerben egyszerre íródik 64 kb-nyi adat négy különbözõ - lemezre, és ezáltal gyorsabb elérést szolgáltat. Ez a - gyorsaság további lemezvezérlõk használatával még jobban - fokozható. - - Az egy RAID0-csíkozásban résztvevõ - lemezek mindegyikének azonos méretûnek kell lennie, mivel - az írásra és olvasásra irányuló I/O-kérések a párhuzamos - kiszolgálás érdekében összefésülõdnek. + + A csíkozás módszerét + használjuk több lemezmeghajtó egyetlen + kötetté történõ + összevonásához. A GEOM lemezalrendszer + szoftveres támogatást nyújt a + RAID0, más néven a + lemezcsíkozás + megvalósításához. + + Egy RAID0 rendszerben az adatokat blokkokra + bontva írjuk fel a tömbben található + lemezek között szétosztva. Így ahelyett, + hogy meg kellene várnunk 256 kb-nyi adat egyetlen lemezre + írását, egy RAID0 + rendszerben egyszerre íródik 64 kb-nyi adat + négy különbözõ lemezre, és + ezáltal gyorsabb elérést szolgáltat. + Ez a gyorsaság további lemezvezérlõk + használatával még jobban + fokozható. + + Az egy RAID0-csíkozásban + résztvevõ lemezek mindegyikének azonos + méretûnek kell lennie, mivel az írásra + és olvasásra irányuló + I/O-kérések a párhuzamos + kiszolgálás érdekében + összefésülõdnek. - - - - + + + + - - Példa lemezcsíkozásra - - + + Példa lemezcsíkozásra + + - Csíkozás kialakítása formázatlan ATA-lemezekkel - - Töltsük be a geom_stripe - modult: - - &prompt.root; kldload geom_stripe - - - Bizonyosodjuk meg róla, hogy a rendszerünkben - található egy szabad csatlakozási pont. Ha majd ezt a - kötetet szánjuk rendszerünk gyökérpartíciójának, használjunk - erre a célra egy másik könyvtárat, pl. a - /mnt-ot: - - &prompt.root; mkdir /mnt - - - Keressük meg a csíkozásra felhasználni kívánt - lemezek eszközneveit, és hozzunk létre belõlük egy új csíkozott - eszközt. Például, ha két használatban nem levõ, - particionálatlan ATA-lemezt, név szerint a - /dev/ad2 és /dev/ad3 - eszközöket akarjunk csíkozni: + Csíkozás kialakítása + formázatlan ATA-lemezekkel + + + Töltsük be a geom_stripe + modult: + + &prompt.root; kldload geom_stripe + + + + Bizonyosodjuk meg róla, hogy a rendszerünkben + található egy szabad csatlakozási pont. + Ha majd ezt a kötetet szánjuk rendszerünk + gyökérpartíciójának, + használjunk erre a célra egy másik + könyvtárat, pl. a /mnt-ot: + + &prompt.root; mkdir /mnt + + + + Keressük meg a csíkozásra + felhasználni kívánt lemezek + eszközneveit, és hozzunk létre + belõlük egy új csíkozott eszközt. + Például, ha két használatban nem + levõ, particionálatlan + ATA-lemezt, név szerint a + /dev/ad2 és + /dev/ad3 eszközöket akarjunk + csíkozni: + + &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 + + + + Az így létrejött új köteten + most hozzunk létre egy általános + címkét, vagy más néven egy + partíciós táblát, és + telepítsük fel rá a rendszer + alapértelmezett rendszerindító + programját: + + &prompt.root; bsdlabel -wB /dev/stripe/st0 + + + + Ezzel meg kellett jelennie további másik + két eszköznek is a /dev/stripe + könyvtárban, a st0 + eszköz mellett. Ezek többek közt az + st0a és az + st0c. Itt már ki is tudunk + alakítani egy állományrendszert az + st0a eszközön a + newfs használatával: + + &prompt.root; newfs -U /dev/stripe/st0a + + Sok-sok számot fogunk látni cikázni a + képernyõn, majd néhány + másodperc múlva befejezõdik a folyamat. + Létrehoztuk a kötetet, ami most már + készen áll a becsatolásra. + + - &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 - - - Az így létrejött új köteten most hozzunk létre egy - általános címkét, vagy más néven egy partíciós táblát, és - telepítsük fel rá a rendszer alapértelmezett rendszerindító - programját: + A kialakított lemezcsíkozást így + tudjuk kézzel csatlakoztatni: - &prompt.root; bsdlabel -wB /dev/stripe/st0 - - - Ezzel meg kellett jelennie további másik két - eszköznek is a /dev/stripe - könyvtárban, a st0 eszköz - mellett. Ezek többek közt az st0a - és az st0c. Itt már ki is tudunk - alakítani egy állományrendszert az st0a - eszközön a newfs használatával: - - &prompt.root; newfs -U /dev/stripe/st0a - - Sok-sok számot fogunk látni cikázni a képernyõn, - majd néhány másodperc múlva befejezõdik a folyamat. - Létrehoztuk a kötetet, ami most már készen áll a - becsatolásra. - - + &prompt.root; mount /dev/stripe/st0a /mnt - A kialakított lemezcsíkozást így tudjuk kézzel - csatlakoztatni: + A csíkozott állományrendszer a + rendszerindítás folyamán automatikusan + becsatlakoztathatjuk, ha elhelyezzük az alábbi + kötetinformációkat az + /etc/fstab állományba: - &prompt.root; mount /dev/stripe/st0a /mnt - - A csíkozott állományrendszer a rendszerindítás folyamán - automatikusan becsatlakoztathatjuk, ha elhelyezzük az - alábbi kötetinformációkat az /etc/fstab - állományba: + &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ + >> /etc/fstab - &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ - >> /etc/fstab - - A geom_stripe modult is automatikusan be - kell tölteni a rendszerindítás során. Ehhez a következõ sort kell - hozzáadni a /boot/loader.conf - állományhoz: + A geom_stripe modult is automatikusan be + kell tölteni a rendszerindítás során. + Ehhez a következõ sort kell hozzáadni a + /boot/loader.conf + állományhoz: - &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf + &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf @@ -237,258 +290,314 @@ Lemeztükrözés - - A tükrözés számos vállalatnál és háztartásban alkalmazott - technológia, amely az adatok megszakítás nélküli lementésére - használatos. Amikor tükrözést használunk, az egyszerûen csak - arra utal, hogy a B lemez ugyanazokat az adatokat tartalmazza, - mint az A lemez. Vagy amikor a C és D lemez tartalma egyezik - meg az A és B lemezekével. Függetlenül a lemezek kiosztásától, - itt az a lényeg, hogy az egyik lemez teljes területe vagy az - egyik partíciója le van másolva. Késõbb az ezen a módon - lementett adatok könnyen visszaállíthatóak anélkül, hogy ez a - szolgáltatásban vagy az elérhetõségben bármilyen kimaradást - okozna, és akár még fizikailag is biztonságosan tárolhatóak. - - Elõször is szereznünk kell két egyforma méretû lemezt, - valamint ez a példa feltételezi, hogy ezek a lemezek közvetlen - elérésû (&man.da.4;) SCSI-lemezek. - - Kezdetnek telepítsük fel a &os;-t az elsõ lemezre, de - csak két partícióval. Ezek egyike legyen a lapozóállományt - tartalmazó partíció, aminek mérete pedig a fizikailag - rendelkezésre álló memória (RAM) méretének - kétszere legyen. A többi helyet adjuk oda a gyökérpartíciónak - (/). Természetesen a - többi csatolási pontot is kihasználhatjuk, külön partíciókkal, - de ezzel a feladat nehézsége tízszeresére növekszik, mivel - ekkor manuálisan kell átírnunk a &man.bsdlabel.8; és - &man.fdisk.8; beállításokat. - - Indítsuk újra a számítógépet és várjuk meg, amíg a - rendszer teljesen fel nem áll. Amint ez a folyamat véget ért, - jelentkezzük be a root - felhasználóval. - - Hozzuk létre a /dev/mirror/gm eszközt - és kössük hozzá a /dev/ad1 - eszközhöz: + + A tükrözés számos + vállalatnál és háztartásban + alkalmazott technológia, amely az adatok + megszakítás nélküli + lementésére használatos. Amikor + tükrözést használunk, az egyszerûen + csak arra utal, hogy a B lemez ugyanazokat az adatokat + tartalmazza, mint az A lemez. Vagy amikor a C és D lemez + tartalma egyezik meg az A és B lemezekével. + Függetlenül a lemezek kiosztásától, + itt az a lényeg, hogy az egyik lemez teljes területe + vagy az egyik partíciója le van másolva. + Késõbb az ezen a módon lementett adatok + könnyen visszaállíthatóak + anélkül, hogy ez a szolgáltatásban vagy + az elérhetõségben bármilyen + kimaradást okozna, és akár még + fizikailag is biztonságosan tárolhatóak. + + Elõször is szereznünk kell két egyforma + méretû lemezt, valamint ez a példa + feltételezi, hogy ezek a lemezek közvetlen + elérésû (&man.da.4;) + SCSI-lemezek. + + Kezdetnek telepítsük fel a &os;-t az elsõ + lemezre, de csak két partícióval. Ezek egyike + legyen a lapozóállományt tartalmazó + partíció, aminek mérete pedig a fizikailag + rendelkezésre álló memória + (RAM) méretének kétszere + legyen. A többi helyet adjuk oda a + gyökérpartíciónak (/). Természetesen a többi + csatolási pontot is kihasználhatjuk, külön + partíciókkal, de ezzel a feladat + nehézsége tízszeresére növekszik, + mivel ekkor manuálisan kell átírnunk a + &man.bsdlabel.8; és &man.fdisk.8; + beállításokat. + + Indítsuk újra a + számítógépet és várjuk + meg, amíg a rendszer teljesen fel nem áll. Amint ez a + folyamat véget ért, jelentkezzük be a + root felhasználóval. + + Hozzuk létre a /dev/mirror/gm + eszközt és kössük hozzá a + /dev/ad1 eszközhöz: + + &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 - &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 - - A rendszernek erre így kell reagálnia: + A rendszernek erre így kell reagálnia: - + Metadata value stored on /dev/da1. Done. - Keltsük életre a GEOM-ot, aminek során betöltõdik a - /boot/kernel/geom_mirror.ko - kernelmodul: - - &prompt.root; gmirror load - - - Ezzel a paranccsal létre kellett jönnie a - gm0 eszköznek a - /dev/mirror - könyvtárban. - - - Helyezzünk el egy partíciós táblát és rendszerindító - programot az fdisk segítségével az - újonnan létrehozott gm0 - eszközön: + Keltsük életre a GEOM-ot, aminek során + betöltõdik a + /boot/kernel/geom_mirror.ko + modul: + + &prompt.root; gmirror load + + + Ezzel a paranccsal létre kellett jönnie a + gm0 eszköznek a /dev/mirror + könyvtárban. + + + Helyezzünk el egy partíciós + táblát és rendszerindító + programot az fdisk + segítségével az újonnan + létrehozott gm0 + eszközön: + + &prompt.root; fdisk -vBI /dev/mirror/gm0 + + Most pedig tegyünk fel egy általános + címkét a bsdlabel + programmal: + + &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 + + + Ha több slice-unk és partíciónk is + van, az iménti két parancsban máshogy kell + megadnunk a paramétereket. Meg kell egyezniük a + másik lemezen található slice-al és + a partíciójának + méretével. + + + Használjuk a &man.newfs.8; segédprogramot a + gm0s1a eszközön egy + UFS típusú + állományrendszer + létesítésére: + + &prompt.root; newfs -U /dev/mirror/gm0s1a + + Ennek eredményeképpen kapunk egy halom + számot a képernyõn. Nagyon jó! + Ellenõrizzük, nem látunk-e a + képernyõn valamilyen hibaüzenetet, majd + csatlakoztassuk az eszközt a a /mnt pontra: + + &prompt.root; mount /dev/mirror/gm0s1a /mnt + + Ezt követõen pedig mozgassunk át minden + adatot a frissen létrehozott állományrendszere + arról a lemezrõl, ahonnan elindítottuk a + rendszert. Ebben a példában ezt ugyan a + &man.dump.8; és &man.restore.8; parancsokkal oldjuk meg, + erre a célra viszont a &man.dd.1; is remekül + használható. + + &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) - &prompt.root; fdisk -vBI /dev/mirror/gm0 - - Most pedig tegyünk fel egy általános címkét a - bsdlabel programmal: + Ezt el kell végeznünk mindegyik + állományrendszerre. Egyszerûen másoljuk + be az érintett állományrendszert a + megfelelõ helyre az elõbb bemutatott parancsban. - &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 - - - Ha több slice-unk és partíciónk is van, az iménti két - parancsban máshogy kell megadnunk a paramétereket. Meg kell - egyezniük a másik lemezen található slice-al és a - partíciójának méretével. - - - Használjuk a &man.newfs.8; segédprogramot a - gm0s1a eszközön egy UFS - típusú állományrendszer létesítésére: - - &prompt.root; newfs -U /dev/mirror/gm0s1a - - Ennek eredményeképpen kapunk egy halom számot a - képernyõn. Nagyon jó! Ellenõrizzük, nem látunk-e a képernyõn - valamilyen hibaüzenetet, majd csatlakoztassuk az eszközt a - a /mnt pontra: + Ezután írjuk át a duplikált + /mnt/etc/fstab állományt, + és távolítsuk el vagy csak kommentezzük + ki belõle a lapozóállományt + + Megjegyezzük, hogy ez az fstab + állományból kiszedett bejegyzés + miatt valószínûleg más módon + kell majd engedélyeznünk a + lapozóállomány használatát. + Errõl bõvebben ld. a . + . + Írjuk felül a másik + állományrendszer adatait is az új + eszköznek megfelelõ beállításokkal, + ahogy a példa is mutatja: - &prompt.root; mount /dev/mirror/gm0s1a /mnt - - Ezt követõen pedig mozgassunk át minden adatot a frissen - létrehozott állományrendszere arról a lemezrõl, ahonnan - elindítottuk a rendszert. Ebben a példában ezt ugyan a - &man.dump.8; és &man.restore.8; parancsokkal oldjuk meg, - erre a célra viszont a &man.dd.1; is remekül használható. - - &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) - - Ezt el kell végeznünk mindegyik állományrendszerre. - Egyszerûen másoljuk be az érintett állományrendszert a - megfelelõ helyre az elõbb bemutatott parancsban. - - Ezután írjuk át a duplikált - /mnt/etc/fstab állományt, és távolítsuk - el vagy csak kommentezzük ki belõle a lapozóállományt - - Megjegyezzük, hogy ez az fstab - állományból kiszedett bejegyzés miatt valószínûleg - más módon kell majd engedélyeznünk a lapozóállomány - használatát. Errõl bõvebben ld. a - . - . - Írjuk felül a másik állományrendszer adatait is az új - eszköznek megfelelõ beállításokkal, ahogy a példa is - mutatja: - - # Device Mountpoint FStype Options Dump Pass# + # Device Mountpoint FStype Options Dump Pass# #/dev/da0s2b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 - Most pedig hozzunk létre egy boot.config - állományt mind a jelenlegi, mind pedig az új gyökérpartíciókon. - Ez az állomány fogja segíteni a rendszerünk - BIOS-ának a megfelelõ meghajtóról történõ - elinduláshoz: - - &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config + Gondoskodjunk a geom_mirror.ko modul + rendszerindítás során + történõ betöltésérõl az + alábbi parancssal: + + &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf + &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf + + Indítsuk újra a rendszert: + + &prompt.root; shutdown -r now - &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config - - - A helyes rendszerindulás bebiztosításához megadtuk - mind a két gyökérpartíciót. Ha valamilyen ok folytán - a rendszer nem lenne képes olvasni az új gyökérpartíciót, - így mindig lesz egy biztonsági tartalékunk. - - - Gondoskodjunk a geom_mirror.ko modul - rendszerindítás során történõ betöltésérõl az alábbi - parancssal: + A rendszerindító képernyõn az + egyfelhasználós mód + eléréséhez válasszuk a negyedik (4) + opciót. A konzol használatával + gyõzödjünk meg róla, hogy a rendszer a + gm0s1a eszközrõl indult. Ezt a + &man.df.1; kimenetébõl deríthetjük + ki. - &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf - - Indítsuk újra a rendszert: + Ha minden rendben zajlott, akkor a rendszerünk elindult a + gm0s1a eszközrõl, és a + login vár minket. Innen a lemez a + következõ parancsok kiadásával + törölhetõ és illeszhetõbe a + tükrözések közé: - &prompt.root; shutdown -r now - - Ha minden rendben zajlott, akkor a rendszerünk elindult - a gm0s1a eszközrõl, és a - login vár minket. Ha valami rosszul sült - volna el, tekintsük át a fejezetben található, hibakeresérõl - szóló szakaszt. Ezután adjuk hozzá a da0 - lemezt a gm0 eszközhöz: + &prompt.root; dd if=/dev/zero of=/dev/da0 bs=512 count=79 - &prompt.root; gmirror configure -a gm0 + &prompt.root; gmirror configure -a gm0 &prompt.root; gmirror insert gm0 /dev/da0 - Az paraméter tudatja a &man.gmirror.8;-al, - hogy automatikus szinkronizációt használjon, tehát az lemezre - írást magától tükrözze. A hozzátartozó man oldal elmagyarázza, - hogyan építsük át a tömböt és hogyan cseréljük benne a lemezeket, - habár az data névvel hivatkozik az itt - említett gm0 eszközre. + Az paraméter tudatja a + &man.gmirror.8;-al, hogy automatikus szinkronizációt + használjon, tehát az lemezre írást + magától tükrözze. A + hozzátartozó man oldal elmagyarázza, hogyan + építsük át a tömböt és + hogyan cseréljük benne a lemezeket, habár az + data névvel hivatkozik az itt + említett gm0 eszközre. + + A frissen létrehozott tükrözés + állapotát az alábbi paranccsal + ellenõrizhetjük: + + &prompt.root; gmirror status Hibakeresés - A rendszer nem hajlandó elindulni - - Ha a rendszerünk ehhez hasonló módon - indul: + A rendszer nem hajlandó elindulni + + Ha a rendszerünk ehhez hasonló módon + indul: - ffs_mountroot: can't find rootvp + ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> - Indítsuk újra a gépünket a kikapcsoló gomb vagy - a reset segítségével. A rendszerindító menüben - válasszuk a hatodik opciót (6). Ennek eredményeképpen - megkapjuk a &man.loader.8; parancssorát. Töltsük be - a kernelmodult manuálisan: + Indítsuk újra a gépünket a + kikapcsoló gomb vagy a reset + segítségével. A + rendszerindító menüben válasszuk a + hatodik opciót (6). Ennek + eredményeképpen megkapjuk a &man.loader.8; + parancssorát. Töltsük be a kernelmodult + manuálisan: - OK? load geom_mirror + OK? load geom_mirror OK? boot - Ha ez beválik, akkor valamiért a modult nem sikerült - rendesen betölteni. Helyezzük el a - - options GEOM_MIRROR - - sort a rendszermag konfigurációs állományában, - fordítsuk újra és telepítsük. Ezzel várhatóan - orvosoltuk a problémát. + Ha ez beválik, akkor valamiért a modult nem + sikerült rendesen betölteni. Helyezzük el + a + + options GEOM_MIRROR + + sort a rendszermag konfigurációs + állományában, fordítsuk újra + és telepítsük. Ezzel + várhatóan orvosoltuk a + problémát. + - Eszközök hálózati illesztése a GEOM-ban - - A GEOM távoli eszközök, pl. lemezek, CD-meghajtók - stb. használatát is támogatja a hálózati illesztést - szolgáló segédprogramjaival, hasonlóan az - NFS-hez. - - Kezdésként létre kell hozni az megosztást - elõsegítõ állományt. Ez az állomány határozza meg, ki - és milyen szinten jogosult használni az megosztott - erõforrásokat. Mondjuk, ha megosztjuk az elsõ - SCSI-lemezen a negyedik slice-ot, - az alábbi /etc/gg.exports állomány - több, mint tökéletes: + Eszközök hálózati illesztése a + GEOM-ban + + A GEOM távoli eszközök, pl. lemezek, + CD-meghajtók stb. használatát is + támogatja a hálózati illesztést + szolgáló segédprogramjaival, hasonlóan + az NFS-hez. + + Kezdésként létre kell hozni az + megosztást elõsegítõ + állományt. Ez az állomány + határozza meg, ki és milyen szinten jogosult + használni az megosztott erõforrásokat. + Mondjuk, ha megosztjuk az elsõ + SCSI-lemezen a negyedik slice-ot, az + alábbi /etc/gg.exports + állomány több, mint + tökéletes: + + 192.168.1.0/24 RW /dev/da0s4d + + Ezzel a belsõ hálózaton levõ + összes számítógép képes lesz + elérni a da0s4d + partíción található + állományrendszert. + + Az eszköz megosztásához elõször + gondoskodnunk kell róla, hogy ne legyen csatlakoztatva, majd + ezután indítsuk el a &man.ggated.8; szerver + daemonját: + + &prompt.root; ggated - 192.168.1.0/24 RW /dev/da0s4d - - Ezzel a belsõ hálózaton levõ összes számítógép képes - lesz elérni a da0s4d partíción - található állományrendszert. - - Az eszköz megosztásához elõször gondoskodnunk kell róla, - hogy ne legyen csatlakoztatva, majd ezután indítsuk el a - &man.ggated.8; szerver daemonját: - - &prompt.root; ggated - - Ezt követõen a mount felhasználásával - csatoljuk az eszközt a kliensen, az alábbi parancs - kiadásával: + Ezt követõen a mount + felhasználásával csatoljuk az eszközt a + kliensen, az alábbi parancs + kiadásával: - &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d + &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d ggate0 &prompt.root; mount /dev/ggate0 /mnt - Innentõl kezdve az eszköz elérhetõ lesz a - /mnt csatlakozási ponton - keresztül. - - - Fontos kiemelnünk, hogy ez a mûvelet eredménytelen akkor, - ha az adott eszközt vagy maga a szerver, vagy pedig valamelyik - másik kliens már korábban csatolta. - - - Amikor az eszközre már nincs tovább szükségünk, biztonságosan - le tudjuk választani a &man.umount.8; paranccsal, hasonlóan - bármelyik más lemezes eszközhöz. + Innentõl kezdve az eszköz elérhetõ lesz + a /mnt csatlakozási + ponton keresztül. + + + Fontos kiemelnünk, hogy ez a mûvelet + eredménytelen akkor, ha az adott eszközt vagy maga a + szerver, vagy pedig valamelyik másik kliens már + korábban csatolta. + + + Amikor az eszközre már nincs tovább + szükségünk, biztonságosan le tudjuk + választani az &man.umount.8; paranccsal, hasonlóan + bármelyik más lemezes eszközhöz. - A lemezes eszközök címkézése + A lemezes eszközök + címkézése GEOM @@ -496,220 +605,294 @@ Lemezcímkék - - A rendszer indítása közben a &os; rendszermagja a talált - eszközöknek megfelelõen létrehoz mindegyikõjüknek egy-egy - eszközleírót. Ez a próbálgatásos módszer magával hoz néhány - gondot, például mi történik akkor, ha az új lemezes eszközt - USB-n keresztül adjuk a rendszerhez? - Nagyon valószínû, hogy ez az eszköz megkapja a - da0 nevet és ezzel az eredeti - da0 eszköz eltolódik a - da1 névhez. Ennek köszönhetõen - az /etc/fstab állományban felsorolt - állományrendszerek csatolása veszélybe kerül, aminek - következtében akár meghiúsulhat a rendszerindulás is. - - Az egyik lehetséges megoldása a problémának, ha sorbafûzzük - a SCSI eszközeinket, és így a - SCSI-kártyához kapcsolt újabb eszköz egy - addig nem használt számot fog birtokba venni. De mi helyzet - az USB-s eszközökkel, amelyek kiüthetik az - elsõdleges SCSI-lemezeinket? Ez egyébként - azért történhet meg, mert az USB-s eszközöket - általában hamarabb keresi a rendszer, mint a SCSI - kártyán levõ eszközöket. Megoldhatjuk úgy ezt a gondot, hogy - csak azután csatlakoztatjuk az említett eszközöket, miután a - rendszer elindult. De megoldhatjuk úgy is, hogy csak egyetlen - ATA-meghajtót használunk és soha nem soroljuk - fel a SCSI eszközöket az - /etc/fstab állományban. + + A rendszer indítása közben a &os; + rendszermagja a talált eszközöknek megfelelõen + létrehoz mindegyikõjüknek egy-egy + eszközleírót. Ez a + próbálgatásos módszer magával + hoz néhány gondot, például mi >>> TRUNCATED FOR MAIL (1000 lines) <<<