From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:01:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DF6416A420; Sun, 20 Jan 2008 00:01: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 0FE2B16A41B for ; Sun, 20 Jan 2008 00:01:14 +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 EFA7413C46E for ; Sun, 20 Jan 2008 00:01:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0K01DfU007975 for ; Sun, 20 Jan 2008 00:01:13 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K00kqb007944 for perforce@freebsd.org; Sun, 20 Jan 2008 00:00:46 GMT (envelope-from marcel@freebsd.org) Date: Sun, 20 Jan 2008 00:00:46 GMT Message-Id: <200801200000.m0K00kqb007944@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 133693 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:01:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=133693 Change 133693 by marcel@marcel_cluster on 2008/01/20 00:00:35 IFC @133690 Affected files ... .. //depot/projects/e500/COPYRIGHT#2 integrate .. //depot/projects/e500/Makefile.inc1#7 integrate .. //depot/projects/e500/ObsoleteFiles.inc#7 integrate .. //depot/projects/e500/bin/cp/cp.c#2 integrate .. //depot/projects/e500/bin/mv/mv.c#3 integrate .. //depot/projects/e500/contrib/cvs/AUTHORS#2 integrate .. //depot/projects/e500/contrib/cvs/BUGS#2 integrate .. //depot/projects/e500/contrib/cvs/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/FAQ#2 integrate .. //depot/projects/e500/contrib/cvs/FREEBSD-Xlist#2 integrate .. //depot/projects/e500/contrib/cvs/FREEBSD-upgrade#2 integrate .. //depot/projects/e500/contrib/cvs/HACKING#2 integrate .. //depot/projects/e500/contrib/cvs/INSTALL#2 integrate .. //depot/projects/e500/contrib/cvs/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/NEWS#2 integrate .. //depot/projects/e500/contrib/cvs/README#2 integrate .. //depot/projects/e500/contrib/cvs/TESTS#2 integrate .. //depot/projects/e500/contrib/cvs/TODO#2 integrate .. //depot/projects/e500/contrib/cvs/acinclude.m4#2 integrate .. //depot/projects/e500/contrib/cvs/aclocal.m4#2 integrate .. //depot/projects/e500/contrib/cvs/config.h.in#2 integrate .. //depot/projects/e500/contrib/cvs/configure#2 integrate .. //depot/projects/e500/contrib/cvs/configure.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/README#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/clmerge.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/cln_hist.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/commit_prep.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/cvs2vendor.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/cvs_acls.html#1 branch .. //depot/projects/e500/contrib/cvs/contrib/cvs_acls.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/cvscheck.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/debug_check_log.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/descend.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/log.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/log_accum.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/mfpipe.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/pvcs2rcs.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/rcs-to-cvs.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/rcs2log.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/rcs2sccs.sh#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/rcslock.in#2 integrate .. //depot/projects/e500/contrib/cvs/contrib/sccs2rcs.in#2 integrate .. //depot/projects/e500/contrib/cvs/diff/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/diff/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/diff/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/doc/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/doc/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/doc/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/doc/cvs.1#2 integrate .. //depot/projects/e500/contrib/cvs/doc/cvs.man.footer#2 integrate .. //depot/projects/e500/contrib/cvs/doc/cvs.man.header#2 integrate .. //depot/projects/e500/contrib/cvs/doc/cvs.texinfo#2 integrate .. //depot/projects/e500/contrib/cvs/doc/cvsclient.texi#2 integrate .. //depot/projects/e500/contrib/cvs/doc/mkman.in#2 delete .. //depot/projects/e500/contrib/cvs/doc/mkman.pl#1 branch .. //depot/projects/e500/contrib/cvs/doc/stamp-1#2 integrate .. //depot/projects/e500/contrib/cvs/doc/stamp-vti#2 integrate .. //depot/projects/e500/contrib/cvs/doc/version-client.texi#2 integrate .. //depot/projects/e500/contrib/cvs/doc/version.texi#2 integrate .. //depot/projects/e500/contrib/cvs/lib/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/lib/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/lib/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/lib/fncase.c#2 integrate .. //depot/projects/e500/contrib/cvs/lib/getdate#1 branch .. //depot/projects/e500/contrib/cvs/lib/getpass.c#2 integrate .. //depot/projects/e500/contrib/cvs/lib/regex.c#2 integrate .. //depot/projects/e500/contrib/cvs/lib/system.h#2 integrate .. //depot/projects/e500/contrib/cvs/lib/test-getdate.sh#1 branch .. //depot/projects/e500/contrib/cvs/lib/xtime.h#2 integrate .. //depot/projects/e500/contrib/cvs/man/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/man/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/man/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/man/cvs.1#2 integrate .. //depot/projects/e500/contrib/cvs/src/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/src/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/src/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/src/add.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/admin.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/annotate.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/buffer.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/buffer.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/checkin.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/checkout.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/classify.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/client.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/client.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/commit.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/create_adm.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/cvs.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/cvsrc.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/diff.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/edit.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/entries.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/expand_path.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/fileattr.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/filesubr.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/find_names.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/hardlink.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/hardlink.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/hash.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/hash.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/history.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/history.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/ignore.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/import.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/lock.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/log.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/login.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/logmsg.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/main.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/mkmodules.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/modules.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/myndbm.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/myndbm.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/no_diff.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/parseinfo.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/patch.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/rcs.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/rcscmds.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/recurse.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/release.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/remove.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/repos.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/root.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/root.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/run.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/sanity.sh#2 integrate .. //depot/projects/e500/contrib/cvs/src/server.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/server.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/stack.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/stack.h#2 integrate .. //depot/projects/e500/contrib/cvs/src/status.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/subr.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/tag.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/update.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/vers_ts.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/version.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/watch.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/wrapper.c#2 integrate .. //depot/projects/e500/contrib/cvs/src/zlib.c#2 integrate .. //depot/projects/e500/contrib/cvs/tools/ChangeLog#2 integrate .. //depot/projects/e500/contrib/cvs/tools/Makefile.am#2 integrate .. //depot/projects/e500/contrib/cvs/tools/Makefile.in#2 integrate .. //depot/projects/e500/contrib/cvs/tools/README#2 integrate .. //depot/projects/e500/contrib/file/ChangeLog#3 integrate .. //depot/projects/e500/contrib/file/Magdir/acorn#2 integrate .. //depot/projects/e500/contrib/file/Magdir/animation#3 integrate .. //depot/projects/e500/contrib/file/Magdir/apple#2 integrate .. //depot/projects/e500/contrib/file/Magdir/archive#3 integrate .. //depot/projects/e500/contrib/file/Magdir/audio#3 integrate .. //depot/projects/e500/contrib/file/Magdir/blender#2 integrate .. //depot/projects/e500/contrib/file/Magdir/commands#3 integrate .. //depot/projects/e500/contrib/file/Magdir/console#3 integrate .. //depot/projects/e500/contrib/file/Magdir/database#3 integrate .. //depot/projects/e500/contrib/file/Magdir/efi#1 branch .. //depot/projects/e500/contrib/file/Magdir/elf#3 integrate .. //depot/projects/e500/contrib/file/Magdir/filesystems#3 integrate .. //depot/projects/e500/contrib/file/Magdir/fortran#1 branch .. //depot/projects/e500/contrib/file/Magdir/java#3 integrate .. //depot/projects/e500/contrib/file/Magdir/macintosh#2 integrate .. //depot/projects/e500/contrib/file/Magdir/msdos#3 integrate .. //depot/projects/e500/contrib/file/Magdir/pdf#2 integrate .. //depot/projects/e500/contrib/file/Magdir/sgi#2 integrate .. //depot/projects/e500/contrib/file/Makefile.am#3 integrate .. //depot/projects/e500/contrib/file/Makefile.in#3 integrate .. //depot/projects/e500/contrib/file/acinclude.m4#2 integrate .. //depot/projects/e500/contrib/file/aclocal.m4#2 integrate .. //depot/projects/e500/contrib/file/apprentice.c#3 integrate .. //depot/projects/e500/contrib/file/ascmagic.c#3 integrate .. //depot/projects/e500/contrib/file/compress.c#3 integrate .. //depot/projects/e500/contrib/file/config.h.in#3 integrate .. //depot/projects/e500/contrib/file/configure#3 integrate .. //depot/projects/e500/contrib/file/configure.in#3 integrate .. //depot/projects/e500/contrib/file/file.c#3 integrate .. //depot/projects/e500/contrib/file/file.h#3 integrate .. //depot/projects/e500/contrib/file/file.man#2 integrate .. //depot/projects/e500/contrib/file/file_opts.h#1 branch .. //depot/projects/e500/contrib/file/fsmagic.c#3 integrate .. //depot/projects/e500/contrib/file/funcs.c#3 integrate .. //depot/projects/e500/contrib/file/install-sh#3 integrate .. //depot/projects/e500/contrib/file/is_tar.c#3 integrate .. //depot/projects/e500/contrib/file/libmagic.man#2 integrate .. //depot/projects/e500/contrib/file/magic.c#3 integrate .. //depot/projects/e500/contrib/file/magic.h#3 integrate .. //depot/projects/e500/contrib/file/magic.man#2 integrate .. //depot/projects/e500/contrib/file/magic.mime#3 integrate .. //depot/projects/e500/contrib/file/mkinstalldirs#3 integrate .. //depot/projects/e500/contrib/file/names.h#3 integrate .. //depot/projects/e500/contrib/file/patchlevel.h#3 integrate .. //depot/projects/e500/contrib/file/print.c#3 integrate .. //depot/projects/e500/contrib/file/readelf.c#3 integrate .. //depot/projects/e500/contrib/file/readelf.h#2 integrate .. //depot/projects/e500/contrib/file/softmagic.c#3 integrate .. //depot/projects/e500/contrib/gdb/FREEBSD-diffs#1 branch .. //depot/projects/e500/contrib/libiberty/cp-demangle.c#1 branch .. //depot/projects/e500/contrib/ncurses/FREEBSD-upgrade#2 integrate .. //depot/projects/e500/contrib/ncurses/INSTALL#2 integrate .. //depot/projects/e500/contrib/ncurses/MANIFEST#2 integrate .. //depot/projects/e500/contrib/ncurses/NEWS#2 integrate .. //depot/projects/e500/contrib/ncurses/TO-DO#2 integrate .. //depot/projects/e500/contrib/ncurses/aclocal.m4#2 integrate .. //depot/projects/e500/contrib/ncurses/config.guess#2 integrate .. //depot/projects/e500/contrib/ncurses/config.sub#2 integrate .. //depot/projects/e500/contrib/ncurses/configure#2 integrate .. //depot/projects/e500/contrib/ncurses/configure.in#2 integrate .. //depot/projects/e500/contrib/ncurses/dist.mk#2 integrate .. //depot/projects/e500/contrib/ncurses/doc/hackguide.doc#2 integrate .. //depot/projects/e500/contrib/ncurses/doc/html/ncurses-intro.html#2 integrate .. //depot/projects/e500/contrib/ncurses/doc/ncurses-intro.doc#2 integrate .. //depot/projects/e500/contrib/ncurses/form/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fld_def.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fld_dup.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fld_ftlink.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fld_link.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fld_newftyp.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/frm_def.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/frm_driver.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_alnum.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_alpha.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_enum.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_int.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_num.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/fty_regex.c#2 integrate .. //depot/projects/e500/contrib/ncurses/form/headers#2 integrate .. //depot/projects/e500/contrib/ncurses/form/modules#2 integrate .. //depot/projects/e500/contrib/ncurses/include/MKterm.h.awk.in#2 integrate .. //depot/projects/e500/contrib/ncurses/include/curses.h.in#2 integrate .. //depot/projects/e500/contrib/ncurses/include/curses.tail#2 integrate .. //depot/projects/e500/contrib/ncurses/include/curses.wide#2 integrate .. //depot/projects/e500/contrib/ncurses/include/headers#2 integrate .. //depot/projects/e500/contrib/ncurses/include/nc_alloc.h#2 integrate .. //depot/projects/e500/contrib/ncurses/include/ncurses_defs#2 integrate .. //depot/projects/e500/contrib/ncurses/include/ncurses_dll.h#2 integrate .. //depot/projects/e500/contrib/ncurses/include/tic.h#2 integrate .. //depot/projects/e500/contrib/ncurses/install-sh#2 integrate .. //depot/projects/e500/contrib/ncurses/man/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/man/captoinfo.1m#2 integrate .. //depot/projects/e500/contrib/ncurses/man/clear.1#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_add_wch.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_addch.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_attr.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_border.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_deleteln.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_extend.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_getcchar.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_getyx.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_insstr.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_legacy.3x#1 branch .. //depot/projects/e500/contrib/ncurses/man/curs_mouse.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_opaque.3x#1 branch .. //depot/projects/e500/contrib/ncurses/man/curs_outopts.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_printw.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_scanw.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_scr_dump.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_slk.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_termattrs.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_termcap.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_terminfo.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_trace.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/curs_util.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/default_colors.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_driver.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_field_new.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_field_opts.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_field_validation.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_hook.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/form_opts.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/infocmp.1m#2 integrate .. //depot/projects/e500/contrib/ncurses/man/infotocap.1m#2 integrate .. //depot/projects/e500/contrib/ncurses/man/legacy_coding.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/man_db.renames#2 integrate .. //depot/projects/e500/contrib/ncurses/man/menu_driver.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/menu_hook.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/menu_opts.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/mitem_opts.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/ncurses.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/panel.3x#2 integrate .. //depot/projects/e500/contrib/ncurses/man/term.5#2 integrate .. //depot/projects/e500/contrib/ncurses/man/term.7#2 integrate .. //depot/projects/e500/contrib/ncurses/man/terminfo.head#2 integrate .. //depot/projects/e500/contrib/ncurses/man/terminfo.tail#2 integrate .. //depot/projects/e500/contrib/ncurses/man/tic.1m#2 integrate .. //depot/projects/e500/contrib/ncurses/man/toe.1m#2 integrate .. //depot/projects/e500/contrib/ncurses/man/tput.1#2 integrate .. //depot/projects/e500/contrib/ncurses/man/tset.1#2 integrate .. //depot/projects/e500/contrib/ncurses/menu/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/menu/headers#2 integrate .. //depot/projects/e500/contrib/ncurses/menu/menu.h#2 integrate .. //depot/projects/e500/contrib/ncurses/menu/modules#2 integrate .. //depot/projects/e500/contrib/ncurses/misc/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/misc/ncurses-config.in#2 integrate .. //depot/projects/e500/contrib/ncurses/misc/shlib#2 integrate .. //depot/projects/e500/contrib/ncurses/misc/terminfo.src#2 integrate .. //depot/projects/e500/contrib/ncurses/mk-1st.awk#2 integrate .. //depot/projects/e500/contrib/ncurses/mk-hdr.awk#1 branch .. //depot/projects/e500/contrib/ncurses/mkdirs.sh#1 branch .. //depot/projects/e500/contrib/ncurses/mkinstalldirs#2 delete .. //depot/projects/e500/contrib/ncurses/ncurses/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/MKkeyname.awk#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/MKlib_gen.sh#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/MKunctrl.awk#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/define_key.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/key_defined.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/keyok.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_addstr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_color.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_delwin.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_freeall.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_getch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_initscr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_instr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_mouse.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_newterm.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_newwin.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_overlay.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_redrawln.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_refresh.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_restart.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_screen.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_set_term.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_slkinit.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_slkset.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_ungetch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/lib_window.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/memmove.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/resizeterm.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/safe_sprintf.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/tries.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/base/use_window.c#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/base/wresize.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/curses.priv.h#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/llib-lncurses#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/llib-lncursesw#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/modules#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/MKcaptab.awk#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/MKcaptab.sh#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/MKcodes.awk#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/MKnames.awk#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/access.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/add_tries.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/comp_error.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/comp_hash.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/comp_parse.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/db_iterator.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/entries.c#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/home_terminfo.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/init_keytry.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_acs.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_data.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_options.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_raw.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_setup.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_termcap.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_tparm.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_tputs.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/make_keys.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/name_match.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/parse_entry.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/read_entry.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/setbuf.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/strings.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/trim_sgr0.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/use_screen.c#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/tinfo/write_entry.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_trace.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_traceatr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_tracebits.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_tracechr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_tracedmp.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/lib_tracemse.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/trace_buf.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/trace_tries.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/varargs.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/trace/visbuf.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/hardscroll.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/hashmap.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/lib_mvcur.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/lib_tstp.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/lib_twait.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/lib_vidattr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/tty/tty_update.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_cchar.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_get_wch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_key_name.c#1 branch .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_unget_wch.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_vid_attr.c#2 integrate .. //depot/projects/e500/contrib/ncurses/ncurses/widechar/lib_wunctrl.c#2 integrate .. //depot/projects/e500/contrib/ncurses/panel/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/panel/headers#2 integrate .. //depot/projects/e500/contrib/ncurses/panel/modules#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/Makefile.in#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/clear.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/dump_entry.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/infocmp.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/modules#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/progs.priv.h#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/tic.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/toe.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/tput.c#2 integrate .. //depot/projects/e500/contrib/ncurses/progs/tset.c#2 integrate .. //depot/projects/e500/contrib/ncurses/tack/COPYING#2 delete .. //depot/projects/e500/contrib/ncurses/tack/HISTORY#2 delete .. //depot/projects/e500/contrib/ncurses/tack/Makefile.in#2 delete .. //depot/projects/e500/contrib/ncurses/tack/README#2 delete .. //depot/projects/e500/contrib/ncurses/tack/ansi.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/charset.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/color.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/control.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/crum.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/edit.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/fun.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/init.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/menu.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/modes.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/modules#2 delete .. //depot/projects/e500/contrib/ncurses/tack/output.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/pad.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/scan.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/sync.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/sysdep.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/tack.1#2 delete .. //depot/projects/e500/contrib/ncurses/tack/tack.c#2 delete .. //depot/projects/e500/contrib/ncurses/tack/tack.h#2 delete .. //depot/projects/e500/contrib/openpam/CREDITS#2 integrate .. //depot/projects/e500/contrib/openpam/HISTORY#2 integrate .. //depot/projects/e500/contrib/openpam/INSTALL#2 integrate .. //depot/projects/e500/contrib/openpam/LICENSE#2 integrate .. //depot/projects/e500/contrib/openpam/MANIFEST#2 delete .. //depot/projects/e500/contrib/openpam/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/README#2 integrate .. //depot/projects/e500/contrib/openpam/RELNOTES#2 integrate .. //depot/projects/e500/contrib/openpam/aclocal.m4#2 integrate .. //depot/projects/e500/contrib/openpam/autogen.sh#2 integrate .. //depot/projects/e500/contrib/openpam/bin/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/bin/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/bin/su/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/bin/su/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/bin/su/su.c#2 integrate .. //depot/projects/e500/contrib/openpam/compile#1 branch .. //depot/projects/e500/contrib/openpam/config.h.in#2 integrate .. //depot/projects/e500/contrib/openpam/configure#2 integrate .. //depot/projects/e500/contrib/openpam/configure.ac#2 integrate .. //depot/projects/e500/contrib/openpam/configure.in#2 delete .. //depot/projects/e500/contrib/openpam/depcomp#2 integrate .. //depot/projects/e500/contrib/openpam/doc/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/doc/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam.man#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_borrow_cred.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_free_data.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_free_envlist.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_get_option.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_log.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_nullconv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_readline.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_restore_cred.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_set_option.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/openpam_ttyconv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam.conf.5#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam.man#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_acct_mgmt.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_authenticate.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_chauthtok.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_close_session.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_conv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_end.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_error.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_get_authtok.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_get_data.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_get_item.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_get_user.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_getenv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_getenvlist.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_info.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_open_session.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_prompt.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_putenv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_set_data.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_set_item.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_setcred.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_setenv.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_acct_mgmt.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_authenticate.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_chauthtok.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_close_session.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_open_session.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_sm_setcred.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_start.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_strerror.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_verror.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_vinfo.3#2 integrate .. //depot/projects/e500/contrib/openpam/doc/man/pam_vprompt.3#2 integrate .. //depot/projects/e500/contrib/openpam/include/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/include/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/openpam.h#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/openpam_attr.h#1 branch .. //depot/projects/e500/contrib/openpam/include/security/openpam_version.h#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/pam_appl.h#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/pam_constants.h#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/pam_modules.h#2 integrate .. //depot/projects/e500/contrib/openpam/include/security/pam_types.h#2 integrate .. //depot/projects/e500/contrib/openpam/install-sh#2 integrate .. //depot/projects/e500/contrib/openpam/lib/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/lib/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_borrow_cred.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_configure.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_dispatch.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_dynamic.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_findenv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_free_data.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_free_envlist.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_get_option.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_impl.h#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_load.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_log.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_nullconv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_readline.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_restore_cred.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_set_option.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_static.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/openpam_ttyconv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_acct_mgmt.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_authenticate.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_authenticate_secondary.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_chauthtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_close_session.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_end.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_error.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_authtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_data.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_item.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_mapped_authtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_mapped_username.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_get_user.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_getenv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_getenvlist.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_info.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_open_session.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_prompt.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_putenv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_set_data.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_set_item.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_set_mapped_authtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_set_mapped_username.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_setcred.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_setenv.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_acct_mgmt.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_authenticate.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_authenticate_secondary.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_chauthtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_close_session.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_get_mapped_authtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_get_mapped_username.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_open_session.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_set_mapped_authtok.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_set_mapped_username.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_sm_setcred.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_start.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_strerror.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_verror.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_vinfo.c#2 integrate .. //depot/projects/e500/contrib/openpam/lib/pam_vprompt.c#2 integrate .. //depot/projects/e500/contrib/openpam/ltconfig#2 delete .. //depot/projects/e500/contrib/openpam/ltmain.sh#2 integrate .. //depot/projects/e500/contrib/openpam/misc/gendoc.pl#2 integrate .. //depot/projects/e500/contrib/openpam/missing#2 integrate .. //depot/projects/e500/contrib/openpam/mkinstalldirs#2 delete .. //depot/projects/e500/contrib/openpam/modules/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/modules/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_deny/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_deny/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_deny/pam_deny.c#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_permit/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_permit/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_permit/pam_permit.c#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_unix/Makefile.am#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_unix/Makefile.in#2 integrate .. //depot/projects/e500/contrib/openpam/modules/pam_unix/pam_unix.c#2 integrate .. //depot/projects/e500/contrib/openpam/stamp-h.in#2 delete .. //depot/projects/e500/contrib/top/display.c#2 integrate .. //depot/projects/e500/contrib/top/layout.h#2 integrate .. //depot/projects/e500/contrib/top/machine.h#2 integrate .. //depot/projects/e500/contrib/top/top.c#2 integrate .. //depot/projects/e500/contrib/top/top.h#2 integrate .. //depot/projects/e500/crypto/openssl/crypto/engine/eng_cryptodev.c#2 integrate .. //depot/projects/e500/etc/defaults/periodic.conf#5 integrate .. //depot/projects/e500/etc/defaults/rc.conf#5 integrate .. //depot/projects/e500/etc/namedb/named.conf#3 integrate .. //depot/projects/e500/etc/periodic/daily/460.status-mail-rejects#2 integrate .. //depot/projects/e500/etc/rc.d/jail#3 integrate .. //depot/projects/e500/etc/rc.firewall#2 integrate .. //depot/projects/e500/etc/rc.firewall6#2 integrate .. //depot/projects/e500/games/fortune/datfiles/fortunes#8 integrate .. //depot/projects/e500/games/fortune/datfiles/gerrold.limerick#2 integrate .. //depot/projects/e500/games/fortune/datfiles/limerick#4 integrate .. //depot/projects/e500/gnu/usr.bin/Makefile#2 integrate .. //depot/projects/e500/gnu/usr.bin/cvs/Makefile#2 integrate .. //depot/projects/e500/gnu/usr.bin/cvs/contrib/Makefile#2 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/kgdb.h#4 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/e500/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/e500/include/unistd.h#2 integrate .. //depot/projects/e500/lib/libarchive/Makefile#4 integrate .. //depot/projects/e500/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/e500/lib/libarchive/archive_endian.h#1 branch .. //depot/projects/e500/lib/libarchive/archive_entry.c#4 integrate .. //depot/projects/e500/lib/libarchive/archive_entry.h#4 integrate .. //depot/projects/e500/lib/libarchive/archive_entry_link_resolver.c#1 branch .. //depot/projects/e500/lib/libarchive/archive_entry_private.h#2 integrate .. //depot/projects/e500/lib/libarchive/archive_entry_strmode.c#1 branch .. //depot/projects/e500/lib/libarchive/archive_platform.h#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_extract.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_private.h#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_compression_none.c#4 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_all.c#2 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_ar.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_cpio.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_iso9660.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_mtree.c#1 branch .. //depot/projects/e500/lib/libarchive/archive_read_support_format_tar.c#6 integrate .. //depot/projects/e500/lib/libarchive/archive_read_support_format_zip.c#6 integrate .. //depot/projects/e500/lib/libarchive/archive_util.c#4 integrate .. //depot/projects/e500/lib/libarchive/archive_write_disk.c#6 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_compression_bzip2.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_compression_gzip.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_compression_none.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_ar.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_cpio.c#4 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/e500/lib/libarchive/archive_write_set_format_ustar.c#4 integrate .. //depot/projects/e500/lib/libarchive/cpio.5#1 branch .. //depot/projects/e500/lib/libarchive/filter_fork.c#2 integrate .. //depot/projects/e500/lib/libarchive/libarchive-formats.5#2 integrate .. //depot/projects/e500/lib/libarchive/libarchive_internals.3#2 integrate .. //depot/projects/e500/lib/libarchive/test/Makefile#4 integrate .. //depot/projects/e500/lib/libarchive/test/README#3 integrate .. //depot/projects/e500/lib/libarchive/test/main.c#4 integrate .. //depot/projects/e500/lib/libarchive/test/read_open_memory.c#2 integrate .. //depot/projects/e500/lib/libarchive/test/test.h#4 integrate .. //depot/projects/e500/lib/libarchive/test/test_compat_gtar.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_compat_gtar_1.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_compat_zip.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_compat_zip_1.zip.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_empty_write.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_entry_strmode.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_cpio_odc.c#2 integrate .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse.c#2 integrate .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_isorr_bz2.c#3 integrate .. //depot/projects/e500/lib/libarchive/test/test_read_format_mtree.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_read_format_tar.c#3 integrate .. //depot/projects/e500/lib/libarchive/test/test_read_format_zip.c#3 integrate .. //depot/projects/e500/lib/libarchive/test/test_read_pax_truncated.c#2 integrate .. //depot/projects/e500/lib/libarchive/test/test_tar_filenames.c#4 integrate .. //depot/projects/e500/lib/libarchive/test/test_tar_large.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_write_disk.c#5 integrate .. //depot/projects/e500/lib/libarchive/test/test_write_disk_hardlink.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_write_disk_perms.c#4 integrate .. //depot/projects/e500/lib/libarchive/test/test_write_format_cpio.c#3 integrate .. //depot/projects/e500/lib/libarchive/test/test_write_format_cpio_newc.c#1 branch .. //depot/projects/e500/lib/libarchive/test/test_write_format_cpio_odc.c#1 branch .. //depot/projects/e500/lib/libc/amd64/_fpmath.h#2 integrate .. //depot/projects/e500/lib/libc/gen/Makefile.inc#4 integrate .. //depot/projects/e500/lib/libc/gen/feature_present.3#1 branch .. //depot/projects/e500/lib/libc/gen/feature_present.c#1 branch .. //depot/projects/e500/lib/libc/gen/getttyent.c#2 integrate .. //depot/projects/e500/lib/libc/gen/posixshm.c#2 delete .. //depot/projects/e500/lib/libc/gen/sem_open.3#2 integrate .. //depot/projects/e500/lib/libc/gen/shm_open.3#2 delete .. //depot/projects/e500/lib/libc/i386/_fpmath.h#2 integrate .. //depot/projects/e500/lib/libc/ia64/_fpmath.h#2 integrate .. //depot/projects/e500/lib/libc/inet/inet_network.c#3 integrate .. //depot/projects/e500/lib/libc/sparc64/_fpmath.h#2 integrate .. //depot/projects/e500/lib/libc/stdlib/grantpt.c#3 integrate .. //depot/projects/e500/lib/libc/stdlib/heapsort.c#2 integrate .. //depot/projects/e500/lib/libc/stdlib/malloc.3#4 integrate .. //depot/projects/e500/lib/libc/stdlib/malloc.c#6 integrate .. //depot/projects/e500/lib/libc/stdlib/qsort.c#2 integrate .. //depot/projects/e500/lib/libc/sys/Makefile.inc#5 integrate .. //depot/projects/e500/lib/libc/sys/access.2#3 integrate .. //depot/projects/e500/lib/libc/sys/shm_open.2#1 branch .. //depot/projects/e500/lib/libkvm/kvm.c#3 integrate .. //depot/projects/e500/lib/libkvm/kvm_file.c#2 integrate .. //depot/projects/e500/lib/libmagic/config.h#3 integrate .. //depot/projects/e500/lib/libpam/libpam/Makefile#2 integrate .. //depot/projects/e500/lib/libpam/modules/pam_krb5/pam_krb5.c#2 integrate .. //depot/projects/e500/lib/libpam/modules/pam_ssh/pam_ssh.c#2 integrate .. //depot/projects/e500/lib/libpam/modules/pam_unix/pam_unix.c#2 integrate .. //depot/projects/e500/lib/libthr/Makefile#6 integrate .. //depot/projects/e500/lib/libthr/pthread.map#5 integrate .. //depot/projects/e500/lib/libthr/thread/thr_exit.c#2 integrate .. //depot/projects/e500/lib/libthr/thread/thr_sem.c#3 integrate .. //depot/projects/e500/lib/libthr/thread/thr_syscalls.c#2 integrate .. //depot/projects/e500/lib/libutil/pty.3#2 integrate .. //depot/projects/e500/lib/libutil/pty.c#3 integrate .. //depot/projects/e500/lib/msun/Makefile#6 integrate .. //depot/projects/e500/lib/msun/Symbol.map#6 integrate .. //depot/projects/e500/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/e500/lib/msun/amd64/s_llrintl.S#1 branch .. //depot/projects/e500/lib/msun/amd64/s_lrintl.S#1 branch .. //depot/projects/e500/lib/msun/amd64/s_rintl.S#1 branch .. //depot/projects/e500/lib/msun/i387/Makefile.inc#3 integrate .. //depot/projects/e500/lib/msun/i387/s_llrintl.S#1 branch .. //depot/projects/e500/lib/msun/i387/s_lrintl.S#1 branch .. //depot/projects/e500/lib/msun/i387/s_rintl.S#1 branch .. //depot/projects/e500/lib/msun/ld128/s_exp2l.c#1 branch .. //depot/projects/e500/lib/msun/ld80/s_exp2l.c#1 branch .. //depot/projects/e500/lib/msun/man/exp.3#2 integrate .. //depot/projects/e500/lib/msun/man/log.3#1 branch .. //depot/projects/e500/lib/msun/man/lrint.3#2 integrate .. //depot/projects/e500/lib/msun/man/rint.3#2 integrate .. //depot/projects/e500/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/e500/lib/msun/src/k_rem_pio2.c#2 integrate .. //depot/projects/e500/lib/msun/src/k_rem_pio2f.c#2 delete .. //depot/projects/e500/lib/msun/src/math.h#3 integrate .. //depot/projects/e500/lib/msun/src/math_private.h#3 integrate .. //depot/projects/e500/lib/msun/src/s_csqrt.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_csqrtf.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_exp2.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_exp2f.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_llrintl.c#1 branch .. //depot/projects/e500/lib/msun/src/s_log1p.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_log1pf.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_lrintl.c#1 branch .. //depot/projects/e500/lib/msun/src/s_nearbyint.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_rint.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_rintf.c#2 integrate .. //depot/projects/e500/lib/msun/src/s_rintl.c#1 branch .. //depot/projects/e500/lib/ncurses/ncurses/Makefile#5 integrate .. //depot/projects/e500/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/e500/release/doc/en_US.ISO8859-1/relnotes/article.sgml#8 integrate .. //depot/projects/e500/sbin/Makefile#3 integrate .. //depot/projects/e500/sbin/ddb/Makefile#1 branch .. //depot/projects/e500/sbin/ddb/ddb.8#1 branch .. //depot/projects/e500/sbin/ddb/ddb.c#1 branch .. //depot/projects/e500/sbin/ddb/ddb.h#1 branch .. //depot/projects/e500/sbin/ddb/ddb_script.c#1 branch .. //depot/projects/e500/sbin/devd/devd.hh#2 integrate .. //depot/projects/e500/sbin/fsck_msdosfs/boot.c#2 integrate .. //depot/projects/e500/sbin/quotacheck/quotacheck.c#3 integrate .. //depot/projects/e500/sbin/savecore/savecore.8#2 integrate .. //depot/projects/e500/sbin/savecore/savecore.c#3 integrate .. //depot/projects/e500/sbin/setkey/parse.y#4 integrate .. //depot/projects/e500/share/colldef/Makefile#2 integrate .. //depot/projects/e500/share/colldef/README#2 integrate .. //depot/projects/e500/share/colldef/map.ISO8859-9#1 branch .. //depot/projects/e500/share/colldef/tr_TR.ISO8859-9.src#1 branch .. //depot/projects/e500/share/man/man3/tree.3#2 integrate .. //depot/projects/e500/share/man/man4/Makefile#9 integrate .. //depot/projects/e500/share/man/man4/bge.4#3 integrate .. //depot/projects/e500/share/man/man4/ddb.4#3 integrate .. //depot/projects/e500/share/man/man4/ed.4#2 integrate .. //depot/projects/e500/share/man/man4/edsc.4#2 integrate .. //depot/projects/e500/share/man/man4/ipmi.4#3 integrate .. //depot/projects/e500/share/man/man4/lagg.4#3 integrate .. //depot/projects/e500/share/man/man4/man4.i386/ep.4#2 integrate .. //depot/projects/e500/share/man/man4/mfi.4#3 integrate .. //depot/projects/e500/share/man/man4/mxge.4#2 integrate .. //depot/projects/e500/share/man/man4/ng_car.4#4 integrate .. //depot/projects/e500/share/man/man4/ng_pppoe.4#2 integrate .. //depot/projects/e500/share/man/man4/pci.4#3 integrate .. //depot/projects/e500/share/man/man4/pcib.4#1 branch .. //depot/projects/e500/share/man/man4/snd_envy24.4#2 integrate .. //depot/projects/e500/share/man/man4/snd_envy24ht.4#3 integrate .. //depot/projects/e500/share/man/man4/snd_hda.4#3 integrate .. //depot/projects/e500/share/man/man4/snd_spicds.4#3 integrate .. //depot/projects/e500/share/man/man4/textdump.4#1 branch .. //depot/projects/e500/share/man/man5/boot.config.5#2 integrate .. //depot/projects/e500/share/man/man5/linsysfs.5#2 integrate .. //depot/projects/e500/share/man/man5/rc.conf.5#6 integrate .. //depot/projects/e500/share/man/man5/src.conf.5#6 integrate .. //depot/projects/e500/share/man/man7/bsd.snmpmod.mk.7#2 integrate .. //depot/projects/e500/share/man/man7/clocks.7#2 integrate .. //depot/projects/e500/share/man/man7/ports.7#3 integrate .. //depot/projects/e500/share/man/man9/VOP_LOCK.9#2 integrate .. //depot/projects/e500/share/man/man9/lock.9#3 integrate .. //depot/projects/e500/share/man/man9/mbuf_tags.9#2 integrate .. //depot/projects/e500/share/man/man9/sf_buf.9#2 integrate .. //depot/projects/e500/share/man/man9/style.9#2 integrate .. //depot/projects/e500/share/misc/bsd-family-tree#6 integrate .. //depot/projects/e500/share/misc/committers-ports.dot#5 integrate .. //depot/projects/e500/share/misc/committers-src.dot#5 integrate .. //depot/projects/e500/share/misc/pci_vendors#3 integrate .. //depot/projects/e500/share/mk/bsd.own.mk#7 integrate .. //depot/projects/e500/share/mk/bsd.snmpmod.mk#2 integrate .. //depot/projects/e500/share/mklocale/Makefile#2 integrate .. //depot/projects/e500/share/mklocale/tr_TR.ISO8859-9.src#1 branch .. //depot/projects/e500/share/termcap/termcap.src#3 integrate .. //depot/projects/e500/share/timedef/am_ET.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/be_BY.CP1131.src#2 integrate .. //depot/projects/e500/share/timedef/be_BY.CP1251.src#2 integrate .. //depot/projects/e500/share/timedef/be_BY.ISO8859-5.src#2 integrate .. //depot/projects/e500/share/timedef/be_BY.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/bg_BG.CP1251.src#2 integrate .. //depot/projects/e500/share/timedef/bg_BG.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ca_ES.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/ca_ES.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/cs_CZ.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/cs_CZ.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/da_DK.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/da_DK.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/de_AT.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/de_AT.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/de_DE.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/de_DE.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/e500/share/timedef/el_GR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/en_GB.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/en_US.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/es_ES.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/es_ES.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/et_EE.ISO8859-15.src#2 integrate .. //depot/projects/e500/share/timedef/et_EE.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/eu_ES.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/fi_FI.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/fi_FI.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/fr_FR.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/fr_FR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/he_IL.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/hi_IN.ISCII-DEV.src#2 integrate .. //depot/projects/e500/share/timedef/hr_HR.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/hr_HR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/hu_HU.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/hu_HU.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/hy_AM.ARMSCII-8.src#2 integrate .. //depot/projects/e500/share/timedef/hy_AM.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/is_IS.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/is_IS.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/it_IT.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/it_IT.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ja_JP.SJIS.src#2 integrate .. //depot/projects/e500/share/timedef/ja_JP.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ja_JP.eucJP.src#2 integrate .. //depot/projects/e500/share/timedef/kk_KZ.PT154.src#2 integrate .. //depot/projects/e500/share/timedef/kk_KZ.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ko_KR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ko_KR.eucKR.src#2 integrate .. //depot/projects/e500/share/timedef/la_LN.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/lt_LT.ISO8859-13.src#2 integrate .. //depot/projects/e500/share/timedef/lt_LT.ISO8859-4.src#2 integrate .. //depot/projects/e500/share/timedef/lt_LT.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/mn_MN.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/nl_NL.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/nn_NO.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/nn_NO.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/no_NO.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/no_NO.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/pl_PL.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/pl_PL.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/pt_BR.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/pt_BR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/pt_PT.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/pt_PT.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ro_RO.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/ro_RO.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/ru_RU.CP1251.src#2 integrate .. //depot/projects/e500/share/timedef/ru_RU.CP866.src#2 integrate .. //depot/projects/e500/share/timedef/ru_RU.ISO8859-5.src#2 integrate .. //depot/projects/e500/share/timedef/ru_RU.KOI8-R.src#2 integrate .. //depot/projects/e500/share/timedef/ru_RU.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/sk_SK.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/sk_SK.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/sl_SI.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/sl_SI.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/sr_YU.ISO8859-2.src#2 integrate .. //depot/projects/e500/share/timedef/sr_YU.ISO8859-5.src#2 integrate .. //depot/projects/e500/share/timedef/sr_YU.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/sv_SE.ISO8859-1.src#2 integrate .. //depot/projects/e500/share/timedef/sv_SE.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/tr_TR.ISO8859-9.src#2 integrate .. //depot/projects/e500/share/timedef/tr_TR.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/uk_UA.CP1251.src#2 integrate .. //depot/projects/e500/share/timedef/uk_UA.ISO8859-5.src#2 integrate .. //depot/projects/e500/share/timedef/uk_UA.KOI8-U.src#2 integrate .. //depot/projects/e500/share/timedef/uk_UA.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/zh_CN.GB18030.src#2 integrate .. //depot/projects/e500/share/timedef/zh_CN.GB2312.src#2 integrate .. //depot/projects/e500/share/timedef/zh_CN.UTF-8.src#2 integrate .. //depot/projects/e500/share/timedef/zh_CN.eucCN.src#2 integrate .. //depot/projects/e500/share/timedef/zh_TW.Big5.src#2 integrate .. //depot/projects/e500/share/timedef/zh_TW.UTF-8.src#2 integrate .. //depot/projects/e500/share/zoneinfo/backward#3 integrate .. //depot/projects/e500/share/zoneinfo/europe#4 integrate .. //depot/projects/e500/share/zoneinfo/leapseconds#4 integrate .. //depot/projects/e500/share/zoneinfo/southamerica#5 integrate .. //depot/projects/e500/share/zoneinfo/zone.tab#5 integrate .. //depot/projects/e500/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/e500/sys/amd64/amd64/mp_watchdog.c#3 integrate .. //depot/projects/e500/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/e500/sys/amd64/conf/GENERIC#9 integrate .. //depot/projects/e500/sys/amd64/conf/NOTES#6 integrate .. //depot/projects/e500/sys/amd64/include/_types.h#2 integrate .. //depot/projects/e500/sys/amd64/include/float.h#2 integrate .. //depot/projects/e500/sys/amd64/include/ieeefp.h#2 integrate .. //depot/projects/e500/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/e500/sys/amd64/include/vmparam.h#4 integrate .. //depot/projects/e500/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/e500/sys/arm/arm/pmap.c#7 integrate .. //depot/projects/e500/sys/arm/arm/support.S#3 integrate .. //depot/projects/e500/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/e500/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/e500/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/e500/sys/arm/include/vmparam.h#5 integrate .. //depot/projects/e500/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/e500/sys/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/e500/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/e500/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/e500/sys/boot/powerpc/ofw/Makefile#5 integrate .. //depot/projects/e500/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/e500/sys/cam/scsi/scsi_da.c#6 integrate .. //depot/projects/e500/sys/cam/scsi/scsi_low.h#2 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/e500/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/e500/sys/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/e500/sys/compat/linprocfs/linprocfs.c#7 integrate .. //depot/projects/e500/sys/compat/linux/linux_file.c#4 integrate .. //depot/projects/e500/sys/compat/linux/linux_getcwd.c#3 integrate .. //depot/projects/e500/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/e500/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/e500/sys/compat/ndis/subr_ndis.c#4 integrate .. //depot/projects/e500/sys/compat/ndis/subr_ntoskrnl.c#6 integrate .. //depot/projects/e500/sys/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/e500/sys/compat/opensolaris/kern/opensolaris_vfs.c#4 integrate .. //depot/projects/e500/sys/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/e500/sys/compat/pecoff/imgact_pecoff.c#4 integrate .. //depot/projects/e500/sys/compat/svr4/imgact_svr4.c#3 integrate .. //depot/projects/e500/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/e500/sys/compat/svr4/svr4_misc.c#7 integrate .. //depot/projects/e500/sys/compat/svr4/svr4_stream.c#2 integrate .. //depot/projects/e500/sys/conf/NOTES#10 integrate .. //depot/projects/e500/sys/conf/files#11 integrate .. //depot/projects/e500/sys/conf/files.i386#7 integrate .. //depot/projects/e500/sys/conf/options#9 integrate .. //depot/projects/e500/sys/contrib/dev/acpica/evgpe.c#2 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/gfs.c#3 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#4 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/e500/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate .. //depot/projects/e500/sys/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/e500/sys/crypto/rijndael/test00.c#2 integrate .. //depot/projects/e500/sys/ddb/db_capture.c#1 branch .. //depot/projects/e500/sys/ddb/db_command.c#2 integrate .. //depot/projects/e500/sys/ddb/db_command.h#2 integrate .. //depot/projects/e500/sys/ddb/db_input.c#2 integrate .. //depot/projects/e500/sys/ddb/db_lex.c#2 integrate .. //depot/projects/e500/sys/ddb/db_lex.h#2 integrate .. //depot/projects/e500/sys/ddb/db_main.c#2 integrate .. //depot/projects/e500/sys/ddb/db_output.c#2 integrate .. //depot/projects/e500/sys/ddb/db_script.c#1 branch .. //depot/projects/e500/sys/ddb/db_textdump.c#1 branch .. //depot/projects/e500/sys/ddb/ddb.h#2 integrate .. //depot/projects/e500/sys/dev/aac/aac.c#5 integrate .. //depot/projects/e500/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/e500/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/e500/sys/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/e500/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/e500/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/e500/sys/dev/an/if_an.c#6 integrate .. //depot/projects/e500/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/e500/sys/dev/an/if_anreg.h#3 integrate .. //depot/projects/e500/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/e500/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/e500/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/e500/sys/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/e500/sys/dev/atkbdc/atkbd_atkbdc.c#2 integrate .. //depot/projects/e500/sys/dev/bge/if_bge.c#7 integrate .. //depot/projects/e500/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/e500/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/e500/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/e500/sys/dev/cxgb/cxgb_adapter.h#7 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:04:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF7BD16A474; Sun, 20 Jan 2008 00:04: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 895EA16A419 for ; Sun, 20 Jan 2008 00:04:44 +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 7635413C43E for ; Sun, 20 Jan 2008 00:04:44 +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 m0K04ihI009219 for ; Sun, 20 Jan 2008 00:04:44 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K04HRu009203 for perforce@freebsd.org; Sun, 20 Jan 2008 00:04:17 GMT (envelope-from marcel@freebsd.org) Date: Sun, 20 Jan 2008 00:04:17 GMT Message-Id: <200801200004.m0K04HRu009203@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 133694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:04:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=133694 Change 133694 by marcel@marcel_cluster on 2008/01/20 00:04:11 IFC @133690 Affected files ... .. //depot/projects/powerpc/COPYRIGHT#3 integrate .. //depot/projects/powerpc/Makefile.inc1#11 integrate .. //depot/projects/powerpc/ObsoleteFiles.inc#13 integrate .. //depot/projects/powerpc/bin/cp/cp.c#2 integrate .. //depot/projects/powerpc/bin/mv/mv.c#3 integrate .. //depot/projects/powerpc/contrib/cvs/AUTHORS#2 integrate .. //depot/projects/powerpc/contrib/cvs/BUGS#2 integrate .. //depot/projects/powerpc/contrib/cvs/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/FAQ#2 integrate .. //depot/projects/powerpc/contrib/cvs/FREEBSD-Xlist#2 integrate .. //depot/projects/powerpc/contrib/cvs/FREEBSD-upgrade#2 integrate .. //depot/projects/powerpc/contrib/cvs/HACKING#2 integrate .. //depot/projects/powerpc/contrib/cvs/INSTALL#2 integrate .. //depot/projects/powerpc/contrib/cvs/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/NEWS#2 integrate .. //depot/projects/powerpc/contrib/cvs/README#2 integrate .. //depot/projects/powerpc/contrib/cvs/TESTS#2 integrate .. //depot/projects/powerpc/contrib/cvs/TODO#2 integrate .. //depot/projects/powerpc/contrib/cvs/acinclude.m4#2 integrate .. //depot/projects/powerpc/contrib/cvs/aclocal.m4#2 integrate .. //depot/projects/powerpc/contrib/cvs/config.h.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/configure#2 integrate .. //depot/projects/powerpc/contrib/cvs/configure.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/README#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/clmerge.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/cln_hist.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/commit_prep.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/cvs2vendor.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/cvs_acls.html#1 branch .. //depot/projects/powerpc/contrib/cvs/contrib/cvs_acls.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/cvscheck.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/debug_check_log.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/descend.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/log.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/log_accum.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/mfpipe.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/pvcs2rcs.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/rcs-to-cvs.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/rcs2log.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/rcs2sccs.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/rcslock.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/contrib/sccs2rcs.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/diff/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/diff/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/diff/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/cvs.1#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/cvs.man.footer#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/cvs.man.header#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/cvs.texinfo#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/cvsclient.texi#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/mkman.in#2 delete .. //depot/projects/powerpc/contrib/cvs/doc/mkman.pl#1 branch .. //depot/projects/powerpc/contrib/cvs/doc/stamp-1#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/stamp-vti#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/version-client.texi#2 integrate .. //depot/projects/powerpc/contrib/cvs/doc/version.texi#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/fncase.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/getdate#1 branch .. //depot/projects/powerpc/contrib/cvs/lib/getpass.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/regex.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/system.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/lib/test-getdate.sh#1 branch .. //depot/projects/powerpc/contrib/cvs/lib/xtime.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/man/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/man/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/man/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/man/cvs.1#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/add.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/admin.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/annotate.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/buffer.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/buffer.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/checkin.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/checkout.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/classify.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/client.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/client.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/commit.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/create_adm.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/cvs.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/cvsrc.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/diff.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/edit.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/entries.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/expand_path.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/fileattr.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/filesubr.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/find_names.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/hardlink.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/hardlink.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/hash.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/hash.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/history.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/history.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/ignore.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/import.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/lock.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/log.c#3 integrate .. //depot/projects/powerpc/contrib/cvs/src/login.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/logmsg.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/main.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/mkmodules.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/modules.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/myndbm.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/myndbm.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/no_diff.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/parseinfo.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/patch.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/rcs.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/rcscmds.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/recurse.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/release.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/remove.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/repos.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/root.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/root.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/run.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/sanity.sh#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/server.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/server.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/stack.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/stack.h#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/status.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/subr.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/tag.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/update.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/vers_ts.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/version.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/watch.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/wrapper.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/src/zlib.c#2 integrate .. //depot/projects/powerpc/contrib/cvs/tools/ChangeLog#2 integrate .. //depot/projects/powerpc/contrib/cvs/tools/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/cvs/tools/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/cvs/tools/README#2 integrate .. //depot/projects/powerpc/contrib/file/ChangeLog#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/acorn#2 integrate .. //depot/projects/powerpc/contrib/file/Magdir/animation#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/apple#2 integrate .. //depot/projects/powerpc/contrib/file/Magdir/archive#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/audio#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/blender#2 integrate .. //depot/projects/powerpc/contrib/file/Magdir/commands#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/console#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/database#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/efi#1 branch .. //depot/projects/powerpc/contrib/file/Magdir/elf#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/filesystems#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/fortran#1 branch .. //depot/projects/powerpc/contrib/file/Magdir/java#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/macintosh#2 integrate .. //depot/projects/powerpc/contrib/file/Magdir/msdos#3 integrate .. //depot/projects/powerpc/contrib/file/Magdir/pdf#2 integrate .. //depot/projects/powerpc/contrib/file/Magdir/sgi#2 integrate .. //depot/projects/powerpc/contrib/file/Makefile.am#3 integrate .. //depot/projects/powerpc/contrib/file/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/file/acinclude.m4#2 integrate .. //depot/projects/powerpc/contrib/file/aclocal.m4#2 integrate .. //depot/projects/powerpc/contrib/file/apprentice.c#3 integrate .. //depot/projects/powerpc/contrib/file/ascmagic.c#3 integrate .. //depot/projects/powerpc/contrib/file/compress.c#3 integrate .. //depot/projects/powerpc/contrib/file/config.h.in#3 integrate .. //depot/projects/powerpc/contrib/file/configure#3 integrate .. //depot/projects/powerpc/contrib/file/configure.in#3 integrate .. //depot/projects/powerpc/contrib/file/file.c#3 integrate .. //depot/projects/powerpc/contrib/file/file.h#3 integrate .. //depot/projects/powerpc/contrib/file/file.man#2 integrate .. //depot/projects/powerpc/contrib/file/file_opts.h#1 branch .. //depot/projects/powerpc/contrib/file/fsmagic.c#3 integrate .. //depot/projects/powerpc/contrib/file/funcs.c#3 integrate .. //depot/projects/powerpc/contrib/file/install-sh#3 integrate .. //depot/projects/powerpc/contrib/file/is_tar.c#3 integrate .. //depot/projects/powerpc/contrib/file/libmagic.man#2 integrate .. //depot/projects/powerpc/contrib/file/magic.c#3 integrate .. //depot/projects/powerpc/contrib/file/magic.h#3 integrate .. //depot/projects/powerpc/contrib/file/magic.man#2 integrate .. //depot/projects/powerpc/contrib/file/magic.mime#3 integrate .. //depot/projects/powerpc/contrib/file/mkinstalldirs#3 integrate .. //depot/projects/powerpc/contrib/file/names.h#3 integrate .. //depot/projects/powerpc/contrib/file/patchlevel.h#3 integrate .. //depot/projects/powerpc/contrib/file/print.c#3 integrate .. //depot/projects/powerpc/contrib/file/readelf.c#3 integrate .. //depot/projects/powerpc/contrib/file/readelf.h#2 integrate .. //depot/projects/powerpc/contrib/file/softmagic.c#3 integrate .. //depot/projects/powerpc/contrib/gdb/FREEBSD-diffs#1 branch .. //depot/projects/powerpc/contrib/libiberty/cp-demangle.c#1 branch .. //depot/projects/powerpc/contrib/ncurses/FREEBSD-upgrade#2 integrate .. //depot/projects/powerpc/contrib/ncurses/INSTALL#3 integrate .. //depot/projects/powerpc/contrib/ncurses/MANIFEST#3 integrate .. //depot/projects/powerpc/contrib/ncurses/NEWS#3 integrate .. //depot/projects/powerpc/contrib/ncurses/TO-DO#3 integrate .. //depot/projects/powerpc/contrib/ncurses/aclocal.m4#3 integrate .. //depot/projects/powerpc/contrib/ncurses/config.guess#3 integrate .. //depot/projects/powerpc/contrib/ncurses/config.sub#3 integrate .. //depot/projects/powerpc/contrib/ncurses/configure#3 integrate .. //depot/projects/powerpc/contrib/ncurses/configure.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/dist.mk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/doc/hackguide.doc#3 integrate .. //depot/projects/powerpc/contrib/ncurses/doc/html/ncurses-intro.html#3 integrate .. //depot/projects/powerpc/contrib/ncurses/doc/ncurses-intro.doc#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fld_def.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fld_dup.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fld_ftlink.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fld_link.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fld_newftyp.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/frm_def.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/frm_driver.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_alnum.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_alpha.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_enum.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_int.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_num.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/fty_regex.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/form/headers#2 integrate .. //depot/projects/powerpc/contrib/ncurses/form/modules#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/MKterm.h.awk.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/curses.h.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/curses.tail#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/curses.wide#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/headers#2 integrate .. //depot/projects/powerpc/contrib/ncurses/include/nc_alloc.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/ncurses_defs#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/ncurses_dll.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/include/tic.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/install-sh#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/captoinfo.1m#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/clear.1#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_add_wch.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_addch.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_attr.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_border.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_deleteln.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_extend.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_getcchar.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_getyx.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_insstr.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_legacy.3x#1 branch .. //depot/projects/powerpc/contrib/ncurses/man/curs_mouse.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_opaque.3x#1 branch .. //depot/projects/powerpc/contrib/ncurses/man/curs_outopts.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_printw.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_scanw.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_scr_dump.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_slk.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_termattrs.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_termcap.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_terminfo.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_trace.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/curs_util.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/default_colors.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_driver.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_field_new.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_field_opts.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_field_validation.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_hook.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/form_opts.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/infocmp.1m#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/infotocap.1m#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/legacy_coding.3x#2 integrate .. //depot/projects/powerpc/contrib/ncurses/man/man_db.renames#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/menu_driver.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/menu_hook.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/menu_opts.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/mitem_opts.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/ncurses.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/panel.3x#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/term.5#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/term.7#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/terminfo.head#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/terminfo.tail#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/tic.1m#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/toe.1m#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/tput.1#3 integrate .. //depot/projects/powerpc/contrib/ncurses/man/tset.1#3 integrate .. //depot/projects/powerpc/contrib/ncurses/menu/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/menu/headers#2 integrate .. //depot/projects/powerpc/contrib/ncurses/menu/menu.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/menu/modules#3 integrate .. //depot/projects/powerpc/contrib/ncurses/misc/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/misc/ncurses-config.in#2 integrate .. //depot/projects/powerpc/contrib/ncurses/misc/shlib#3 integrate .. //depot/projects/powerpc/contrib/ncurses/misc/terminfo.src#3 integrate .. //depot/projects/powerpc/contrib/ncurses/mk-1st.awk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/mk-hdr.awk#1 branch .. //depot/projects/powerpc/contrib/ncurses/mkdirs.sh#1 branch .. //depot/projects/powerpc/contrib/ncurses/mkinstalldirs#3 delete .. //depot/projects/powerpc/contrib/ncurses/ncurses/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/MKkeyname.awk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/MKlib_gen.sh#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/MKunctrl.awk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/define_key.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/key_defined.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/keyok.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_addstr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_color.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_delwin.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_freeall.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_getch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_initscr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_instr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_mouse.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_newterm.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_newwin.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_overlay.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_redrawln.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_refresh.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_restart.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_screen.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_set_term.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_slkinit.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_slkset.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_ungetch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/lib_window.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/memmove.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/resizeterm.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/safe_sprintf.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/tries.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/use_window.c#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/base/wresize.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/curses.priv.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/llib-lncurses#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/llib-lncursesw#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/modules#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/MKcaptab.awk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/MKcaptab.sh#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/MKcodes.awk#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/MKnames.awk#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/access.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/add_tries.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/comp_error.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/comp_hash.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/comp_parse.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/db_iterator.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/entries.c#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/home_terminfo.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/init_keytry.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_acs.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_data.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_options.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_raw.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_setup.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_termcap.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_tparm.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_tputs.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/make_keys.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/name_match.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/parse_entry.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/read_entry.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/setbuf.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/strings.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/trim_sgr0.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/use_screen.c#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/tinfo/write_entry.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_trace.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_traceatr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_tracebits.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_tracechr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_tracedmp.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/lib_tracemse.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/trace_buf.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/trace_tries.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/varargs.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/trace/visbuf.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/hardscroll.c#2 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/hashmap.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/lib_mvcur.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/lib_tstp.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/lib_twait.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/lib_vidattr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/tty/tty_update.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_cchar.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_get_wch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_key_name.c#1 branch .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_unget_wch.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_vid_attr.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/ncurses/widechar/lib_wunctrl.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/panel/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/panel/headers#2 integrate .. //depot/projects/powerpc/contrib/ncurses/panel/modules#2 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/Makefile.in#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/clear.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/dump_entry.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/infocmp.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/modules#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/progs.priv.h#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/tic.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/toe.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/tput.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/progs/tset.c#3 integrate .. //depot/projects/powerpc/contrib/ncurses/tack/COPYING#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/HISTORY#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/Makefile.in#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/README#2 delete .. //depot/projects/powerpc/contrib/ncurses/tack/ansi.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/charset.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/color.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/control.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/crum.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/edit.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/fun.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/init.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/menu.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/modes.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/modules#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/output.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/pad.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/scan.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/sync.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/sysdep.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/tack.1#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/tack.c#3 delete .. //depot/projects/powerpc/contrib/ncurses/tack/tack.h#3 delete .. //depot/projects/powerpc/contrib/openpam/CREDITS#2 integrate .. //depot/projects/powerpc/contrib/openpam/HISTORY#2 integrate .. //depot/projects/powerpc/contrib/openpam/INSTALL#2 integrate .. //depot/projects/powerpc/contrib/openpam/LICENSE#2 integrate .. //depot/projects/powerpc/contrib/openpam/MANIFEST#2 delete .. //depot/projects/powerpc/contrib/openpam/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/README#2 integrate .. //depot/projects/powerpc/contrib/openpam/RELNOTES#2 integrate .. //depot/projects/powerpc/contrib/openpam/aclocal.m4#2 integrate .. //depot/projects/powerpc/contrib/openpam/autogen.sh#2 integrate .. //depot/projects/powerpc/contrib/openpam/bin/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/bin/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/bin/su/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/bin/su/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/bin/su/su.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/compile#1 branch .. //depot/projects/powerpc/contrib/openpam/config.h.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/configure#2 integrate .. //depot/projects/powerpc/contrib/openpam/configure.ac#2 integrate .. //depot/projects/powerpc/contrib/openpam/configure.in#2 delete .. //depot/projects/powerpc/contrib/openpam/depcomp#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam.man#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_borrow_cred.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_free_data.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_free_envlist.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_get_option.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_log.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_nullconv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_readline.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_restore_cred.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_set_option.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/openpam_ttyconv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam.conf.5#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam.man#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_acct_mgmt.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_authenticate.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_chauthtok.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_close_session.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_conv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_end.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_error.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_get_authtok.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_get_data.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_get_item.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_get_user.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_getenv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_getenvlist.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_info.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_open_session.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_prompt.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_putenv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_set_data.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_set_item.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_setcred.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_setenv.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_acct_mgmt.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_authenticate.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_chauthtok.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_close_session.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_open_session.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_sm_setcred.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_start.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_strerror.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_verror.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_vinfo.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/doc/man/pam_vprompt.3#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/openpam.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/openpam_attr.h#1 branch .. //depot/projects/powerpc/contrib/openpam/include/security/openpam_version.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/pam_appl.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/pam_constants.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/pam_modules.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/include/security/pam_types.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/install-sh#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_borrow_cred.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_configure.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_dispatch.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_dynamic.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_findenv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_free_data.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_free_envlist.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_get_option.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_impl.h#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_load.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_log.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_nullconv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_readline.c#3 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_restore_cred.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_set_option.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_static.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/openpam_ttyconv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_acct_mgmt.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_authenticate.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_authenticate_secondary.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_chauthtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_close_session.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_end.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_error.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_authtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_data.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_item.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_mapped_authtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_mapped_username.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_get_user.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_getenv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_getenvlist.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_info.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_open_session.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_prompt.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_putenv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_set_data.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_set_item.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_set_mapped_authtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_set_mapped_username.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_setcred.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_setenv.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_acct_mgmt.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_authenticate.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_authenticate_secondary.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_chauthtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_close_session.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_get_mapped_authtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_get_mapped_username.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_open_session.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_set_mapped_authtok.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_set_mapped_username.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_sm_setcred.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_start.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_strerror.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_verror.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_vinfo.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/lib/pam_vprompt.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/ltconfig#2 delete .. //depot/projects/powerpc/contrib/openpam/ltmain.sh#2 integrate .. //depot/projects/powerpc/contrib/openpam/misc/gendoc.pl#2 integrate .. //depot/projects/powerpc/contrib/openpam/missing#2 integrate .. //depot/projects/powerpc/contrib/openpam/mkinstalldirs#2 delete .. //depot/projects/powerpc/contrib/openpam/modules/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_deny/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_deny/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_deny/pam_deny.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_permit/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_permit/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_permit/pam_permit.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_unix/Makefile.am#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_unix/Makefile.in#2 integrate .. //depot/projects/powerpc/contrib/openpam/modules/pam_unix/pam_unix.c#2 integrate .. //depot/projects/powerpc/contrib/openpam/stamp-h.in#2 delete .. //depot/projects/powerpc/contrib/top/display.c#2 integrate .. //depot/projects/powerpc/contrib/top/layout.h#2 integrate .. //depot/projects/powerpc/contrib/top/machine.h#4 integrate .. //depot/projects/powerpc/contrib/top/top.c#4 integrate .. //depot/projects/powerpc/contrib/top/top.h#3 integrate .. //depot/projects/powerpc/crypto/openssl/crypto/engine/eng_cryptodev.c#2 integrate .. //depot/projects/powerpc/etc/defaults/periodic.conf#6 integrate .. //depot/projects/powerpc/etc/defaults/rc.conf#9 integrate .. //depot/projects/powerpc/etc/namedb/named.conf#4 integrate .. //depot/projects/powerpc/etc/periodic/daily/460.status-mail-rejects#2 integrate .. //depot/projects/powerpc/etc/rc.d/jail#4 integrate .. //depot/projects/powerpc/etc/rc.firewall#4 integrate .. //depot/projects/powerpc/etc/rc.firewall6#2 integrate .. //depot/projects/powerpc/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/powerpc/games/fortune/datfiles/gerrold.limerick#2 integrate .. //depot/projects/powerpc/games/fortune/datfiles/limerick#4 integrate .. //depot/projects/powerpc/gnu/usr.bin/Makefile#3 integrate .. //depot/projects/powerpc/gnu/usr.bin/cvs/Makefile#2 integrate .. //depot/projects/powerpc/gnu/usr.bin/cvs/contrib/Makefile#2 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kgdb.h#5 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/kthr.c#5 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/powerpc/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/powerpc/include/unistd.h#3 integrate .. //depot/projects/powerpc/lib/libarchive/Makefile#10 integrate .. //depot/projects/powerpc/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/powerpc/lib/libarchive/archive_endian.h#1 branch .. //depot/projects/powerpc/lib/libarchive/archive_entry.c#8 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry.h#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry_link_resolver.c#1 branch .. //depot/projects/powerpc/lib/libarchive/archive_entry_private.h#2 integrate .. //depot/projects/powerpc/lib/libarchive/archive_entry_strmode.c#1 branch .. //depot/projects/powerpc/lib/libarchive/archive_platform.h#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read.c#8 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_extract.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_private.h#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_compression_none.c#8 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_all.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_ar.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_cpio.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_iso9660.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_mtree.c#1 branch .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_tar.c#11 integrate .. //depot/projects/powerpc/lib/libarchive/archive_read_support_format_zip.c#9 integrate .. //depot/projects/powerpc/lib/libarchive/archive_util.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_disk.c#7 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_compression_bzip2.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_compression_gzip.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_compression_none.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_ar.c#4 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_cpio.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_pax.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/archive_write_set_format_ustar.c#8 integrate .. //depot/projects/powerpc/lib/libarchive/cpio.5#1 branch .. //depot/projects/powerpc/lib/libarchive/filter_fork.c#2 integrate .. //depot/projects/powerpc/lib/libarchive/libarchive-formats.5#4 integrate .. //depot/projects/powerpc/lib/libarchive/libarchive_internals.3#2 integrate .. //depot/projects/powerpc/lib/libarchive/test/Makefile#7 integrate .. //depot/projects/powerpc/lib/libarchive/test/README#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/main.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/test/read_open_memory.c#2 integrate .. //depot/projects/powerpc/lib/libarchive/test/test.h#5 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_compat_gtar.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_compat_gtar_1.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_compat_zip.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_compat_zip_1.zip.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_empty_write.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_entry_strmode.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_cpio_odc.c#2 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_isorr_bz2.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_mtree.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_tar.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_read_format_zip.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_read_pax_truncated.c#2 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_tar_filenames.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_tar_large.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_write_disk.c#5 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_write_disk_hardlink.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_write_disk_perms.c#6 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_write_format_cpio.c#3 integrate .. //depot/projects/powerpc/lib/libarchive/test/test_write_format_cpio_newc.c#1 branch .. //depot/projects/powerpc/lib/libarchive/test/test_write_format_cpio_odc.c#1 branch .. //depot/projects/powerpc/lib/libc/amd64/_fpmath.h#2 integrate .. //depot/projects/powerpc/lib/libc/gen/Makefile.inc#5 integrate .. //depot/projects/powerpc/lib/libc/gen/feature_present.3#1 branch .. //depot/projects/powerpc/lib/libc/gen/feature_present.c#1 branch .. //depot/projects/powerpc/lib/libc/gen/getttyent.c#3 integrate .. //depot/projects/powerpc/lib/libc/gen/posixshm.c#2 delete .. //depot/projects/powerpc/lib/libc/gen/sem_open.3#2 integrate .. //depot/projects/powerpc/lib/libc/gen/shm_open.3#2 delete .. //depot/projects/powerpc/lib/libc/i386/_fpmath.h#2 integrate .. //depot/projects/powerpc/lib/libc/ia64/_fpmath.h#2 integrate .. //depot/projects/powerpc/lib/libc/inet/inet_network.c#4 integrate .. //depot/projects/powerpc/lib/libc/sparc64/_fpmath.h#2 integrate .. //depot/projects/powerpc/lib/libc/stdlib/grantpt.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdlib/heapsort.c#3 integrate .. //depot/projects/powerpc/lib/libc/stdlib/malloc.3#5 integrate .. //depot/projects/powerpc/lib/libc/stdlib/malloc.c#9 integrate .. //depot/projects/powerpc/lib/libc/stdlib/qsort.c#3 integrate .. //depot/projects/powerpc/lib/libc/sys/Makefile.inc#7 integrate .. //depot/projects/powerpc/lib/libc/sys/access.2#4 integrate .. //depot/projects/powerpc/lib/libc/sys/shm_open.2#1 branch .. //depot/projects/powerpc/lib/libkvm/kvm.c#4 integrate .. //depot/projects/powerpc/lib/libkvm/kvm_file.c#3 integrate .. //depot/projects/powerpc/lib/libmagic/config.h#3 integrate .. //depot/projects/powerpc/lib/libpam/libpam/Makefile#2 integrate .. //depot/projects/powerpc/lib/libpam/modules/pam_krb5/pam_krb5.c#2 integrate .. //depot/projects/powerpc/lib/libpam/modules/pam_ssh/pam_ssh.c#2 integrate .. //depot/projects/powerpc/lib/libpam/modules/pam_unix/pam_unix.c#3 integrate .. //depot/projects/powerpc/lib/libthr/Makefile#7 integrate .. //depot/projects/powerpc/lib/libthr/pthread.map#5 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_sem.c#3 integrate .. //depot/projects/powerpc/lib/libthr/thread/thr_syscalls.c#3 integrate .. //depot/projects/powerpc/lib/libutil/pty.3#2 integrate .. //depot/projects/powerpc/lib/libutil/pty.c#4 integrate .. //depot/projects/powerpc/lib/msun/Makefile#7 integrate .. //depot/projects/powerpc/lib/msun/Symbol.map#7 integrate .. //depot/projects/powerpc/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/powerpc/lib/msun/amd64/s_llrintl.S#1 branch .. //depot/projects/powerpc/lib/msun/amd64/s_lrintl.S#1 branch .. //depot/projects/powerpc/lib/msun/amd64/s_rintl.S#1 branch .. //depot/projects/powerpc/lib/msun/i387/Makefile.inc#3 integrate .. //depot/projects/powerpc/lib/msun/i387/s_llrintl.S#1 branch .. //depot/projects/powerpc/lib/msun/i387/s_lrintl.S#1 branch .. //depot/projects/powerpc/lib/msun/i387/s_rintl.S#1 branch .. //depot/projects/powerpc/lib/msun/ld128/s_exp2l.c#1 branch .. //depot/projects/powerpc/lib/msun/ld80/s_exp2l.c#1 branch .. //depot/projects/powerpc/lib/msun/man/exp.3#3 integrate .. //depot/projects/powerpc/lib/msun/man/log.3#1 branch .. //depot/projects/powerpc/lib/msun/man/lrint.3#2 integrate .. //depot/projects/powerpc/lib/msun/man/rint.3#3 integrate .. //depot/projects/powerpc/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/k_rem_pio2.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/k_rem_pio2f.c#2 delete .. //depot/projects/powerpc/lib/msun/src/math.h#4 integrate .. //depot/projects/powerpc/lib/msun/src/math_private.h#3 integrate .. //depot/projects/powerpc/lib/msun/src/s_csqrt.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_csqrtf.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_exp2.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_exp2f.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_llrintl.c#1 branch .. //depot/projects/powerpc/lib/msun/src/s_log1p.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_log1pf.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_lrintl.c#1 branch .. //depot/projects/powerpc/lib/msun/src/s_nearbyint.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_rint.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_rintf.c#2 integrate .. //depot/projects/powerpc/lib/msun/src/s_rintl.c#1 branch .. //depot/projects/powerpc/lib/ncurses/ncurses/Makefile#9 integrate .. //depot/projects/powerpc/lib/ncurses/ncurses/ncurses_cfg.h#3 integrate .. //depot/projects/powerpc/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 integrate .. //depot/projects/powerpc/sbin/Makefile#5 integrate .. //depot/projects/powerpc/sbin/ddb/Makefile#1 branch .. //depot/projects/powerpc/sbin/ddb/ddb.8#1 branch .. //depot/projects/powerpc/sbin/ddb/ddb.c#1 branch .. //depot/projects/powerpc/sbin/ddb/ddb.h#1 branch .. //depot/projects/powerpc/sbin/ddb/ddb_script.c#1 branch .. //depot/projects/powerpc/sbin/devd/devd.hh#2 integrate .. //depot/projects/powerpc/sbin/fsck_msdosfs/boot.c#2 integrate .. //depot/projects/powerpc/sbin/quotacheck/quotacheck.c#5 integrate .. //depot/projects/powerpc/sbin/savecore/savecore.8#2 integrate .. //depot/projects/powerpc/sbin/savecore/savecore.c#3 integrate .. //depot/projects/powerpc/sbin/setkey/parse.y#4 integrate .. //depot/projects/powerpc/share/colldef/Makefile#2 integrate .. //depot/projects/powerpc/share/colldef/README#2 integrate .. //depot/projects/powerpc/share/colldef/map.ISO8859-9#1 branch .. //depot/projects/powerpc/share/colldef/tr_TR.ISO8859-9.src#1 branch .. //depot/projects/powerpc/share/man/man3/tree.3#2 integrate .. //depot/projects/powerpc/share/man/man4/Makefile#15 integrate .. //depot/projects/powerpc/share/man/man4/bge.4#4 integrate .. //depot/projects/powerpc/share/man/man4/ddb.4#3 integrate .. //depot/projects/powerpc/share/man/man4/ed.4#3 integrate .. //depot/projects/powerpc/share/man/man4/edsc.4#2 integrate .. //depot/projects/powerpc/share/man/man4/ipmi.4#4 integrate .. //depot/projects/powerpc/share/man/man4/lagg.4#3 integrate .. //depot/projects/powerpc/share/man/man4/man4.i386/ep.4#3 integrate .. //depot/projects/powerpc/share/man/man4/mfi.4#3 integrate .. //depot/projects/powerpc/share/man/man4/mxge.4#3 integrate .. //depot/projects/powerpc/share/man/man4/ng_car.4#3 integrate .. //depot/projects/powerpc/share/man/man4/ng_pppoe.4#2 integrate .. //depot/projects/powerpc/share/man/man4/pci.4#4 integrate .. //depot/projects/powerpc/share/man/man4/pcib.4#1 branch .. //depot/projects/powerpc/share/man/man4/snd_envy24.4#2 integrate .. //depot/projects/powerpc/share/man/man4/snd_envy24ht.4#3 integrate .. //depot/projects/powerpc/share/man/man4/snd_hda.4#8 integrate .. //depot/projects/powerpc/share/man/man4/snd_spicds.4#3 integrate .. //depot/projects/powerpc/share/man/man4/textdump.4#1 branch .. //depot/projects/powerpc/share/man/man5/boot.config.5#2 integrate .. //depot/projects/powerpc/share/man/man5/linsysfs.5#4 integrate .. //depot/projects/powerpc/share/man/man5/rc.conf.5#9 integrate .. //depot/projects/powerpc/share/man/man5/src.conf.5#10 integrate .. //depot/projects/powerpc/share/man/man7/bsd.snmpmod.mk.7#2 integrate .. //depot/projects/powerpc/share/man/man7/clocks.7#2 integrate .. //depot/projects/powerpc/share/man/man7/ports.7#3 integrate .. //depot/projects/powerpc/share/man/man9/VOP_LOCK.9#2 integrate .. //depot/projects/powerpc/share/man/man9/lock.9#4 integrate .. //depot/projects/powerpc/share/man/man9/mbuf_tags.9#2 integrate .. //depot/projects/powerpc/share/man/man9/sf_buf.9#2 integrate .. //depot/projects/powerpc/share/man/man9/style.9#3 integrate .. //depot/projects/powerpc/share/misc/bsd-family-tree#9 integrate .. //depot/projects/powerpc/share/misc/committers-ports.dot#7 integrate .. //depot/projects/powerpc/share/misc/committers-src.dot#7 integrate .. //depot/projects/powerpc/share/misc/pci_vendors#3 integrate .. //depot/projects/powerpc/share/mk/bsd.own.mk#9 integrate .. //depot/projects/powerpc/share/mk/bsd.snmpmod.mk#2 integrate .. //depot/projects/powerpc/share/mklocale/Makefile#2 integrate .. //depot/projects/powerpc/share/mklocale/tr_TR.ISO8859-9.src#1 branch .. //depot/projects/powerpc/share/termcap/termcap.src#3 integrate .. //depot/projects/powerpc/share/timedef/am_ET.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/be_BY.CP1131.src#2 integrate .. //depot/projects/powerpc/share/timedef/be_BY.CP1251.src#2 integrate .. //depot/projects/powerpc/share/timedef/be_BY.ISO8859-5.src#2 integrate .. //depot/projects/powerpc/share/timedef/be_BY.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/bg_BG.CP1251.src#2 integrate .. //depot/projects/powerpc/share/timedef/bg_BG.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ca_ES.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/ca_ES.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/cs_CZ.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/cs_CZ.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/da_DK.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/da_DK.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/de_AT.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/de_AT.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/de_DE.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/de_DE.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/el_GR.ISO8859-7.src#2 integrate .. //depot/projects/powerpc/share/timedef/el_GR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/en_GB.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/en_US.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/es_ES.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/es_ES.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/et_EE.ISO8859-15.src#2 integrate .. //depot/projects/powerpc/share/timedef/et_EE.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/eu_ES.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/fi_FI.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/fi_FI.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/fr_FR.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/fr_FR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/he_IL.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/hi_IN.ISCII-DEV.src#2 integrate .. //depot/projects/powerpc/share/timedef/hr_HR.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/hr_HR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/hu_HU.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/hu_HU.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/hy_AM.ARMSCII-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/hy_AM.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/is_IS.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/is_IS.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/it_IT.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/it_IT.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ja_JP.SJIS.src#2 integrate .. //depot/projects/powerpc/share/timedef/ja_JP.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ja_JP.eucJP.src#2 integrate .. //depot/projects/powerpc/share/timedef/kk_KZ.PT154.src#2 integrate .. //depot/projects/powerpc/share/timedef/kk_KZ.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ko_KR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ko_KR.eucKR.src#2 integrate .. //depot/projects/powerpc/share/timedef/la_LN.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/lt_LT.ISO8859-13.src#2 integrate .. //depot/projects/powerpc/share/timedef/lt_LT.ISO8859-4.src#2 integrate .. //depot/projects/powerpc/share/timedef/lt_LT.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/mn_MN.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/nl_NL.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/nn_NO.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/nn_NO.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/no_NO.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/no_NO.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/pl_PL.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/pl_PL.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/pt_BR.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/pt_BR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/pt_PT.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/pt_PT.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ro_RO.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/ro_RO.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/ru_RU.CP1251.src#2 integrate .. //depot/projects/powerpc/share/timedef/ru_RU.CP866.src#2 integrate .. //depot/projects/powerpc/share/timedef/ru_RU.ISO8859-5.src#2 integrate .. //depot/projects/powerpc/share/timedef/ru_RU.KOI8-R.src#2 integrate .. //depot/projects/powerpc/share/timedef/ru_RU.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/sk_SK.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/sk_SK.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/sl_SI.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/sl_SI.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/sr_YU.ISO8859-2.src#2 integrate .. //depot/projects/powerpc/share/timedef/sr_YU.ISO8859-5.src#2 integrate .. //depot/projects/powerpc/share/timedef/sr_YU.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/sv_SE.ISO8859-1.src#2 integrate .. //depot/projects/powerpc/share/timedef/sv_SE.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/tr_TR.ISO8859-9.src#2 integrate .. //depot/projects/powerpc/share/timedef/tr_TR.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/uk_UA.CP1251.src#2 integrate .. //depot/projects/powerpc/share/timedef/uk_UA.ISO8859-5.src#2 integrate .. //depot/projects/powerpc/share/timedef/uk_UA.KOI8-U.src#2 integrate .. //depot/projects/powerpc/share/timedef/uk_UA.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_CN.GB18030.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_CN.GB2312.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_CN.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_CN.eucCN.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_TW.Big5.src#2 integrate .. //depot/projects/powerpc/share/timedef/zh_TW.UTF-8.src#2 integrate .. //depot/projects/powerpc/share/zoneinfo/backward#3 integrate .. //depot/projects/powerpc/share/zoneinfo/europe#4 integrate .. //depot/projects/powerpc/share/zoneinfo/leapseconds#5 integrate .. //depot/projects/powerpc/share/zoneinfo/southamerica#5 integrate .. //depot/projects/powerpc/share/zoneinfo/zone.tab#5 integrate .. //depot/projects/powerpc/sys/amd64/amd64/machdep.c#11 integrate .. //depot/projects/powerpc/sys/amd64/amd64/mp_watchdog.c#3 integrate .. //depot/projects/powerpc/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/powerpc/sys/amd64/conf/GENERIC#11 integrate .. //depot/projects/powerpc/sys/amd64/conf/NOTES#9 integrate .. //depot/projects/powerpc/sys/amd64/include/_types.h#2 integrate .. //depot/projects/powerpc/sys/amd64/include/float.h#2 integrate .. //depot/projects/powerpc/sys/amd64/include/ieeefp.h#2 integrate .. //depot/projects/powerpc/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/powerpc/sys/amd64/include/vmparam.h#6 integrate .. //depot/projects/powerpc/sys/amd64/isa/clock.c#7 integrate .. //depot/projects/powerpc/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/powerpc/sys/arm/arm/support.S#4 integrate .. //depot/projects/powerpc/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/powerpc/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/powerpc/sys/arm/at91/uart_dev_at91usart.c#4 integrate .. //depot/projects/powerpc/sys/arm/include/vmparam.h#6 integrate .. //depot/projects/powerpc/sys/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/powerpc/sys/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/powerpc/sys/boot/arm/at91/libat91/spi_flash.c#4 integrate .. //depot/projects/powerpc/sys/boot/forth/loader.conf.5#4 integrate .. //depot/projects/powerpc/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/powerpc/sys/cam/cam_xpt.c#13 integrate .. //depot/projects/powerpc/sys/cam/scsi/scsi_da.c#11 integrate .. //depot/projects/powerpc/sys/cam/scsi/scsi_low.h#4 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/powerpc/sys/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/powerpc/sys/compat/linprocfs/linprocfs.c#15 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_file.c#10 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_getcwd.c#5 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_misc.c#12 integrate .. //depot/projects/powerpc/sys/compat/linux/linux_stats.c#7 integrate .. //depot/projects/powerpc/sys/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/powerpc/sys/compat/ndis/subr_ntoskrnl.c#7 integrate .. //depot/projects/powerpc/sys/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/powerpc/sys/compat/opensolaris/kern/opensolaris_vfs.c#6 integrate .. //depot/projects/powerpc/sys/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/powerpc/sys/compat/pecoff/imgact_pecoff.c#7 integrate .. //depot/projects/powerpc/sys/compat/svr4/imgact_svr4.c#6 integrate .. //depot/projects/powerpc/sys/compat/svr4/svr4_fcntl.c#7 integrate .. //depot/projects/powerpc/sys/compat/svr4/svr4_misc.c#9 integrate .. //depot/projects/powerpc/sys/compat/svr4/svr4_stream.c#5 integrate .. //depot/projects/powerpc/sys/conf/NOTES#17 integrate .. //depot/projects/powerpc/sys/conf/files#20 integrate .. //depot/projects/powerpc/sys/conf/files.i386#13 integrate .. //depot/projects/powerpc/sys/conf/options#20 integrate .. //depot/projects/powerpc/sys/contrib/dev/acpica/evgpe.c#3 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/gfs.c#4 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#4 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#6 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/powerpc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 integrate .. //depot/projects/powerpc/sys/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/powerpc/sys/crypto/rijndael/test00.c#2 integrate .. //depot/projects/powerpc/sys/ddb/db_capture.c#1 branch .. //depot/projects/powerpc/sys/ddb/db_command.c#5 integrate .. //depot/projects/powerpc/sys/ddb/db_command.h#4 integrate .. //depot/projects/powerpc/sys/ddb/db_input.c#4 integrate .. //depot/projects/powerpc/sys/ddb/db_lex.c#4 integrate .. //depot/projects/powerpc/sys/ddb/db_lex.h#4 integrate .. //depot/projects/powerpc/sys/ddb/db_main.c#2 integrate .. //depot/projects/powerpc/sys/ddb/db_output.c#4 integrate .. //depot/projects/powerpc/sys/ddb/db_script.c#1 branch .. //depot/projects/powerpc/sys/ddb/db_textdump.c#1 branch .. //depot/projects/powerpc/sys/ddb/ddb.h#4 integrate .. //depot/projects/powerpc/sys/dev/aac/aac.c#10 integrate .. //depot/projects/powerpc/sys/dev/acpica/Osd/OsdDebug.c#5 integrate .. //depot/projects/powerpc/sys/dev/acpica/Osd/OsdSchedule.c#6 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpi_hpet.c#7 integrate .. //depot/projects/powerpc/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/powerpc/sys/dev/acpica/acpi_thermal.c#7 integrate .. //depot/projects/powerpc/sys/dev/an/if_an.c#9 integrate .. //depot/projects/powerpc/sys/dev/an/if_an_pci.c#6 integrate .. //depot/projects/powerpc/sys/dev/an/if_anreg.h#6 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-all.h#11 integrate .. //depot/projects/powerpc/sys/dev/ata/ata-disk.c#9 integrate .. //depot/projects/powerpc/sys/dev/ath/if_ath.c#12 integrate .. //depot/projects/powerpc/sys/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/powerpc/sys/dev/atkbdc/atkbd_atkbdc.c#3 integrate .. //depot/projects/powerpc/sys/dev/bge/if_bge.c#16 integrate .. //depot/projects/powerpc/sys/dev/bge/if_bgereg.h#11 integrate .. //depot/projects/powerpc/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/powerpc/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/powerpc/sys/dev/cxgb/cxgb_adapter.h#8 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:08:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D2D616A475; Sun, 20 Jan 2008 00:08: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 06E5716A46B for ; Sun, 20 Jan 2008 00:08:49 +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 E3A4413C4D5 for ; Sun, 20 Jan 2008 00:08:48 +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 m0K08mUs009543 for ; Sun, 20 Jan 2008 00:08:48 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K08mOx009540 for perforce@freebsd.org; Sun, 20 Jan 2008 00:08:48 GMT (envelope-from csjp@freebsd.org) Date: Sun, 20 Jan 2008 00:08:48 GMT Message-Id: <200801200008.m0K08mOx009540@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 133695 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:08:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=133695 Change 133695 by csjp@csjp_xor on 2008/01/20 00:08:27 - Add option to auditreduce(1) which allows users to invert the sense of matching. If -v is specified, we will select records that do not the specified criteria. - Document the option in auditreduce.1 man page. - Add a section to the HISTORY file. - Tweak a few documentation bugs in HISTORY, auditreduce should be considered a general tool, not system maintenance procedure. (auditreduce(8) -> auditreduce(1)) Discussed with: rwatson Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#60 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.1#15 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#21 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.h#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#60 (text+ko) ==== @@ -1,8 +1,11 @@ OpenBSM 1.1 alpha 1 +- Add option to auditreduce(1) which allows users to invert sense of + matching, such that BSM records that do not match, are selected. + OpenBSM 1.0 -- Fix bug in auditreduce(8) which resulted in a memory fault/crash when +- Fix bug in auditreduce(1) which resulted in a memory fault/crash when the user specified an event name with -m. - Remove AU_.* hard-coded audit class constants, as udit classes are now entirely dynamically configured using /etc/security/audit_class. @@ -15,7 +18,7 @@ - Synchronized audit event list to Solaris, picking up the *at(2) system call definitions, now required for FreeBSD and Linux. Added additional events for *at(2) system calls not present in Solaris. -- Bugs in auditreduce(8) fixed allowing partial date strings to be used in +- Bugs in auditreduce(1) fixed allowing partial date strings to be used in filtering events. OpenBSM 1.0 alpha 14 @@ -304,4 +307,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#59 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#60 $ ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.1#15 (text+ko) ==== @@ -25,7 +25,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.1#14 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.1#15 $ .\" .Dd January 24, 2004 .Dt AUDITREDUCE 1 @@ -48,6 +48,7 @@ .Op Fl o Ar object Ns = Ns Ar value .Op Fl r Ar ruid .Op Fl u Ar auid +.Op Fl v .Op Ar .Sh DESCRIPTION The @@ -127,6 +128,8 @@ Select records with the given real user ID or name. .It Fl u Ar auid Select records with the given audit ID. +.It Fl v +Invert sense of matching, to select records that do not match. .El .Sh EXAMPLES To select all records associated with effective user ID root from the audit ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#21 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#20 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#21 $ */ /* @@ -346,7 +346,7 @@ select_hdr32(tokenstr_t tok, uint32_t *optchkd) { - SETOPT((*optchkd), (OPT_A | OPT_a | OPT_b | OPT_c | OPT_m)); + SETOPT((*optchkd), (OPT_A | OPT_a | OPT_b | OPT_c | OPT_m | OPT_v)); /* The A option overrides a, b and d. */ if (!ISOPTSET(opttochk, OPT_A)) { @@ -476,6 +476,7 @@ int bytesread; int selected; uint32_t optchkd; + int print; int err = 0; while ((reclen = au_read_rec(fp, &buf)) != -1) { @@ -556,14 +557,12 @@ } bytesread += tok.len; } - if ((selected == 1) && (!err)) { - /* Check if all the options were matched. */ - if (!(opttochk & ~optchkd)) { - /* XXX Write this record to the output file. */ - /* default to stdout */ - fwrite(buf, 1, reclen, stdout); - } - } + /* Check if all the options were matched. */ + print = ((selected == 1) && (!err) && (!(opttochk & ~optchkd))); + if (ISOPTSET(opttochk, OPT_v)) + print = !print; + if (print) + (void) fwrite(buf, 1, reclen, stdout); free(buf); } return (0); @@ -618,7 +617,7 @@ converr = NULL; - while ((ch = getopt(argc, argv, "Aa:b:c:d:e:f:g:j:m:o:r:u:")) != -1) { + while ((ch = getopt(argc, argv, "Aa:b:c:d:e:f:g:j:m:o:r:u:v")) != -1) { switch(ch) { case 'A': SETOPT(opttochk, OPT_A); @@ -755,6 +754,10 @@ SETOPT(opttochk, OPT_u); break; + case 'v': + SETOPT(opttochk, OPT_v); + break; + case '?': default: usage("Unknown option"); ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.h#6 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.h#5 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.h#6 $ */ #ifndef _AUDITREDUCE_H_ @@ -58,6 +58,7 @@ #define OPT_r 0x00008000 #define OPT_u 0x00010000 #define OPT_A 0x00020000 +#define OPT_v 0x00040000 #define FILEOBJ "file" #define MSGQIDOBJ "msgqid" From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:15:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE2D016A421; Sun, 20 Jan 2008 00:15: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 7391116A418 for ; Sun, 20 Jan 2008 00:15:56 +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 6196B13C474 for ; Sun, 20 Jan 2008 00:15:56 +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 m0K0FuH4010736 for ; Sun, 20 Jan 2008 00:15:56 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0FuQh010733 for perforce@freebsd.org; Sun, 20 Jan 2008 00:15:56 GMT (envelope-from csjp@freebsd.org) Date: Sun, 20 Jan 2008 00:15:56 GMT Message-Id: <200801200015.m0K0FuQh010733@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 133696 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:15:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=133696 Change 133696 by csjp@csjp_xor on 2008/01/20 00:15:44 Update usage output. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#22 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#22 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#21 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#22 $ */ /* @@ -163,6 +163,7 @@ fprintf(stderr, "\t\t shmid=\n"); fprintf(stderr, "\t-r : real user\n"); fprintf(stderr, "\t-u : audit user\n"); + fprintf(stderr, "\t-v : select non-matching records\n"); exit(EX_USAGE); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:24:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B8F016A46C; Sun, 20 Jan 2008 00:24: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 EC72516A46B for ; Sun, 20 Jan 2008 00:24:09 +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 DAB3C13C458 for ; Sun, 20 Jan 2008 00:24:09 +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 m0K0O4tA011110 for ; Sun, 20 Jan 2008 00:24:04 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0O4CN011107 for perforce@freebsd.org; Sun, 20 Jan 2008 00:24:04 GMT (envelope-from csjp@freebsd.org) Date: Sun, 20 Jan 2008 00:24:04 GMT Message-Id: <200801200024.m0K0O4CN011107@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 133697 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:24:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=133697 Change 133697 by csjp@csjp_xor on 2008/01/20 00:23:13 Do not attempt to commit an incomplete record when we are not able to process the subject token. Use AU_TO_NO_WRITE instead of the AU_TO_WRITE argument in au_close() while handling error. Submitted by: Diego Giagio Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#25 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#25 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#24 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#25 $ */ #ifdef __APPLE__ @@ -285,7 +285,7 @@ if (subject && au_write(aufd, subject) == -1) { au_free_token(subject); au_free_token(misctok); - (void)au_close(aufd, AU_TO_WRITE, event_code); + (void)au_close(aufd, AU_TO_NO_WRITE, event_code); syslog(LOG_ERR, "%s: write of subject failed", func); return (kAUWriteSubjectTokErr); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:27:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEE7816A41B; Sun, 20 Jan 2008 00:27: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 9C81616A417 for ; Sun, 20 Jan 2008 00:27:10 +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 8ACE413C458 for ; Sun, 20 Jan 2008 00:27:10 +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 m0K0R8pI011252 for ; Sun, 20 Jan 2008 00:27:08 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0R8qm011249 for perforce@freebsd.org; Sun, 20 Jan 2008 00:27:08 GMT (envelope-from csjp@freebsd.org) Date: Sun, 20 Jan 2008 00:27:08 GMT Message-Id: <200801200027.m0K0R8qm011249@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 133698 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:27:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=133698 Change 133698 by csjp@csjp_xor on 2008/01/20 00:26:13 Woops, forgot to update HISTORY. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#61 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#61 (text+ko) ==== @@ -2,6 +2,9 @@ - Add option to auditreduce(1) which allows users to invert sense of matching, such that BSM records that do not match, are selected. +- Fix bug in audit_write() where we commit an incomplete record in the + event there is an error writing the subject token. This was submitted + by Diego Giagio. OpenBSM 1.0 @@ -307,4 +310,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#60 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#61 $ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:46:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8677116A41B; Sun, 20 Jan 2008 00:46: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 4C22116A419 for ; Sun, 20 Jan 2008 00:46:31 +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 20DFA13C461 for ; Sun, 20 Jan 2008 00:46:31 +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 m0K0kVIt012050 for ; Sun, 20 Jan 2008 00:46:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0kUZN012047 for perforce@freebsd.org; Sun, 20 Jan 2008 00:46:30 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 00:46:30 GMT Message-Id: <200801200046.m0K0kUZN012047@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 133699 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:46:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=133699 Change 133699 by jb@jb_freebsd1 on 2008/01/20 00:46:09 Remove another reference to vmem. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#6 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#6 (text+ko) ==== @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:47:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B693C16A419; Sun, 20 Jan 2008 00:47: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 63FD316A417 for ; Sun, 20 Jan 2008 00:47:32 +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 50E5013C45D for ; Sun, 20 Jan 2008 00:47: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 m0K0lWYG020983 for ; Sun, 20 Jan 2008 00:47:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0lWS9020980 for perforce@freebsd.org; Sun, 20 Jan 2008 00:47:32 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 00:47:32 GMT Message-Id: <200801200047.m0K0lWS9020980@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 133700 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:47:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133700 Change 133700 by jb@jb_freebsd1 on 2008/01/20 00:46:43 Disable a couple more tests for now. Investigate later. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#11 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#11 (text+ko) ==== @@ -4,6 +4,8 @@ DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl IGNORE= \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \ ${TESTSRCDIR}/tst/common/aggs/err.D_KEY_TYPE.badkey4.d \ ${TESTSRCDIR}/tst/common/aggs/tst.allquant.d \ ${TESTSRCDIR}/tst/common/aggs/tst.avg.d \ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 00:48:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1BF0716A420; Sun, 20 Jan 2008 00:48: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 BAB7516A418 for ; Sun, 20 Jan 2008 00:48: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 A702913C457 for ; Sun, 20 Jan 2008 00:48:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0K0mX2B021007 for ; Sun, 20 Jan 2008 00:48:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K0mXv6021002 for perforce@freebsd.org; Sun, 20 Jan 2008 00:48:33 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 00:48:33 GMT Message-Id: <200801200048.m0K0mXv6021002@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 133701 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 00:48:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=133701 Change 133701 by jb@jb_freebsd1 on 2008/01/20 00:47:57 peter@ pointed out that we have alloc_unr() to allocate unique resource IDs which turns out to be exactly what is needed here. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#7 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#28 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#24 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#18 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#15 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#7 (text+ko) ==== @@ -50,7 +50,7 @@ return; /* Allocate a unique minor number. */ - u = dtrace_minor++; + u = alloc_unr(dtrace_minor); /* Clone the device to the new minor number. */ if (clone_create(&dtrace_clones, &dtrace_cdevsw, &u, dev, 0) != 0) ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#28 (text+ko) ==== @@ -97,6 +97,9 @@ 1, INT_MAX, 0); #endif + dtrace_arena = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx); + dtrace_minor = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx); + dtrace_state_cache = kmem_cache_create("dtrace_state_cache", sizeof (dtrace_dstate_percpu_t) * NCPU, DTRACE_STATE_ALIGN, NULL, NULL, NULL, NULL, NULL, 0); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#24 (text+ko) ==== @@ -122,6 +122,9 @@ kmem_cache_destroy(dtrace_state_cache); + delete_unrhdr(dtrace_arena); + delete_unrhdr(dtrace_minor); + if (dtrace_toxrange != NULL) { kmem_free(dtrace_toxrange, 0); dtrace_toxrange = NULL; ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#18 (text) ==== @@ -196,8 +196,8 @@ static vmem_t *dtrace_minor; /* minor number arena */ static taskq_t *dtrace_taskq; /* task queue */ #else -static u_long dtrace_arena; /* Probe ID number. */ -static u_long dtrace_minor; /* Minor device number. */ +static struct unrhdr *dtrace_arena; /* Probe ID number. */ +static struct unrhdr *dtrace_minor; /* Minor number. */ #endif static dtrace_probe_t **dtrace_probes; /* array of all probes */ static int dtrace_nprobes; /* number of probes */ @@ -224,6 +224,8 @@ static dtrace_enabling_t *dtrace_retained; /* list of retained enablings */ static dtrace_dynvar_t dtrace_dynhash_sink; /* end of dynamic hash chains */ #if !defined(sun) +static struct mtx dtrace_unr_mtx; +MTX_SYSINIT(dtrace_unr_mtx, &dtrace_unr_mtx, "Unique resource identifier", MTX_DEF); int dtrace_in_probe; /* non-zero if executing a probe */ #if defined(__i386__) || defined(__amd64__) uintptr_t dtrace_in_probe_addr; /* Address of invop when already in probe */ @@ -7168,6 +7170,8 @@ kmem_free(probe->dtpr_name, strlen(probe->dtpr_name) + 1); #if defined(sun) vmem_free(dtrace_arena, (void *)(uintptr_t)(probe->dtpr_id), 1); +#else + free_unr(dtrace_arena, probe->dtpr_id); #endif kmem_free(probe, sizeof (dtrace_probe_t)); } @@ -7285,6 +7289,8 @@ kmem_free(probe, sizeof (dtrace_probe_t)); #if defined(sun) vmem_free(dtrace_arena, (void *)((uintptr_t)i + 1), 1); +#else + free_unr(dtrace_arena, i + 1); #endif } @@ -7325,7 +7331,7 @@ id = (dtrace_id_t)(uintptr_t)vmem_alloc(dtrace_arena, 1, VM_BESTFIT | VM_SLEEP); #else - id = ++dtrace_arena; + id = alloc_unr(dtrace_arena); #endif probe = kmem_zalloc(sizeof (dtrace_probe_t), KM_SLEEP); @@ -9527,7 +9533,7 @@ aggid = (dtrace_aggid_t)(uintptr_t)vmem_alloc(state->dts_aggid_arena, 1, VM_BESTFIT | VM_SLEEP); #else - aggid = ++(state->dts_aggid_arena); + aggid = alloc_unr(state->dts_aggid_arena); #endif if (aggid - 1 >= state->dts_naggregations) { @@ -9579,6 +9585,8 @@ ASSERT(DTRACEACT_ISAGG(act->dta_kind)); #if defined(sun) vmem_free(state->dts_aggid_arena, (void *)(uintptr_t)aggid, 1); +#else + free_unr(state->dts_aggid_arena, aggid); #endif ASSERT(state->dts_aggregations[aggid - 1] == agg); @@ -12410,7 +12418,7 @@ if (devp != NULL) *devp = state->dts_dev; #else - state->dts_aggid_arena = 0; + state->dts_aggid_arena = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx); state->dts_dev = dev; #endif @@ -13200,11 +13208,15 @@ dtrace_format_destroy(state); + if (state->dts_aggid_arena != NULL) { #if defined(sun) - if (state->dts_aggid_arena != NULL) { vmem_destroy(state->dts_aggid_arena); +#else + delete_unrhdr(state->dts_aggid_arena); +#endif state->dts_aggid_arena = NULL; } +#if defined(sun) ddi_soft_state_free(dtrace_softstate, minor); vmem_free(dtrace_minor, (void *)(uintptr_t)minor, 1); #endif ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#15 (text) ==== @@ -1128,7 +1128,7 @@ #if defined(sun) vmem_t *dts_aggid_arena; /* arena for aggregation IDs */ #else - u_long dts_aggid_arena; /* arena for aggregation IDs */ + struct unrhdr *dts_aggid_arena; /* arena for aggregation IDs */ #endif uint64_t dts_errors; /* total number of errors */ uint32_t dts_speculations_busy; /* number of spec. busy */ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 01:31:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 707A816A46C; Sun, 20 Jan 2008 01:31: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 1D8BA16A419 for ; Sun, 20 Jan 2008 01:31:22 +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 0764213C448 for ; Sun, 20 Jan 2008 01:31:22 +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 m0K1VLq1025186 for ; Sun, 20 Jan 2008 01:31:21 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K1VLDF025183 for perforce@freebsd.org; Sun, 20 Jan 2008 01:31:21 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 20 Jan 2008 01:31:21 GMT Message-Id: <200801200131.m0K1VLDF025183@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 133702 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 01:31:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=133702 Change 133702 by kmacy@pandemonium:kmacy:xen31 on 2008/01/20 01:30:25 KASSERT that we aren't allocating/freeing a page from the initial set of pages Affected files ... .. //depot/projects/xen31/sys/vm/vm_page.c#8 edit Differences ... ==== //depot/projects/xen31/sys/vm/vm_page.c#8 (text+ko) ==== @@ -139,6 +139,7 @@ int vm_page_array_size = 0; long first_page = 0; int vm_page_zero_count = 0; +extern unsigned long physfree; static int boot_pages = UMA_BOOT_PAGES; TUNABLE_INT("vm.boot_pages", &boot_pages); @@ -494,6 +495,8 @@ { m->flags &= ~PG_ZERO; + + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("freeing page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); vm_page_free_toq(m); } @@ -507,6 +510,7 @@ { m->flags |= PG_ZERO; + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("freeing page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); vm_page_free_toq(m); } @@ -1156,6 +1160,8 @@ if (vm_paging_needed()) pagedaemon_wakeup(); + + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("allocating page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); return (m); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 02:44:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9321016A41A; Sun, 20 Jan 2008 02:44: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 4096F16A418 for ; Sun, 20 Jan 2008 02:44:38 +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 26DE513C442 for ; Sun, 20 Jan 2008 02:44:38 +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 m0K2icSV030007 for ; Sun, 20 Jan 2008 02:44:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K2icJX030003 for perforce@freebsd.org; Sun, 20 Jan 2008 02:44:38 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 02:44:38 GMT Message-Id: <200801200244.m0K2icJX030003@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 133703 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 02:44:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=133703 Change 133703 by jb@jb_freebsd1 on 2008/01/20 02:43:40 On FreeBSD libz is always available. I don't understand why it is optional on Solaris. We will just link it in and be done with it! Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#9 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#9 (text) ==== @@ -34,14 +34,20 @@ #include #include #include +#if defined(sun) #include +#else +#include +#endif #include +#if defined(sun) #ifdef _LP64 static const char *_libctf_zlib = "/usr/lib/64/libz.so"; #else static const char *_libctf_zlib = "/usr/lib/libz.so"; #endif +#endif static struct { int (*z_uncompress)(uchar_t *, ulong_t *, const uchar_t *, ulong_t); @@ -60,10 +66,12 @@ void _libctf_init(void) { +#if defined(sun) const char *p = getenv("LIBCTF_DECOMPRESSOR"); if (p != NULL) _libctf_zlib = p; /* use alternate decompression library */ +#endif _libctf_debug = getenv("LIBCTF_DEBUG") != NULL; @@ -79,6 +87,7 @@ void * ctf_zopen(int *errp) { +#if defined(sun) ctf_dprintf("decompressing CTF data using %s\n", _libctf_zlib); if (zlib.z_dlp != NULL) @@ -98,6 +107,13 @@ bzero(&zlib, sizeof (zlib)); return (ctf_set_open_errno(errp, ECTF_ZINIT)); } +#else + zlib.z_uncompress = uncompress; + zlib.z_error = zError; + + /* Dummy return variable as 'no error' */ + zlib.z_dlp = (void *) (uintptr_t) 1; +#endif return (zlib.z_dlp); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 02:50:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 715F216A47D; Sun, 20 Jan 2008 02:50: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 3689116A47B for ; Sun, 20 Jan 2008 02:50:45 +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 1C8BA13C43E for ; Sun, 20 Jan 2008 02:50:45 +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 m0K2oiEP030294 for ; Sun, 20 Jan 2008 02:50:44 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K2oiNr030291 for perforce@freebsd.org; Sun, 20 Jan 2008 02:50:44 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 02:50:44 GMT Message-Id: <200801200250.m0K2oiNr030291@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 133704 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 02:50:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=133704 Change 133704 by jb@jb_freebsd1 on 2008/01/20 02:49:47 Remove script definitions for things that are now built in variables. Affected files ... .. //depot/projects/dtrace/src/cddl/lib/libdtrace/psinfo.d#3 edit Differences ... ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/psinfo.d#3 (text+ko) ==== @@ -89,17 +89,3 @@ #pragma D attributes Stable/Stable/Common curlwpsinfo #pragma D binding "1.0" curlwpsinfo -/* - * ppid, uid and gid are used frequently enough to merit their own inlines... - */ -inline uid_t ppid = curpsinfo->pr_ppid; -#pragma D attributes Stable/Stable/Common ppid -#pragma D binding "1.0" ppid - -inline uid_t uid = curpsinfo->pr_uid; -#pragma D attributes Stable/Stable/Common uid -#pragma D binding "1.0" uid - -inline gid_t gid = curpsinfo->pr_gid; -#pragma D attributes Stable/Stable/Common gid -#pragma D binding "1.0" gid From owner-p4-projects@FreeBSD.ORG Sun Jan 20 02:50:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2DE016A527; Sun, 20 Jan 2008 02:50: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 7211F16A47E for ; Sun, 20 Jan 2008 02:50:45 +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 405F913C448 for ; Sun, 20 Jan 2008 02:50:45 +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 m0K2ojpQ030300 for ; Sun, 20 Jan 2008 02:50:45 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K2oj3r030297 for perforce@freebsd.org; Sun, 20 Jan 2008 02:50:45 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 02:50:45 GMT Message-Id: <200801200250.m0K2oj3r030297@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 133705 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 02:50:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=133705 Change 133705 by jb@jb_freebsd1 on 2008/01/20 02:50:35 Install psinfo.d as a library script now so that there are more common definitions available for the test suite. Affected files ... .. //depot/projects/dtrace/src/cddl/lib/libdtrace/Makefile#21 edit Differences ... ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/Makefile#21 (text+ko) ==== @@ -46,7 +46,8 @@ dt_xlator.c \ gmatch.c -DSRCS= unistd.d +DSRCS= psinfo.d \ + unistd.d .PATH: ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common .PATH: ${OPENSOLARIS_USR_DISTDIR}/lib/libgen/common From owner-p4-projects@FreeBSD.ORG Sun Jan 20 04:22:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 376C716A420; Sun, 20 Jan 2008 04:22: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 E7AAB16A419 for ; Sun, 20 Jan 2008 04:22:18 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C9FC013C468 for ; Sun, 20 Jan 2008 04:22:18 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0K4MIbL037984 for ; Sun, 20 Jan 2008 04:22:18 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K4MIA2037981 for perforce@freebsd.org; Sun, 20 Jan 2008 04:22:18 GMT (envelope-from sephe@FreeBSD.org) Date: Sun, 20 Jan 2008 04:22:18 GMT Message-Id: <200801200422.m0K4MIA2037981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 133706 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 04:22:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=133706 Change 133706 by sephe@sephe_zealot:sam_wifi on 2008/01/20 04:21:47 Unbreak RELENG_7 ABI compat: - Use {isr,isi}_ie_off as structure version - Embed new capinfo immediately before {isr,isi}_ie_off Pointed out by: sam Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#72 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#86 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#47 edit .. //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#11 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#72 (text+ko) ==== @@ -1949,12 +1949,21 @@ , "INT" , "CAPS" ); + cp = buf; do { const struct ieee80211req_scan_result *sr; + const uint16_t *capinfo; const uint8_t *vp; sr = (const struct ieee80211req_scan_result *) cp; + if (sr->isr_ie_off == sizeof(struct ieee80211req_scan_result)) { + /* Old scan_result, i.e. no capinfo */ + capinfo = NULL; + } else { + capinfo = (const uint16_t *) + (cp + sizeof(struct ieee80211req_scan_result)); + } vp = cp + sr->isr_ie_off; printf("%-*.*s %s %3d %3dM %3d:%-3d %3d %-4.4s" , ssidmax @@ -1965,7 +1974,7 @@ , getmaxrate(sr->isr_rates, sr->isr_nrates) , (sr->isr_rssi/2)+sr->isr_noise, sr->isr_noise , sr->isr_intval - , getcaps(sr->isr_capinfo2) + , getcaps(capinfo == NULL ? sr->isr_capinfo : *capinfo) ); printies(vp + sr->isr_ssid_len, sr->isr_ie_len, 24); printf("\n"); @@ -2108,10 +2117,18 @@ cp = (const uint8_t *) u.req.info; do { const struct ieee80211req_sta_info *si; + const uint16_t *capinfo; si = (const struct ieee80211req_sta_info *) cp; if (si->isi_len < sizeof(*si)) break; + if (si->isi_ie_off == sizeof(struct ieee80211req_sta_info)) { + /* Old sta info, i.e. no capinfo */ + capinfo = NULL; + } else { + capinfo = (const uint16_t *) + (cp + sizeof(struct ieee80211req_sta_info)); + } printf("%s %4u %4d %3dM %3.1f %4d %6d %6d %-4.4s %-4.4s" , ether_ntoa((const struct ether_addr*) si->isi_macaddr) , IEEE80211_AID(si->isi_associd) @@ -2121,7 +2138,7 @@ , si->isi_inact , gettxseq(si) , getrxseq(si) - , getcaps(si->isi_capinfo2) + , getcaps(capinfo == NULL ? si->isi_capinfo : *capinfo) , getflags(si->isi_state) ); printies(cp + si->isi_ie_off, si->isi_ie_len, 24); ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#86 (text+ko) ==== @@ -378,6 +378,9 @@ } #endif /* COMPAT_FREEBSD6 */ +/* capinfo */ +#define SCANRESULT_EXTRA_SIZE sizeof(uint16_t) + struct scanreq { struct ieee80211req_scan_result *sr; size_t space; @@ -402,7 +405,9 @@ * packet is <3Kbytes so we are sure this doesn't overflow * 16-bits; if this is a concern we can drop the ie's. */ - len = sizeof(struct ieee80211req_scan_result) + se->se_ssid[1] + *ielen; + len = sizeof(struct ieee80211req_scan_result) + + SCANRESULT_EXTRA_SIZE + + se->se_ssid[1] + *ielen; return roundup(len, sizeof(uint32_t)); } @@ -430,7 +435,8 @@ sr = req->sr; KASSERT(len <= 65535 && ielen <= 65535, ("len %u ssid %u ie %u", len, se->se_ssid[1], ielen)); - sr->isr_ie_off = sizeof(struct ieee80211req_scan_result); + sr->isr_ie_off = sizeof(struct ieee80211req_scan_result) + + SCANRESULT_EXTRA_SIZE; sr->isr_ie_len = ielen; sr->isr_len = len; sr->isr_freq = se->se_chan->ic_freq; @@ -438,8 +444,7 @@ sr->isr_rssi = se->se_rssi; sr->isr_noise = se->se_noise; sr->isr_intval = se->se_intval; - sr->isr_capinfo = se->se_capinfo; /* deprecated */ - sr->isr_capinfo2 = se->se_capinfo; + sr->isr_capinfo = se->se_capinfo; /* deprecated */ sr->isr_erp = se->se_erp; IEEE80211_ADDR_COPY(sr->isr_bssid, se->se_bssid); nr = min(se->se_rates[1], IEEE80211_RATE_MAXSIZE); @@ -448,6 +453,10 @@ memcpy(sr->isr_rates+nr, se->se_xrates+2, nxr); sr->isr_nrates = nr + nxr; + /* Extra data */ + cp = ((uint8_t *)sr + sizeof(struct ieee80211req_scan_result)); + *((uint16_t *)cp) = se->se_capinfo; /* capinfo */ + sr->isr_ssid_len = se->se_ssid[1]; cp = ((uint8_t *)sr) + sr->isr_ie_off; memcpy(cp, se->se_ssid+2, sr->isr_ssid_len); @@ -505,6 +514,9 @@ size_t space; }; +/* capinfo */ +#define STAINFO_EXTRA_SIZE sizeof(uint16_t) + static size_t sta_space(const struct ieee80211_node *ni, size_t *ielen) { @@ -517,7 +529,8 @@ *ielen += 2+ni->ni_wme_ie[1]; if (ni->ni_ath_ie != NULL) *ielen += 2+ni->ni_ath_ie[1]; - return roundup(sizeof(struct ieee80211req_sta_info) + *ielen, + return roundup(sizeof(struct ieee80211req_sta_info) + + STAINFO_EXTRA_SIZE + *ielen, sizeof(uint32_t)); } @@ -553,7 +566,8 @@ return; si = req->si; si->isi_len = len; - si->isi_ie_off = sizeof(struct ieee80211req_sta_info); + si->isi_ie_off = sizeof(struct ieee80211req_sta_info) + + STAINFO_EXTRA_SIZE; si->isi_ie_len = ielen; si->isi_freq = ni->ni_chan->ic_freq; si->isi_flags = ni->ni_chan->ic_flags; @@ -561,8 +575,7 @@ si->isi_authmode = ni->ni_authmode; ic->ic_node_getsignal(ni, &si->isi_rssi, &si->isi_noise); si->isi_noise = 0; /* XXX */ - si->isi_capinfo = ni->ni_capinfo; /* deprecated */ - si->isi_capinfo2 = ni->ni_capinfo; + si->isi_capinfo = ni->ni_capinfo; /* deprecated */ si->isi_erp = ni->ni_erp; IEEE80211_ADDR_COPY(si->isi_macaddr, ni->ni_macaddr); si->isi_nrates = ni->ni_rates.rs_nrates; @@ -590,6 +603,10 @@ si->isi_inact = ic->ic_inact_init; si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT; + /* Extra data */ + cp = ((uint8_t *)si + sizeof(struct ieee80211req_sta_info)); + *((uint16_t *)cp) = ni->ni_capinfo; /* capinfo */ + if (ielen) { cp = ((uint8_t *)si) + si->isi_ie_off; cp = copyie(cp, ni->ni_wpa_ie); ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#47 (text+ko) ==== @@ -358,8 +358,8 @@ uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */ uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */ uint16_t isi_inact; /* inactivity timer */ - uint16_t isi_capinfo2; /* capabilities */ /* XXX frag state? */ + /* 2 bytes capinfo in host byte order */ /* variable length IE data */ }; @@ -538,7 +538,7 @@ uint8_t isr_nrates; uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]; uint8_t isr_ssid_len; /* SSID length */ - uint16_t isr_capinfo2; /* capabilities */ + /* 2 bytes capinfo in host byte order */ /* variable length SSID followed by IE data */ }; ==== //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#11 (text+ko) ==== @@ -634,14 +634,23 @@ cp = buf; wsr = results; while (len >= sizeof(struct ieee80211req_scan_result)) { + const uint16_t *capinfo; + sr = (const struct ieee80211req_scan_result *) cp; + if (sr->isr_ie_off == sizeof(struct ieee80211req_scan_result)) { + capinfo = NULL; + } else { + capinfo = (const uint16_t *) + (cp + sizeof(struct ieee80211req_scan_result)); + } + memcpy(wsr->bssid, sr->isr_bssid, IEEE80211_ADDR_LEN); wsr->ssid_len = sr->isr_ssid_len; wsr->freq = sr->isr_freq; wsr->noise = sr->isr_noise; wsr->qual = sr->isr_rssi; wsr->level = 0; /* XXX? */ - wsr->caps = sr->isr_capinfo2; + wsr->caps = capinfo == NULL ? sr->isr_capinfo : *capinfo; wsr->maxrate = getmaxrate(sr->isr_rates, sr->isr_nrates); vp = ((u_int8_t *)sr) + sr->isr_ie_off; memcpy(wsr->ssid, vp, sr->isr_ssid_len); From owner-p4-projects@FreeBSD.ORG Sun Jan 20 05:51:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F92016A420; Sun, 20 Jan 2008 05:51: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 AAF2A16A418 for ; Sun, 20 Jan 2008 05:51:51 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 734D413C4CE for ; Sun, 20 Jan 2008 05:51:51 +0000 (UTC) (envelope-from scottl@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 m0K5ppcV066920 for ; Sun, 20 Jan 2008 05:51:51 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K5ppJq066917 for perforce@freebsd.org; Sun, 20 Jan 2008 05:51:51 GMT (envelope-from scottl@freebsd.org) Date: Sun, 20 Jan 2008 05:51:51 GMT Message-Id: <200801200551.m0K5ppJq066917@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 133708 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 05:51:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=133708 Change 133708 by scottl@scottl-deimos on 2008/01/20 05:51:33 Bring in new pmap functionality and VM asserts. Affected files ... .. //depot/projects/xen31-xenbus/sys/i386/xen/pmap.c#4 integrate .. //depot/projects/xen31-xenbus/sys/vm/vm_page.c#2 integrate Differences ... ==== //depot/projects/xen31-xenbus/sys/i386/xen/pmap.c#4 (text+ko) ==== @@ -1767,7 +1767,6 @@ vm_paddr_t ptppaddr; vm_page_t nkpg; pd_entry_t newpdir; - pt_entry_t *pde; mtx_assert(&kernel_map->system_mtx, MA_OWNED); if (kernel_vm_end == 0) { @@ -1808,19 +1807,12 @@ pmap_zero_page(nkpg); ptppaddr = VM_PAGE_TO_PHYS(nkpg); newpdir = (pd_entry_t) (ptppaddr | PG_V | PG_RW | PG_A | PG_M); -#ifdef notyet - PD_SET_VA(kernel_pmap, &pdir_pde(kernel_pmap->pm_pdir, kernel_vm_end), newpdir, TRUE); -#else - panic("implement me"); -#endif + PD_SET_VA(kernel_pmap, (kernel_vm_end >> PDRSHIFT), newpdir, TRUE); mtx_lock_spin(&allpmaps_lock); - LIST_FOREACH(pmap, &allpmaps, pm_list) { - pde = pmap_pde(pmap, kernel_vm_end); -#ifdef notyet - PD_SET_VA(pmap, pde, newpdir, FALSE); -#endif - } + LIST_FOREACH(pmap, &allpmaps, pm_list) + PD_SET_VA(pmap, (kernel_vm_end >> PDRSHIFT), newpdir, FALSE); + PT_UPDATES_FLUSH(); mtx_unlock_spin(&allpmaps_lock); kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); ==== //depot/projects/xen31-xenbus/sys/vm/vm_page.c#2 (text+ko) ==== @@ -139,6 +139,7 @@ int vm_page_array_size = 0; long first_page = 0; int vm_page_zero_count = 0; +extern unsigned long physfree; static int boot_pages = UMA_BOOT_PAGES; TUNABLE_INT("vm.boot_pages", &boot_pages); @@ -494,6 +495,8 @@ { m->flags &= ~PG_ZERO; + + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("freeing page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); vm_page_free_toq(m); } @@ -507,6 +510,7 @@ { m->flags |= PG_ZERO; + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("freeing page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); vm_page_free_toq(m); } @@ -1156,6 +1160,8 @@ if (vm_paging_needed()) pagedaemon_wakeup(); + + KASSERT(VM_PAGE_TO_PHYS(m) >= physfree, ("allocating page from initial memory 0x%jx", VM_PAGE_TO_PHYS(m))); return (m); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 06:30:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F36116A420; Sun, 20 Jan 2008 06:30: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 54AA516A419 for ; Sun, 20 Jan 2008 06:30: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 1CD3B13C46B for ; Sun, 20 Jan 2008 06:30: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 m0K6UZnE070677 for ; Sun, 20 Jan 2008 06:30:35 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K6UYoK070674 for perforce@freebsd.org; Sun, 20 Jan 2008 06:30:34 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 20 Jan 2008 06:30:34 GMT Message-Id: <200801200630.m0K6UYoK070674@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 133710 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 06:30:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=133710 Change 133710 by kmacy@pandemonium:kmacy:xen31 on 2008/01/20 06:30:30 start phys_avail at physfree Affected files ... .. //depot/projects/xen31/sys/i386/i386/machdep.c#13 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/machdep.c#13 (text+ko) ==== @@ -2127,6 +2127,7 @@ *pte = 0; invltlb(); #else + phys_avail[0] = physfree; phys_avail[1] = xen_start_info->nr_pages*PAGE_SIZE; #endif /* XEN */ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 06:36:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ECAF16A41B; Sun, 20 Jan 2008 06:36: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 D049B16A418 for ; Sun, 20 Jan 2008 06:36:41 +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 990B613C45D for ; Sun, 20 Jan 2008 06:36:41 +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 m0K6affr070938 for ; Sun, 20 Jan 2008 06:36:41 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K6afJl070935 for perforce@freebsd.org; Sun, 20 Jan 2008 06:36:41 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 20 Jan 2008 06:36:41 GMT Message-Id: <200801200636.m0K6afJl070935@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 133711 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 06:36:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=133711 Change 133711 by kmacy@pandemonium:kmacy:xen31 on 2008/01/20 06:36:30 make build :-| Affected files ... .. //depot/projects/xen31/sys/i386/i386/machdep.c#14 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/machdep.c#14 (text+ko) ==== @@ -158,6 +158,7 @@ struct proc_ldt default_proc_ldt; extern int init_first; int running_xen = 1; +extern unsigned long physfree; #endif /* Sanity check for __curthread() */ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 07:23:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F6CA16A41A; Sun, 20 Jan 2008 07:23: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 2CB2716A468 for ; Sun, 20 Jan 2008 07:23:36 +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 0CE5713C468 for ; Sun, 20 Jan 2008 07:23:36 +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 m0K7NZc7074917 for ; Sun, 20 Jan 2008 07:23:35 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K7NZAp074914 for perforce@freebsd.org; Sun, 20 Jan 2008 07:23:35 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 20 Jan 2008 07:23:35 GMT Message-Id: <200801200723.m0K7NZAp074914@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 133714 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 07:23:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=133714 Change 133714 by kmacy@pandemonium:kmacy:xen31 on 2008/01/20 07:23:28 add some more debug info for when we send a SIGBUS Affected files ... .. //depot/projects/xen31/sys/i386/i386/trap.c#7 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/trap.c#7 (text+ko) ==== @@ -746,7 +746,7 @@ struct vmspace *vm = NULL; vm_map_t map; int rv = 0; - vm_prot_t ftype; + vm_prot_t ftype = 0; struct thread *td = curthread; struct proc *p = td->td_proc; @@ -832,7 +832,11 @@ trap_fatal(frame, eva); return (-1); } - +#ifdef XEN + if (rv == KERN_PROTECTION_FAILURE) + printf("SIGBUS: p=%s va=0x%x ftype=0x%x\n", p->p_comm, va, ftype); +#endif + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 07:26:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7CED16A421; Sun, 20 Jan 2008 07:26: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 9529116A419 for ; Sun, 20 Jan 2008 07:26:39 +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 5CA6A13C43E for ; Sun, 20 Jan 2008 07:26:39 +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 m0K7Qd0v075068 for ; Sun, 20 Jan 2008 07:26:39 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K7Qd15075065 for perforce@freebsd.org; Sun, 20 Jan 2008 07:26:39 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 20 Jan 2008 07:26:39 GMT Message-Id: <200801200726.m0K7Qd15075065@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 133715 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 07:26:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=133715 Change 133715 by kmacy@pandemonium:kmacy:xen31 on 2008/01/20 07:26:13 also get the eip Affected files ... .. //depot/projects/xen31/sys/i386/i386/trap.c#8 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/trap.c#8 (text+ko) ==== @@ -834,7 +834,7 @@ } #ifdef XEN if (rv == KERN_PROTECTION_FAILURE) - printf("SIGBUS: p=%s va=0x%x ftype=0x%x\n", p->p_comm, va, ftype); + printf("SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x\n", p->p_comm, va, ftype, frame->tf_eip); #endif return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); From owner-p4-projects@FreeBSD.ORG Sun Jan 20 07:31:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B1E016A420; Sun, 20 Jan 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 30A7B16A41A for ; Sun, 20 Jan 2008 07:31:46 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC51A13C455 for ; Sun, 20 Jan 2008 07:31:45 +0000 (UTC) (envelope-from scottl@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 m0K7VjXM075299 for ; Sun, 20 Jan 2008 07:31:45 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K7Vjbv075296 for perforce@freebsd.org; Sun, 20 Jan 2008 07:31:45 GMT (envelope-from scottl@freebsd.org) Date: Sun, 20 Jan 2008 07:31:45 GMT Message-Id: <200801200731.m0K7Vjbv075296@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 133716 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 07:31:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=133716 Change 133716 by scottl@scottl-deimos on 2008/01/20 07:31:23 Fix a compile error. Affected files ... .. //depot/projects/xen31-xenbus/sys/xen/xenbus/xenbus_probe.c#5 edit Differences ... ==== //depot/projects/xen31-xenbus/sys/xen/xenbus/xenbus_probe.c#5 (text+ko) ==== @@ -990,7 +990,6 @@ LIST_INIT(&xenbus_device_frontend_list); LIST_INIT(&xenbus_device_backend_list); LIST_INIT(&xendrv_list); - LIST_INIT(&sc->children); #if 0 if (xen_init() < 0) { From owner-p4-projects@FreeBSD.ORG Sun Jan 20 07:33:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5386A16A420; Sun, 20 Jan 2008 07:33: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 1921016A419 for ; Sun, 20 Jan 2008 07:33:48 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ECE1113C448 for ; Sun, 20 Jan 2008 07:33:47 +0000 (UTC) (envelope-from scottl@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 m0K7Xl6d075413 for ; Sun, 20 Jan 2008 07:33:47 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K7Xl2p075410 for perforce@freebsd.org; Sun, 20 Jan 2008 07:33:47 GMT (envelope-from scottl@freebsd.org) Date: Sun, 20 Jan 2008 07:33:47 GMT Message-Id: <200801200733.m0K7Xl2p075410@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 133717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 07:33:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=133717 Change 133717 by scottl@scottl-deimos on 2008/01/20 07:32:52 Bring in critical physmap[0] fix. Stability vastly improved. Affected files ... .. //depot/projects/xen31-xenbus/sys/i386/i386/machdep.c#2 integrate Differences ... ==== //depot/projects/xen31-xenbus/sys/i386/i386/machdep.c#2 (text+ko) ==== @@ -158,6 +158,7 @@ struct proc_ldt default_proc_ldt; extern int init_first; int running_xen = 1; +extern unsigned long physfree; #endif /* Sanity check for __curthread() */ @@ -2127,6 +2128,7 @@ *pte = 0; invltlb(); #else + phys_avail[0] = physfree; phys_avail[1] = xen_start_info->nr_pages*PAGE_SIZE; #endif /* XEN */ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 08:24:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5996C16A419; Sun, 20 Jan 2008 08:24: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 06D0916A417 for ; Sun, 20 Jan 2008 08:24:41 +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 DA74413C43E for ; Sun, 20 Jan 2008 08:24:40 +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 m0K8Oerl080483 for ; Sun, 20 Jan 2008 08:24:40 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0K8Oe9W080480 for perforce@freebsd.org; Sun, 20 Jan 2008 08:24:40 GMT (envelope-from jb@freebsd.org) Date: Sun, 20 Jan 2008 08:24:40 GMT Message-Id: <200801200824.m0K8Oe9W080480@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 133719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 08:24:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=133719 Change 133719 by jb@jb_freebsd1 on 2008/01/20 08:24:18 Add a SDT (static) probe for process creation (named: proc:kernel::create) to match the Solaris functionality and modify the test to account for the difference between FreeBSD's struct proc and Solaris. Note: This is an example of a static probe providing typed arguments. The argument type allows the first argument to be dereferenced in a D script as args[0]->p_pptr->p_pid. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#5 edit .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#25 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#5 (text+ko) ==== @@ -36,7 +36,7 @@ { $dtrace -s /dev/stdin <pr_ppid == $child && pid == $child/ + /args[0]->p_pptr->p_pid == $child && pid == $child/ { exit(0); } @@ -46,7 +46,7 @@ sleeper() { while true; do - /usr/bin/sleep 1 + /bin/sleep 1 done } ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#25 (text+ko) ==== @@ -37,6 +37,7 @@ #include __FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.289 2007/11/15 02:13:44 julian Exp $"); +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include "opt_mac.h" @@ -63,6 +64,7 @@ #include #include #include +#include #include #include @@ -75,6 +77,7 @@ #include #include +SDT_PROVIDER_DECLARE(proc); #ifndef _SYS_SYSPROTO_H_ struct fork_args { @@ -716,6 +719,11 @@ PROC_UNLOCK(p1); + SDT_PROBE(proc, kernel, , create, p2, p1, flags, 0, 0); + SDT_PROBE_ARGTYPE(proc, kernel, , create, 0, "struct proc *"); + SDT_PROBE_ARGTYPE(proc, kernel, , create, 1, "struct proc *"); + SDT_PROBE_ARGTYPE(proc, kernel, , create, 2, "int"); + /* * Preserve synchronization semantics of vfork. If waiting for * child to exec or exit, set P_PPWAIT on child, and sleep on our From owner-p4-projects@FreeBSD.ORG Sun Jan 20 10:08:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA67A16A419; Sun, 20 Jan 2008 10:08:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 977E916A469 for ; Sun, 20 Jan 2008 10:08:27 +0000 (UTC) (envelope-from brueffer@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 75DD913C455 for ; Sun, 20 Jan 2008 10:08:27 +0000 (UTC) (envelope-from brueffer@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 m0KA8R5P096823 for ; Sun, 20 Jan 2008 10:08:27 GMT (envelope-from brueffer@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KA8Rch096820 for perforce@freebsd.org; Sun, 20 Jan 2008 10:08:27 GMT (envelope-from brueffer@freebsd.org) Date: Sun, 20 Jan 2008 10:08:27 GMT Message-Id: <200801201008.m0KA8Rch096820@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to brueffer@freebsd.org using -f From: Christian Brueffer To: Perforce Change Reviews Cc: Subject: PERFORCE change 133721 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 10:08:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=133721 Change 133721 by brueffer@brueffer_haakonia on 2008/01/20 10:08:05 Typo fixes. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#62 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#62 (text+ko) ==== @@ -102,7 +102,7 @@ OpenBSM 1.0 alpha 10 - auditd now generates complete audit records for its events, as required for - application-submitted audit records in the the FreeBSD kernel audit + application-submitted audit records in the FreeBSD kernel audit implementation. OpenBSM 1.0 alpha 9 @@ -140,7 +140,7 @@ address storage. - Prefer inttypes.h to stdint.h; enhance queue.h detection to test for TAILQ_FOREACH_SAFE(), which is present in recent BSD queue.h's, but not - older ones. OpenBSM now builds on some FreeBSD 4.x version. + older ones. OpenBSM now builds on some FreeBSD 4.x versions. - New event types for extended attributes, ACLs, and scheduling. OpenBSM 1.0 alpha 6 @@ -253,7 +253,7 @@ compile in code relying on kernel-only types such as 'struct socket'. - Add README, including basic build documentation. - Compilation of Apple-specific notify and Machroutines now #ifdef __APPLE__. -- Staticize libbsm global variables to avoid leakage into application. +- Staticize libbsm global variables to avoid leakage into applications. - Add free_au_user_ent() so that au_user_ent's don't have to be leaked. - Clean up bogus nul-termination checks in libbsm. - Add libbsm API man pages: au_class.3 au_control.3 au_event.3 @@ -310,4 +310,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#61 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#62 $ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 15:51:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02FF316A469; Sun, 20 Jan 2008 15:51: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 BB68E16A418 for ; Sun, 20 Jan 2008 15:51:32 +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 B2C9513C4D9 for ; Sun, 20 Jan 2008 15:51:32 +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 m0KFpWRO033885 for ; Sun, 20 Jan 2008 15:51:32 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KFpWML033882 for perforce@freebsd.org; Sun, 20 Jan 2008 15:51:32 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 20 Jan 2008 15:51:32 GMT Message-Id: <200801201551.m0KFpWML033882@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 133733 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 15:51:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133733 Change 133733 by pgj@disznohal on 2008/01/20 15:51:00 Add initial Hungarian translation of Chapter 11: Configuration and Tuning. Affected files ... .. //depot/projects/docproj_hu/books/handbook/config/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/config/chapter.sgml#2 (text+ko) ==== @@ -4,98 +4,125 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml,v 1.227 2007/08/17 12:54:31 blackend Exp $ --> - + + + Chern Lee - Written by + Írta: Mike Smith - Based on a tutorial written by + Az alapjául szolgáló + bemutatást írta: Matt Dillon - Also based on tuning(7) written by + Valamint az alapját képzõ tuning(7) + oldalt írta: - Configuration and Tuning + Beállítás és + finomhangolás - Synopsis + Áttekintés - system configuration - system optimization + a rendszer + beállítása + a rendszer + finomhangolása - One of the important aspects of &os; is system configuration. - Correct system configuration will help prevent headaches during future upgrades. - This chapter will explain much of the &os; configuration process, - including some of the parameters which - can be set to tune a &os; system. - + A &os; egyik fontos szempontja a rendszer megfelelõ + beállítása, aminek + segítségével elkerülhetjük a + késõbbi frissítések során + keletkezõ kellemetlenségeket. Ez a fejezet a &os; + beállítási folyamatából + kíván minél többet bemutatni, + köztük a &os; rendszerek finomhangolására + szánt paramétereket. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - How to efficiently work with - file systems and swap partitions. + hogyan dolgozzunk hatékonyan az + állományrendszerekkel és a + lapozóállományokkal - The basics of rc.conf configuration and - /usr/local/etc/rc.d startup systems. + az rc.conf + beállításának alapjait és a + /usr/local/etc/rc.d könyvtár + indítási rendszerét - How to configure and test a network card. + hogyan állítsunk be és + próbáljunk ki egy hálózati + kártyát - How to configure virtual hosts on your network devices. + hogyan állítsunk be virtuális + címeket a hálózati + eszközökeinken - How to use the various configuration files in - /etc. + hogyan használjuk az /etc + könyvtárban megtalálható + különféle konfigurációs + állományokat - How to tune &os; using sysctl - variables. + hogyan hangoljuk a &os; mûködését + a sysctl változóinak + segítségével - How to tune disk performance and modify kernel - limitations. + hogyan hangoljuk a lemezek + teljesítményét és + módosítsuk a rendszermag + korlátozásait - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Understand &unix; and &os; basics (). + a &unix; és &os; alapjainak megértése + () - Be familiar with the basics of kernel configuration/compilation - (). + a rendszermag beállításához + és fordításához + kötõdõ alapok ismerete () - Initial Configuration + Kezdeti beállítások - Partition Layout + A partíciók kiosztása - partition layout + partíciókiosztás /etc @@ -107,150 +134,250 @@ - Base Partitions + Alappartíciók - When laying out file systems with &man.bsdlabel.8; - or &man.sysinstall.8;, remember that hard - drives transfer data faster from the outer - tracks to the inner. - Thus smaller and heavier-accessed file systems - should be closer to the outside of the drive, while - larger partitions like /usr should be placed - toward the inner. It is a good idea to create - partitions in a similar order to: root, swap, - /var, /usr. + Amikor a &man.bsdlabel.8; vagy &man.sysinstall.8; + segítségével + állományrendszereket telepítünk, nem + szabad figyelmen kívül hagynunk a tényt, + hogy a merevlemezes egységekben a külsõ + sávokból gyorsabban lehet + hozzáférni az adatokhoz, mint a + belsõkbõl. Emiatt a kisebb és gyakrabban + elérni kívánt + állományrendszereket a meghajtó + lemezének külsejéhez közel kell + létrehozni, míg mondjuk a + /usr-hez hasonló nagyobb + partíciókat a belsõ része + felé. A partíciókat a + következõ sorrendben érdemes + kialakítani: gyökér + (rendszerindító), + lapozóállomány, /var + és /usr. - The size of /var - reflects the intended machine usage. - /var is used to hold - mailboxes, log files, and printer spools. Mailboxes and log - files can grow to unexpected sizes depending - on how many users exist and how long log - files are kept. Most users would never require a gigabyte, - but remember that /var/tmp - must be large enough to contain packages. - + A /var méretének + tükröznie kell a + számítógép + szándékolt használatát. A + /var partíción foglalnak + helyet a felhasználók postaládái, + a naplóállományok és a + nyomtatási sorok. A postaládák és + a naplóállományok egészen + váratlan mértékben is képesek + megnövekedni attól függõen, hogy mennyi + felhasználónk van a rendszerben és hogy + mekkora naplókat tartunk meg. Itt a legtöbb + felhasználónak soha nem lesz + szüksége egy gigabájtnál több + helyre, de ne feledjük, hogy a + /var/tmp könyvtárban el kell + tudni férnie csomagoknak. - The /usr partition holds much - of the files required to support the system, the &man.ports.7; - collection (recommended) and the source code (optional). Both - of which are optional at install time. - At least 2 gigabytes would be recommended for this partition. + A /usr partíció + tartalmazza a rendszer mûködéséhez + elengedhetetlenül fontos legtöbb + állományt, a portok + gyûjteményét (ajánlott, ld. + &man.ports.7;) és a forráskódot + (választható). Ez utóbbiak a + telepítés során + választhatóak. Ehhez a + partícióhoz legalább két + gigabájtnyi hely ajánlott. - When selecting partition sizes, keep the space - requirements in mind. Running out of space in - one partition while barely using another can be a - hassle. + Vegyük figyelembe a tárbeli igényeket, + amikor megválasztjuk partíciók + méretét. Igen kellemetlen lehet, úgy + futunk ki az egyik partíción a szabad + helybõl, hogy a másikat alig + használjuk. - Some users have found that &man.sysinstall.8;'s - Auto-defaults partition sizer will - sometimes select smaller than adequate /var - and / partitions. Partition wisely and - generously. + + Egyes felhasználók szerint + elõfordulhat, hogy a &man.sysinstall.8; + Auto-defaults opciója a + /var és / + partíciók méretét túl + kicsire választja. Partícionáljuk + okosan és nagylelkûen! + - Swap Partition + A lapozóállomány + partíciója - swap sizing - swap partition + a lapozóállomány + mérete + a lapozóállomány + partíciója - As a rule of thumb, the swap partition should be - about double the size of system memory (RAM). For example, - if the machine has 128 megabytes of memory, - the swap file should be 256 megabytes. Systems with - less memory may perform better with more swap. - Less than 256 megabytes of swap is not recommended and - memory expansion should be considered. - The kernel's VM paging algorithms are tuned to - perform best when the swap partition is at least two times the - size of main memory. Configuring too little swap can lead to - inefficiencies in the VM page scanning code and might create - issues later if more memory is added. + Általános szabály, hogy a + lapozóállományt tároló + partíció mérete legyen a rendszer fizikai + memóriájának (RAM) kétszerese. + Például ha a + számítógépünk + 128 megabájt memóriával rendelkezik, + akkor a lapozóállomány + méretének 256 megabájtnak kell + lennie. Az ennél kevesebb memóriát + maguknak tudó rendszerek több + lapozóállománnyal jobban + teljesítenek. 256 megabájtnál + kevesebb lapozóállományt + semmiképpen sem ajánlunk, és + inkább a fizikai memóriát érdemes + bõvítenünk. A rendszermag virtuális + memóriát kezelõ lapozási + algoritmusait úgy állították be, + hogy abban az esetben teljesítsenek a legjobban, ha a + lapozóállomány mérete + legalább kétszerese a központi + memória mennyiségének. A túl + kicsi lapozóállomány + beállítása rontja a virtuális + memória lapkeresésési rutinjának + hatékonyságát és a memória + bõvítése esetén még + további gondokat is okozhat. - On larger systems with multiple SCSI disks (or - multiple IDE disks operating on different controllers), it is - recommend that a swap is configured on each drive (up - to four drives). The swap partitions should be - approximately the same size. The kernel can handle arbitrary - sizes but internal data structures scale to 4 times the - largest swap partition. Keeping the swap partitions near the - same size will allow the kernel to optimally stripe swap space - across disks. - Large swap sizes are fine, even if swap is not - used much. It might be easier to recover - from a runaway program before being forced to reboot. + A több SCSI lemezzel (vagy a + különbözõ vezérlõkre + csatlakoztatott több IDE lemezzel) bíró + nagyobb rendszerek esetében érdemes minden egyes + (de legfeljebb négy) meghajtóra + beállítani lapozóállományt. + A lapozóállományoknak közel azonos + méretûnek kell lenniük. A rendszermag + tetszõleges méretûeket képes kezelni, + azonban a belsejében alkalmazott adatszerkezetek a + legnagyobb lapozóállomány + méretének négyszereséig + képesek növekedni. Ha a + lapozóállományokat + nagyjából ugyanazon a méreten tartjuk, + akkor a rendszermag képes lesz a lapozáshoz + felhasznált területet optimálisan elosztani + a lemezek között. A nagyobb + lapozóállományok használata + még akkor is jól jön, ha nem is + használjuk annyira. Segítségével + sokkal könnyebben talpra tudunk állni egy + elszabadult program tombolásából, + és nem kell rögtön + újraindítanunk a rendszert. - Why Partition? + Miért partícionáljunk? - Several users think a single large partition will be fine, - but there are several reasons why this is a bad idea. - First, each partition has different operational - characteristics and separating them allows the file system to - tune accordingly. For example, the root - and /usr partitions are read-mostly, without - much writing. While a lot of reading and writing could - occur in /var and - /var/tmp. + Egyes felhasználók úgy + gondolják, hogy egyetlen nagyobb méretû + partíció mindenre megfelel, ám ez a + gondolat több okból is helytelennek + tekinthetõ. Elõször is, minden egyes + partíciónak eltér a + mûködési jellemzõje, és + különválasztásukkal + lehetõvé válik az + állományrendszerek megfelelõ + behangolása. Például a + rendszerindításhoz használt és a + /usr partíciókat + többségében csak olvasásra + használják, és nem sokat írnak + rájuk. Eközben a /var + és /var/tmp + könyvtárakban zajlik az írások + és olvasások túlnyomó + része. - By properly partitioning a system, fragmentation - introduced in the smaller write heavy partitions - will not bleed over into the mostly-read partitions. - Keeping the write-loaded partitions closer to - the disk's edge, - will - increase I/O performance in the partitions where it occurs - the most. Now while I/O - performance in the larger partitions may be needed, - shifting them more toward the edge of the disk will not - lead to a significant performance improvement over moving - /var to the edge. - Finally, there are safety concerns. A smaller, neater root - partition which is mostly read-only has a greater - chance of surviving a bad crash. + A rendszer megfelelõ felosztásával a + kisebb, intenzívebben írt + partíciókon megjelenõ + töredezettség nem szivárog át a + többségében csak olvasásra + használt partíciókra. Ha a sokat + írt partíciókat közel tartjuk a + lemez széléhez, akkor azokon a + partíciókon növekszik az I/O + teljesítménye, ahol az a leggyakrabban + megjelenik. Mivel mostanság az I/O + teljesítményére inkább a nagyobb + partíciók esetén van szükség, + azzal nem érünk el ebben különösebb + mértékû növekedést, ha a + /var partíciót a lemez + szélére toljuk. Befejezésképpen + hozzátesszük, hogy ennek vannak biztonsági + megfontolásai is. Egy kisebb és takarosabb + rendszerindító partíció, ami + többnyire írásvédett, nagyobb + eséllyel él túl egy csúfos + rendszerösszeomlást. - Core Configuration + A mag beállítása - rc files + rc állományok rc.conf - The principal location for system configuration information - is within /etc/rc.conf. This file - contains a wide range of configuration information, principally - used at system startup to configure the system. Its name - directly implies this; it is configuration information for the - rc* files. + A rendszer beállításaira vonatkozó + információk központi lelõhelye az + /etc/rc.conf állomány. Ez az + állomány tartalmazza a + beállításokra vonatkozó adatok + széles körét, amelyet elsõsorban a + rendszer indulása során a rendszer + beállítására használnak. Erre + a neve is utal: ez az rc* + állományok konfigurációs + állománya. - An administrator should make entries in the - rc.conf file to - override the default settings from - /etc/defaults/rc.conf. The defaults file - should not be copied verbatim to /etc - it - contains default values, not examples. All system-specific - changes should be made in the rc.conf - file itself. + A rendszergazda az rc.conf + állományban tudja felülbírálni az + /etc/defaults/rc.conf + állományban szereplõ alapértelmezett + beállításokat. Az + alapértelmezéseket tartalmazó + állományt nem szabad közvetlenül + átmásolni az /etc + könyvtárba, hiszen alapértelmezett + értékeket tartalmaz, nem pedig mintákat. + Minden rendszerfüggõ beállítást + magában az rc.conf + állományban kell elvégezni. - A number of strategies may be applied in clustered - applications to separate site-wide configuration from - system-specific configuration in order to keep administration - overhead down. The recommended approach is to place site-wide - configuration into another file, - such as /etc/rc.conf.site, and then include - this file into /etc/rc.conf, which will - contain only system-specific information. + Számos stratégia létezik a tömegesen + adminisztrált + számítógépeknél a + közös és rendszerfüggõ + beállítások + különválasztására, ezáltal a + karbantartási költségek + csökkentésére. A közös + beállításokat ajánlott egy + másik helyre, például az + /etc/rc.conf.site állományba + rakni, majd hivatkozni erre a kizárólag csak + rendszerfüggõ információkat + tartalmazó /etc/rc.conf + állományból. - As rc.conf is read by &man.sh.1; it is - trivial to achieve this. For example: + Mivel az rc.conf állományt + az &man.sh.1; dolgozza fel, ezt elég könnyen el tudjuk + érni. Például: rc.conf: @@ -264,43 +391,57 @@ blanktime="100" - The rc.conf.site file can then be - distributed to every system using rsync or a - similar program, while the rc.conf file - remains unique. + Az rc.conf.site állomány + ezt követõen az rsync parancs + használatával már + szétszórható a rendszerben, miközben az + rc.conf állomány + mindenkinél egyedi marad. - Upgrading the system using &man.sysinstall.8; - or make world will not overwrite the - rc.conf - file, so system configuration information will not be lost. + Ha a rendszert a &man.sysinstall.8; vagy a make + world használatával + frissítjük, akkor az rc.conf + tartalma nem íródik felül, így a + rendszer beállításairól + szóló adatok nem vesznek el. - Application Configuration + Az alkalmazások + beállítása - Typically, installed applications have their own - configuration files, with their own syntax, etc. It is - important that these files be kept separate from the base - system, so that they may be easily located and managed by the - package management tools. + A telepített alkalmazások + általában saját konfigurációs + állományokkal, amik pedig saját + formátummal stb. rendelkeznek. Fontos, hogy ezeket az + állományokat az alaprendszertõl + elkülönítve tároljuk, ezáltal a + csomagkezelõ eszközök könnyen rájuk + tudjanak találni és dolgozni velük. /usr/local/etc - Typically, these files are installed in - /usr/local/etc. In the case where an - application has a large number of configuration files, a - subdirectory will be created to hold them. + Ezeket az állományokat általában a + /usr/local/etc könyvtárban + találjuk meg. Amennyiben egy alkalmazáshoz + több konfigurációs állomány is + tartozik, akkor ahhoz ezen belül egy külön + alkönyvtár jön létre. - Normally, when a port or package is installed, sample - configuration files are also installed. These are usually - identified with a .default suffix. If there - are no existing - configuration files for the application, they will be created by - copying the .default files. + Normális esetben, amikor egy portot vagy csomagot + telepítünk, minta konfigurációs + állományokat is kapunk. Ezek nevében + többnyire a .default utótag + szerepel. Ha még nincs konfigurációs + állomány az adott alkalmazáshoz, akkor a + .default jelzésû + állományokból ez + létrehozható. - For example, consider the contents of the directory - /usr/local/etc/apache: + Példaképpen most tekintsük a + /usr/local/etc/apache könyvtár + tartalmát: -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default @@ -313,9 +454,11 @@ -rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf -rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default - The file sizes show that only the srm.conf - file has been changed. A later update of the Apache port would not - overwrite this changed file. + Az állományok mérete jól mutatja, + hogy csak az srm.conf változott meg. Az + Apache késõbbi + frissítései ezt az állományt nem + fogják felülírni. @@ -325,58 +468,82 @@ Tom Rhodes - Contributed by + Írta: - Starting Services + Szolgáltatások indítása - services + szolgáltatások - Many users choose to install third party software on &os; - from the Ports Collection. In many of these situations it - may be necessary to configure the software in a manner which - will allow it to be started upon system initialization. Services, - such as mail/postfix or - www/apache13 are just two - of the many software packages which may be started during system - initialization. This section explains the procedures available - for starting third party software. + A felhasználók közül sokan + választják a &os; + portgyûjteményében található + külsõs szoftverek telepítését. A + telepített szoftvert gyakran ilyenkor úgy kell + beállítani, hogy a rendszer + indulásával együtt induljon. Az olyan + szolgáltatások, mint mondjuk a mail/postfix vagy a www/apache13 csupán két + olyan szoftvercsomag, amelyet a rendszerrel együtt kell + elindítani. Ebben a szakaszban a külsõs + szoftverek indítására használatos + eljárásokkal foglalkozunk. - In &os;, most included services, such as &man.cron.8;, are - started through the system start up scripts. These scripts may - differ depending on &os; or vendor version; however, the most - important aspect to consider is that their start up configuration - can be handled through simple startup scripts. + A &os;-ben megjelenõ legtöbb + szolgáltatás, mint mondjuk a &man.cron.8;, a + rendszerindító szkripteken keresztül kel + életre. Habár ezek a szkriptek a &os; egyes + verziói vagy az egyes gyártók esetén + különbözhetnek, azonban az mindegyikükben + közös, hogy az elindításukra + vonatkozó beállítások egyszerû + indítószkriptekkel adhatóak meg. - Before the advent of rc.d, applications would drop a - simple start up script into the + Az rc.d eljövetele elõtt az + alkalmazások indításához be kellett + másolni egy egyszerû indítószkriptet a /usr/local/etc/rc.d - directory which would be read by the system initialization - scripts. These scripts would then be executed during the latter - stages of system start up. + könyvtárba, melyet aztán a rendszer + indításához használt szkriptek + olvastak be. Ezek a szkriptek aztán késõbb a + rendszer indítása során + végrehajtódtak. - While many individuals have spent hours trying to merge the - old configuration style into the new system, the fact remains - that some third party utilities still require a script simply - dropped into the aforementioned directory. The subtle differences - in the scripts depend whether or not rc.d is being used. Prior - to &os; 5.1 the old configuration style is used and in - almost all cases a new style script would do just fine. + Miközben rengetegen próbálták + beolvasztani ezt a megszokott konfigurációs + stílust egy új rendszerbe, a külsõs + alkalmazások mûködtetéséhez + továbbra is az elõbb említett + könyvtárban elhelyezett szkriptekre van + szükség. A szkriptek közötti apró + eltérések leginkább abban nyilvánulnak + meg, hogy az rc.d könyvtárat + használják-e vagy sem. A &os; 5.1-es + verziója elõtt a régebbi + konfigurációs megoldást + használták, de az új szkriptek szinte az + összes esetben megfelelõnek bizonyultak. - While every script must meet some minimal requirements, most - of the time these requirements are &os; version - agnostic. Each script must have a .sh - extension appended to the end and every script must be - executable by the system. The latter may be achieved by using - the chmod command and setting the unique permissions - of 755. There should also be, at minimal, - an option to start the application and an - option to stop the application. + Jóllehet minden szkriptnek teljesítenie kell + minimális elvárásokat, ezek a legtöbb + esetben függetlenek a &os; konkrét + verziójától. Minden szkriptnek + .sh kiterjesztéssel kell rendelkeznie + és minden szkriptnek a rendszer által + végrehajthatónak kell lennie. Ez utóbbit + úgy érhetjük el, ha a chmod + parancs felhasználásával + beállítjuk a 755 + kódú engedélyeket. Ezen felül a + szkriptnek még tudnia kell kezelnie a + start és stop + opciókat. - The simplest start up script would probably look a little - bit like this one: + A legegyszerûbb indítószkript valahogy + így nézhet ki: #!/bin/sh echo -n ' utility' @@ -396,35 +563,52 @@ exit 0 - This script provides for a stop and - start option for - the application hereto referred simply as - utility. + Ez a szkript képes értelmezni a + start és stop + parancsokat az alkalmazás számára, amit itt + csak utility-nek neveztünk. - Could be started manually with: + Manuálisan így tudjuk elindítani: &prompt.root; /usr/local/etc/rc.d/utility.sh start - While not all third party software requires the line in - rc.conf, almost every day a new port will - be modified to accept this configuration. Check the final output - of the installation for more information on a specific - application. Some third party software will provide start up - scripts which permit the application to be used with - rc.d; although, this will be discussed in the next section. + Habár nem mindegyik külsõs szoftvert kell + külön megadni az rc.conf + állományban, majdnem minden nap + módosítani kell egy portot a + beállítások elfogadásához. Az + egyes alkalmazásokra vonatkozó + kiegészítõ információkhoz + nézzük meg a telepítés után + keletkezõ üzeneteket. Egyes külsõs + szoftverekhez mellékelnek olyan + indítószkripteket, amelyek lehetõvé + teszik az alkalmazás meghívását az + rc.d könyvtárból. + Ezekrõl a következõ szakaszban még + szólni fogunk. - Extended Application Configuration + Az alkalmazások részletesebb + beállítása - Now that &os; includes rc.d, configuration - of application startup has become easier, and more - featureful. Using the key words discussed in the - rc.d section, - applications may now be set to start after certain other - services for example DNS; may permit extra - flags to be passed through rc.conf in - place of hard coded flags in the start up script, etc. A - basic script may look similar to the following: + Most miután a &os; rendelkezik egy + rc.d könyvtárral, az + alkalmazások indításának + beállítása is könnyebbé + és ügyesebbé vált. Az rc.d + mûködésérõl szóló + szakaszban megismert kulcsszavak + segítségével az alkalmazások + mostantól kezdve a többi szolgáltatás, + például a DNS, után + indulnak el, és az rc.conf + állományon keresztül a szkriptekbe + huzalozottak helyett most már tetszõleges + paramétereket is átadhatunk stb. Egy + egyszerû szkript ehhez hasonlóan néz + ki: #!/bin/sh # @@ -433,8 +617,8 @@ # KEYWORD: shutdown # -# DO NOT CHANGE THESE DEFAULT VALUES HERE -# SET THEM IN THE /etc/rc.conf FILE +# NE VÁLTOZTASSUK MEG AZ ITT LÉVÕ ALAPÉRTELMEZÉSEKET, +# INKÁBB AZ /etc/rc.conf ÁLLOMÁNYBAN ÁLLÍTSUK BE EZEKET # utility_enable=${utility_enable-"NO"} utility_flags=${utility_flags-""} @@ -454,49 +638,72 @@ run_rc_command "$1" - This script will ensure that the provided - utility will be started after the - daemon service. It also provides a method - for setting and tracking the PID, or process - ID file. + Ez a szkript gondoskodik arról, hogy a + utility nevû alkalmazás a + daemon szolgáltatás után + induljon el. Emellett még felkínál egy + módszert a PID avagy futó + programok azonosítójának + beállítására és + nyomonkövetésére is. - This application could then have the following line placed - in /etc/rc.conf: + Ezt követõen az /etc/rc.conf + állományból az alkalmazás + elindítható az alábbi sor + hozzáadásával: utility_enable="YES" - This new method also allows for easier manipulation of the - command line arguments, inclusion of the default functions - provided in /etc/rc.subr, compatibility - with the &man.rcorder.8; utility and provides for easier - configuration via the rc.conf file. + Ez a módszer megkönnyíti a paranccsorban + átadott paraméterek + módosítását, az + /etc/rc.subr állományban + szereplõ alapértelmezett függvények + használatát, az &man.rcorder.8; + segédprogrammal szembeni kompatibilitást és + az rc.conf állomány + könnyebb beállítását. - Using Services to Start Services + Szolgáltatások indítása + szolgáltatásokkal - Other services, such as POP3 server - daemons, IMAP, etc. could be started using - the &man.inetd.8;. This involves installing the service - utility from the Ports Collection with a configuration line - appended to the /etc/inetd.conf file, - or uncommenting one of the current configuration lines. Working - with inetd and its configuration is - described in depth in the - inetd section. + Más szolgáltatások, mint mondjuk a + POP3 vagy IMAP szerverek + démonai stb. az &man.inetd.8; + segítségével indíthatóak el. + Ez a Portgyûjteménybõl telepített + szolgáltatások esetén magával vonja + az adott segédprogram felvételét vagy a + hozzátartozó sor + engedélyezését az + /etc/inetd.conf állományban. + Az inetd + mûködésével és annak + beállításával + mélyrehatóbban az inetd szakasza + foglalkozik. - In some cases, it may be more plausible to use the - &man.cron.8; daemon to start system services. This approach - has a number of advantages because cron runs - these processes as the crontab's file - owner. This allows regular users to start and maintain some - applications. + A legtöbb esetben a &man.cron.8; démon + használata kézenfekvõ a rendszerszintû + szolgáltatások elindításában. + Ez a megközelítés számos elõnyt + tartogat, mivel a cron ezeket a programokat a + felhasználó crontab + állománya alapján futtatja. Ezzel a mezei + felhasználók számára is + lehetõvé válik, hogy elindítsanak + és karbantsanak alkalmazásokat. - The cron utility provides a unique - feature, @reboot, which may be used in place - of the time specification. This will cause the job to be run - when &man.cron.8; is started, normally during system - initialization. + A cron segédprogramnak van egy + olyan speciális lehetõsége, hogy az idõ + helyett a @reboot értéket + adhatjuk meg. Ennek hatására a feladat a + &man.cron.8; indításával együtt fut + le, tehát megszokott esetben a rendszer + indítása során. @@ -507,51 +714,75 @@ Tom Rhodes - Contributed by - + Írta: - Configuring the <command>cron</command> Utility + A <command>cron</command> segédprogram + beállítása - cron - configuration + + cron + beállítása + - One of the most useful utilities in &os; is &man.cron.8;. The - cron utility runs in the background and constantly - checks the /etc/crontab file. The cron - utility also checks the /var/cron/tabs directory, in - search of new crontab files. These - crontab files store information about specific - functions which cron is supposed to perform at - certain times. + A &man.cron.8; a &os; egyik leghasznosabb + segédprogramja. A cron + segédprogram a háttérben fut és + folyamatosan figyeli az /etc/crontab + állományt. Emellett a cron + új crontab állományok + után kutatva folyamatosan ellenõrzi a + /var/cron/tabs könyvtárat. Ezek + a crontab állományok olyan + feladatokról tárolnak adatokat, amelyeket a + cron programnak egy adott pillanatban el kell + végeznie. - The cron utility uses two different - types of configuration files, the system crontab and user crontabs. The - only difference between these two formats is the sixth field. In the - system crontab, the sixth field is the name of a user for the command - to run as. This gives the system crontab the ability to run commands - as any user. In a user crontab, the sixth field is the command to run, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jan 20 18:04:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE4DD16A421; Sun, 20 Jan 2008 18:04:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6567416A419 for ; Sun, 20 Jan 2008 18:04:51 +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 60C4D13C45A for ; Sun, 20 Jan 2008 18:04:51 +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 m0KI4p88053878 for ; Sun, 20 Jan 2008 18:04:51 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KI4oR1053875 for perforce@freebsd.org; Sun, 20 Jan 2008 18:04:50 GMT (envelope-from sam@freebsd.org) Date: Sun, 20 Jan 2008 18:04:50 GMT Message-Id: <200801201804.m0KI4oR1053875@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 133737 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 18:04:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=133737 Change 133737 by sam@sam_ebb on 2008/01/20 18:03:54 Correct ieee80211_node_table_reset logic to not reclaim nodes from the table when matched for the wds reference. This corrects handling of a multi-vap config (ap+dwds) where manually changing the channel caused the bss node to be removed from the table before a disassoc event could be dispatched. Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_node.c#19 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_node.c#19 (text+ko) ==== @@ -1524,8 +1524,7 @@ IEEE80211_NODE_LOCK(nt); TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next) { - if (match != NULL && - !(ni->ni_vap == match || ni->ni_wdsvap == match)) + if (match != NULL && ni->ni_vap != match) continue; /* XXX can this happen? if so need's work */ if (ni->ni_associd != 0) { @@ -1536,10 +1535,21 @@ if (vap->iv_aid_bitmap != NULL) IEEE80211_AID_CLR(vap, ni->ni_associd); } - if (match != NULL && match->iv_opmode == IEEE80211_M_WDS) - ni->ni_wdsvap = NULL; /* clear reference */ + ni->ni_wdsvap = NULL; /* clear reference */ node_reclaim(nt, ni); } + if (match != NULL && match->iv_opmode == IEEE80211_M_WDS) { + /* + * Make a separate pass to clear references to this vap + * held by DWDS entries. They will not be matched above + * because ni_vap will point to the ap vap but we still + * need to clear ni_wdsvap when the WDS vap is destroyed + * and/or reset. + */ + TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next) + if (ni->ni_wdsvap == match) + ni->ni_wdsvap = NULL; + } IEEE80211_NODE_UNLOCK(nt); } From owner-p4-projects@FreeBSD.ORG Sun Jan 20 18:09:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D054516A41B; Sun, 20 Jan 2008 18:09: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 5B01C16A417 for ; Sun, 20 Jan 2008 18:09:16 +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 52CD013C457 for ; Sun, 20 Jan 2008 18:09:16 +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 m0KI9GAM054069 for ; Sun, 20 Jan 2008 18:09:16 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 m0KI9Ga4054066 for perforce@freebsd.org; Sun, 20 Jan 2008 18:09:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 18:09:16 GMT Message-Id: <200801201809.m0KI9Ga4054066@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 133738 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 18:09:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=133738 Change 133738 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 18:09:12 Integrate TrustedBSD capabilities development branch (not to be confused with TrustedBSD privileges). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/stack_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/support.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/.cvsignore#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/DEFAULTS#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/MAC#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/NOTES#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/_bus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/_limits.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/_types.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/asm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/atomic.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/bus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/clock.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/cpu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/elf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/endian.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/exec.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/float.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/fpu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/frame.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/iodev.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/kdb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/limits.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/md_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/memdev.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/metadata.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/minidump.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/mptable.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/mutex.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/param.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pcb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pmap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/ppireg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/proc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/profile.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/psl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/reloc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/resource.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/runq.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/segments.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/signal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/smp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/stack.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/timerreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/trap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/tss.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/varargs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/clock.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/icu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/isa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/isa.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/syscalls.master#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/blockio.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/copystr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_arm11.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_armv5.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_armv5_ec.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/disassem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/exception.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/fiq.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/fusu.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/genassym.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/inckern.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/intr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/locore.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/mem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/nexus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/pmap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/setstack.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/stack_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/support.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/swtch.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/trap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/undefined.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/vectors.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_piovar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_spi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_spireg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_st.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_streg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_twi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_twiio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_twireg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/at91var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/files.at91#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/files.kb920x#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/if_ate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/if_atereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/kb920x_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/ohci_atmelarm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/std.at91#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/std.kb920x#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/.cvsignore#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/AVILA#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/AVILA.hints#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/BWCT#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/CRB#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/EP80219#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/HL200#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/IQ31244#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/KB920X#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/KB920X.hints#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/SIMICS#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/conf/SKYEYE#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_bus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_limits.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_stdint.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/_types.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/armreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/asm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/asmacros.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/atomic.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/blockio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/bus.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/clock.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/cpu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/disassem.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/elf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/endian.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/exec.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/fiq.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/float.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/fp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/frame.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/gdb_machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/ieee.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/intr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/katelib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/kdb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/limits.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/machdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/md_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/memdev.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/metadata.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/mutex.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/param.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pcb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pcpu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pmap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pmc_mdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/proc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/profile.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/psl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/pte.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/ptrace.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/reloc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/resource.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/runq.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/setjmp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/sigframe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/signal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/smp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/stack.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/stdarg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/swi.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/sysarch.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/trap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/ucontext.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/undefined.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/utrap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/include/vmparam.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/board.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/bcache.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/boot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/commands.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/console.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/dev_net.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/dev_net.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/devopen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/help.common#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/interp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/isapnp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/isapnp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/load_elf_obj.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/loader.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/ls.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/module.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/newvers.sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/panic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/pnp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/reloc_elf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/reloc_elf32.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/reloc_elf64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/common/ufsread.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/errno.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/handles.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/dict.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/float.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/loader.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/math64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/math64.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/search.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/stack.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/tools.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/unix.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/vm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ficl/words.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/frames.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/loader.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/loader.conf#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/loader.rc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/screen.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/forth/support.4th#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/gptboot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/gptboot/gptboot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/gptboot/gptldr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/loader/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/pmbr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/pmbr/pmbr.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/autoload.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/bootinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/copy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/devicename.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/exec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/common/libia64.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/efi/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/skimd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ia64/ski/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/biossmap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/help.ofw#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/ldscript.powerpc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/metadata.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/start.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/powerpc/ofw/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/bsm/audit.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/bsm/audit_internal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/bsm/audit_record.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/README.quirks#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_ccb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_debug.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_periph.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_periph.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_queue.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_queue.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_sim.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_sim.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_xpt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_xpt.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_ipc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_signal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ia32/ia32_reg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ia32/ia32_util.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linprocfs/linprocfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linsysfs/linsysfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_file.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ipc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ipc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_mib.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_mib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_signal.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_signal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_socket.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_socket.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_stats.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_uid16.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_util.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/kern_windrv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/usbd_var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/bitmap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/cpupart.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/cpuvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/cyclic.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/elf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/mman.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/sys/compat/opensolaris/sys/mntent.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jan 20 21:31:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8252A16A421; Sun, 20 Jan 2008 21:31: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 1125E16A41B for ; Sun, 20 Jan 2008 21:31:47 +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 0CEDE13C465 for ; Sun, 20 Jan 2008 21:31:47 +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 m0KLVkgm012615 for ; Sun, 20 Jan 2008 21:31:46 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 m0KLVkEY012612 for perforce@freebsd.org; Sun, 20 Jan 2008 21:31:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 21:31:46 GMT Message-Id: <200801202131.m0KLVkEY012612@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 133742 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 21:31:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=133742 Change 133742 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 21:31:33 Add definitions for TrustedBSD capability interface: - A mask of capability rights reflecting various sorts of fd-based operations, undoubtably to get bigger. - New system call cap_new(), which returns a capability with the specified rights derived from an existing file descriptor. If the existing descriptor is a capability, the new rights must be a subset of the existing rights. - New system call cap_getrights(), which queries the rights associated with a capability. - Implement capability wrappers for the basic fo_*_t methods, passing operations through to the underlying file descriptor. - Lots of XXX's. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/conf/NOTES#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/conf/options#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_capability.c#1 add .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#1 add .. //depot/projects/trustedbsd/capabilities/src/sys/sys/file.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/user.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/NOTES#2 (text+ko) ==== @@ -1090,6 +1090,9 @@ # Support for BSM audit options AUDIT +# Support for kernel capabilities +options CAPABILITIES + # Support for Mandatory Access Control (MAC): options MAC options MAC_BIBA ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files#2 (text+ko) ==== @@ -1420,6 +1420,7 @@ kern/ksched.c optional _kposix_priority_scheduling kern/kern_acct.c standard kern/kern_alq.c optional alq +kern/kern_capability.c optional capabilities kern/kern_clock.c standard kern/kern_condvar.c standard kern/kern_conf.c standard ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/options#2 (text+ko) ==== @@ -61,6 +61,7 @@ ADAPTIVE_SX ALQ AUDIT opt_global.h +CAPABILITIES opt_capabilities.h CODA_COMPAT_5 opt_coda.h COMPAT_43 opt_compat.h COMPAT_43TTY opt_compat.h ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#2 (text+ko) ==== @@ -2514,6 +2514,14 @@ kif->kf_type = KF_TYPE_MQUEUE; break; + case DTYPE_SHM: + kif->kf_type = KF_TYPE_SHM; + break; + + case DTYPE_CAPABILITY: + kif->kf_type = KF_TYPE_CAPABILITY; + break; + default: kif->kf_type = KF_TYPE_UNKNOWN; break; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#2 (text+ko) ==== @@ -850,5 +850,8 @@ 482 AUE_NULL STD { int shm_open(const char *path, int flags, \ mode_t mode); } 483 AUE_NULL STD { int shm_unlink(const char *path); } +484 AUE_NULL STD { int cap_new(int fd, u_int64_t rights); } +485 AUE_NULL STD { int cap_getrights(int fd, \ + u_int64_t *rightsp); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/file.h#2 (text+ko) ==== @@ -60,6 +60,7 @@ #define DTYPE_CRYPTO 6 /* crypto */ #define DTYPE_MQUEUE 7 /* posix message queue */ #define DTYPE_SHM 8 /* swap-backed shared memory */ +#define DTYPE_CAPABILITY 9 /* capability */ #ifdef _KERNEL ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/user.h#2 (text+ko) ==== @@ -245,6 +245,8 @@ #define KF_TYPE_KQUEUE 5 #define KF_TYPE_CRYPTO 6 #define KF_TYPE_MQUEUE 7 +#define KF_TYPE_SHM 8 +#define KF_TYPE_CAPABILITY 9 #define KF_TYPE_UNKNOWN 255 #define KF_VTYPE_VNON 0 From owner-p4-projects@FreeBSD.ORG Sun Jan 20 21:32:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEB9516A480; Sun, 20 Jan 2008 21:32: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 6B27F16A468 for ; Sun, 20 Jan 2008 21:32:48 +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 612BD13C468 for ; Sun, 20 Jan 2008 21:32:48 +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 m0KLWmjA012647 for ; Sun, 20 Jan 2008 21:32:48 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 m0KLWmb1012644 for perforce@freebsd.org; Sun, 20 Jan 2008 21:32:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 21:32:48 GMT Message-Id: <200801202132.m0KLWmb1012644@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 133743 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 21:32:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=133743 Change 133743 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 21:32:02 Regenerate. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#2 (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.231 2008/01/08 22:01:25 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ @@ -513,4 +513,6 @@ { 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_NULL, NULL, 0, 0 }, /* 482 = shm_open */ { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ + { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0 }, /* 484 = cap_new */ + { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0 }, /* 485 = cap_getrights */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.215 2008/01/08 22:01:26 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ @@ -491,4 +491,6 @@ "thr_kill2", /* 481 = thr_kill2 */ "shm_open", /* 482 = shm_open */ "shm_unlink", /* 483 = shm_unlink */ + "cap_new", /* 484 = cap_new */ + "cap_getrights", /* 485 = cap_getrights */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.15 2008/01/08 22:01:26 jhb Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -2887,6 +2887,22 @@ *n_args = 1; break; } + /* cap_new */ + case 484: { + struct cap_new_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = p->rights; /* u_int64_t */ + *n_args = 2; + break; + } + /* cap_getrights */ + case 485: { + struct cap_getrights_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */ + *n_args = 2; + break; + } default: *n_args = 0; break; ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.212 2008/01/08 22:01:26 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ @@ -403,4 +403,6 @@ #define SYS_thr_kill2 481 #define SYS_shm_open 482 #define SYS_shm_unlink 483 -#define SYS_MAXSYSCALL 484 +#define SYS_cap_new 484 +#define SYS_cap_getrights 485 +#define SYS_MAXSYSCALL 486 ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#2 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.167 2008/01/08 22:01:26 jhb Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp MIASM = \ syscall.o \ @@ -351,4 +351,6 @@ ftruncate.o \ thr_kill2.o \ shm_open.o \ - shm_unlink.o + shm_unlink.o \ + cap_new.o \ + cap_getrights.o ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.216 2008/01/08 22:01:26 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ @@ -1528,6 +1528,14 @@ struct shm_unlink_args { char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; }; +struct cap_new_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char rights_l_[PADL_(u_int64_t)]; u_int64_t rights; char rights_r_[PADR_(u_int64_t)]; +}; +struct cap_getrights_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char rightsp_l_[PADL_(u_int64_t *)]; u_int64_t * rightsp; char rightsp_r_[PADR_(u_int64_t *)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1869,6 +1877,8 @@ int thr_kill2(struct thread *, struct thr_kill2_args *); int shm_open(struct thread *, struct shm_open_args *); int shm_unlink(struct thread *, struct shm_unlink_args *); +int cap_new(struct thread *, struct cap_new_args *); +int cap_getrights(struct thread *, struct cap_getrights_args *); #ifdef COMPAT_43 @@ -2435,6 +2445,8 @@ #define SYS_AUE_thr_kill2 AUE_KILL #define SYS_AUE_shm_open AUE_NULL #define SYS_AUE_shm_unlink AUE_NULL +#define SYS_AUE_cap_new AUE_NULL +#define SYS_AUE_cap_getrights AUE_NULL #undef PAD_ #undef PADL_ From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:00:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F92716A47F; Sun, 20 Jan 2008 22:00: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 C83E816A46D for ; Sun, 20 Jan 2008 22:00:16 +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 C5E0113C4E8 for ; Sun, 20 Jan 2008 22:00:16 +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 m0KM0GT7015220 for ; Sun, 20 Jan 2008 22:00:16 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KM0Guv015217 for perforce@freebsd.org; Sun, 20 Jan 2008 22:00:16 GMT (envelope-from imp@freebsd.org) Date: Sun, 20 Jan 2008 22:00:16 GMT Message-Id: <200801202200.m0KM0Guv015217@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 133744 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:00:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=133744 Change 133744 by imp@imp_paco-paco on 2008/01/20 21:59:51 Select 7 of COP_0's 16th register is not defined by the mips architecture, but reserved for the implementation. In this case, I believe that's because the XLR processor stores its core number in that. For now, comment it all out. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#11 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#11 (text+ko) ==== @@ -163,6 +163,7 @@ no_cfe: #endif +#if 0 /* XXX: this is for the xlr mips CPU */ /* * Block all the slave CPUs */ @@ -178,7 +179,6 @@ /* calculate linear cpuid */ sll t0, a1, 2 addu a2, t0, a0 -#if 0 /* XXX: this is for the xlr mips CPU */ /* Initially, disable all hardware threads on each core except thread0 */ li t1, VCPU_ID_0 li t2, XLR_THREAD_ENABLE_IND @@ -188,10 +188,11 @@ #ifdef SMP la t0, _C_LABEL(__pcpu) SET_CPU_PCPU(t0) -#endif /* If not master cpu, jump... */ +/*XXX this assumes the above #if 0'd code runs */ bne a2, zero, start_secondary nop +#endif /* Call the platform-specific startup code. */ jal platform_start From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:06:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF69316A468; Sun, 20 Jan 2008 22:06: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 7BF9016A417 for ; Sun, 20 Jan 2008 22:06:24 +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 606D113C458 for ; Sun, 20 Jan 2008 22:06:24 +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 m0KM6OHV016631 for ; Sun, 20 Jan 2008 22:06:24 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KM6OnY016628 for perforce@freebsd.org; Sun, 20 Jan 2008 22:06:24 GMT (envelope-from imp@freebsd.org) Date: Sun, 20 Jan 2008 22:06:24 GMT Message-Id: <200801202206.m0KM6OnY016628@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 133745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:06:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133745 Change 133745 by imp@imp_paco-paco on 2008/01/20 22:05:48 More Affected files ... .. //depot/projects/mips2-jnpr/src/sys/TODO#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/TODO#8 (text+ko) ==== @@ -33,3 +33,5 @@ in one of the edits. o In the juniper vendor tree, gdb support just showed up. Merge it into mips2-jnpr. +o memory isn't setup for yamon boot yet. why? +o splhigh still around, is it needed? From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:30:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D1C216A41A; Sun, 20 Jan 2008 22:30: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 5EEBC16A418 for ; Sun, 20 Jan 2008 22:30:50 +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 58BDD13C465 for ; Sun, 20 Jan 2008 22:30:50 +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 m0KMUoo0019278 for ; Sun, 20 Jan 2008 22:30:50 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 m0KMUo9i019275 for perforce@freebsd.org; Sun, 20 Jan 2008 22:30:50 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 22:30:50 GMT Message-Id: <200801202230.m0KMUo9i019275@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 133746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:30:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133746 Change 133746 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 22:30:11 Integrate libc and procstat into TrustedBSD capabilities branch, since they will need modification for capabilities. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/Versions.def#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/SYS.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/_fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gd_qnan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/_set_tp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/_setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fabs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/flt_rounds.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpgetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpgetprec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpgetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpgetsticky.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpsetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpsetprec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/fpsetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/infinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/ldexp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/makecontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/modf.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/rfork_thread.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/signalcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/gen/sigsetjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/stdlib/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/stdlib/div.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/stdlib/ldiv.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/stdlib/lldiv.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/bcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/bcopy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/bzero.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/memcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/memcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/memmove.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/memset.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/strcat.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/strcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/string/strcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/amd64_get_fsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/amd64_get_gsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/amd64_set_fsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/amd64_set_gsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/brk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/cerror.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/exect.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/getcontext.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/pipe.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/ptrace.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/reboot.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/sbrk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/setlogin.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/sigreturn.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/amd64/sys/vfork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/SYS.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/_fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gd_qnan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/_ctx_start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/_set_tp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/_setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/alloca.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/divsi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/fabs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/infinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/makecontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/modf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/signalcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/gen/sigsetjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/softfloat/arm-gcc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/softfloat/milieu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/softfloat/softfloat.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/stdlib/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/bcopy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/bzero.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/ffs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memcpy_arm.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memcpy_xscale.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memmove.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/memset.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/strcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/strlen.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/string/strncmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/Ovfork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/brk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/cerror.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/fork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/pipe.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/ptrace.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/sbrk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/shmat.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/sigreturn.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/arm/sys/syscall.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/creat.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/creat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/gethostid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/gethostid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/getwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/killpg.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/killpg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/sethostid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/setpgrp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/setrgid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/setruid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/setruid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/sigcompat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/sigpause.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/sigsetmask.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/compat-43/sigvec.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_close.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_conv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_debug.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_delete.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_get.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_open.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_overflow.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_page.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_put.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_search.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_seq.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_split.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/bt_utils.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/btree.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/btree/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/changelog#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/db/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/db/db.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/docs/hash.usenix.ps#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/docs/libtp.usenix.ps#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash_bigkey.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash_buf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash_func.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash_log2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/hash_page.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/ndbm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/hash/page.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/btree.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/dbm.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/dbopen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/hash.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/mpool.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/man/recno.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/mpool/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/mpool/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/mpool/mpool.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/mpool/mpool.libtp#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_close.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_delete.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_get.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_open.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_put.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_search.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_seq.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/rec_utils.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/recno/recno.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/btree.tests/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/dbtest.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/driver2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/makedb.sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/tcreat3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/tdel.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/testit#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/thash4.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/tread2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/tseq.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/hash.tests/tverify.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/db/test/run.test#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/_hdtoa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/_ldtoa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/glue.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/machdep_ldisQ.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/machdep_ldisd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gdtoa/machdep_ldisx.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/__getosreldate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/__xuname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/_pthread_stubs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/_rand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/_spinlock_stub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/_thread_init.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/alarm.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/alarm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/arc4random.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/arc4random.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/assert.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/basename.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/basename.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/check_utility_compat.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/check_utility_compat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/clock.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/clock.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/closedir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/confstr.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/confstr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/crypt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ctermid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ctermid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/daemon.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/daemon.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/devname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/devname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/directory.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dirname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dirname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/disklabel.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dladdr.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dlfcn.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dlfunc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dlinfo.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dllockinit.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/dlopen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/drand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/erand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/err.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/err.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/errlst.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/errno.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/exec.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/exec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/feature_present.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/feature_present.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fmtcheck.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fmtcheck.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fmtmsg.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fmtmsg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fnmatch.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fnmatch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fpclassify.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fpclassify.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/frexp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/frexp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fstab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ftok.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ftok.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts-compat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts-compat.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/fts.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ftw.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ftw.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getbootfile.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getbootfile.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getbsize.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getbsize.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getcap.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getcap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getcontext.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getcwd.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getcwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getdiskbyname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getdomainname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getdomainname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getfsent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getgrent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getgrent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getgrouplist.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getgrouplist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/gethostname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/gethostname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getloadavg.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getloadavg.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getlogin.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getmntinfo.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getmntinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getnetgrent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getnetgrent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getosreldate.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getosreldate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpagesize.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpagesize.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpass.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpeereid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpeereid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getprogname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getprogname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpwent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getpwent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getttyent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getttyent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getusershell.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getusershell.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getvfsbyname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/getvfsbyname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/glob.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/glob.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/initgroups.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/initgroups.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/isatty.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/isgreater.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/isinf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/isnan.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/jrand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/lcong48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ldexp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ldexp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/lockf.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/lockf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/lrand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/makecontext.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/modf.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/mrand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/msgctl.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/msgget.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/msgrcv.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/msgsnd.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nftw.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nice.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nice.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nlist.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nlist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/nrand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/opendir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pause.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pause.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pmadvise.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/popen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/popen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pselect.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pselect.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/psignal.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/psignal.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pw_scan.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pw_scan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pwcache.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/pwcache.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/raise.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/raise.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/rand48.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/rand48.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/readdir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/readpassphrase.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/readpassphrase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/rewinddir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/rfork_thread.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/scandir.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/scandir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/seed48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/seekdir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_destroy.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_getvalue.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_init.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_open.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_post.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sem_wait.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/semctl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setdomainname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sethostname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setjmp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setjmperr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setmode.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setmode.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setproctitle.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setproctitle.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/setprogname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/siginterrupt.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/siginterrupt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/siglist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/signal.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/signal.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sigsetops.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sigsetops.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sleep.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sleep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/srand48.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/statvfs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/statvfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/stringlist.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/stringlist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/strtofflags.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/strtofflags.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/swapcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysconf.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysctl.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysctl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysctlbyname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/sysctlnametomib.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/syslog.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/syslog.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tcgetpgrp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tcsendbreak.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tcsetattr.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tcsetpgrp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/telldir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/telldir.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/termios.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/time.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/time.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/times.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/times.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/timezone.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/timezone.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tls.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ttyname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ttyname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ttyslot.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/tzset.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ualarm.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ualarm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ucontext.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ulimit.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ulimit.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/uname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/uname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/unvis.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/unvis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/usleep.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/usleep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/utime.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/utime.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/valloc.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/valloc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/vis.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/vis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/wait.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/wait3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/waitpid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/wordexp.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/wordexp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gmon/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gmon/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gmon/gmon.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gmon/mcount.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gmon/moncontrol.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/SYS.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/_fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gd_qnan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/_ctx_start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/_set_tp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/_setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/fabs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/flt_rounds.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/infinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/ldexp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/makecontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/modf.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/rfork_thread.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/signalcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/gen/sigsetjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/stdlib/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/stdlib/abs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/stdlib/div.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/stdlib/labs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/stdlib/ldiv.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/bcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/bcopy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/bzero.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/ffs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/index.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/memchr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/memcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/memcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/memmove.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/memset.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/rindex.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strcat.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strchr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strcmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strlen.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strncmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/strrchr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/swab.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/wcschr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/wcscmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/wcslen.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/string/wmemchr.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/Ovfork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/brk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/cerror.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/exect.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/getcontext.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_clr_watch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_fsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_gsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_ioperm.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_ioperm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_ldt.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_get_ldt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_fsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_gsbase.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_ioperm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_ldt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_watch.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_set_watch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_vm86.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/i386_vm86.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/pipe.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/ptrace.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/reboot.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/sbrk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/setlogin.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/sigreturn.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/i386/sys/syscall.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/SYS.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/_fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gd_qnan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__divdf3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__divdi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__divsf3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__divsi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__moddi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__modsi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__udivdi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__udivsi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__umoddi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/__umodsi3.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/_mcount.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/_set_tp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/_setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/fabs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/flt_rounds.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/fpgetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/fpgetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/fpsetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/fpsetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/infinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/makecontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/modf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/signalcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/sigsetjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/gen/unwind.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/stdlib/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/bcopy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/bzero.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/ffs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/memcpy.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/string/memmove.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/Ovfork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/brk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/cerror.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/exect.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/fork.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/getcontext.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/pipe.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/ptrace.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/sbrk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/setlogin.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/sigreturn.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/ia64/sys/swapcontext.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/isc/eventlib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/isc/list.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/libc_private.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/namespace.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/nscache.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/nscachedcli.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/nss_tls.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/port_after.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/port_before.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/reentrant.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/resolv_mt.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/spinlock.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/include/un-namespace.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_addr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_cidr_ntop.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_cidr_pton.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_lnaof.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_makeaddr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_net_ntop.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_net_pton.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_neta.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_netof.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_network.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_ntoa.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_ntop.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/inet_pton.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/inet/nsap_addr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/isc/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/isc/ev_streams.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/isc/ev_timers.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/isc/eventlib_p.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/big5.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/big5.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/btowc.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/btowc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/collate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/collate.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/collcmp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/ctype.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/digittoint.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/euc.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/euc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/fix_grouping.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gb18030.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gb18030.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gbk.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/gbk.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isalnum.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isalpha.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isascii.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isblank.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/iscntrl.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isctype.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isdigit.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isgraph.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isideogram.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/islower.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isphonogram.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isprint.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/ispunct.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isrune.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isspace.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isspecial.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isupper.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/iswalnum.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/iswctype.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/isxdigit.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/ldpart.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/ldpart.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lmessages.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lmessages.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lmonetary.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lmonetary.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lnumeric.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/lnumeric.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/localeconv.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/localeconv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mblen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mblen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mblocal.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbrlen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbrlen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbrtowc.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbrtowc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbsinit.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbsinit.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbsnrtowcs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbsrtowcs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbsrtowcs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbstowcs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbstowcs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbtowc.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mbtowc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mskanji.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/mskanji.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/multibyte.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/nextwctype.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/nextwctype.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/nl_langinfo.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/nl_langinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/nomacros.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/none.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/rpmatch.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/rpmatch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/rune.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/runefile.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/runetype.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/setlocale.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/setlocale.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/setlocale.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/setrunelocale.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/table.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/toascii.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/tolower.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/tolower.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/toupper.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/toupper.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/towlower.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/towupper.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/utf8.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/utf8.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcrtomb.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcrtomb.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcsftime.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcsftime.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcsnrtombs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcsrtombs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcsrtombs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstod.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstod.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstof.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstoimax.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstol.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstol.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstold.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstoll.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstombs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstombs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstoul.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstoull.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcstoumax.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctob.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctomb.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctomb.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctrans.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctrans.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctype.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wctype.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcwidth.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/locale/wcwidth.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_name.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_netint.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_parse.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_print.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_samedomain.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nameser/ns_ttl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/base64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/byteorder.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/ether_addr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/ethers.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/eui64.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/eui64.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gai_strerror.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gai_strerror.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getaddrinfo.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getaddrinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gethostbydns.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gethostbyht.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gethostbyname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gethostbynis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/gethostnamadr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getifaddrs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getifaddrs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getifmaddrs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getifmaddrs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getipnodebyname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnameinfo.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnameinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnetbydns.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnetbyht.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnetbynis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnetent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getnetnamadr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getproto.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getprotoent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getprotoent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getprotoname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getservent.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/getservent.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/hesiod.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/hesiod.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/if_indextoname.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/if_indextoname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/if_nameindex.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/if_nametoindex.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet6_opt_init.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet6_option_space.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet6_rth_space.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet6_rthdr_space.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/inet_net.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/ip6opt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/linkaddr.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/linkaddr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/map_v4v6.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/name6.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/netdb_private.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nscache.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nscachedcli.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nsdispatch.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nsdispatch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nslexer.l#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nsparser.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nss_backends.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/nss_compat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/ntoh.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/rcmd.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/rcmd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/rcmdsh.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/rcmdsh.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/recv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/res_config.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/resolver.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/rthdr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_bindx.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_connectx.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_freepaddrs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_getaddrlen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_getassocid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_getpaddrs.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_opt_info.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_recvmsg.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_send.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_sendmsg.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sctp_sys_calls.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/send.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sockatmark.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sockatmark.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sourcefilter.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/sourcefilter.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/net/vars.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/C.msg#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/catclose.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/catgets.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/catopen.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/ko_KR.UTF-8.msg#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/ko_KR.eucKR.msg#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/msgcat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/pl_PL.ISO8859-2.msg#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/nls/ru_RU.KOI8-R.msg#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_add_perm.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_calc_mask.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_calc_mask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_clear_perms.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_copy.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_copy_entry.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_create_entry.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_delete.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_delete.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_delete_entry.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_delete_entry.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_delete_perm.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_dup.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_entry.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_free.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_free.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_from_text.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_from_text.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get_entry.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get_perm_np.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get_permset.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get_qualifier.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_get_tag_type.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_init.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_init.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_perm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_set.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_set.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_set_permset.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_set_qualifier.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_set_tag_type.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_size.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_support.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_support.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_to_text.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_to_text.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_valid.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/acl_valid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/extattr.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/extattr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac.conf.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_exec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_free.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_get.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_get.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_is_present.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_prepare.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_set.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_set.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/mac_text.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/posix1e/posix1e.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/SYS.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/_fpmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gd_qnan.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/_ctx_start.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/_set_tp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/_setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fabs.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/flt_rounds.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpgetsticky.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpsetmask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/fpsetround.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/infinity.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/makecontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/modf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/setjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/signalcontext.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/sigsetjmp.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/gen/syncicache.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/brk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/cerror.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/exect.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/pipe.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/ptrace.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/sbrk.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/powerpc/sys/setlogin.S#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/TESTS/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/TESTS/divrem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/TESTS/mul.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/adddi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/anddi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/ashldi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/ashrdi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/cmpdi2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/divdi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/fixdfdi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/fixsfdi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/fixunsdfdi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/fixunssfdi.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/floatdidf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/floatdisf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/floatunsdidf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/iordi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/lshldi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/lshrdi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/moddi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/muldi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/negdi2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/notdi2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/qdivrem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/quad.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/subdi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/ucmpdi2.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/udivdi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/umoddi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/quad/xordi3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/COPYRIGHT#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/Symbol.map#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/WHATSNEW#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/cname.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/engine.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/debug.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/mkh#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/split.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/grot/tests#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/re_format.7#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regcomp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regerror.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regex.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regex2.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regexec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/regfree.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/regex/utils.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libc/resolv/Makefile.inc#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:33:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6973116A473; Sun, 20 Jan 2008 22:33: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 D629316A41A for ; Sun, 20 Jan 2008 22:33:53 +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 BA9B413C4F3 for ; Sun, 20 Jan 2008 22:33:53 +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 m0KMXr3R022692 for ; Sun, 20 Jan 2008 22:33:53 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 m0KMXrsk022689 for perforce@freebsd.org; Sun, 20 Jan 2008 22:33:53 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 22:33:53 GMT Message-Id: <200801202233.m0KMXrsk022689@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 133748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:33:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=133748 Change 133748 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 22:33:22 Add cap_new() and cap_getrights() to Symbol.map. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#2 (text) ==== @@ -55,6 +55,8 @@ auditctl; auditon; bind; + cap_new; + cap_getrights; chdir; chflags; __chk_fail; From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:46:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21CB416A41B; Sun, 20 Jan 2008 22:46: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 C271116A417 for ; Sun, 20 Jan 2008 22:46:06 +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 7883E13C447 for ; Sun, 20 Jan 2008 22:46:06 +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 m0KMk6TY023370 for ; Sun, 20 Jan 2008 22:46:06 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 m0KMk6el023367 for perforce@freebsd.org; Sun, 20 Jan 2008 22:46:06 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 20 Jan 2008 22:46:06 GMT Message-Id: <200801202246.m0KMk6el023367@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 133749 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:46:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=133749 Change 133749 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 22:45:20 Add rudimentary support for capability file types. There's more to it than this if done properly, but we'll need to export the indirected file descriptor type and properties, as well as the mask. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/procstat/procstat_files.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/procstat/procstat_files.c#2 (text+ko) ==== @@ -205,6 +205,15 @@ str = "h"; break; + case KF_TYPE_CAPABILITY: + /* + * XXXRW: Ideally, we'd display detailed information + * on the object behind the capability, and the + * rights on the capability. + */ + str = "a"; + break; + case KF_TYPE_NONE: case KF_TYPE_UNKNOWN: default: From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:49:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B26416A468; Sun, 20 Jan 2008 22: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 F2D9516A41A for ; Sun, 20 Jan 2008 22:49:09 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF97713C469 for ; Sun, 20 Jan 2008 22:49:09 +0000 (UTC) (envelope-from andre@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 m0KMn91N023625 for ; Sun, 20 Jan 2008 22:49:09 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KMn9xL023622 for perforce@freebsd.org; Sun, 20 Jan 2008 22:49:09 GMT (envelope-from andre@freebsd.org) Date: Sun, 20 Jan 2008 22:49:09 GMT Message-Id: <200801202249.m0KMn9xL023622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 133751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:49:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=133751 Change 133751 by andre@andre_flirtbox on 2008/01/20 22:48:27 Add more detailed statistics for reassembly queue behavior tracking. Add sysctl to optionally disable the reassembly queue for testing. Add sysctl tracking the global current amount of mbuf memory stored in all reassembly queues. Use struct trq on stack for the missing segment to prevent blocking of all reassembly queue due to zone exhaustion. Add tcp timer to flush the reassembly queue after inactivity of more than four times retransmit interval. This prevents the reassembly queues from tying up memory for a long time. Especially with large socket buffers. Remove separate tracking of out-of-order blocks in the SACK code. Use the block information of the reassembly queue instead. Track which block was updated last. It must be the first block to appear in the SACK list of an outgoing ACK segment. There is one subtle change here: The RFC says the other blocks in the SACK list SHOULD appear in order of their arrival. Instead the list ascends from the closest block to rcv_nxt now. This is how the reassembly queue tracks its blocks. It also makes sense as the information close to rcv_nxt is the most valueable to fill the holes. In practice the SACK list is ordered like this anyway. Except for heavy reordering. Will discuss the last two changes (flush timer and ordering of SACK list) on the tcpm mailing list. Checkpointing. Code compiles and theoretically complete but not yet tested. TODO: Testing of latest changes. TODO: KTR tracing of reassembly queue behavior. TODO: Discussion on tcpm. TODO: "ipfw tcptruncate" option to test reassembly code with wildly cut segments (think chainsaw massacre). TODO: Use m_collapse() to keep down mbuf usage of blocks. TODO: ddb function to examine reassembly queue. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_input.c#3 edit .. //depot/projects/tcp_reass/netinet/tcp_output.c#2 edit .. //depot/projects/tcp_reass/netinet/tcp_reass.c#11 edit .. //depot/projects/tcp_reass/netinet/tcp_sack.c#2 edit .. //depot/projects/tcp_reass/netinet/tcp_subr.c#3 edit .. //depot/projects/tcp_reass/netinet/tcp_timer.c#2 edit .. //depot/projects/tcp_reass/netinet/tcp_timer.h#2 edit .. //depot/projects/tcp_reass/netinet/tcp_usrreq.c#4 edit .. //depot/projects/tcp_reass/netinet/tcp_var.h#5 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_input.c#3 (text+ko) ==== @@ -1110,9 +1110,6 @@ * with nothing on the reassembly queue and * we have enough buffer space to take it. */ - /* Clean receiver SACK report if present */ - if ((tp->t_flags & TF_SACK_PERMIT) && tp->rcv_numsacks) - tcp_clean_sackreport(tp); ++tcpstat.tcps_preddat; tp->rcv_nxt += tlen; /* @@ -2218,7 +2215,6 @@ */ if ((tlen || (thflags & TH_FIN)) && TCPS_HAVERCVDFIN(tp->t_state) == 0) { - tcp_seq save_start = th->th_seq; m_adj(m, drop_hdrlen); /* delayed header drop */ /* * Insert segment which includes th into TCP reassembly queue @@ -2261,8 +2257,6 @@ thflags = tcp_reass(tp, th, &tlen, m); tp->t_flags |= TF_ACKNOW; } - if (tlen > 0 && (tp->t_flags & TF_SACK_PERMIT)) - tcp_update_sack_list(tp, save_start, save_start + tlen); #if 0 /* * Note the amount of data that peer has sent into ==== //depot/projects/tcp_reass/netinet/tcp_output.c#2 (text+ko) ==== @@ -466,7 +466,7 @@ if (len > tp->t_maxseg) { if ((tp->t_flags & TF_TSO) && tcp_do_tso && ((tp->t_flags & TF_SIGNATURE) == 0) && - tp->rcv_numsacks == 0 && sack_rxmit == 0 && + TAILQ_EMPTY(&tp->t_trq) && sack_rxmit == 0 && tp->t_inpcb->inp_options == NULL && tp->t_inpcb->in6p_options == NULL #ifdef IPSEC @@ -673,10 +673,9 @@ to.to_flags |= TOF_SACKPERM; else if (TCPS_HAVEESTABLISHED(tp->t_state) && (tp->t_flags & TF_SACK_PERMIT) && - tp->rcv_numsacks > 0) { + !TAILQ_EMPTY(&tp->t_trq)) { to.to_flags |= TOF_SACK; - to.to_nsacks = tp->rcv_numsacks; - to.to_sacks = (u_char *)tp->sackblks; + to.to_sacks = (u_char *)tp; } } #ifdef TCP_SIGNATURE @@ -1348,8 +1347,6 @@ case TOF_SACK: { int sackblks = 0; - struct sackblk *sack = (struct sackblk *)to->to_sacks; - tcp_seq sack_seq; while (!optlen || optlen % 4 != 2) { optlen += TCPOLEN_NOP; @@ -1359,19 +1356,11 @@ continue; optlen += TCPOLEN_SACKHDR; *optp++ = TCPOPT_SACK; - sackblks = min(to->to_nsacks, - (TCP_MAXOLEN - optlen) / TCPOLEN_SACK); - *optp++ = TCPOLEN_SACKHDR + sackblks * TCPOLEN_SACK; - while (sackblks--) { - sack_seq = htonl(sack->start); - bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); - optp += sizeof(sack_seq); - sack_seq = htonl(sack->end); - bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); - optp += sizeof(sack_seq); - optlen += TCPOLEN_SACK; - sack++; - } + sackblks = tcp_reass_sack((struct tcpcb *)to->to_sacks, + optp + 1, (TCP_MAXOLEN - optlen) / TCPOLEN_SACK); + *optp++ = TCPOLEN_SACKHDR + (sackblks * TCPOLEN_SACK); + optlen += TCPOLEN_SACK * sackblks; + optp += sizeof(tcp_seq) * 2 * sackblks; tcpstat.tcps_sack_send_blocks++; break; } ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#11 (text+ko) ==== @@ -96,22 +96,33 @@ #include #include #include +#include #include SYSCTL_NODE(_net_inet_tcp, OID_AUTO, reass, CTLFLAG_RW, 0, "TCP Segment Reassembly Queue"); +static int tcp_reass_enabled = 1; +SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, enable, CTLFLAG_WR, + &tcp_reass_enabled, 0, + "Use of TCP Reassembly Queue"); + static int tcp_reass_maxblocks = 0; SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, maxblocks, CTLFLAG_RDTUN, &tcp_reass_maxblocks, 0, "Global maximum number of TCP Segment Blocks in Reassembly Queue"); -int tcp_reass_qsize = 0; +static int tcp_reass_qsize = 0; SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, curblocks, CTLFLAG_RD, &tcp_reass_qsize, 0, "Global number of TCP Segment Blocks currently in Reassembly Queue"); -static void tcp_reass_merge(struct tcpcb *, int *, struct trq *, struct trq *); +static int tcp_reass_mcnt = 0; +SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, mbufbytes, CTLFLAG_RD, + &tcp_reass_mcnt, 0, + "Global gross memory size of all mbufs currently in Reassembly Queue"); + +static void tcp_reass_merge(struct tcpcb *, struct trq *, struct trq *); /* Initialize TCP reassembly queue */ static void @@ -163,9 +174,17 @@ goto present; } + /* Check if it is really neccessary to do all the work. */ + if (!tcp_reass_enabled) { + *tlenp = 0; + m_freem(m); + return (0); + } + /* XXX: should not happen, but does for some reason. */ if (*tlenp == 0) return (0); + KASSERT(*tlenp > 0, ("%s: segment doesn't contain any data", __func__)); KASSERT(SEQ_LEQ(tp->rcv_nxt, th->th_seq), @@ -203,7 +222,7 @@ */ if (th->th_seq != tp->rcv_nxt && tp->t_trqmcnt > sbspace(&so->so_rcv)) { - tcpstat.tcps_rcvreassoverflow++; + tcpstat.tcps_reass_overflow++; tcpstat.tcps_rcvmemdrop++; m_freem(m); *tlenp = 0; @@ -232,11 +251,14 @@ tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqe->trq_ml->m_next = m; tqe->trq_ml = m_last(m); + tp->t_trq_last = tqe; /* TCP statistics. */ tcpstat.tcps_rcvoopack++; tcpstat.tcps_rcvoobyte += *tlenp; + tcpstat.tcps_reass_tail++; return (0); } @@ -270,6 +292,7 @@ tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqe->trq_seq = th->th_seq; n = m_last(m); n->m_next = tqe->trq_m; @@ -297,6 +320,8 @@ SEQ_GEQ(tqe->trq_seq + tqe->trq_len, th->th_seq + *tlenp)) { tcpstat.tcps_rcvduppack++; tcpstat.tcps_rcvdupbyte += *tlenp; + tcpstat.tcps_reass_covered++; + tp->t_trq_last = tqe; m_freem(m); *tlenp = 0; return (0); @@ -311,13 +336,16 @@ tqe->trq_len = *tlenp; tqe->trq_mcnt = mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqe->trq_seq = th->th_seq; tqe->trq_m = m; tqe->trq_ml = m_last(m); /* Check if segment bridges next block to merge. */ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) - tcp_reass_merge(tp, tlenp, tqe, tqen); + tcp_reass_merge(tp, tqe, tqen); + tp->t_trq_last = tqe; + tcpstat.tcps_reass_replace++; return (0); } @@ -340,10 +368,13 @@ tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqe->trq_seq = th->th_seq; n = m_last(m); n->m_next = tqe->trq_m; tqe->trq_m = m; + tp->t_trq_last = tqe; + tcpstat.tcps_reass_prepend++; return (0); } @@ -362,12 +393,15 @@ tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqe->trq_ml->m_next = m; tqe->trq_ml = m_last(m); /* Check if segment bridges two blocks to merge. */ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) - tcp_reass_merge(tp, tlenp, tqe, tqen); + tcp_reass_merge(tp, tqe, tqen); + tp->t_trq_last = tqe; + tcpstat.tcps_reass_append++; return (0); } } @@ -376,19 +410,23 @@ /* Prepare to insert into block queue. */ if (tp->rcv_nxt == th->th_seq) tqen = &tqes; - else + else { tqen = uma_zalloc(tcp_reass_zone, (M_NOWAIT|M_ZERO)); - if (tqen == NULL) { - tcpstat.tcps_rcvmemdrop++; - m_freem(m); - *tlenp = 0; - return (0); + if (tqen == NULL) { + tcpstat.tcps_rcvmemdrop++; + m_freem(m); + *tlenp = 0; + return (0); + } + tp->t_trq_last = tqe; + tcpstat.tcps_reass_blocks++; } tcp_reass_qsize++; tqen->trq_seq = th->th_seq; tqen->trq_len = *tlenp; tqen->trq_mcnt = mcnt; tp->t_trqmcnt += mcnt; + tcp_reass_mcnt += mcnt; tqen->trq_m = m; tqen->trq_ml = m_last(m); @@ -401,6 +439,11 @@ KASSERT(TAILQ_EMPTY(&tp->t_trq), ("%s: queue not empty", __func__)); TAILQ_INSERT_HEAD(&tp->t_trq, tqen, trq_q); + /* + * Flush the reassembly queue after four times the + * current retransmit interval. + */ + tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); } /* Missing segment? */ @@ -413,6 +456,9 @@ */ KASSERT(!TAILQ_EMPTY(&tp->t_trq), ("%s: queue empty at present", __func__)); + KASSERT((TAILQ_FIRST(&tp->t_trq))->trq_seq == tp->rcv_nxt, + ("%s: first block does not match rcv_nxt", __func__)); + tcpstat.tcps_reass_missingseg++; SOCKBUF_LOCK(&so->so_rcv); TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { KASSERT(SEQ_GEQ(tqe->trq_seq, tp->rcv_nxt), @@ -432,13 +478,23 @@ sbappendstream_locked(&so->so_rcv, tqe->trq_m); tp->rcv_nxt += tqe->trq_len; tp->t_trqmcnt -= tqe->trq_mcnt; + tcp_reass_mcnt -= tqe->trq_mcnt; TAILQ_REMOVE(&tp->t_trq, tqe, trq_q); + if (tp->t_trq_last == tqe) + tp->t_trq_last = NULL; if (tqe != &tqes) uma_zfree(tcp_reass_zone, tqe); tcp_reass_qsize--; } /* NB: sorwakeup_locked() does an implicit socket buffer unlock. */ sorwakeup_locked(so); + + /* Reset the flush timer if queue is not empty. */ + if (!TAILQ_EMPTY(&tp->t_trq)) + tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); + else + tcp_timer_activate(tp, TT_REASS, 0); + ND6_HINT(tp); #if 1 return (flags); @@ -448,20 +504,25 @@ } static void -tcp_reass_merge(struct tcpcb *tp, int *tlenp, struct trq *tqe, struct trq *tqen) +tcp_reass_merge(struct tcpcb *tp, struct trq *tqe, struct trq *tqen) { #if 0 struct mbuf *m; #endif int i; + KASSERT(tqe != NULL && tqen != NULL, + ("%s: ", __func__)); KASSERT(SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq), ("%s: blocks do not overlap, nothing to merge", __func__)); /* Appended block may reach beyond next block. */ while (SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq + tqen->trq_len)) { - tcpstat.tcps_rcvpartdupbyte += tqen->trq_len; /* Statistics */ + /* TCP Statistics. */ + tcpstat.tcps_rcvpartdupbyte += tqen->trq_len; + tcpstat.tcps_reass_covered++; tp->t_trqmcnt -= tqe->trq_mcnt; + tcp_reass_mcnt -= tqe->trq_mcnt; m_freem(tqen->trq_m); TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); uma_zfree(tcp_reass_zone, tqen); @@ -497,6 +558,54 @@ TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); uma_zfree(tcp_reass_zone, tqen); tcp_reass_qsize--; + tcpstat.tcps_reass_merge++; +} + +/* + * Put the sequence number of the reassembly queue blocks into + * the SACK options of an outgoing segment. + */ +int +tcp_reass_sack(struct tcpcb *tp, u_char *optp, int numsacks) +{ + struct trq *tqe; + tcp_seq sack_seq; + int nsacks = 0; + + KASSERT(numsacks > 0, + ("%s: ", __func__)); + KASSERT(!TAILQ_EMPTY(&tp->t_trq), + ("%s: ", __func__)); + + /* The most recent block must appear first. */ + if (tp->t_trq_last != NULL) { + sack_seq = htonl(tp->t_trq_last->trq_seq); + bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); + optp += sizeof(sack_seq); + sack_seq = htonl(tp->t_trq_last->trq_seq + tp->t_trq_last->trq_len); + bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); + optp += sizeof(sack_seq); + numsacks--; + nsacks++; + } + + /* Add the other less recent blocks. */ + TAILQ_FOREACH(tqe, &tp->t_trq, trq_q) { + if (numsacks < 1) + break; + if (tp->t_trq_last == tqe) + continue; + sack_seq = htonl(tqe->trq_seq); + bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); + optp += sizeof(sack_seq); + sack_seq = htonl(tqe->trq_seq + tqe->trq_len); + bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); + optp += sizeof(sack_seq); + numsacks--; + nsacks++; + } + + return (nsacks); } /* @@ -518,4 +627,5 @@ uma_zfree(tcp_reass_zone, tqe); tcp_reass_qsize--; } + tcp_timer_activate(tp, TT_REASS, 0); } ==== //depot/projects/tcp_reass/netinet/tcp_sack.c#2 (text+ko) ==== @@ -145,108 +145,6 @@ "Global number of TCP SACK holes currently allocated"); /* - * This function is called upon receipt of new valid data (while not in - * header prediction mode), and it updates the ordered list of sacks. - */ -void -tcp_update_sack_list(struct tcpcb *tp, tcp_seq rcv_start, tcp_seq rcv_end) -{ - /* - * First reported block MUST be the most recent one. Subsequent - * blocks SHOULD be in the order in which they arrived at the - * receiver. These two conditions make the implementation fully - * compliant with RFC 2018. - */ - struct sackblk head_blk, saved_blks[MAX_SACK_BLKS]; - int num_head, num_saved, i; - - INP_LOCK_ASSERT(tp->t_inpcb); - - /* Check arguments. */ - KASSERT(SEQ_LT(rcv_start, rcv_end), ("rcv_start < rcv_end")); - - /* SACK block for the received segment. */ - head_blk.start = rcv_start; - head_blk.end = rcv_end; - - /* - * Merge updated SACK blocks into head_blk, and save unchanged SACK - * blocks into saved_blks[]. num_saved will have the number of the - * saved SACK blocks. - */ - num_saved = 0; - for (i = 0; i < tp->rcv_numsacks; i++) { - tcp_seq start = tp->sackblks[i].start; - tcp_seq end = tp->sackblks[i].end; - if (SEQ_GEQ(start, end) || SEQ_LEQ(start, tp->rcv_nxt)) { - /* - * Discard this SACK block. - */ - } else if (SEQ_LEQ(head_blk.start, end) && - SEQ_GEQ(head_blk.end, start)) { - /* - * Merge this SACK block into head_blk. This SACK - * block itself will be discarded. - */ - if (SEQ_GT(head_blk.start, start)) - head_blk.start = start; - if (SEQ_LT(head_blk.end, end)) - head_blk.end = end; - } else { - /* - * Save this SACK block. - */ - saved_blks[num_saved].start = start; - saved_blks[num_saved].end = end; - num_saved++; - } - } - - /* - * Update SACK list in tp->sackblks[]. - */ - num_head = 0; - if (SEQ_GT(head_blk.start, tp->rcv_nxt)) { - /* - * The received data segment is an out-of-order segment. Put - * head_blk at the top of SACK list. - */ - tp->sackblks[0] = head_blk; - num_head = 1; - /* - * If the number of saved SACK blocks exceeds its limit, - * discard the last SACK block. - */ - if (num_saved >= MAX_SACK_BLKS) - num_saved--; - } - if (num_saved > 0) { - /* - * Copy the saved SACK blocks back. - */ - bcopy(saved_blks, &tp->sackblks[num_head], - sizeof(struct sackblk) * num_saved); - } - - /* Save the number of SACK blocks. */ - tp->rcv_numsacks = num_head + num_saved; -} - -/* - * Delete all receiver-side SACK information. - */ -void -tcp_clean_sackreport(struct tcpcb *tp) -{ - int i; - - INP_LOCK_ASSERT(tp->t_inpcb); - tp->rcv_numsacks = 0; - for (i = 0; i < MAX_SACK_BLKS; i++) - tp->sackblks[i].start = tp->sackblks[i].end=0; -} - -/* * Allocate struct sackhole. */ static struct sackhole * ==== //depot/projects/tcp_reass/netinet/tcp_subr.c#3 (text+ko) ==== @@ -605,6 +605,7 @@ callout_init(&tp->t_timers->tt_keep, CALLOUT_MPSAFE); callout_init(&tp->t_timers->tt_2msl, CALLOUT_MPSAFE); callout_init(&tp->t_timers->tt_delack, CALLOUT_MPSAFE); + callout_init(&tp->t_timers->tt_reass, CALLOUT_MPSAFE); if (tcp_do_rfc1323) tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); @@ -682,6 +683,7 @@ callout_stop(&tp->t_timers->tt_keep); callout_stop(&tp->t_timers->tt_2msl); callout_stop(&tp->t_timers->tt_delack); + callout_stop(&tp->t_timers->tt_reass); /* * If we got enough samples through the srtt filter, @@ -807,10 +809,8 @@ if (inpb->inp_vflag & INP_TIMEWAIT) continue; INP_LOCK(inpb); - if ((tcpb = intotcpcb(inpb)) != NULL) { + if ((tcpb = intotcpcb(inpb)) != NULL) tcp_reass_qfree(tcpb); - tcp_clean_sackreport(tcpb); - } INP_UNLOCK(inpb); } INP_INFO_RUNLOCK(&tcbinfo); ==== //depot/projects/tcp_reass/netinet/tcp_timer.c#2 (text+ko) ==== @@ -566,6 +566,42 @@ } void +tcp_timer_reass(void *xtp) +{ + struct tcpcb *tp = xtp; + struct inpcb *inp; + + INP_INFO_RLOCK(&tcbinfo); + inp = tp->t_inpcb; + /* + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_delack: inp == NULL")); + */ + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_RUNLOCK(&tcbinfo); + return; + } + INP_LOCK(inp); + INP_INFO_RUNLOCK(&tcbinfo); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(&tp->t_timers->tt_reass) + || !callout_active(&tp->t_timers->tt_reass)) { + INP_UNLOCK(inp); + return; + } + callout_deactivate(&tp->t_timers->tt_reass); + + tcpstat.tcps_reass_flush++; + tcp_reass_qfree(tp); + tp->t_flags |= TF_ACKNOW; + (void) tcp_output(tp); + INP_UNLOCK(inp); +} + +void tcp_timer_activate(struct tcpcb *tp, int timer_type, u_int delta) { struct callout *t_callout; @@ -592,6 +628,10 @@ t_callout = &tp->t_timers->tt_2msl; f_callout = tcp_timer_2msl; break; + case TT_REASS: + t_callout = &tp->t_timers->tt_reass; + f_callout = tcp_timer_reass; + break; default: panic("bad timer_type"); } @@ -623,6 +663,8 @@ case TT_2MSL: t_callout = &tp->t_timers->tt_2msl; break; + case TT_REASS: + t_callout = &tp->t_timers->tt_reass; default: panic("bad timer_type"); } ==== //depot/projects/tcp_reass/netinet/tcp_timer.h#2 (text+ko) ==== @@ -125,7 +125,7 @@ #ifdef TCPTIMERS static const char *tcptimers[] = - { "REXMT", "PERSIST", "KEEP", "2MSL" }; + { "REXMT", "PERSIST", "KEEP", "2MSL", "REASS" }; #endif /* @@ -147,18 +147,21 @@ struct callout tt_keep; /* keepalive */ struct callout tt_2msl; /* 2*msl TIME_WAIT timer */ struct callout tt_delack; /* delayed ACK timer */ + struct callout tt_reass; /* flush reassembly queue */ }; #define TT_DELACK 0x01 #define TT_REXMT 0x02 #define TT_PERSIST 0x04 #define TT_KEEP 0x08 #define TT_2MSL 0x10 +#define TT_REASS 0x20 extern int tcp_keepinit; /* time to establish connection */ extern int tcp_keepidle; /* time before keepalive probes begin */ extern int tcp_keepintvl; /* time between keepalive probes */ extern int tcp_maxidle; /* time to drop after starting probes */ extern int tcp_delacktime; /* time before sending a delayed ACK */ +extern int tcp_reassflush; /* time before flushing the reassembly queue */ extern int tcp_maxpersistidle; extern int tcp_rexmit_min; extern int tcp_rexmit_slop; @@ -177,6 +180,7 @@ void tcp_timer_persist(void *xtp); void tcp_timer_rexmt(void *xtp); void tcp_timer_delack(void *xtp); +void tcp_timer_reass(void *xtp); #endif /* _KERNEL */ ==== //depot/projects/tcp_reass/netinet/tcp_usrreq.c#4 (text+ko) ==== @@ -1839,8 +1839,8 @@ tp->snd_numholes, TAILQ_FIRST(&tp->snd_holes)); db_print_indent(indent); - db_printf("snd_fack: 0x%08x rcv_numsacks: %d sack_newdata: " - "0x%08x\n", tp->snd_fack, tp->rcv_numsacks, tp->sack_newdata); + db_printf("snd_fack: 0x%08x sack_newdata: 0x%08x\n", + tp->snd_fack, tp->sack_newdata); /* Skip sackblks, sackhint. */ ==== //depot/projects/tcp_reass/netinet/tcp_var.h#5 (text+ko) ==== @@ -52,7 +52,6 @@ struct mbuf *trq_ml; /* last mbuf in chain of data */ }; TAILQ_HEAD(trq_head, trq); -extern int tcp_reass_qsize; extern struct uma_zone *tcp_reass_zone; struct sackblk { @@ -97,6 +96,7 @@ */ struct tcpcb { struct trq_head t_trq; /* segment reassembly queue */ + struct trq *t_trq_last; /* last addition to reassembly queue */ int t_trqmcnt; /* segment reassembly queue gross usage */ int t_dupacks; /* consecutive dup acks recd */ @@ -203,8 +203,6 @@ TAILQ_HEAD(sackhole_head, sackhole) snd_holes; /* SACK scoreboard (sorted) */ tcp_seq snd_fack; /* last seq number(+1) sack'd by rcv'r*/ - int rcv_numsacks; /* # distinct sack blks present */ - struct sackblk sackblks[MAX_SACK_BLKS]; /* seq nos. of sack blocks */ tcp_seq sack_newdata; /* New data xmitted in this recovery episode starts at this seq number */ struct sackhint sackhint; /* SACK scoreboard hint */ @@ -384,7 +382,6 @@ u_long tcps_rcvpartdupbyte; /* dup. bytes in part-dup. packets */ u_long tcps_rcvoopack; /* out-of-order packets received */ u_long tcps_rcvoobyte; /* out-of-order bytes received */ - u_long tcps_rcvreassoverflow; /* reassembly queue overflows */ u_long tcps_rcvpackafterwin; /* packets with data after window */ u_long tcps_rcvbyteafterwin; /* bytes rcvd after window */ u_long tcps_rcvafterclose; /* packets rcvd after "close" */ @@ -410,6 +407,17 @@ u_long tcps_listendrop; /* listen queue overflows */ u_long tcps_badrst; /* ignored RSTs in the window */ + u_long tcps_reass_blocks; /* reassembly blocks created */ + u_long tcps_reass_missingseg; /* missing segments received */ + u_long tcps_reass_overflow; /* reassembly queue overflows */ + u_long tcps_reass_tail; /* packet appends to tail block */ + u_long tcps_reass_merge; /* reassembly block merges */ + u_long tcps_reass_prepend; /* packet prepends block */ + u_long tcps_reass_append; /* packet appends block */ + u_long tcps_reass_covered; /* block covered and removed */ + u_long tcps_reass_replace; /* block replaced */ + u_long tcps_reass_flush; /* queue flushes due to timeout */ + u_long tcps_sc_added; /* entry added to syncache */ u_long tcps_sc_retransmitted; /* syncache entry was retransmitted */ u_long tcps_sc_dupsyn; /* duplicate SYN packet */ @@ -536,6 +544,7 @@ const void *); int tcp_reass(struct tcpcb *, struct tcphdr *, int *, struct mbuf *); void tcp_reass_init(void); +int tcp_reass_sack(struct tcpcb *, u_char *, int); void tcp_reass_qfree(struct tcpcb *); void tcp_input(struct mbuf *, int); u_long tcp_maxmtu(struct in_conninfo *, int *); From owner-p4-projects@FreeBSD.ORG Sun Jan 20 22:55:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1047D16A41B; Sun, 20 Jan 2008 22:55: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 B02CC16A418 for ; Sun, 20 Jan 2008 22:55:32 +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 AB9AF13C461 for ; Sun, 20 Jan 2008 22:55:32 +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 m0KMtRbU023969 for ; Sun, 20 Jan 2008 22:55:27 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0KMtGYJ023958 for perforce@freebsd.org; Sun, 20 Jan 2008 22:55:16 GMT (envelope-from csjp@freebsd.org) Date: Sun, 20 Jan 2008 22:55:16 GMT Message-Id: <200801202255.m0KMtGYJ023958@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 133752 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Jan 2008 22:55:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133752 Change 133752 by csjp@csjp_xor on 2008/01/20 22:54:22 IFC Affected files ... .. //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#13 integrate .. //depot/projects/zcopybpf/src/sys/amd64/include/_types.h#2 integrate .. //depot/projects/zcopybpf/src/sys/amd64/include/float.h#2 integrate .. //depot/projects/zcopybpf/src/sys/amd64/include/ieeefp.h#2 integrate .. //depot/projects/zcopybpf/src/sys/amd64/isa/clock.c#7 integrate .. //depot/projects/zcopybpf/src/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/zcopybpf/src/sys/arm/arm/support.S#4 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/zcopybpf/src/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/zcopybpf/src/sys/cam/scsi/scsi_da.c#8 integrate .. //depot/projects/zcopybpf/src/sys/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/linprocfs/linprocfs.c#10 integrate .. //depot/projects/zcopybpf/src/sys/compat/linux/linux_file.c#6 integrate .. //depot/projects/zcopybpf/src/sys/compat/linux/linux_getcwd.c#3 integrate .. //depot/projects/zcopybpf/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/zcopybpf/src/sys/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#6 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/pecoff/imgact_pecoff.c#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/svr4/imgact_svr4.c#3 integrate .. //depot/projects/zcopybpf/src/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/zcopybpf/src/sys/conf/files#17 integrate .. //depot/projects/zcopybpf/src/sys/contrib/dev/acpica/evgpe.c#3 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/gfs.c#4 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#7 integrate .. //depot/projects/zcopybpf/src/sys/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/zcopybpf/src/sys/crypto/rijndael/test00.c#2 integrate .. //depot/projects/zcopybpf/src/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/acpica/acpi_hpet.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/an/if_an.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/an/if_an_pci.c#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/an/if_anreg.h#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/bge/if_bge.c#9 integrate .. //depot/projects/zcopybpf/src/sys/dev/bge/if_bgereg.h#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/coretemp/coretemp.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_main.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_multiq.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_osdep.h#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/cxgb_sge.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/cxgb/sys/uipc_mvec.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/fdc/fdc.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/gem/if_gem.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/hwpmc/hwpmc_mod.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/iir/iir.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/md/md.c#5 integrate .. //depot/projects/zcopybpf/src/sys/dev/mii/brgphy.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/msk/if_msk.c#9 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/eth_z8e.h#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/ethp_z8e.h#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/if_mxge.c#9 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/mxge_mcp.h#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/nfe/if_nfe.c#9 integrate .. //depot/projects/zcopybpf/src/sys/dev/pci/pci_user.c#5 integrate .. //depot/projects/zcopybpf/src/sys/dev/ppbus/ppbconf.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/ppbus/ppbconf.h#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/re/if_re.c#10 integrate .. //depot/projects/zcopybpf/src/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/stge/if_stge.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/stge/if_stgereg.h#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_udav.c#5 integrate .. //depot/projects/zcopybpf/src/sys/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/coda/coda_namecache.h#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/coda/coda_vfsops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/devfs/devfs_vfsops.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/devfs/devfs_vnops.c#9 integrate .. //depot/projects/zcopybpf/src/sys/fs/fdescfs/fdesc_vfsops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/fifofs/fifo_vnops.c#8 integrate .. //depot/projects/zcopybpf/src/sys/fs/hpfs/hpfs_subr.h#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/hpfs/hpfs_vfsops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/fs/hpfs/hpfs_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/msdosfs/msdosfs_lookup.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/fs/msdosfs/msdosfs_vnops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/ntfs/ntfs_vfsops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/fs/ntfs/ntfs_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/nullfs/null_subr.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/nullfs/null_vfsops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/nullfs/null_vnops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/nwfs/nwfs_vfsops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/zcopybpf/src/sys/fs/portalfs/portal_vfsops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/procfs/procfs.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/procfs/procfs_map.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/pseudofs/pseudofs_vncache.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/smbfs/smbfs_node.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/smbfs/smbfs_vfsops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/smbfs/smbfs_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/fs/udf/udf_vnops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/fs/unionfs/union_subr.c#6 integrate .. //depot/projects/zcopybpf/src/sys/fs/unionfs/union_vfsops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/fs/unionfs/union_vnops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/ext2fs/ext2_lookup.c#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/ext2fs/ext2_vnops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/ext2fs/fs.h#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/reiserfs/reiserfs_namei.c#3 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#2 integrate .. //depot/projects/zcopybpf/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#3 integrate .. //depot/projects/zcopybpf/src/sys/i386/i386/pmap.c#13 integrate .. //depot/projects/zcopybpf/src/sys/i386/ibcs2/ibcs2_misc.c#4 integrate .. //depot/projects/zcopybpf/src/sys/i386/ibcs2/imgact_coff.c#4 integrate .. //depot/projects/zcopybpf/src/sys/i386/include/ieeefp.h#2 integrate .. //depot/projects/zcopybpf/src/sys/i386/include/pmap.h#6 integrate .. //depot/projects/zcopybpf/src/sys/i386/isa/clock.c#7 integrate .. //depot/projects/zcopybpf/src/sys/i386/linux/imgact_linux.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/genassym.sh#2 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_aout.c#3 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_elf.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_gzip.c#3 integrate .. //depot/projects/zcopybpf/src/sys/kern/init_main.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/init_sysent.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_acct.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_alq.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_cpu.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_descrip.c#11 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_exec.c#10 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_exit.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_jail.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_ktrace.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_linker.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_lock.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_mib.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_proc.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_resource.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_rwlock.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_shutdown.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_sig.c#9 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_synch.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_time.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/link_elf.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/sched_ule.c#13 integrate .. //depot/projects/zcopybpf/src/sys/kern/syscalls.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/syscalls.master#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/systrace_args.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/tty_cons.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/tty_pty.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/uipc_mbuf.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/uipc_mqueue.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/uipc_shm.c#1 branch .. //depot/projects/zcopybpf/src/sys/kern/uipc_syscalls.c#12 integrate .. //depot/projects/zcopybpf/src/sys/kern/uipc_usrreq.c#9 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_acl.c#3 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_cache.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_default.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_extattr.c#3 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_lookup.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_mount.c#12 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_syscalls.c#10 integrate .. //depot/projects/zcopybpf/src/sys/kern/vfs_vnops.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/vnode_if.src#4 integrate .. //depot/projects/zcopybpf/src/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/zcopybpf/src/sys/modules/mxge/Makefile#2 integrate .. //depot/projects/zcopybpf/src/sys/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/zcopybpf/src/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/zcopybpf/src/sys/net/if_bridge.c#10 integrate .. //depot/projects/zcopybpf/src/sys/netinet/tcp_usrreq.c#11 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/frag6.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/icmp6.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6_proto.c#6 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/in6_src.c#6 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/ip6_input.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/ip6_mroute.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/nd6.c#8 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/raw_ip6.c#6 integrate .. //depot/projects/zcopybpf/src/sys/netinet6/udp6_usrreq.c#8 integrate .. //depot/projects/zcopybpf/src/sys/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/nfs4client/nfs4_vnops.c#4 integrate .. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_socket.c#7 integrate .. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_subs.c#5 integrate .. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/nfsserver/nfs_serv.c#6 integrate .. //depot/projects/zcopybpf/src/sys/nfsserver/nfs_srvsubs.c#5 integrate .. //depot/projects/zcopybpf/src/sys/pci/if_rlreg.h#6 integrate .. //depot/projects/zcopybpf/src/sys/security/audit/audit_arg.c#5 integrate .. //depot/projects/zcopybpf/src/sys/security/audit/audit_bsm.c#5 integrate .. //depot/projects/zcopybpf/src/sys/security/audit/audit_bsm_klib.c#5 integrate .. //depot/projects/zcopybpf/src/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/zcopybpf/src/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/zcopybpf/src/sys/security/mac/mac_framework.h#7 integrate .. //depot/projects/zcopybpf/src/sys/security/mac/mac_policy.h#7 integrate .. //depot/projects/zcopybpf/src/sys/security/mac/mac_posix_shm.c#1 branch .. //depot/projects/zcopybpf/src/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/zcopybpf/src/sys/security/mac/mac_syscalls.c#5 integrate .. //depot/projects/zcopybpf/src/sys/security/mac_stub/mac_stub.c#7 integrate .. //depot/projects/zcopybpf/src/sys/security/mac_test/mac_test.c#8 integrate .. //depot/projects/zcopybpf/src/sys/sys/buf.h#3 integrate .. //depot/projects/zcopybpf/src/sys/sys/fcntl.h#2 integrate .. //depot/projects/zcopybpf/src/sys/sys/file.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/lockmgr.h#5 integrate .. //depot/projects/zcopybpf/src/sys/sys/mbuf.h#9 integrate .. //depot/projects/zcopybpf/src/sys/sys/mman.h#2 integrate .. //depot/projects/zcopybpf/src/sys/sys/param.h#12 integrate .. //depot/projects/zcopybpf/src/sys/sys/pmc.h#3 integrate .. //depot/projects/zcopybpf/src/sys/sys/proc.h#11 integrate .. //depot/projects/zcopybpf/src/sys/sys/signal.h#3 integrate .. //depot/projects/zcopybpf/src/sys/sys/syscall.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/syscall.mk#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/sysproto.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/time.h#3 integrate .. //depot/projects/zcopybpf/src/sys/sys/user.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/vnode.h#6 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_snapshot.c#6 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_vfsops.c#5 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_vnops.c#8 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_quota.c#5 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_vnops.c#7 integrate .. //depot/projects/zcopybpf/src/sys/vm/swap_pager.c#8 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_contig.c#7 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_kern.c#6 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_mmap.c#5 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_object.c#9 integrate .. //depot/projects/zcopybpf/src/sys/vm/vnode_pager.c#6 integrate .. //depot/projects/zcopybpf/src/usr.sbin/netstat/route.c#5 integrate Differences ... ==== //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#13 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.603 2008/01/08 08:30:30 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $"); /* * Manages physical address maps. @@ -149,11 +149,7 @@ #define PMAP_SHPGPERPROC 200 #endif -#if defined(DIAGNOSTIC) -#define PMAP_DIAGNOSTIC -#endif - -#if !defined(PMAP_DIAGNOSTIC) +#if !defined(DIAGNOSTIC) #define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE @@ -2249,12 +2245,9 @@ boolean_t invlva; va = trunc_page(va); -#ifdef PMAP_DIAGNOSTIC - if (va > VM_MAX_KERNEL_ADDRESS) - panic("pmap_enter: toobig"); - if ((va >= UPT_MIN_ADDRESS) && (va < UPT_MAX_ADDRESS)) - panic("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va); -#endif + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va)); mpte = NULL; @@ -2268,19 +2261,9 @@ if (va < VM_MAXUSER_ADDRESS) { mpte = pmap_allocpte(pmap, va, M_WAITOK); } -#if 0 && defined(PMAP_DIAGNOSTIC) - else { - pd_entry_t *pdeaddr = pmap_pde(pmap, va); - origpte = *pdeaddr; - if ((origpte & PG_V) == 0) { - panic("pmap_enter: invalid kernel page table page, pde=%p, va=%p\n", - origpte, va); - } - } -#endif pde = pmap_pde(pmap, va); - if (pde != NULL) { + if (pde != NULL && (*pde & PG_V) != 0) { if ((*pde & PG_PS) != 0) panic("pmap_enter: attempted pmap_enter on 2MB page"); pte = pmap_pde_to_pte(pde, va); @@ -2291,7 +2274,7 @@ * Page Directory table entry not valid, we need a new PT page */ if (pte == NULL) - panic("pmap_enter: invalid page directory va=%#lx\n", va); + panic("pmap_enter: invalid page directory va=%#lx", va); pa = VM_PAGE_TO_PHYS(m); om = NULL; @@ -2745,8 +2728,8 @@ pdp_entry_t *pdpe; pd_entry_t srcptepaddr, *pde; - if (addr >= UPT_MIN_ADDRESS) - panic("pmap_copy: invalid to pmap_copy page tables"); + KASSERT(addr < UPT_MIN_ADDRESS, + ("pmap_copy: invalid to pmap_copy page tables")); pml4e = pmap_pml4e(src_pmap, addr); if ((*pml4e & PG_V) == 0) { @@ -2784,8 +2767,8 @@ } srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME); - if (srcmpte->wire_count == 0) - panic("pmap_copy: source page table page is unused"); + KASSERT(srcmpte->wire_count > 0, + ("pmap_copy: source page table page is unused")); if (va_next > end_addr) va_next = end_addr; @@ -3104,7 +3087,7 @@ PMAP_LOCK(pmap); pde = pmap_pde(pmap, addr); if (pde != NULL && (*pde & PG_V)) { - pte = vtopte(addr); + pte = pmap_pde_to_pte(pde, addr); rv = (*pte & PG_V) == 0; } PMAP_UNLOCK(pmap); ==== //depot/projects/zcopybpf/src/sys/amd64/include/_types.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.12 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -64,7 +64,7 @@ typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; -typedef double __float_t; +typedef float __float_t; typedef __int64_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; ==== //depot/projects/zcopybpf/src/sys/amd64/include/float.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 - * $FreeBSD: src/sys/amd64/include/float.h,v 1.15 2005/01/05 20:17:20 imp Exp $ + * $FreeBSD: src/sys/amd64/include/float.h,v 1.16 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE_FLOAT_H_ @@ -42,7 +42,7 @@ #define FLT_RADIX 2 /* b */ #define FLT_ROUNDS __flt_rounds() #if __ISO_C_VISIBLE >= 1999 -#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ +#define FLT_EVAL_METHOD 0 /* no promotions */ #define DECIMAL_DIG 21 /* max precision in decimal digits */ #endif ==== //depot/projects/zcopybpf/src/sys/amd64/include/ieeefp.h#2 (text+ko) ==== @@ -32,32 +32,33 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.19 2008/01/11 17:11:32 bde Exp $ */ +#ifndef _MACHINE_IEEEFP_H_ +#define _MACHINE_IEEEFP_H_ + /* - * IEEE floating point type and constant definitions. + * IEEE floating point type, constant and function definitions. + * XXX: {FP,SSE}*FLD and {FP,SSE}*OFF are undocumented pollution. */ -#ifndef _MACHINE_IEEEFP_H_ -#define _MACHINE_IEEEFP_H_ - #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif /* - * FP rounding modes + * Rounding modes. */ typedef enum { FP_RN=0, /* round to nearest */ - FP_RM, /* round down to minus infinity */ - FP_RP, /* round up to plus infinity */ + FP_RM, /* round down towards minus infinity */ + FP_RP, /* round up towards plus infinity */ FP_RZ /* truncate */ } fp_rnd_t; /* - * FP precision modes + * Precision (i.e., rounding precision) modes. */ typedef enum { FP_PS=0, /* 24 bit (single-precision) */ @@ -69,7 +70,7 @@ #define fp_except_t int /* - * FP exception masks + * Exception bit masks. */ #define FP_X_INV 0x01 /* invalid operation */ #define FP_X_DNML 0x02 /* denormal */ @@ -80,23 +81,19 @@ #define FP_X_STK 0x40 /* stack fault */ /* - * FP registers + * FPU control word bit-field masks. */ -#define FP_MSKS_REG 0 /* exception masks */ -#define FP_PRC_REG 0 /* precision */ -#define FP_RND_REG 0 /* direction */ -#define FP_STKY_REG 1 /* sticky flags */ +#define FP_MSKS_FLD 0x3f /* exception masks field */ +#define FP_PRC_FLD 0x300 /* precision control field */ +#define FP_RND_FLD 0xc00 /* rounding control field */ /* - * FP register bit field masks + * FPU status word bit-field masks. */ -#define FP_MSKS_FLD 0x3f /* exception masks field */ -#define FP_PRC_FLD 0x300 /* precision control field */ -#define FP_RND_FLD 0xc00 /* round control field */ #define FP_STKY_FLD 0x3f /* sticky flags field */ /* - * SSE mxcsr register bit field masks + * SSE mxcsr register bit-field masks. */ #define SSE_STKY_FLD 0x3f /* exception flags */ #define SSE_DAZ_FLD 0x40 /* Denormals are zero */ @@ -105,15 +102,19 @@ #define SSE_FZ_FLD 0x8000 /* flush to zero on underflow */ /* - * FP register bit field offsets + * FPU control word bit-field offsets (shift counts). */ #define FP_MSKS_OFF 0 /* exception masks offset */ #define FP_PRC_OFF 8 /* precision control offset */ -#define FP_RND_OFF 10 /* round control offset */ +#define FP_RND_OFF 10 /* rounding control offset */ + +/* + * FPU status word bit-field offsets (shift counts). + */ #define FP_STKY_OFF 0 /* sticky flags offset */ /* - * SSE mxcsr register bit field offsets + * SSE mxcsr register bit-field offsets (shift counts). */ #define SSE_STKY_OFF 0 /* exception flags offset */ #define SSE_DAZ_OFF 6 /* DAZ exception mask offset */ @@ -121,18 +122,45 @@ #define SSE_RND_OFF 13 /* rounding control offset */ #define SSE_FZ_OFF 15 /* flush to zero offset */ -#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \ - && !defined(__cplusplus) +#ifdef __GNUCLIKE_ASM +#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) #define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) +#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) #define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr))) #define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr))) /* + * Load the control word. Be careful not to trap if there is a currently + * unmasked exception (ones that will become freshly unmasked are not a + * problem). This case must be handled by a save/restore of the + * environment or even of the full x87 state. Accessing the environment + * is very inefficient, so only do it when necessary. + */ +static __inline void +__fnldcw(unsigned short _cw, unsigned short _newcw) +{ + struct { + unsigned _cw; + unsigned _other[6]; + } _env; + unsigned short _sw; + + if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { + __fnstsw(&_sw); + if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { + __fnstenv(&_env); + _env._cw = _newcw; + __fldenv(&_env); + return; + } + } + __fldcw(&_newcw); +} + +/* * General notes about conflicting SSE vs FP status bits. * This code assumes that software will not fiddle with the control * bits of the SSE and x87 in such a way to get them out of sync and @@ -143,28 +171,27 @@ * merge the two together. I think. */ -/* Set rounding control */ -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpgetround(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_RND_FLD) >> FP_RND_OFF); + return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); } -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpsetround(fp_rnd_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_rnd_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_RND_FLD) >> FP_RND_OFF; - _cw &= ~FP_RND_FLD; - _cw |= (_m << FP_RND_OFF) & FP_RND_FLD; - __fldcw(&_cw); + _p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF); + _newcw = _cw & ~FP_RND_FLD; + _newcw |= (_m << FP_RND_OFF) & FP_RND_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); _mxcsr &= ~SSE_RND_FLD; _mxcsr |= (_m << SSE_RND_OFF) & SSE_RND_FLD; @@ -173,108 +200,104 @@ } /* - * Set precision for fadd/fsub/fsqrt etc x87 instructions + * Get or set the rounding precision for x87 arithmetic operations. * There is no equivalent SSE mode or control. */ -static __inline__ fp_prec_t + +static __inline fp_prec_t __fpgetprec(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF)); } -static __inline__ fp_prec_t -__fpsetprec(fp_rnd_t _m) +static __inline fp_prec_t +__fpsetprec(fp_prec_t _m) { - unsigned short _cw; fp_prec_t _p; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_PRC_FLD) >> FP_PRC_OFF; - _cw &= ~FP_PRC_FLD; - _cw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; - __fldcw(&_cw); + _p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + _newcw = _cw & ~FP_PRC_FLD; + _newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; + __fnldcw(_cw, _newcw); return (_p); } /* - * Look at the exception masks - * Note that x87 masks are inverse of the fp*() functions - * API. ie: mask = 1 means disable for x87 and SSE, but - * for the fp*() api, mask = 1 means enabled. + * Get or set the exception mask. + * Note that the x87 mask bits are inverted by the API -- a mask bit of 1 + * means disable for x87 and SSE, but for fp*mask() it means enable. */ -static __inline__ fp_except_t + +static __inline fp_except_t __fpgetmask(void) { unsigned short _cw; __fnstcw(&_cw); - return ((~_cw) & FP_MSKS_FLD); + return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF); } -static __inline__ fp_except_t +static __inline fp_except_t __fpsetmask(fp_except_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_except_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (~_cw) & FP_MSKS_FLD; - _cw &= ~FP_MSKS_FLD; - _cw |= (~_m) & FP_MSKS_FLD; - __fldcw(&_cw); + _p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF; + _newcw = _cw & ~FP_MSKS_FLD; + _newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); /* XXX should we clear non-ieee SSE_DAZ_FLD and SSE_FZ_FLD ? */ _mxcsr &= ~SSE_MSKS_FLD; - _mxcsr |= ((~_m) << SSE_MSKS_OFF) & SSE_MSKS_FLD; + _mxcsr |= (~_m << SSE_MSKS_OFF) & SSE_MSKS_FLD; __ldmxcsr(&_mxcsr); return (_p); } -/* See which sticky exceptions are pending, and reset them */ -static __inline__ fp_except_t +static __inline fp_except_t __fpgetsticky(void) { + unsigned _ex, _mxcsr; unsigned short _sw; - unsigned int _mxcsr; - fp_except_t _ex; __fnstsw(&_sw); - _ex = _sw & FP_STKY_FLD; + _ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF; __stmxcsr(&_mxcsr); - _ex |= _mxcsr & SSE_STKY_FLD; - return (_ex); + _ex |= (_mxcsr & SSE_STKY_FLD) >> SSE_STKY_OFF; + return ((fp_except_t)_ex); } -#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */ +#endif /* __GNUCLIKE_ASM */ -#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \ - && defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) +#if !defined(__IEEEFP_NOINLINES__) && defined(__GNUCLIKE_ASM) +#define fpgetmask() __fpgetmask() +#define fpgetprec() __fpgetprec() #define fpgetround() __fpgetround() -#define fpsetround(_m) __fpsetround(_m) -#define fpgetprec() __fpgetprec() -#define fpsetprec(_m) __fpsetprec(_m) -#define fpgetmask() __fpgetmask() -#define fpsetmask(_m) __fpsetmask(_m) #define fpgetsticky() __fpgetsticky() +#define fpsetmask(m) __fpsetmask(m) +#define fpsetprec(m) __fpsetprec(m) +#define fpsetround(m) __fpsetround(m) /* Suppress prototypes in the MI header. */ #define _IEEEFP_INLINED_ 1 -#else /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ +#else /* !(!__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM) */ -/* Augment the userland declarations */ +/* Augment the userland declarations. */ __BEGIN_DECLS -extern fp_prec_t fpgetprec(void); -extern fp_prec_t fpsetprec(fp_prec_t); +fp_prec_t fpgetprec(void); +fp_prec_t fpsetprec(fp_prec_t); __END_DECLS -#endif /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ +#endif /* !__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM */ #endif /* !_MACHINE_IEEEFP_H_ */ ==== //depot/projects/zcopybpf/src/sys/amd64/isa/clock.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.235 2007/10/26 03:23:53 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.236 2008/01/17 18:59:38 jhb Exp $"); /* * Routines to handle clock hardware. @@ -286,6 +286,7 @@ start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); ==== //depot/projects/zcopybpf/src/sys/arm/arm/pmap.c#10 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.96 2008/01/03 07:34:33 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.97 2008/01/17 12:41:59 cognet Exp $"); #include #include #include @@ -3828,7 +3828,8 @@ bzero(&pmap->pm_stats, sizeof pmap->pm_stats); pmap->pm_stats.resident_count = 1; if (vector_page < KERNBASE) { - pmap_enter(pmap, vector_page, PHYS_TO_VM_PAGE(systempage.pv_pa), + pmap_enter(pmap, vector_page, + VM_PROT_READ, PHYS_TO_VM_PAGE(systempage.pv_pa), VM_PROT_READ, 1); } return (1); ==== //depot/projects/zcopybpf/src/sys/arm/arm/support.S#4 (text+ko) ==== @@ -23,10 +23,79 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +/* + * Copyright 2003 Wasabi Systems, Inc. + * All rights reserved. + * + * Written by Steve C. Woodford for Wasabi Systems, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 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 + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Neil A. Carson and Mark Brinicombe + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.13 2007/10/13 12:05:03 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.14 2008/01/12 21:11:43 cognet Exp $"); #include "assym.s" ==== //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/if_npe.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.7 2007/11/04 21:54:52 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.8 2008/01/17 23:37:46 jhb Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -1140,90 +1140,6 @@ } /* - * Defragment an mbuf chain, returning at most maxfrags separate - * mbufs+clusters. If this is not possible NULL is returned and - * the original mbuf chain is left in it's present (potentially - * modified) state. We use two techniques: collapsing consecutive - * mbufs and replacing consecutive mbufs by a cluster. - */ -static struct mbuf * -npe_defrag(struct mbuf *m0, int how, int maxfrags) -{ - struct mbuf *m, *n, *n2, **prev; - u_int curfrags; - - /* - * Calculate the current number of frags. - */ - curfrags = 0; - for (m = m0; m != NULL; m = m->m_next) - curfrags++; - /* - * First, try to collapse mbufs. Note that we always collapse - * towards the front so we don't need to deal with moving the - * pkthdr. This may be suboptimal if the first mbuf has much - * less data than the following. - */ - m = m0; -again: - for (;;) { - n = m->m_next; - if (n == NULL) - break; - if ((m->m_flags & M_RDONLY) == 0 && - n->m_len < M_TRAILINGSPACE(m)) { - bcopy(mtod(n, void *), mtod(m, char *) + m->m_len, - n->m_len); - m->m_len += n->m_len; - m->m_next = n->m_next; - m_free(n); - if (--curfrags <= maxfrags) - return m0; - } else - m = n; - } - KASSERT(maxfrags > 1, - ("maxfrags %u, but normal collapse failed", maxfrags)); - /* - * Collapse consecutive mbufs to a cluster. - */ - prev = &m0->m_next; /* NB: not the first mbuf */ - while ((n = *prev) != NULL) { - if ((n2 = n->m_next) != NULL && - n->m_len + n2->m_len < MCLBYTES) { - m = m_getcl(how, MT_DATA, 0); - if (m == NULL) - goto bad; - bcopy(mtod(n, void *), mtod(m, void *), n->m_len); - bcopy(mtod(n2, void *), mtod(m, char *) + n->m_len, - n2->m_len); - m->m_len = n->m_len + n2->m_len; - m->m_next = n2->m_next; - *prev = m; - m_free(n); - m_free(n2); - if (--curfrags <= maxfrags) /* +1 cl -2 mbufs */ - return m0; - /* - * Still not there, try the normal collapse - * again before we allocate another cluster. - */ - goto again; - } - prev = &n->m_next; - } - /* - * No place where we can collapse to a cluster; punt. - * This can occur if, for example, you request 2 frags - * but the packet requires that both be clusters (we - * never reallocate the first mbuf to avoid moving the >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jan 21 00:07:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 944F816A46E; Mon, 21 Jan 2008 00:07: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 4161616A46D for ; Mon, 21 Jan 2008 00:07:44 +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 330C613C46B for ; Mon, 21 Jan 2008 00:07:44 +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 m0L07i2l030278 for ; Mon, 21 Jan 2008 00:07:44 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 m0L07hpn030274 for perforce@freebsd.org; Mon, 21 Jan 2008 00:07:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 00:07:43 GMT Message-Id: <200801210007.m0L07hpn030274@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 133758 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 00:07:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=133758 Change 133758 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 00:07:34 Integrate TrustedBSD capabilities branch -- loop back AUE_ assignments for shm_{open,unlink}() system calls, export of shm fd state via sysctl. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#3 integrate .. //depot/projects/trustedbsd/capabilities/src/sys/sys/user.h#3 integrate Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.80 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.81 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.78 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.79 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.69 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.70 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.79 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.80 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #include "opt_compat.h" @@ -521,6 +521,6 @@ { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */ { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_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_NULL, NULL, 0, 0 }, /* 482 = shm_open */ - { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ + { 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 */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -796,6 +796,6 @@ 480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ u_int32_t lengthlo, u_int32_t lengthhi); } 481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); } -482 AUE_NULL NOPROTO { int shm_open(const char *path, int flags, \ +482 AUE_SHMOPEN NOPROTO { int shm_open(const char *path, int flags, \ mode_t mode); } -483 AUE_NULL NOPROTO { int shm_unlink(const char *path); } +483 AUE_SHMUNLINK NOPROTO { int shm_unlink(const char *path); } ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.232 2008/01/20 23:44:23 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #include "opt_compat.h" @@ -511,8 +511,8 @@ { 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_NULL, NULL, 0, 0 }, /* 482 = shm_open */ - { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ + { 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(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0 }, /* 484 = cap_new */ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0 }, /* 485 = cap_getrights */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.320 2008/01/13 14:44:08 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.321 2008/01/20 19:55:52 rwatson Exp $"); #include "opt_compat.h" #include "opt_ddb.h" ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.216 2008/01/20 23:44:23 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ const char *syscallnames[] = { ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -847,9 +847,9 @@ 479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); } 480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); } 481 AUE_KILL STD { int thr_kill2(pid_t pid, long id, int sig); } -482 AUE_NULL STD { int shm_open(const char *path, int flags, \ +482 AUE_SHMOPEN STD { int shm_open(const char *path, int flags, \ mode_t mode); } -483 AUE_NULL STD { int shm_unlink(const char *path); } +483 AUE_SHMUNLINK STD { int shm_unlink(const char *path); } 484 AUE_NULL STD { int cap_new(int fd, u_int64_t rights); } 485 AUE_NULL STD { int cap_getrights(int fd, \ u_int64_t *rightsp); } ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ + * $FreeBSD: src/sys/kern/systrace_args.c,v 1.16 2008/01/20 23:44:23 rwatson Exp $ * This file is part of the DTrace syscall provider. */ ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/sys/syscall.h,v 1.213 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #define SYS_syscall 0 ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD$ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp +# $FreeBSD: src/sys/sys/syscall.mk,v 1.168 2008/01/20 23:44:24 rwatson Exp $ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/sys/sysproto.h,v 1.217 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -2443,8 +2443,8 @@ #define SYS_AUE_truncate AUE_TRUNCATE #define SYS_AUE_ftruncate AUE_FTRUNCATE #define SYS_AUE_thr_kill2 AUE_KILL -#define SYS_AUE_shm_open AUE_NULL -#define SYS_AUE_shm_unlink AUE_NULL +#define SYS_AUE_shm_open AUE_SHMOPEN +#define SYS_AUE_shm_unlink AUE_SHMUNLINK #define SYS_AUE_cap_new AUE_NULL #define SYS_AUE_cap_getrights AUE_NULL ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/user.h#3 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * @(#)user.h 8.2 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/sys/user.h,v 1.72 2007/12/02 21:52:18 rwatson Exp $ + * $FreeBSD: src/sys/sys/user.h,v 1.73 2008/01/20 19:55:52 rwatson Exp $ */ #ifndef _SYS_USER_H_ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 02:03:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91F8416A420; Mon, 21 Jan 2008 02:03: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 3CFA516A41A for ; Mon, 21 Jan 2008 02:03:39 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.250]) by mx1.freebsd.org (Postfix) with ESMTP id F205F13C44B for ; Mon, 21 Jan 2008 02:03:38 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: by an-out-0708.google.com with SMTP id c14so464328anc.13 for ; Sun, 20 Jan 2008 18:03:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; bh=wThH/Y1Wdv4+KG64n812JGinYRuib31p/8KEEDs9T74=; b=t727e4OeH5x95dXltLPqa4Xt7a0v6p0rkxt+bZBjD73A91ehPOtur/MPr3KkiA1vMrEofIfBpHLYHAvLD5WF7MpGN5bxG9bSSJM8yw3yWhqRHwWPqC5ipIC37aWyxvkLRGXL2SIhFe+wE1FshkH6Sjv117+5/AP4z4InKlZ/yVA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; b=pNzjVurOXo9//ec3G/wBuiFhG9Fz2NwlFXq4vL56U68E2OudcqG0kpErJwdloeHoi+0zBfdgoMUh09QMSCCT10AUBt23zw2P2L378W9hn2iJ5E6LVGyrf8gatC6l86pF1bj3j1zFaQM/76YVuDgF1VOdgbZA1dmoyatPa+wCVMU= Received: by 10.101.68.19 with SMTP id v19mr13482232ank.4.1200879498251; Sun, 20 Jan 2008 17:38:18 -0800 (PST) Received: from kan.dnsalias.net ( [24.218.183.247]) by mx.google.com with ESMTPS id e27sm10331841elf.9.2008.01.20.17.38.15 (version=SSLv3 cipher=OTHER); Sun, 20 Jan 2008 17:38:16 -0800 (PST) Date: Sun, 20 Jan 2008 20:38:09 -0500 From: Alexander Kabaev To: Robert Watson Message-ID: <20080120203809.287a79dc@kan.dnsalias.net> In-Reply-To: <200801202233.m0KMXrsk022689@repoman.freebsd.org> References: <200801202233.m0KMXrsk022689@repoman.freebsd.org> X-Mailer: Claws Mail 3.0.2 (GTK+ 2.12.5; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/ODNSJLk4Yz7DUruqdXDOU5F"; protocol="application/pgp-signature"; micalg=PGP-SHA1 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 133748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 02:03:40 -0000 --Sig_/ODNSJLk4Yz7DUruqdXDOU5F Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 20 Jan 2008 22:33:53 GMT Robert Watson wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D133748 >=20 > Change 133748 by rwatson@rwatson_freebsd_capabilities on 2008/01/20 > 22:33:22 >=20 > Add cap_new() and cap_getrights() to Symbol.map. >=20 > Affected files ... >=20 > .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#2 > edit >=20 > Differences ... >=20 > =3D=3D=3D=3D //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Sy= mbol.map#2 > (text) =3D=3D=3D=3D >=20 > @@ -55,6 +55,8 @@ > auditctl; > auditon; > bind; > + cap_new; > + cap_getrights; > chdir; > chflags; > __chk_fail; These are added to wrong place. FBSD_1.1 section is where they belong. --=20 Alexander Kabaev --Sig_/ODNSJLk4Yz7DUruqdXDOU5F Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (FreeBSD) iD8DBQFHk/eCQ6z1jMm+XZYRApmdAJ0SPryJ0D5EJ5jeUOj3xjFMtI7AiwCfVVfi tcjpyBkchV1DHAGop6oPDPY= =PH2D -----END PGP SIGNATURE----- --Sig_/ODNSJLk4Yz7DUruqdXDOU5F-- From owner-p4-projects@FreeBSD.ORG Mon Jan 21 07:13:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A08E416A421; Mon, 21 Jan 2008 07:13: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 199E716A417 for ; Mon, 21 Jan 2008 07:13:24 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 012EE13C442 for ; Mon, 21 Jan 2008 07:13:24 +0000 (UTC) (envelope-from zhouzhouyi@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 m0L7DNfX084591 for ; Mon, 21 Jan 2008 07:13:23 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0L7DNpA084588 for perforce@freebsd.org; Mon, 21 Jan 2008 07:13:23 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Mon, 21 Jan 2008 07:13:23 GMT Message-Id: <200801210713.m0L7DNpA084588@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133762 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 07:13:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133762 Change 133762 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/21 07:12:51 Style Modification Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mount/00.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mount/00.t#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/mount/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ desc="Testing mount stat" @@ -13,88 +13,84 @@ #turn off all the switches for i in `sysctl security.mac | grep "\.enabled"| sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do - sysctl ${i}=0 + sysctl ${i}=0 > /dev/null done - echo "1..12" - n0=`namegenshort` - n1=`namegen` - n2=`namegenshort` - mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then dvplabel=`getfmac ".."| sed 's/\(\.\.:\ \)\([a-z\,\/]*\)/\2/`; -############################################################# -#first make working dir, the hook checks are already done in open: - if [ -f ${mactest_conf} ]; then - rm ${mactest_conf} - fi - touch ${mactest_conf} + + if [ -f ${mactest_conf} ]; then + rm ${mactest_conf} + fi + touch ${mactest_conf} + setfmac "mls/equal,biba/equal" ${mactest_conf} + + echo "1..13" + + + n0=`namegenshort` + n1=`namegen` + n2=`namegenshort` + + sysctl security.mac.mls.enabled=1 > /dev/null + sysctl security.mac.biba.enabled=1 > /dev/null -############################################################# - t=`sysctl security.mac.mls.enabled=1` - echo "enforcing mac/mls!" - t=`sysctl security.mac.biba.enabled=1` - echo "enforcing mac/biba!" #case 1: mkdir - mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n0} 0755 + mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n0} 0755 #case 2: mdconfig, couldn't open /dev/mdctl, BLP prevents write down - mactestexpect "*Permission.denied" "" -m "mls/7(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m + mactestexpect "*Permission.denied" "" -m "mls/7(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m #case 3: mdconfig, successfully open /dev/mdctl - mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m - mdnum=${ret} + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m + mdnum=${ret} #case 4: newfs, fail for writing, BLP prevents write down - mactestexpect "*failed.to.open.disk.for.writing" "*" -m "mls/7(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} + mactestexpect "*failed.to.open.disk.for.writing" "*" -m "mls/7(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} #case 5: newfs, success - mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} #case 6: mount - rm ${mactest_conf} - touch ${mactest_conf} - mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n0} + mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n0} #case 7: check mountstat not ok - echo -n "pid = -2 mac_test_check_mount_stat:" > ${mactest_conf} - echo "biba/high(low-high),mls/low(low-high) biba/high,mls/7" >> ${mactest_conf} - mactestexpect "" "*dev*" -m "mls/low(low-high)" -f ${mactest_conf} system df + echo -n "pid = -2 mount_check_stat:" > ${mactest_conf} + echo "biba/high(low-high),mls/low(low-high) biba/high,mls/7" >> ${mactest_conf} + mactestexpect "" "*dev*" -m "mls/low(low-high)" -f ${mactest_conf} system df #case 8: check mountstat ok - truncate -s 0 ${mactest_conf} - mactestexpect "" "*${n0}" -m "mls/7(low-high)" -f ${mactest_conf} system df + truncate -s 0 ${mactest_conf} + mactestexpect "" "*${n0}" -m "mls/7(low-high)" -f ${mactest_conf} system df #case 9: umount - mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system umount ${n0} + mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system umount ${n0} #case 10: remount with low label - mkdir ${n2} - mactestexpect "" "" -m "biba/7(low-high),mls/low(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n2} + mkdir ${n2} + mactestexpect "" "" -m "biba/7(low-high),mls/low(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n2} #case 11: check mountstat not ok - mactestexpect "" "*dev*" -m "biba/8(low-high),mls/low(low-high)" -f ${mactest_conf} system df + mactestexpect "" "*dev*" -m "biba/8(low-high),mls/low(low-high)" -f ${mactest_conf} system df #case 12: unmount - mactestexpect "" "" -m "biba/low(low-high),mls/low(low-high)" -f ${mactest_conf} system umount ${n2} + mactestexpect "" "" -m "biba/low(low-high),mls/low(low-high)" -f ${mactest_conf} system umount ${n2} #case 13: detach - mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -d -u ${mdnum} + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -d -u ${mdnum} #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" - t=`sysctl security.mac.biba.enabled=0` - echo "disabling mac/biba!" - rm -fr ${n0} - rm -fr ${n2} - rm ${mactest_conf} + sysctl security.mac.mls.enabled=0 > /dev/null + sysctl security.mac.biba.enabled=0 > /dev/null + rm -fr ${n0} + rm -fr ${n2} + rm ${mactest_conf} fi ;; From owner-p4-projects@FreeBSD.ORG Mon Jan 21 10:23:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26E4216A41B; Mon, 21 Jan 2008 10:23: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 CFF5716A419 for ; Mon, 21 Jan 2008 10:23:43 +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 B83BF13C457 for ; Mon, 21 Jan 2008 10:23:43 +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 m0LANh2u009652 for ; Mon, 21 Jan 2008 10:23:43 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 m0LANhA6009649 for perforce@freebsd.org; Mon, 21 Jan 2008 10:23:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 10:23:43 GMT Message-Id: <200801211023.m0LANhA6009649@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 133768 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 10:23:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=133768 Change 133768 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 10:23:27 Add more capabilities relating to sockets, comment. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#1 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#2 $ */ /* @@ -42,56 +42,66 @@ /* * Possibly rights on capabilities. */ -#define CAP_READ 0x0000000000000001 -#define CAP_WRITE 0x0000000000000002 -#define CAP_FCHDIR 0x0000000000000004 -#define CAP_LSEEK 0x0000000000000008 -#define CAP_GETPEERNAME 0x0000000000000010 -#define CAP_GETSOCKNAME 0x0000000000000020 -#define CAP_FCHFLAGS 0x0000000000000040 -#define CAP_IOCTL 0x0000000000000080 -#define CAP_FSTAT 0x0000000000000100 -#define CAP_MMAP 0x0000000000000200 -#define CAP_FCNTL 0x0000000000000400 -#define CAP_EVENT 0x0000000000000800 /* XXX? */ -#define CAP_FSYNC 0x0000000000001000 /* XXX? */ -#define CAP_FCHOWN 0x0000000000002000 -#define CAP_FCHMOD 0x0000000000004000 -#define CAP_FTRUNCATE 0x0000000000008000 -#define CAP_FLOCK 0x0000000000010000 -#define CAP_GETDIRENTRIES 0x0000000000020000 -#define CAP_FSTATFS 0x0000000000040000 -#define CAP_PREAD 0x0000000000080000 -#define CAP_PWRITE 0x0000000000100000 -#define CAP_FPATHCONF 0x0000000000200000 -#define CAP_FUTIMES 0x0000000000400000 -#define CAP_AIO 0x0000000000800000 -#define CAP_ACL_GET 0x0000000001000000 -#define CAP_ACL_SET 0x0000000002000000 -#define CAP_ACL_DELETE 0x0000000004000000 -#define CAP_ACL_CHECK 0x0000000008000000 -#define CAP_EXTATTR_GET 0x0000000010000000 -#define CAP_EXTATTR_SET 0x0000000020000000 -#define CAP_EXTATTR_DELETE 0x0000000040000000 -#define CAP_EXTATTR_LIST 0x0000000080000000 -#define CAP_MAC_GET 0x0000000100000000 -#define CAP_MAC_SET 0x0000000200000000 -#define CAP_MASK_VALID 0x00000003ffffffff +#define CAP_READ 0x0000000000000001 /* read/recv */ +#define CAP_WRITE 0x0000000000000002 /* write/send */ +#define CAP_FCHDIR 0x0000000000000004 /* fchdir */ +#define CAP_LSEEK 0x0000000000000008 /* lseek */ +#define CAP_GETPEERNAME 0x0000000000000010 /* getpeername */ +#define CAP_GETSOCKNAME 0x0000000000000020 /* getsockname */ +#define CAP_FCHFLAGS 0x0000000000000040 /* fchflags */ +#define CAP_IOCTL 0x0000000000000080 /* ioctl */ +#define CAP_FSTAT 0x0000000000000100 /* fstat */ +#define CAP_MMAP 0x0000000000000200 /* mmap */ +#define CAP_FCNTL 0x0000000000000400 /* fcntl */ +#define CAP_EVENT 0x0000000000000800 /* select/poll */ +#define CAP_FSYNC 0x0000000000001000 /* fsync */ +#define CAP_FCHOWN 0x0000000000002000 /* fchown */ +#define CAP_FCHMOD 0x0000000000004000 /* fchmod */ +#define CAP_FTRUNCATE 0x0000000000008000 /* ftruncate */ +#define CAP_FLOCK 0x0000000000010000 /* flock */ +#define CAP_GETDIRENTRIES 0x0000000000020000 /* getdirentries */ +#define CAP_FSTATFS 0x0000000000040000 /* fstatfs */ +#define CAP_PREAD 0x0000000000080000 /* pread */ +#define CAP_PWRITE 0x0000000000100000 /* pwrite */ +#define CAP_FPATHCONF 0x0000000000200000 /* fpathconf */ +#define CAP_FUTIMES 0x0000000000400000 /* futimes */ +#define CAP_AIO 0x0000000000800000 /* aio_* */ +#define CAP_ACL_GET 0x0000000001000000 /* acl_get_fd */ +#define CAP_ACL_SET 0x0000000002000000 /* acl_set_fd */ +#define CAP_ACL_DELETE 0x0000000004000000 /* acl_delete_fd */ +#define CAP_ACL_CHECK 0x0000000008000000 /* acl_list_fd */ +#define CAP_EXTATTR_GET 0x0000000010000000 /* extattr_get_fd */ +#define CAP_EXTATTR_SET 0x0000000020000000 /* extattr_set_fd */ +#define CAP_EXTATTR_DELETE 0x0000000040000000 /* extattr_delete_fd */ +#define CAP_EXTATTR_LIST 0x0000000080000000 /* extattr_list_fd */ +#define CAP_MAC_GET 0x0000000100000000 /* mac_get_fd */ +#define CAP_MAC_SET 0x0000000200000000 /* mac_set_fd */ +#define CAP_ACCEPT 0x0000000400000000 /* accept */ +#define CAP_CONNECT 0x0000000800000000 /* connect/sendto */ +#define CAP_BIND 0x0000001000000000 /* bind */ +#define CAP_GETSOCKOPT 0x0000002000000000 /* getsockopt */ +#define CAP_SETSOCKOPT 0x0000004000000000 /* setsockopt */ +#define CAP_LISTEN 0x0000008000000000 /* listen */ +#define CAP_SHUTDOWN 0x0000010000000000 /* shutdown */ +#define CAP_PEELOFF 0x0000020000000000 /* sctp_peeloff */ +#define CAP_MASK_VALID 0x000003ffffffffff /* * Notes: * * Some system calls don't require a capability in order to perform an - * operation on an fd. These include: close(), dup(), dup2(). + * operation on an fd. These include: close, dup, dup2. * - * CAP_EVENT covers select(), poll(), and kqueue() registration for a - * capability. + * CAP_EVENT covers select, poll, and kqueue registration for a capability. * * CAP_AIO is combined with other capabilities to authorize specific AIO - * operations, such as AIO_READ. aio_cancel() just requires CAP_AIO. + * operations, such as AIO_READ. aio_cancel just requires CAP_AIO. * - * sendfile() is authorized using CAP_READ on the file and CAP_WRITE on the + * sendfile is authorized using CAP_READ on the file and CAP_WRITE on the * socket. + * + * sendto should check CAP_CONNECT as well as CAP_WRITE if an address is + * specified. */ #ifdef _KERNEL From owner-p4-projects@FreeBSD.ORG Mon Jan 21 10:36:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CC7516A468; Mon, 21 Jan 2008 10:36: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 B505D16A41B for ; Mon, 21 Jan 2008 10:36:57 +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 A018013C459 for ; Mon, 21 Jan 2008 10:36:57 +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 m0LAavXu010242 for ; Mon, 21 Jan 2008 10:36:57 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 m0LAavr7010239 for perforce@freebsd.org; Mon, 21 Jan 2008 10:36:57 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 10:36:57 GMT Message-Id: <200801211036.m0LAavr7010239@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 133769 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 10:36:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=133769 Change 133769 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 10:36:23 Add new FBSD_1.1 section do system call symbol table, and export cap_new() and cap_getrights() using that version instead. Submitted by: kan Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#3 (text) ==== @@ -55,8 +55,6 @@ auditctl; auditon; bind; - cap_new; - cap_getrights; chdir; chflags; __chk_fail; @@ -966,3 +964,8 @@ __sys_writev; __error_unthreaded; }; + +FBSD_1.1 { + cap_new; + cap_getrights; +}; From owner-p4-projects@FreeBSD.ORG Mon Jan 21 10:37:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89EAB16A474; Mon, 21 Jan 2008 10:37: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 4E3B516A46D for ; Mon, 21 Jan 2008 10:37:17 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 259C313C474 for ; Mon, 21 Jan 2008 10:37:17 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id B538B46DFA; Mon, 21 Jan 2008 05:37:16 -0500 (EST) Date: Mon, 21 Jan 2008 10:37:16 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Alexander Kabaev In-Reply-To: <20080120203809.287a79dc@kan.dnsalias.net> Message-ID: <20080121103625.Y73025@fledge.watson.org> References: <200801202233.m0KMXrsk022689@repoman.freebsd.org> <20080120203809.287a79dc@kan.dnsalias.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Perforce Change Reviews Subject: Re: PERFORCE change 133748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 10:37:17 -0000 On Sun, 20 Jan 2008, Alexander Kabaev wrote: >> @@ -55,6 +55,8 @@ >> auditctl; >> auditon; >> bind; >> + cap_new; >> + cap_getrights; >> chdir; >> chflags; >> __chk_fail; > > These are added to wrong place. FBSD_1.1 section is where they belong. It's unclear if these system calls well ever end back up in the base FreeBSD, but regardless you are right -- I've added a new FBSD_1.1 section now and put them in there. Thanks, Robert N M Watson Computer Laboratory University of Cambridge From owner-p4-projects@FreeBSD.ORG Mon Jan 21 10:39:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30FC916A420; Mon, 21 Jan 2008 10:39: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 EA34016A417 for ; Mon, 21 Jan 2008 10:38:59 +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 D649813C4DB for ; Mon, 21 Jan 2008 10:38:59 +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 m0LAcxPJ010348 for ; Mon, 21 Jan 2008 10:38:59 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 m0LAcxUn010345 for perforce@freebsd.org; Mon, 21 Jan 2008 10:38:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 10:38:59 GMT Message-Id: <200801211038.m0LAcxUn010345@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 133770 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 10:39:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=133770 Change 133770 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 10:38:58 Rename kern_capability.c to sys_capability.c, to match sys_pipe.c, sys_socket.c, etc. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/conf/files#3 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_capability.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#1 branch Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files#3 (text+ko) ==== @@ -1420,7 +1420,6 @@ kern/ksched.c optional _kposix_priority_scheduling kern/kern_acct.c standard kern/kern_alq.c optional alq -kern/kern_capability.c optional capabilities kern/kern_clock.c standard kern/kern_condvar.c standard kern/kern_conf.c standard @@ -1519,6 +1518,7 @@ kern/subr_turnstile.c standard kern/subr_unit.c standard kern/subr_witness.c optional witness +kern/sys_capability.c optional capabilities kern/sys_generic.c standard kern/sys_pipe.c standard kern/sys_process.c standard From owner-p4-projects@FreeBSD.ORG Mon Jan 21 11:02:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8E1216A469; Mon, 21 Jan 2008 11:02: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 33D7E16A420 for ; Mon, 21 Jan 2008 11:02:24 +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 23B2E13C4D3 for ; Mon, 21 Jan 2008 11:02:24 +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 m0LB2Op7011520 for ; Mon, 21 Jan 2008 11:02:24 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 m0LB2NeC011517 for perforce@freebsd.org; Mon, 21 Jan 2008 11:02:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 11:02:23 GMT Message-Id: <200801211102.m0LB2NeC011517@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 133771 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 11:02:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133771 Change 133771 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 11:02:01 Use panic() rather than KASSERT() to handle failure to allocate a zone for capabilities -- we want to fail cleanly even without INVARIANTS. Add cap_check() utility routine to test rights on a capability, and use in various fo_* methods. Add cap_fget(), which given a file descriptor that may be a capability, tests the rights against the capability (if any) and returns the actual object file descriptor to operate on. This is just a first hack and it will almost certainly change. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#2 (text+ko) ==== @@ -55,7 +55,7 @@ */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#1 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#2 $"); #include #include @@ -110,14 +110,55 @@ capability_init(void *dummy __unused) { - capability_zone = uma_zcreate("pipe", sizeof(struct capability), - NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); - KASSERT(capability_zone != NULL, - ("capability_zone not initialized")); + capability_zone = uma_zcreate("capability", + sizeof(struct capability), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, + 0); + if (capability_zone == NULL) + panic("capability_init: capability_zone not initialized"); } SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_ANY, capability_init, NULL); /* + * Test whether a capability grants the requested rights. + */ +static int +cap_check(struct capability *c, cap_rights_t rights) +{ + + if ((c->cap_rights | rights) != c->cap_rights) + return (EACCES); + return (0); +} + +/* + * Given a file descriptor, test it against a capability rights mask and then + * return the file descriptor on which to actually perform the requested + * operation. As long as the reference to fp_cap remains valid, the returned + * pointer in *fp will remain valid, so no extra reference management is + * required, and the caller should fdrop() fp_cap as normal when done with + * both. + * + * XXXRW: This will almost certainly change. + */ +int +cap_fget(struct file *fp_cap, cap_rights_t rights, struct file **fpp) +{ + struct capability *c; + int error; + + if (fp_cap->f_type != DTYPE_CAPABILITY) { + *fpp = fp_cap; + return (0); + } + c = fp_cap->f_data; + error = cap_check(c, rights); + if (error) + return (error); + *fpp = c->cap_file; + return (0); +} + +/* * Create a new capability reference to either an existing file object or an * an existing capability. */ @@ -140,6 +181,9 @@ * If a new capability is being derived from an existing capability, * then the new capability rights must be a subset of the existing * rights. + * + * XXXRW: Should we have a priv_check() here that can override this + * policy? */ if (fp->f_type == DTYPE_CAPABILITY) { c_old = fp->f_data; @@ -210,15 +254,15 @@ int flags, struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_read: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_READ)) - return (EACCES); - fp_object = c->cap_file; - return (fo_read(fp_object, uio, active_cred, flags, td)); + error = cap_check(c, CAP_READ); + if (error) + return (error); + return (fo_read(c->cap_file, uio, active_cred, flags, td)); } static int @@ -226,15 +270,15 @@ int flags, struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_write: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_WRITE)) - return (EACCES); - fp_object = c->cap_file; - return (fo_write(fp_object, uio, active_cred, flags, td)); + error = cap_check(c, CAP_WRITE); + if (error) + return (error); + return (fo_write(c->cap_file, uio, active_cred, flags, td)); } static int @@ -242,15 +286,15 @@ struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_truncate: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_FTRUNCATE)) - return (EACCES); - fp_object = c->cap_file; - return (fo_truncate(fp_object, length, active_cred, td)); + error = cap_check(c, CAP_FTRUNCATE); + if (error) + return (error); + return (fo_truncate(c->cap_file, length, active_cred, td)); } static int @@ -258,15 +302,15 @@ struct ucred *active_cred, struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_ioctl: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_IOCTL)) - return (EACCES); - fp_object = c->cap_file; - return (fo_ioctl(fp_object, com, data, active_cred, td)); + error = cap_check(c, CAP_IOCTL); + if (error) + return (error); + return (fo_ioctl(c->cap_file, com, data, active_cred, td)); } static int @@ -274,30 +318,30 @@ struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_poll: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_EVENT)) - return (EACCES); - fp_object = c->cap_file; - return (fo_poll(fp_object, events, active_cred, td)); + error = cap_check(c, CAP_EVENT); + if (error) + return (error); + return (fo_poll(c->cap_file, events, active_cred, td)); } static int capability_kqfilter(struct file *fp, struct knote *kn) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_kqfilter: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_EVENT)) - return (EACCES); - fp_object = c->cap_file; - return (fo_kqfilter(fp_object, kn)); + error = cap_check(c, CAP_EVENT); + if (error) + return (error); + return (fo_kqfilter(c->cap_file, kn)); } static int @@ -305,15 +349,15 @@ struct thread *td) { struct capability *c; - struct file *fp_object; + int error; KASSERT(fp->f_type == DTYPE_CAPABILITY, ("capability_stat: !capability")); c = fp->f_data; - if (!(c->cap_rights & CAP_FSTAT)) - return (EACCES); - fp_object = c->cap_file; - return (fo_stat(fp_object, sb, active_cred, td)); + error = cap_check(c, CAP_FSTAT); + if (error) + return (error); + return (fo_stat(c->cap_file, sb, active_cred, td)); } static int ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#2 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#3 $ */ /* @@ -105,6 +105,9 @@ */ #ifdef _KERNEL +struct file; +int cap_fget(struct file *fp_cap, cap_rights_t rights, + struct file **fpp); #else /* !_KERNEL */ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 11:33:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED2D616A469; Mon, 21 Jan 2008 11:33: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 6F0E716A468 for ; Mon, 21 Jan 2008 11:33:58 +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 612EC13C447 for ; Mon, 21 Jan 2008 11:33:58 +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 m0LBXwd6015164 for ; Mon, 21 Jan 2008 11:33:58 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 m0LBXwrP015161 for perforce@freebsd.org; Mon, 21 Jan 2008 11:33:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 11:33:58 GMT Message-Id: <200801211133.m0LBXwrP015161@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 133773 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 11:33:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=133773 Change 133773 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 11:33:35 CAP_LSEEK -> CAP_SEEK, as it's a flag used alone for lseek() or in combination with other operations, such as CAP_READ and CAP_WRITE. It really represents permission to change the file offset, not the underlying object. Comment along these lines. Remove CAP_PREAD and CAP_PWRITE for similar reasons. Note complexities associated with aio and mmap. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#3 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#4 $ */ /* @@ -45,7 +45,7 @@ #define CAP_READ 0x0000000000000001 /* read/recv */ #define CAP_WRITE 0x0000000000000002 /* write/send */ #define CAP_FCHDIR 0x0000000000000004 /* fchdir */ -#define CAP_LSEEK 0x0000000000000008 /* lseek */ +#define CAP_SEEK 0x0000000000000008 /* lseek, various io */ #define CAP_GETPEERNAME 0x0000000000000010 /* getpeername */ #define CAP_GETSOCKNAME 0x0000000000000020 /* getsockname */ #define CAP_FCHFLAGS 0x0000000000000040 /* fchflags */ @@ -61,8 +61,8 @@ #define CAP_FLOCK 0x0000000000010000 /* flock */ #define CAP_GETDIRENTRIES 0x0000000000020000 /* getdirentries */ #define CAP_FSTATFS 0x0000000000040000 /* fstatfs */ -#define CAP_PREAD 0x0000000000080000 /* pread */ -#define CAP_PWRITE 0x0000000000100000 /* pwrite */ +#define _CAP_UNUSED0 0x0000000000080000 +#define _CAP_UNUSED1 0x0000000000100000 #define CAP_FPATHCONF 0x0000000000200000 /* fpathconf */ #define CAP_FUTIMES 0x0000000000400000 /* futimes */ #define CAP_AIO 0x0000000000800000 /* aio_* */ @@ -84,7 +84,7 @@ #define CAP_LISTEN 0x0000008000000000 /* listen */ #define CAP_SHUTDOWN 0x0000010000000000 /* shutdown */ #define CAP_PEELOFF 0x0000020000000000 /* sctp_peeloff */ -#define CAP_MASK_VALID 0x000003ffffffffff +#define CAP_MASK_VALID 0x000003ffffe7ffff /* * Notes: @@ -92,6 +92,11 @@ * Some system calls don't require a capability in order to perform an * operation on an fd. These include: close, dup, dup2. * + * CAP_SEEK is used alone for lseek, but along-side CAP_READ and CAP_WRITE + * for various I/O calls, such as read/write/send/receive. + * + * pread and pwrite will not use CAP_SEEK. + * * CAP_EVENT covers select, poll, and kqueue registration for a capability. * * CAP_AIO is combined with other capabilities to authorize specific AIO @@ -102,6 +107,9 @@ * * sendto should check CAP_CONNECT as well as CAP_WRITE if an address is * specified. + * + * mmap() and aio*() system calls will need special attention as they may + * involve reads or writes depending a great deal on context. */ #ifdef _KERNEL From owner-p4-projects@FreeBSD.ORG Mon Jan 21 12:47:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBC9116A47C; Mon, 21 Jan 2008 12:47: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 51D3016A46D for ; Mon, 21 Jan 2008 12:47:13 +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 43AE913C46E for ; Mon, 21 Jan 2008 12:47:13 +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 m0LClDnU025434 for ; Mon, 21 Jan 2008 12:47:13 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 m0LClDUT025407 for perforce@freebsd.org; Mon, 21 Jan 2008 12:47:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 12:47:13 GMT Message-Id: <200801211247.m0LClDUT025407@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 133775 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 12:47:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=133775 Change 133775 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 12:46:16 Add a comment that we might want to subdivide capability rights by object-type. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#3 (text+ko) ==== @@ -52,10 +52,12 @@ * other than via capabilities. * - The list of capability rights is probably inadequate. * - Should there be a privilege to expand capability rights? + * - Should different underlying object sets have different valid capability + * rights? I.e., CAP_SOCK_*, CAP_VNODE_*, etc? */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#2 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#3 $"); #include #include From owner-p4-projects@FreeBSD.ORG Mon Jan 21 14:08:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35DD116A420; Mon, 21 Jan 2008 14:08:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD47516A418 for ; Mon, 21 Jan 2008 14:08:33 +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 9E82113C45A for ; Mon, 21 Jan 2008 14:08:33 +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 m0LE8XOX036975 for ; Mon, 21 Jan 2008 14:08:33 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 m0LE8XGO036972 for perforce@freebsd.org; Mon, 21 Jan 2008 14:08:33 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 14:08:33 GMT Message-Id: <200801211408.m0LE8XGO036972@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 133783 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 14:08:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=133783 Change 133783 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 14:07:40 Don't borrow the include guards from priv.h, just the license text. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#5 (text+ko) ==== @@ -23,14 +23,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#4 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#5 $ */ /* * Definitions for FreeBSD capabilities facility. */ -#ifndef _SYS_PRIV_H_ -#define _SYS_PRIV_H_ +#ifndef _SYS_CAPABILITY_H_ +#define _SYS_CAPABILITY_H_ /* * cap_rights_t defines a mask of rights on a capability. In the future, @@ -133,4 +133,4 @@ #endif /* !_KERNEL */ -#endif /* !_SYS_PRIV_H_ */ +#endif /* !_SYS_CAPABILITY_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 15:07:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02A0016A419; Mon, 21 Jan 2008 15:07: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 9853216A417 for ; Mon, 21 Jan 2008 15:07:53 +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 84A8913C442 for ; Mon, 21 Jan 2008 15:07:53 +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 243901A4D7C; Mon, 21 Jan 2008 07:04:10 -0800 (PST) From: John Baldwin To: Sepherosa Ziehau Date: Mon, 21 Jan 2008 09:25:16 -0500 User-Agent: KMail/1.9.7 References: <200801200422.m0K4MIA2037981@repoman.freebsd.org> In-Reply-To: <200801200422.m0K4MIA2037981@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200801210927.07081.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 133706 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 15:07:54 -0000 On Saturday 19 January 2008 11:22:18 pm Sepherosa Ziehau wrote: > http://perforce.freebsd.org/chv.cgi?CH=133706 > > Change 133706 by sephe@sephe_zealot:sam_wifi on 2008/01/20 04:21:47 > > Unbreak RELENG_7 ABI compat: > - Use {isr,isi}_ie_off as structure version > - Embed new capinfo immediately before {isr,isi}_ie_off > > Pointed out by: sam > > ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#47 (text+ko) ==== > > @@ -358,8 +358,8 @@ > uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */ > uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */ > uint16_t isi_inact; /* inactivity timer */ > - uint16_t isi_capinfo2; /* capabilities */ > /* XXX frag state? */ > + /* 2 bytes capinfo in host byte order */ > /* variable length IE data */ > }; > > @@ -538,7 +538,7 @@ > uint8_t isr_nrates; > uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]; > uint8_t isr_ssid_len; /* SSID length */ > - uint16_t isr_capinfo2; /* capabilities */ > + /* 2 bytes capinfo in host byte order */ > /* variable length SSID followed by IE data */ > }; Normally this would be done by doing something like this: struct foo_v1 { /* old fields */ }; struct foo { /* old fields, but call isr_capinfo isr_capold (or possibly remove it in this case) */ uint16_t isr_capinfo; }; void handle_foo(...) { if (arg->offset == sizeof(struct foo_v1)) { /* convert foo_v1 to a foo or vice versa */ } } Having a comment to indicate a magic field is going to be prone to breakage in the future. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Mon Jan 21 15:36:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 388E116A420; Mon, 21 Jan 2008 15:36: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 98DB116A418 for ; Mon, 21 Jan 2008 15:36:11 +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 8893D13C4E7 for ; Mon, 21 Jan 2008 15:36:11 +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 m0LFaBss044225 for ; Mon, 21 Jan 2008 15:36:11 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 m0LFaBj2044222 for perforce@freebsd.org; Mon, 21 Jan 2008 15:36:11 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 15:36:11 GMT Message-Id: <200801211536.m0LFaBj2044222@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 133786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 15:36:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=133786 Change 133786 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 15:35:23 Move getvnode() to the top of vfs_syscalls.c, and implement a new getvnode_cap() that performs capability rights checks and de-nesting. Update various file descriptor-based system calls to work with capabilities and check capability rights. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#2 (text+ko) ==== @@ -37,6 +37,7 @@ #include __FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.448 2008/01/13 14:44:10 attilio Exp $"); +#include "opt_capabilities.h" #include "opt_compat.h" #include "opt_mac.h" @@ -44,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -102,6 +104,92 @@ #endif /* + * Convert a user file descriptor to a kernel file entry. + * A reference on the file entry is held upon returning. + */ +int +getvnode(fdp, fd, fpp) + struct filedesc *fdp; + int fd; + struct file **fpp; +{ + int error; + struct file *fp; + + fp = NULL; + if (fdp == NULL) + error = EBADF; + else { + FILEDESC_SLOCK(fdp); + if ((u_int)fd >= fdp->fd_nfiles || + (fp = fdp->fd_ofiles[fd]) == NULL) + error = EBADF; + else if (fp->f_vnode == NULL) { + fp = NULL; + error = EINVAL; + } else { + fhold(fp); + error = 0; + } + FILEDESC_SUNLOCK(fdp); + } + *fpp = fp; + return (error); +} + +/* + * Convert a user file descriptor to a kernel file entry and check that, if + * it is a capability, the right rights are present. A reference on the file + * entry is held upon returning. + */ +static int +getvnode_cap(struct filedesc *fdp, int fd, cap_rights_t rights, + struct file **fpp) +{ + struct file *fp; + int error; + + fp = NULL; + if (fdp == NULL) { + *fpp = NULL; + return (EBADF); + } + FILEDESC_SLOCK(fdp); + if ((u_int)fd >= fdp->fd_nfiles || + (fp = fdp->fd_ofiles[fd]) == NULL) { + error = EBADF; + fp = NULL; + goto out; + } + + /* + * If the file descriptor is for a capability, test rights and use + * the file descriptor referenced by the capability. + */ +#ifdef CAPABILITIES + if (fp->f_type == DTYPE_CAPABILITY) { + error = cap_fget(fp, rights, &fp); + if (error) { + fp = NULL; + goto out; + } + } +#endif /* CAPABILITIES */ + if (fp->f_vnode == NULL) { + error = EINVAL; + fp = NULL; + goto out; + } else { + fhold(fp); + error = 0; + } +out: + FILEDESC_SUNLOCK(fdp); + *fpp = fp; + return (error); +} + +/* * Sync each mounted filesystem. */ #ifndef _SYS_SYSPROTO_H_ @@ -359,7 +447,7 @@ int error; AUDIT_ARG(fd, fd); - error = getvnode(td->td_proc->p_fd, fd, &fp); + error = getvnode_cap(td->td_proc->p_fd, fd, CAP_FSTATFS, &fp); if (error) return (error); vp = fp->f_vnode; @@ -726,7 +814,7 @@ int error; AUDIT_ARG(fd, uap->fd); - if ((error = getvnode(fdp, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(fdp, uap->fd, CAP_FCHDIR, &fp)) != 0) return (error); vp = fp->f_vnode; VREF(vp); @@ -2496,7 +2584,8 @@ AUDIT_ARG(fd, uap->fd); AUDIT_ARG(fflags, uap->flags); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, CAP_FCHFLAGS, + &fp)) != 0) return (error); vfslocked = VFS_LOCK_GIANT(fp->f_vnode->v_mount); #ifdef AUDIT @@ -2636,7 +2725,8 @@ AUDIT_ARG(fd, uap->fd); AUDIT_ARG(mode, uap->mode); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, CAP_FCHMOD, + &fp)) != 0) return (error); vfslocked = VFS_LOCK_GIANT(fp->f_vnode->v_mount); #ifdef AUDIT @@ -2793,7 +2883,8 @@ AUDIT_ARG(fd, uap->fd); AUDIT_ARG(owner, uap->uid, uap->gid); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, CAP_FCHOWN, + &fp)) != 0) return (error); vfslocked = VFS_LOCK_GIANT(fp->f_vnode->v_mount); #ifdef AUDIT @@ -3006,7 +3097,8 @@ AUDIT_ARG(fd, fd); if ((error = getutimes(tptr, tptrseg, ts)) != 0) return (error); - if ((error = getvnode(td->td_proc->p_fd, fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, fd, CAP_FUTIMES, &fp)) + != 0) return (error); vfslocked = VFS_LOCK_GIANT(fp->f_vnode->v_mount); #ifdef AUDIT @@ -3159,7 +3251,8 @@ int error; AUDIT_ARG(fd, uap->fd); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, CAP_FSYNC, + &fp)) != 0) return (error); vp = fp->f_vnode; vfslocked = VFS_LOCK_GIANT(vp->v_mount); @@ -3528,7 +3621,8 @@ /* XXX arbitrary sanity limit on `count'. */ if (uap->count > 64 * 1024) return (EINVAL); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, + CAP_GETDIRENTRIES, &fp)) != 0) return (error); if ((fp->f_flag & FREAD) == 0) { fdrop(fp, td); @@ -3670,7 +3764,8 @@ int error, eofflag; AUDIT_ARG(fd, uap->fd); - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) + if ((error = getvnode_cap(td->td_proc->p_fd, uap->fd, + CAP_GETDIRENTRIES, &fp)) != 0) return (error); if ((fp->f_flag & FREAD) == 0) { fdrop(fp, td); @@ -3836,40 +3931,6 @@ } /* - * Convert a user file descriptor to a kernel file entry. - * A reference on the file entry is held upon returning. - */ -int -getvnode(fdp, fd, fpp) - struct filedesc *fdp; - int fd; - struct file **fpp; -{ - int error; - struct file *fp; - - fp = NULL; - if (fdp == NULL) - error = EBADF; - else { - FILEDESC_SLOCK(fdp); - if ((u_int)fd >= fdp->fd_nfiles || - (fp = fdp->fd_ofiles[fd]) == NULL) - error = EBADF; - else if (fp->f_vnode == NULL) { - fp = NULL; - error = EINVAL; - } else { - fhold(fp); - error = 0; - } - FILEDESC_SUNLOCK(fdp); - } - *fpp = fp; - return (error); -} - -/* * Get an (NFS) file handle. */ #ifndef _SYS_SYSPROTO_H_ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:01:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 651E816A420; Mon, 21 Jan 2008 16:01: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 D36D216A419 for ; Mon, 21 Jan 2008 16:01:40 +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 C524513C474 for ; Mon, 21 Jan 2008 16:01:40 +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 m0LG1eHn045890 for ; Mon, 21 Jan 2008 16:01:40 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LG1dq5045887 for perforce@freebsd.org; Mon, 21 Jan 2008 16:01:39 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 16:01:39 GMT Message-Id: <200801211601.m0LG1dq5045887@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 133787 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:01:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=133787 Change 133787 by imp@imp_lighthouse on 2008/01/21 16:00:56 Prefer the mips2 endian.h to the JNPR one since it handles both endians. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/endian.h#6 integrate Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/endian.h#6 (text+ko) ==== @@ -1,8 +1,6 @@ -/* From: NetBSD: endian.h,v 1.5 1997/10/09 15:42:19 bouyer Exp */ - /*- - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. + * Copyright (c) 1987, 1991 Regents of the University of California. + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -28,16 +26,20 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)endian.h 8.1 (Berkeley) 6/10/93 - * JNPR: endian.h,v 1.8 2007/08/09 11:23:32 katta - * $FreeBSD$ + * @(#)endian.h 7.8 (Berkeley) 4/3/91 + * $FreeBSD: src/sys/amd64/include/endian.h,v 1.8 2005/03/11 21:46:01 peter Exp $ */ #ifndef _MACHINE_ENDIAN_H_ #define _MACHINE_ENDIAN_H_ + #include +#include -#ifndef _POSIX_SOURCE +#ifdef __cplusplus +extern "C" { +#endif + /* * Definitions for byte order, according to byte significance from low * address to high. @@ -46,6 +48,12 @@ #define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ #define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ +#ifdef _MIPSEB +#define _BYTE_ORDER _BIG_ENDIAN +#else +#define _BYTE_ORDER _LITTLE_ENDIAN +#endif /* _MIBSEB */ + /* * Deprecated variants that don't have enough underscores to be useful in more * strict namespaces. @@ -57,22 +65,30 @@ #define BYTE_ORDER _BYTE_ORDER #endif -#define _BYTE_ORDER _BIG_ENDIAN +#if defined(__GNUCLIKE_BUILTIN_CONSTANT_P) && defined(__OPTIMIZE__) +#define __is_constant(x) __builtin_constant_p(x) +#else +#define __is_constant(x) 0 +#endif -#ifndef _LOCORE -#ifndef __ASSEMBLER__ -#include -#if defined(__CC_SUPPORTS___INLINE) && defined(__GNUCLIKE_ASM) +#define __bswap16_const(x) (((x) >> 8) | (((x) << 8) & 0xff00)) +#define __bswap32_const(x) (((x) >> 24) | (((x) >> 8) & 0xff00) | \ + (((x) << 8) & 0xff0000) | (((x) << 24) & 0xff000000)) +#define __bswap64_const(x) (((x) >> 56) | (((x) >> 40) & 0xff00) | \ + (((x) >> 24) & 0xff0000) | (((x) >> 8) & 0xff000000) | \ + (((x) << 8) & ((__uint64_t)0xff << 32)) | \ + (((x) << 24) & ((__uint64_t)0xff << 40)) | \ + (((x) << 40) & ((__uint64_t)0xff << 48)) | (((x) << 56))) static __inline __uint16_t -__bswap16(__uint16_t _x) +__bswap16_var(__uint16_t _x) { return ((_x >> 8) | ((_x << 8) & 0xff00)); } static __inline __uint32_t -__bswap32(__uint32_t _x) +__bswap32_var(__uint32_t _x) { return ((_x >> 24) | ((_x >> 8) & 0xff00) | ((_x << 8) & 0xff0000) | @@ -80,7 +96,7 @@ } static __inline __uint64_t -__bswap64(__uint64_t _x) +__bswap64_var(__uint64_t _x) { return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | @@ -89,43 +105,37 @@ ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); } -__uint32_t __htonl(__uint32_t); -__uint16_t __htons(__uint16_t); -__uint32_t __ntohl(__uint32_t); -__uint16_t __ntohs(__uint16_t); +#define __bswap16(x) (__uint16_t)(__is_constant(x) ? __bswap16_const(x) : \ + __bswap16_var(x)) +#define __bswap32(x) (__uint32_t)(__is_constant(x) ? __bswap32_const(x) : \ + __bswap32_var(x)) +#define __bswap64(x) (__uint64_t)(__is_constant(x) ? __bswap64_const(x) : \ + __bswap64_var(x)) -#else /* !(__CC_SUPPORTS___INLINE && __GNUCLIKE_ASM) */ - +#ifdef _MIPSEB +#define __htonl(x) ((__uint32_t)(x)) +#define __htons(x) ((__uint16_t)(x)) +#define __ntohl(x) ((__uint32_t)(x)) +#define __ntohs(x) ((__uint16_t)(x)) /* - * No optimizations are available for this compiler. Fall back to - * non-optimized functions by defining the constant usually used to prevent - * redefinition. + * Define the order of 32-bit words in 64-bit words. */ -#define _BYTEORDER_FUNC_DEFINED - -#endif /* __CC_SUPPORTS___INLINE && __GNUCLIKE_ASM */ - -#endif /* !__ASSEMBLER__ */ -#endif /* !_LOCORE */ - /* - * Define the order of 32-bit words in 64-bit words. + * XXXMIPS: Additional parentheses to make gcc more happy. */ -#if _BYTE_ORDER == BIG_ENDIAN -#define _QUAD_HIGHWORD 0 -#define _QUAD_LOWWORD 1 -#define __htonl(x) ((__uint32_t)(x)) -#define __htons(x) ((__uint16_t)(x)) -#define __ntohl(x) ((__uint32_t)(x)) -#define __ntohs(x) ((__uint16_t)(x)) +#define _QUAD_HIGHWORD 0 +#define _QUAD_LOWWORD 1 #else -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 -#define __ntohl(x) (__bswap32(x)) -#define __ntohs(x) (__bswap16(x)) -#define __htonl(x) (__bswap32(x)) -#define __htons(x) (__bswap16(x)) -#endif /* _BYTE_ORDER == BIG_ENDIAN */ +#define _QUAD_HIGHWORD 1 +#define _QUAD_LOWWORD 0 +#define __ntohl(x) (__bswap32((x))) +#define __ntohs(x) (__bswap16((x))) +#define __htonl(x) (__bswap32((x))) +#define __htons(x) (__bswap16((x))) +#endif /* _MIPSEB */ + +#ifdef __cplusplus +} +#endif -#endif /* !_POSIX_SOURCE */ #endif /* !_MACHINE_ENDIAN_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:16:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1614416A475; Mon, 21 Jan 2008 16:16: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 583DF16A41B for ; Mon, 21 Jan 2008 16:16: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 31B8713C4D5 for ; Mon, 21 Jan 2008 16:16: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 m0LGGwCu047688 for ; Mon, 21 Jan 2008 16:16:58 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LGGvtT047669 for perforce@freebsd.org; Mon, 21 Jan 2008 16:16:57 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 16:16:57 GMT Message-Id: <200801211616.m0LGGvtT047669@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 133788 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:16:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=133788 Change 133788 by imp@imp_lighthouse on 2008/01/21 16:16:55 Add three clients that are on machines that are dead. Affected files ... .. //depot/doc/obliterate#15 edit Differences ... ==== //depot/doc/obliterate#15 (text+ko) ==== @@ -22,4 +22,4 @@ //depot/user/julian/rmkseg # clients: gnagelhout silby_patrocles -# dead machines: njl_mrspecial mharvan_twoflower +# dead machines: njl_mrspecial mharvan_twoflower imp_marvin imp_Speedy imp_hondo From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:19:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11EEF16A41A; Mon, 21 Jan 2008 16:19:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB1CC16A46C for ; Mon, 21 Jan 2008 16:19:01 +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 B969113C4D5 for ; Mon, 21 Jan 2008 16:19:01 +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 m0LGJ1EN050840 for ; Mon, 21 Jan 2008 16:19:01 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 m0LGJ1Tx050803 for perforce@freebsd.org; Mon, 21 Jan 2008 16:19:01 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 16:19:01 GMT Message-Id: <200801211619.m0LGJ1Tx050803@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 133789 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:19:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=133789 Change 133789 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 16:18:42 Implement capability checks for many common socket system calls. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#2 (text+ko) ==== @@ -36,11 +36,13 @@ __FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.263 2008/01/13 14:44:09 attilio Exp $"); #include "opt_sctp.h" +#include "opt_capabilities.h" #include "opt_compat.h" #include "opt_ktrace.h" #include "opt_mac.h" #include +#include #include #include #include @@ -106,6 +108,7 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufsused, CTLFLAG_RD, &nsfbufsused, 0, "Number of sendfile(2) sf_bufs in use"); +#if 0 /* * Convert a user file descriptor to a kernel file entry. A reference on the * file entry is held upon returning. This is lighter weight than @@ -142,8 +145,60 @@ *fpp = fp; return (error); } +#endif /* + * Convert a user file descriptor to a kernel file entry and check that, if + * it is a capability, the right rights are present. A reference on the file + * entry is held upon returning. + */ +static int +getsock_cap(struct filedesc *fdp, int fd, cap_rights_t rights, + struct file **fpp, u_int *fflagp) +{ + struct file *fp; + int error; + + fp = NULL; + if (fdp == NULL) { + *fpp = NULL; + return (EBADF); + } + FILEDESC_SLOCK(fdp); + fp = fget_locked(fdp, fd); + if (fp == NULL) { + error = EBADF; + goto out; + } + + /* + * If the file descriptor is for a capability, test rights and use + * the file descriptor referenced by the capability. + */ +#ifdef CAPABILITIES + if (fp->f_type == DTYPE_CAPABILITY) { + error = cap_fget(fp, rights, &fp); + if (error) { + fp = NULL; + goto out; + } + } +#endif /* CAPABILITIES */ + if (fp->f_vnode == NULL) { + error = EINVAL; + fp = NULL; + goto out; + } else { + fhold(fp); + error = 0; + } +out: + FILEDESC_SUNLOCK(fdp); + *fpp = fp; + return (error); +} + +/* * System call interface to the socket abstraction. */ #if defined(COMPAT_43) @@ -218,7 +273,7 @@ struct file *fp; int error; - error = getsock(td->td_proc->p_fd, fd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, fd, CAP_BIND, &fp, NULL); if (error) return (error); so = fp->f_data; @@ -250,7 +305,8 @@ struct file *fp; int error; - error = getsock(td->td_proc->p_fd, uap->s, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, uap->s, CAP_LISTEN, &fp, + NULL); if (error == 0) { so = fp->f_data; #ifdef MAC @@ -345,7 +401,7 @@ } fdp = td->td_proc->p_fd; - error = getsock(fdp, s, &headfp, &fflag); + error = getsock_cap(fdp, s, CAP_ACCEPT, &headfp, &fflag); if (error) return (error); head = headfp->f_data; @@ -530,7 +586,7 @@ int error; int interrupted = 0; - error = getsock(td->td_proc->p_fd, fd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, fd, CAP_CONNECT, &fp, NULL); if (error) return (error); so = fp->f_data; @@ -732,11 +788,15 @@ struct socket *so; int i; int len, error; + cap_rights_t rights; #ifdef KTRACE struct uio *ktruio = NULL; #endif - error = getsock(td->td_proc->p_fd, s, &fp, NULL); + rights = CAP_WRITE; + if (mp->msg_name != NULL) + rights |= CAP_CONNECT; + error = getsock_cap(td->td_proc->p_fd, s, rights, &fp, NULL); if (error) return (error); so = (struct socket *)fp->f_data; @@ -931,7 +991,7 @@ if(controlp != NULL) *controlp = 0; - error = getsock(td->td_proc->p_fd, s, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, s, CAP_READ, &fp, NULL); if (error) return (error); so = fp->f_data; @@ -1242,7 +1302,8 @@ struct file *fp; int error; - error = getsock(td->td_proc->p_fd, uap->s, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, uap->s, CAP_SHUTDOWN, &fp, + NULL); if (error == 0) { so = fp->f_data; error = soshutdown(so, uap->how); @@ -1304,7 +1365,7 @@ panic("kern_setsockopt called with bad valseg"); } - error = getsock(td->td_proc->p_fd, s, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, s, CAP_SHUTDOWN, &fp, NULL); if (error == 0) { so = fp->f_data; error = sosetopt(so, &sopt); @@ -1382,7 +1443,7 @@ panic("kern_getsockopt called with bad valseg"); } - error = getsock(td->td_proc->p_fd, s, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, s, CAP_GETSOCKOPT, &fp, NULL); if (error == 0) { so = fp->f_data; error = sogetopt(so, &sopt); @@ -1443,7 +1504,8 @@ if (*alen < 0) return (EINVAL); - error = getsock(td->td_proc->p_fd, fd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, fd, CAP_GETSOCKNAME, &fp, + NULL); if (error) return (error); so = fp->f_data; @@ -1536,7 +1598,8 @@ if (*alen < 0) return (EINVAL); - error = getsock(td->td_proc->p_fd, fd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, fd, CAP_GETPEERNAME, &fp, + NULL); if (error) return (error); so = fp->f_data; @@ -1809,8 +1872,8 @@ * The socket must be a stream socket and connected. * Remember if it a blocking or non-blocking socket. */ - if ((error = getsock(td->td_proc->p_fd, uap->s, &sock_fp, - NULL)) != 0) + if ((error = getsock_cap(td->td_proc->p_fd, uap->s, CAP_WRITE, + &sock_fp, NULL)) != 0) goto out; so = sock_fp->f_data; if (so->so_type != SOCK_STREAM) { @@ -2306,6 +2369,7 @@ #endif struct uio auio; struct iovec iov[1]; + cap_rights_t rights; if (uap->sinfo) { error = copyin(uap->sinfo, &sinfo, sizeof (sinfo)); @@ -2313,15 +2377,19 @@ return (error); u_sinfo = &sinfo; } + + rights = CAP_WRITE; if (uap->tolen) { error = getsockaddr(&to, uap->to, uap->tolen); if (error) { to = NULL; goto sctp_bad2; } + rights |= CAP_CONNECT; } - error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); + /* XXXRW: Is this use of rights right for SCTP? */ + error = getsock_cap(td->td_proc->p_fd, uap->sd, rights, &fp, NULL); if (error) goto sctp_bad; @@ -2405,6 +2473,7 @@ #endif struct uio auio; struct iovec *iov, *tiov; + cap_rights_t rights; if (uap->sinfo) { error = copyin(uap->sinfo, &sinfo, sizeof (sinfo)); @@ -2412,15 +2481,17 @@ return (error); u_sinfo = &sinfo; } + rights = CAP_WRITE; if (uap->tolen) { error = getsockaddr(&to, uap->to, uap->tolen); if (error) { to = NULL; goto sctp_bad2; } + rights |= CAP_CONNECT; } - error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, uap->sd, rights, &fp, NULL); if (error) goto sctp_bad1; @@ -2516,7 +2587,7 @@ #ifdef KTRACE struct uio *ktruio = NULL; #endif - error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); + error = getsock_cap(td->td_proc->p_fd, uap->sd, CAP_READ, &fp, NULL); if (error) { return (error); } From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:24:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3850A16A420; Mon, 21 Jan 2008 16:24: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 AA19216A419 for ; Mon, 21 Jan 2008 16:24:07 +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 9AC9113C459 for ; Mon, 21 Jan 2008 16:24:07 +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 m0LGO7Yv054589 for ; Mon, 21 Jan 2008 16:24:07 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LGO6r6054586 for perforce@freebsd.org; Mon, 21 Jan 2008 16:24:06 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 16:24:06 GMT Message-Id: <200801211624.m0LGO6r6054586@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 133790 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:24:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=133790 Change 133790 by imp@imp_paco-paco on 2008/01/21 16:23:19 Make endian.h LOCORE safe. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/endian.h#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/endian.h#7 (text+ko) ==== @@ -34,7 +34,9 @@ #define _MACHINE_ENDIAN_H_ #include +#ifndef _LOCORE #include +#endif #ifdef __cplusplus extern "C" { @@ -65,6 +67,7 @@ #define BYTE_ORDER _BYTE_ORDER #endif +#ifndef LOCORE #if defined(__GNUCLIKE_BUILTIN_CONSTANT_P) && defined(__OPTIMIZE__) #define __is_constant(x) __builtin_constant_p(x) #else @@ -134,6 +137,8 @@ #define __htons(x) (__bswap16((x))) #endif /* _MIPSEB */ +#endif /* LOCORE */ + #ifdef __cplusplus } #endif From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:38:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A4EA16A469; Mon, 21 Jan 2008 16:38: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 5954616A420 for ; Mon, 21 Jan 2008 16:38:23 +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 4AB4B13C468 for ; Mon, 21 Jan 2008 16:38:23 +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 m0LGcNqD055207 for ; Mon, 21 Jan 2008 16:38:23 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LGcNVM055204 for perforce@freebsd.org; Mon, 21 Jan 2008 16:38:23 GMT (envelope-from sam@freebsd.org) Date: Mon, 21 Jan 2008 16:38:23 GMT Message-Id: <200801211638.m0LGcNVM055204@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 133792 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:38:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=133792 Change 133792 by sam@sam_ebb on 2008/01/21 16:37:44 rudimentary ddb support: show vap show com show sta more to come... Affected files ... .. //depot/projects/vap/sys/conf/files#11 edit .. //depot/projects/vap/sys/net80211/ieee80211_ddb.c#1 add Differences ... ==== //depot/projects/vap/sys/conf/files#11 (text+ko) ==== @@ -1661,6 +1661,7 @@ net80211/ieee80211_crypto_none.c optional wlan net80211/ieee80211_crypto_tkip.c optional wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan_wep +net80211/ieee80211_ddb.c optional ddb net80211/ieee80211_dfs.c optional wlan net80211/ieee80211_freebsd.c optional wlan net80211/ieee80211_hostap.c optional wlan From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:39:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C638F16A41B; Mon, 21 Jan 2008 16:39: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 8B3CF16A46B for ; Mon, 21 Jan 2008 16:39:24 +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 7A42613C465 for ; Mon, 21 Jan 2008 16:39:24 +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 m0LGdOn0055275 for ; Mon, 21 Jan 2008 16:39:24 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 m0LGdO7H055272 for perforce@freebsd.org; Mon, 21 Jan 2008 16:39:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 16:39:24 GMT Message-Id: <200801211639.m0LGdO7H055272@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 133793 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:39:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133793 Change 133793 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 16:38:31 Use fget_locked() for getvnode/getvnode_cap, as in getsock. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#3 (text+ko) ==== @@ -121,8 +121,8 @@ error = EBADF; else { FILEDESC_SLOCK(fdp); - if ((u_int)fd >= fdp->fd_nfiles || - (fp = fdp->fd_ofiles[fd]) == NULL) + fp = fget_locked(fdp, fd); + if (fp == NULL) error = EBADF; else if (fp->f_vnode == NULL) { fp = NULL; @@ -155,10 +155,9 @@ return (EBADF); } FILEDESC_SLOCK(fdp); - if ((u_int)fd >= fdp->fd_nfiles || - (fp = fdp->fd_ofiles[fd]) == NULL) { + fp = fget_locked(fdp, fd); + if (fp == NULL) { error = EBADF; - fp = NULL; goto out; } From owner-p4-projects@FreeBSD.ORG Mon Jan 21 16:42:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEB5B16A468; Mon, 21 Jan 2008 16:42: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 4A47A16A418 for ; Mon, 21 Jan 2008 16:42:28 +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 3B75E13C43E for ; Mon, 21 Jan 2008 16:42:28 +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 m0LGgS1T055478 for ; Mon, 21 Jan 2008 16:42:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LGgSkh055475 for perforce@freebsd.org; Mon, 21 Jan 2008 16:42:28 GMT (envelope-from sam@freebsd.org) Date: Mon, 21 Jan 2008 16:42:28 GMT Message-Id: <200801211642.m0LGgSkh055475@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 133794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 16:42:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=133794 Change 133794 by sam@sam_ebb on 2008/01/21 16:42:01 strip unused bits Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ddb.c#2 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ddb.c#2 (text+ko) ==== @@ -68,11 +68,7 @@ "\26AMPDU_TX\27AMSDU_TX\30AMSDU_RX\31USEHT40\32PUREN\33SHORTGI20" \ "\34SHORTGI40\35HTCOMPAT" -#ifdef NET80211_APPLE_HACKS -#define IEEE80211_FVEN_BITS "\20\1NOBEACONS\2WDSWAR" -#else #define IEEE80211_FVEN_BITS "\20" -#endif #define IEEE80211_C_BITS \ "\20\1WEP\2TKIP\3AES\4AES_CCM\6CKIP\7FF\10TURBOP\11IBSS\12PMGT" \ @@ -492,15 +488,6 @@ db_printf("\trsn_ie %p", vap->iv_rsn_ie); db_printf("\n"); } -#ifdef NET80211_APPLE_HACKS - _db_show_appie("\tappie_beacon_wps", vap->iv_appie_beacon_wps); - _db_show_appie("\tappie_probereq_wps", vap->iv_appie_probereq_wps); - _db_show_appie("\tappie_proberesp_wps", vap->iv_appie_proberesp_wps); - _db_show_appie("\tappie_beacon_dwds", vap->iv_appie_beacon_dwds); - _db_show_appie("\tappie_proberesp_dwds", vap->iv_appie_proberesp_dwds); - _db_show_appie("\tappie_assocreq_dwds", vap->iv_appie_assocreq_dwds); - _db_show_appie("\tappie_asscoresp_dwds", vap->iv_appie_assocresp_dwds); -#endif db_printf("\tmax_keyix %u", vap->iv_max_keyix); db_printf(" def_txkey %d", vap->iv_def_txkey); db_printf("\n"); From owner-p4-projects@FreeBSD.ORG Mon Jan 21 17:01:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1EA0116A474; Mon, 21 Jan 2008 17:01: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 ACBA316A468 for ; Mon, 21 Jan 2008 17:01:48 +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 9CA2A13C45B for ; Mon, 21 Jan 2008 17:01:48 +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 m0LH1mYm065047 for ; Mon, 21 Jan 2008 17:01:48 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LH1mdT065044 for perforce@freebsd.org; Mon, 21 Jan 2008 17:01:48 GMT (envelope-from sam@freebsd.org) Date: Mon, 21 Jan 2008 17:01:48 GMT Message-Id: <200801211701.m0LH1mdT065044@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 133795 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 17:01:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133795 Change 133795 by sam@sam_ebb on 2008/01/21 17:01:31 allow show all to be extended a la show Affected files ... .. //depot/projects/vap/sys/ddb/db_command.c#6 edit .. //depot/projects/vap/sys/ddb/ddb.h#7 edit Differences ... ==== //depot/projects/vap/sys/ddb/db_command.c#6 (text+ko) ==== @@ -65,6 +65,7 @@ SET_DECLARE(db_cmd_set, struct command); SET_DECLARE(db_show_cmd_set, struct command); +SET_DECLARE(db_show_all_cmd_set, struct command); static db_cmdfcn_t db_fncall; static db_cmdfcn_t db_gdb; @@ -85,7 +86,9 @@ }; static struct command_table db_show_all_table = { - db_show_all_cmds + db_show_all_cmds, + SET_BEGIN(db_show_all_cmd_set), + SET_LIMIT(db_show_all_cmd_set) }; static struct command db_show_cmds[] = { ==== //depot/projects/vap/sys/ddb/ddb.h#7 (text+ko) ==== @@ -80,6 +80,8 @@ DB_FUNC(cmd_name, func_name, db_cmd_set, 0, NULL) #define DB_SHOW_COMMAND(cmd_name, func_name) \ DB_FUNC(cmd_name, func_name, db_show_cmd_set, 0, NULL) +#define DB_SHOW_ALL_COMMAND(cmd_name, func_name) \ + DB_FUNC(cmd_name, func_name, db_show_all_cmd_set, 0, NULL) #define DB_SET(cmd_name, func_name, set, flag, more) \ static const struct command __CONCAT(cmd_name,_cmd) = { \ From owner-p4-projects@FreeBSD.ORG Mon Jan 21 17:02:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9787B16A421; Mon, 21 Jan 2008 17:02: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 44DD816A420 for ; Mon, 21 Jan 2008 17:02:50 +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 1D3DB13C465 for ; Mon, 21 Jan 2008 17:02:50 +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 m0LH2nad065073 for ; Mon, 21 Jan 2008 17:02:49 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LH2nw0065070 for perforce@freebsd.org; Mon, 21 Jan 2008 17:02:49 GMT (envelope-from sam@freebsd.org) Date: Mon, 21 Jan 2008 17:02:49 GMT Message-Id: <200801211702.m0LH2nw0065070@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 133796 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 17:02:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=133796 Change 133796 by sam@sam_ebb on 2008/01/21 17:02:10 add show all vaps Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ddb.c#3 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ddb.c#3 (text+ko) ==== @@ -307,10 +307,7 @@ } } -#if 0 -void -db_show_all_vaps(db_expr_t addr, int have_addr, - db_expr_t count, const char *modif) +DB_SHOW_ALL_COMMAND(vaps, db_show_all_vaps) { const struct ifnet *ifp; @@ -325,7 +322,6 @@ db_printf("\n"); } } -#endif static void _db_show_sta(const struct ieee80211_node *ni) From owner-p4-projects@FreeBSD.ORG Mon Jan 21 17:07:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 625C016A469; Mon, 21 Jan 2008 17:07: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 E423116A41B for ; Mon, 21 Jan 2008 17:07:55 +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 D3C2E13C468 for ; Mon, 21 Jan 2008 17:07:55 +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 m0LH7tvr066467 for ; Mon, 21 Jan 2008 17:07:55 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LH7tvX066464 for perforce@freebsd.org; Mon, 21 Jan 2008 17:07:55 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 17:07:55 GMT Message-Id: <200801211707.m0LH7tvX066464@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 133797 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 17:07:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=133797 Change 133797 by imp@imp_lighthouse on 2008/01/21 17:06:56 Fix cut and paste error in error message. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#7 (text+ko) ==== @@ -250,7 +250,7 @@ td->td_frame = &td->td_pcb->pcb_regs; if (!(pte = pmap_segmap(kernel_pmap, (vm_offset_t)td->td_kstack))) - panic("cpu_thread_swapin: invalid segmap"); + panic("cpu_thread_alloc: invalid segmap"); pte += ((vm_offset_t)td->td_kstack >> PGSHIFT) & (NPTEPG - 1); for (i = 0; i < KSTACK_PAGES; i++) { From owner-p4-projects@FreeBSD.ORG Mon Jan 21 18:59:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F03F316A41B; Mon, 21 Jan 2008 18:59: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 1A75216A468 for ; Mon, 21 Jan 2008 18:59:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FE5713C465 for ; Mon, 21 Jan 2008 18:59:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0LIxZeH082612 for ; Mon, 21 Jan 2008 18:59:35 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LIwlY2082525 for perforce@freebsd.org; Mon, 21 Jan 2008 18:58:47 GMT (envelope-from jhb@freebsd.org) Date: Mon, 21 Jan 2008 18:58:47 GMT Message-Id: <200801211858.m0LIwlY2082525@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 133805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 18:59:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=133805 Change 133805 by jhb@jhb_zion on 2008/01/21 18:58:30 IFC @133798 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#68 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_watchdog.c#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#77 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#60 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#40 integrate .. //depot/projects/smpng/sys/amd64/include/_types.h#8 integrate .. //depot/projects/smpng/sys/amd64/include/float.h#7 integrate .. //depot/projects/smpng/sys/amd64/include/ieeefp.h#8 integrate .. //depot/projects/smpng/sys/amd64/include/pmap.h#27 integrate .. //depot/projects/smpng/sys/amd64/include/vmparam.h#11 integrate .. //depot/projects/smpng/sys/amd64/isa/clock.c#24 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#41 integrate .. //depot/projects/smpng/sys/arm/arm/support.S#13 integrate .. //depot/projects/smpng/sys/arm/at91/if_ate.c#15 integrate .. //depot/projects/smpng/sys/arm/at91/kb920x_machdep.c#16 integrate .. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#12 integrate .. //depot/projects/smpng/sys/arm/include/vmparam.h#10 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/smpng/sys/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/spi_flash.c#5 integrate .. //depot/projects/smpng/sys/boot/forth/loader.conf.5#12 integrate .. //depot/projects/smpng/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.c#48 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#80 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_low.h#6 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#39 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#39 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#39 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#39 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#43 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#62 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#38 integrate .. //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#25 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#84 integrate .. //depot/projects/smpng/sys/compat/linux/linux_stats.c#38 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#43 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#44 integrate .. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_vfs.c#5 integrate .. //depot/projects/smpng/sys/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/smpng/sys/compat/pecoff/imgact_pecoff.c#28 integrate .. //depot/projects/smpng/sys/compat/svr4/imgact_svr4.c#15 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#25 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#62 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#43 integrate .. //depot/projects/smpng/sys/conf/NOTES#146 integrate .. //depot/projects/smpng/sys/conf/files#210 integrate .. //depot/projects/smpng/sys/conf/files.i386#108 integrate .. //depot/projects/smpng/sys/conf/options#145 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/evgpe.c#13 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/gfs.c#4 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/smpng/sys/crypto/rijndael/test00.c#2 integrate .. //depot/projects/smpng/sys/ddb/db_capture.c#1 branch .. //depot/projects/smpng/sys/ddb/db_command.c#38 integrate .. //depot/projects/smpng/sys/ddb/db_command.h#4 integrate .. //depot/projects/smpng/sys/ddb/db_input.c#9 integrate .. //depot/projects/smpng/sys/ddb/db_lex.c#6 integrate .. //depot/projects/smpng/sys/ddb/db_lex.h#4 integrate .. //depot/projects/smpng/sys/ddb/db_main.c#5 integrate .. //depot/projects/smpng/sys/ddb/db_output.c#21 integrate .. //depot/projects/smpng/sys/ddb/db_script.c#1 branch .. //depot/projects/smpng/sys/ddb/db_textdump.c#1 branch .. //depot/projects/smpng/sys/ddb/ddb.h#24 integrate .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdDebug.c#13 integrate .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdSchedule.c#32 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_hpet.c#9 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/smpng/sys/dev/acpica/acpi_thermal.c#41 integrate .. //depot/projects/smpng/sys/dev/an/if_an.c#55 integrate .. //depot/projects/smpng/sys/dev/an/if_an_pci.c#19 integrate .. //depot/projects/smpng/sys/dev/an/if_anreg.h#15 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#54 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#66 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#54 integrate .. //depot/projects/smpng/sys/dev/atkbdc/atkbd.c#6 integrate .. //depot/projects/smpng/sys/dev/atkbdc/atkbd_atkbdc.c#3 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#95 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#56 integrate .. //depot/projects/smpng/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_l2t.c#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_multiq.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/smpng/sys/dev/dcons/dcons_os.c#11 integrate .. //depot/projects/smpng/sys/dev/drm/drm_drv.c#5 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pci.c#15 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_rtl80x9.c#3 integrate .. //depot/projects/smpng/sys/dev/fb/creator.c#14 integrate .. //depot/projects/smpng/sys/dev/fb/fb.c#13 integrate .. //depot/projects/smpng/sys/dev/fb/fbreg.h#16 integrate .. //depot/projects/smpng/sys/dev/fb/machfb.c#6 integrate .. //depot/projects/smpng/sys/dev/fb/splash_bmp.c#3 integrate .. //depot/projects/smpng/sys/dev/fb/splash_pcx.c#2 integrate .. //depot/projects/smpng/sys/dev/fb/vga.c#23 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc.c#31 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#33 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem_pci.c#23 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemreg.h#5 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#15 integrate .. //depot/projects/smpng/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#23 integrate .. //depot/projects/smpng/sys/dev/ichwd/ichwd.c#9 integrate .. //depot/projects/smpng/sys/dev/ichwd/ichwd.h#5 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#45 integrate .. //depot/projects/smpng/sys/dev/iir/iir.c#20 integrate .. //depot/projects/smpng/sys/dev/kbd/kbd.c#19 integrate .. //depot/projects/smpng/sys/dev/kbd/kbdreg.h#6 integrate .. //depot/projects/smpng/sys/dev/kbdmux/kbdmux.c#7 integrate .. //depot/projects/smpng/sys/dev/le/am7990.c#5 integrate .. //depot/projects/smpng/sys/dev/le/am79900.c#5 integrate .. //depot/projects/smpng/sys/dev/md/md.c#82 integrate .. //depot/projects/smpng/sys/dev/mii/brgphy.c#44 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#9 integrate .. //depot/projects/smpng/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/smpng/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#19 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#8 integrate .. //depot/projects/smpng/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/smpng/sys/dev/mxge/mxge_mcp.h#6 integrate .. //depot/projects/smpng/sys/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/smpng/sys/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/smpng/sys/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/smpng/sys/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/smpng/sys/dev/nfe/if_nfe.c#10 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_console.c#26 integrate .. //depot/projects/smpng/sys/dev/pci/pci_user.c#19 integrate .. //depot/projects/smpng/sys/dev/ppbus/ppbconf.c#6 integrate .. //depot/projects/smpng/sys/dev/ppbus/ppbconf.h#3 integrate .. //depot/projects/smpng/sys/dev/puc/pucdata.c#40 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#57 integrate .. //depot/projects/smpng/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/smpng/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/smpng/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/smpng/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/smpng/sys/dev/sio/sio.c#65 integrate .. //depot/projects/smpng/sys/dev/snp/snp.c#28 integrate .. //depot/projects/smpng/sys/dev/stge/if_stge.c#9 integrate .. //depot/projects/smpng/sys/dev/stge/if_stgereg.h#3 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#35 integrate .. //depot/projects/smpng/sys/dev/syscons/blank/blank_saver.c#2 integrate .. //depot/projects/smpng/sys/dev/syscons/daemon/daemon_saver.c#4 integrate .. //depot/projects/smpng/sys/dev/syscons/dragon/dragon_saver.c#3 integrate .. //depot/projects/smpng/sys/dev/syscons/fade/fade_saver.c#3 integrate .. //depot/projects/smpng/sys/dev/syscons/fire/fire_saver.c#5 integrate .. //depot/projects/smpng/sys/dev/syscons/green/green_saver.c#2 integrate .. //depot/projects/smpng/sys/dev/syscons/logo/logo_saver.c#6 integrate .. //depot/projects/smpng/sys/dev/syscons/rain/rain_saver.c#6 integrate .. //depot/projects/smpng/sys/dev/syscons/scgfbrndr.c#10 integrate .. //depot/projects/smpng/sys/dev/syscons/scvgarndr.c#10 integrate .. //depot/projects/smpng/sys/dev/syscons/scvidctl.c#12 integrate .. //depot/projects/smpng/sys/dev/syscons/snake/snake_saver.c#4 integrate .. //depot/projects/smpng/sys/dev/syscons/star/star_saver.c#3 integrate .. //depot/projects/smpng/sys/dev/syscons/syscons.c#60 integrate .. //depot/projects/smpng/sys/dev/syscons/syscons.h#18 integrate .. //depot/projects/smpng/sys/dev/syscons/warp/warp_saver.c#6 integrate .. //depot/projects/smpng/sys/dev/uart/uart_core.c#17 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#29 integrate .. //depot/projects/smpng/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/if_udav.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/ukbd.c#26 integrate .. //depot/projects/smpng/sys/dev/usb/ums.c#28 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#107 integrate .. //depot/projects/smpng/sys/dev/vkbd/vkbd.c#11 integrate .. //depot/projects/smpng/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/smpng/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_namecache.h#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#27 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#30 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#66 integrate .. //depot/projects/smpng/sys/fs/fdescfs/fdesc_vfsops.c#24 integrate .. //depot/projects/smpng/sys/fs/fdescfs/fdesc_vnops.c#27 integrate .. //depot/projects/smpng/sys/fs/fifofs/fifo_vnops.c#44 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_subr.h#4 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vfsops.c#35 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vnops.c#34 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_lookup.c#14 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#55 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vnops.c#41 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_subr.c#25 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vfsops.c#37 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vnops.c#29 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_subr.c#18 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vfsops.c#28 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vnops.c#32 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#20 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vfsops.c#26 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vnops.c#17 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vfsops.c#23 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vnops.c#28 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs.c#15 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs_map.c#11 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vncache.c#27 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#49 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#27 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#27 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#38 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#38 integrate .. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vfsops.c#36 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#40 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#31 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vfsops.c#33 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#37 integrate .. //depot/projects/smpng/sys/geom/part/g_part_bsd.c#2 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_lookup.c#4 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vfsops.c#13 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vnops.c#9 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/fs.h#3 integrate .. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_inode.c#4 integrate .. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_namei.c#5 integrate .. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#9 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_buf.h#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#6 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#4 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#4 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#91 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC.hints#10 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#129 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#129 integrate .. //depot/projects/smpng/sys/i386/i386/mp_watchdog.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#121 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_misc.c#34 integrate .. //depot/projects/smpng/sys/i386/ibcs2/imgact_coff.c#24 integrate .. //depot/projects/smpng/sys/i386/include/ieeefp.h#5 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#38 integrate .. //depot/projects/smpng/sys/i386/include/vmparam.h#12 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#56 integrate .. //depot/projects/smpng/sys/i386/linux/imgact_linux.c#20 integrate .. //depot/projects/smpng/sys/i386/pci/pci_pir.c#12 integrate .. //depot/projects/smpng/sys/i386/xbox/xboxfb.c#6 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#58 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#112 integrate .. //depot/projects/smpng/sys/ia64/ia64/pmap.c#87 integrate .. //depot/projects/smpng/sys/ia64/include/vmparam.h#15 integrate .. //depot/projects/smpng/sys/isa/vga_isa.c#15 integrate .. //depot/projects/smpng/sys/kern/genassym.sh#4 integrate .. //depot/projects/smpng/sys/kern/imgact_aout.c#31 integrate .. //depot/projects/smpng/sys/kern/imgact_elf.c#58 integrate .. //depot/projects/smpng/sys/kern/imgact_gzip.c#15 integrate .. //depot/projects/smpng/sys/kern/init_main.c#70 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#81 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#16 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_cpu.c#11 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#109 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#53 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#108 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#126 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#51 integrate .. //depot/projects/smpng/sys/kern/kern_ktrace.c#64 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#90 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#65 integrate .. //depot/projects/smpng/sys/kern/kern_mib.c#34 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#91 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#74 integrate .. //depot/projects/smpng/sys/kern/kern_rwlock.c#19 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#68 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#135 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#119 integrate .. //depot/projects/smpng/sys/kern/kern_tc.c#44 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#103 integrate .. //depot/projects/smpng/sys/kern/kern_time.c#53 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#44 integrate .. //depot/projects/smpng/sys/kern/link_elf_obj.c#18 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#79 integrate .. //depot/projects/smpng/sys/kern/subr_kdb.c#20 integrate .. //depot/projects/smpng/sys/kern/subr_lock.c#10 integrate .. //depot/projects/smpng/sys/kern/subr_smp.c#47 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#165 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#52 integrate .. //depot/projects/smpng/sys/kern/sys_pipe.c#60 integrate .. //depot/projects/smpng/sys/kern/sys_socket.c#28 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#81 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#87 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#8 integrate .. //depot/projects/smpng/sys/kern/tty.c#71 integrate .. //depot/projects/smpng/sys/kern/tty_cons.c#38 integrate .. //depot/projects/smpng/sys/kern/tty_pty.c#50 integrate .. //depot/projects/smpng/sys/kern/uipc_debug.c#3 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf.c#56 integrate .. //depot/projects/smpng/sys/kern/uipc_mqueue.c#15 integrate .. //depot/projects/smpng/sys/kern/uipc_sem.c#25 integrate .. //depot/projects/smpng/sys/kern/uipc_shm.c#1 branch .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#108 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#80 integrate .. //depot/projects/smpng/sys/kern/vfs_acl.c#3 integrate .. //depot/projects/smpng/sys/kern/vfs_aio.c#79 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#106 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#36 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#51 integrate .. //depot/projects/smpng/sys/kern/vfs_extattr.c#3 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#45 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#75 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#144 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#131 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#81 integrate .. //depot/projects/smpng/sys/kern/vnode_if.src#33 integrate .. //depot/projects/smpng/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/mxge/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/smpng/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/smpng/sys/modules/sf/Makefile#3 integrate .. //depot/projects/smpng/sys/net/bpf.c#71 integrate .. //depot/projects/smpng/sys/net/bpf.h#22 integrate .. //depot/projects/smpng/sys/net/bpf_filter.c#12 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.c#10 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.h#7 integrate .. //depot/projects/smpng/sys/net/if_bridge.c#47 integrate .. //depot/projects/smpng/sys/net/if_enc.c#8 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#9 integrate .. //depot/projects/smpng/sys/net/netisr.h#10 integrate .. //depot/projects/smpng/sys/net/route.c#33 integrate .. //depot/projects/smpng/sys/net/route.h#25 integrate .. //depot/projects/smpng/sys/netgraph/ng_base.c#51 integrate .. //depot/projects/smpng/sys/netgraph/ng_pppoe.c#32 integrate .. //depot/projects/smpng/sys/netgraph/ng_pppoe.h#14 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.c#45 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#57 integrate .. //depot/projects/smpng/sys/netinet/if_ether.h#10 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#77 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.c#48 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#65 integrate .. //depot/projects/smpng/sys/netinet6/frag6.c#15 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#41 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#41 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#22 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#51 integrate .. //depot/projects/smpng/sys/netinet6/in6_proto.c#22 integrate .. //depot/projects/smpng/sys/netinet6/in6_rmx.c#12 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#32 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#50 integrate .. //depot/projects/smpng/sys/netinet6/ip6_mroute.c#32 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#49 integrate .. //depot/projects/smpng/sys/netinet6/mld6.c#22 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#43 integrate .. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#27 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#20 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#46 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#45 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vfsops.c#20 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#24 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#53 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#32 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#61 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#68 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#54 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#41 integrate .. //depot/projects/smpng/sys/opencrypto/cryptodev.c#25 integrate .. //depot/projects/smpng/sys/pc98/cbus/gdc.c#4 integrate .. //depot/projects/smpng/sys/pc98/cbus/pckbd.c#5 integrate .. //depot/projects/smpng/sys/pc98/cbus/scgdcrndr.c#3 integrate .. //depot/projects/smpng/sys/pc98/cbus/sio.c#11 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#72 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#25 integrate .. //depot/projects/smpng/sys/pci/amdsmb.c#5 integrate .. //depot/projects/smpng/sys/pci/if_rlreg.h#38 integrate .. //depot/projects/smpng/sys/pci/if_sf.c#47 delete .. //depot/projects/smpng/sys/pci/if_sfreg.h#12 delete .. //depot/projects/smpng/sys/pci/nfsmb.c#7 integrate .. //depot/projects/smpng/sys/powerpc/aim/machdep.c#2 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#45 integrate .. //depot/projects/smpng/sys/powerpc/include/vmparam.h#8 integrate .. //depot/projects/smpng/sys/powerpc/powermac/grackle.c#10 integrate .. //depot/projects/smpng/sys/powerpc/powermac/macio.c#14 integrate .. //depot/projects/smpng/sys/powerpc/powermac/pswitch.c#6 integrate .. //depot/projects/smpng/sys/powerpc/powermac/uninorth.c#14 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/pmap_dispatch.c#10 integrate .. //depot/projects/smpng/sys/powerpc/psim/iobus.c#10 integrate .. //depot/projects/smpng/sys/security/audit/audit_arg.c#11 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm.c#8 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm_klib.c#7 integrate .. //depot/projects/smpng/sys/security/audit/audit_pipe.c#8 integrate .. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#12 integrate .. //depot/projects/smpng/sys/security/audit/audit_worker.c#6 integrate .. //depot/projects/smpng/sys/security/mac/mac_framework.h#9 integrate .. //depot/projects/smpng/sys/security/mac/mac_policy.h#6 integrate .. //depot/projects/smpng/sys/security/mac/mac_posix_shm.c#1 branch .. //depot/projects/smpng/sys/security/mac/mac_process.c#15 integrate .. //depot/projects/smpng/sys/security/mac/mac_syscalls.c#4 integrate .. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#24 integrate .. //depot/projects/smpng/sys/security/mac_test/mac_test.c#40 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#79 integrate .. //depot/projects/smpng/sys/sparc64/include/vmparam.h#16 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#44 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#88 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#72 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#78 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/tsb.c#26 integrate .. //depot/projects/smpng/sys/sun4v/include/vmparam.h#5 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/hvcons.c#6 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#7 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#13 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/trap.c#9 integrate .. //depot/projects/smpng/sys/sys/buf.h#47 integrate .. //depot/projects/smpng/sys/sys/copyright.h#11 integrate .. //depot/projects/smpng/sys/sys/fcntl.h#7 integrate .. //depot/projects/smpng/sys/sys/file.h#27 integrate .. //depot/projects/smpng/sys/sys/kdb.h#5 integrate .. //depot/projects/smpng/sys/sys/kernel.h#38 integrate .. //depot/projects/smpng/sys/sys/kerneldump.h#9 integrate .. //depot/projects/smpng/sys/sys/lockmgr.h#22 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#73 integrate .. //depot/projects/smpng/sys/sys/mman.h#11 integrate .. //depot/projects/smpng/sys/sys/param.h#120 integrate .. //depot/projects/smpng/sys/sys/pmc.h#9 integrate .. //depot/projects/smpng/sys/sys/priv.h#8 integrate .. //depot/projects/smpng/sys/sys/proc.h#182 integrate .. //depot/projects/smpng/sys/sys/signal.h#27 integrate .. //depot/projects/smpng/sys/sys/syscall.h#80 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#80 integrate .. //depot/projects/smpng/sys/sys/syscallsubr.h#52 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#46 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#84 integrate .. //depot/projects/smpng/sys/sys/time.h#24 integrate .. //depot/projects/smpng/sys/sys/tree.h#9 integrate .. //depot/projects/smpng/sys/sys/unpcb.h#13 integrate .. //depot/projects/smpng/sys/sys/user.h#29 integrate .. //depot/projects/smpng/sys/sys/vnode.h#82 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_balloc.c#19 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_rawread.c#20 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#64 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#66 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#96 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#55 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_extattr.c#41 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#29 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#40 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#65 integrate .. //depot/projects/smpng/sys/vm/pmap.h#35 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#73 integrate .. //depot/projects/smpng/sys/vm/vm.h#11 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#45 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#69 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#39 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#88 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#64 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#96 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#34 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#95 integrate .. //depot/projects/smpng/sys/vm/vm_phys.c#3 integrate .. //depot/projects/smpng/sys/vm/vm_reserv.c#1 branch .. //depot/projects/smpng/sys/vm/vm_reserv.h#1 branch .. //depot/projects/smpng/sys/vm/vnode_pager.c#64 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#68 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.679 2007/12/12 20:24:06 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.680 2007/12/25 17:51:55 rwatson Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1277,7 +1277,8 @@ #ifdef KDB if (boothowto & RB_KDB) - kdb_enter("Boot flags requested debugger"); + kdb_enter(KDB_WHY_BOOTFLAGS, + "Boot flags requested debugger"); #endif identify_cpu(); /* Final stage of CPU initialization */ ==== //depot/projects/smpng/sys/amd64/amd64/mp_watchdog.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/amd64/amd64/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $ + * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.6 2007/12/25 17:51:55 rwatson Exp $ */ #include "opt_mp_watchdog.h" @@ -203,7 +203,7 @@ if (watchdog_nmi) watchdog_ipi_nmi(); else - kdb_enter("mp_watchdog"); + kdb_enter(KDB_WHY_WATCHDOG, "mp_watchdog"); } } bcopy(old_pcomm, p->p_comm, MAXCOMLEN + 1); ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#77 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.599 2007/12/09 21:00:35 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $"); /* * Manages physical address maps. @@ -149,11 +149,7 @@ #define PMAP_SHPGPERPROC 200 #endif -#if defined(DIAGNOSTIC) -#define PMAP_DIAGNOSTIC -#endif - -#if !defined(PMAP_DIAGNOSTIC) +#if !defined(DIAGNOSTIC) #define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE @@ -614,7 +610,6 @@ { TAILQ_INIT(&m->md.pv_list); - m->md.pv_list_count = 0; } /* @@ -1554,7 +1549,7 @@ /* We need a new PDP entry */ nkpg = vm_page_alloc(NULL, nkpt, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); @@ -1572,12 +1567,9 @@ continue; } - /* - * This index is bogus, but out of the way - */ - nkpg = vm_page_alloc(NULL, nkpt, + nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end), VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); nkpt++; @@ -1702,7 +1694,6 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); - m->md.pv_list_count--; free_pv_entry(pmap, pv); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); @@ -1850,7 +1841,6 @@ } KASSERT(pv != NULL, ("pmap_remove_entry: pv not found")); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); free_pv_entry(pmap, pv); @@ -1870,7 +1860,6 @@ pv = get_pv_entry(pmap, FALSE); pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; } /* @@ -1887,7 +1876,6 @@ (pv = get_pv_entry(pmap, TRUE)) != NULL) { pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; return (TRUE); } else return (FALSE); @@ -2083,15 +2071,8 @@ pd_entry_t ptepde; vm_page_t free; -#if defined(PMAP_DIAGNOSTIC) - /* - * XXX This makes pmap_remove_all() illegal for non-managed pages! - */ - if (m->flags & PG_FICTITIOUS) { - panic("pmap_remove_all: illegal for unmanaged page, va: 0x%lx", - VM_PAGE_TO_PHYS(m)); - } -#endif + KASSERT((m->flags & PG_FICTITIOUS) == 0, + ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { pmap = PV_PMAP(pv); @@ -2121,7 +2102,6 @@ pmap_invalidate_page(pmap, pv->pv_va); pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); } @@ -2253,8 +2233,8 @@ * insert this page into the given map NOW. */ void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, - boolean_t wired) +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) { vm_paddr_t pa; pd_entry_t *pde; @@ -2265,12 +2245,9 @@ boolean_t invlva; va = trunc_page(va); -#ifdef PMAP_DIAGNOSTIC - if (va > VM_MAX_KERNEL_ADDRESS) - panic("pmap_enter: toobig"); - if ((va >= UPT_MIN_ADDRESS) && (va < UPT_MAX_ADDRESS)) - panic("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va); -#endif + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va)); mpte = NULL; @@ -2284,19 +2261,9 @@ if (va < VM_MAXUSER_ADDRESS) { mpte = pmap_allocpte(pmap, va, M_WAITOK); } -#if 0 && defined(PMAP_DIAGNOSTIC) - else { - pd_entry_t *pdeaddr = pmap_pde(pmap, va); - origpte = *pdeaddr; - if ((origpte & PG_V) == 0) { - panic("pmap_enter: invalid kernel page table page, pde=%p, va=%p\n", - origpte, va); - } - } -#endif pde = pmap_pde(pmap, va); - if (pde != NULL) { + if (pde != NULL && (*pde & PG_V) != 0) { if ((*pde & PG_PS) != 0) panic("pmap_enter: attempted pmap_enter on 2MB page"); pte = pmap_pde_to_pte(pde, va); @@ -2307,7 +2274,7 @@ * Page Directory table entry not valid, we need a new PT page */ if (pte == NULL) - panic("pmap_enter: invalid page directory va=%#lx\n", va); + panic("pmap_enter: invalid page directory va=%#lx", va); pa = VM_PAGE_TO_PHYS(m); om = NULL; @@ -2761,8 +2728,8 @@ pdp_entry_t *pdpe; pd_entry_t srcptepaddr, *pde; - if (addr >= UPT_MIN_ADDRESS) - panic("pmap_copy: invalid to pmap_copy page tables"); + KASSERT(addr < UPT_MIN_ADDRESS, + ("pmap_copy: invalid to pmap_copy page tables")); pml4e = pmap_pml4e(src_pmap, addr); if ((*pml4e & PG_V) == 0) { @@ -2800,8 +2767,8 @@ } srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME); - if (srcmpte->wire_count == 0) - panic("pmap_copy: source page table page is unused"); + KASSERT(srcmpte->wire_count > 0, + ("pmap_copy: source page table page is unused")); if (va_next > end_addr) va_next = end_addr; @@ -3048,7 +3015,6 @@ PV_STAT(pv_entry_spare++); pv_entry_count--; pc->pc_map[field] |= bitmask; - m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); @@ -3121,7 +3087,7 @@ PMAP_LOCK(pmap); pde = pmap_pde(pmap, addr); if (pde != NULL && (*pde & PG_V)) { - pte = vtopte(addr); + pte = pmap_pde_to_pte(pde, addr); rv = (*pte & PG_V) == 0; } PMAP_UNLOCK(pmap); ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#60 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.490 2007/12/15 00:56:16 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.491 2008/01/07 21:40:09 jhb Exp $ cpu HAMMER ident GENERIC @@ -52,6 +52,7 @@ options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support ==== //depot/projects/smpng/sys/amd64/conf/NOTES#40 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.73 2007/12/15 00:56:16 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.74 2007/12/28 22:50:04 rpaulo Exp $ # # @@ -411,6 +411,7 @@ # vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver +# asmc: Apple System Management Controller # Notes on the Specialix SI/XIO driver: # The host card is memory, not IO mapped. @@ -436,7 +437,7 @@ hint.pbio.0.port="0x360" device smbios device vpd - +device asmc # # Laptop/Notebook options: # ==== //depot/projects/smpng/sys/amd64/include/_types.h#8 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.12 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -64,7 +64,7 @@ typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; -typedef double __float_t; +typedef float __float_t; typedef __int64_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; ==== //depot/projects/smpng/sys/amd64/include/float.h#7 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 - * $FreeBSD: src/sys/amd64/include/float.h,v 1.15 2005/01/05 20:17:20 imp Exp $ + * $FreeBSD: src/sys/amd64/include/float.h,v 1.16 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE_FLOAT_H_ @@ -42,7 +42,7 @@ #define FLT_RADIX 2 /* b */ #define FLT_ROUNDS __flt_rounds() #if __ISO_C_VISIBLE >= 1999 -#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ +#define FLT_EVAL_METHOD 0 /* no promotions */ #define DECIMAL_DIG 21 /* max precision in decimal digits */ #endif ==== //depot/projects/smpng/sys/amd64/include/ieeefp.h#8 (text+ko) ==== @@ -32,32 +32,33 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.19 2008/01/11 17:11:32 bde Exp $ */ +#ifndef _MACHINE_IEEEFP_H_ +#define _MACHINE_IEEEFP_H_ + /* - * IEEE floating point type and constant definitions. + * IEEE floating point type, constant and function definitions. + * XXX: {FP,SSE}*FLD and {FP,SSE}*OFF are undocumented pollution. */ -#ifndef _MACHINE_IEEEFP_H_ -#define _MACHINE_IEEEFP_H_ - #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif /* - * FP rounding modes + * Rounding modes. */ typedef enum { FP_RN=0, /* round to nearest */ - FP_RM, /* round down to minus infinity */ - FP_RP, /* round up to plus infinity */ + FP_RM, /* round down towards minus infinity */ + FP_RP, /* round up towards plus infinity */ FP_RZ /* truncate */ } fp_rnd_t; /* - * FP precision modes + * Precision (i.e., rounding precision) modes. */ typedef enum { FP_PS=0, /* 24 bit (single-precision) */ @@ -69,7 +70,7 @@ #define fp_except_t int /* - * FP exception masks + * Exception bit masks. */ #define FP_X_INV 0x01 /* invalid operation */ #define FP_X_DNML 0x02 /* denormal */ @@ -80,23 +81,19 @@ #define FP_X_STK 0x40 /* stack fault */ /* - * FP registers + * FPU control word bit-field masks. */ -#define FP_MSKS_REG 0 /* exception masks */ -#define FP_PRC_REG 0 /* precision */ -#define FP_RND_REG 0 /* direction */ -#define FP_STKY_REG 1 /* sticky flags */ +#define FP_MSKS_FLD 0x3f /* exception masks field */ +#define FP_PRC_FLD 0x300 /* precision control field */ +#define FP_RND_FLD 0xc00 /* rounding control field */ /* - * FP register bit field masks + * FPU status word bit-field masks. */ -#define FP_MSKS_FLD 0x3f /* exception masks field */ -#define FP_PRC_FLD 0x300 /* precision control field */ -#define FP_RND_FLD 0xc00 /* round control field */ #define FP_STKY_FLD 0x3f /* sticky flags field */ /* - * SSE mxcsr register bit field masks + * SSE mxcsr register bit-field masks. */ #define SSE_STKY_FLD 0x3f /* exception flags */ #define SSE_DAZ_FLD 0x40 /* Denormals are zero */ @@ -105,15 +102,19 @@ #define SSE_FZ_FLD 0x8000 /* flush to zero on underflow */ /* - * FP register bit field offsets + * FPU control word bit-field offsets (shift counts). */ #define FP_MSKS_OFF 0 /* exception masks offset */ #define FP_PRC_OFF 8 /* precision control offset */ -#define FP_RND_OFF 10 /* round control offset */ +#define FP_RND_OFF 10 /* rounding control offset */ + +/* + * FPU status word bit-field offsets (shift counts). + */ #define FP_STKY_OFF 0 /* sticky flags offset */ /* - * SSE mxcsr register bit field offsets + * SSE mxcsr register bit-field offsets (shift counts). */ #define SSE_STKY_OFF 0 /* exception flags offset */ #define SSE_DAZ_OFF 6 /* DAZ exception mask offset */ @@ -121,18 +122,45 @@ #define SSE_RND_OFF 13 /* rounding control offset */ #define SSE_FZ_OFF 15 /* flush to zero offset */ -#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \ - && !defined(__cplusplus) +#ifdef __GNUCLIKE_ASM +#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) #define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) +#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) #define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr))) #define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr))) /* + * Load the control word. Be careful not to trap if there is a currently + * unmasked exception (ones that will become freshly unmasked are not a + * problem). This case must be handled by a save/restore of the + * environment or even of the full x87 state. Accessing the environment + * is very inefficient, so only do it when necessary. + */ +static __inline void +__fnldcw(unsigned short _cw, unsigned short _newcw) +{ + struct { + unsigned _cw; + unsigned _other[6]; + } _env; + unsigned short _sw; + + if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { + __fnstsw(&_sw); + if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { + __fnstenv(&_env); + _env._cw = _newcw; + __fldenv(&_env); + return; + } + } + __fldcw(&_newcw); +} + +/* * General notes about conflicting SSE vs FP status bits. * This code assumes that software will not fiddle with the control * bits of the SSE and x87 in such a way to get them out of sync and @@ -143,28 +171,27 @@ * merge the two together. I think. */ -/* Set rounding control */ -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpgetround(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_RND_FLD) >> FP_RND_OFF); + return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); } -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpsetround(fp_rnd_t _m) { - unsigned short _cw; - unsigned int _mxcsr; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jan 21 20:13:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8521216A420; Mon, 21 Jan 2008 20: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 1AC4316A41A for ; Mon, 21 Jan 2008 20:13:00 +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 131DC13C442 for ; Mon, 21 Jan 2008 20:13:00 +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 m0LKCx4T090106 for ; Mon, 21 Jan 2008 20:12:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LKCrmR090097 for perforce@freebsd.org; Mon, 21 Jan 2008 20:12:53 GMT (envelope-from jb@freebsd.org) Date: Mon, 21 Jan 2008 20:12:53 GMT Message-Id: <200801212012.m0LKCrmR090097@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 133810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 20:13:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=133810 Change 133810 by jb@jb_freebsd1 on 2008/01/21 20:12:48 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/Makefile#3 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/Makefile#1 branch .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#1 branch .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#19 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/x11/chapter.sgml#3 integrate .. //depot/projects/dtrace/ports/GIDs#14 integrate .. //depot/projects/dtrace/ports/MOVED#63 integrate .. //depot/projects/dtrace/ports/Mk/bsd.php.mk#12 integrate .. //depot/projects/dtrace/ports/UIDs#17 integrate .. //depot/projects/dtrace/ports/UPDATING#47 integrate .. //depot/projects/dtrace/src/Makefile.inc1#37 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#26 integrate .. //depot/projects/dtrace/src/etc/rc.firewall#8 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_rem_pio2.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_rem_pio2f.c#4 delete .. //depot/projects/dtrace/src/lib/msun/src/math_private.h#6 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_exp2f.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/src/s_log1pf.c#5 integrate .. //depot/projects/dtrace/src/release/doc/share/misc/dev.archlist.txt#15 integrate .. //depot/projects/dtrace/src/release/fixit.profile#5 integrate .. //depot/projects/dtrace/src/sbin/ipfw/ipfw2.c#15 integrate .. //depot/projects/dtrace/src/share/man/man4/axe.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/sf.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/vlan.4#8 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#19 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#19 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#19 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#19 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#19 integrate .. //depot/projects/dtrace/src/sys/conf/files#66 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_sge.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/sys/cxgb_support.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/dtrace/src/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/dtrace/src/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/dtrace/src/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#18 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#17 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#14 integrate .. //depot/projects/dtrace/src/sys/modules/sf/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_src.c#11 integrate .. //depot/projects/dtrace/src/sys/pci/amdsmb.c#7 integrate .. //depot/projects/dtrace/src/sys/pci/if_sf.c#7 delete .. //depot/projects/dtrace/src/sys/pci/if_sfreg.h#6 delete .. //depot/projects/dtrace/src/sys/pci/nfsmb.c#10 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#17 integrate .. //depot/projects/dtrace/src/sys/sys/signal.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#18 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#18 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#18 integrate .. //depot/projects/dtrace/src/sys/sys/user.h#7 integrate .. //depot/projects/dtrace/src/tools/build/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.bin/procstat/procstat_files.c#3 integrate .. //depot/projects/dtrace/www/en/security/security.sgml#12 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#19 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/Makefile#3 (text+ko) ==== @@ -1,11 +1,12 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/books/Makefile,v 1.2 2008/01/14 14:19:43 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/books/Makefile,v 1.3 2008/01/20 23:05:16 keramida Exp $ # # %SOURCE% en_US.ISO8859-1/books/Makefile -# %SRCID% 1.1 +# %SRCID% 1.14 -SUBDIR = handbook +SUBDIR = faq +SUBDIR+= handbook -ROOT_SYMLINKS= handbook +ROOT_SYMLINKS= faq handbook DOC_PREFIX?= ${.CURDIR}/../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml#3 (text+ko) ==== @@ -4,7 +4,7 @@ The FreeBSD Greek Documentation Project - $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml,v 1.3 2008/01/14 22:42:25 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml,v 1.4 2008/01/20 22:53:02 keramida Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml %SRCID% 1.11 @@ -82,7 +82,7 @@ - 孲 &os; 灖錝鍷臩懤臩 錼濊瀦鼖濋 + 孲 &os; 灖錝鍷臩懤臩 錼濊瀦鼖濋 孲 Parallels 鵴 MacOS ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml#3 (text+ko) ==== @@ -4,10 +4,10 @@ The FreeBSD Greek Documentation Project - $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml,v 1.2 2008/01/14 14:19:47 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml,v 1.3 2008/01/20 22:57:42 keramida Exp $ - %SOURCE% en_US.ISO8859-1/books/handbook/x11/chapter.sgml - %SRCID% 1.1 + %SOURCE% en_US.ISO8859-1/books/handbook/x11/chapter.sgml + %SRCID% 1.184 --> @@ -26,54 +26,53 @@ - 孲 郤黀賚 X Windows + 孲 郤黀賚 X Window 郤臩鸄 - 孲 FreeBSD 虀踠濇瀔毉橀 鐐 X11 蜒 罅 謯鵚灚 黀瀦 虀祼醲 - 楜 澞蘻嬿 蜤暡濋 謥齌瘌錭瀍 殥蝁鵸摥. 孲 X11 + 孲 FreeBSD 虀踠濇瀔毉橀 鐐 謥齌瘌錭瀍 X11 蜒 罅 謯鵚灚 黀瀦 + 虀祼醲 楜 澞蘻嬿 蜤暡濋 謥齌瘌錭瀍 殥蝁鵸摥. 孲 謥齌瘌錭瀍 X11 橀罅 擩 纆瀔檽踠 摿毉臲燽 蕘僸罼 鐐 黼黀碡敳濿 X Window 豵 謥齌錆懧塥樥 鏸鵿 鐐 &xorg; 鵿 罼 鐐 - &xfree86;. 矨 樏噉鵴澽 鐐 &os; 徾虀 罼 - 黼斶殥澣摐皸臩徾臩 鐐 &os; 5.2.1-RELEASE - 僸摜椼瀦 黀賝 貘櫇謮錼蜵楜 樍罼轗黀摷 鐐 - &xfree86;, 鐐 X11 server 摫 - The &xfree86; Project, Inc. 闋 鐐 &os; 5.3-RELEASE, - 貘櫇謮錼蜵楜 罼 歑裍賚 僸摿瀌 鐐 X11 塝錆鍷 黀 - &xorg;, 鐐 X11 server 豵 摿摫鐊玁賙 摫 - 鐐 X.Org Foundation 懤 塤樥 虀祼趛 摙耪轗 斀殧 懤 斠轘 豵 虀踠濇瀔毉橀酃 - 摫 鐐 &os;. 涾塱艬罍 歑裍趛 僸摜楻濇毉 樦豵齌膬 X servers 蜒 鐐 &os;. - + &xfree86;. 矨 樏噉鵴澽 鐐 &os; 徾虀 + 罼 鐋 椻儌鵰 &os; 5.2.1-RELEASE 僸摜椼瀦 黀賝 + 貘櫇謮錼蜵楜 樍罼轗黀摷 鐐 &xfree86;, + 鐐 X11 server 摫 鐐 &xfree86; Project, Inc. 闋 鐐 + &os; 5.3-RELEASE 膦 椲樥酃, 貘櫇謮錼蜵楜 罼 歑裍賚 + 僸摿瀌 鐐 X11 塝錆鍷 黀 &xorg;, 鐐 + X11 server 豵 摿摫鐊玁賙 摫 鐐 X.Org Foundation 懤 塤樥 虀祼趛 + 摙耪轗 斀殧 懤 斠轘 豵 虀踠濇瀔毉橀酃 摫 鐐 &os;. 涾塱艬罍 + 歑裍趛 僸摜楻濇毉 樦豵齌膬 X servers 蜒 鐐 &os;. - 孲 耪孌錆濈 斠鏸 魨 罼錔鷿 鐋 樍罼轗黀摷 罼 巃鳻澞 鐐 - X11 懤 椷攠鵰 黀 &xorg;. 鏑 - 謻趡濼瀎蜌 齀殦濋 懤 鐋 巃鳻澞 鐐 &xfree86; - (.. 鵴 謯錁醲鼫 樏噉鵴澽 鐐 &os; 豵 鐐 - &xfree86; 禂摿 貘櫇謮錼蜵楜 僸摿瀌 X11), - 斶瀎橀醲 謣薀 罅 摿敳鵚鍷醲 黀澽 摙灚濈鳺鐋徾翴 樏噉鵴澽 鐐 - &os; Handbook 黀 . + 隸鏸 鐐 耪孌錆濈 魨 罼錔鷿 鐋 樍罼轗黀摷 罼 巃鳻澞 鐒 X11 懤 + 椷攠鵰 黀賝 椻儌鵰 &xorg.version; 鐐 &xorg; + &xorg.version;. 鏑 謻趡濼瀎蜌 齀殦濋 懤 鐋 巃鳻澞 + 鐐 &xfree86; (.. 鵴 謯錁醲鼫 樏噉鵴澽 + 鐐 &os; 豵 鐐 &xfree86; 禂摿 + 貘櫇謮錼蜵楜 僸摿瀌 X11), 斶瀎橀醲 謣薀 罅 摿敳鵚鍷醲 黀澽 + 摙灚濈鳺鐋徾翴 樏噉鵴澽 鐐 顯灚濄毈蜍 鐐 &os; 黀 + 僸濆儓薃 . 鏑 謥齌麑醲鼫 謻趡濼瀎蜌 豵 齀殦蛺瀍酃 懤 鏻 縔嚪殣 蜤暡濋 - 豵 臝瀀鐋麌緮薀摋 摫 鐐 X11, 麧裎 鐋 僸臲礭縤 鐐豵鳺鵸 &xorg;. + 豵 臝瀀鐋麌緮薀摋 摫 鐐 謥齌瘌錭瀍 X11, 麧裎 鐋 僸臲礭縤 + 鐐豵鳺鵸 &xorg;. 雖燽 僸摵嫇殦 斠鏸 鐐 耪孌錆濈, 魨 鍌鼫醲: - 婛 僸媺瀎 鐔碡敳 鐐 黼黀碡敳濿 X Windows, 罼 蹠 + 婛 僸媺瀎 鐔碡敳 鐐 黼黀碡敳濿 X Window, 罼 蹠 黼翴鼖塍瀍酃 懤酃鞡 鐐蘪. - 唄 罅 樍罼酃黀祼殦 罼 罅 嚬鳻裍殦 鐐 X11. + 哱 罅 樍罼酃黀祼殦 罼 罅 嚬鳻裍殦 鐐 謥齌瘌錭瀍 X11. - 唄 罅 樍罼酃黀祼殦 罼 罅 嚬鳻裍殦 僸暡瀎殦濋燽 - window managers. + 唄 罅 樍罼酃黀祼殦 罼 罅 嚬鳻裍殦 僸暡瀎殦濋燽 window + managers. @@ -81,85 +80,94 @@ - 唄 罅 嚬鳻裍殦 鐐 匷黀賚 鶋 蜒 logins 鵴 蜤暡濋 - 謥齌瘌錭瀍 (XDM). + 唄 罅 嚬鳻裍殦 鐐 匷黀賚 鶋 蜒 匷罽殢 (login) 徾齍 + 蜤暡濋燽 謥齌瘌錭瀍鐐 ((XDM). 哢澼 僸摵嫇殦 斠鏸 鐐 耪孌錆濈, 魨 貘椲樥: - 俉 鍌鼫醲 蹠 罅 樍罼酃黀祼殦 貘鵩殦 錝蜒鶂濋 鐙裎瀦 - 罼酃鵳氁摷轘 (). + + 俉 鍌鼫醲 蹠 罅 樍罼酃黀祼殦 貘鵩殦 錝蜒鶂濋 鐙裎瀦 + 罼酃鵳氁摷轘 (). + - Understanding X + 忯酃薤踠 鐐 謥齌瘌錭瀍鐐 X11 - Using X for the first time can be somewhat of a shock to someone - familiar with other graphical environments, such as µsoft.windows; or - &macos;. + 虀祼 鐐 謥齌瘌錭瀍鐐 X11 蜒 貘鐋 獿鵘 斶瀎橀 罅 貘氋摠楻樥 + 擩 擩膲 酃鼁斖 鵴 豵濈 歃樥 黼耬魵鵴 鵴 塝錆 蜤暡濋 謥齌瘌錭瀍酃, + 蹠 酃 µsoft.windows; 鐐 &macos;. - While it is not necessary to understand all of the details of various - X components and how they interact, some basic knowledge makes - it possible to take advantage of X's strengths. + 邋臄縔, 麧 橀罅 摫摙摲鐋鐐 罅 歃殦 罼酃醏瞂 縔鳺 錼贄瀌楒樥 + 鐒 僸暡夒 鐔賚嫄 鐐 X11 罼 蹧 摠錣錼謮儊燽 懤酃鞡 鐐蘪. + 忳豵毇 皸鶅縥 蝂鵴澽, 檛, 橀罅 虀祼濇殣 罼 碨賥燽 黀 罅 + 樏懤酃錭氁醲裎 鏻 勯罅鏸鐋醲 鐐 X11 罼錔醲鼁. - Why X? + 鏑敳 錧蜲酃 X11 鐐 謥齌瘌錭瀍 殥蝁鵸摥; - X is not the first window system written for &unix;, but it is the - most popular of them. X's original development team had worked on another - window system prior to writing X. That system's name was - W (for Window). X was just the next - letter in the Roman alphabet. + 孲 X 麧 橀罅 鐐 貘鐐 謥齌瘌錭瀍 殥蝁鵸摥 豵 蜤媺鐋耪 蜒 + 黼黀碡敳 &unix;, 摠醏 橀罅 鶀懤鼁 鐐 謮 儃斀灖錧. 摙玃縤 瀌塤 + 摿塣鏷鍡 鐐 X 橀灚 儌纆歂樥 鵴 楜 塝錝 匷黀賚 貘澼 蜤媱樥 鐐 X. + 孲 臩憼 鐐 謯錁醲厴 黼黀碡敳濿 禂摿 W (摫 鐋 + 錨蜱濋 錧鍡 window). 孲 蜤塙憼 X 禂摿 摫醏 鐐 歑懤臩 + 蜤塙憼 黀 呫鏻臄蕓 摠孌瞀鐐. - X can be called X, X Window System, - X11, and a number of other terms. You may find - that using the term X Windows to describe X11 - can be offensive to some people; for a bit more insight on - this, see &man.X.7;. + 泫瀎橀醲 罅 摿暡楒殢鳺 黀 X 懤 酃 + 瀍憼酃 X, X Window + System, X11, 罼噮 罼 懤 懤齌膬 塝錝蘪 + 厴蘪. 哢瀀濷 檛: 縔豵濈 塥黓豵 鳺厴 貘瀀碲踣濋 鐐 + 厴 X Windows. 鏑 謥齌麑醲鼫 謻趡濼瀎蜌 齀殦濋 懤 + 斠鏸, 麧裎 鐐 manpage &man.X.7;. - The X Client/Server Model + 孲 泬薀楋 凎醏鐋/灌摓瀌澞轘 鐒 X11 + + 孲 謥齌瘌錭瀍 X11 歃樥 齀槼殧黀橀 摫 鐋 摙斖 椼鶅 黀 罅 歃樥 + 樍蜲縶 僸臲礭縤 臝瀀轘齌鍡, 懤 瘌鵰 楜 + 斀薀楋 謥醏鐋-僸摓瀌澞轘. - X was designed from the beginning to be network-centric, and - adopts a client-server model. - In the X model, the - X server runs on the computer that has the keyboard, - monitor, and mouse attached. The server's responsibility includes tasks such as managing - the display, handling input from the keyboard and mouse, and so on. - Each X application (such as XTerm, or - &netscape;) is a client. A - client sends messages to the server such as Please draw a - window at these coordinates, and the server sends back - messages such as The user just clicked on the OK - button. + 郙 斀薀楋 錼濊瀦鼖葐 鐐 X11, 僸摓瀌澞轘 X + 樏醲錼裎摋 黀瀍 臝瀇檶澞轘 黀瀍 瀔檽 歃樥 黼罽樘橀 鐐 謻賙鐙瀇蜒, + 歞耬 罼 鐐 豵薀蛸. 僸摓瀌澞轘 X 橀罅 臝濆儓臩 蜒 鐋 + 僸暠橀齌鵰 鐋 歞耬, 鐋 樥齘儌 摫 鐐 謻賙鐙瀇蜒, 鐐 豵薀蛸, + 膹. 忳鳺 氀摙斀蜛 X (.. 鐐 XTerm 鐐 + &netscape;) 橀罅 楜摥 + 謥醏鐋. 貲摥 謥醏鐋 黀楋翴 懞薚憼酃 黀瀍 僸摓瀌澞轘 + 蹠 凊鼁罼錌 齀槼葐鵴 楜 謯鵘儓厴 鵴 斠轕 鏻 + 黼薀殦摦徾翴, 罼 僸摓瀌澞轘 黀楋翴 謵齍 懞薚憼酃 蹠 + 虀祼鐋 檇錁 謣鐋鵴 鐐 謻碅鐙 OK. - In a home or small - office environment, the X server and the X clients commonly run on - the same computer. However, it is perfectly possible to run the X - server on a less powerful desktop computer, and run X applications - (the clients) on, say, the powerful and expensive machine that serves - the office. In this scenario the communication between the X client - and server takes place over the network. + 趵 楜 鶇裎 楜 擩膲 蜤暡橀, 僸摓瀌澞轘 罼 毉 謥醏醲 X + 黼籦 樏醲錝薀摋 黀瀍 蛷濈 臝瀇檶澞轘. 潰, 橀罅 摫錴酃 氀濋鏸 罅 + 樏醲錼裎摋 僸摓瀌澞轘 X 鵴 楜摿 錁裼醲厴 澞蘻嬿 歑濊鼁謳縃 + 臝瀇檶澞轘, 罼 罅 樏醲錝薀摋 毉 氀摙斀蜙 X (毉 謥醏醲) 鵴 楜, 摥 + 豵懤, 澞蘻嬿 罼 摓齌禕 懞攩耬憼 豵 槴臝趡殦橀 鐐 蜤暡橀. 趵 斠鏸 + 鐐 鵴縰齌 歑濋毉薋繄 懤酃鞡 鐒 謥錆鏿 X 罼 鐐 僸摓瀌澞轘 + 蝃翴酃 徾齍 僸臲瀦. - This confuses some people, because the X terminology is - exactly backward to what they expect. They expect the X - server to be the big powerful machine down the hall, and - the X client to be the machine on their desk. + 隸鏸 貘氋摠橀 匷裱蘦 鵴 瀎澞徾臩蘪, 歑樥鬿 瀎瀇檶葐 鐐 X 橀罅 + 摓齌禓 摿轚鳺鐋 摫 鏻 謥麌懤罅. 矨 虀祼醲 黼縶凞 謥齌徾臩罍 + 僸摓瀌澞轘 X 罅 橀罅 楜 懤蜡錝 澞蘻嬿 懞攩耬憼 鵴 + 楜 嘵幪鏻 罼 謥醏鐋 X 罅 橀罅 鐐 懞攩耬憼 鐐 + 蜤暡橀瀦 鐐蘪. - It is important to remember that the X server is the machine with the monitor and - keyboard, and the X clients are the programs that display the - windows. + 鑣罅 鵰憼薀濋 罅 儓幪黀 鏻 僸摓瀌澞轘 X 橀罅 鐐 懞攩耬憼 + 懤 鐋 歞耬 罼 鐐 謻賙鐙瀇蜒, 罼 毉 謥醏醲 X 橀罅 酃 + 貘檶鵘擤敳 豵 樦攠繄緮罍 酃 謯鵘儓鼁. - There is nothing in the protocol that forces the client and - server machines to be running the same operating system, or even to - be running on the same type of computer. It is certainly possible to - run an X server on µsoft.windows; or Apple's &macos;, and there are - various free and commercial applications available that do exactly - that. + 櫻 臝塱灚 轚豵酃 黀 貘鏸膬錭 豵 罅 摿摦縔緪 酃 懞欒縶憼酃 + 鐒 謥錆鏿 罼 鐐 僸摓瀌澞轘 罅 樏醲錝薀摋 黀 蛷濈 錼濊瀦鼖濋 + 匷黀賚, 摓懞 罅 樏醲錝薀摋 黀瀍 蛷濈 鐊豵 臝瀇檶澞轘. 鑣罅 + 摫錴酃 氀濋鏸 罅 樏醲錼裎摋 楜摥 僸摓瀌澞轘 X 黀 + µsoft.windows; 黀 &macos; 鐋 Apple, 罼 臝塱艬罍 僸摜楻濇殣 + 僸媺瀎殣 槶濆鳺鼫 罼 樦豵齌縥 氀摙斀蜙 豵 縔臩罍 摓齌禓 斠鏸. + @@ -1152,7 +1160,7 @@ Xaccess The protocol for connecting to - XDM controlled displays is called + XDM-controlled displays is called the X Display Manager Connection Protocol (XDMCP). This file is a ruleset for controlling XDMCP connections from remote machines. It is ignored unless the xdm-config @@ -1163,7 +1171,7 @@ Xresources This is an application-defaults file for the display - chooser and the login screens. This is where the appearance + chooser and login screens. In it, the appearance of the login program can be modified. The format is identical to the app-defaults file described in the X11 documentation. @@ -1218,7 +1226,7 @@ Running a Network Display Server In order for other clients to connect to the display - server, edit the access control rules, and enable the connection + server, you must edit the access control rules and enable the connection listener. By default these are set to conservative values. To make XDM listen for connections, first comment out a line in the xdm-config @@ -1231,9 +1239,9 @@ and then restart XDM. Remember that comments in app-defaults files begin with a ! character, not the usual #. More strict - access controls may be desired. Look at the example + access controls may be desired — look at the example entries in Xaccess, and refer to the - &man.xdm.1; manual page. + &man.xdm.1; manual page for further information. @@ -1433,7 +1441,7 @@ - Centralized consisted dialog driven desktop + Centralized, consistent, dialog-driven desktop configuration @@ -1444,13 +1452,13 @@ KDE comes with a web browser called - Konqueror, which represents + Konqueror, which is a solid competitor to other existing web browsers on &unix; systems. More information on KDE can be found on the KDE website. For FreeBSD specific information and resources on KDE, consult - the FreeBSD-KDE + the KDE on FreeBSD team's website. @@ -1559,7 +1567,7 @@ Fully configurable via mouse, with drag and - drop, etc + drop, etc. @@ -1569,8 +1577,7 @@ Integrated window manager, file manager, sound manager, - GNOME compliance module, and other - things + GNOME compliance module, and more @@ -1625,12 +1632,13 @@ ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#19 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -368,24 +368,19 @@ the wheel mechanism is better than having nothing at all, it is not necessarily the safest option. - + To lock an account completely, the &man.pw.8; command should + be used: + + &prompt.root;pw lock staff - An indirect way to secure staff accounts, and ultimately - root access is to use an alternative - login access method and - do what is known as starring out the encrypted - password for the staff accounts. Using the &man.vipw.8; - command, one can replace each instance of an encrypted password - with a single * character. - This command will update the /etc/master.passwd - file and user/password database to disable password-authenticated - logins. + This will prevent the user from logging in using any + mechanism, including &man.ssh.1;. - A staff account entry such as: + Another method of blocking access to accounts would be to + replace the encrypted password with a single + * character. This character + would never match the encrypted password and thus block user + access. For example, the following staff account: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh @@ -393,29 +388,13 @@ foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh - This change will prevent normal logins from occurring, - since the encrypted password will never match - *. With this done, - staff members must use - another mechanism to authenticate themselves such as - &man.kerberos.1; or &man.ssh.1; using a public/private key - pair. When using something like Kerberos, one generally must - secure the machines which run the Kerberos servers and your - desktop workstation. When using a public/private key pair - with ssh, one must generally secure - the machine used to login from (typically - one's workstation). An additional layer of protection can be - added to the key pair by password protecting the key pair when - creating it with &man.ssh-keygen.1;. Being able to - star out the passwords for staff accounts also - guarantees that staff members can only login through secure - access methods that you have set up. This forces all staff - members to use secure, encrypted connections for all of their - sessions, which closes an important hole used by many - intruders: sniffing the network from an unrelated, - less secure machine. + This will prevent the foobar user + from logging in using conventional methods. This method for + access restriction is flawed on sites using + Kerberos or in situations where the + user has set up keys with &man.ssh.1;. - The more indirect security mechanisms also assume that you are + These security mechanisms also assume that you are logging in from a more restrictive server to a less restrictive server. For example, if your main box is running all sorts of servers, your workstation should not be running any. In order for ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml#10 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -122,7 +122,10 @@ In the X model, the X server runs on the computer that has the keyboard, monitor, and mouse attached. The server's responsibility includes tasks such as managing - the display, handling input from the keyboard and mouse, and so on. + the display, handling input from the keyboard and mouse, and other + input or output devices (i.e. a tablet can be used as + an input device, and a video projector may be an alternative output + device). Each X application (such as XTerm, or &netscape;) is a client. A client sends messages to the server such as Please draw a ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -363,22 +363,19 @@ 訇訄邿訄訄 邽郅玼玼 訇郋郅郋赲 郇 郇 郱訄訄赲訄郅 玼迣玼邿 訄邾迣邽邿郇 訄郅迣玼邿 郋郇迣郋郅 訇訄 訇邽 邾. - + 玼迣郅邽邿迣 訇玼郇 玼迣迠邽邽邿郇 郅迡 &man.pw.8; 訄訄郅迣 訄邽迣郅訄 + 迣邿: + + &prompt.root;pw lock staff - Staff 訇玼迣郅玼玼迡 訇郋郅郋郇 邽邿郇 root 訄郇迡訄郅迣 - 迡 訇訄訄 訄郅迣玼邿 訇郋郅迣郋郇 郅迡 茤茤 郇赲 訄郇迡訄郅郇 訄迣迣 訄邽迣郅訄迠 - staff 訇玼迣郅玼玼迡邽邿郇 邽郅郇 郇 玼迣邽邿迣 郋迡 訇郋郅迣郋迠 - 茤迣迡茤迣. &man.vipw.8; 訄訄郅迣 訄邽迣郅訄郇 邽郅郇 郇 玼迣 訇玼邽邿迣 迣訄郇 - * 邾迡迣 郋郅迠 茤迣 訇郋郅郇郋. - 衪郇 訄訄郅 郇 /etc/master.passwd 訄邿郅 訇郋郅郋郇 - 迣郅迣/郇 玼迣邽邿郇 邾迡郅郅邽邿郇 訇訄訄郱迣 郇 玼迣 訄郅迣訄迣迡訄郇 郇赲 郇赲郅玼玼迡邽邿迣 - 訄訄郇 邽郇郅 訇郋郅郇郋. + 衪郇 郇 &man.ssh.1;-邽邿迣 郋郋郅郅訄訄迡 迣郅迣邽邿迣 邾訄 + 訄迣訄 訄邽迣郅訄郇 郇赲郇 郋郋迣 郋邽迣郅郋郇郋. - 邿邾玼玼 staff 訇玼迣郅邽邿郇 邽邿迣: + 玼迣郅玼玼迡迡 訄郇迡訄迣 郋邽迣郅郋 茤茤 郇迣 訄迣訄 訇郋郅 + 郇郅訄迣迡訄郇 郇 玼迣邽邿迣 迣訄郇 * + 邾迡迣 郋郅邽 赲迡訄郅 邾. 衪郇 邾迡迣 郇 郇郅訄迣迡訄郇 + 郇 玼迣邿 郱 訄訄訄迣玼邿 訇茤迣茤茤迡 迣郅迣邽邿郇 + 訄郇迡訄郅迣 訄訄 訇郋郅郇郋. 邽 郇 迡郋郋 迡迡訄郇 staff 訇玼迣郅邽邿迣: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh @@ -386,26 +383,13 @@ foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh - 虼邽郅郇 郇 玼迣 * - 邾迡迣邿 郱 訄訄訄迣玼邿 訇郋郅郋郋郋 郇 茤茤郅茤郅 郇 迮迡邽邿郇 郇赲郅玼玼迡邽邿迣 - 訇郋郅邽郅迡訄迣. 邿邾 訇郋郅郋郇 staff-邽邿郇 迣邽玼玼迡 &man.kerberos.1; 赲郅 - 郇邽邿邽邿郇/赲邽邿郇 玼郅玼玼 郋郅郋郅迣 訄邽迣郅訄郇 &man.ssh.1; 郱迣 茤茤迡邽邿迣茤茤 - 訄郇邽郅訄郇 郇赲 茤茤 訄迣訄 迣郅 訄訄迡郅訄迣訄訄邿. Kerberos-郋邿 訄迡邽郅迣 - 訄邽迣郅訄迠 訇訄邿迣訄訄 玼迮迡 迮茤郇邽邿迡茤茤 Kerberos 迮赲迮 訄迠邽郅郅訄迠 訇訄邿迣訄訄 邾訄邽郇迡 訇郋郅郋郇 - 茤茤邽邿郇 邽郇邽邿 訄迠郅郇 郕郋邾郈迮邽邿迣 訄郅迣玼邿 訇郋郅迣郋 訄訄迡郅訄迣訄訄邿. - 邽邿邽邿郇/赲邽邿郇 玼郅玼玼 郋郅郋郅迣 ssh-邿 訄邽迣郅訄迠 訇訄邿迣訄訄 玼迮迡 迮茤郇邽邿迡茤茤 - 郇赲郅邽邿迣 郅玼玼郅迠 訇訄邿迣訄訄 邾訄邽郇迣 (邽赲郅郇 - 迣郅迣邽邿郇 訄迠郅郇 郕郋邾郈迮) 訄郅迣玼邿 訇郋郅迣郋 訄訄迡郅訄迣訄訄邿. &man.ssh-keygen.1;- - 玼郅玼玼 郋郅郋郅迣 玼玼迣 玼迮迡 玼郅玼玼 郋郅郋郅迣 訄邾迣訄訄郅訄郇 郇邾郅 迡訄赲訄迣訄 - 訄邾迣訄訄郅訄郅 邽邿迠 茤迣 訇郋郅郋 邾. Staff 訇玼迣郅玼玼迡邽邿郇 郇 玼迣玼玼迡邽邿迣 - 郋迡 訇郋郅迣郋 訇郋郅郋邾迠 郇 訇訄 staff-邽邿郇 迣邽玼玼迡 郱茤赲茤郇 - 訄郇 郋邽郅訄郇 訄郅迣玼邿 訄郇迡訄郅郇 訄迣迡訄訄 迡訄邾迠邽郇 郇赲邽邿迣 - 訇訄訄郅迣訄訄迠郅迡訄迣. 衪郇 郇 訇玼 staff-邽邿郇 迣邽玼玼迡迡 訄郅迣玼邿, 邽郅迣迡郇 - 郋郅訇郋郅迡迣 迡迣邽邿郇 訇玼 迮玼玼迡迡 玼 訄邽迣郅郅迡訄迣 訇茤迣茤茤迡 郇 郇 郋郅郋郇 - 訄郅迡訄迣迡郇 訄邽迣郅訄迠 訇訄邿訄郇 訄邾訄訄訄郅迣玼邿, 訄郅迣玼邿 訇邽 邾訄邽郇訄訄 玼郅迠迣 - 邽郇郅 郇郋郋邿 郋郋郋邿迣 訄訄迡訄迣. + 衪郇 郇 foobar 迣郅迣邽邿迣 迮迡邽邿郇 + 訄迣迡 訄邽迣郅訄郇 郇赲郇 郋郋 訇郋郅郋邾迠邽邿迣 訄訄迡訄迣. 衪郇 訄郇迡訄郅 + 郱迣訄訄郅訄 訄迣訄 郇 Kerberos 訄邽迣郅訄迠 + 訇訄邿迣訄訄 訄邿迡 赲郅 迣郅迣 &man.ssh.1; 訄邽迣郅訄郇 玼郅玼玼玼玼迡 + 郋邽郅訄郇 郋邽郋郅迡郅迡 郱迣 訄迠邽郅郅訄迡訄迣迣玼邿. - 訄邿 邽郅玼玼 迡 訇 訄郅迣玼邿 訇訄邿迡郅郇 訄迣訄 郱訄邾迡 郇 訇訄 訄郇迣 邽郅玼玼 郱迣訄訄郅訄訄郇 + 衪迡迣 訄郅迣玼邿 訇訄邿迡郅郇 訄迣訄 郱訄邾迡 郇 訇訄 訄郇迣 邽郅玼玼 郱迣訄訄郅訄訄郇 迮赲迮 訄訄邿 訇訄迣訄 郱迣訄訄郅訄訄郇 邾訄邽郇 郇赲郇 郋迠 訇訄邿郇訄 迣迠 郋郋迡郋迣. 邽 郇 赲 訄郇 迣郋郅 訄邿訄迣 邽郇 訇玼 郅 茤郅邽邿郇 迮赲迮玼玼迡 訄迠邽郅郅郅迠 訇訄邿赲訄郅 訄郇 訄迠郅郇 郕郋邾郈迮 邽郇 邾迣 訄迠邽郅郅郅訄 迣玼邿. 茖茤邽邿郇 郕郋邾郈迮邽邿迣 ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/x11/chapter.sgml#3 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -125,10 +125,13 @@ X 郱訄迣赲訄 X 迮赲迮 郇 郅迣訄郇訄, 迣訄, 迡郅迣邿 訄迠邽郅郅訄迡訄迣. 衪郇 玼迮迡 - 迮赲迮邽邿郇 玼玼迣 訇郋郅 迣訄 訇郋郅郋郇 郅迣訄郇訄訄 郋郅訄郇 邾迡郅郅邽邿迣 - 玼郅迠 訄赲訄郇 郱郋邽郅訄 郱迣 迡郅迣 迡 玼邿郅迡郅玼玼迡邽邿迣 訄邽訄迠 - 訄迠邽郅郅訄迠 訇訄邿迡訄迣. X 郈郋迣訄邾 訇郋郅迣郋郇 (XTerm - 赲郅 &netscape; 迣 邾) 迣 迮赲迮邽邿郇 + 迮赲迮邽邿郇 玼玼迣 訇郋郅 迡郅迣邽邿迣 迡邽迡訄, 迣訄 訇訄 郅迣訄郇訄 訇郋郅郋郇 + 訇訄迡 郋郋郅 赲郅 迣訄訄郅郇 茤茤茤茤邾迠玼玼迡 (迠邽 郇 tablet 郇 + 郋郋郅郇 茤茤茤茤邾迠 邾訄迣訄訄 訄邽迣郅訄迣迡訄迠 赲邽迡迮郋 郈郋迮郕郋 郇 + 迣訄訄郅郇 茤茤茤茤邾迠 訇訄邿迠 訇郋郅郋 邾) 邾迡郅郅邽邿迣 玼郅迠 訄赲訄郇 + 郱郋邽郅訄 玼邿郅迡郅玼玼迡邽邿迣 訄邽訄迠 訄迠邽郅郅訄迠 訇訄邿迡訄迣. + X 郈郋迣訄邾 訇郋郅迣郋郇 (XTerm + 赲郅 &netscape; 迣 邾) 迣 迮赲迮邽邿郇 玼邿郅郅玼玼郅迣 郇 邾. 珖邿郅郅玼玼郅迣 郇 迮赲迮 迠邽郅訇郅 郇 訇訄邿郅訄郅迡 郋郇 郱郇訄 迣 邾邽邿郇 玼郅 邽郅迣迠 訇郋郅迡郋迣 訇訄邿訄迡 迮赲迮 玼邿郅郅玼玼郅迣 玼玼 迠邽郅訇郅 ==== //depot/projects/dtrace/ports/GIDs#14 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.48 2008/01/11 15:46:29 rafan Exp $ +$FreeBSD: ports/GIDs,v 1.49 2008/01/20 23:04:50 kuriyama Exp $ # Please keep this file sorted by GID! smmsp:*:25: bind:*:53: @@ -118,3 +118,4 @@ netdisco:*:840: bacula:*:910: iserv:*:911: +_relayd:*:913: ==== //depot/projects/dtrace/ports/MOVED#63 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1529 2008/01/18 21:19:47 beech Exp $ +# $FreeBSD: ports/MOVED,v 1.1532 2008/01/21 11:36:15 miwi Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3355,3 +3355,5 @@ audio/akode-plugins-polypaudio||2008-01-01|Polypaudio is obsolete in favor of pulseaudio audio/teknap|net-p2p/teknap|2008-01-09|moved to net-p2p category net/freeradius-devel|net/freeradius2|2008-01-18|Development version no longer necessary +devel/p5-gearmand|devel/p5-Gearman-Server|2008-01-20|Replaced by p5-Gearman-Server +database/mysqltoolkit|database/maatkit|2008-01-21|project was renamed ==== //depot/projects/dtrace/ports/Mk/bsd.php.mk#12 (text+ko) ==== @@ -7,7 +7,7 @@ # Please send all suggested changes to the maintainer instead of committing # them to CVS yourself. # -# $FreeBSD: ports/Mk/bsd.php.mk,v 1.44 2007/12/27 06:52:45 ale Exp $ +# $FreeBSD: ports/Mk/bsd.php.mk,v 1.45 2008/01/21 07:19:24 ale Exp $ # # Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk. # If the port requires a predefined set of PHP extensions, they can be @@ -37,9 +37,10 @@ _PHPMKINCLUDED= yes -.if exists(${LOCALBASE}/etc/php.conf) -.include "${LOCALBASE}/etc/php.conf" -PHP_EXT_DIR!= ${LOCALBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${LOCALBASE}/lib/php/\(.*\),\1,p' +PHPBASE?= ${LOCALBASE} +.if exists(${PHPBASE}/etc/php.conf) +.include "${PHPBASE}/etc/php.conf" +PHP_EXT_DIR!= ${PHPBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${PHPBASE}/lib/php/\(.*\),\1,p' .else DEFAULT_PHP_VER?= 5 @@ -138,18 +139,18 @@ PHP_PORT= ${PORTSDIR}/lang/php${PHP_VER} .if defined(USE_PHP_BUILD) -BUILD_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT} +BUILD_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT} .endif -RUN_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT} +RUN_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT} PLIST_SUB+= PHP_EXT_DIR=${PHP_EXT_DIR} SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR} .if defined(USE_PHPIZE) || defined(USE_PHPEXT) -BUILD_DEPENDS+= phpize:${PHP_PORT} -GNU_CONFIGURE= YES +BUILD_DEPENDS+= ${PHPBASE}/bin/phpize:${PHP_PORT} +GNU_CONFIGURE= yes USE_AUTOTOOLS+= autoconf:261:env -CONFIGURE_ARGS+=--with-php-config=${LOCALBASE}/bin/php-config +CONFIGURE_ARGS+=--with-php-config=${PHPBASE}/bin/php-config configure-message: phpize-message do-phpize @@ -157,7 +158,7 @@ @${ECHO_MSG} "===> PHPizing for ${PKGNAME}" do-phpize: - @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${LOCALBASE}/bin/phpize) + @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${PHPBASE}/bin/phpize) .endif .if defined(USE_PHPEXT) @@ -336,9 +337,9 @@ . if ${_USE_PHP_VER${PHP_VER}:M${extension}} != "" . if ${PHP_EXT_INC:M${extension}} == "" . if defined(USE_PHP_BUILD) -BUILD_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS} +BUILD_DEPENDS+= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS} . endif -RUN_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS} +RUN_DEPENDS+= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS} . endif . else isyes= ${extension} ==== //depot/projects/dtrace/ports/UIDs#17 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/UIDs,v 1.54 2008/01/19 11:47:16 edwin Exp $ +$FreeBSD: ports/UIDs,v 1.56 2008/01/21 10:58:19 miwi Exp $ # Please keep this file sorted by UID! smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin bind:*:53:53:Bind Sandbox:/:/usr/sbin/nologin @@ -100,6 +100,7 @@ prelude:*:281:281:Prelude user:/nonexistent:/usr/sbin/nologin _sphinx:*:312:312:Sphinxsearch Owner:/nonexistent:/usr/sbin/nologin dkfilter:*:325:325:DK Filter Owner:/nonexistent:/usr/sbin/nologin +_pma:*:336:80:phpMyAdmin Owner:/nonexistent:/sbin/nologin wildfire:*:340:340:Wildfire Daemon:/nonexistent:/usr/sbin/nologin stunnel:*:341:341:Stunnel Daemon:/nonexistent:/usr/sbin/nologin _iodined:*:353:353:Iodine Daemon:/nonexistent:/usr/sbin/nologin @@ -127,3 +128,4 @@ bacula:*:910:910:Bacula Daemon:/var/db/bacula:/usr/sbin/nologin iserv:*:911:911:Iserv Daemon:/nonexistent:/usr/sbin/nologin _sj3:*:912:912:SJ3 Daemon:/nonexistent:/usr/sbin/nologin +_relayd:*:913:913:Relay Daemon:/var/empty:/usr/sbin/nologin ==== //depot/projects/dtrace/ports/UPDATING#47 (text+ko) ==== @@ -6,6 +6,24 @@ time you update your ports collection, before attempting any port upgrades. +20080120: + AFFECTS: users of www/apache20 + AUTHOR: clement@FreeBSD.org + + BDB framework provided by bsd.database.mk is now used by www/apache20 + port. WITH_BERKELEYDB knob is deprecated in favor of WITH_BDB and + WITH_BDB_VER/WITH_BDB_BASE, see documentation for more details. + ('make show-options'). + +20080120: + AFFECTS: users of www/apache22 + AUTHOR: clement@FreeBSD.org + + BDB framework provided by bsd.database.mk is now used by www/apache22 + port. WITH_BERKELEYDB knob is deprecated in favor of WITH_BDB and + WITH_BDB_VER/WITH_BDB_BASE, see documentation for more details. + ('make show-options'). + 20080118: AFFECTS: users of net/freeradius AUTHOR: David Wood @@ -5987,4 +6005,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.575 2008/01/18 21:46:50 beech Exp $ +$FreeBSD: ports/UPDATING,v 1.578 2008/01/20 15:00:32 clement Exp $ ==== //depot/projects/dtrace/src/Makefile.inc1#37 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.592 2008/01/16 15:05:49 brueffer Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.593 2008/01/21 18:44:54 obrien Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -861,10 +861,6 @@ # legacy: Build compatibility shims for the next three targets # legacy: -.if ${BOOTSTRAPPING} < 503000 - @echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \ - false -.endif .for _tool in tools/build ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ @@ -891,26 +887,6 @@ .endif .endif -.if ${BOOTSTRAPPING} < 600029 -_texinfo= gnu/usr.bin/texinfo -.endif - -.if ${BOOTSTRAPPING} < 600015 -_cap_mkdb= usr.bin/cap_mkdb -.endif - -.if ${BOOTSTRAPPING} < 600018 -_colldef= usr.bin/colldef -.endif - -.if ${BOOTSTRAPPING} < 600017 -_gencat= usr.bin/gencat -.endif - -.if ${BOOTSTRAPPING} < 600016 -_mklocale= usr.bin/mklocale -.endif - .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -920,10 +896,6 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 600020 -_pwd_mkdb= usr.sbin/pwd_mkdb -.endif - .if ${MK_CDDL} != "no" _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \ lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge ==== //depot/projects/dtrace/src/etc/defaults/rc.conf#26 (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.322 2008/01/12 20:52:30 maxim Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.323 2008/01/21 04:41:18 rafan Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -119,6 +119,9 @@ firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports # for which denied incoming packets are not # logged. +firewall_nat_enable="NO" # Enable kernel NAT (if firewall_enable == YES) +firewall_nat_interface="" # Public interface or IPaddress to use +firewall_nat_flags="" # Additional configuration parameters ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/dtrace/src/etc/rc.firewall#8 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.firewall,v 1.53 2008/01/12 19:02:09 maxim Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.54 2008/01/21 04:41:17 rafan Exp $ # # @@ -131,7 +131,13 @@ case ${firewall_nat_enable} in [Yy][Ee][Ss]) if [ -n "${firewall_nat_interface}" ]; then - ${fwcmd} nat 123 config if ${firewall_nat_interface} log + if echo "${firewall_nat_interface}" | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + firewall_nat_flags="ip ${firewall_nat_interface} ${firewall_nat_flags}" + else + firewall_nat_flags="if ${firewall_nat_interface} ${firewall_nat_flags}" + fi + ${fwcmd} nat 123 config log ${firewall_nat_flags} ${fwcmd} add 50 nat 123 ip4 from any to any via ${firewall_nat_interface} fi ;; ==== //depot/projects/dtrace/src/lib/msun/src/k_rem_pio2.c#4 (text+ko) ==== @@ -11,9 +11,8 @@ * ==================================================== */ -#ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.7 2005/02/04 18:26:06 das Exp $"; -#endif +#include +__FBSDID("$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.9 2008/01/20 04:09:44 bde Exp $"); /* * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) @@ -131,6 +130,8 @@ * to produce the hexadecimal values shown. */ +#include + #include "math.h" #include "math_private.h" @@ -277,6 +278,7 @@ case 2: fw = 0.0; for (i=jz;i>=0;i--) fw += fq[i]; + STRICT_ASSIGN(double,fw,fw); y[0] = (ih==0)? fw: -fw; fw = fq[0]-fw; for (i=1;i<=jz;i++) fw += fq[i]; ==== //depot/projects/dtrace/src/lib/msun/src/math_private.h#6 (text+ko) ==== @@ -11,7 +11,7 @@ /* * from: @(#)fdlibm.h 5.1 93/09/24 - * $FreeBSD: src/lib/msun/src/math_private.h,v 1.22 2008/01/17 17:02:11 bde Exp $ + * $FreeBSD: src/lib/msun/src/math_private.h,v 1.23 2008/01/19 22:05:14 bde Exp $ */ #ifndef _MATH_PRIVATE_H_ @@ -164,8 +164,12 @@ #define STRICT_ASSIGN(type, lval, rval) do { \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jan 21 20:59:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4276116A53D; Mon, 21 Jan 2008 20:59:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF51516A525 for ; Mon, 21 Jan 2008 20:59:20 +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 A8C1013C465 for ; Mon, 21 Jan 2008 20:59:20 +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 m0LKxKf8002054 for ; Mon, 21 Jan 2008 20:59:20 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 m0LKxKS9002050 for perforce@freebsd.org; Mon, 21 Jan 2008 20:59:20 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 21 Jan 2008 20:59:20 GMT Message-Id: <200801212059.m0LKxKS9002050@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 133813 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 20:59:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=133813 Change 133813 by rwatson@rwatson_freebsd_capabilities on 2008/01/21 20:58:39 Correct logic in getsock_cap() to check for a socket and return it and file flags rather than check for a vnode. Copy-and-paste-o. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#3 (text+ko) ==== @@ -184,12 +184,14 @@ } } #endif /* CAPABILITIES */ - if (fp->f_vnode == NULL) { - error = EINVAL; + if (fp->f_type != DTYPE_SOCKET) { + error = ENOTSOCK; fp = NULL; goto out; } else { fhold(fp); + if (fflagp != NULL) + *fflagp = fp->f_flag; error = 0; } out: From owner-p4-projects@FreeBSD.ORG Mon Jan 21 21:22:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E1AE316A46C; Mon, 21 Jan 2008 21:22: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 5F98316A420 for ; Mon, 21 Jan 2008 21:22:50 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5970513C4CC for ; Mon, 21 Jan 2008 21:22:50 +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 m0LLMogQ005211 for ; Mon, 21 Jan 2008 21:22:50 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LLMoYr005208 for perforce@freebsd.org; Mon, 21 Jan 2008 21:22:50 GMT (envelope-from swise@FreeBSD.org) Date: Mon, 21 Jan 2008 21:22:50 GMT Message-Id: <200801212122.m0LLMoYr005208@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 133814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 21:22:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133814 Change 133814 by swise@swise:vic10:iwarp on 2008/01/21 21:22:30 Fixed error checking. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#7 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/krping/krping.c#7 (text+ko) ==== @@ -543,7 +543,7 @@ IB_ACCESS_REMOTE_WRITE, &iovbase); - if (IS_ERR(cb->rdma_buf)) { + if (IS_ERR(cb->rdma_mr)) { DEBUG_LOG(PFX "rdma_buf reg_mr failed\n"); ret = PTR_ERR(cb->rdma_mr); goto err2; @@ -567,7 +567,7 @@ IB_ACCESS_REMOTE_READ, &iovbase); - if (IS_ERR(cb->start_buf)) { + if (IS_ERR(cb->start_mr)) { DEBUG_LOG(PFX "start_buf reg_mr failed\n"); ret = PTR_ERR(cb->start_mr); goto err3; From owner-p4-projects@FreeBSD.ORG Mon Jan 21 21:43:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D153E16A41B; Mon, 21 Jan 2008 21:43: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 9418616A417 for ; Mon, 21 Jan 2008 21:43:05 +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 8515A13C461 for ; Mon, 21 Jan 2008 21:43:05 +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 m0LLh56g006122 for ; Mon, 21 Jan 2008 21:43:05 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LLh5jN006119 for perforce@freebsd.org; Mon, 21 Jan 2008 21:43:05 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 21:43:05 GMT Message-Id: <200801212143.m0LLh5jN006119@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 133817 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 21:43:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=133817 Change 133817 by imp@imp_lighthouse on 2008/01/21 21:42:49 Use proper PCPU_SET macros to set curthread and curpcb so this code has a chance of compiling in the SMP case. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#17 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#17 (text+ko) ==== @@ -270,9 +270,7 @@ #else pcpu_init(pcpup, 0, sizeof(struct pcpu)); #endif - pcpup->pc_curthread = &thread0; - cpu_thread_alloc(curthread); - pcpup->pc_curpcb = curthread->td_pcb; + cpu_thread_alloc(&thread0); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); } From owner-p4-projects@FreeBSD.ORG Mon Jan 21 22:43:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E6D2916A41B; Mon, 21 Jan 2008 22:43:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CD6F16A418 for ; Mon, 21 Jan 2008 22:43:11 +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 56D7D13C467 for ; Mon, 21 Jan 2008 22:43:11 +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 m0LMhBW1013005 for ; Mon, 21 Jan 2008 22:43:11 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LMhB0Q012998 for perforce@freebsd.org; Mon, 21 Jan 2008 22:43:11 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 22:43:11 GMT Message-Id: <200801212243.m0LMhB0Q012998@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 133821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 22:43:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=133821 Change 133821 by imp@imp_lighthouse on 2008/01/21 22:42:30 Cope with kstack0 being in KSEG0. I'm not sure this is right, but it may be right enough for the moment. gonzo@ is trying to puzzle out if this is good or not. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#8 (text+ko) ==== @@ -140,13 +140,22 @@ td2->td_frame->v1 = 1; td2->td_frame->a3 = 0; - if (!(pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack))) - panic("cpu_fork: invalid segmap"); - pte += ((vm_offset_t)td2->td_kstack >> PGSHIFT) & (NPTEPG - 1); - - for (i = 0; i < KSTACK_PAGES; i++) { - td2->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); - pte++; + /* + * thread 0 has its stack in KSEG0 space. In that case, there's + * nothing to do since we're not going to change the physical address + * of where we're swapped in at... + */ + pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack; + if (pte == NULL) { + if ((vm_offset_t)td->td_kstack < MIPS_KSEG0_START && + (vm_offset_t)td->td_kstack > MIPS_KSEG0_END) + panic("cpu_fork: invalid segmap"); + } else { + pte += ((vm_offset_t)td2->td_kstack >> PGSHIFT) & (NPTEPG - 1); + for (i = 0; i < KSTACK_PAGES; i++) { + td2->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); + pte++; + } } if (td1 == PCPU_GET(fpcurthread)) @@ -249,6 +258,15 @@ td->td_kstack_pages * PAGE_SIZE) - 1; td->td_frame = &td->td_pcb->pcb_regs; + /* + * thread 0 has its stack in KSEG0 space. In that case, there's + * nothing to do since we're not going to change the physical address + * of where we're swapped in at... + */ + if ((vm_offset_t)td->td_kstack > MIPS_KSEG0_START && + (vm_offset_t)td->td_kstack < MIPS_KSEG0_END) + return; + if (!(pte = pmap_segmap(kernel_pmap, (vm_offset_t)td->td_kstack))) panic("cpu_thread_alloc: invalid segmap"); pte += ((vm_offset_t)td->td_kstack >> PGSHIFT) & (NPTEPG - 1); From owner-p4-projects@FreeBSD.ORG Mon Jan 21 22:47:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD3E616A46D; Mon, 21 Jan 2008 22:47: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 694AC16A41A for ; Mon, 21 Jan 2008 22:47:22 +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 5B50813C45D for ; Mon, 21 Jan 2008 22:47:22 +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 m0LMlMc2020085 for ; Mon, 21 Jan 2008 22:47:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LMlGWB020082 for perforce@freebsd.org; Mon, 21 Jan 2008 22:47:16 GMT (envelope-from imp@freebsd.org) Date: Mon, 21 Jan 2008 22:47:16 GMT Message-Id: <200801212247.m0LMlGWB020082@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 133822 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 22:47:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=133822 Change 133822 by imp@imp_paco-paco on 2008/01/21 22:46:38 compile. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#9 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#9 (text+ko) ==== @@ -145,10 +145,10 @@ * nothing to do since we're not going to change the physical address * of where we're swapped in at... */ - pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack; + pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack); if (pte == NULL) { - if ((vm_offset_t)td->td_kstack < MIPS_KSEG0_START && - (vm_offset_t)td->td_kstack > MIPS_KSEG0_END) + if ((vm_offset_t)td2->td_kstack < MIPS_KSEG0_START && + (vm_offset_t)td2->td_kstack > MIPS_KSEG0_END) panic("cpu_fork: invalid segmap"); } else { pte += ((vm_offset_t)td2->td_kstack >> PGSHIFT) & (NPTEPG - 1); From owner-p4-projects@FreeBSD.ORG Mon Jan 21 22:58:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05C0816A41B; Mon, 21 Jan 2008 22:58: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 BFC8E16A419 for ; Mon, 21 Jan 2008 22:58:33 +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 B07ED13C43E for ; Mon, 21 Jan 2008 22:58:33 +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 m0LMwXDf020579 for ; Mon, 21 Jan 2008 22:58:33 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LMwXIZ020576 for perforce@freebsd.org; Mon, 21 Jan 2008 22:58:33 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 21 Jan 2008 22:58:33 GMT Message-Id: <200801212258.m0LMwXIZ020576@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 133825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 22:58:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=133825 Change 133825 by kmacy@pandemonium:kmacy:xen31 on 2008/01/21 22:58:13 enable pmap_is_prefaultable change places where there is substantial opportunity for batching back to using the mmu hypercalls Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#25 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#25 (text+ko) ==== @@ -1173,7 +1173,7 @@ pt_entry_t *pte; pte = vtopte(va); - pte_clear(pte); + PT_CLEAR_VA(pte, FALSE); } /* @@ -1224,13 +1224,15 @@ endpte = pte + count; while (pte < endpte) { oldpte |= *pte; - pte_store(pte, VM_PAGE_TO_PHYS(*ma) | pgeflag | PG_RW | PG_V); + PT_SET_VA(pte, VM_PAGE_TO_PHYS(*ma) | pgeflag | PG_RW | PG_V, FALSE); pte++; ma++; } if ((oldpte & PG_V) != 0) pmap_invalidate_range(kernel_pmap, sva, sva + count * PAGE_SIZE); + else + PT_UPDATES_FLUSH(); } /* @@ -3056,8 +3058,7 @@ * accessed (referenced) bits * during the copy. */ - *dst_pte = ptetemp & ~(PG_W | PG_M | - PG_A); + PT_SET_VA_MA(dst_pte, ptetemp & ~(PG_W | PG_M | PG_A), FALSE); dst_pmap->pm_stats.resident_count++; } else { free = NULL; @@ -3077,6 +3078,7 @@ } if (*PMAP1) *PMAP1 = 0; + PT_UPDATES_FLUSH(); sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(src_pmap); @@ -3319,8 +3321,8 @@ (uintmax_t)tpte)); - pte_clear(pte); - + PT_CLEAR_VA(pte, FALSE); + /* * Update the vm_page_t clean/reference bits. */ @@ -3342,6 +3344,7 @@ pmap->pm_stats.resident_count--; } } + PT_UPDATES_FLUSH(); if (allfree) { PV_STAT(pv_entry_spare -= _NPCPV); PV_STAT(pc_chunk_count--); @@ -3408,16 +3411,8 @@ pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) { pt_entry_t *pte; - boolean_t rv; + boolean_t rv = FALSE; - rv = FALSE; - /* XXX - * in order for writable pagetables to help, - * this has to work - check if we aren't doing - * an invlpg on the page tables linear mappings - */ - return (rv); - PMAP_LOCK(pmap); if (*pmap_pde(pmap, addr)) { pte = vtopte(addr); From owner-p4-projects@FreeBSD.ORG Mon Jan 21 23:12:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1831416A421; Mon, 21 Jan 2008 23:12: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 A48AE16A418 for ; Mon, 21 Jan 2008 23:12:48 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 93A2113C474 for ; Mon, 21 Jan 2008 23:12:48 +0000 (UTC) (envelope-from andre@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 m0LNCmjv022523 for ; Mon, 21 Jan 2008 23:12:48 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LNCm9c022520 for perforce@freebsd.org; Mon, 21 Jan 2008 23:12:48 GMT (envelope-from andre@freebsd.org) Date: Mon, 21 Jan 2008 23:12:48 GMT Message-Id: <200801212312.m0LNCm9c022520@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 133826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 23:12:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=133826 Change 133826 by andre@andre_flirtbox on 2008/01/21 23:12:42 Touch up comments. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#12 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#12 (text+ko) ==== @@ -73,7 +73,6 @@ * them in place. Only when trimming from the tail it actually frees them. * Normally we don't get mbuf chains so this isn't too much of a concern * right now. TODO. - * Add a timer that cleans out the reassembly queue after 2MSL or so. TODO. */ #include "opt_inet.h" @@ -105,7 +104,7 @@ static int tcp_reass_enabled = 1; SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, enable, CTLFLAG_WR, &tcp_reass_enabled, 0, - "Use of TCP Reassembly Queue"); + "Enable/disable use of TCP Reassembly Queue"); static int tcp_reass_maxblocks = 0; SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, maxblocks, CTLFLAG_RDTUN, @@ -124,7 +123,11 @@ static void tcp_reass_merge(struct tcpcb *, struct trq *, struct trq *); -/* Initialize TCP reassembly queue */ +uma_zone_t tcp_reass_zone; + +/* + * Adjust TCP reassembly zone limits when the nmbclusters zone changes. + */ static void tcp_reass_zone_change(void *tag) { @@ -133,8 +136,9 @@ uma_zone_set_max(tcp_reass_zone, tcp_reass_maxblocks); } -uma_zone_t tcp_reass_zone; - +/* + * Initialize TCP reassembly zone on startup. + */ void tcp_reass_init(void) { @@ -150,6 +154,9 @@ tcp_reass_zone_change, NULL, EVENTHANDLER_PRI_ANY); } +/* + * Insert segments into the reassembly queue. + */ int tcp_reass(struct tcpcb *tp, struct tcphdr *th, int *tlenp, struct mbuf *m) { @@ -164,6 +171,7 @@ /* * Call with th==NULL after becoming established to * force pre-ESTABLISHED data up to user socket. + * XXX: Was used for T/TCP of which code remains. */ if (th == NULL) { if (!TCPS_HAVEESTABLISHED(tp->t_state) || @@ -207,6 +215,7 @@ * holding on to too many segments (and thus running out of mbufs). * Make sure to let the missing segment through which caused this * queue. + * * Count the gross space used by the mbufs in the reassembly queue * and limit it to the free space in the socket buffer. This way * the reassembly queue can never consume more mbuf space than the @@ -214,6 +223,7 @@ * amount of kernel memory used. This effectively prevents mbuf * exhaustion due to pathological traffic (one byte segments with * a hole each time) on a single connection. + * * Counting the gross mbuf space effectively sets the net data * limit lower than the socket buffer would allow. * It underestimates the effective free space in the socket buffer @@ -408,9 +418,14 @@ insert: /* Prepare to insert into block queue. */ - if (tp->rcv_nxt == th->th_seq) + if (tp->rcv_nxt == th->th_seq) { + /* + * Use temporary struct trq on the stack for missing + * segment to prevent blocking of all reassembly queues + * due to zone exhaustion. + */ tqen = &tqes; - else { + } else { tqen = uma_zalloc(tcp_reass_zone, (M_NOWAIT|M_ZERO)); if (tqen == NULL) { tcpstat.tcps_rcvmemdrop++; @@ -441,7 +456,8 @@ TAILQ_INSERT_HEAD(&tp->t_trq, tqen, trq_q); /* * Flush the reassembly queue after four times the - * current retransmit interval. + * current retransmit interval measured from the + * arrival time of the first segment. */ tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); } @@ -489,7 +505,11 @@ /* NB: sorwakeup_locked() does an implicit socket buffer unlock. */ sorwakeup_locked(so); - /* Reset the flush timer if queue is not empty. */ + /* + * Restart the reassembly queue flush timer after advancing + * the sequence space and if queue is not empty. Otherwise + * deactivate it. + */ if (!TAILQ_EMPTY(&tp->t_trq)) tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); else @@ -503,6 +523,9 @@ #endif } +/* + * Merge one or more consecutive blocks together. + */ static void tcp_reass_merge(struct tcpcb *tp, struct trq *tqe, struct trq *tqen) { @@ -512,7 +535,7 @@ int i; KASSERT(tqe != NULL && tqen != NULL, - ("%s: ", __func__)); + ("%s: incomplete input", __func__)); KASSERT(SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq), ("%s: blocks do not overlap, nothing to merge", __func__)); @@ -577,7 +600,7 @@ KASSERT(!TAILQ_EMPTY(&tp->t_trq), ("%s: ", __func__)); - /* The most recent block must appear first. */ + /* The most recent block must appear first. RFC2018, Section 4. */ if (tp->t_trq_last != NULL) { sack_seq = htonl(tp->t_trq_last->trq_seq); bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); @@ -589,7 +612,7 @@ nsacks++; } - /* Add the other less recent blocks. */ + /* Add the other less recent blocks in ascending order. */ TAILQ_FOREACH(tqe, &tp->t_trq, trq_q) { if (numsacks < 1) break; @@ -609,7 +632,7 @@ } /* - * Free the reassembly queue on tcpcb free and on general memory shortage. + * Free the reassembly queue on tcpcb disposal or on general memory shortage. */ void tcp_reass_qfree(struct tcpcb *tp) From owner-p4-projects@FreeBSD.ORG Mon Jan 21 23:29:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E74916A419; Mon, 21 Jan 2008 23:29: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 3FA9F16A420 for ; Mon, 21 Jan 2008 23:29:11 +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 1424913C46B for ; Mon, 21 Jan 2008 23:29:11 +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 m0LNTAw4024682 for ; Mon, 21 Jan 2008 23:29:10 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LNTAAU024679 for perforce@freebsd.org; Mon, 21 Jan 2008 23:29:10 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 21 Jan 2008 23:29:10 GMT Message-Id: <200801212329.m0LNTAAU024679@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 133827 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 23:29:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=133827 Change 133827 by gonzo@gonzo_jeeves on 2008/01/21 23:29:06 o Back out a bit hackerish solution for kstack0 located in KSEG0 while cpu_thread_alloc expects to get it in KSEG2 presented by changesets 133821 and 133822. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#10 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#10 (text+ko) ==== @@ -140,22 +140,13 @@ td2->td_frame->v1 = 1; td2->td_frame->a3 = 0; - /* - * thread 0 has its stack in KSEG0 space. In that case, there's - * nothing to do since we're not going to change the physical address - * of where we're swapped in at... - */ - pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack); - if (pte == NULL) { - if ((vm_offset_t)td2->td_kstack < MIPS_KSEG0_START && - (vm_offset_t)td2->td_kstack > MIPS_KSEG0_END) - panic("cpu_fork: invalid segmap"); - } else { - pte += ((vm_offset_t)td2->td_kstack >> PGSHIFT) & (NPTEPG - 1); - for (i = 0; i < KSTACK_PAGES; i++) { - td2->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); - pte++; - } + if (!(pte = pmap_segmap(kernel_pmap, (vm_offset_t)td2->td_kstack))) + panic("cpu_fork: invalid segmap"); + pte += ((vm_offset_t)td2->td_kstack >> PGSHIFT) & (NPTEPG - 1); + + for (i = 0; i < KSTACK_PAGES; i++) { + td2->td_md.md_upte[i] = *pte & ~(PG_RO|PG_WIRED); + pte++; } if (td1 == PCPU_GET(fpcurthread)) @@ -258,15 +249,6 @@ td->td_kstack_pages * PAGE_SIZE) - 1; td->td_frame = &td->td_pcb->pcb_regs; - /* - * thread 0 has its stack in KSEG0 space. In that case, there's - * nothing to do since we're not going to change the physical address - * of where we're swapped in at... - */ - if ((vm_offset_t)td->td_kstack > MIPS_KSEG0_START && - (vm_offset_t)td->td_kstack < MIPS_KSEG0_END) - return; - if (!(pte = pmap_segmap(kernel_pmap, (vm_offset_t)td->td_kstack))) panic("cpu_thread_alloc: invalid segmap"); pte += ((vm_offset_t)td->td_kstack >> PGSHIFT) & (NPTEPG - 1); From owner-p4-projects@FreeBSD.ORG Mon Jan 21 23:40:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E0D016A46E; Mon, 21 Jan 2008 23:40: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 460C816A469 for ; Mon, 21 Jan 2008 23:40:29 +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 31D8613C4D3 for ; Mon, 21 Jan 2008 23:40:29 +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 m0LNeTJf026400 for ; Mon, 21 Jan 2008 23:40:29 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LNeQ1Y026397 for perforce@freebsd.org; Mon, 21 Jan 2008 23:40:26 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 21 Jan 2008 23:40:26 GMT Message-Id: <200801212340.m0LNeQ1Y026397@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 133828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 23:40:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=133828 Change 133828 by kmacy@kmacy:storage:toehead on 2008/01/21 23:39:27 IFC 133824 Affected files ... .. //depot/projects/toehead/Makefile.inc1#3 integrate .. //depot/projects/toehead/UPDATING#2 integrate .. //depot/projects/toehead/etc/defaults/rc.conf#3 integrate .. //depot/projects/toehead/etc/rc.firewall#3 integrate .. //depot/projects/toehead/lib/msun/src/k_rem_pio2.c#3 integrate .. //depot/projects/toehead/lib/msun/src/k_rem_pio2f.c#3 delete .. //depot/projects/toehead/lib/msun/src/s_log1pf.c#3 integrate .. //depot/projects/toehead/release/doc/share/misc/dev.archlist.txt#3 integrate .. //depot/projects/toehead/release/fixit.profile#2 integrate .. //depot/projects/toehead/sbin/ipfw/ipfw2.c#3 integrate .. //depot/projects/toehead/share/man/man4/axe.4#2 integrate .. //depot/projects/toehead/share/man/man4/sf.4#2 integrate .. //depot/projects/toehead/share/man/man4/vlan.4#2 integrate .. //depot/projects/toehead/share/man/man7/ports.7#3 integrate .. //depot/projects/toehead/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/toehead/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/toehead/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/toehead/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/toehead/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/toehead/sys/conf/files#5 integrate .. //depot/projects/toehead/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/toehead/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/toehead/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/toehead/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/toehead/sys/fs/coda/coda_vnops.c#4 integrate .. //depot/projects/toehead/sys/kern/init_sysent.c#3 integrate .. //depot/projects/toehead/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/toehead/sys/kern/syscalls.c#3 integrate .. //depot/projects/toehead/sys/kern/syscalls.master#3 integrate .. //depot/projects/toehead/sys/kern/systrace_args.c#3 integrate .. //depot/projects/toehead/sys/modules/sf/Makefile#2 integrate .. //depot/projects/toehead/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/toehead/sys/pci/amdsmb.c#2 integrate .. //depot/projects/toehead/sys/pci/if_sf.c#2 delete .. //depot/projects/toehead/sys/pci/if_sfreg.h#2 delete .. //depot/projects/toehead/sys/pci/nfsmb.c#2 integrate .. //depot/projects/toehead/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/toehead/sys/sys/syscall.h#3 integrate .. //depot/projects/toehead/sys/sys/syscall.mk#3 integrate .. //depot/projects/toehead/sys/sys/sysproto.h#3 integrate .. //depot/projects/toehead/sys/sys/user.h#2 integrate .. //depot/projects/toehead/tools/build/Makefile#2 integrate .. //depot/projects/toehead/usr.bin/mt/mt.1#2 integrate .. //depot/projects/toehead/usr.bin/procstat/procstat_files.c#3 integrate Differences ... ==== //depot/projects/toehead/Makefile.inc1#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.592 2008/01/16 15:05:49 brueffer Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.593 2008/01/21 18:44:54 obrien Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -841,10 +841,6 @@ # legacy: Build compatibility shims for the next three targets # legacy: -.if ${BOOTSTRAPPING} < 503000 - @echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \ - false -.endif .for _tool in tools/build ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ @@ -871,26 +867,6 @@ .endif .endif -.if ${BOOTSTRAPPING} < 600029 -_texinfo= gnu/usr.bin/texinfo -.endif - -.if ${BOOTSTRAPPING} < 600015 -_cap_mkdb= usr.bin/cap_mkdb -.endif - -.if ${BOOTSTRAPPING} < 600018 -_colldef= usr.bin/colldef -.endif - -.if ${BOOTSTRAPPING} < 600017 -_gencat= usr.bin/gencat -.endif - -.if ${BOOTSTRAPPING} < 600016 -_mklocale= usr.bin/mklocale -.endif - .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -900,10 +876,6 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 600020 -_pwd_mkdb= usr.sbin/pwd_mkdb -.endif - bootstrap-tools: .for _tool in \ ${_strfile} \ ==== //depot/projects/toehead/UPDATING#2 (text+ko) ==== @@ -21,6 +21,14 @@ developers choose to disable these features on build machines to maximize performance. +20080121: + To upgrade to -current after this date, you must be running + FreeBSD after the RELENG_6 branch point. This means any of the + 6.x releases are supported and should work. Upgrading to current + from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems. + FreeBSD_version must be 600029 or higher, although this isn't + enforced in the Makefile at this time. + 20071128: The ADAPTIVE_GIANT kernel option has been retired because its functionality is the default now. @@ -949,4 +957,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.513 2007/11/28 13:04:11 matteo Exp $ +$FreeBSD: src/UPDATING,v 1.514 2008/01/21 22:04:37 imp Exp $ ==== //depot/projects/toehead/etc/defaults/rc.conf#3 (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.322 2008/01/12 20:52:30 maxim Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.323 2008/01/21 04:41:18 rafan Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -119,6 +119,9 @@ firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports # for which denied incoming packets are not # logged. +firewall_nat_enable="NO" # Enable kernel NAT (if firewall_enable == YES) +firewall_nat_interface="" # Public interface or IPaddress to use +firewall_nat_flags="" # Additional configuration parameters ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/toehead/etc/rc.firewall#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/etc/rc.firewall,v 1.53 2008/01/12 19:02:09 maxim Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.54 2008/01/21 04:41:17 rafan Exp $ # # @@ -131,7 +131,13 @@ case ${firewall_nat_enable} in [Yy][Ee][Ss]) if [ -n "${firewall_nat_interface}" ]; then - ${fwcmd} nat 123 config if ${firewall_nat_interface} log + if echo "${firewall_nat_interface}" | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + firewall_nat_flags="ip ${firewall_nat_interface} ${firewall_nat_flags}" + else + firewall_nat_flags="if ${firewall_nat_interface} ${firewall_nat_flags}" + fi + ${fwcmd} nat 123 config log ${firewall_nat_flags} ${fwcmd} add 50 nat 123 ip4 from any to any via ${firewall_nat_interface} fi ;; ==== //depot/projects/toehead/lib/msun/src/k_rem_pio2.c#3 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.8 2008/01/19 20:02:55 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.9 2008/01/20 04:09:44 bde Exp $"); /* * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) @@ -278,7 +278,7 @@ case 2: fw = 0.0; for (i=jz;i>=0;i--) fw += fq[i]; - STRICT_ASSIGN(float,fw,fw); + STRICT_ASSIGN(double,fw,fw); y[0] = (ih==0)? fw: -fw; fw = fq[0]-fw; for (i=1;i<=jz;i++) fw += fq[i]; ==== //depot/projects/toehead/lib/msun/src/s_log1pf.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/msun/src/s_log1pf.c,v 1.10 2008/01/19 18:13:21 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_log1pf.c,v 1.11 2008/01/21 13:46:21 bde Exp $"); #include @@ -50,9 +50,9 @@ if(x==(float)-1.0) return -two25/zero; /* log1p(-1)=+inf */ else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ } - if(ax<0x31000000) { /* |x| < 2**-29 */ + if(ax<0x38000000) { /* |x| < 2**-15 */ if(two25+x>zero /* raise inexact */ - &&ax<0x24800000) /* |x| < 2**-54 */ + &&ax<0x33800000) /* |x| < 2**-24 */ return x; else return x - x*x*(float)0.5; ==== //depot/projects/toehead/release/doc/share/misc/dev.archlist.txt#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/release/doc/share/misc/dev.archlist.txt,v 1.101 2007/12/16 13:14:47 bmah Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.102 2008/01/21 09:00:09 brueffer Exp $ # # @@ -109,7 +109,6 @@ rum i386,amd64 safe i386,pc98,amd64 sbp i386,sparc64,ia64,amd64 -sf i386,pc98,ia64,amd64 sis i386,pc98,ia64,amd64 sk i386,sparc64,pc98,amd64 sn i386,amd64 ==== //depot/projects/toehead/release/fixit.profile#2 (text+ko) ==== @@ -1,10 +1,10 @@ : -# $FreeBSD: src/release/fixit.profile,v 1.11 2007/12/06 20:25:31 lulf Exp $ +# $FreeBSD: src/release/fixit.profile,v 1.12 2008/01/21 17:25:48 kensmith Exp $ export BLOCKSIZE=K export PS1="Fixit# " -export EDITOR="/mnt2/stand/vi" -export PAGER="/mnt2/stand/more" +export EDITOR="/mnt2/rescue/vi" +export PAGER="/mnt2/usr/bin/more" export SCSI_MODES="/mnt2/usr/share/misc/scsi_modes" # the root MFS doesn't have /dev/nrsa0, pick a better default for mt(1) export TAPE=/mnt2/dev/nrsa0 ==== //depot/projects/toehead/sbin/ipfw/ipfw2.c#3 (text+ko) ==== @@ -17,7 +17,7 @@ * * NEW command line interface for IP firewall facility * - * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.111 2007/12/17 10:25:56 oleg Exp $ + * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.112 2008/01/20 08:31:35 maxim Exp $ */ #include @@ -3994,6 +3994,8 @@ ac--; av++; break; case TOK_IF: + if (ac == 0) + errx(EX_DATAERR, "missing option"); set_addr_dynamic(av[0], n); ac--; av++; break; ==== //depot/projects/toehead/share/man/man4/axe.4#2 (text+ko) ==== @@ -28,14 +28,14 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/axe.4,v 1.14 2007/06/06 19:27:10 remko Exp $ +.\" $FreeBSD: src/share/man/man4/axe.4,v 1.15 2008/01/21 04:13:00 sam Exp $ .\" -.Dd June 6, 2007 +.Dd January 20, 2008 .Dt AXE 4 .Os .Sh NAME .Nm axe -.Nd "ASIX Electronics AX88172 USB Ethernet driver" +.Nd "ASIX Electronics AX88172/178/772 USB Ethernet driver" .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -59,19 +59,21 @@ The .Nm driver provides support for USB Ethernet adapters based on the ASIX -Electronics AX88172 USB 2.0 chipset. +Electronics AX88172, AX88178 and AX88772 USB 2.0 chipsets. .Pp -The AX88172 is a USB 2.0 device which contains a 10/100 -Ethernet MAC with MII interface and is designed to work with both +The AX88172 and AX88178 are USB 2.0 devices that contain a 10/100 +Ethernet MAC with MII interface and are designed to work with both Ethernet and HomePNA transceivers. -The AX88172 will operate with +The AX88772 will additionally support 10/100/1000 MACs. +.Pp +These devices will operate with both USB 1.x and USB 2.0 controllers, however performance with 1.x controllers will be limited since the USB 1.x standard specifies a maximum transfer speed of 12Mbps. Users with USB 1.x controllers should therefore not expect to actually achieve 100Mbps speeds with these devices. .Pp -The AX88172 supports a 64-bit multicast hash table, single perfect +All chipsets support a 64-bit multicast hash table, single perfect filter entry for the station address, all-multicast mode and promiscuous mode. Packets are received and transmitted over separate USB bulk transfer endpoints. @@ -127,14 +129,31 @@ .Sh HARDWARE The .Nm -driver supports ASIX Electronics AX88172 based USB Ethernet +driver supports ASIX Electronics AX88172/AX88178/AX88772 based USB Ethernet adapters including: .Pp +AX88172: .Bl -bullet -compact .It +AboCom UF200 +.It +Acer Communications EP1427X2 +.It +ATen UC210T +.It +Billionton SnapPort +.It +Billionton USB2AR +.It Buffalo (Melco Inc.) LUA-U2-KTX .It -D-Link DUB-E100, revision A +Corega USB2_TX +.It +D-Link DUBE100 +.It +Goodway GWUSB2E +.It +JVC MP_PRX1 .It LinkSys USB200M .It @@ -144,6 +163,24 @@ .It System TALKS Inc.\& SGC-X2UL .El +.Pp +AX88178: +.Bl -bullet -compact +.It +Belkin F5D5055 +.It +Planex Communications GU1000T +.It +Sitecom Europe LN-028 +.El +.Pp +AX88772: +.Bl -bullet -compact +.It +Cisco-Linksys USB200Mv2 +.It +D-Link DUBE100B1 +.El .Sh DIAGNOSTICS .Bl -diag .It "axe%d: watchdog timeout" @@ -161,7 +198,7 @@ .Xr ng_ether 4 , .Xr ifconfig 8 .Rs -.%T "ASIX AX88172 data sheet" +.%T "ASIX AX88172 AX88178 and AX88772 data sheets" .%O http://www.asix.com.tw .Re .Sh HISTORY ==== //depot/projects/toehead/share/man/man4/sf.4#2 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sf.4,v 1.24 2007/01/30 08:40:04 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/sf.4,v 1.25 2008/01/21 07:35:15 yongari Exp $ .\" -.Dd July 16, 2005 +.Dd January 21, 2008 .Dt SF 4 .Os .Sh NAME @@ -139,6 +139,23 @@ .It ANA-62020 64-bit single port 100baseFX adapter .El +.Sh SYSCTL VARIABLES +The following variables are available as both +.Xr sysctl 8 +variables and +.Xr loader 8 +tunables: +.Bl -tag -width indent +.It Va dev.sf.%d.int_mod +Maximum amount of time to delay interrupt processing in units of +102.4us. +The accepted range is 0 to 31, the default value is 1 (102.4us). +Value 0 completely disables the interrupt moderation. +The interface does not need to be brought down and up again before +a change takes effect. +.It Va dev.sf.%d.stats +Display lots of useful MAC counters maintained in the driver. +.El .Sh DIAGNOSTICS .Bl -diag .It "sf%d: couldn't map memory" @@ -176,6 +193,7 @@ .Xr netintro 4 , .Xr ng_ether 4 , .Xr polling 4 , +.Xr vlan 4 , .Xr ifconfig 8 .Rs .%T The Adaptec AIC-6915 Programmer's Manual ==== //depot/projects/toehead/share/man/man4/vlan.4#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.44 2007/05/09 09:02:11 yar Exp $ +.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.45 2008/01/21 06:47:20 yongari Exp $ .\" -.Dd May 7, 2007 +.Dd January 21, 2008 .Dt VLAN 4 .Os .Sh NAME @@ -166,6 +166,7 @@ .Xr nfe 4 , .Xr nve 4 , .Xr rl 4 , +.Xr sf 4 , .Xr sis 4 , .Xr sk 4 , .Xr ste 4 , ==== //depot/projects/toehead/share/man/man7/ports.7#3 (text+ko) ==== @@ -23,9 +23,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man7/ports.7,v 1.64 2007/12/21 21:48:54 gabor Exp $ +.\" $FreeBSD: src/share/man/man7/ports.7,v 1.65 2008/01/21 19:52:15 brueffer Exp $ .\" -.Dd Dec 21, 2007 +.Dd January 21, 2008 .Dt PORTS 7 .Os .Sh NAME @@ -336,6 +336,8 @@ Generate a one-line description of each port for use in the .Pa INDEX file. +.It Cm maintainer +Display the port maintainer's email address. .It Cm index Create .Pa /usr/ports/INDEX , ==== //depot/projects/toehead/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.80 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.81 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/toehead/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.78 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.79 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/toehead/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.69 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.70 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/toehead/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.79 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.80 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp */ #include "opt_compat.h" @@ -521,6 +521,6 @@ { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */ { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_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_NULL, NULL, 0, 0 }, /* 482 = shm_open */ - { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ + { 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 */ }; ==== //depot/projects/toehead/sys/compat/freebsd32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.95 2008/01/20 23:43:06 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -796,6 +796,6 @@ 480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ u_int32_t lengthlo, u_int32_t lengthhi); } 481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); } -482 AUE_NULL NOPROTO { int shm_open(const char *path, int flags, \ +482 AUE_SHMOPEN NOPROTO { int shm_open(const char *path, int flags, \ mode_t mode); } -483 AUE_NULL NOPROTO { int shm_unlink(const char *path); } +483 AUE_SHMUNLINK NOPROTO { int shm_unlink(const char *path); } ==== //depot/projects/toehead/sys/conf/files#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1264 2008/01/15 20:34:47 gallatin Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1265 2008/01/21 04:27:31 yongari Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -937,6 +937,7 @@ dev/scc/scc_dev_z8530.c optional scc dev/scd/scd.c optional scd isa dev/scd/scd_isa.c optional scd isa +dev/sf/if_sf.c optional sf pci dev/si/si.c optional si dev/si/si2_z280.c optional si dev/si/si3_t225.c optional si @@ -2020,7 +2021,6 @@ pci/if_mn.c optional mn pci pci/if_pcn.c optional pcn pci pci/if_rl.c optional rl pci -pci/if_sf.c optional sf pci pci/if_sis.c optional sis pci pci/if_ste.c optional ste pci pci/if_tl.c optional tl pci ==== //depot/projects/toehead/sys/fs/coda/coda_vnops.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/fs/coda/coda_vnops.c,v 1.83 2008/01/19 17:12:44 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/coda/coda_vnops.c,v 1.85 2008/01/21 21:39:08 rwatson Exp $"); #include #include @@ -341,7 +341,9 @@ opened_internally = 1; MARK_INT_GEN(CODA_OPEN_STATS); error = VOP_OPEN(vp, (rw == UIO_READ ? FREAD : FWRITE), cred, td, NULL); +#ifdef CODA_VERBOSE printf("coda_rdwr: Internally Opening %p\n", vp); +#endif if (error) { printf("coda_rdwr: VOP_OPEN on container failed %d\n", error); return (error); @@ -926,19 +928,14 @@ * lock it without bothering to check anything else. */ if (*ap->a_vpp) { - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { - vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE); - return (error); - } + vn_lock(*ap->a_vpp, LK_EXCLUSIVE | LK_RETRY); } vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE); } else { /* The parent is locked, and may be the same as the child */ if (*ap->a_vpp && (*ap->a_vpp != dvp)) { /* Different, go ahead and lock it. */ - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { - return (error); - } + vn_lock(*ap->a_vpp, LK_EXCLUSIVE | LK_RETRY); } } } else { @@ -1022,10 +1019,7 @@ if (!error) { if (cnp->cn_flags & LOCKLEAF) { - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { - printf("coda_create: "); - panic("unlocked parent but couldn't lock child"); - } + vn_lock(*ap->a_vpp, LK_EXCLUSIVE | LK_RETRY); } #ifdef OLD_DIAGNOSTIC else { @@ -1289,9 +1283,7 @@ /* Invalidate the parent's attr cache, the modification time has changed */ VTOC(dvp)->c_flags &= ~C_VATTR; - if ((error = VOP_LOCK(*vpp, LK_EXCLUSIVE))) { - panic("coda_create: couldn't lock child"); - } + vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY); CODADEBUG( CODA_MKDIR, myprintf(("mkdir: %s result %d\n", coda_f2s(&VFid), error)); ) ==== //depot/projects/toehead/sys/kern/init_sysent.c#3 (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.231 2008/01/08 22:01:25 jhb Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.232 2008/01/20 23:44:23 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #include "opt_compat.h" @@ -511,6 +511,6 @@ { 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_NULL, NULL, 0, 0 }, /* 482 = shm_open */ - { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ + { 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 */ }; ==== //depot/projects/toehead/sys/kern/kern_descrip.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.320 2008/01/13 14:44:08 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.321 2008/01/20 19:55:52 rwatson Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2514,6 +2514,10 @@ kif->kf_type = KF_TYPE_MQUEUE; break; + case DTYPE_SHM: + kif->kf_type = KF_TYPE_SHM; + break; + default: kif->kf_type = KF_TYPE_UNKNOWN; break; ==== //depot/projects/toehead/sys/kern/syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.215 2008/01/08 22:01:26 jhb Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.216 2008/01/20 23:44:23 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ const char *syscallnames[] = { ==== //depot/projects/toehead/sys/kern/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -847,8 +847,8 @@ 479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); } 480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); } 481 AUE_KILL STD { int thr_kill2(pid_t pid, long id, int sig); } -482 AUE_NULL STD { int shm_open(const char *path, int flags, \ +482 AUE_SHMOPEN STD { int shm_open(const char *path, int flags, \ mode_t mode); } -483 AUE_NULL STD { int shm_unlink(const char *path); } +483 AUE_SHMUNLINK STD { int shm_unlink(const char *path); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/toehead/sys/kern/systrace_args.c#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.15 2008/01/08 22:01:26 jhb Exp $ + * $FreeBSD: src/sys/kern/systrace_args.c,v 1.16 2008/01/20 23:44:23 rwatson Exp $ * This file is part of the DTrace syscall provider. */ ==== //depot/projects/toehead/sys/modules/sf/Makefile#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/modules/sf/Makefile,v 1.14 2005/09/27 18:10:38 mlaier Exp $ +# $FreeBSD: src/sys/modules/sf/Makefile,v 1.15 2008/01/21 04:27:32 yongari Exp $ -.PATH: ${.CURDIR}/../../pci +.PATH: ${.CURDIR}/../../dev/sf KMOD= if_sf SRCS= if_sf.c device_if.h bus_if.h pci_if.h ==== //depot/projects/toehead/sys/netinet6/in6_src.c#4 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet6/in6_src.c,v 1.48 2008/01/08 19:08:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_src.c,v 1.49 2008/01/20 10:08:15 bz Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -141,14 +141,20 @@ if ((r) < sizeof(ip6stat.ip6s_sources_rule) / \ sizeof(ip6stat.ip6s_sources_rule[0])) /* check for safety */ \ ip6stat.ip6s_sources_rule[(r)]++; \ - /* printf("in6_selectsrc: replace %s with %s by %d\n", ia_best ? ip6_sprintf(&ia_best->ia_addr.sin6_addr) : "none", ip6_sprintf(&ia->ia_addr.sin6_addr), (r)); */ \ + /* { \ + char ip6buf[INET6_ADDRSTRLEN], ip6b[INET6_ADDRSTRLEN]; \ + printf("in6_selectsrc: replace %s with %s by %d\n", ia_best ? ip6_sprintf(ip6buf, &ia_best->ia_addr.sin6_addr) : "none", ip6_sprintf(ip6b, &ia->ia_addr.sin6_addr), (r)); \ + } */ \ goto replace; \ } while(0) #define NEXT(r) do {\ if ((r) < sizeof(ip6stat.ip6s_sources_rule) / \ sizeof(ip6stat.ip6s_sources_rule[0])) /* check for safety */ \ ip6stat.ip6s_sources_rule[(r)]++; \ - /* printf("in6_selectsrc: keep %s against %s by %d\n", ia_best ? ip6_sprintf(&ia_best->ia_addr.sin6_addr) : "none", ip6_sprintf(&ia->ia_addr.sin6_addr), (r)); */ \ + /* { \ + char ip6buf[INET6_ADDRSTRLEN], ip6b[INET6_ADDRSTRLEN]; \ + printf("in6_selectsrc: keep %s against %s by %d\n", ia_best ? ip6_sprintf(ip6buf, &ia_best->ia_addr.sin6_addr) : "none", ip6_sprintf(ip6b, &ia->ia_addr.sin6_addr), (r)); \ + } */ \ goto next; /* XXX: we can't use 'continue' here */ \ } while(0) #define BREAK(r) do { \ ==== //depot/projects/toehead/sys/pci/amdsmb.c#2 (text+ko) ==== @@ -1,5 +1,31 @@ +/*- + * Copyright (c) 2005 Ruslan Ermilov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #include -__FBSDID("$FreeBSD: src/sys/pci/amdsmb.c,v 1.4 2007/01/11 19:56:24 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/amdsmb.c,v 1.5 2008/01/21 13:26:33 ru Exp $"); #include #include ==== //depot/projects/toehead/sys/pci/nfsmb.c#2 (text+ko) ==== @@ -1,5 +1,31 @@ +/*- + * Copyright (c) 2005 Ruslan Ermilov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #include -__FBSDID("$FreeBSD: src/sys/pci/nfsmb.c,v 1.7 2007/11/10 17:12:08 remko Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/nfsmb.c,v 1.8 2008/01/21 13:26:33 ru Exp $"); #include #include ==== //depot/projects/toehead/sys/sparc64/conf/GENERIC#3 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.130 2008/01/07 21:40:11 jhb Exp $ +# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.131 2008/01/21 06:51:25 yongari Exp $ cpu SUN4U ident GENERIC @@ -177,7 +177,7 @@ #device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 -#device sf # Adaptec AIC-6915 (``Starfire'') +device sf # Adaptec AIC-6915 (``Starfire'') #device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet #device ste # Sundance ST201 (D-Link DFE-550TX) ==== //depot/projects/toehead/sys/sys/syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.212 2008/01/08 22:01:26 jhb Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/sys/syscall.h,v 1.213 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #define SYS_syscall 0 ==== //depot/projects/toehead/sys/sys/syscall.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.167 2008/01/08 22:01:26 jhb Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp +# $FreeBSD: src/sys/sys/syscall.mk,v 1.168 2008/01/20 23:44:24 rwatson Exp $ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/toehead/sys/sys/sysproto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.216 2008/01/08 22:01:26 jhb Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp + * $FreeBSD: src/sys/sys/sysproto.h,v 1.217 2008/01/20 23:44:24 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -2433,8 +2433,8 @@ #define SYS_AUE_truncate AUE_TRUNCATE #define SYS_AUE_ftruncate AUE_FTRUNCATE #define SYS_AUE_thr_kill2 AUE_KILL -#define SYS_AUE_shm_open AUE_NULL -#define SYS_AUE_shm_unlink AUE_NULL +#define SYS_AUE_shm_open AUE_SHMOPEN +#define SYS_AUE_shm_unlink AUE_SHMUNLINK #undef PAD_ #undef PADL_ ==== //depot/projects/toehead/sys/sys/user.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * @(#)user.h 8.2 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/sys/user.h,v 1.72 2007/12/02 21:52:18 rwatson Exp $ + * $FreeBSD: src/sys/sys/user.h,v 1.73 2008/01/20 19:55:52 rwatson Exp $ */ #ifndef _SYS_USER_H_ @@ -245,6 +245,7 @@ #define KF_TYPE_KQUEUE 5 #define KF_TYPE_CRYPTO 6 #define KF_TYPE_MQUEUE 7 +#define KF_TYPE_SHM 8 #define KF_TYPE_UNKNOWN 255 #define KF_VTYPE_VNON 0 ==== //depot/projects/toehead/tools/build/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/tools/build/Makefile,v 1.12 2005/05/16 09:32:41 ru Exp $ +# $FreeBSD: src/tools/build/Makefile,v 1.13 2008/01/21 18:44:55 obrien Exp $ .PATH: ${.CURDIR}/../../include @@ -9,11 +9,6 @@ BOOTSTRAPPING?= 0 -# usr.bin/gencat needs . -.if ${BOOTSTRAPPING} < 600017 -INCS+= nl_types.h -.endif - .if empty(SRCS) SRCS= dummy.c .endif ==== //depot/projects/toehead/usr.bin/mt/mt.1#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jan 21 23:53:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6D4816A41B; Mon, 21 Jan 2008 23:53:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 470B916A41A for ; Mon, 21 Jan 2008 23:53:25 +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 3350213C45D for ; Mon, 21 Jan 2008 23:53:25 +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 m0LNrPR6026834 for ; Mon, 21 Jan 2008 23:53:25 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0LNrOBo026828 for perforce@freebsd.org; Mon, 21 Jan 2008 23:53:24 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 21 Jan 2008 23:53:24 GMT Message-Id: <200801212353.m0LNrOBo026828@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 133829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Jan 2008 23:53:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=133829 Change 133829 by gonzo@gonzo_jeeves on 2008/01/21 23:52:06 o Do not use cpu_thread_alloc to set td_pcb and td_frame. Besides setting these fields cpu_thread_alloc fills out md_upte array with PTEs of kstack pages to make them wired in cpu_switch routine. thread0 has it's kstack allocated by pmap_steal_memory so it belongs to KSEG0. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#18 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#18 (text+ko) ==== @@ -270,7 +270,20 @@ #else pcpu_init(pcpup, 0, sizeof(struct pcpu)); #endif - cpu_thread_alloc(&thread0); + /* + * Do not use cpu_thread_alloc to initialize these fields + * thread0 is the only thread that has kstack located in KSEG0 + * while cpu_thread_alloc handles kstack allocated in KSEG2. + */ + thread0.td_pcb = (struct pcb *)(thread0.td_kstack + + thread0.td_kstack_pages * PAGE_SIZE) - 1; + thread0.td_frame = &thread0.td_pcb->pcb_regs; + /* + * There is no need to initialize md_upte array for thread0 as it's + * located in .bss section and should be explicitly zeroed during + * kernel initialization. + */ + PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); } From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:30:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68CC216A418; Tue, 22 Jan 2008 01:30: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 059BA16A41B for ; Tue, 22 Jan 2008 01:30:55 +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 DCAC913C455 for ; Tue, 22 Jan 2008 01:30:54 +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 m0M1UsSu046229 for ; Tue, 22 Jan 2008 01:30:54 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 m0M1Usav046211 for perforce@freebsd.org; Tue, 22 Jan 2008 01:30:54 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 01:30:54 GMT Message-Id: <200801220130.m0M1Usav046211@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 133832 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:30:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=133832 Change 133832 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 01:29:57 Define cap_enter(2), a system call to enter "capability mode", in which a process is prevented from accessing system resources via global namespaces, and must instead use only file descriptors and capabilities exposed prior to the call to cap_enter(2). Not yet implemented, need to think a lot about the semantics. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#4 (text+ko) ==== @@ -54,10 +54,11 @@ * - Should there be a privilege to expand capability rights? * - Should different underlying object sets have different valid capability * rights? I.e., CAP_SOCK_*, CAP_VNODE_*, etc? + * - cap_enter(2) is not implemented. */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#3 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#4 $"); #include #include @@ -161,6 +162,18 @@ } /* + * Enter capability mode for the process. + */ +int +cap_enter(struct thread *td, struct cap_enter_args *uap) +{ + + /* XXXRW: Not implemented. */ + + return (0); +} + +/* * Create a new capability reference to either an existing file object or an * an existing capability. */ ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#4 (text+ko) ==== @@ -853,5 +853,6 @@ 484 AUE_NULL STD { int cap_new(int fd, u_int64_t rights); } 485 AUE_NULL STD { int cap_getrights(int fd, \ u_int64_t *rightsp); } +486 AUE_NULL STD { int cap_enter(void); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#5 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#6 $ */ /* @@ -120,6 +120,18 @@ #else /* !_KERNEL */ /* + * cap_enter(): Cause the process to enter capability mode, which will + * prevent it from directly accessing global namespaces. System calls will + * be limited to those performed on file descriptors, and subject to the + * restrictions imposed by the objects referenced and the rights specified in + * the file descriptor and possibly a protecting capability. If already in + * the capability mode, a no-op. + * + * XXXRW: This isn't implemented yet. + */ +int cap_enter(void); + +/* * cap_new(): Create a new capability derived from an existing file * descriptor with the specified rights. If the existing file descriptor is * a capability, then the new rights must be a subset of the existing rights. From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:32:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D67DF16A41B; Tue, 22 Jan 2008 01:32: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 6B68016A417 for ; Tue, 22 Jan 2008 01:32:19 +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 4DA9813C459 for ; Tue, 22 Jan 2008 01:32:19 +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 m0M1WJ6r046325 for ; Tue, 22 Jan 2008 01:32:19 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 m0M1WJUX046318 for perforce@freebsd.org; Tue, 22 Jan 2008 01:32:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 01:32:19 GMT Message-Id: <200801220132.m0M1WJUX046318@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 133833 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:32:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=133833 Change 133833 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 01:32:19 Regenerate. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#4 (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.232 2008/01/20 23:44:23 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ @@ -515,4 +515,5 @@ { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0 }, /* 483 = shm_unlink */ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0 }, /* 484 = cap_new */ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0 }, /* 485 = cap_getrights */ + { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0 }, /* 486 = cap_enter */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.216 2008/01/20 23:44:23 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ @@ -493,4 +493,5 @@ "shm_unlink", /* 483 = shm_unlink */ "cap_new", /* 484 = cap_new */ "cap_getrights", /* 485 = cap_getrights */ + "cap_enter", /* 486 = cap_enter */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.16 2008/01/20 23:44:23 rwatson Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -2903,6 +2903,11 @@ *n_args = 2; break; } + /* cap_enter */ + case 486: { + *n_args = 0; + break; + } default: *n_args = 0; break; ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.213 2008/01/20 23:44:24 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ @@ -405,4 +405,5 @@ #define SYS_shm_unlink 483 #define SYS_cap_new 484 #define SYS_cap_getrights 485 -#define SYS_MAXSYSCALL 486 +#define SYS_cap_enter 486 +#define SYS_MAXSYSCALL 487 ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#4 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.168 2008/01/20 23:44:24 rwatson Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp MIASM = \ syscall.o \ @@ -353,4 +353,5 @@ shm_open.o \ shm_unlink.o \ cap_new.o \ - cap_getrights.o + cap_getrights.o \ + cap_enter.o ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.217 2008/01/20 23:44:24 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.236 2008/01/20 23:43:06 rwatson Exp */ @@ -1536,6 +1536,9 @@ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char rightsp_l_[PADL_(u_int64_t *)]; u_int64_t * rightsp; char rightsp_r_[PADR_(u_int64_t *)]; }; +struct cap_enter_args { + register_t dummy; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1879,6 +1882,7 @@ int shm_unlink(struct thread *, struct shm_unlink_args *); int cap_new(struct thread *, struct cap_new_args *); int cap_getrights(struct thread *, struct cap_getrights_args *); +int cap_enter(struct thread *, struct cap_enter_args *); #ifdef COMPAT_43 @@ -2447,6 +2451,7 @@ #define SYS_AUE_shm_unlink AUE_SHMUNLINK #define SYS_AUE_cap_new AUE_NULL #define SYS_AUE_cap_getrights AUE_NULL +#define SYS_AUE_cap_enter AUE_NULL #undef PAD_ #undef PADL_ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:44:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 552D416A46E; Tue, 22 Jan 2008 01:44: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 101E916A468 for ; Tue, 22 Jan 2008 01:44: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 E729713C455 for ; Tue, 22 Jan 2008 01:44: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 m0M1iW6w046876 for ; Tue, 22 Jan 2008 01:44:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1iWDr046873 for perforce@freebsd.org; Tue, 22 Jan 2008 01:44:32 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:44:32 GMT Message-Id: <200801220144.m0M1iWDr046873@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 133835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:44:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133835 Change 133835 by jb@jb_freebsd1 on 2008/01/22 01:43:49 Add some more D library script mumbo. Affected files ... .. //depot/projects/dtrace/src/cddl/lib/libdtrace/Makefile#22 edit .. //depot/projects/dtrace/src/cddl/lib/libdtrace/errno.d#2 edit .. //depot/projects/dtrace/src/cddl/lib/libdtrace/psinfo.d#4 edit .. //depot/projects/dtrace/src/cddl/lib/libdtrace/signal.d#1 add Differences ... ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/Makefile#22 (text+ko) ==== @@ -46,7 +46,9 @@ dt_xlator.c \ gmatch.c -DSRCS= psinfo.d \ +DSRCS= errno.d \ + psinfo.d \ + signal.d \ unistd.d .PATH: ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/errno.d#2 (text+ko) ==== @@ -19,7 +19,7 @@ * * CDDL HEADER END * - * Portions Copyright 2006 John Birrell jb@freebsd.org + * Portions Copyright 2006-2008 John Birrell jb@freebsd.org * * $FreeBSD$ */ @@ -28,5 +28,201 @@ * Use is subject to license terms. */ -inline int errno = curthread->td_errno; -#pragma D binding "1.0" errno +inline int EPERM = 1; +#pragma D binding "1.0" EPERM +inline int ENOENT = 2; +#pragma D binding "1.0" ENOENT +inline int ESRCH = 3; +#pragma D binding "1.0" ESRCH +inline int EINTR = 4; +#pragma D binding "1.0" EINTR +inline int EIO = 5; +#pragma D binding "1.0" EIO +inline int ENXIO = 6; +#pragma D binding "1.0" ENXIO +inline int E2BIG = 7; +#pragma D binding "1.0" E2BIG +inline int ENOEXEC = 8; +#pragma D binding "1.0" ENOEXEC +inline int EBADF = 9; +#pragma D binding "1.0" EBADF +inline int ECHILD = 10; +#pragma D binding "1.0" ECHILD +inline int EDEADLK = 11; +#pragma D binding "1.0" EDEADLK +inline int ENOMEM = 12; +#pragma D binding "1.0" ENOMEM +inline int EACCES = 13; +#pragma D binding "1.0" EACCES +inline int EFAULT = 14; +#pragma D binding "1.0" EFAULT +inline int ENOTBLK = 15; +#pragma D binding "1.0" ENOTBLK +inline int EBUSY = 16; +#pragma D binding "1.0" EBUSY +inline int EEXIST = 17; +#pragma D binding "1.0" EEXIST +inline int EXDEV = 18; +#pragma D binding "1.0" EXDEV +inline int ENODEV = 19; +#pragma D binding "1.0" ENODEV +inline int ENOTDIR = 20; +#pragma D binding "1.0" ENOTDIR +inline int EISDIR = 21; +#pragma D binding "1.0" EISDIR +inline int EINVAL = 22; +#pragma D binding "1.0" EINVAL +inline int ENFILE = 23; +#pragma D binding "1.0" ENFILE +inline int EMFILE = 24; +#pragma D binding "1.0" EMFILE +inline int ENOTTY = 25; +#pragma D binding "1.0" ENOTTY +inline int ETXTBSY = 26; +#pragma D binding "1.0" ETXTBSY +inline int EFBIG = 27; +#pragma D binding "1.0" EFBIG +inline int ENOSPC = 28; +#pragma D binding "1.0" ENOSPC +inline int ESPIPE = 29; +#pragma D binding "1.0" ESPIPE +inline int EROFS = 30; +#pragma D binding "1.0" EROFS +inline int EMLINK = 31; +#pragma D binding "1.0" EMLINK +inline int EPIPE = 32; +#pragma D binding "1.0" EPIPE +inline int EDOM = 33; +#pragma D binding "1.0" EDOM +inline int ERANGE = 34; +#pragma D binding "1.0" ERANGE +inline int EAGAIN = 35; +#pragma D binding "1.0" EAGAIN +inline int EWOULDBLOCK = EAGAIN; +#pragma D binding "1.0" EWOULDBLOCK +inline int EINPROGRESS = 36; +#pragma D binding "1.0" EINPROGRESS +inline int EALREADY = 37; +#pragma D binding "1.0" EALREADY +inline int ENOTSOCK = 38; +#pragma D binding "1.0" ENOTSOCK +inline int EDESTADDRREQ = 39; +#pragma D binding "1.0" EDESTADDRREQ +inline int EMSGSIZE = 40; +#pragma D binding "1.0" EMSGSIZE +inline int EPROTOTYPE = 41; +#pragma D binding "1.0" EPROTOTYPE +inline int ENOPROTOOPT = 42; +#pragma D binding "1.0" ENOPROTOOPT +inline int EPROTONOSUPPORT = 43; +#pragma D binding "1.0" EPROTONOSUPPORT +inline int ESOCKTNOSUPPORT = 44; +#pragma D binding "1.0" ESOCKTNOSUPPORT +inline int EOPNOTSUPP = 45; +#pragma D binding "1.0" EOPNOTSUPP +inline int ENOTSUP = EOPNOTSUPP; +#pragma D binding "1.0" ENOTSUP +inline int EPFNOSUPPORT = 46; +#pragma D binding "1.0" EPFNOSUPPORT +inline int EAFNOSUPPORT = 47; +#pragma D binding "1.0" EAFNOSUPPORT +inline int EADDRINUSE = 48; +#pragma D binding "1.0" EADDRINUSE +inline int EADDRNOTAVAIL = 49; +#pragma D binding "1.0" EADDRNOTAVAIL +inline int ENETDOWN = 50; +#pragma D binding "1.0" ENETDOWN +inline int ENETUNREACH = 51; +#pragma D binding "1.0" ENETUNREACH +inline int ENETRESET = 52; +#pragma D binding "1.0" ENETRESET +inline int ECONNABORTED = 53; +#pragma D binding "1.0" ECONNABORTED +inline int ECONNRESET = 54; +#pragma D binding "1.0" ECONNRESET +inline int ENOBUFS = 55; +#pragma D binding "1.0" ENOBUFS +inline int EISCONN = 56; +#pragma D binding "1.0" EISCONN +inline int ENOTCONN = 57; +#pragma D binding "1.0" ENOTCONN +inline int ESHUTDOWN = 58; +#pragma D binding "1.0" ESHUTDOWN +inline int ETOOMANYREFS = 59; +#pragma D binding "1.0" ETOOMANYREFS +inline int ETIMEDOUT = 60; +#pragma D binding "1.0" ETIMEDOUT +inline int ECONNREFUSED = 61; +#pragma D binding "1.0" ECONNREFUSED +inline int ELOOP = 62; +#pragma D binding "1.0" ELOOP +inline int ENAMETOOLONG = 63; +#pragma D binding "1.0" ENAMETOOLONG +inline int EHOSTDOWN = 64; +#pragma D binding "1.0" EHOSTDOWN +inline int EHOSTUNREACH = 65; +#pragma D binding "1.0" EHOSTUNREACH +inline int ENOTEMPTY = 66; +#pragma D binding "1.0" ENOTEMPTY +inline int EPROCLIM = 67; +#pragma D binding "1.0" EPROCLIM +inline int EUSERS = 68; +#pragma D binding "1.0" EUSERS +inline int EDQUOT = 69; +#pragma D binding "1.0" EDQUOT +inline int ESTALE = 70; +#pragma D binding "1.0" ESTALE +inline int EREMOTE = 71; +#pragma D binding "1.0" EREMOTE +inline int EBADRPC = 72; +#pragma D binding "1.0" EBADRPC +inline int ERPCMISMATCH = 73; +#pragma D binding "1.0" ERPCMISMATCH +inline int EPROGUNAVAIL = 74; +#pragma D binding "1.0" EPROGUNAVAIL +inline int EPROGMISMATCH = 75; +#pragma D binding "1.0" EPROGMISMATCH +inline int EPROCUNAVAIL = 76; +#pragma D binding "1.0" EPROCUNAVAIL +inline int ENOLCK = 77; +#pragma D binding "1.0" ENOLCK +inline int ENOSYS = 78; +#pragma D binding "1.0" ENOSYS +inline int EFTYPE = 79; +#pragma D binding "1.0" EFTYPE +inline int EAUTH = 80; +#pragma D binding "1.0" EAUTH +inline int ENEEDAUTH = 81; +#pragma D binding "1.0" ENEEDAUTH +inline int EIDRM = 82; +#pragma D binding "1.0" EIDRM +inline int ENOMSG = 83; +#pragma D binding "1.0" ENOMSG +inline int EOVERFLOW = 84; +#pragma D binding "1.0" EOVERFLOW +inline int ECANCELED = 85; +#pragma D binding "1.0" ECANCELED +inline int EILSEQ = 86; +#pragma D binding "1.0" EILSEQ +inline int ENOATTR = 87; +#pragma D binding "1.0" ENOATTR +inline int EDOOFUS = 88; +#pragma D binding "1.0" EDOOFUS +inline int EBADMSG = 89; +#pragma D binding "1.0" EBADMSG +inline int EMULTIHOP = 90; +#pragma D binding "1.0" EMULTIHOP +inline int ENOLINK = 91; +#pragma D binding "1.0" ENOLINK +inline int EPROTO = 92; +#pragma D binding "1.0" EPROTO +inline int ELAST = 92; +#pragma D binding "1.0" ELAST +inline int ERESTART = -1; +#pragma D binding "1.0" ERESTART +inline int EJUSTRETURN = -2; +#pragma D binding "1.0" EJUSTRETURN +inline int ENOIOCTL = -3; +#pragma D binding "1.0" ENOIOCTL +inline int EDIRIOCTL = -4; +#pragma D binding "1.0" EDIRIOCTL ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/psinfo.d#4 (text+ko) ==== @@ -40,6 +40,8 @@ gid_t pr_egid; /* effective group id */ uintptr_t pr_addr; /* address of process */ + string pr_psargs; /* process arguments */ + u_int pr_arglen; /* process argument length */ } psinfo_t; #pragma D binding "1.0" translator @@ -54,6 +56,8 @@ pr_gid = T->p_ucred->cr_rgid; pr_egid = T->p_ucred->cr_groups[0]; pr_addr = 0; + pr_psargs = stringof(T->p_args->ar_args); + pr_arglen = T->p_args->ar_length; }; typedef struct lwpsinfo { From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:47:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7396216A469; Tue, 22 Jan 2008 01:47: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 20B7816A417 for ; Tue, 22 Jan 2008 01:47:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0439B13C4EF for ; Tue, 22 Jan 2008 01:47:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0M1lZTG047011 for ; Tue, 22 Jan 2008 01:47:35 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1lZSe047008 for perforce@freebsd.org; Tue, 22 Jan 2008 01:47:35 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:47:35 GMT Message-Id: <200801220147.m0M1lZSe047008@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 133836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:47:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=133836 Change 133836 by jb@jb_freebsd1 on 2008/01/22 01:47:26 Safe the last per-thread syscall error status. The DTrace test suite wants to get it. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#21 edit .. //depot/projects/dtrace/src/sys/i386/i386/trap.c#26 edit .. //depot/projects/dtrace/src/sys/sys/proc.h#31 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/amd64/trap.c#21 (text+ko) ==== @@ -899,6 +899,9 @@ error = (*callp->sy_call)(td, argp); AUDIT_SYSCALL_EXIT(error, td); + /* Save the latest error return value. */ + td->td_errno = error; + #ifdef KDTRACE_HOOKS /* Save the error return variable for DTrace to reference. */ args[0] = error; ==== //depot/projects/dtrace/src/sys/i386/i386/trap.c#26 (text+ko) ==== @@ -1082,6 +1082,9 @@ error = (*callp->sy_call)(td, args); AUDIT_SYSCALL_EXIT(error, td); + /* Save the latest error return value. */ + td->td_errno = error; + #ifdef KDTRACE_HOOKS /* Save the error return variable for DTrace to reference. */ args[0] = error; ==== //depot/projects/dtrace/src/sys/sys/proc.h#31 (text+ko) ==== @@ -303,6 +303,7 @@ int td_syscalls; /* per-thread syscall count (used by NFS :)) */ struct lpohead td_lprof[2]; /* (a) lock profiling objects. */ struct kdtrace_thread *td_dtrace; /* (*) DTrace-specific data. */ + int td_errno; /* Error returned by last syscall. */ }; struct mtx *thread_lock_block(struct thread *); From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:49:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAA0116A41B; Tue, 22 Jan 2008 01:49: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 7033F16A417 for ; Tue, 22 Jan 2008 01:49:38 +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 524C413C442 for ; Tue, 22 Jan 2008 01:49:38 +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 m0M1ncFf047074 for ; Tue, 22 Jan 2008 01:49:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1nc74047071 for perforce@freebsd.org; Tue, 22 Jan 2008 01:49:38 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:49:38 GMT Message-Id: <200801220149.m0M1nc74047071@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 133837 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:49:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=133837 Change 133837 by jb@jb_freebsd1 on 2008/01/22 01:49:31 Change the SDT implementation to allow the same probe to be called from more than one place. This separates the definition from the actual probe call. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#26 edit .. //depot/projects/dtrace/src/sys/kern/kern_proc.c#19 edit .. //depot/projects/dtrace/src/sys/sys/sdt.h#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#26 (text+ko) ==== @@ -78,6 +78,10 @@ #include SDT_PROVIDER_DECLARE(proc); +SDT_PROBE_DEFINE(proc, kernel, , create); +SDT_PROBE_ARGTYPE(proc, kernel, , create, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, , create, 1, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, , create, 2, "int"); #ifndef _SYS_SYSPROTO_H_ struct fork_args { @@ -720,9 +724,6 @@ PROC_UNLOCK(p1); SDT_PROBE(proc, kernel, , create, p2, p1, flags, 0, 0); - SDT_PROBE_ARGTYPE(proc, kernel, , create, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, , create, 1, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, , create, 2, "int"); /* * Preserve synchronization semantics of vfork. If waiting for ==== //depot/projects/dtrace/src/sys/kern/kern_proc.c#19 (text+ko) ==== @@ -79,6 +79,33 @@ #include SDT_PROVIDER_DEFINE(proc); +SDT_PROBE_DEFINE(proc, kernel, ctor , entry); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 2, "void *"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 3, "int"); +SDT_PROBE_DEFINE(proc, kernel, ctor , return); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 2, "void *"); +SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 3, "int"); +SDT_PROBE_DEFINE(proc, kernel, dtor , entry); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 2, "void *"); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 3, "struct thread *"); +SDT_PROBE_DEFINE(proc, kernel, dtor , return); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 2, "void *"); +SDT_PROBE_DEFINE(proc, kernel, init , entry); +SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 2, "int"); +SDT_PROBE_DEFINE(proc, kernel, init , return); +SDT_PROBE_ARGTYPE(proc, kernel, init , return, 0, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, init , return, 1, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, init , return, 2, "int"); MALLOC_DEFINE(M_PGRP, "pgrp", "process group header"); MALLOC_DEFINE(M_SESSION, "session", "session header"); @@ -147,16 +174,8 @@ p = (struct proc *)mem; SDT_PROBE(proc, kernel, ctor , entry, p, size, arg, flags, 0); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 2, "void *"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , entry, 3, "int"); EVENTHANDLER_INVOKE(process_ctor, p); SDT_PROBE(proc, kernel, ctor , return, p, size, arg, flags, 0); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 2, "void *"); - SDT_PROBE_ARGTYPE(proc, kernel, ctor , return, 3, "int"); return (0); } @@ -173,10 +192,6 @@ p = (struct proc *)mem; td = FIRST_THREAD_IN_PROC(p); SDT_PROBE(proc, kernel, dtor , entry, p, size, arg, td, 0); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 2, "void *"); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , entry, 3, "struct thread *"); if (td != NULL) { #ifdef INVARIANTS KASSERT((p->p_numthreads == 1), @@ -195,9 +210,6 @@ if (p->p_ksi != NULL) KASSERT(! KSI_ONQ(p->p_ksi), ("SIGCHLD queue")); SDT_PROBE(proc, kernel, dtor , return, p, size, arg, 0, 0); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, dtor , return, 2, "void *"); } /* @@ -210,9 +222,6 @@ p = (struct proc *)mem; SDT_PROBE(proc, kernel, init , entry, p, size, flags, 0, 0); - SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, init , entry, 2, "int"); p->p_sched = (struct p_sched *)&p[1]; bzero(&p->p_mtx, sizeof(struct mtx)); mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); @@ -221,9 +230,6 @@ EVENTHANDLER_INVOKE(process_init, p); p->p_stats = pstats_alloc(); SDT_PROBE(proc, kernel, init , return, p, size, flags, 0, 0); - SDT_PROBE_ARGTYPE(proc, kernel, init , return, 0, "struct proc *"); - SDT_PROBE_ARGTYPE(proc, kernel, init , return, 1, "int"); - SDT_PROBE_ARGTYPE(proc, kernel, init , return, 2, "int"); return (0); } ==== //depot/projects/dtrace/src/sys/sys/sdt.h#12 (text+ko) ==== @@ -48,6 +48,8 @@ #define SDT_PROVIDER_DEFINE(prov) #define SDT_PROVIDER_DECLARE(prov) +#define SDT_PROBE_DEFINE(prov, mod, func, name) +#define SDT_PROBE_DECLARE(prov, mod, func, name) #define SDT_PROBE(prov, mod, func, name, arg0, arg1, arg2, arg3, arg4) #define SDT_PROBE_ARGTYPE(prov, mod, func, name, num, type) @@ -121,8 +123,8 @@ #define SDT_PROVIDER_DECLARE(prov) \ extern struct sdt_provider sdt_provider_##prov[1] -#define SDT_PROBE(prov, mod, func, name, arg0, arg1, arg2, arg3, arg4) \ - static struct sdt_probe sdt_##prov##_##mod##_##func##_##name[1] = { \ +#define SDT_PROBE_DEFINE(prov, mod, func, name) \ + struct sdt_probe sdt_##prov##_##mod##_##func##_##name[1] = { \ { sizeof(struct sdt_probe), 0, sdt_provider_##prov, \ { NULL, NULL }, { NULL, NULL }, #mod, #func, #name, 0, 0 } \ }; \ @@ -131,14 +133,19 @@ sdt_##prov##_##mod##_##func##_##name ); \ SYSUNINIT(sdt_##prov##_##mod##_##func##_##name##_uninit, \ SI_SUB_KDTRACE, SI_ORDER_SECOND + 1, sdt_probe_deregister, \ - sdt_##prov##_##mod##_##func##_##name ); \ + sdt_##prov##_##mod##_##func##_##name ) + +#define SDT_PROBE_DECLARE(prov, mod, func, name) \ + extern struct sdt_probe sdt_##prov##_##mod##_##func##_##name[1] + +#define SDT_PROBE(prov, mod, func, name, arg0, arg1, arg2, arg3, arg4) \ if (sdt_##prov##_##mod##_##func##_##name->id) \ (*sdt_probe_func)(sdt_##prov##_##mod##_##func##_##name->id, \ (uintptr_t) arg0, (uintptr_t) arg1, (uintptr_t) arg2, \ (uintptr_t) arg3, (uintptr_t) arg4) #define SDT_PROBE_ARGTYPE(prov, mod, func, name, num, type) \ - static struct sdt_argtype sdt_##prov##_##mod##_##func##_##name##num[1] \ + struct sdt_argtype sdt_##prov##_##mod##_##func##_##name##num[1] \ = { { num, type, { NULL, NULL }, \ sdt_##prov##_##mod##_##func##_##name } \ }; \ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:50:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F57516A421; Tue, 22 Jan 2008 01:50: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 4C60E16A417 for ; Tue, 22 Jan 2008 01:50:43 +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 2F20F13C44B for ; Tue, 22 Jan 2008 01:50:43 +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 m0M1oh6V047172 for ; Tue, 22 Jan 2008 01:50:43 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1ohkJ047169 for perforce@freebsd.org; Tue, 22 Jan 2008 01:50:43 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:50:43 GMT Message-Id: <200801220150.m0M1ohkJ047169@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 133838 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:50:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=133838 Change 133838 by jb@jb_freebsd1 on 2008/01/22 01:50:22 Add SDT probes for process exec and exit. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#23 edit .. //depot/projects/dtrace/src/sys/kern/kern_exit.c#16 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_exec.c#23 (text+ko) ==== @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.315 2008/01/13 14:44:08 attilio Exp $"); #include "opt_hwpmc_hooks.h" +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include "opt_mac.h" #include "opt_vm.h" @@ -54,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +85,14 @@ #include #include +SDT_PROVIDER_DECLARE(proc); +SDT_PROBE_DEFINE(proc, kernel, , exec); +SDT_PROBE_ARGTYPE(proc, kernel, , exec, 0, "char *"); +SDT_PROBE_DEFINE(proc, kernel, , exec_failure); +SDT_PROBE_ARGTYPE(proc, kernel, , exec_failure, 0, "int"); +SDT_PROBE_DEFINE(proc, kernel, , exec_success); +SDT_PROBE_ARGTYPE(proc, kernel, , exec_success, 0, "char *"); + MALLOC_DEFINE(M_PARGS, "proc-args", "Process arguments"); static int sysctl_kern_ps_strings(SYSCTL_HANDLER_ARGS); @@ -348,6 +358,8 @@ imgp->image_header = NULL; + SDT_PROBE(proc, kernel, , exec, args->fname, 0, 0, 0, 0 ); + /* * Translate the file name. namei() returns a vnode pointer * in ni_vp amoung other things. @@ -726,6 +738,9 @@ else crfree(newcred); VOP_UNLOCK(imgp->vp, 0); + + SDT_PROBE(proc, kernel, , exec_success, args->fname, 0, 0, 0, 0); + /* * Handle deferred decrement of ref counts. */ @@ -788,6 +803,8 @@ p->p_flag &= ~P_INEXEC; PROC_UNLOCK(p); + SDT_PROBE(proc, kernel, , exec_failure, error, 0, 0, 0, 0); + done2: #ifdef MAC mac_execve_exit(imgp); ==== //depot/projects/dtrace/src/sys/kern/kern_exit.c#16 (text+ko) ==== @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.307 2008/01/13 14:44:08 attilio Exp $"); #include "opt_compat.h" +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include "opt_mac.h" @@ -65,6 +66,7 @@ #include #include /* for acct_process() function prototype */ #include +#include #include #include #ifdef KTRACE @@ -82,6 +84,10 @@ #include #include +SDT_PROVIDER_DECLARE(proc); +SDT_PROBE_DEFINE(proc, kernel, , exit); +SDT_PROBE_ARGTYPE(proc, kernel, , exit, 0, "int"); + /* Required to be non-static for SysVR4 emulator */ MALLOC_DEFINE(M_ZOMBIE, "zombie", "zombie proc status"); @@ -453,6 +459,15 @@ */ KNOTE_LOCKED(&p->p_klist, NOTE_EXIT); +#ifdef KDTRACE_HOOKS + int reason = CLD_EXITED; + if (WCOREDUMP(rv)) + reason = CLD_DUMPED; + else if (WIFSIGNALED(rv)) + reason = CLD_KILLED; + SDT_PROBE(proc, kernel, , exit, reason, 0, 0, 0, 0); +#endif + /* * Just delete all entries in the p_klist. At this point we won't * report any more events, and there are nasty race conditions that From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:52:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3DFE16A41A; Tue, 22 Jan 2008 01:52: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 A0CD816A417 for ; Tue, 22 Jan 2008 01:52:45 +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 8374113C458 for ; Tue, 22 Jan 2008 01:52:45 +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 m0M1qjWl047263 for ; Tue, 22 Jan 2008 01:52:45 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1qjCK047260 for perforce@freebsd.org; Tue, 22 Jan 2008 01:52:45 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:52:45 GMT Message-Id: <200801220152.m0M1qjCK047260@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 133839 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:52:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=133839 Change 133839 by jb@jb_freebsd1 on 2008/01/22 01:52:04 Add a new DIF variable called 'execargs' as a special case for FreeBSD to get the argument string without all the sub-string zero terminators. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#20 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#19 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#29 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#20 (text) ==== @@ -225,6 +225,8 @@ &dt_idops_type, "uint_t" }, { "errno", DT_IDENT_SCALAR, 0, DIF_VAR_ERRNO, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "int" }, +{ "execargs", DT_IDENT_SCALAR, 0, DIF_VAR_EXECARGS, + DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "string" }, { "execname", DT_IDENT_SCALAR, 0, DIF_VAR_EXECNAME, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "string" }, { "exit", DT_IDENT_ACTFUNC, 0, DT_ACT_EXIT, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -1103,6 +1105,7 @@ return (set_open_errno(dtp, errp, EDT_NOMEM)); #endif +#if defined(sun) #ifdef __x86 /* * On x86 systems, __i386 is defined for for 32-bit @@ -1117,6 +1120,17 @@ return (set_open_errno(dtp, errp, EDT_NOMEM)); } #endif +#else +#if defined(__amd64__) || defined(__i386__) + if (dtp->dt_conf.dtc_ctfmodel == CTF_MODEL_LP64) { + if (dt_cpp_add_arg(dtp, "-m64") == NULL) + return (set_open_errno(dtp, errp, EDT_NOMEM)); + } else { + if (dt_cpp_add_arg(dtp, "-m32") == NULL) + return (set_open_errno(dtp, errp, EDT_NOMEM)); + } +#endif +#endif if (dtp->dt_conf.dtc_difversion < DIF_VERSION) return (set_open_errno(dtp, errp, EDT_DIFVERS)); ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#19 (text) ==== @@ -2558,6 +2558,44 @@ } /* + * Return a string from a memoy address which is known to have one or + * more concatenated, individually zero terminated, sub-strings. + * In the event that the user lacks the privilege to access + * arbitrary kernel memory, we copy the string out to scratch memory so that we + * don't fail access checking. + * + * dtrace_dif_variable() uses this routine as a helper for various + * builtin values such as 'execargs'. + */ +static uintptr_t +dtrace_dif_varstrz(uintptr_t addr, size_t strsz, dtrace_state_t *state, + dtrace_mstate_t *mstate) +{ + char *p; + size_t i; + uintptr_t ret; + + if (mstate->dtms_scratch_ptr + strsz > + mstate->dtms_scratch_base + mstate->dtms_scratch_size) { + DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); + return (0); + } + + dtrace_bcopy((const void *)addr, (void *)mstate->dtms_scratch_ptr, + strsz); + + /* Replace sub-string termination characters with a space. */ + for (p = (char *) mstate->dtms_scratch_ptr, i = 0; i < strsz - 1; + p++, i++) + if (*p == '\0') + *p = ' '; + + ret = mstate->dtms_scratch_ptr; + mstate->dtms_scratch_ptr += strsz; + return (ret); +} + +/* * This function implements the DIF emulator's variable lookups. The emulator * passes a reserved variable identifier and optional built-in array index. */ @@ -2843,6 +2881,13 @@ return ((uint64_t)curthread->t_tid); + case DIF_VAR_EXECARGS: { + struct pargs *p_args = curthread->td_proc->p_args; + + return (dtrace_dif_varstrz( + (uintptr_t) p_args->ar_args, p_args->ar_length, state, mstate)); + } + case DIF_VAR_EXECNAME: #if defined(sun) if (!dtrace_priv_proc(state)) @@ -8455,6 +8500,7 @@ if (v == DIF_VAR_CURTHREAD || v == DIF_VAR_PID || v == DIF_VAR_PPID || v == DIF_VAR_TID || + v == DIF_VAR_EXECARGS || v == DIF_VAR_EXECNAME || v == DIF_VAR_ZONENAME || v == DIF_VAR_UID || v == DIF_VAR_GID) break; @@ -8534,6 +8580,7 @@ case DIF_VAR_CURTHREAD: case DIF_VAR_PID: case DIF_VAR_TID: + case DIF_VAR_EXECARGS: case DIF_VAR_EXECNAME: case DIF_VAR_ZONENAME: break; ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#29 (text) ==== @@ -249,6 +249,7 @@ #define DIF_VAR_UID 0x011e /* process user ID */ #define DIF_VAR_GID 0x011f /* process group ID */ #define DIF_VAR_ERRNO 0x0120 /* thread errno */ +#define DIF_VAR_EXECARGS 0x0121 /* process arguments */ #define DIF_SUBR_RAND 0 #define DIF_SUBR_MUTEX_OWNED 1 From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:54:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8B1C16A420; Tue, 22 Jan 2008 01:54: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 74F2416A417 for ; Tue, 22 Jan 2008 01:54: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 580B213C458 for ; Tue, 22 Jan 2008 01:54: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 m0M1sm3h047328 for ; Tue, 22 Jan 2008 01:54:48 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1smlI047325 for perforce@freebsd.org; Tue, 22 Jan 2008 01:54:48 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:54:48 GMT Message-Id: <200801220154.m0M1smlI047325@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 133840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:54:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=133840 Change 133840 by jb@jb_freebsd1 on 2008/01/22 01:53:53 I have no option but to edit these tests because FreeBSD != Solaris. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#5 (text+ko) ==== @@ -36,12 +36,12 @@ { $dtrace -s /dev/stdin <pr_ppid == $child && args[0] == "/usr/bin/sleep"/ + /curpsinfo->pr_ppid == $child && args[0] == "/bin/sleep"/ { self->exec = 1; } - proc:::exec-success + proc:::exec_success /self->exec/ { exit(0); @@ -52,7 +52,7 @@ sleeper() { while true; do - /usr/bin/sleep 1 + /bin/sleep 1 done } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#5 (text+ko) ==== @@ -42,7 +42,7 @@ self->exec = 1; } - proc:::exec-failure + proc:::exec_failure /self->exec && args[0] == ENOENT/ { exit(0); @@ -53,7 +53,7 @@ sleeper() { while true; do - /usr/bin/sleep 1 + /bin/sleep 1 $badexec done } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#5 (text+ko) ==== @@ -45,7 +45,7 @@ self->exec = 1; } - proc:::exec-failure + proc:::exec_failure /self->exec/ { exit(0); @@ -56,7 +56,7 @@ sleeper() { while true; do - /usr/bin/sleep 1 + /bin/sleep 1 $badexec done } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#5 (text+ko) ==== @@ -43,18 +43,16 @@ $dtrace -s /dev/stdin <pr_ppid == $child && - curpsinfo->pr_psargs == "$longsleep" && args[0] == CLD_DUMPED/ + execargs == "$longsleep" && args[0] == CLD_DUMPED/ { exit(0); } proc:::exit /curpsinfo->pr_ppid == $child && - curpsinfo->pr_psargs == "$longsleep" && args[0] != CLD_DUMPED/ + execargs == "$longsleep" && args[0] != CLD_DUMPED/ { - printf("Child process could not dump core. Check coreadm(1M)"); - printf(" settings; either per-process or global core dumps "); - printf("must be enabled for this test to work properly."); + printf("Child process could did dump core."); exit(1); } EOF @@ -62,13 +60,12 @@ sleeper() { - /usr/bin/coreadm -p $corefile while true; do $longsleep & - /usr/bin/sleep 1 + /bin/sleep 1 kill -SEGV $! done - /usr/bin/rm -f $corefile + /bin/rm -f $corefile } if [ $# != 1 ]; then @@ -77,8 +74,8 @@ fi dtrace=$1 -longsleep="/usr/bin/sleep 10000" -corefile=/tmp/core.$$ +longsleep="/bin/sleep 10000" +corefile=/tmp/sleep.core sleeper & child=$! @@ -86,10 +83,10 @@ script status=$? -pstop $child -pkill -P $child +#pstop $child +#pkill -P $child kill $child -prun $child +#prun $child -/usr/bin/rm -f $corefile +/bin/rm -f $corefile exit $status ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#5 (text+ko) ==== @@ -46,7 +46,7 @@ sleeper() { while true; do - /usr/bin/sleep 1 + /bin/sleep 1 done } From owner-p4-projects@FreeBSD.ORG Tue Jan 22 01:56:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83F1916A46E; Tue, 22 Jan 2008 01:56: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 3140E16A419 for ; Tue, 22 Jan 2008 01:56:51 +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 13F8113C45A for ; Tue, 22 Jan 2008 01:56:51 +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 m0M1upF7047460 for ; Tue, 22 Jan 2008 01:56:51 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M1up3r047457 for perforce@freebsd.org; Tue, 22 Jan 2008 01:56:51 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 01:56:51 GMT Message-Id: <200801220156.m0M1up3r047457@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 133841 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 01:56:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133841 Change 133841 by jb@jb_freebsd1 on 2008/01/22 01:56:03 Some more tests that work. A couple are acting like little children. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#12 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#12 (text+ko) ==== @@ -4,6 +4,7 @@ DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl IGNORE= \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel32.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \ ${TESTSRCDIR}/tst/common/aggs/err.D_KEY_TYPE.badkey4.d \ @@ -204,13 +205,7 @@ ${TESTSRCDIR}/tst/common/printf/tst.sym.d \ ${TESTSRCDIR}/tst/common/privs/tst.func_access.ksh \ ${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.create.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.exec.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.execfail.ENOENT.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.execfail.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.exitcore.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.exitexit.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 04:52:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF63E16A41B; Tue, 22 Jan 2008 04:52: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 6487016A419 for ; Tue, 22 Jan 2008 04:52:53 +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 3CCE313C44B for ; Tue, 22 Jan 2008 04:52:53 +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 m0M4qr97069242 for ; Tue, 22 Jan 2008 04:52:53 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M4qrne069239 for perforce@freebsd.org; Tue, 22 Jan 2008 04:52:53 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 04:52:53 GMT Message-Id: <200801220452.m0M4qrne069239@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 133844 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 04:52:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=133844 Change 133844 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 04:51:53 update to use the hypercall page interface Affected files ... .. //depot/projects/xen31/sys/i386/include/xen/hypercall.h#7 edit .. //depot/projects/xen31/sys/i386/xen/exception.s#4 edit .. //depot/projects/xen31/sys/i386/xen/locore.s#8 edit .. //depot/projects/xen31/sys/i386/xen/xen_machdep.c#16 edit .. //depot/projects/xen31/sys/sys/cdefs.h#4 edit Differences ... ==== //depot/projects/xen31/sys/i386/include/xen/hypercall.h#7 (text+ko) ==== @@ -33,80 +33,91 @@ #include #include -#define _hypercall0(type, name) \ -({ \ - long __res; \ - asm volatile ( \ - TRAP_INSTR \ - : "=a" (__res) \ - : "0" (__HYPERVISOR_##name) \ - : "memory" ); \ - (type)__res; \ +#define __STR(x) #x +#define STR(x) __STR(x) + +#if defined(XEN) +#define HYPERCALL_STR(name) \ + "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)" +#else +#define HYPERCALL_STR(name) \ + "mov hypercall_stubs,%%eax; " \ + "add $("STR(__HYPERVISOR_##name)" * 32),%%eax; " \ + "call *%%eax" +#endif + +#define _hypercall0(type, name) \ +({ \ + long __res; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res) \ + : \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall1(type, name, a1) \ -({ \ - long __res, __ign1; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall1(type, name, a1) \ +({ \ + long __res, __ign1; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1) \ + : "1" ((long)(a1)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall2(type, name, a1, a2) \ -({ \ - long __res, __ign1, __ign2; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall2(type, name, a1, a2) \ +({ \ + long __res, __ign1, __ign2; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \ + : "1" ((long)(a1)), "2" ((long)(a2)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall3(type, name, a1, a2, a3) \ -({ \ - long __res, __ign1, __ign2, __ign3; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall3(type, name, a1, a2, a3) \ +({ \ + long __res, __ign1, __ign2, __ign3; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall4(type, name, a1, a2, a3, a4) \ -({ \ - long __res, __ign1, __ign2, __ign3, __ign4; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3), "=S" (__ign4) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)), \ - "4" ((long)(a4)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall4(type, name, a1, a2, a3, a4) \ +({ \ + long __res, __ign1, __ign2, __ign3, __ign4; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3), "=S" (__ign4) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)), "4" ((long)(a4)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall5(type, name, a1, a2, a3, a4, a5) \ -({ \ - long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)), \ - "4" ((long)(a4)), "5" ((long)(a5)) \ - : "memory" ); \ - (type)__res; \ -}) +#define _hypercall5(type, name, a1, a2, a3, a4, a5) \ +({ \ + long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)), "4" ((long)(a4)), \ + "5" ((long)(a5)) \ + : "memory" ); \ + (type)__res; \ +}) static inline int HYPERVISOR_set_trap_table( ==== //depot/projects/xen31/sys/i386/xen/exception.s#4 (text+ko) ==== @@ -37,10 +37,12 @@ #include #include + #include "assym.s" #define SEL_RPL_MASK 0x0002 - +#define __HYPERVISOR_iret 23 + /* Offsets into shared_info_t. */ #define evtchn_upcall_pending /* 0 */ #define evtchn_upcall_mask 1 @@ -367,7 +369,7 @@ addl $8,%esp .globl doreti_iret doreti_iret: - iret + jmp hypercall_page + (__HYPERVISOR_iret * 32) .globl ecrit ecrit: /* ==== //depot/projects/xen31/sys/i386/xen/locore.s#8 (text+ko) ==== @@ -56,7 +56,7 @@ #define __ASSEMBLY__ #include - + /* The defines below have been lifted out of */ #define FLAT_RING1_CS 0xe019 /* GDT index 259 */ #define FLAT_RING1_DS 0xe021 /* GDT index 260 */ @@ -76,15 +76,12 @@ ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, .long, KERNBASE) ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET, .long, KERNBASE) ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, btext) -#ifdef notyet ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page) -#endif ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW, .long, HYPERVISOR_VIRT_START) -#ifdef notyet +#if 0 ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") -#else - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "pae_pgdir_above_4gb|supervisor_mode_kernel|writable_descriptor_tables") #endif + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|supervisor_mode_kernel|writable_descriptor_tables") #ifdef PAE ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "yes") @@ -242,6 +239,16 @@ .long tmpstack, KERNEL_DS .text + +.p2align 12, 0x90 + +#define HYPERCALL_PAGE_OFFSET 0x1000 +.org HYPERCALL_PAGE_OFFSET +ENTRY(hypercall_page) + .cfi_startproc + .skip 0x1000 + .cfi_endproc + /********************************************************************** * * This is where the bootblocks start us, set the ball rolling... ==== //depot/projects/xen31/sys/i386/xen/xen_machdep.c#16 (text+ko) ==== @@ -261,7 +261,6 @@ struct mmuext_op op; op.cmd = MMUEXT_INVLPG_ALL; op.arg1.linear_addr = va & ~PAGE_MASK; - xen_flush_queue(); PANIC_IF(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } ==== //depot/projects/xen31/sys/sys/cdefs.h#4 (text+ko) ==== @@ -49,7 +49,7 @@ * Can update to a more recent version when we implement * the hypercall page */ -#define __XEN_INTERFACE_VERSION__ 0x00030202 +#define __XEN_INTERFACE_VERSION__ 0x00030203 #endif /* * This code has been put in place to help reduce the addition of From owner-p4-projects@FreeBSD.ORG Tue Jan 22 04:57:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5027516A420; Tue, 22 Jan 2008 04:57: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 15FBC16A41A for ; Tue, 22 Jan 2008 04:57:59 +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 CAD5013C46A for ; Tue, 22 Jan 2008 04:57:58 +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 m0M4vwnF069542 for ; Tue, 22 Jan 2008 04:57:58 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M4vwam069539 for perforce@freebsd.org; Tue, 22 Jan 2008 04:57:58 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 04:57:58 GMT Message-Id: <200801220457.m0M4vwam069539@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 133845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 04:57:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=133845 Change 133845 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 04:57:28 update to xen interface version 0x00030204 Affected files ... .. //depot/projects/xen31/sys/sys/cdefs.h#5 edit Differences ... ==== //depot/projects/xen31/sys/sys/cdefs.h#5 (text+ko) ==== @@ -49,7 +49,7 @@ * Can update to a more recent version when we implement * the hypercall page */ -#define __XEN_INTERFACE_VERSION__ 0x00030203 +#define __XEN_INTERFACE_VERSION__ 0x00030204 #endif /* * This code has been put in place to help reduce the addition of From owner-p4-projects@FreeBSD.ORG Tue Jan 22 06:29:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4E4E16A469; Tue, 22 Jan 2008 06:29: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 87AB716A421 for ; Tue, 22 Jan 2008 06:29:38 +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 45DBD13C46B for ; Tue, 22 Jan 2008 06:29:38 +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 m0M6Tc5k077041 for ; Tue, 22 Jan 2008 06:29:38 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M6Taxu077038 for perforce@freebsd.org; Tue, 22 Jan 2008 06:29:36 GMT (envelope-from imp@freebsd.org) Date: Tue, 22 Jan 2008 06:29:36 GMT Message-Id: <200801220629.m0M6Taxu077038@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 133846 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 06:29:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=133846 Change 133846 by imp@imp_paco-paco on 2008/01/22 06:29:31 #error for a SMP todo. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#8 (text+ko) ==== @@ -469,6 +469,7 @@ * In multiprocessor case, store/retrieve the pcpu structure * address for current CPU in scratch register for fast access. */ +#error "Write GET_CPU_PCPU for SMP" #else #define GET_CPU_PCPU(reg) \ lw reg, _C_LABEL(pcpup); From owner-p4-projects@FreeBSD.ORG Tue Jan 22 06:59:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE0D216A419; Tue, 22 Jan 2008 06:59:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8429516A417 for ; Tue, 22 Jan 2008 06:59:09 +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 41B8C13C46B for ; Tue, 22 Jan 2008 06:59:09 +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 m0M6x9nm078429 for ; Tue, 22 Jan 2008 06:59:09 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M6x9g7078426 for perforce@freebsd.org; Tue, 22 Jan 2008 06:59:09 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 06:59:09 GMT Message-Id: <200801220659.m0M6x9g7078426@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 133847 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 06:59:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=133847 Change 133847 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 06:58:50 make sure MTOP mapping works on up to 64GB systems Affected files ... .. //depot/projects/xen31/sys/i386/i386/machdep.c#15 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/machdep.c#15 (text+ko) ==== @@ -2162,9 +2162,7 @@ extern vm_paddr_t *pdir_shadow; -#define MTOPSIZE (1<<(12 + PAGE_SHIFT)) - - +#define MTOPSIZE (1<<(14 + PAGE_SHIFT)) void init386(int first) { From owner-p4-projects@FreeBSD.ORG Tue Jan 22 07:00:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CA4016A41A; Tue, 22 Jan 2008 07:00: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 AE14D16A417 for ; Tue, 22 Jan 2008 07:00:10 +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 83A7113C447 for ; Tue, 22 Jan 2008 07:00:10 +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 m0M70Ah4078557 for ; Tue, 22 Jan 2008 07:00:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M70Ai3078554 for perforce@freebsd.org; Tue, 22 Jan 2008 07:00:10 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 07:00:10 GMT Message-Id: <200801220700.m0M70Ai3078554@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 133848 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 07:00:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=133848 Change 133848 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 06:59:35 make sure we don't allocate KVA in Xen's VA Affected files ... .. //depot/projects/xen31/sys/i386/include/vmparam.h#4 edit Differences ... ==== //depot/projects/xen31/sys/i386/include/vmparam.h#4 (text+ko) ==== @@ -160,7 +160,11 @@ * messy at times, but hey, we'll do anything to save a page :-) */ +#ifdef XEN +#define VM_MAX_KERNEL_ADDRESS HYPERVISOR_VIRT_START +#else #define VM_MAX_KERNEL_ADDRESS VADDR(KPTDI+NKPDE-1, NPTEPG-1) +#endif #define VM_MIN_KERNEL_ADDRESS VADDR(PTDPTDI, PTDPTDI) #define KERNBASE VADDR(KPTDI, 0) From owner-p4-projects@FreeBSD.ORG Tue Jan 22 07:01:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3CF5716A420; Tue, 22 Jan 2008 07:01: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 DE6BD16A419 for ; Tue, 22 Jan 2008 07:01:11 +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 B378713C447 for ; Tue, 22 Jan 2008 07:01:11 +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 m0M71Bh7078619 for ; Tue, 22 Jan 2008 07:01:11 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M71BGJ078616 for perforce@freebsd.org; Tue, 22 Jan 2008 07:01:11 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 07:01:11 GMT Message-Id: <200801220701.m0M71BGJ078616@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 133849 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 07:01:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=133849 Change 133849 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 07:00:15 emulate segneg until libc can be fixed Affected files ... .. //depot/projects/xen31/sys/i386/xen/xen_machdep.c#17 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/xen_machdep.c#17 (text+ko) ==== @@ -709,7 +709,13 @@ HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_writable_pagetables); - + HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments); +#ifdef notyet + /* + * need to install handler + */ + HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments_notify); +#endif xen_start_info = startinfo; xen_phys_machine = (xen_pfn_t *)startinfo->mfn_list; From owner-p4-projects@FreeBSD.ORG Tue Jan 22 07:03:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9EAC216A468; Tue, 22 Jan 2008 07:03: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 4B31C16A41A for ; Tue, 22 Jan 2008 07:03:14 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0A2D613C468 for ; Tue, 22 Jan 2008 07:03:14 +0000 (UTC) (envelope-from zhouzhouyi@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 m0M73EMF079882 for ; Tue, 22 Jan 2008 07:03:14 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M73DXK079879 for perforce@freebsd.org; Tue, 22 Jan 2008 07:03:13 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 22 Jan 2008 07:03:13 GMT Message-Id: <200801220703.m0M73DXK079879@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133850 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 07:03:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=133850 Change 133850 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/22 07:03:00 Style Modification Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/fifo/00.t#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/fifo/00.t#3 (text+ko) ==== @@ -1,82 +1,86 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/fifo/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ -desc="manipulate fifo files" +desc="MAC Framework for fifo" dir=`dirname $0` . ${dir}/../misc.sh -echo "1..1" +case "${os}" in +FreeBSD) -n0=`namegen` -n1=`namegen` -n2=`namegen` -n3=`namegen` + mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` + mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` + mac_test_support=`sysctl -n security.mac.test.pseudoinit 2>/dev/null` + if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] && + [ "${mac_test_support}" != "" ]; then #turn off all the switches -for i in `sysctl security.mac | grep "\.enabled"| - sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do -sysctl ${i}=0 -done + for i in `sysctl security.mac | grep "\.enabled"| + sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do + sysctl ${i}=0 >/dev/null + done + +#enabling mactest pseudo interface + if [ -f ${mactest_conf} ]; then + rm ${mactest_conf} + fi + touch ${mactest_conf} + setfmac "mls/equal,biba/equal" ${mactest_conf} + + echo "1..5" -mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` -mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` -if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then - dvplabel=`getfmac ".."| sed 's/\(\.\.:\ \)\([a-z\,\/]*\)/\2/`; + n0=`namegen` + n1=`namegen` + n2=`namegen` + n3=`namegen` -############################################################# -#first make working dir, the hook checks are already done in open: - if [ -f ${mactest_conf} ]; then - rm ${mactest_conf} - fi - touch ${mactest_conf} -############################################################# - t=`sysctl security.mac.mls.enabled=1` - echo "enforcing mac/mls!" - t=`sysctl security.mac.mls.revocation_enabled=1` - echo "enabling revoking" #case 1: mkdir - mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n3} 0755 + mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n3} 0755 -############################################################# #case 2: setfmac - mactestexpect "" "" -m "mls/low(low-high)" -f ${mactest_conf} system setfmac "mls/6" ${n3} + mactestexpect "" "" -m "mls/low(low-high)" -f ${mactest_conf} system setfmac "mls/6" ${n3} -############################################################# #case 3: mkfifo - echo -n "pid = -1 mac_test_check_vnode_lookup:" > ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6" >> ${mactest_conf} - echo -n "pid = -1 mac_test_check_vnode_create:" >> ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6" >> ${mactest_conf} - echo "pid = -1 mac_test_init_vnode_label" >> ${mactest_conf} - mactestexpect "" 0 -m "mls/6(low-high)" -f ${mactest_conf} mkfifo ${n3}/${n2} 0755 + echo -n "pid = -1 vnode_check_lookup:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6" >> ${mactest_conf} + echo -n "pid = -1 vnode_check_create:" >> ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6" >> ${mactest_conf} + echo "pid = -1 vnode_init_label" >> ${mactest_conf} + mactestexpect "" 0 -m "mls/6(low-high)" -f ${mactest_conf} mkfifo ${n3}/${n2} 0755 -############################################################# #case 4: setfmac - echo -n "pid = -2 mac_test_check_vnode_relabel:" > ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/,mls/7" >> ${mactest_conf} - echo -n "pid = -2 mac_test_setlabel_vnode_extattr:" >> ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/,mls/7" >> ${mactest_conf} - echo -n "pid = -2 mac_test_relabel_vnode:" >> ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) * biba/,mls/7" >> ${mactest_conf} - mactestexpect "" "" -m "mls/6(low-high)" -f ${mactest_conf} system setfmac "mls/7" ${n3}/${n2} + echo -n "pid = -2 vnode_check_relabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/,mls/7" >> ${mactest_conf} + echo -n "pid = -2 vnode_setlabel_extattr:" >> ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/,mls/7" >> ${mactest_conf} + echo -n "pid = -2 vnode_relabel:" >> ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) * biba/,mls/7" >> ${mactest_conf} + mactestexpect "" "" -m "mls/6(low-high)" -f ${mactest_conf} system setfmac "mls/7" ${n3}/${n2} #case 5: fifo io, it is strange that fifo io is only checked via open - echo -n "pid = -2 mac_test_check_vnode_open#VWRITE:" > ${mactest_conf} - echo "biba/high(low-high),mls/6(low-high) biba/high,mls/7" >> ${mactest_conf} - echo -n "pid = -2 mac_test_check_vnode_open#VREAD:" >> ${mactest_conf} - echo "biba/high(low-high),mls/7(low-high) biba/high,mls/7" >> ${mactest_conf} - bizarretestexpect ${fifo_io} "" "" -r "mls/7(low-high)" -w "mls/6(low-high)" -f ${mactest_conf} -p ${n3}/${n2} + echo -n "pid = -2 vnode_check_open#VWRITE:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/7" >> ${mactest_conf} + echo -n "pid = -2 vnode_check_open#VREAD:" >> ${mactest_conf} + echo "biba/high(low-high),mls/7(low-high) biba/high,mls/7" >> ${mactest_conf} + bizarretestexpect ${fifo_io} "" "" -r "mls/7(low-high)" -w "mls/6(low-high)" -f ${mactest_conf} -p ${n3}/${n2} + #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" - rm -fr ${n3} + sysctl security.mac.mls.enabled=0 >/dev/null + sysctl security.mac.biba.enabled=0 > /dev/null + rm ${mactest_conf} + rm -fr ${n3} +#mac_mls mac_biba and mac_test support + fi + ;; +*) + quick_exit + ;; +esac - rm ${mactest_conf} -fi From owner-p4-projects@FreeBSD.ORG Tue Jan 22 07:57:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A98E16A46C; Tue, 22 Jan 2008 07:57: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 509B916A421 for ; Tue, 22 Jan 2008 07:57:11 +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 0B3BA13C46A for ; Tue, 22 Jan 2008 07:57:11 +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 m0M7vApt083248 for ; Tue, 22 Jan 2008 07:57:10 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M7vA0L083236 for perforce@freebsd.org; Tue, 22 Jan 2008 07:57:10 GMT (envelope-from imp@freebsd.org) Date: Tue, 22 Jan 2008 07:57:10 GMT Message-Id: <200801220757.m0M7vA0L083236@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 133852 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 07:57:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=133852 Change 133852 by imp@imp_paco-paco on 2008/01/22 07:56:59 Copy over from tlb.S. Need to hack it for 32-bit operations. It might be possible to do a merged version, but I'm planning on taking the shortest path through the problem to get MALTA going again. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb32.S#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jan 22 08:22:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9BC416A41A; Tue, 22 Jan 2008 08:22: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 8EAF916A421 for ; Tue, 22 Jan 2008 08:22:37 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6121B13C45D for ; Tue, 22 Jan 2008 08:22:37 +0000 (UTC) (envelope-from scottl@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 m0M8Mb4A088380 for ; Tue, 22 Jan 2008 08:22:37 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M8MbkD088377 for perforce@freebsd.org; Tue, 22 Jan 2008 08:22:37 GMT (envelope-from scottl@freebsd.org) Date: Tue, 22 Jan 2008 08:22:37 GMT Message-Id: <200801220822.m0M8MbkD088377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 133854 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 08:22:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=133854 Change 133854 by scottl@scottl-deimos on 2008/01/22 08:21:37 Catch up to more pmap/vm fixes and changes. Affected files ... .. //depot/projects/xen31-xenbus/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/xen31-xenbus/sys/i386/i386/trap.c#2 integrate .. //depot/projects/xen31-xenbus/sys/i386/include/vmparam.h#2 integrate .. //depot/projects/xen31-xenbus/sys/i386/include/xen/hypercall.h#2 integrate .. //depot/projects/xen31-xenbus/sys/i386/xen/exception.s#2 integrate .. //depot/projects/xen31-xenbus/sys/i386/xen/locore.s#2 integrate .. //depot/projects/xen31-xenbus/sys/i386/xen/pmap.c#5 integrate .. //depot/projects/xen31-xenbus/sys/i386/xen/xen_machdep.c#3 integrate .. //depot/projects/xen31-xenbus/sys/sys/cdefs.h#2 integrate Differences ... ==== //depot/projects/xen31-xenbus/sys/i386/i386/machdep.c#3 (text+ko) ==== @@ -2162,9 +2162,7 @@ extern vm_paddr_t *pdir_shadow; -#define MTOPSIZE (1<<(12 + PAGE_SHIFT)) - - +#define MTOPSIZE (1<<(14 + PAGE_SHIFT)) void init386(int first) { ==== //depot/projects/xen31-xenbus/sys/i386/i386/trap.c#2 (text+ko) ==== @@ -746,7 +746,7 @@ struct vmspace *vm = NULL; vm_map_t map; int rv = 0; - vm_prot_t ftype; + vm_prot_t ftype = 0; struct thread *td = curthread; struct proc *p = td->td_proc; @@ -832,7 +832,11 @@ trap_fatal(frame, eva); return (-1); } - +#ifdef XEN + if (rv == KERN_PROTECTION_FAILURE) + printf("SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x\n", p->p_comm, va, ftype, frame->tf_eip); +#endif + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } ==== //depot/projects/xen31-xenbus/sys/i386/include/vmparam.h#2 (text+ko) ==== @@ -160,7 +160,11 @@ * messy at times, but hey, we'll do anything to save a page :-) */ +#ifdef XEN +#define VM_MAX_KERNEL_ADDRESS HYPERVISOR_VIRT_START +#else #define VM_MAX_KERNEL_ADDRESS VADDR(KPTDI+NKPDE-1, NPTEPG-1) +#endif #define VM_MIN_KERNEL_ADDRESS VADDR(PTDPTDI, PTDPTDI) #define KERNBASE VADDR(KPTDI, 0) ==== //depot/projects/xen31-xenbus/sys/i386/include/xen/hypercall.h#2 (text+ko) ==== @@ -33,80 +33,91 @@ #include #include -#define _hypercall0(type, name) \ -({ \ - long __res; \ - asm volatile ( \ - TRAP_INSTR \ - : "=a" (__res) \ - : "0" (__HYPERVISOR_##name) \ - : "memory" ); \ - (type)__res; \ +#define __STR(x) #x +#define STR(x) __STR(x) + +#if defined(XEN) +#define HYPERCALL_STR(name) \ + "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)" +#else +#define HYPERCALL_STR(name) \ + "mov hypercall_stubs,%%eax; " \ + "add $("STR(__HYPERVISOR_##name)" * 32),%%eax; " \ + "call *%%eax" +#endif + +#define _hypercall0(type, name) \ +({ \ + long __res; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res) \ + : \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall1(type, name, a1) \ -({ \ - long __res, __ign1; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall1(type, name, a1) \ +({ \ + long __res, __ign1; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1) \ + : "1" ((long)(a1)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall2(type, name, a1, a2) \ -({ \ - long __res, __ign1, __ign2; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall2(type, name, a1, a2) \ +({ \ + long __res, __ign1, __ign2; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \ + : "1" ((long)(a1)), "2" ((long)(a2)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall3(type, name, a1, a2, a3) \ -({ \ - long __res, __ign1, __ign2, __ign3; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall3(type, name, a1, a2, a3) \ +({ \ + long __res, __ign1, __ign2, __ign3; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall4(type, name, a1, a2, a3, a4) \ -({ \ - long __res, __ign1, __ign2, __ign3, __ign4; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3), "=S" (__ign4) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)), \ - "4" ((long)(a4)) \ - : "memory" ); \ - (type)__res; \ +#define _hypercall4(type, name, a1, a2, a3, a4) \ +({ \ + long __res, __ign1, __ign2, __ign3, __ign4; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3), "=S" (__ign4) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)), "4" ((long)(a4)) \ + : "memory" ); \ + (type)__res; \ }) -#define _hypercall5(type, name, a1, a2, a3, a4, a5) \ -({ \ - long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \ - __asm__ volatile ( \ - TRAP_INSTR \ - : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ - "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \ - : "0" (__HYPERVISOR_##name), "1" ((long)(a1)), \ - "2" ((long)(a2)), "3" ((long)(a3)), \ - "4" ((long)(a4)), "5" ((long)(a5)) \ - : "memory" ); \ - (type)__res; \ -}) +#define _hypercall5(type, name, a1, a2, a3, a4, a5) \ +({ \ + long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \ + __asm__ volatile ( \ + HYPERCALL_STR(name) \ + : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \ + "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \ + : "1" ((long)(a1)), "2" ((long)(a2)), \ + "3" ((long)(a3)), "4" ((long)(a4)), \ + "5" ((long)(a5)) \ + : "memory" ); \ + (type)__res; \ +}) static inline int HYPERVISOR_set_trap_table( ==== //depot/projects/xen31-xenbus/sys/i386/xen/exception.s#2 (text+ko) ==== @@ -37,10 +37,12 @@ #include #include + #include "assym.s" #define SEL_RPL_MASK 0x0002 - +#define __HYPERVISOR_iret 23 + /* Offsets into shared_info_t. */ #define evtchn_upcall_pending /* 0 */ #define evtchn_upcall_mask 1 @@ -367,7 +369,7 @@ addl $8,%esp .globl doreti_iret doreti_iret: - iret + jmp hypercall_page + (__HYPERVISOR_iret * 32) .globl ecrit ecrit: /* ==== //depot/projects/xen31-xenbus/sys/i386/xen/locore.s#2 (text+ko) ==== @@ -56,7 +56,7 @@ #define __ASSEMBLY__ #include - + /* The defines below have been lifted out of */ #define FLAT_RING1_CS 0xe019 /* GDT index 259 */ #define FLAT_RING1_DS 0xe021 /* GDT index 260 */ @@ -76,15 +76,12 @@ ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, .long, KERNBASE) ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET, .long, KERNBASE) ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, btext) -#ifdef notyet ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page) -#endif ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW, .long, HYPERVISOR_VIRT_START) -#ifdef notyet +#if 0 ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") -#else - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "pae_pgdir_above_4gb|supervisor_mode_kernel|writable_descriptor_tables") #endif + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|supervisor_mode_kernel|writable_descriptor_tables") #ifdef PAE ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "yes") @@ -242,6 +239,16 @@ .long tmpstack, KERNEL_DS .text + +.p2align 12, 0x90 + +#define HYPERCALL_PAGE_OFFSET 0x1000 +.org HYPERCALL_PAGE_OFFSET +ENTRY(hypercall_page) + .cfi_startproc + .skip 0x1000 + .cfi_endproc + /********************************************************************** * * This is where the bootblocks start us, set the ball rolling... ==== //depot/projects/xen31-xenbus/sys/i386/xen/pmap.c#5 (text+ko) ==== @@ -1173,7 +1173,7 @@ pt_entry_t *pte; pte = vtopte(va); - pte_clear(pte); + PT_CLEAR_VA(pte, FALSE); } /* @@ -1224,13 +1224,15 @@ endpte = pte + count; while (pte < endpte) { oldpte |= *pte; - pte_store(pte, VM_PAGE_TO_PHYS(*ma) | pgeflag | PG_RW | PG_V); + PT_SET_VA(pte, VM_PAGE_TO_PHYS(*ma) | pgeflag | PG_RW | PG_V, FALSE); pte++; ma++; } if ((oldpte & PG_V) != 0) pmap_invalidate_range(kernel_pmap, sva, sva + count * PAGE_SIZE); + else + PT_UPDATES_FLUSH(); } /* @@ -3056,8 +3058,7 @@ * accessed (referenced) bits * during the copy. */ - *dst_pte = ptetemp & ~(PG_W | PG_M | - PG_A); + PT_SET_VA_MA(dst_pte, ptetemp & ~(PG_W | PG_M | PG_A), FALSE); dst_pmap->pm_stats.resident_count++; } else { free = NULL; @@ -3077,6 +3078,7 @@ } if (*PMAP1) *PMAP1 = 0; + PT_UPDATES_FLUSH(); sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(src_pmap); @@ -3319,8 +3321,8 @@ (uintmax_t)tpte)); - pte_clear(pte); - + PT_CLEAR_VA(pte, FALSE); + /* * Update the vm_page_t clean/reference bits. */ @@ -3342,6 +3344,7 @@ pmap->pm_stats.resident_count--; } } + PT_UPDATES_FLUSH(); if (allfree) { PV_STAT(pv_entry_spare -= _NPCPV); PV_STAT(pc_chunk_count--); @@ -3408,16 +3411,8 @@ pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) { pt_entry_t *pte; - boolean_t rv; + boolean_t rv = FALSE; - rv = FALSE; - /* XXX - * in order for writable pagetables to help, - * this has to work - check if we aren't doing - * an invlpg on the page tables linear mappings - */ - return (rv); - PMAP_LOCK(pmap); if (*pmap_pde(pmap, addr)) { pte = vtopte(addr); ==== //depot/projects/xen31-xenbus/sys/i386/xen/xen_machdep.c#3 (text+ko) ==== @@ -261,7 +261,6 @@ struct mmuext_op op; op.cmd = MMUEXT_INVLPG_ALL; op.arg1.linear_addr = va & ~PAGE_MASK; - xen_flush_queue(); PANIC_IF(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } @@ -710,7 +709,13 @@ HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_writable_pagetables); - + HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments); +#ifdef notyet + /* + * need to install handler + */ + HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments_notify); +#endif xen_start_info = startinfo; xen_phys_machine = (xen_pfn_t *)startinfo->mfn_list; ==== //depot/projects/xen31-xenbus/sys/sys/cdefs.h#2 (text+ko) ==== @@ -49,7 +49,7 @@ * Can update to a more recent version when we implement * the hypercall page */ -#define __XEN_INTERFACE_VERSION__ 0x00030202 +#define __XEN_INTERFACE_VERSION__ 0x00030204 #endif /* * This code has been put in place to help reduce the addition of From owner-p4-projects@FreeBSD.ORG Tue Jan 22 08:53:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E64F16A46C; Tue, 22 Jan 2008 08:53: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 BFDF116A418 for ; Tue, 22 Jan 2008 08:53:41 +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 92F5913C447 for ; Tue, 22 Jan 2008 08:53:41 +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 m0M8rfEx008568 for ; Tue, 22 Jan 2008 08:53:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M8rfwj008565 for perforce@freebsd.org; Tue, 22 Jan 2008 08:53:41 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 08:53:41 GMT Message-Id: <200801220853.m0M8rfwj008565@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 133857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 08:53:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=133857 Change 133857 by jb@jb_freebsd1 on 2008/01/22 08:53:19 On amd64, a request to allocate 100 terabytes of per-cpu buffers actually succeeds. Ugh. Enforce a much lower limit of 32 Gb so that the DTrace test suite doesn't drive the system into the ground. Enable most of the buffering tests so that we now pass 664 tests. There are a couple of buffering tests which are Solaris-specific, plus a couple that are still under investigation for crimes against the operating system. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#20 edit .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#13 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#20 (text) ==== @@ -10317,6 +10317,14 @@ #else int i; + /* + * FreeBSD isn't good at limiting the amount of memory we + * ask to malloc, so let's place a limit here before trying + * to do something that might well end in tears at bedtime. + */ + if (size > 32ULL * 1024 * 1024 * 1024) + return(ENOMEM); + ASSERT(MUTEX_HELD(&dtrace_lock)); for (i = 0; i <= mp_maxid; i++) { if ((cp = pcpu_find(i)) == NULL) ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#13 (text+ko) ==== @@ -56,23 +56,10 @@ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d \ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d \ ${TESTSRCDIR}/tst/common/assocs/tst.orthogonality.d \ - ${TESTSRCDIR}/tst/common/buffering/err.end.d \ - ${TESTSRCDIR}/tst/common/buffering/err.resize1.d \ - ${TESTSRCDIR}/tst/common/buffering/err.resize2.d \ - ${TESTSRCDIR}/tst/common/buffering/err.resize3.d \ - ${TESTSRCDIR}/tst/common/buffering/err.zerobuf.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.alignring.d \ ${TESTSRCDIR}/tst/common/buffering/tst.cputime.ksh \ - ${TESTSRCDIR}/tst/common/buffering/tst.dynvarsize.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.fill1.d \ ${TESTSRCDIR}/tst/common/buffering/tst.resize1.d \ ${TESTSRCDIR}/tst/common/buffering/tst.resize2.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.resize3.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.ring1.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.ring2.d \ ${TESTSRCDIR}/tst/common/buffering/tst.ring3.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.smallring.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.switch1.d \ ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d \ ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d \ ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d \ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 09:54:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B719716A46B; Tue, 22 Jan 2008 09:54: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 D5F7D16A421 for ; Tue, 22 Jan 2008 09:54:03 +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 8F84813C46A for ; Tue, 22 Jan 2008 09:54:03 +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 m0M9s3PS012999 for ; Tue, 22 Jan 2008 09:54:03 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 m0M9s3H6012996 for perforce@freebsd.org; Tue, 22 Jan 2008 09:54:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 09:54:03 GMT Message-Id: <200801220954.m0M9s3H6012996@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 133859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 09:54:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=133859 Change 133859 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 09:53:04 Export symbl for cap_enter(2) system call. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/sys/Symbol.map#4 (text) ==== @@ -968,4 +968,5 @@ FBSD_1.1 { cap_new; cap_getrights; + cap_enter; }; From owner-p4-projects@FreeBSD.ORG Tue Jan 22 16:14:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E69816A419; Tue, 22 Jan 2008 16:14: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 C51E316A46B for ; Tue, 22 Jan 2008 16:14:01 +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 CC72013C458 for ; Tue, 22 Jan 2008 16:14:01 +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 m0MGE18B054793 for ; Tue, 22 Jan 2008 16:14:01 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 m0MGE1jE054790 for perforce@freebsd.org; Tue, 22 Jan 2008 16:14:01 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 16:14:01 GMT Message-Id: <200801221614.m0MGE1jE054790@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 133868 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 16:14:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=133868 Change 133868 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 16:13:50 Add a flags field to the process credential and define a flag for capability mode. Add a new system call, cap_getmode() that returns whether or not the process is in capability mode. Implement cap_enter() system call to set that flag. The call is a no-op if the process is already in capability mode. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/ucred.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#5 (text+ko) ==== @@ -58,16 +58,19 @@ */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#4 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#5 $"); #include #include #include #include #include +#include +#include #include #include #include +#include #include @@ -162,20 +165,44 @@ } /* - * Enter capability mode for the process. + * System call to enter capability mode for the process. */ int cap_enter(struct thread *td, struct cap_enter_args *uap) { + struct ucred *newcred, *oldcred; + struct proc *p; - /* XXXRW: Not implemented. */ + if (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) + return (0); + newcred = crget(); + p = td->td_proc; + PROC_LOCK(p); + oldcred = p->p_ucred; + crcopy(newcred, oldcred); + newcred->cr_flags |= CRED_FLAG_CAPMODE; + p->p_ucred = newcred; + PROC_UNLOCK(p); + crfree(oldcred); return (0); } /* - * Create a new capability reference to either an existing file object or an - * an existing capability. + * System call to query whether the process is in capability mode. + */ +int +cap_getmode(struct thread *td, struct cap_getmode_args *uap) +{ + u_int i; + + i = (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) ? 1 : 0; + return (copyout(&i, uap->modep, sizeof(i))); +} + +/* + * System call to create a new capability reference to either an existing + * file object or an an existing capability. */ int cap_new(struct thread *td, struct cap_new_args *uap) ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#5 (text+ko) ==== @@ -854,5 +854,6 @@ 485 AUE_NULL STD { int cap_getrights(int fd, \ u_int64_t *rightsp); } 486 AUE_NULL STD { int cap_enter(void); } +487 AUE_NULL STD { int cap_getmode(u_int *modep); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/ucred.h#2 (text+ko) ==== @@ -55,13 +55,19 @@ struct uidinfo *cr_uidinfo; /* per euid resource consumption */ struct uidinfo *cr_ruidinfo; /* per ruid resource consumption */ struct prison *cr_prison; /* jail(2) */ - void *cr_pspare[3]; /* vimage 2; general use 1 */ + u_int cr_flags; /* Flags. */ + void *cr_pspare[3]; /* vimage 2; general use 1 */ #define cr_endcopy cr_label struct label *cr_label; /* MAC label */ struct auditinfo_addr cr_audit; /* Audit properties. */ }; #define NOCRED ((struct ucred *)0) /* no credential available */ #define FSCRED ((struct ucred *)-1) /* filesystem credential */ + +/* + * Flags for cr_flags. + */ +#define CRED_FLAG_CAPMODE 0x00000001 /* In capability mode. */ #endif /* _KERNEL || _WANT_UCRED */ /* From owner-p4-projects@FreeBSD.ORG Tue Jan 22 16:18:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91E2116A46E; Tue, 22 Jan 2008 16:18: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 568FF16A46B for ; Tue, 22 Jan 2008 16:18:06 +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 5432213C46A for ; Tue, 22 Jan 2008 16:18:06 +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 m0MGI683055161 for ; Tue, 22 Jan 2008 16:18:06 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 m0MGI5Qp055158 for perforce@freebsd.org; Tue, 22 Jan 2008 16:18:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 16:18:05 GMT Message-Id: <200801221618.m0MGI5Qp055158@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 133869 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 16:18:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=133869 Change 133869 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 16:17:09 Regenerate. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#5 (text+ko) ==== @@ -516,4 +516,5 @@ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0 }, /* 484 = cap_new */ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0 }, /* 485 = cap_getrights */ { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0 }, /* 486 = cap_enter */ + { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_NULL, NULL, 0, 0 }, /* 487 = cap_getmode */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#5 (text+ko) ==== @@ -494,4 +494,5 @@ "cap_new", /* 484 = cap_new */ "cap_getrights", /* 485 = cap_getrights */ "cap_enter", /* 486 = cap_enter */ + "cap_getmode", /* 487 = cap_getmode */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#5 (text+ko) ==== @@ -2908,6 +2908,13 @@ *n_args = 0; break; } + /* cap_getmode */ + case 487: { + struct cap_getmode_args *p = params; + uarg[0] = (intptr_t) p->modep; /* u_int * */ + *n_args = 1; + break; + } default: *n_args = 0; break; ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#5 (text+ko) ==== @@ -406,4 +406,5 @@ #define SYS_cap_new 484 #define SYS_cap_getrights 485 #define SYS_cap_enter 486 -#define SYS_MAXSYSCALL 487 +#define SYS_cap_getmode 487 +#define SYS_MAXSYSCALL 488 ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#5 (text+ko) ==== @@ -354,4 +354,5 @@ shm_unlink.o \ cap_new.o \ cap_getrights.o \ - cap_enter.o + cap_enter.o \ + cap_getmode.o ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#5 (text+ko) ==== @@ -1539,6 +1539,9 @@ struct cap_enter_args { register_t dummy; }; +struct cap_getmode_args { + char modep_l_[PADL_(u_int *)]; u_int * modep; char modep_r_[PADR_(u_int *)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1883,6 +1886,7 @@ int cap_new(struct thread *, struct cap_new_args *); int cap_getrights(struct thread *, struct cap_getrights_args *); int cap_enter(struct thread *, struct cap_enter_args *); +int cap_getmode(struct thread *, struct cap_getmode_args *); #ifdef COMPAT_43 @@ -2452,6 +2456,7 @@ #define SYS_AUE_cap_new AUE_NULL #define SYS_AUE_cap_getrights AUE_NULL #define SYS_AUE_cap_enter AUE_NULL +#define SYS_AUE_cap_getmode AUE_NULL #undef PAD_ #undef PADL_ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 16:29:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5165416A419; Tue, 22 Jan 2008 16:29: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 1583216A469 for ; Tue, 22 Jan 2008 16:29: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 1F7B213C45B for ; Tue, 22 Jan 2008 16:29: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 m0MGTHn8055645 for ; Tue, 22 Jan 2008 16:29:17 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 m0MGTHn7055642 for perforce@freebsd.org; Tue, 22 Jan 2008 16:29:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 16:29:17 GMT Message-Id: <200801221629.m0MGTHn7055642@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 133870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 16:29:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=133870 Change 133870 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 16:28:22 Don't allow sysctl read or write access in capability mode unless nodes have been specifically marked as available. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_sysctl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_sysctl.c#2 (text+ko) ==== @@ -38,10 +38,12 @@ #include __FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.179 2007/11/30 21:29:08 peter Exp $"); +#include "opt_capabilities.h" #include "opt_compat.h" #include "opt_mac.h" #include +#include #include #include #include @@ -1288,6 +1290,19 @@ KASSERT(req->td != NULL, ("sysctl_root(): req->td == NULL")); +#ifdef CAPABILITIES + /* + * If the process is in capability mode, then don't permit reading or + * writing unless specifically granted for the node. + */ + if (req->td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) { + if (req->oldptr && !(oid->oid_kind & CTLFLAG_CAPRD)) + return (EPERM); + if (req->newptr && !(oid->oid_kind & CTLFLAG_CAPWR)) + return (EPERM); + } +#endif + /* Is this sysctl sensitive to securelevels? */ if (req->newptr && (oid->oid_kind & CTLFLAG_SECURE)) { lvl = (oid->oid_kind & CTLMASK_SECURE) >> CTLSHIFT_SECURE; ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#2 (text+ko) ==== @@ -85,6 +85,8 @@ #define CTLMASK_SECURE 0x00F00000 /* Secure level */ #define CTLFLAG_TUN 0x00080000 /* Tunable variable */ #define CTLFLAG_RDTUN (CTLFLAG_RD|CTLFLAG_TUN) +#define CTLFLAG_CAPRD 0x00040000 /* Can be read in capability mode */ +#define CTLFLAG_CAPWR 0x00020000 /* Can be written in capability mode */ /* * Secure level. Note that CTLFLAG_SECURE == CTLFLAG_SECURE1. From owner-p4-projects@FreeBSD.ORG Tue Jan 22 16:42:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD80B16A46C; Tue, 22 Jan 2008 16:42: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 578BE16A41A for ; Tue, 22 Jan 2008 16:42:32 +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 62ED213C44B for ; Tue, 22 Jan 2008 16:42:32 +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 m0MGgWCx056308 for ; Tue, 22 Jan 2008 16:42:32 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 m0MGgVtE056305 for perforce@freebsd.org; Tue, 22 Jan 2008 16:42:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 16:42:31 GMT Message-Id: <200801221642.m0MGgVtE056305@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 133871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 16:42:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133871 Change 133871 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 16:42:12 Expose some minimal sysctls to capability mode. More will need to be exposed. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mib.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mib.c#2 (text+ko) ==== @@ -89,23 +89,23 @@ SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, kern_ident, 0, "Kernel identifier"); -SYSCTL_STRING(_kern, KERN_OSRELEASE, osrelease, CTLFLAG_RD, +SYSCTL_STRING(_kern, KERN_OSRELEASE, osrelease, CTLFLAG_RD | CTLFLAG_CAPRD, osrelease, 0, "Operating system release"); -SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD | CTLFLAG_CAPRD, 0, BSD, "Operating system revision"); SYSCTL_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, version, 0, "Kernel version"); -SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD, +SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, ostype, 0, "Operating system type"); /* * NOTICE: The *userland* release date is available in * /usr/include/osreldate.h */ -SYSCTL_INT(_kern, KERN_OSRELDATE, osreldate, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_OSRELDATE, osreldate, CTLFLAG_RD | CTLFLAG_CAPRD, &osreldate, 0, "Kernel release date"); SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RDTUN, @@ -117,23 +117,23 @@ SYSCTL_INT(_kern, OID_AUTO, maxusers, CTLFLAG_RDTUN, &maxusers, 0, "Hint for kernel tuning"); -SYSCTL_INT(_kern, KERN_ARGMAX, argmax, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_ARGMAX, argmax, CTLFLAG_RD | CTLFLAG_CAPRD, 0, ARG_MAX, "Maximum bytes of argument to execve(2)"); -SYSCTL_INT(_kern, KERN_POSIX1, posix1version, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_POSIX1, posix1version, CTLFLAG_RD | CTLFLAG_CAPRD, 0, _POSIX_VERSION, "Version of POSIX attempting to comply to"); -SYSCTL_INT(_kern, KERN_NGROUPS, ngroups, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_NGROUPS, ngroups, CTLFLAG_RD | CTLFLAG_CAPRD, 0, NGROUPS_MAX, "Maximum number of groups a user can belong to"); -SYSCTL_INT(_kern, KERN_JOB_CONTROL, job_control, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_JOB_CONTROL, job_control, CTLFLAG_RD | CTLFLAG_CAPRD, 0, 1, "Whether job control is available"); #ifdef _POSIX_SAVED_IDS -SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD | CTLFLAG_CAPRD, 0, 1, "Whether saved set-group/user ID is available"); #else -SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD, +SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD | CTLFLAG_CAPRD, 0, 0, "Whether saved set-group/user ID is available"); #endif @@ -142,13 +142,13 @@ SYSCTL_STRING(_kern, KERN_BOOTFILE, bootfile, CTLFLAG_RW, kernelname, sizeof kernelname, "Name of kernel file booted"); -SYSCTL_INT(_hw, HW_NCPU, ncpu, CTLFLAG_RD, +SYSCTL_INT(_hw, HW_NCPU, ncpu, CTLFLAG_RD | CTLFLAG_CAPRD, &mp_ncpus, 0, "Number of active CPUs"); -SYSCTL_INT(_hw, HW_BYTEORDER, byteorder, CTLFLAG_RD, +SYSCTL_INT(_hw, HW_BYTEORDER, byteorder, CTLFLAG_RD | CTLFLAG_CAPRD, 0, BYTE_ORDER, "System byte order"); -SYSCTL_INT(_hw, HW_PAGESIZE, pagesize, CTLFLAG_RD, +SYSCTL_INT(_hw, HW_PAGESIZE, pagesize, CTLFLAG_RD | CTLFLAG_CAPRD, 0, PAGE_SIZE, "System memory page size"); static int @@ -160,7 +160,7 @@ return (sysctl_handle_long(oidp, &val, 0, req)); } -SYSCTL_PROC(_kern, KERN_ARND, arandom, CTLFLAG_RD, +SYSCTL_PROC(_kern, KERN_ARND, arandom, CTLFLAG_RD | CTLFLAG_CAPRD, 0, 0, sysctl_kern_arnd, "L", "arc4rand"); static int @@ -356,6 +356,8 @@ * This is really cheating. These actually live in the libc, something * which I'm not quite sure is a good idea anyway, but in order for * getnext and friends to actually work, we define dummies here. + * + * XXXRW: These probably should be CTLFLAG_CAPRD. */ SYSCTL_STRING(_user, USER_CS_PATH, cs_path, CTLFLAG_RD, "", 0, "PATH that finds all the standard utilities"); From owner-p4-projects@FreeBSD.ORG Tue Jan 22 17:12:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7050016A476; Tue, 22 Jan 2008 17:12: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 329CA16A469 for ; Tue, 22 Jan 2008 17:12:06 +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 4084713C4F2 for ; Tue, 22 Jan 2008 17:12:06 +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 m0MHC6Ya067950 for ; Tue, 22 Jan 2008 17:12:06 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 m0MHC5kq067947 for perforce@freebsd.org; Tue, 22 Jan 2008 17:12:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 17:12:05 GMT Message-Id: <200801221712.m0MHC5kq067947@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 133877 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 17:12:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=133877 Change 133877 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 17:11:44 Expose kern.features sysctls in capability mode. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#3 (text+ko) ==== @@ -329,7 +329,8 @@ * kernel features. */ #define FEATURE(name, desc) \ - SYSCTL_INT(_kern_features, OID_AUTO, name, CTLFLAG_RD, 0, 1, desc) + SYSCTL_INT(_kern_features, OID_AUTO, name, CTLFLAG_RD | \ + CTLFLAG_CAPRD, 0, 1, desc) #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 17:15:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B388516A41B; Tue, 22 Jan 2008 17:15: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 60BEB16A417 for ; Tue, 22 Jan 2008 17:15:10 +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 5143013C442 for ; Tue, 22 Jan 2008 17:15:10 +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 m0MHFAKD069007 for ; Tue, 22 Jan 2008 17:15:10 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 m0MHF9DQ069004 for perforce@freebsd.org; Tue, 22 Jan 2008 17:15:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 22 Jan 2008 17:15:09 GMT Message-Id: <200801221715.m0MHF9DQ069004@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 133878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 17:15:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=133878 Change 133878 by rwatson@rwatson_freebsd_capabilities on 2008/01/22 17:14:10 When using big unsigned constants, mark with ULL. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#7 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#6 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#7 $ */ /* @@ -42,49 +42,49 @@ /* * Possibly rights on capabilities. */ -#define CAP_READ 0x0000000000000001 /* read/recv */ -#define CAP_WRITE 0x0000000000000002 /* write/send */ -#define CAP_FCHDIR 0x0000000000000004 /* fchdir */ -#define CAP_SEEK 0x0000000000000008 /* lseek, various io */ -#define CAP_GETPEERNAME 0x0000000000000010 /* getpeername */ -#define CAP_GETSOCKNAME 0x0000000000000020 /* getsockname */ -#define CAP_FCHFLAGS 0x0000000000000040 /* fchflags */ -#define CAP_IOCTL 0x0000000000000080 /* ioctl */ -#define CAP_FSTAT 0x0000000000000100 /* fstat */ -#define CAP_MMAP 0x0000000000000200 /* mmap */ -#define CAP_FCNTL 0x0000000000000400 /* fcntl */ -#define CAP_EVENT 0x0000000000000800 /* select/poll */ -#define CAP_FSYNC 0x0000000000001000 /* fsync */ -#define CAP_FCHOWN 0x0000000000002000 /* fchown */ -#define CAP_FCHMOD 0x0000000000004000 /* fchmod */ -#define CAP_FTRUNCATE 0x0000000000008000 /* ftruncate */ -#define CAP_FLOCK 0x0000000000010000 /* flock */ -#define CAP_GETDIRENTRIES 0x0000000000020000 /* getdirentries */ -#define CAP_FSTATFS 0x0000000000040000 /* fstatfs */ -#define _CAP_UNUSED0 0x0000000000080000 -#define _CAP_UNUSED1 0x0000000000100000 -#define CAP_FPATHCONF 0x0000000000200000 /* fpathconf */ -#define CAP_FUTIMES 0x0000000000400000 /* futimes */ -#define CAP_AIO 0x0000000000800000 /* aio_* */ -#define CAP_ACL_GET 0x0000000001000000 /* acl_get_fd */ -#define CAP_ACL_SET 0x0000000002000000 /* acl_set_fd */ -#define CAP_ACL_DELETE 0x0000000004000000 /* acl_delete_fd */ -#define CAP_ACL_CHECK 0x0000000008000000 /* acl_list_fd */ -#define CAP_EXTATTR_GET 0x0000000010000000 /* extattr_get_fd */ -#define CAP_EXTATTR_SET 0x0000000020000000 /* extattr_set_fd */ -#define CAP_EXTATTR_DELETE 0x0000000040000000 /* extattr_delete_fd */ -#define CAP_EXTATTR_LIST 0x0000000080000000 /* extattr_list_fd */ -#define CAP_MAC_GET 0x0000000100000000 /* mac_get_fd */ -#define CAP_MAC_SET 0x0000000200000000 /* mac_set_fd */ -#define CAP_ACCEPT 0x0000000400000000 /* accept */ -#define CAP_CONNECT 0x0000000800000000 /* connect/sendto */ -#define CAP_BIND 0x0000001000000000 /* bind */ -#define CAP_GETSOCKOPT 0x0000002000000000 /* getsockopt */ -#define CAP_SETSOCKOPT 0x0000004000000000 /* setsockopt */ -#define CAP_LISTEN 0x0000008000000000 /* listen */ -#define CAP_SHUTDOWN 0x0000010000000000 /* shutdown */ -#define CAP_PEELOFF 0x0000020000000000 /* sctp_peeloff */ -#define CAP_MASK_VALID 0x000003ffffe7ffff +#define CAP_READ 0x0000000000000001ULL /* read/recv */ +#define CAP_WRITE 0x0000000000000002ULL /* write/send */ +#define CAP_FCHDIR 0x0000000000000004ULL /* fchdir */ +#define CAP_SEEK 0x0000000000000008ULL /* lseek, various io */ +#define CAP_GETPEERNAME 0x0000000000000010ULL /* getpeername */ +#define CAP_GETSOCKNAME 0x0000000000000020ULL /* getsockname */ +#define CAP_FCHFLAGS 0x0000000000000040ULL /* fchflags */ +#define CAP_IOCTL 0x0000000000000080ULL /* ioctl */ +#define CAP_FSTAT 0x0000000000000100ULL /* fstat */ +#define CAP_MMAP 0x0000000000000200ULL /* mmap */ +#define CAP_FCNTL 0x0000000000000400ULL /* fcntl */ +#define CAP_EVENT 0x0000000000000800ULL /* select/poll */ +#define CAP_FSYNC 0x0000000000001000ULL /* fsync */ +#define CAP_FCHOWN 0x0000000000002000ULL /* fchown */ +#define CAP_FCHMOD 0x0000000000004000ULL /* fchmod */ +#define CAP_FTRUNCATE 0x0000000000008000ULL /* ftruncate */ +#define CAP_FLOCK 0x0000000000010000ULL /* flock */ +#define CAP_GETDIRENTRIES 0x0000000000020000ULL /* getdirentries */ +#define CAP_FSTATFS 0x0000000000040000ULL /* fstatfs */ +#define _CAP_UNUSED0 0x0000000000080000ULL +#define _CAP_UNUSED1 0x0000000000100000ULL +#define CAP_FPATHCONF 0x0000000000200000ULL /* fpathconf */ +#define CAP_FUTIMES 0x0000000000400000ULL /* futimes */ +#define CAP_AIO 0x0000000000800000ULL /* aio_* */ +#define CAP_ACL_GET 0x0000000001000000ULL /* acl_get_fd */ +#define CAP_ACL_SET 0x0000000002000000ULL /* acl_set_fd */ +#define CAP_ACL_DELETE 0x0000000004000000ULL /* acl_delete_fd */ +#define CAP_ACL_CHECK 0x0000000008000000ULL /* acl_list_fd */ +#define CAP_EXTATTR_GET 0x0000000010000000ULL /* extattr_get_fd */ +#define CAP_EXTATTR_SET 0x0000000020000000ULL /* extattr_set_fd */ +#define CAP_EXTATTR_DELETE 0x0000000040000000ULL /* extattr_delete_fd */ +#define CAP_EXTATTR_LIST 0x0000000080000000ULL /* extattr_list_fd */ +#define CAP_MAC_GET 0x0000000100000000ULL /* mac_get_fd */ +#define CAP_MAC_SET 0x0000000200000000ULL /* mac_set_fd */ +#define CAP_ACCEPT 0x0000000400000000ULL /* accept */ +#define CAP_CONNECT 0x0000000800000000ULL /* connect/sendto */ +#define CAP_BIND 0x0000001000000000ULL /* bind */ +#define CAP_GETSOCKOPT 0x0000002000000000ULL /* getsockopt */ +#define CAP_SETSOCKOPT 0x0000004000000000ULL /* setsockopt */ +#define CAP_LISTEN 0x0000008000000000ULL /* listen */ +#define CAP_SHUTDOWN 0x0000010000000000ULL /* shutdown */ +#define CAP_PEELOFF 0x0000020000000000ULL /* sctp_peeloff */ +#define CAP_MASK_VALID 0x000003ffffe7ffffULL /* * Notes: From owner-p4-projects@FreeBSD.ORG Tue Jan 22 18:44:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AC2816A476; Tue, 22 Jan 2008 18:44: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 C360016A514 for ; Tue, 22 Jan 2008 18:44: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 B7E6513C4F7 for ; Tue, 22 Jan 2008 18:44: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 m0MIinOd075064 for ; Tue, 22 Jan 2008 18:44:49 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0MIinO7075061 for perforce@freebsd.org; Tue, 22 Jan 2008 18:44:49 GMT (envelope-from sam@freebsd.org) Date: Tue, 22 Jan 2008 18:44:49 GMT Message-Id: <200801221844.m0MIinO7075061@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 133884 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 18:44:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=133884 Change 133884 by sam@sam_ebb on 2008/01/22 18:44:23 o correct definition of RT2560_DMACSR[23] (noop, unused) o add some more registers from the datasheet Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560reg.h#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560reg.h#4 (text) ==== @@ -95,8 +95,8 @@ #define RT2560_SECCSR3 0x00fc /* XXX not documented */ #define RT2560_DMACSR0 0x0100 /* Current RX ring address */ #define RT2560_DMACSR1 0x0104 /* Current Tx ring address */ -#define RT2560_DMACSR2 0x0104 /* Current Priority ring address */ -#define RT2560_DMACSR3 0x0104 /* Current ATIM ring address */ +#define RT2560_DMACSR2 0x0108 /* Current Priority ring address */ +#define RT2560_DMACSR3 0x010c /* Current ATIM ring address */ #define RT2560_TXACKCSR0 0x0110 /* XXX not documented */ #define RT2560_GPIOCSR 0x0120 /* */ #define RT2560_BBBPPCSR 0x0124 /* BBP Pin Control */ @@ -114,6 +114,12 @@ #define RT2560_ARTCSR2 0x0154 /* ACK/CTS padload consume time */ #define RT2560_SECCSR1 0x0158 /* WEP control */ #define RT2560_BBPCSR1 0x015c /* BBP TX Configuration */ +#define RT2560_DUALBANDCSR0 0x0160 /* Dual Band Configuration */ +#define RT2560_DUALBANDCSR1 0x0164 /* Dual Band Configuration */ +#define RT2560_IFSCSR0 0x0168 /* OFDM IFS timer register 0 */ +#define RT2560_IFSCSR1 0x016c /* OFDM IFS timer register 1 */ +#define RT2560_SLOTCSR 0x0170 /* OFDM slot timer register */ +#define RT2560_BISTCSR 0x0174 /* BBP BIST register */ /* possible flags for register RXCSR0 */ From owner-p4-projects@FreeBSD.ORG Tue Jan 22 18:45:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F3D316A41B; Tue, 22 Jan 2008 18:45: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 1500916A418 for ; Tue, 22 Jan 2008 18:45:51 +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 091D013C4D1 for ; Tue, 22 Jan 2008 18:45:51 +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 m0MIjoo8075138 for ; Tue, 22 Jan 2008 18:45:50 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0MIjo43075135 for perforce@freebsd.org; Tue, 22 Jan 2008 18:45:50 GMT (envelope-from sam@freebsd.org) Date: Tue, 22 Jan 2008 18:45:50 GMT Message-Id: <200801221845.m0MIjo43075135@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 133885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 18:45:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133885 Change 133885 by sam@sam_ebb on 2008/01/22 18:45:44 add diagnostic api for fetching register contents etc. Affected files ... .. //depot/projects/wifi/sys/dev/ral/if_ral_pci.c#8 edit .. //depot/projects/wifi/sys/dev/ral/if_raldiag.h#1 add Differences ... ==== //depot/projects/wifi/sys/dev/ral/if_ral_pci.c#8 (text+ko) ==== @@ -269,3 +269,85 @@ return 0; } + +#include + +static int +getregdump(device_t dev, + const RAL_REGRANGE *regs, int nregs, + void *dstbuf, int space) +{ + struct ral_pci_softc *psc = device_get_softc(dev); + struct rt2560_softc *sc = &psc->u.sc_rt2560; + u_int32_t *dp = dstbuf; + int i; + + for (i = 0; i < nregs&& space >= 2*sizeof(u_int32_t); i++) { + u_int r = regs[i].start; + u_int e = regs[i].end; + *dp++ = (r<<16) | e; + space -= sizeof(u_int32_t); + do { + *dp++ = bus_space_read_4(sc->sc_st, sc->sc_sh, r); + r += sizeof(u_int32_t); + space -= sizeof(u_int32_t); + } while (r <= e && space >= sizeof(u_int32_t)); + } + return (char *) dp - (char *) dstbuf; +} + +/* + * Diagnostic interface. This is used by various + * tools to do things like retrieve register contents for + * debugging. The mechanism is intentionally opaque so that + * it can change frequently w/o concern for compatiblity. + */ +int +ral_ioctl_diag(device_t dev, struct ral_diag *ad) +{ + void *outdata, *indata; + int error, nregs, inspace; + RAL_REVS revs; + + switch (ad->ad_id & RAL_DIAG_ID) { + case RAL_DIAG_REVS: /* MAC/PHY/Radio revs */ + if (ad->ad_out_size != sizeof(revs)) + return EINVAL; + bzero(&revs, sizeof(revs)); + revs.ah_devid = pci_get_device(dev); + revs.ah_macRev = 0; + revs.ah_phyRev = 0; + return copyout(&revs, ad->ad_out_data, sizeof(revs)); + case RAL_DIAG_REGS: + /* + * Copy in register ranges. + */ + nregs = ad->ad_in_size / sizeof(RAL_REGRANGE); + if (nregs <= 0) + return EINVAL; + inspace = nregs * sizeof(RAL_REGRANGE); + indata = malloc(inspace, M_TEMP, M_NOWAIT); + if (indata == NULL) + return ENOMEM; + error = copyin(ad->ad_in_data, indata, inspace); + if (error) { + free(indata, M_TEMP); + return error; + } + /* + * Allocate a buffer for the results. + */ + outdata = malloc(ad->ad_out_size, M_TEMP, M_NOWAIT); + if (outdata == NULL) { + free(indata, M_TEMP); + return ENOMEM; + } + error = copyout(outdata, ad->ad_out_data, + getregdump(dev, indata, nregs, + outdata, ad->ad_out_size)); + free(indata, M_TEMP); + free(outdata, M_TEMP); + return error; + } + return EINVAL; +} From owner-p4-projects@FreeBSD.ORG Tue Jan 22 19:00:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20C9016A420; Tue, 22 Jan 2008 19:00: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 D995816A41B for ; Tue, 22 Jan 2008 19:00: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 B5DE913C4CC for ; Tue, 22 Jan 2008 19:00: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 m0MJ05xd080817 for ; Tue, 22 Jan 2008 19:00:05 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0MJ05BD080814 for perforce@freebsd.org; Tue, 22 Jan 2008 19:00:05 GMT (envelope-from sam@freebsd.org) Date: Tue, 22 Jan 2008 19:00:05 GMT Message-Id: <200801221900.m0MJ05BD080814@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 133886 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 19:00:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=133886 Change 133886 by sam@sam_ebb on 2008/01/22 18:59:39 tool for dumping ral registers (only 2560 supported so far) Affected files ... .. //depot/projects/wifi/tools/tools/ral/Makefile#1 add .. //depot/projects/wifi/tools/tools/ral/ralregs.c#1 add .. //depot/projects/wifi/tools/tools/ral/ralregs.h#1 add .. //depot/projects/wifi/tools/tools/ral/rt2560.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jan 22 21:07:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B229016A421; Tue, 22 Jan 2008 21:07: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 7731D16A419 for ; Tue, 22 Jan 2008 21:07:24 +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 6E51E13C4CC for ; Tue, 22 Jan 2008 21:07:24 +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 m0ML7OIc058484 for ; Tue, 22 Jan 2008 21:07:24 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ML7OmE058481 for perforce@freebsd.org; Tue, 22 Jan 2008 21:07:24 GMT (envelope-from imp@freebsd.org) Date: Tue, 22 Jan 2008 21:07:24 GMT Message-Id: <200801222107.m0ML7OmE058481@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 133890 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 21:07:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133890 Change 133890 by imp@imp_paco-paco on 2008/01/22 21:06:38 First cut at 32-bit version of this. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb32.S#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb32.S#2 (text+ko) ==== @@ -94,22 +94,22 @@ ITLBNOPFIX lw a2, 8(a1) lw a3, 12(a1) - dmfc0 t0, COP_0_TLB_HI # Save the current PID. + mfc0 t0, COP_0_TLB_HI # Save the current PID. - dmtc0 a2, COP_0_TLB_LO0 # Set up entry low0. - dmtc0 a3, COP_0_TLB_LO1 # Set up entry low1. + mtc0 a2, COP_0_TLB_LO0 # Set up entry low0. + mtc0 a3, COP_0_TLB_LO1 # Set up entry low1. lw a2, 0(a1) lw a3, 4(a1) mtc0 a0, COP_0_TLB_INDEX # Set the index. - dmtc0 a2, COP_0_TLB_PG_MASK # Set up entry mask. - dmtc0 a3, COP_0_TLB_HI # Set up entry high. + mtc0 a2, COP_0_TLB_PG_MASK # Set up entry mask. + mtc0 a3, COP_0_TLB_HI # Set up entry high. MIPS_CPU_NOP_DELAY tlbwi # Write the TLB MIPS_CPU_NOP_DELAY - dmtc0 t0, COP_0_TLB_HI # Restore the PID. + mtc0 t0, COP_0_TLB_HI # Restore the PID. nop - dmtc0 zero, COP_0_TLB_PG_MASK # Default mask value. + mtc0 zero, COP_0_TLB_PG_MASK # Default mask value. mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -131,7 +131,7 @@ *-------------------------------------------------------------------------- */ LEAF(Mips_SetPID) - dmtc0 a0, COP_0_TLB_HI # Write the hi reg value + mtc0 a0, COP_0_TLB_HI # Write the hi reg value nop # required for QED5230 nop # required for QED5230 j ra @@ -200,11 +200,11 @@ ITLBNOPFIX mfc0 t1, COP_0_TLB_WIRED li v0, MIPS_KSEG0_START # invalid address - dmfc0 t0, COP_0_TLB_HI # Save the PID + mfc0 t0, COP_0_TLB_HI # Save the PID - dmtc0 v0, COP_0_TLB_HI # Mark entry high as invalid - dmtc0 zero, COP_0_TLB_LO0 # Zero out low entry0. - dmtc0 zero, COP_0_TLB_LO1 # Zero out low entry1. + mtc0 v0, COP_0_TLB_HI # Mark entry high as invalid + mtc0 zero, COP_0_TLB_LO0 # Zero out low entry0. + mtc0 zero, COP_0_TLB_LO1 # Zero out low entry1. mtc0 zero, COP_0_TLB_PG_MASK # Zero out mask entry. /* * Align the starting value (t1) and the upper bound (a0). @@ -218,7 +218,7 @@ bne t1, a0, 1b nop - dmtc0 t0, COP_0_TLB_HI # Restore the PID + mtc0 t0, COP_0_TLB_HI # Restore the PID mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -246,9 +246,9 @@ ITLBNOPFIX li v0, (PG_HVPN | PG_ASID) and a0, a0, v0 # Make shure valid hi value. - dmfc0 t0, COP_0_TLB_HI # Get current PID + mfc0 t0, COP_0_TLB_HI # Get current PID mfc0 t3, COP_0_TLB_PG_MASK # Save current pgMask - dmtc0 a0, COP_0_TLB_HI # look for addr & PID + mtc0 a0, COP_0_TLB_HI # look for addr & PID MIPS_CPU_NOP_DELAY tlbp # Probe for the entry. MIPS_CPU_NOP_DELAY @@ -256,15 +256,15 @@ li t1, MIPS_KSEG0_START # Load invalid entry. bltz v0, 1f # index < 0 => !found nop - dmtc0 t1, COP_0_TLB_HI # Mark entry high as invalid + mtc0 t1, COP_0_TLB_HI # Mark entry high as invalid - dmtc0 zero, COP_0_TLB_LO0 # Zero out low entry. - dmtc0 zero, COP_0_TLB_LO1 # Zero out low entry. + mtc0 zero, COP_0_TLB_LO0 # Zero out low entry. + mtc0 zero, COP_0_TLB_LO1 # Zero out low entry. MIPS_CPU_NOP_DELAY tlbwi MIPS_CPU_NOP_DELAY 1: - dmtc0 t0, COP_0_TLB_HI # restore PID + mtc0 t0, COP_0_TLB_HI # restore PID mtc0 t3, COP_0_TLB_PG_MASK # Restore pgMask mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX @@ -293,13 +293,13 @@ and t1, a0, 0x1000 # t1 = Even/Odd flag li v0, (PG_HVPN | PG_ASID) and a0, a0, v0 - dmfc0 t0, COP_0_TLB_HI # Save current PID - dmtc0 a0, COP_0_TLB_HI # Init high reg + 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 MIPS_CPU_NOP_DELAY tlbp # Probe for the entry. - dsll a1, a1, 34 - dsrl a1, a1, 34 + sll a1, a1, 2 + srl a1, a1, 2 nop mfc0 v0, COP_0_TLB_INDEX # See what we got bne t1, zero, 2f # Decide even odd @@ -310,16 +310,16 @@ tlbr # update, read entry first MIPS_CPU_NOP_DELAY - dmtc0 a1, COP_0_TLB_LO0 # init low reg0. + mtc0 a1, COP_0_TLB_LO0 # init low reg0. MIPS_CPU_NOP_DELAY tlbwi # update slot found b 4f nop 1: mtc0 zero, COP_0_TLB_PG_MASK # init mask. - dmtc0 a0, COP_0_TLB_HI # init high reg. - dmtc0 a1, COP_0_TLB_LO0 # init low reg0. - dmtc0 a2, COP_0_TLB_LO1 # init low reg1. + mtc0 a0, COP_0_TLB_HI # init high reg. + mtc0 a1, COP_0_TLB_LO0 # init low reg0. + mtc0 a2, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwr # enter into a random slot MIPS_CPU_NOP_DELAY @@ -333,7 +333,7 @@ tlbr # read the entry first MIPS_CPU_NOP_DELAY - dmtc0 a1, COP_0_TLB_LO1 # init low reg1. + mtc0 a1, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwi # update slot found MIPS_CPU_NOP_DELAY @@ -341,15 +341,15 @@ nop 3: mtc0 zero, COP_0_TLB_PG_MASK # init mask. - dmtc0 a0, COP_0_TLB_HI # init high reg. - dmtc0 a2, COP_0_TLB_LO0 # init low reg0. - dmtc0 a1, COP_0_TLB_LO1 # init low reg1. + mtc0 a0, COP_0_TLB_HI # init high reg. + mtc0 a2, COP_0_TLB_LO0 # init low reg0. + mtc0 a1, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwr # enter into a random slot 4: # Make shure pipeline MIPS_CPU_NOP_DELAY - dmtc0 t0, COP_0_TLB_HI # restore PID + mtc0 t0, COP_0_TLB_HI # restore PID mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -374,17 +374,17 @@ mfc0 v1, COP_0_STATUS_REG # Save the status register. mtc0 zero, COP_0_STATUS_REG # Disable interrupts ITLBNOPFIX - dmfc0 t0, COP_0_TLB_HI # Get current PID + mfc0 t0, COP_0_TLB_HI # Get current PID mtc0 a0, COP_0_TLB_INDEX # Set the index register MIPS_CPU_NOP_DELAY tlbr # Read from the TLB MIPS_CPU_NOP_DELAY mfc0 t2, COP_0_TLB_PG_MASK # fetch the hi entry - dmfc0 t3, COP_0_TLB_HI # fetch the hi entry - dmfc0 t4, COP_0_TLB_LO0 # See what we got - dmfc0 t5, COP_0_TLB_LO1 # See what we got - dmtc0 t0, COP_0_TLB_HI # restore PID + mfc0 t3, COP_0_TLB_HI # fetch the hi entry + mfc0 t4, COP_0_TLB_LO0 # See what we got + mfc0 t5, COP_0_TLB_LO1 # See what we got + mtc0 t0, COP_0_TLB_HI # restore PID MIPS_CPU_NOP_DELAY mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX @@ -408,7 +408,7 @@ *-------------------------------------------------------------------------- */ LEAF(Mips_TLBGetPID) - dmfc0 v0, COP_0_TLB_HI # get PID + mfc0 v0, COP_0_TLB_HI # get PID j ra and v0, v0, VMTLB_PID # mask off PID END(Mips_TLBGetPID) @@ -428,7 +428,7 @@ mfc0 v1, COP_0_STATUS_REG # save status register mtc0 zero, COP_0_STATUS_REG # disable interrupts - dmfc0 t4, COP_0_TLB_HI # Get current PID + mfc0 t4, COP_0_TLB_HI # Get current PID move t2, a0 mfc0 t1, COP_0_TLB_WIRED li v0, MIPS_KSEG0_START # invalid address @@ -440,14 +440,14 @@ MIPS_CPU_NOP_DELAY tlbr # obtain an entry MIPS_CPU_NOP_DELAY - dmfc0 a0, COP_0_TLB_LO1 + mfc0 a0, COP_0_TLB_LO1 and a0, a0, PG_G # check to see it has G bit bnez a0, 2f nop - dmtc0 v0, COP_0_TLB_HI # make entryHi invalid - dmtc0 zero, COP_0_TLB_LO0 # zero out entryLo0 - dmtc0 zero, COP_0_TLB_LO1 # zero out entryLo1 + mtc0 v0, COP_0_TLB_HI # make entryHi invalid + mtc0 zero, COP_0_TLB_LO0 # zero out entryLo0 + mtc0 zero, COP_0_TLB_LO1 # zero out entryLo1 mtc0 zero, COP_0_TLB_PG_MASK # zero out mask entry MIPS_CPU_NOP_DELAY tlbwi # invalidate the TLB entry @@ -456,7 +456,7 @@ bne t1, t2, 1b nop - dmtc0 t4, COP_0_TLB_HI # restore PID + mtc0 t4, COP_0_TLB_HI # restore PID mtc0 t3, COP_0_TLB_PG_MASK # restore pgMask MIPS_CPU_NOP_DELAY mtc0 v1, COP_0_STATUS_REG # restore status register From owner-p4-projects@FreeBSD.ORG Tue Jan 22 21:07:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10C2A16A52F; Tue, 22 Jan 2008 21:07: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 9BD7E16A417 for ; Tue, 22 Jan 2008 21:07:24 +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 952B113C4CE for ; Tue, 22 Jan 2008 21:07:24 +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 m0ML7OCC058490 for ; Tue, 22 Jan 2008 21:07:24 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ML7Osn058487 for perforce@freebsd.org; Tue, 22 Jan 2008 21:07:24 GMT (envelope-from imp@freebsd.org) Date: Tue, 22 Jan 2008 21:07:24 GMT Message-Id: <200801222107.m0ML7Osn058487@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 133891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 21:07:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133891 Change 133891 by imp@imp_paco-paco on 2008/01/22 21:06:54 Minor cleanup nits Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/conf/MALTA#2 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/std.malta#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/conf/MALTA#2 (text+ko) ==== @@ -18,7 +18,6 @@ # $FreeBSD$ machine mips -cpu CPU_MIPS4KC ident MALTA #makeoptions ARCH_FLAGS=-march=mips32 ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/std.malta#2 (text+ko) ==== @@ -1,10 +1,6 @@ # $FreeBSD$ -# XXXMIPS: Taken from adm5200 files from imp@. files "../mips32/malta/files.malta" -# -# XXXMIPS: It's a stub, isn't it? -# cpu CPU_MIPS4KC device pci device ata From owner-p4-projects@FreeBSD.ORG Tue Jan 22 21:22:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D580B16A41A; Tue, 22 Jan 2008 21:22: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 82EEB16A417 for ; Tue, 22 Jan 2008 21:22:40 +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 63EB413C4E3 for ; Tue, 22 Jan 2008 21:22:40 +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 m0MLMeZe060141 for ; Tue, 22 Jan 2008 21:22:40 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0MLMepi060138 for perforce@freebsd.org; Tue, 22 Jan 2008 21:22:40 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 21:22:40 GMT Message-Id: <200801222122.m0MLMepi060138@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 133892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 21:22:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=133892 Change 133892 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 21:22:35 optimization doesn't necessarily work Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#26 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#26 (text+ko) ==== @@ -3058,7 +3058,11 @@ * accessed (referenced) bits * during the copy. */ +#if 0 PT_SET_VA_MA(dst_pte, ptetemp & ~(PG_W | PG_M | PG_A), FALSE); +#else + *dst_pte = ptetemp & ~(PG_W | PG_M | PG_A); +#endif dst_pmap->pm_stats.resident_count++; } else { free = NULL; From owner-p4-projects@FreeBSD.ORG Tue Jan 22 23:49:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4E3616A468; Tue, 22 Jan 2008 23:49: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 A9D1C16A41B for ; Tue, 22 Jan 2008 23:49:14 +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 9D5FB13C45A for ; Tue, 22 Jan 2008 23:49:14 +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 m0MNnE1h073420 for ; Tue, 22 Jan 2008 23:49:14 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0MNnEEo073417 for perforce@freebsd.org; Tue, 22 Jan 2008 23:49:14 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 22 Jan 2008 23:49:14 GMT Message-Id: <200801222349.m0MNnEEo073417@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 133896 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Jan 2008 23:49:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=133896 Change 133896 by kmacy@pandemonium:kmacy:xen31 on 2008/01/22 23:48:37 - teach prefault to batch calls to pmap_enter_quick as well as reduce locking overhead - convert pmap_qenter and pmap_enter_quick_locked to use the update_va_mapping interface as that allows xen to use its own linear page tables Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#27 edit .. //depot/projects/xen31/sys/vm/pmap.h#5 edit .. //depot/projects/xen31/sys/vm/vm_fault.c#3 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#27 (text+ko) ==== @@ -270,7 +270,7 @@ 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 vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, +static vm_page_t pmap_enter_quick_locked(multicall_entry_t *mcl, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, vm_page_t *free); @@ -1217,22 +1217,37 @@ void pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count) { - pt_entry_t *endpte, oldpte, *pte; - - oldpte = 0; + pt_entry_t *endpte, *pte; + vm_paddr_t pa; + int mclcount = 0; + multicall_entry_t mcl[16]; + multicall_entry_t *mclp = mcl; + pte = vtopte(sva); endpte = pte + count; while (pte < endpte) { - oldpte |= *pte; - PT_SET_VA(pte, VM_PAGE_TO_PHYS(*ma) | pgeflag | PG_RW | PG_V, FALSE); + pa = xpmap_ptom(VM_PAGE_TO_PHYS(*ma)) | pgeflag | PG_RW | PG_V; + + mclp->op = __HYPERVISOR_update_va_mapping; + mclp->args[0] = sva; + mclp->args[1] = (uint32_t)(pa & 0xffffffff); + mclp->args[2] = (uint32_t)(pa >> 32); + mclp->args[3] = (*pte & PG_V) ? UVMF_INVLPG : 0; + + sva += PAGE_SIZE; pte++; ma++; + mclp++; + mclcount++; + if (mclcount == 16) { + HYPERVISOR_multicall(mcl, mclcount); + mclp = mcl; + mclcount = 0; + } } - if ((oldpte & PG_V) != 0) - pmap_invalidate_range(kernel_pmap, sva, sva + count * - PAGE_SIZE); - else - PT_UPDATES_FLUSH(); + if (mclcount) + HYPERVISOR_multicall(mcl, mclcount); + } /* @@ -2716,17 +2731,31 @@ { vm_page_t m, mpte; vm_pindex_t diff, psize; - + multicall_entry_t mcl[16]; + multicall_entry_t *mclpstart, *mclp; + int count = 0; + mclpstart = mclp = mcl; + VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); psize = atop(end - start); + mpte = NULL; m = m_start; PMAP_LOCK(pmap); while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - mpte = pmap_enter_quick_locked(pmap, start + ptoa(diff), m, + mpte = pmap_enter_quick_locked(mclp, pmap, start + ptoa(diff), m, prot, mpte); m = TAILQ_NEXT(m, listq); + mclp++; + count++; + if (count == 16) { + HYPERVISOR_multicall(mclpstart, count); + mclp = mclpstart; + count = 0; + } } + if (count) + HYPERVISOR_multicall(mclpstart, count); PMAP_UNLOCK(pmap); } @@ -2742,14 +2771,39 @@ void pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot) { + multicall_entry_t mcl; + + PMAP_LOCK(pmap); + (void) pmap_enter_quick_locked(&mcl, pmap, va, m, prot, NULL); + HYPERVISOR_multicall(&mcl, 1); + PMAP_UNLOCK(pmap); +} +void +pmap_enter_quick_range(pmap_t pmap, vm_offset_t *addrs, vm_page_t *pages, vm_prot_t *prots, int count) +{ + int i, index = 0; + multicall_entry_t mcl[16]; + multicall_entry_t *mclp = mcl; + PMAP_LOCK(pmap); - (void) pmap_enter_quick_locked(pmap, va, m, prot, NULL); + for (i = 0; i < count; i++, pages++, prots++, addrs++) { + (void) pmap_enter_quick_locked(mclp, pmap, *addrs, *pages, *prots, NULL); + index++; + mclp++; + if (index == 16) { + HYPERVISOR_multicall(mcl, count); + mclp = mcl; + index = 0; + } + } + if (index) + HYPERVISOR_multicall(mcl, index); PMAP_UNLOCK(pmap); } static vm_page_t -pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, +pmap_enter_quick_locked(multicall_entry_t *mcl, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte) { pt_entry_t *pte; @@ -2845,6 +2899,7 @@ pa |= pg_nx; #endif +#if 0 /* * Now validate mapping with RO protection */ @@ -2852,6 +2907,21 @@ pte_store(pte, pa | PG_V | PG_U); else pte_store(pte, pa | PG_V | PG_U | PG_MANAGED); +#else + /* + * Now validate mapping with RO protection + */ + if (m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) + pa = xpmap_ptom(pa | PG_V | PG_U); + else + pa = xpmap_ptom(pa | PG_V | PG_U | PG_MANAGED); + + mcl->op = __HYPERVISOR_update_va_mapping; + mcl->args[0] = va; + mcl->args[1] = (uint32_t)(pa & 0xffffffff); + mcl->args[2] = (uint32_t)(pa >> 32); + mcl->args[3] = 0; +#endif return mpte; } ==== //depot/projects/xen31/sys/vm/pmap.h#5 (text+ko) ==== @@ -99,6 +99,8 @@ vm_prot_t, boolean_t); void pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot); +void pmap_enter_quick_range(pmap_t pmap, vm_offset_t *addrs, vm_page_t *m, + vm_prot_t *prot, int count); void pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot); vm_paddr_t pmap_extract(pmap_t pmap, vm_offset_t va); ==== //depot/projects/xen31/sys/vm/vm_fault.c#3 (text+ko) ==== @@ -932,12 +932,15 @@ static void vm_fault_prefault(pmap_t pmap, vm_offset_t addra, vm_map_entry_t entry) { - int i; + int i, count; vm_offset_t addr, starta; vm_pindex_t pindex; vm_page_t m; - vm_object_t object; - + vm_object_t object, lobject; + vm_prot_t prots[PAGEORDER_SIZE]; + vm_page_t pages[PAGEORDER_SIZE]; + vm_offset_t addrs[PAGEORDER_SIZE]; + if (pmap != vmspace_pmap(curthread->td_proc->p_vmspace)) return; @@ -949,10 +952,16 @@ } else if (starta > addra) { starta = 0; } - + + for (i = 0; i < PAGEORDER_SIZE; i++) + pages[i] = NULL; + count = 0; + lobject = object; + VM_OBJECT_LOCK(lobject); for (i = 0; i < PAGEORDER_SIZE; i++) { - vm_object_t backing_object, lobject; + vm_object_t backing_object; + addr = addra + prefault_pageorder[i]; if (addr > addra + (PFFOR * PAGE_SIZE)) addr = 0; @@ -964,35 +973,45 @@ continue; pindex = ((addr - entry->start) + entry->offset) >> PAGE_SHIFT; - lobject = object; - VM_OBJECT_LOCK(lobject); while ((m = vm_page_lookup(lobject, pindex)) == NULL && lobject->type == OBJT_DEFAULT && (backing_object = lobject->backing_object) != NULL) { if (lobject->backing_object_offset & PAGE_MASK) break; pindex += lobject->backing_object_offset >> PAGE_SHIFT; + + if (count) { + vm_page_lock_queues(); + pmap_enter_quick_range(pmap, addrs, pages, prots, count); + vm_page_unlock_queues(); + } + count = 0; VM_OBJECT_LOCK(backing_object); VM_OBJECT_UNLOCK(lobject); lobject = backing_object; + } /* * give-up when a page is not in memory */ - if (m == NULL) { - VM_OBJECT_UNLOCK(lobject); + if (m == NULL) break; - } + if (((m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) && (m->busy == 0) && (m->flags & PG_FICTITIOUS) == 0) { - - vm_page_lock_queues(); - pmap_enter_quick(pmap, addr, m, entry->protection); - vm_page_unlock_queues(); + pages[count] = m; + prots[count] = entry->protection; + addrs[count] = addr; + count++; } - VM_OBJECT_UNLOCK(lobject); + } + if (count) { + vm_page_lock_queues(); + pmap_enter_quick_range(pmap, addrs, pages, prots, count); + vm_page_unlock_queues(); } + VM_OBJECT_UNLOCK(lobject); } /* From owner-p4-projects@FreeBSD.ORG Wed Jan 23 00:11:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8662B16A41B; Wed, 23 Jan 2008 00:11: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 4BF9316A475 for ; Wed, 23 Jan 2008 00:11:38 +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 3908B13C458 for ; Wed, 23 Jan 2008 00:11:38 +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 m0N0BcL3075638 for ; Wed, 23 Jan 2008 00:11:38 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N0BbeD075635 for perforce@freebsd.org; Wed, 23 Jan 2008 00:11:37 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 00:11:37 GMT Message-Id: <200801230011.m0N0BbeD075635@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 133898 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 00:11:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=133898 Change 133898 by kmacy@pandemonium:kmacy:xen31 on 2008/01/23 00:11:19 invalidate on all cpus change ordering in for statement to match args Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#28 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#28 (text+ko) ==== @@ -1232,7 +1232,7 @@ mclp->args[0] = sva; mclp->args[1] = (uint32_t)(pa & 0xffffffff); mclp->args[2] = (uint32_t)(pa >> 32); - mclp->args[3] = (*pte & PG_V) ? UVMF_INVLPG : 0; + mclp->args[3] = (*pte & PG_V) ? UVMF_INVLPG|UVMF_ALL : 0; sva += PAGE_SIZE; pte++; @@ -2787,7 +2787,7 @@ multicall_entry_t *mclp = mcl; PMAP_LOCK(pmap); - for (i = 0; i < count; i++, pages++, prots++, addrs++) { + for (i = 0; i < count; i++, addrs++, pages++, prots++) { (void) pmap_enter_quick_locked(mclp, pmap, *addrs, *pages, *prots, NULL); index++; mclp++; From owner-p4-projects@FreeBSD.ORG Wed Jan 23 01:00:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8FDB16A46C; Wed, 23 Jan 2008 01:00: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 6E34416A421 for ; Wed, 23 Jan 2008 01:00:29 +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 5FBD813C478 for ; Wed, 23 Jan 2008 01:00:29 +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 m0N10T5R087323 for ; Wed, 23 Jan 2008 01:00:29 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N10TLL087320 for perforce@freebsd.org; Wed, 23 Jan 2008 01:00:29 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 01:00:29 GMT Message-Id: <200801230100.m0N10TLL087320@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 133900 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 01:00:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=133900 Change 133900 by kmacy@pandemonium:kmacy:xen31 on 2008/01/23 00:59:30 cleanup multicall code slightly set dirty and referenced bit in pmap_qenter Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#29 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#29 (text+ko) ==== @@ -1219,22 +1219,23 @@ { pt_entry_t *endpte, *pte; vm_paddr_t pa; + vm_offset_t va = sva; int mclcount = 0; multicall_entry_t mcl[16]; multicall_entry_t *mclp = mcl; - + pte = vtopte(sva); endpte = pte + count; while (pte < endpte) { - pa = xpmap_ptom(VM_PAGE_TO_PHYS(*ma)) | pgeflag | PG_RW | PG_V; + pa = xpmap_ptom(VM_PAGE_TO_PHYS(*ma)) | pgeflag | PG_RW | PG_V | PG_M | PG_A; mclp->op = __HYPERVISOR_update_va_mapping; - mclp->args[0] = sva; + mclp->args[0] = va; mclp->args[1] = (uint32_t)(pa & 0xffffffff); mclp->args[2] = (uint32_t)(pa >> 32); mclp->args[3] = (*pte & PG_V) ? UVMF_INVLPG|UVMF_ALL : 0; - sva += PAGE_SIZE; + va += PAGE_SIZE; pte++; ma++; mclp++; @@ -1247,8 +1248,8 @@ } if (mclcount) HYPERVISOR_multicall(mcl, mclcount); +} -} /* * This routine tears out page mappings from the @@ -2732,9 +2733,8 @@ vm_page_t m, mpte; vm_pindex_t diff, psize; multicall_entry_t mcl[16]; - multicall_entry_t *mclpstart, *mclp; + multicall_entry_t *mclp = mcl; int count = 0; - mclpstart = mclp = mcl; VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); psize = atop(end - start); @@ -2749,13 +2749,13 @@ mclp++; count++; if (count == 16) { - HYPERVISOR_multicall(mclpstart, count); - mclp = mclpstart; + HYPERVISOR_multicall(mcl, count); + mclp = mcl; count = 0; } } if (count) - HYPERVISOR_multicall(mclpstart, count); + HYPERVISOR_multicall(mcl, count); PMAP_UNLOCK(pmap); } From owner-p4-projects@FreeBSD.ORG Wed Jan 23 01:31:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5956F16A41B; Wed, 23 Jan 2008 01:31: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 1F4FB16A419 for ; Wed, 23 Jan 2008 01:31:01 +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 0FBB113C474 for ; Wed, 23 Jan 2008 01:31:01 +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 m0N1V0p0090610 for ; Wed, 23 Jan 2008 01:31:00 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N1V0kM090607 for perforce@freebsd.org; Wed, 23 Jan 2008 01:31:00 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 01:31:00 GMT Message-Id: <200801230131.m0N1V0kM090607@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 133903 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 01:31:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=133903 Change 133903 by kmacy@pandemonium:kmacy:xen31 on 2008/01/23 01:30:14 disable pre-faulting until the problems are better understood Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#30 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#30 (text+ko) ==== @@ -290,6 +290,8 @@ static void pmap_pte_release(pt_entry_t *pte); static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t *); static vm_offset_t pmap_kmem_choose(vm_offset_t addr); +static boolean_t pmap_is_prefaultable_locked(pmap_t pmap, vm_offset_t addr); + #ifdef PAE static void *pmap_pdpt_allocf(uma_zone_t zone, int bytes, u_int8_t *flags, int wait); #endif @@ -2788,6 +2790,9 @@ PMAP_LOCK(pmap); for (i = 0; i < count; i++, addrs++, pages++, prots++) { + if (!pmap_is_prefaultable_locked(pmap, *addrs)) + continue; + (void) pmap_enter_quick_locked(mclp, pmap, *addrs, *pages, *prots, NULL); index++; mclp++; @@ -3481,22 +3486,32 @@ * Return whether or not the specified virtual address is elgible * for prefault. */ -boolean_t -pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) +static boolean_t +pmap_is_prefaultable_locked(pmap_t pmap, vm_offset_t addr) { pt_entry_t *pte; boolean_t rv = FALSE; - PMAP_LOCK(pmap); + return (rv); + if (*pmap_pde(pmap, addr)) { pte = vtopte(addr); - rv = *pte == 0; + rv = ((*pte & PG_V) == 0); } + return (rv); +} + +boolean_t +pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) +{ + boolean_t rv; + + PMAP_LOCK(pmap); + rv = pmap_is_prefaultable_locked(pmap, addr); PMAP_UNLOCK(pmap); return (rv); } - void pmap_map_readonly(pmap_t pmap, vm_offset_t va, int len) { From owner-p4-projects@FreeBSD.ORG Wed Jan 23 01:35:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FD7616A46B; Wed, 23 Jan 2008 01:35: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 12DAC16A421 for ; Wed, 23 Jan 2008 01:35:17 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 00E5713C447 for ; Wed, 23 Jan 2008 01:35:17 +0000 (UTC) (envelope-from zhouzhouyi@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 m0N1ZGsC091290 for ; Wed, 23 Jan 2008 01:35:16 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N1Z5Sa091246 for perforce@freebsd.org; Wed, 23 Jan 2008 01:35:05 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 23 Jan 2008 01:35:05 GMT Message-Id: <200801230135.m0N1Z5Sa091246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133904 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 01:35:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=133904 Change 133904 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/23 01:34:31 IFC Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/Makefile#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/test-exponential.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/test-exponential.t#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/test-lrint.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/posixshm/Makefile#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/posixshm/posixshm.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/posixshm/posixshm.t#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/posixshm/test.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/posixshm/test.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/Makefile#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/Makefile#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.00.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.01.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.02.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.03.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.04.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.05.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.06.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.07.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.08.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.09.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.0a.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.0b.out#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.in#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.sh#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress.t#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/tr/regress2.in#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/_types.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/float.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/ieeefp.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/isa/clock.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/pmap.c#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/support.S#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/forth/loader.conf.5#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/cam/scsi/scsi_da.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_file.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/ndis/subr_ndis.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/kern/opensolaris_vfs.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/pecoff/imgact_pecoff.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/imgact_svr4.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/NOTES#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/options#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/dev/acpica/evgpe.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/gfs.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/crypto/rijndael/rijndael-api.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/crypto/rijndael/test00.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/Osd/OsdSchedule.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/an/if_an.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/an/if_an_pci.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/an/if_anreg.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/cxgb_multiq.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/sys/mvec.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/drm/drm_drv.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/fdc/fdc.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ichwd/ichwd.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ichwd/ichwd.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/iir/iir.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/md/md.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/if_mxge.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/if_mxge_var.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/mxge_mcp.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/pci/pci_user.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ppbus/ppbconf.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ppbus/ppbconf.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/re/if_re.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/stge/if_stge.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/stge/if_stgereg.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/streams/streams.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/if_rum.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/if_udav.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/coda/coda_namecache.h#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/devfs/devfs_vfsops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/fdescfs/fdesc_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/hpfs/hpfs_subr.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/hpfs/hpfs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/hpfs/hpfs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/msdosfs/msdosfs_lookup.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/msdosfs/msdosfs_vfsops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/msdosfs/msdosfs_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/ntfs/ntfs_subr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/ntfs/ntfs_vfsops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/ntfs/ntfs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nullfs/null_subr.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nullfs/null_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nwfs/nwfs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/nwfs/nwfs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/portalfs/portal_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/procfs/procfs.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/procfs/procfs_map.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/pseudofs/pseudofs_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/smbfs/smbfs_node.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/smbfs/smbfs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/smbfs/smbfs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/tmpfs/tmpfs_vfsops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/tmpfs/tmpfs_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/udf/udf_vfsops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/udf/udf_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/unionfs/union_subr.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/unionfs/union_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/unionfs/union_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/ext2fs/ext2_lookup.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/ext2fs/ext2_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/ext2fs/fs.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/reiserfs/reiserfs_namei.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_buf.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/conf/GENERIC#8 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/i386/pmap.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/ibcs2/ibcs2_misc.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/ibcs2/imgact_coff.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/include/ieeefp.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/include/pmap.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/isa/clock.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/linux/imgact_linux.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/genassym.sh#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_aout.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_elf.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_gzip.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/init_main.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/init_sysent.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_acct.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_alq.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_cpu.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_event.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_exec.c#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_exit.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_jail.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_linker.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_lock.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_mib.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_proc.c#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_resource.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_shutdown.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_sig.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_synch.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_time.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/link_elf.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sched_ule.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/subr_lock.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sys_generic.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sys_pipe.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sys_socket.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/syscalls.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/syscalls.master#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/systrace_args.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/tty.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/tty_cons.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/tty_pty.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_mbuf.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_mqueue.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_sem.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_shm.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_acl.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_aio.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_cache.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_default.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_extattr.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vnode_if.src#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/mxge/Makefile#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/sf/Makefile#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_bridge.c#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_usrreq.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/frag6.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/icmp6.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6_proto.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6_rmx.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/in6_src.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/ip6_input.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/ip6_mroute.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/ip6_output.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/mld6.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/nd6.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/nd6_rtr.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsclient/nfs_socket.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsclient/nfs_subs.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsserver/nfs_serv.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsserver/nfs_srvsubs.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/opencrypto/cryptodev.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pc98/conf/GENERIC#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/amdsmb.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/if_rlreg.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/if_sf.c#4 delete .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/if_sfreg.h#3 delete .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/nfsmb.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_arg.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_klib.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_syscalls.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_worker.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_framework.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#8 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_posix_shm.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_syscalls.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_stub/mac_stub.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#20 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/buf.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/fcntl.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/file.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/lockmgr.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/mbuf.h#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/mman.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/param.h#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/pmc.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/proc.h#7 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/signal.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/syscall.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/syscall.mk#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/syscallsubr.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/sysproto.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/time.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/user.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/vnode.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_snapshot.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_vfsops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/swap_pager.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_contig.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_kern.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_mmap.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_object.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/Makefile#4 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/tools/regression/lib/msun/Makefile,v 1.9 2007/12/16 23:00:18 das Exp $ +# $FreeBSD: src/tools/regression/lib/msun/Makefile,v 1.10 2008/01/18 21:46:54 das Exp $ -TESTS= test-csqrt test-fenv test-ilogb test-lrint \ +TESTS= test-csqrt test-exponential test-fenv test-ilogb test-lrint \ test-lround test-nan test-next test-rem CFLAGS+= -O0 -lm ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/lib/msun/test-lrint.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005 David Schultz + * Copyright (c) 2005-2008 David Schultz * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-lrint.c,v 1.1 2005/01/11 23:13:36 das Exp $"); +__FBSDID("$FreeBSD: src/tools/regression/lib/msun/test-lrint.c,v 1.2 2008/01/14 02:18:00 das Exp $"); #include #include @@ -37,6 +37,10 @@ #include #include +#ifdef __i386__ +#include +#endif + #define test(func, x, result, excepts) do { \ assert(feclearexcept(FE_ALL_EXCEPT) == 0); \ assert((func)(x) == (result) || fetestexcept(FE_INVALID)); \ @@ -46,20 +50,20 @@ #define testall(x, result, excepts) do { \ test(lrint, x, result, excepts); \ test(lrintf, x, result, excepts); \ + test(lrintl, x, result, excepts); \ test(llrint, x, result, excepts); \ test(llrintf, x, result, excepts); \ + test(llrintl, x, result, excepts); \ } while (0) #define IGNORE 0 #pragma STDC FENV_ACCESS ON -int -main(int argc, char *argv[]) +void +run_tests(void) { - printf("1..1\n"); - assert(fesetround(FE_DOWNWARD) == 0); testall(0.75, 0, FE_INEXACT); testall(-0.5, -1, FE_INEXACT); @@ -120,6 +124,19 @@ #else #error "Unsupported long long size" #endif +} + +int +main(int argc, char *argv[]) +{ + + printf("1..1\n"); + + run_tests(); +#ifdef __i386__ + fpsetprec(FP_PE); + run_tests(); +#endif printf("ok 1 - lrint\n"); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/usr.bin/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/tools/regression/usr.bin/Makefile,v 1.12 2007/06/03 03:29:31 grog Exp $ +# $FreeBSD: src/tools/regression/usr.bin/Makefile,v 1.13 2008/01/13 08:33:58 keramida Exp $ -SUBDIR= calendar file2c join jot m4 printf sed uudecode uuencode xargs lastcomm +SUBDIR= calendar file2c join jot m4 printf sed tr uudecode uuencode xargs lastcomm .include ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.601 2008/01/03 07:34:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $"); /* * Manages physical address maps. @@ -149,11 +149,7 @@ #define PMAP_SHPGPERPROC 200 #endif -#if defined(DIAGNOSTIC) -#define PMAP_DIAGNOSTIC -#endif - -#if !defined(PMAP_DIAGNOSTIC) +#if !defined(DIAGNOSTIC) #define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE @@ -614,7 +610,6 @@ { TAILQ_INIT(&m->md.pv_list); - m->md.pv_list_count = 0; } /* @@ -1699,7 +1694,6 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); - m->md.pv_list_count--; free_pv_entry(pmap, pv); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); @@ -1847,7 +1841,6 @@ } KASSERT(pv != NULL, ("pmap_remove_entry: pv not found")); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); free_pv_entry(pmap, pv); @@ -1867,7 +1860,6 @@ pv = get_pv_entry(pmap, FALSE); pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; } /* @@ -1884,7 +1876,6 @@ (pv = get_pv_entry(pmap, TRUE)) != NULL) { pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; return (TRUE); } else return (FALSE); @@ -2080,15 +2071,8 @@ pd_entry_t ptepde; vm_page_t free; -#if defined(PMAP_DIAGNOSTIC) - /* - * XXX This makes pmap_remove_all() illegal for non-managed pages! - */ - if (m->flags & PG_FICTITIOUS) { - panic("pmap_remove_all: illegal for unmanaged page, va: 0x%lx", - VM_PAGE_TO_PHYS(m)); - } -#endif + KASSERT((m->flags & PG_FICTITIOUS) == 0, + ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { pmap = PV_PMAP(pv); @@ -2118,7 +2102,6 @@ pmap_invalidate_page(pmap, pv->pv_va); pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); } @@ -2262,12 +2245,9 @@ boolean_t invlva; va = trunc_page(va); -#ifdef PMAP_DIAGNOSTIC - if (va > VM_MAX_KERNEL_ADDRESS) - panic("pmap_enter: toobig"); - if ((va >= UPT_MIN_ADDRESS) && (va < UPT_MAX_ADDRESS)) - panic("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va); -#endif + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va)); mpte = NULL; @@ -2281,19 +2261,9 @@ if (va < VM_MAXUSER_ADDRESS) { mpte = pmap_allocpte(pmap, va, M_WAITOK); } -#if 0 && defined(PMAP_DIAGNOSTIC) - else { - pd_entry_t *pdeaddr = pmap_pde(pmap, va); - origpte = *pdeaddr; - if ((origpte & PG_V) == 0) { - panic("pmap_enter: invalid kernel page table page, pde=%p, va=%p\n", - origpte, va); - } - } -#endif pde = pmap_pde(pmap, va); - if (pde != NULL) { + if (pde != NULL && (*pde & PG_V) != 0) { if ((*pde & PG_PS) != 0) panic("pmap_enter: attempted pmap_enter on 2MB page"); pte = pmap_pde_to_pte(pde, va); @@ -2304,7 +2274,7 @@ * Page Directory table entry not valid, we need a new PT page */ if (pte == NULL) - panic("pmap_enter: invalid page directory va=%#lx\n", va); + panic("pmap_enter: invalid page directory va=%#lx", va); pa = VM_PAGE_TO_PHYS(m); om = NULL; @@ -2758,8 +2728,8 @@ pdp_entry_t *pdpe; pd_entry_t srcptepaddr, *pde; - if (addr >= UPT_MIN_ADDRESS) - panic("pmap_copy: invalid to pmap_copy page tables"); + KASSERT(addr < UPT_MIN_ADDRESS, + ("pmap_copy: invalid to pmap_copy page tables")); pml4e = pmap_pml4e(src_pmap, addr); if ((*pml4e & PG_V) == 0) { @@ -2797,8 +2767,8 @@ } srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME); - if (srcmpte->wire_count == 0) - panic("pmap_copy: source page table page is unused"); + KASSERT(srcmpte->wire_count > 0, + ("pmap_copy: source page table page is unused")); if (va_next > end_addr) va_next = end_addr; @@ -3045,7 +3015,6 @@ PV_STAT(pv_entry_spare++); pv_entry_count--; pc->pc_map[field] |= bitmask; - m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); @@ -3118,7 +3087,7 @@ PMAP_LOCK(pmap); pde = pmap_pde(pmap, addr); if (pde != NULL && (*pde & PG_V)) { - pte = vtopte(addr); + pte = pmap_pde_to_pte(pde, addr); rv = (*pte & PG_V) == 0; } PMAP_UNLOCK(pmap); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/GENERIC#7 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.490 2007/12/15 00:56:16 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.491 2008/01/07 21:40:09 jhb Exp $ cpu HAMMER ident GENERIC @@ -52,6 +52,7 @@ options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/_types.h#3 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.12 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -64,7 +64,7 @@ typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; -typedef double __float_t; +typedef float __float_t; typedef __int64_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/float.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 - * $FreeBSD: src/sys/amd64/include/float.h,v 1.15 2005/01/05 20:17:20 imp Exp $ + * $FreeBSD: src/sys/amd64/include/float.h,v 1.16 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE_FLOAT_H_ @@ -42,7 +42,7 @@ #define FLT_RADIX 2 /* b */ #define FLT_ROUNDS __flt_rounds() #if __ISO_C_VISIBLE >= 1999 -#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ +#define FLT_EVAL_METHOD 0 /* no promotions */ #define DECIMAL_DIG 21 /* max precision in decimal digits */ #endif ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/ieeefp.h#3 (text+ko) ==== @@ -32,32 +32,33 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.19 2008/01/11 17:11:32 bde Exp $ */ +#ifndef _MACHINE_IEEEFP_H_ +#define _MACHINE_IEEEFP_H_ + /* - * IEEE floating point type and constant definitions. + * IEEE floating point type, constant and function definitions. + * XXX: {FP,SSE}*FLD and {FP,SSE}*OFF are undocumented pollution. */ -#ifndef _MACHINE_IEEEFP_H_ -#define _MACHINE_IEEEFP_H_ - #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif /* - * FP rounding modes + * Rounding modes. */ typedef enum { FP_RN=0, /* round to nearest */ - FP_RM, /* round down to minus infinity */ - FP_RP, /* round up to plus infinity */ + FP_RM, /* round down towards minus infinity */ + FP_RP, /* round up towards plus infinity */ FP_RZ /* truncate */ } fp_rnd_t; /* - * FP precision modes + * Precision (i.e., rounding precision) modes. */ typedef enum { FP_PS=0, /* 24 bit (single-precision) */ @@ -69,7 +70,7 @@ #define fp_except_t int /* - * FP exception masks + * Exception bit masks. */ #define FP_X_INV 0x01 /* invalid operation */ #define FP_X_DNML 0x02 /* denormal */ @@ -80,23 +81,19 @@ #define FP_X_STK 0x40 /* stack fault */ /* - * FP registers + * FPU control word bit-field masks. */ -#define FP_MSKS_REG 0 /* exception masks */ -#define FP_PRC_REG 0 /* precision */ -#define FP_RND_REG 0 /* direction */ -#define FP_STKY_REG 1 /* sticky flags */ +#define FP_MSKS_FLD 0x3f /* exception masks field */ +#define FP_PRC_FLD 0x300 /* precision control field */ +#define FP_RND_FLD 0xc00 /* rounding control field */ /* - * FP register bit field masks + * FPU status word bit-field masks. */ -#define FP_MSKS_FLD 0x3f /* exception masks field */ -#define FP_PRC_FLD 0x300 /* precision control field */ -#define FP_RND_FLD 0xc00 /* round control field */ #define FP_STKY_FLD 0x3f /* sticky flags field */ /* - * SSE mxcsr register bit field masks + * SSE mxcsr register bit-field masks. */ #define SSE_STKY_FLD 0x3f /* exception flags */ #define SSE_DAZ_FLD 0x40 /* Denormals are zero */ @@ -105,15 +102,19 @@ #define SSE_FZ_FLD 0x8000 /* flush to zero on underflow */ /* - * FP register bit field offsets + * FPU control word bit-field offsets (shift counts). */ #define FP_MSKS_OFF 0 /* exception masks offset */ #define FP_PRC_OFF 8 /* precision control offset */ -#define FP_RND_OFF 10 /* round control offset */ +#define FP_RND_OFF 10 /* rounding control offset */ + +/* + * FPU status word bit-field offsets (shift counts). + */ #define FP_STKY_OFF 0 /* sticky flags offset */ /* - * SSE mxcsr register bit field offsets + * SSE mxcsr register bit-field offsets (shift counts). */ #define SSE_STKY_OFF 0 /* exception flags offset */ #define SSE_DAZ_OFF 6 /* DAZ exception mask offset */ @@ -121,18 +122,45 @@ #define SSE_RND_OFF 13 /* rounding control offset */ #define SSE_FZ_OFF 15 /* flush to zero offset */ -#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \ - && !defined(__cplusplus) +#ifdef __GNUCLIKE_ASM +#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) #define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) +#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) #define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr))) #define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr))) /* + * Load the control word. Be careful not to trap if there is a currently + * unmasked exception (ones that will become freshly unmasked are not a + * problem). This case must be handled by a save/restore of the + * environment or even of the full x87 state. Accessing the environment + * is very inefficient, so only do it when necessary. + */ +static __inline void +__fnldcw(unsigned short _cw, unsigned short _newcw) +{ + struct { + unsigned _cw; + unsigned _other[6]; + } _env; + unsigned short _sw; + + if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { + __fnstsw(&_sw); + if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { + __fnstenv(&_env); + _env._cw = _newcw; + __fldenv(&_env); + return; + } + } + __fldcw(&_newcw); +} + +/* * General notes about conflicting SSE vs FP status bits. * This code assumes that software will not fiddle with the control * bits of the SSE and x87 in such a way to get them out of sync and @@ -143,28 +171,27 @@ * merge the two together. I think. */ -/* Set rounding control */ -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpgetround(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_RND_FLD) >> FP_RND_OFF); + return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); } -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpsetround(fp_rnd_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_rnd_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_RND_FLD) >> FP_RND_OFF; - _cw &= ~FP_RND_FLD; - _cw |= (_m << FP_RND_OFF) & FP_RND_FLD; - __fldcw(&_cw); + _p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF); + _newcw = _cw & ~FP_RND_FLD; + _newcw |= (_m << FP_RND_OFF) & FP_RND_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); _mxcsr &= ~SSE_RND_FLD; _mxcsr |= (_m << SSE_RND_OFF) & SSE_RND_FLD; @@ -173,108 +200,104 @@ } /* - * Set precision for fadd/fsub/fsqrt etc x87 instructions + * Get or set the rounding precision for x87 arithmetic operations. * There is no equivalent SSE mode or control. */ -static __inline__ fp_prec_t + +static __inline fp_prec_t __fpgetprec(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF)); } -static __inline__ fp_prec_t -__fpsetprec(fp_rnd_t _m) +static __inline fp_prec_t +__fpsetprec(fp_prec_t _m) { - unsigned short _cw; fp_prec_t _p; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_PRC_FLD) >> FP_PRC_OFF; - _cw &= ~FP_PRC_FLD; - _cw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; - __fldcw(&_cw); + _p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + _newcw = _cw & ~FP_PRC_FLD; + _newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; + __fnldcw(_cw, _newcw); return (_p); } /* - * Look at the exception masks - * Note that x87 masks are inverse of the fp*() functions - * API. ie: mask = 1 means disable for x87 and SSE, but - * for the fp*() api, mask = 1 means enabled. + * Get or set the exception mask. + * Note that the x87 mask bits are inverted by the API -- a mask bit of 1 + * means disable for x87 and SSE, but for fp*mask() it means enable. */ -static __inline__ fp_except_t + +static __inline fp_except_t __fpgetmask(void) { unsigned short _cw; __fnstcw(&_cw); - return ((~_cw) & FP_MSKS_FLD); + return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF); } -static __inline__ fp_except_t +static __inline fp_except_t __fpsetmask(fp_except_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_except_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (~_cw) & FP_MSKS_FLD; - _cw &= ~FP_MSKS_FLD; - _cw |= (~_m) & FP_MSKS_FLD; - __fldcw(&_cw); + _p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF; + _newcw = _cw & ~FP_MSKS_FLD; + _newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); /* XXX should we clear non-ieee SSE_DAZ_FLD and SSE_FZ_FLD ? */ _mxcsr &= ~SSE_MSKS_FLD; - _mxcsr |= ((~_m) << SSE_MSKS_OFF) & SSE_MSKS_FLD; + _mxcsr |= (~_m << SSE_MSKS_OFF) & SSE_MSKS_FLD; __ldmxcsr(&_mxcsr); return (_p); } -/* See which sticky exceptions are pending, and reset them */ -static __inline__ fp_except_t +static __inline fp_except_t __fpgetsticky(void) { + unsigned _ex, _mxcsr; unsigned short _sw; - unsigned int _mxcsr; - fp_except_t _ex; __fnstsw(&_sw); - _ex = _sw & FP_STKY_FLD; + _ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF; __stmxcsr(&_mxcsr); - _ex |= _mxcsr & SSE_STKY_FLD; - return (_ex); + _ex |= (_mxcsr & SSE_STKY_FLD) >> SSE_STKY_OFF; + return ((fp_except_t)_ex); } -#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */ +#endif /* __GNUCLIKE_ASM */ -#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \ - && defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) +#if !defined(__IEEEFP_NOINLINES__) && defined(__GNUCLIKE_ASM) +#define fpgetmask() __fpgetmask() +#define fpgetprec() __fpgetprec() #define fpgetround() __fpgetround() >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jan 23 01:41:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 255BD16A41A; Wed, 23 Jan 2008 01: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 C67FF16A419 for ; Wed, 23 Jan 2008 01:41:23 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B5CCC13C468 for ; Wed, 23 Jan 2008 01:41:23 +0000 (UTC) (envelope-from zhouzhouyi@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 m0N1fN9b091507 for ; Wed, 23 Jan 2008 01:41:23 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N1fNrv091504 for perforce@freebsd.org; Wed, 23 Jan 2008 01:41:23 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 23 Jan 2008 01:41:23 GMT Message-Id: <200801230141.m0N1fNrv091504@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133905 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 01:41:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=133905 Change 133905 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/23 01:40:26 IFC Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files#9 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1261 2007/12/29 19:53:03 alc Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1265 2008/01/21 04:27:31 yongari Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -518,6 +518,7 @@ dev/cxgb/cxgb_l2t.c optional cxgb pci dev/cxgb/cxgb_lro.c optional cxgb pci dev/cxgb/cxgb_sge.c optional cxgb pci +dev/cxgb/cxgb_multiq.c optional cxgb pci dev/cxgb/common/cxgb_mc5.c optional cxgb pci dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci @@ -828,6 +829,8 @@ dev/mxge/mxge_lro.c optional mxge pci dev/mxge/mxge_eth_z8e.c optional mxge pci dev/mxge/mxge_ethp_z8e.c optional mxge pci +dev/mxge/mxge_rss_eth_z8e.c optional mxge pci +dev/mxge/mxge_rss_ethp_z8e.c optional mxge pci dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard @@ -934,6 +937,7 @@ dev/scc/scc_dev_z8530.c optional scc dev/scd/scd.c optional scd isa dev/scd/scd_isa.c optional scd isa +dev/sf/if_sf.c optional sf pci dev/si/si.c optional si dev/si/si2_z280.c optional si dev/si/si3_t225.c optional si @@ -1540,6 +1544,7 @@ kern/uipc_mbuf2.c standard kern/uipc_mqueue.c optional p1003_1b_mqueue kern/uipc_sem.c optional p1003_1b_semaphores +kern/uipc_shm.c standard kern/uipc_sockbuf.c standard kern/uipc_socket.c standard kern/uipc_syscalls.c standard @@ -2016,7 +2021,6 @@ pci/if_mn.c optional mn pci pci/if_pcn.c optional pcn pci pci/if_rl.c optional rl pci -pci/if_sf.c optional sf pci pci/if_sis.c optional sis pci pci/if_ste.c optional ste pci pci/if_tl.c optional tl pci @@ -2046,6 +2050,7 @@ security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_posix_sem.c optional mac +security/mac/mac_posix_shm.c optional mac security/mac/mac_priv.c optional mac security/mac/mac_process.c optional mac security/mac/mac_socket.c optional mac From owner-p4-projects@FreeBSD.ORG Wed Jan 23 02:19:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2143A16A420; Wed, 23 Jan 2008 02:19:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA1CB16A41A for ; Wed, 23 Jan 2008 02:19:03 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 971B113C465 for ; Wed, 23 Jan 2008 02:19:03 +0000 (UTC) (envelope-from zhouzhouyi@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 m0N2J35s095036 for ; Wed, 23 Jan 2008 02:19:03 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N2J2dd095033 for perforce@freebsd.org; Wed, 23 Jan 2008 02:19:02 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 23 Jan 2008 02:19:02 GMT Message-Id: <200801230219.m0N2J2dd095033@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133906 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 02:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=133906 Change 133906 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/23 02:18:02 IFC adapt rookie's vnode lock change Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_arg.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_klib.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_ioctl.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_pipe.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_private.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_trigger.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#9 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_process.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_syscalls.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#10 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.c#6 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.h#5 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_arg.c#5 (text) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_arg.c,v 1.15 2007/06/27 17:01:14 csjp Exp $ + * $FreeBSD: src/sys/security/audit/audit_arg.c,v 1.17 2008/01/13 14:44:13 attilio Exp $ */ #include @@ -630,9 +630,9 @@ */ vp = fp->f_vnode; vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); audit_arg_vnode(vp, ARG_VNODE1); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); break; @@ -848,9 +848,9 @@ vp = fp->f_vnode; vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); audit_arg_vnode(vp, ARG_VNODE1); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm.c#6 (text) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_bsm.c,v 1.22 2007/10/26 01:23:07 csjp Exp $ + * $FreeBSD: src/sys/security/audit/audit_bsm.c,v 1.24 2008/01/18 19:57:21 csjp Exp $ */ #include @@ -429,6 +429,7 @@ switch(ar->ar_event) { case AUE_ACCEPT: case AUE_BIND: + case AUE_LISTEN: case AUE_CONNECT: case AUE_RECV: case AUE_RECVFROM: @@ -1191,7 +1192,8 @@ if (ARG_IS_VALID(kar, ARG_GROUPSET)) { for(ctr = 0; ctr < ar->ar_arg_groups.gidset_size; ctr++) { - tok = au_to_arg32(1, "setgroups", ar->ar_arg_groups.gidset[ctr]); + tok = au_to_arg32(1, "setgroups", + ar->ar_arg_groups.gidset[ctr]); kau_write(rec, tok); } } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_klib.c#5 (text) ==== @@ -27,7 +27,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_bsm_klib.c,v 1.8 2007/10/29 18:07:48 rwatson Exp $ + * $FreeBSD: src/sys/security/audit/audit_bsm_klib.c,v 1.9 2008/01/10 01:10:55 attilio Exp $ */ #include @@ -526,7 +526,7 @@ * attention. */ vfslocked = VFS_LOCK_GIANT(vnp->v_mount); - vn_lock(vnp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vnp, LK_EXCLUSIVE | LK_RETRY); error = vn_fullpath(td, vnp, &retbuf, &freebuf); if (error == 0) { /* Copy and free buffer allocated by vn_fullpath(). ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_token.c#4 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_ioctl.h#3 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_pipe.c#6 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_private.h#3 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_syscalls.c#6 (text) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_syscalls.c,v 1.22 2007/10/24 19:04:00 rwatson Exp $ + * $FreeBSD: src/sys/security/audit/audit_syscalls.c,v 1.23 2008/01/13 14:44:13 attilio Exp $ */ #include "opt_mac.h" @@ -656,14 +656,14 @@ vp = nd.ni_vp; #ifdef MAC error = mac_system_check_auditctl(td->td_ucred, vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) { vn_close(vp, AUDIT_CLOSE_FLAGS, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); return (error); } #else - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); #endif NDFREE(&nd, NDF_ONLY_PNBUF); if (vp->v_type != VREG) { ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_trigger.c#3 (text) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_worker.c#4 (text) ==== @@ -27,7 +27,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_worker.c,v 1.17 2007/10/20 23:23:22 julian Exp $ + * $FreeBSD: src/sys/security/audit/audit_worker.c,v 1.19 2008/01/13 14:44:13 attilio Exp $ */ #include @@ -136,9 +136,9 @@ error = VFS_STATFS(vp->v_mount, mnt_stat, td); if (error) goto fail; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_GETATTR(vp, &vattr, cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) goto fail; audit_fstat.af_currsz = vattr.va_size; @@ -251,9 +251,9 @@ */ if (audit_in_failure) { if (audit_q_len == 0 && audit_pre_q_len == 0) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("Audit store overflow; record queue drained."); } } @@ -268,9 +268,9 @@ * space, or ENOSPC returned by the vnode write call. */ if (audit_fail_stop) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("Audit log space exhausted and fail-stop set."); } (void)send_trigger(AUDIT_TRIGGER_NO_SPACE); @@ -283,9 +283,9 @@ * lost, which may require an immediate system halt. */ if (audit_panic_on_write_fail) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("audit_worker: write error %d\n", error); } else if (ppsratecheck(&last_fail, &cur_fail, 1)) printf("audit_worker: write error %d\n", error); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#9 (text+ko) ==== @@ -670,6 +670,7 @@ mpo_devfs_create_symlink_t mpo_devfs_create_symlink; mpo_devfs_destroy_label_t mpo_devfs_destroy_label; mpo_devfs_init_label_t mpo_devfs_init_label; + mpo_devfs_init_label_t mpo_mactest_init_label; mpo_devfs_update_t mpo_devfs_update; mpo_devfs_vnode_associate_t mpo_devfs_vnode_associate; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_process.c#5 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/security/mac/mac_process.c,v 1.120 2007/10/25 12:34:13 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/security/mac/mac_process.c,v 1.122 2008/01/13 14:44:13 attilio Exp $"); #include "opt_mac.h" @@ -365,10 +365,10 @@ continue; vp = (struct vnode *)object->handle; vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); result = vme->max_protection; mac_vnode_check_mmap_downgrade(cred, vp, &result); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); /* * Find out what maximum protection we may be allowing now * but a policy needs to get removed. @@ -401,7 +401,7 @@ */ vm_object_reference(object); (void) vn_start_write(vp, &mp, V_WAIT); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); VM_OBJECT_LOCK(object); vm_object_page_clean(object, OFF_TO_IDX(offset), @@ -409,7 +409,7 @@ PAGE_MASK), OBJPC_SYNC); VM_OBJECT_UNLOCK(object); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); vm_object_deallocate(object); /* ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_syscalls.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/security/mac/mac_syscalls.c,v 1.133 2007/10/24 19:04:01 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/security/mac/mac_syscalls.c,v 1.135 2008/01/13 14:44:13 attilio Exp $"); #include "opt_mac.h" @@ -255,9 +255,9 @@ vp = fp->f_vnode; intlabel = mac_vnode_label_alloc(); vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); mac_vnode_copy_label(vp->v_label, intlabel); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); error = mac_vnode_externalize_label(intlabel, elements, buffer, mac.m_buflen); @@ -448,9 +448,9 @@ mac_vnode_label_free(intlabel); break; } - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = vn_setlabel(vp, intlabel, td->td_ucred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); mac_vnode_label_free(intlabel); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#10 (text+ko) ==== @@ -124,7 +124,7 @@ vfslocked = NDHASGIANT(&nd); logvnode = nd.ni_vp; - VOP_UNLOCK(logvnode, 0, curthread); + VOP_UNLOCK(logvnode, 0); if ((error = vn_start_write(logvnode, &mp, V_WAIT))) @@ -133,7 +133,7 @@ VOP_LEASE(logvnode, curthread, /*curthread->td_ucred*/thread0.td_ucred, LEASE_WRITE); VATTR_NULL(&vat); vat.va_size = 0; - vn_lock(logvnode, LK_EXCLUSIVE | LK_RETRY, curthread); + vn_lock(logvnode, LK_EXCLUSIVE | LK_RETRY); /*do truncate */ error = VOP_SETATTR(logvnode, &vat, /*curthread->td_ucred*/thread0.td_ucred, curthread); @@ -154,7 +154,7 @@ error = VOP_SETEXTATTR(logvnode, EXTATTR_NAMESPACE_SYSTEM, "mac_test", &auio, /*curthread->td_ucred*/thread0.td_ucred, curthread); - VOP_UNLOCK(logvnode, 0, curthread); + VOP_UNLOCK(logvnode, 0); vn_finished_write(mp); loglength = 0; bad: From owner-p4-projects@FreeBSD.ORG Wed Jan 23 03:23:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF1AB16A41A; Wed, 23 Jan 2008 03:23: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 9CBD916A418 for ; Wed, 23 Jan 2008 03:23:11 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 897D713C465 for ; Wed, 23 Jan 2008 03:23:11 +0000 (UTC) (envelope-from zhouzhouyi@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 m0N3NB0D002575 for ; Wed, 23 Jan 2008 03:23:11 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N3NBEg002571 for perforce@freebsd.org; Wed, 23 Jan 2008 03:23:11 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 23 Jan 2008 03:23:11 GMT Message-Id: <200801230323.m0N3NBEg002571@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133909 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 03:23:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=133909 Change 133909 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/23 03:23:06 MAC Frameworkcheck mount stat Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mount/00.t#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mount/00.t#3 (text+ko) ==== @@ -61,7 +61,7 @@ #case 7: check mountstat not ok echo -n "pid = -2 mount_check_stat:" > ${mactest_conf} echo "biba/high(low-high),mls/low(low-high) biba/high,mls/7" >> ${mactest_conf} - mactestexpect "" "*dev*" -m "mls/low(low-high)" -f ${mactest_conf} system df + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system df #case 8: check mountstat ok truncate -s 0 ${mactest_conf} @@ -77,7 +77,7 @@ #case 11: check mountstat not ok - mactestexpect "" "*dev*" -m "biba/8(low-high),mls/low(low-high)" -f ${mactest_conf} system df + mactestexpect "" "*" -m "biba/8(low-high),mls/low(low-high)" -f ${mactest_conf} system df #case 12: unmount mactestexpect "" "" -m "biba/low(low-high),mls/low(low-high)" -f ${mactest_conf} system umount ${n2} From owner-p4-projects@FreeBSD.ORG Wed Jan 23 04:14:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A724016A419; Wed, 23 Jan 2008 04:14: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 54BA816A417 for ; Wed, 23 Jan 2008 04:14:04 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 40B4213C455 for ; Wed, 23 Jan 2008 04:14:04 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0N4E48H009326 for ; Wed, 23 Jan 2008 04:14:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N4E4ng009323 for perforce@freebsd.org; Wed, 23 Jan 2008 04:14:04 GMT (envelope-from marcel@freebsd.org) Date: Wed, 23 Jan 2008 04:14:04 GMT Message-Id: <200801230414.m0N4E4ng009323@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 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 04:14:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=133911 Change 133911 by marcel@marcel_cluster on 2008/01/23 04:13:31 Import NetBSD's FPU emulator for PowerPC. This allows us to use a single userland for both cores with FPU and cores without FPU. This is not intended to be the fastest solution, but rather the most flexible. The ability to use soft-float is there, but breaks the existing ABI. Untested... Affected files ... .. //depot/projects/e500/sys/powerpc/fpu/fpu_add.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_arith.h#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_compare.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_div.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_emu.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_emu.h#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_explode.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_extern.h#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_implode.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_mul.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_sqrt.c#1 add .. //depot/projects/e500/sys/powerpc/fpu/fpu_subr.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jan 23 05:06:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C548516A477; Wed, 23 Jan 2008 05: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 88D1716A421 for ; Wed, 23 Jan 2008 05:06:58 +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 7341213C45B for ; Wed, 23 Jan 2008 05:06:58 +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 m0N56wYC021765 for ; Wed, 23 Jan 2008 05:06:58 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N56wO9021762 for perforce@freebsd.org; Wed, 23 Jan 2008 05:06:58 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 05:06:58 GMT Message-Id: <200801230506.m0N56wO9021762@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 133913 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 05:06:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=133913 Change 133913 by kmacy@kmacy:storage:toehead on 2008/01/23 05:06:20 re-format and add condvar Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 (text+ko) ==== @@ -30,45 +30,49 @@ #ifndef CXGB_TOEPCB_H_ #define CXGB_TOEPCB_H_ #include +#include #include 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; - int tp_delack_mode; - int tp_mtu_idx; - int tp_ulp_mode; - int tp_qset_idx; - int tp_mss_clamp; - int tp_qset; - int tp_flags; - int tp_enqueued_bytes; - int tp_page_count; - int tp_state; + 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; + int tp_delack_mode; + int tp_mtu_idx; + int tp_ulp_mode; + int tp_qset_idx; + int tp_mss_clamp; + int tp_qset; + int tp_flags; + int tp_enqueued_bytes; + int tp_page_count; + int tp_state; - tcp_seq tp_iss; - tcp_seq tp_delack_seq; - tcp_seq tp_rcv_wup; - tcp_seq tp_copied_seq; - uint64_t tp_write_seq; + tcp_seq tp_iss; + tcp_seq tp_delack_seq; + tcp_seq tp_rcv_wup; + tcp_seq tp_copied_seq; + uint64_t tp_write_seq; - volatile int tp_refcount; - vm_page_t *tp_pages; + volatile int tp_refcount; + vm_page_t *tp_pages; - struct tcpcb *tp_tp; - struct mbuf *tp_m_last; - bus_dma_tag_t tp_tx_dmat; - bus_dmamap_t tp_dmamap; + struct tcpcb *tp_tp; + struct mbuf *tp_m_last; + 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; - struct ddp_state tp_ddp_state; + LIST_ENTRY(toepcb) synq_entry; + struct mbuf_head wr_list; + struct mbuf_head out_of_order_queue; + struct ddp_state tp_ddp_state; + struct cv tp_cv; + }; static inline void From owner-p4-projects@FreeBSD.ORG Wed Jan 23 05:08:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEAE116A41B; Wed, 23 Jan 2008 05:07: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 B42F616A418 for ; Wed, 23 Jan 2008 05:07:59 +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 9FA9E13C455 for ; Wed, 23 Jan 2008 05:07:59 +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 m0N57xOs021807 for ; Wed, 23 Jan 2008 05:07:59 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N57x75021804 for perforce@freebsd.org; Wed, 23 Jan 2008 05:07:59 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 05:07:59 GMT Message-Id: <200801230507.m0N57x75021804@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 133914 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 05:08:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=133914 Change 133914 by kmacy@kmacy:storage:toehead on 2008/01/23 05:07:25 add some support code for passing bus addresses down the stack Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/sys/mvec.h#5 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/sys/mvec.h#5 (text+ko) ==== @@ -50,6 +50,8 @@ #define mtomv(m) ((struct mbuf_vec *)((m)->m_pktdat)) #define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ +#define EXT_PHYS 10 /* physical/bus address */ + /* * duplication from mbuf.h - can't use directly because @@ -181,12 +183,22 @@ } struct mbuf *mi_collapse_mbuf(struct mbuf_iovec *mi, struct mbuf *m); -struct mbuf *mi_collapse_sge(struct mbuf_iovec *mi, bus_dma_segment_t *seg); void *mcl_alloc(int seg_count, int *type); void mb_free_ext_fast(struct mbuf_iovec *mi, int type, int idx); static __inline void +mi_collapse_sge(struct mbuf_iovec *mi, bus_dma_segment_t *seg) +{ + mi->mi_flags = 0; + mi->mi_base = (caddr_t)seg->ds_addr; + mi->mi_len = seg->ds_len; + mi->mi_size = 0; + mi->mi_type = EXT_PHYS; + mi->mi_refcnt = NULL; +} + +static __inline void m_free_iovec(struct mbuf *m, int type) { int i; From owner-p4-projects@FreeBSD.ORG Wed Jan 23 05:09:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B0E616A420; Wed, 23 Jan 2008 05:09: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 D3C1216A418 for ; Wed, 23 Jan 2008 05:09:00 +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 BE4E513C43E for ; Wed, 23 Jan 2008 05:09:00 +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 m0N590Zh021834 for ; Wed, 23 Jan 2008 05:09:00 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N590i0021831 for perforce@freebsd.org; Wed, 23 Jan 2008 05:09:00 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 05:09:00 GMT Message-Id: <200801230509.m0N590i0021831@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 133915 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 05:09:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=133915 Change 133915 by kmacy@kmacy:storage:toehead on 2008/01/23 05:08:06 basic zero-copy send and some infrastructure for DDP Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 (text+ko) ==== @@ -3324,6 +3324,53 @@ SOCK_UNLOCK(lctx->lso); } + +int +t3_setup_ppods(struct socket *so, const struct ddp_gather_list *gl, + unsigned int nppods, unsigned int tag, unsigned int maxoff, + unsigned int pg_off, unsigned int color) +{ + unsigned int i, j, pidx; + struct pagepod *p; + struct mbuf *m; + struct ulp_mem_io *req; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + unsigned int tid = toep->tp_tid; + const struct tom_data *td = TOM_DATA(TOE_DEV(so)); + unsigned int ppod_addr = tag * PPOD_SIZE + td->ddp_llimit; + + for (i = 0; i < nppods; ++i) { + m = m_gethdr_nofail(sizeof(*req) + PPOD_SIZE); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); + req = mtod(m, struct ulp_mem_io *); + m->m_pkthdr.len = m->m_len = sizeof(*req) + PPOD_SIZE; + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS)); + req->cmd_lock_addr = htonl(V_ULP_MEMIO_ADDR(ppod_addr >> 5) | + V_ULPTX_CMD(ULP_MEM_WRITE)); + req->len = htonl(V_ULP_MEMIO_DATA_LEN(PPOD_SIZE / 32) | + V_ULPTX_NFLITS(PPOD_SIZE / 8 + 1)); + + p = (struct pagepod *)(req + 1); + if (__predict_false(i < nppods - NUM_SENTINEL_PPODS)) { + p->pp_vld_tid = htonl(F_PPOD_VALID | V_PPOD_TID(tid)); + p->pp_pgsz_tag_color = htonl(V_PPOD_TAG(tag) | + V_PPOD_COLOR(color)); + p->pp_max_offset = htonl(maxoff); + p->pp_page_offset = htonl(pg_off); + p->pp_rsvd = 0; + for (pidx = 4 * i, j = 0; j < 5; ++j, ++pidx) + p->pp_addr[j] = pidx < gl->dgl_nelem ? + htobe64(VM_PAGE_TO_PHYS(gl->dgl_pages[pidx])) : 0; + } else + p->pp_vld_tid = 0; /* mark sentinel page pods invalid */ + send_or_defer(so, tp, m, 0); + ppod_addr += PPOD_SIZE; + } + return (0); +} + + void t3_init_wr_tab(unsigned int wr_len) { ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 (text+ko) ==== @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -94,13 +95,13 @@ struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp); -#ifdef notyet #define VM_HOLD_WRITEABLE 0x1 -static int vm_fault_hold_user_pages(vm_offset_t addr, int len, vm_page_t *mp, - int *count, int flags); -#endif +static int vm_fault_hold_user_pages(vm_offset_t addr, vm_page_t *mp, int count, int flags); static void vm_fault_unhold_pages(vm_page_t *m, int count); #define TMP_IOV_MAX 16 +#ifndef PG_FRAME +#define PG_FRAME ~PAGE_MASK +#endif void t3_init_socket_ops(void) @@ -123,7 +124,6 @@ #endif } - struct cxgb_dma_info { size_t cdi_mapped; int cdi_nsegs; @@ -182,21 +182,72 @@ } } +static void +cxgb_zero_copy_free(void *cl, void *arg) +{ + struct mbuf_vec *mv; + struct mbuf *m = (struct mbuf *)cl; + + mv = mtomv(m); + /* + * Physical addresses, don't try to free should be unheld separately from sbdrop + * + */ + mv->mv_count = 0; + m_free_iovec(m, m->m_type); +} -static void -cxgb_zero_copy_free(void *cl, void *arg) {} static int cxgb_hold_iovec_pages(struct uio *uio, vm_page_t *m, int *held, int flags) { + struct iovec *iov = uio->uio_iov; + int iovcnt = uio->uio_iovcnt; + int err, i, count, totcount, maxcount, totbytes, npages, curbytes; + uint64_t start, end; + vm_page_t *mp; + + totbytes = totcount = 0; + maxcount = *held; + + mp = m; + for (totcount = i = 0; (i < iovcnt) && (totcount < maxcount); i++, iov++) { + count = maxcount - totcount; + + start = (uint64_t)iov->iov_base; + end = (uint64_t)((caddr_t)iov->iov_base + iov->iov_len); + start &= PG_FRAME; + end += PAGE_MASK; + end &= PG_FRAME; + npages = (end - start) >> PAGE_SHIFT; + + count = min(count, npages); - return (EINVAL); + err = vm_fault_hold_user_pages((vm_offset_t)iov->iov_base, mp, count, flags); + if (err) { + vm_fault_unhold_pages(m, totcount); + return (err); + } + mp += count; + totcount += count; + curbytes = iov->iov_len; + if (count != npages) + curbytes = count*PAGE_SIZE - (((uint64_t)iov->iov_base)&PAGE_MASK); + totbytes += curbytes; + } + uio->uio_resid -= totbytes; + + return (0); } static void -cxgb_wait_dma_completion(struct toepcb *tp) +cxgb_wait_dma_completion(struct toepcb *toep) { + struct mtx *lock; + lock = &toep->tp_tp->t_inpcb->inp_mtx; + INP_LOCK(toep->tp_tp->t_inpcb); + cv_wait_unlock(&toep->tp_cv, lock); } static int @@ -233,7 +284,13 @@ mi_collapse_sge(mi, segs); *m = m0; - + + /* + * This appears to be a no-op at the moment + * as busdma is all or nothing need to make + * sure the tag values are large enough + * + */ if (cdi.cdi_mapped < uio->uio_resid) { uio->uio_resid -= cdi.cdi_mapped; } else @@ -304,10 +361,11 @@ } uio->uio_resid -= m->m_pkthdr.len; sent += m->m_pkthdr.len; - sbappend_locked(&so->so_snd, m); + sbappend(&so->so_snd, m); t3_push_frames(so, TRUE); iov_adj(&uiotmp.uio_iov, &iovcnt, uiotmp.uio_resid); } + /* * Wait for pending I/O to be DMA'd to the card * @@ -454,51 +512,45 @@ * - hold all pages * - return number of pages in count */ -#ifdef notyet static int -vm_fault_hold_user_pages(vm_offset_t addr, int len, vm_page_t *mp, int *count, int flags) +vm_fault_hold_user_pages(vm_offset_t addr, vm_page_t *mp, int count, int flags) { vm_offset_t start, va; vm_paddr_t pa; int pageslen, faults, rv; - + struct thread *td; vm_map_t map; pmap_t pmap; vm_page_t m, *pages; vm_prot_t prot; - - start = addr & ~PAGE_MASK; - pageslen = roundup2(addr + len, PAGE_SIZE); - if (*count < (pageslen >> PAGE_SHIFT)) - return (EFBIG); - *count = pageslen >> PAGE_SHIFT; /* * Check that virtual address range is legal * This check is somewhat bogus as on some architectures kernel * and user do not share VA - however, it appears that all FreeBSD * architectures define it */ - if (addr + len > VM_MAXUSER_ADDRESS) + pageslen = count * PAGE_SIZE; + if (addr + pageslen > VM_MAXUSER_ADDRESS) return (EFAULT); - + td = curthread; map = &td->td_proc->p_vmspace->vm_map; pmap = &td->td_proc->p_vmspace->vm_pmap; pages = mp; prot = (flags & VM_HOLD_WRITEABLE) ? VM_PROT_WRITE : VM_PROT_READ; - bzero(pages, sizeof(vm_page_t *) * (*count)); + bzero(pages, sizeof(vm_page_t *) * count); retry: - + /* * First optimistically assume that all pages are resident (and R/W if for write) * if so just mark pages as held (and dirty if for write) and return */ vm_page_lock_queues(); - for (pages = mp, faults = 0, va = start; va < pageslen; va += PAGE_SIZE, pages++) { + for (start = addr, pages = mp, faults = 0, va = addr; va < start + pageslen; va += PAGE_SIZE, pages++) { /* * Assure that we only hold the page once */ @@ -514,9 +566,10 @@ faults++; continue; } + *pages = m; - if (flags & VM_HOLD_WRITEABLE) - vm_page_dirty(m); + if (flags & VM_HOLD_WRITEABLE) + vm_page_dirty(m); } } vm_page_unlock_queues(); @@ -546,13 +599,15 @@ error: vm_page_lock_queues(); - for (pages = mp, va = start; va < pageslen; va += PAGE_SIZE, pages++) + for (pages = mp, + va = start; va < start + pageslen; + va += PAGE_SIZE, + pages++) if (*pages) vm_page_unhold(*pages); vm_page_unlock_queues(); return (EFAULT); } -#endif static void vm_fault_unhold_pages(vm_page_t *mp, int count) @@ -567,3 +622,276 @@ vm_page_unlock_queues(); } +/** + * t3_pin_pages - pin a user memory range and prepare it for DDP + * @addr - the starting address + * @len - the length of the range + * @newgl - contains the pages and physical addresses of the pinned range + * @gl - an existing gather list, may be %NULL + * + * Pins the pages in the user-space memory range [addr, addr + len) and + * maps them for DMA. Returns a gather list with the pinned pages and + * their physical addresses. If @gl is non NULL the pages it describes + * are compared against the pages for [addr, addr + len), and if the + * existing gather list already covers the range a new list is not + * allocated. Returns 0 on success, or a negative errno. On success if + * a new gather list was allocated it is returned in @newgl. + */ +static int +t3_pin_pages(bus_dma_tag_t tag, bus_dmamap_t map, unsigned long addr, + size_t len, struct ddp_gather_list **newgl, + const struct ddp_gather_list *gl) +{ + int i, err; + size_t pg_off; + unsigned int npages; + struct ddp_gather_list *p; + + if (addr >= VM_MAXUSER_ADDRESS) + return (EINVAL); +#if 0 + if (!access_ok(VERIFY_WRITE, addr, len)) + return (EFAULT); +#endif + pg_off = addr & ~PAGE_MASK; + npages = (pg_off + len + PAGE_SIZE - 1) >> PAGE_SHIFT; + p = malloc(sizeof(struct ddp_gather_list) + npages * sizeof(vm_page_t *), + M_DEVBUF, M_NOWAIT); + if (!p) + return (ENOMEM); + + + err = vm_fault_hold_user_pages(addr, p->dgl_pages, npages, VM_HOLD_WRITEABLE); + + if (err) + goto free_gl; + + if (gl && gl->dgl_offset == pg_off && gl->dgl_nelem >= npages && + gl->dgl_length >= len) { + for (i = 0; i < npages; ++i) + if (p->dgl_pages[i] != gl->dgl_pages[i]) + goto different_gl; + err = 0; + goto unpin; + } + +different_gl: + p->dgl_length = len; + p->dgl_offset = pg_off; + p->dgl_nelem = npages; +#if 0 + p->phys_addr[0] = pci_map_page(pdev, p->pages[0], pg_off, + PAGE_SIZE - pg_off, + PCI_DMA_FROMDEVICE) - pg_off; + for (i = 1; i < npages; ++i) + p->phys_addr[i] = pci_map_page(pdev, p->pages[i], 0, PAGE_SIZE, + PCI_DMA_FROMDEVICE); +#endif + + *newgl = p; + return 0; +unpin: + vm_fault_unhold_pages(p->dgl_pages, npages); + +free_gl: + free(p, M_DEVBUF); + *newgl = NULL; + return err; +} + +/* + * Return the # of page pods needed to accommodate a # of pages. + */ +static inline unsigned int +pages2ppods(unsigned int pages) +{ + return (pages + PPOD_PAGES - 1) / PPOD_PAGES + NUM_SENTINEL_PPODS; +} + +/* Max # of page pods for a buffer, enough for 1MB buffer at 4KB page size */ +#define MAX_PPODS 64U + +/* + * Allocate page pods for DDP buffer 1 (the user buffer) and set up the tag in + * the TCB. We allocate page pods in multiples of PPOD_CLUSTER_SIZE. First we + * try to allocate enough page pods to accommodate the whole buffer, subject to + * the MAX_PPODS limit. If that fails we try to allocate PPOD_CLUSTER_SIZE page + * pods before failing entirely. + */ +static int +alloc_buf1_ppods(struct socket *so, struct ddp_state *p, + unsigned long addr, unsigned int len) +{ + int tag, npages, nppods; + struct tom_data *d = TOM_DATA(TOE_DEV(so)); + + npages = ((addr & ~PAGE_MASK) + len + PAGE_SIZE - 1) >> PAGE_SHIFT; + nppods = min(pages2ppods(npages), MAX_PPODS); +#ifdef notyet + nppods = ALIGN(nppods, PPOD_CLUSTER_SIZE); +#endif + tag = t3_alloc_ppods(d, nppods); + if (tag < 0 && nppods > PPOD_CLUSTER_SIZE) { + nppods = PPOD_CLUSTER_SIZE; + tag = t3_alloc_ppods(d, nppods); + } + if (tag < 0) + return (ENOMEM); + + p->ubuf_nppods = nppods; + p->ubuf_tag = tag; +#if NUM_DDP_KBUF == 1 + t3_set_ddp_tag(so, 1, tag << 6); +#endif + return 0; +} + +/* + * Starting offset for the user DDP buffer. A non-0 value ensures a DDP flush + * won't block indefinitely if there's nothing to place (which should be rare). + */ +#define UBUF_OFFSET 1 + +static __inline unsigned long +select_ddp_flags(const struct socket *so, int buf_idx, + int nonblock, int rcv_flags) +{ + if (buf_idx == 1) { + if (__predict_false(rcv_flags & MSG_WAITALL)) + return V_TF_DDP_PSH_NO_INVALIDATE(1) | + V_TF_DDP_PUSH_DISABLE_1(1); + if (nonblock) + return V_TF_DDP_BUF1_FLUSH(1); + + return V_TF_DDP_BUF1_FLUSH(!TOM_TUNABLE(TOE_DEV(so), + ddp_push_wait)); + } + + if (__predict_false(rcv_flags & MSG_WAITALL)) + return V_TF_DDP_PSH_NO_INVALIDATE(1) | + V_TF_DDP_PUSH_DISABLE_0(1); + if (nonblock) + return V_TF_DDP_BUF0_FLUSH(1); + + return V_TF_DDP_BUF0_FLUSH(!TOM_TUNABLE(TOE_DEV(so), ddp_push_wait)); +} + +/** + * setup_iovec_ppods - setup HW page pods for a user iovec + * @sk: the associated socket + * @iov: the iovec + * @oft: additional bytes to map before the start of the buffer + * + * Pins a user iovec and sets up HW page pods for DDP into it. We allocate + * page pods for user buffers on the first call per socket. Afterwards we + * limit the buffer length to whatever the existing page pods can accommodate. + * Returns a negative error code or the length of the mapped buffer. + * + * The current implementation handles iovecs with only one entry. + */ +static int +setup_iovec_ppods(struct socket *so, const struct iovec *iov, int oft) +{ + int err; + unsigned int len; + struct ddp_gather_list *gl = NULL; + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + unsigned long addr = (unsigned long)iov->iov_base - oft; + + if (__predict_false(!p->ubuf_nppods)) { + err = alloc_buf1_ppods(so, p, addr, iov->iov_len + oft); + if (err) + return err; + } + + len = (p->ubuf_nppods - NUM_SENTINEL_PPODS) * PPOD_PAGES * PAGE_SIZE; + len -= addr & ~PAGE_MASK; + if (len > M_TCB_RX_DDP_BUF0_LEN) + len = M_TCB_RX_DDP_BUF0_LEN; + len = min(len, sototcpcb(so)->rcv_wnd - 32768); + len = min(len, iov->iov_len + oft); + + if (len <= p->kbuf[0]->dgl_length) + return -EINVAL; + + err = t3_pin_pages(toep->tp_rx_dmat, toep->tp_dmamap, addr, len, &gl, p->ubuf); + if (err < 0) + return err; + if (gl) { + if (p->ubuf) + t3_free_ddp_gl(p->pdev, p->ubuf); + p->ubuf = gl; + t3_setup_ppods(so, gl, pages2ppods(gl->dgl_nelem), p->ubuf_tag, len, + gl->dgl_offset, 0); + } + return len; +} + +#define OVERLAY_MASK (V_TF_DDP_PSH_NO_INVALIDATE(1) | \ + V_TF_DDP_BUF1_FLUSH(1) | \ + V_TF_DDP_BUF0_FLUSH(1) | \ + V_TF_DDP_PUSH_DISABLE_1(1) | \ + V_TF_DDP_PUSH_DISABLE_0(1) | \ + V_TF_DDP_INDICATE_OUT(1)) + +/* + * Post a user buffer as an overlay on top of the current kernel buffer. + */ +int +t3_overlay_ubuf(struct socket *so, const struct iovec *iov, + int nonblock, int rcv_flags, int modulate, int post_kbuf) +{ + int len, ubuf_idx; + unsigned long flags; + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + + if (!p || !p->pdev) + return -1; + + len = setup_iovec_ppods(so, iov, 0); + if (len < 0) + return len; + + ubuf_idx = p->kbuf_idx; + p->buf_state[ubuf_idx].flags = DDP_BF_NOFLIP; + /* Use existing offset */ + /* Don't need to update .gl, user buffer isn't copied. */ + p->cur_buf = ubuf_idx; + + flags = select_ddp_flags(so, ubuf_idx, nonblock, rcv_flags); + + if (post_kbuf) { + struct ddp_buf_state *dbs = &p->buf_state[ubuf_idx ^ 1]; + + dbs->cur_offset = 0; + dbs->flags = 0; + dbs->gl = p->kbuf[ubuf_idx ^ 1]; + p->kbuf_idx ^= 1; + flags |= p->kbuf_idx ? + V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_PUSH_DISABLE_1(0) : + V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_PUSH_DISABLE_0(0); + } + + if (ubuf_idx == 0) { + t3_overlay_ddpbuf(so, 0, p->ubuf_tag << 6, p->kbuf_tag[1] << 6, + len); + t3_setup_ddpbufs(so, 0, 0, p->kbuf[1]->dgl_length, 0, + flags, + OVERLAY_MASK | flags, 1); + } else { + t3_overlay_ddpbuf(so, 1, p->kbuf_tag[0] << 6, p->ubuf_tag << 6, + len); + t3_setup_ddpbufs(so, p->kbuf[0]->dgl_length, 0, 0, 0, + flags, + OVERLAY_MASK | flags, 1); + } +#ifdef T3_TRACE + T3_TRACE5(TIDTB(sk), + "t3_overlay_ubuf: tag %u flags 0x%x mask 0x%x ubuf_idx %d " + " kbuf_idx %d", + p->ubuf_tag, flags, OVERLAY_MASK, ubuf_idx, p->kbuf_idx); +#endif + return 0; +} ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 (text+ko) ==== @@ -1,4 +1,3 @@ - /************************************************************************** Copyright (c) 2007, Chelsio Inc. @@ -96,8 +95,7 @@ unsigned int dgl_length; unsigned int dgl_offset; unsigned int dgl_nelem; - vm_page_t *dgl_pages; - bus_addr_t dgl_phys_addr[0]; + vm_page_t dgl_pages[0]; }; struct ddp_buf_state { @@ -161,9 +159,6 @@ int t3_alloc_ppods(struct tom_data *td, unsigned int n); void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n); void t3_free_ddp_gl(struct pci_dev *pdev, struct ddp_gather_list *gl); -int t3_pin_pages(struct pci_dev *pdev, unsigned long uaddr, size_t len, - struct ddp_gather_list **newgl, - const struct ddp_gather_list *gl); int t3_ddp_copy(const struct mbuf *skb, int offset, struct iovec *to, int len); //void t3_repost_kbuf(struct socket *so, int modulate, int activate); ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 (text+ko) ==== @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -152,6 +153,7 @@ { bzero(toep, sizeof(*toep)); toep->tp_refcount = 1; + cv_init(&toep->tp_cv, "toep cv"); } void From owner-p4-projects@FreeBSD.ORG Wed Jan 23 08:55:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3759F16A46B; Wed, 23 Jan 2008 08:55:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF7FE16A475 for ; Wed, 23 Jan 2008 08:55:55 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D638113C47E for ; Wed, 23 Jan 2008 08:55:55 +0000 (UTC) (envelope-from zhouzhouyi@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 m0N8ttu0057645 for ; Wed, 23 Jan 2008 08:55:55 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0N8tt2n057641 for perforce@freebsd.org; Wed, 23 Jan 2008 08:55:55 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Wed, 23 Jan 2008 08:55:55 GMT Message-Id: <200801230855.m0N8tt2n057641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 133918 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 08:55:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=133918 Change 133918 by zhouzhouyi@zhouzhouyi_mactest on 2008/01/23 08:55:33 Style Modification Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/00.t#2 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/01.t#2 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mmap/00.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/00.t#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/mdconfig/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ desc="mdconfig" @@ -13,7 +13,7 @@ #turn off all the switches for i in `sysctl security.mac | grep "\.enabled"| sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do - sysctl ${i}=0 + sysctl ${i}=0 > /dev/null done echo "1..1" @@ -35,20 +35,16 @@ touch ${mactest_conf} ############################################################# - t=`sysctl security.mac.mls.enabled=1` - echo "enforcing mac/mls!" - t=`sysctl security.mac.biba.enabled=1` - echo "enforcing mac/biba!" + sysctl security.mac.mls.enabled=1 > /dev/null + sysctl security.mac.biba.enabled=1 > /dev/null #case 1: mdconfig, couldn't open /dev/mdctl, BLP prevents write down mactestexpect "" "*" -m "mls/7(low-high),biba/low(low-high)" -f ${mactest_conf} system ${mdconfigopenrdonly} -a -n -t malloc -s 1m mdnum=${ret} #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" - t=`sysctl security.mac.biba.enabled=0` - echo "disabling mac/biba!" + sysctl security.mac.mls.enabled=0 > /dev/null + sysctl security.mac.biba.enabled=0 > /dev/null rm -fr ${n0} rm -fr ${n2} rm ${mactest_conf} ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/01.t#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/mdconfig/01.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ desc="Testing mount and umount of md devices" @@ -13,13 +13,9 @@ #turn off all the switches for i in `sysctl security.mac | grep "\.enabled"| sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do - sysctl ${i}=0 + sysctl ${i}=0 > /dev/null done - echo "1..12" - n0=`namegenshort` - n1=`namegen` - n2=`namegenshort` mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` @@ -27,37 +23,42 @@ if [ "${mac_mls_support}" != "" ] && [ "${mac_biba_support}" != "" ] ; then dvplabel=`getfmac ".."| sed 's/\(\.\.:\ \)\([a-z\,\/]*\)/\2/`; -############################################################# + #first make working dir, the hook checks are already done in open: if [ -f ${mactest_conf} ]; then rm ${mactest_conf} fi touch ${mactest_conf} -############################################################# - t=`sysctl security.mac.mls.enabled=1` - echo "enforcing mac/mls!" + echo "1..12" + n0=`namegenshort` + n1=`namegen` + n2=`namegenshort` + + + + sysctl security.mac.mls.enabled=1 > /dev/null #case 1: mkdir mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n0} 0755 #case 2: mdconfig, couldn't open /dev/mdctl, BLP prevents write down - echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_open#VREAD VWRITE:" > ${mactest_conf} echo "biba/high(low-high),mls/7(low-high) biba/high,mls/low" >> ${mactest_conf} mactestexpect "*Permission.denied" "" -m "mls/7(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m #case 3: mdconfig, successfully open /dev/mdctl - echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_open#VREAD VWRITE:" > ${mactest_conf} echo "biba/high(low-high),mls/low(low-high) biba/high,mls/low" >> ${mactest_conf} mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m mdnum=${ret} #case 4: newfs, fail for writing, BLP prevents write down - echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_open#VREAD VWRITE:" > ${mactest_conf} echo "biba/high(low-high),mls/7(low-high) biba/high,mls/low" >> ${mactest_conf} mactestexpect "*failed.to.open.disk.for.writing" "*" -m "mls/7(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} #case 5: newfs, success - echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_open#VREAD VWRITE:" > ${mactest_conf} echo "biba/high(low-high),mls/low(low-high) biba/high,mls/low" >> ${mactest_conf} mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} @@ -87,8 +88,7 @@ #case 12: detach mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -d -u ${mdnum} #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" + sysctl security.mac.mls.enabled=0 > /dev/null rm -fr ${n0} rm -fr ${n2} rm ${mactest_conf} ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mmap/00.t#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/mmap/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD$ desc="test the Mac hooks's enforcement on mmap" @@ -7,15 +7,11 @@ dir=`dirname $0` . ${dir}/../misc.sh -echo "1..4" -n0=`namegen` -n1=`namegen` - #turn off all the switches for i in `sysctl security.mac | grep "\.enabled"| sed 's/\([a-z\.]*\.enabled\)\(:\ \)\([01]\)/\1/`; do -sysctl ${i}=0 + sysctl ${i}=0 > /dev/null done mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` @@ -33,15 +29,14 @@ fi touch ${mactest_conf} -############################################################# - t=`sysctl security.mac.mls.enabled=1` - echo "enforcing mac/mls!" - t=`sysctl security.mac.biba.enabled=1` - echo "enforcing mac/biba!" - t=`sysctl security.mac.mls.revocation_enabled=1` - t=`sysctl security.mac.biba.revocation_enabled=1` - echo "enabling revoking" + echo "1..4" + n0=`namegen` + n1=`namegen` + sysctl security.mac.mls.enabled=1 > /dev/null + sysctl security.mac.biba.enabled=1 > /dev/null + sysctl security.mac.mls.revocation_enabled=1 > /dev/null + sysctl security.mac.biba.revocation_enabled=1 > /dev/null #setting up the file, and set the maclabel of it touch ${n0} @@ -50,31 +45,29 @@ setfmac biba/5 ${n1} #case 1: mls can't read mmap high - echo -n "pid = -2 mac_test_check_vnode_mmap:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_mmap:" > ${mactest_conf} echo "biba/high(low-high),mls/4(low-high) biba/high,mls/5" >> ${mactest_conf} bizarretestexpect ${mmaptest} "read.mmap.failed" "" -o "mls/5(low-high)" -s 1 \ -f ${n0} -r "mls/4" -w "mls/5" -c ${mactest_conf} #case 2: mls can't write mmap low - echo -n "pid = -2 mac_test_check_vnode_mmap:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_mmap:" > ${mactest_conf} echo "biba/high(low-high),mls/6(low-high) biba/high,mls/5" >> ${mactest_conf} bizarretestexpect ${mmaptest} "write.mmap.failed" "" -o "mls/5(low-high)" -s 1 \ -f ${n0} -r "mls/5" -w "mls/6" -c ${mactest_conf} #case 3: biba can't read mmap low - echo -n "pid = -2 mac_test_check_vnode_mmap:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_mmap:" > ${mactest_conf} echo "mls/low(low-high),biba/6(low-high) biba/5,mls/low" >> ${mactest_conf} bizarretestexpect ${mmaptest} "read.mmap.failed" "" -o "biba/5(low-high)" -s 1 \ -f ${n1} -r "biba/6" -w "biba/5" -c ${mactest_conf} #case 4: biba can't write mmap high - echo -n "pid = -2 mac_test_check_vnode_mmap:" > ${mactest_conf} + echo -n "pid = -2 vnode_check_mmap:" > ${mactest_conf} echo "mls/low(low-high),biba/4(low-high) biba/5,mls/low" >> ${mactest_conf} bizarretestexpect ${mmaptest} "write.mmap.failed" "" -o "biba/5(low-high)" -s 1 \ -f ${n1} -r "biba/5" -w "biba/4" -c ${mactest_conf} #cleanup: - t=`sysctl security.mac.mls.enabled=0` - echo "disabling mac/mls!" - t=`sysctl security.mac.biba.enabled=0` - echo "disabling mac/biba!" + sysctl security.mac.mls.enabled=0 > /dev/null + sysctl security.mac.biba.enabled=0 > /dev/null rm ${n0} rm ${n1} rm ${mactest_conf} From owner-p4-projects@FreeBSD.ORG Wed Jan 23 18:20:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9745A16A419; Wed, 23 Jan 2008 18:20: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 4475816A417 for ; Wed, 23 Jan 2008 18:20:33 +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 21FD013C46A for ; Wed, 23 Jan 2008 18:20:33 +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 m0NIKWwG070068 for ; Wed, 23 Jan 2008 18:20:32 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NIKWfZ070065 for perforce@freebsd.org; Wed, 23 Jan 2008 18:20:32 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 18:20:32 GMT Message-Id: <200801231820.m0NIKWfZ070065@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 133934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 18:20:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=133934 Change 133934 by imp@imp_paco-paco on 2008/01/23 18:19:56 Nit. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/TODO#10 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/TODO#10 (text+ko) ==== @@ -38,6 +38,7 @@ ************ RRS (below) ********* o obio.c is probably not a good name for the IQ80321 driver + -- obio is On Board I/O. The IQ80321 is a StrongARM eval board... o the locations of the octeon uart stuff is probably not good (in mips/octeon32) o uart_dev_oct16550.c exists in dev/uart, did Warner move this From owner-p4-projects@FreeBSD.ORG Wed Jan 23 19:42:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1430616A469; Wed, 23 Jan 2008 19:42:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CBA1316A421 for ; Wed, 23 Jan 2008 19:42:08 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C2D9A13C4EB for ; Wed, 23 Jan 2008 19:42:08 +0000 (UTC) (envelope-from delphij@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 m0NJg8Tg079610 for ; Wed, 23 Jan 2008 19:42:08 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NJfwfN079579 for perforce@freebsd.org; Wed, 23 Jan 2008 19:41:58 GMT (envelope-from delphij@freebsd.org) Date: Wed, 23 Jan 2008 19:41:58 GMT Message-Id: <200801231941.m0NJfwfN079579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 133937 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 19:42:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=133937 Change 133937 by delphij@charlie on 2008/01/23 19:41:38 IFC Affected files ... .. //depot/projects/delphij_fork/Makefile.inc1#8 integrate .. //depot/projects/delphij_fork/ObsoleteFiles.inc#17 integrate .. //depot/projects/delphij_fork/UPDATING#8 integrate .. //depot/projects/delphij_fork/contrib/gdb/FREEBSD-diffs#1 branch .. //depot/projects/delphij_fork/contrib/top/display.c#2 integrate .. //depot/projects/delphij_fork/contrib/top/layout.h#2 integrate .. //depot/projects/delphij_fork/contrib/top/machine.h#2 integrate .. //depot/projects/delphij_fork/contrib/top/top.c#3 integrate .. //depot/projects/delphij_fork/contrib/top/top.h#2 integrate .. //depot/projects/delphij_fork/etc/defaults/rc.conf#7 integrate .. //depot/projects/delphij_fork/etc/rc.firewall#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/cvs/Makefile#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/cvs/contrib/Makefile#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kgdb.h#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/delphij_fork/include/unistd.h#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/Makefile#6 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_extract.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_cpio.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_format_zip.c#6 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_disk.c#6 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_write_set_format_cpio_newc.c#3 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/Makefile#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_write_disk.c#4 integrate .. //depot/projects/delphij_fork/lib/libarchive/test/test_write_disk_hardlink.c#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/test_write_format_cpio_newc.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/amd64/_fpmath.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/gen/getttyent.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/i386/_fpmath.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/ia64/_fpmath.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/inet/inet_network.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/locale/Makefile.inc#2 integrate .. //depot/projects/delphij_fork/lib/libc/locale/ascii.c#1 branch .. //depot/projects/delphij_fork/lib/libc/locale/mblocal.h#3 integrate .. //depot/projects/delphij_fork/lib/libc/locale/setrunelocale.c#3 integrate .. //depot/projects/delphij_fork/lib/libc/sparc64/_fpmath.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdlib/grantpt.c#3 integrate .. //depot/projects/delphij_fork/lib/libc/sys/access.2#3 integrate .. //depot/projects/delphij_fork/lib/libc/sys/flock.2#2 integrate .. //depot/projects/delphij_fork/lib/libthr/Makefile#5 integrate .. //depot/projects/delphij_fork/lib/libutil/pty.3#2 integrate .. //depot/projects/delphij_fork/lib/libutil/pty.c#4 integrate .. //depot/projects/delphij_fork/lib/msun/Makefile#4 integrate .. //depot/projects/delphij_fork/lib/msun/Symbol.map#4 integrate .. //depot/projects/delphij_fork/lib/msun/ld128/s_exp2l.c#1 branch .. //depot/projects/delphij_fork/lib/msun/ld80/s_exp2l.c#1 branch .. //depot/projects/delphij_fork/lib/msun/man/exp.3#2 integrate .. //depot/projects/delphij_fork/lib/msun/man/log.3#1 branch .. //depot/projects/delphij_fork/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_rem_pio2.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/k_rem_pio2f.c#2 delete .. //depot/projects/delphij_fork/lib/msun/src/math.h#4 integrate .. //depot/projects/delphij_fork/lib/msun/src/math_private.h#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_exp2.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_exp2f.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_log1p.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_log1pf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rint.c#3 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rintf.c#2 integrate .. //depot/projects/delphij_fork/lib/msun/src/s_rintl.c#2 integrate .. //depot/projects/delphij_fork/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/doc/share/misc/dev.archlist.txt#6 integrate .. //depot/projects/delphij_fork/release/fixit.profile#3 integrate .. //depot/projects/delphij_fork/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/delphij_fork/sbin/dhclient/dhclient-script#2 integrate .. //depot/projects/delphij_fork/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/delphij_fork/sbin/natd/natd.8#3 integrate .. //depot/projects/delphij_fork/sbin/quotacheck/quotacheck.c#3 integrate .. //depot/projects/delphij_fork/share/man/man4/Makefile#11 integrate .. //depot/projects/delphij_fork/share/man/man4/axe.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/coda.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/mfi.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/pcib.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/sf.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/syncache.4#3 integrate .. //depot/projects/delphij_fork/share/man/man4/vlan.4#2 integrate .. //depot/projects/delphij_fork/share/man/man5/rc.conf.5#5 integrate .. //depot/projects/delphij_fork/share/man/man5/src.conf.5#6 integrate .. //depot/projects/delphij_fork/share/man/man7/clocks.7#2 integrate .. //depot/projects/delphij_fork/share/man/man7/ports.7#6 integrate .. //depot/projects/delphij_fork/share/man/man9/BUF_ISLOCKED.9#1 branch .. //depot/projects/delphij_fork/share/man/man9/BUF_RECURSED.9#1 branch .. //depot/projects/delphij_fork/share/man/man9/BUF_REFCNT.9#2 delete .. //depot/projects/delphij_fork/share/man/man9/Makefile#8 integrate .. //depot/projects/delphij_fork/share/man/man9/VOP_LOCK.9#4 integrate .. //depot/projects/delphij_fork/share/man/man9/lock.9#4 integrate .. //depot/projects/delphij_fork/share/misc/bsd-family-tree#5 integrate .. //depot/projects/delphij_fork/share/misc/pci_vendors#3 integrate .. //depot/projects/delphij_fork/share/mk/bsd.own.mk#4 integrate .. //depot/projects/delphij_fork/share/mklocale/la_LN.US-ASCII.src#2 integrate .. //depot/projects/delphij_fork/share/zoneinfo/leapseconds#4 integrate .. //depot/projects/delphij_fork/sys/Makefile#4 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/delphij_fork/sys/amd64/include/_types.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/float.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/isa/clock.c#5 integrate .. //depot/projects/delphij_fork/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/delphij_fork/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/delphij_fork/sys/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/delphij_fork/sys/conf/files#17 integrate .. //depot/projects/delphij_fork/sys/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/delphij_fork/sys/crypto/rijndael/test00.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/delphij_fork/sys/dev/an/if_an.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/an/if_anreg.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_adapter.h#10 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/cxgb_support.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/mvec.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/mii/brgphy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/eth_z8e.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/ethp_z8e.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge.c#6 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_mcp.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/pci/pci_user.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/re/if_re.c#12 integrate .. //depot/projects/delphij_fork/sys/dev/sf/if_sf.c#1 branch .. //depot/projects/delphij_fork/sys/dev/sf/if_sfreg.h#1 branch .. //depot/projects/delphij_fork/sys/dev/sf/starfire_rx.h#1 branch .. //depot/projects/delphij_fork/sys/dev/sf/starfire_tx.h#1 branch .. //depot/projects/delphij_fork/sys/dev/stge/if_stge.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/wpi/if_wpi.c#4 integrate .. //depot/projects/delphij_fork/sys/fs/coda/cnode.h#2 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_namecache.h#2 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_vfsops.c#5 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_vnops.c#4 integrate .. //depot/projects/delphij_fork/sys/fs/udf/udf_vfsops.c#5 integrate .. //depot/projects/delphij_fork/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/delphij_fork/sys/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/delphij_fork/sys/i386/include/pmap.h#4 integrate .. //depot/projects/delphij_fork/sys/i386/isa/clock.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/genassym.sh#2 integrate .. //depot/projects/delphij_fork/sys/kern/init_sysent.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/kern_cpu.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/kern_mib.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_time.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/sched_ule.c#12 integrate .. //depot/projects/delphij_fork/sys/kern/syscalls.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/syscalls.master#6 integrate .. //depot/projects/delphij_fork/sys/kern/systrace_args.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/tty_pty.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_bio.c#8 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/delphij_fork/sys/modules/mxge/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/delphij_fork/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/delphij_fork/sys/modules/sf/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/net/if_bridge.c#8 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_ppp.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_usrreq.c#7 integrate .. //depot/projects/delphij_fork/sys/netinet6/in6_src.c#5 integrate .. //depot/projects/delphij_fork/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/delphij_fork/sys/nfsclient/nfs_subs.c#4 integrate .. //depot/projects/delphij_fork/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/delphij_fork/sys/nfsserver/nfs_srvsubs.c#6 integrate .. //depot/projects/delphij_fork/sys/pci/amdsmb.c#2 integrate .. //depot/projects/delphij_fork/sys/pci/if_rlreg.h#6 integrate .. //depot/projects/delphij_fork/sys/pci/if_sf.c#3 delete .. //depot/projects/delphij_fork/sys/pci/if_sfreg.h#2 delete .. //depot/projects/delphij_fork/sys/pci/nfsmb.c#3 integrate .. //depot/projects/delphij_fork/sys/security/audit/audit_bsm.c#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/delphij_fork/sys/sys/buf.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/lockmgr.h#5 integrate .. //depot/projects/delphij_fork/sys/sys/mbuf.h#6 integrate .. //depot/projects/delphij_fork/sys/sys/param.h#9 integrate .. //depot/projects/delphij_fork/sys/sys/signal.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/syscall.h#5 integrate .. //depot/projects/delphij_fork/sys/sys/syscall.mk#5 integrate .. //depot/projects/delphij_fork/sys/sys/sysproto.h#5 integrate .. //depot/projects/delphij_fork/sys/sys/time.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/user.h#4 integrate .. //depot/projects/delphij_fork/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/delphij_fork/tools/build/Makefile#2 integrate .. //depot/projects/delphij_fork/tools/build/mk/OptionalObsoleteFiles.inc#4 integrate .. //depot/projects/delphij_fork/tools/build/options/WITHOUT_FORTRAN#2 delete .. //depot/projects/delphij_fork/tools/regression/lib/msun/Makefile#3 integrate .. //depot/projects/delphij_fork/tools/regression/lib/msun/test-exponential.c#1 branch .. //depot/projects/delphij_fork/tools/regression/lib/msun/test-exponential.t#1 branch .. //depot/projects/delphij_fork/tools/regression/posixshm/Makefile#1 branch .. //depot/projects/delphij_fork/tools/regression/posixshm/posixshm.c#1 branch .. //depot/projects/delphij_fork/tools/regression/posixshm/posixshm.t#1 branch .. //depot/projects/delphij_fork/tools/regression/posixshm/test.c#1 branch .. //depot/projects/delphij_fork/tools/regression/posixshm/test.h#1 branch .. //depot/projects/delphij_fork/tools/tools/aac/aac_checkq.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/mklocale/mklocale.1#2 integrate .. //depot/projects/delphij_fork/usr.bin/mklocale/yacc.y#3 integrate .. //depot/projects/delphij_fork/usr.bin/mt/mt.1#2 integrate .. //depot/projects/delphij_fork/usr.bin/procstat/procstat_files.c#3 integrate .. //depot/projects/delphij_fork/usr.bin/systat/cmds.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/convtbl.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/devs.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/fetch.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/icmp.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/icmp6.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/iostat.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/ip.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/ip6.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/keyboard.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/main.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/mbufs.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/netcmds.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/netstat.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/pigs.c#3 integrate .. //depot/projects/delphij_fork/usr.bin/systat/swap.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/tcp.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/systat/vmstat.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/tar/bsdtar.1#3 integrate .. //depot/projects/delphij_fork/usr.bin/tar/bsdtar.c#5 integrate .. //depot/projects/delphij_fork/usr.bin/top/machine.c#5 integrate .. //depot/projects/delphij_fork/usr.bin/vmstat/vmstat.c#4 integrate .. //depot/projects/delphij_fork/usr.bin/wall/wall.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/iostat/iostat.c#5 integrate .. //depot/projects/delphij_fork/usr.sbin/sysinstall/menus.c#5 integrate Differences ... ==== //depot/projects/delphij_fork/Makefile.inc1#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.591 2007/12/04 12:55:27 yar Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.595 2008/01/23 00:16:37 ache Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -227,7 +227,7 @@ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - -DWITHOUT_FORTRAN -DWITHOUT_GDB + -DWITHOUT_GDB # world stage WMAKEENV= ${CROSSENV} \ @@ -852,10 +852,6 @@ # legacy: Build compatibility shims for the next three targets # legacy: -.if ${BOOTSTRAPPING} < 503000 - @echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \ - false -.endif .for _tool in tools/build ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ @@ -882,26 +878,6 @@ .endif .endif -.if ${BOOTSTRAPPING} < 600029 -_texinfo= gnu/usr.bin/texinfo -.endif - -.if ${BOOTSTRAPPING} < 600015 -_cap_mkdb= usr.bin/cap_mkdb -.endif - -.if ${BOOTSTRAPPING} < 600018 -_colldef= usr.bin/colldef -.endif - -.if ${BOOTSTRAPPING} < 600017 -_gencat= usr.bin/gencat -.endif - -.if ${BOOTSTRAPPING} < 600016 -_mklocale= usr.bin/mklocale -.endif - .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -911,28 +887,23 @@ _crunchgen= usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} < 600020 -_pwd_mkdb= usr.sbin/pwd_mkdb +.if ${BOOTSTRAPPING} < 800013 +_mklocale= usr.bin/mklocale .endif bootstrap-tools: .for _tool in \ + ${_mklocale} \ ${_strfile} \ ${_gperf} \ ${_groff} \ - ${_texinfo} \ - ${_cap_mkdb} \ - ${_colldef} \ - ${_gencat} \ usr.bin/lorder \ usr.bin/makewhatis \ - ${_mklocale} \ usr.bin/rpcgen \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ - ${_crunchgen} \ - ${_pwd_mkdb} + ${_crunchgen} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ==== //depot/projects/delphij_fork/ObsoleteFiles.inc#17 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.125 2008/01/11 13:41:31 jhb Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.126 2008/01/22 20:08:09 attilio Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080122: Removed from the tree +OLD_FILES+=usr/share/man/man9/BUF_REFCNT.9.gz # 20080108: Moved to section 2 OLD_FILES+=usr/share/man/man3/shm_open.3.gz OLD_FILES+=usr/share/man/man3/shm_unlink.3.gz ==== //depot/projects/delphij_fork/UPDATING#8 (text+ko) ==== @@ -19,7 +19,16 @@ related kernel options, INVARIANTS, malloc debugging flags in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines - to maximize performance. + to maximize performance. (To disable malloc debugging, run + ln -s aj /etc/malloc.conf.) + +20080121: + To upgrade to -current after this date, you must be running + FreeBSD after the RELENG_6 branch point. This means any of the + 6.x releases are supported and should work. Upgrading to current + from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems. + FreeBSD_version must be 600029 or higher, although this isn't + enforced in the Makefile at this time. 20071128: The ADAPTIVE_GIANT kernel option has been retired because its @@ -949,4 +958,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.513 2007/11/28 13:04:11 matteo Exp $ +$FreeBSD: src/UPDATING,v 1.515 2008/01/22 15:05:22 trhodes Exp $ ==== //depot/projects/delphij_fork/contrib/top/display.c#2 (text+ko) ==== @@ -8,7 +8,7 @@ * Copyright (c) 1984, 1989, William LeFebvre, Rice University * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University * - * $FreeBSD: src/contrib/top/display.c,v 1.9 2005/05/19 13:34:19 keramida Exp $ + * $FreeBSD: src/contrib/top/display.c,v 1.10 2008/01/18 01:43:13 peter Exp $ */ /* @@ -78,8 +78,10 @@ static int *lmemory; static int *lswap; +static int num_cpus; static int *cpustate_columns; static int cpustate_total_length; +static int cpustates_column; static enum { OFF, ON, ERASE } header_status = ON; @@ -87,6 +89,29 @@ static void summary_format(); static void line_update(); +int x_lastpid = 10; +int y_lastpid = 0; +int x_loadave = 33; +int x_loadave_nompid = 15; +int y_loadave = 0; +int x_procstate = 0; +int y_procstate = 1; +int x_brkdn = 15; +int y_brkdn = 1; +int x_mem = 5; +int y_mem = 3; +int x_swap = 6; +int y_swap = 4; +int y_message = 5; +int x_header = 0; +int y_header = 6; +int x_idlecursor = 0; +int y_idlecursor = 5; +int y_procs = 7; + +int y_cpustates = 2; +int Header_lines = 7; + int display_resize() { @@ -138,6 +163,12 @@ /* call resize to do the dirty work */ lines = display_resize(); + num_cpus = statics->ncpus; + cpustates_column = 5; /* CPU: */ + if (num_cpus != 1) + cpustates_column += 2; /* CPU 0: */ + for (i = num_cpus; i > 9; i /= 10) + cpustates_column++; /* only do the rest if we need to */ if (lines > -1) @@ -153,7 +184,7 @@ num_swap = string_count(swap_names); lswap = (int *)malloc(num_swap * sizeof(int)); num_cpustates = string_count(cpustate_names); - lcpustates = (int *)malloc(num_cpustates * sizeof(int)); + lcpustates = (int *)malloc(num_cpustates * sizeof(int) * num_cpus); cpustate_columns = (int *)malloc(num_cpustates * sizeof(int)); memory_names = statics->memory_names; @@ -365,14 +396,13 @@ } } +#ifdef no_more /* * *_cpustates(states, names) - print the cpu state percentages * * Assumptions: cursor is on the PREVIOUS line */ -static int cpustates_column; - /* cpustates_tag() calculates the correct tag to use to label the line */ char *cpustates_tag() @@ -398,6 +428,7 @@ cpustates_column = strlen(use); return(use); } +#endif i_cpustates(states) @@ -406,11 +437,18 @@ { register int i = 0; register int value; - register char **names = cpustate_names; + register char **names; register char *thisname; + int cpu; + +for (cpu = 0; cpu < num_cpus; cpu++) { + names = cpustate_names; /* print tag and bump lastline */ - printf("\n%s", cpustates_tag()); + if (num_cpus == 1) + printf("\nCPU: "); + else + printf("\nCPU %d: ", cpu); lastline++; /* now walk thru the names and print the line */ @@ -423,14 +461,15 @@ /* if percentage is >= 1000, print it as 100% */ printf((value >= 1000 ? "%s%4.0f%% %s" : "%s%4.1f%% %s"), - i++ == 0 ? "" : ", ", + (i++ % num_cpustates) == 0 ? "" : ", ", ((float)value)/10., thisname); } } +} /* copy over values into "last" array */ - memcpy(lcpustates, states, num_cpustates * sizeof(int)); + memcpy(lcpustates, states, num_cpustates * sizeof(int) * num_cpus); } u_cpustates(states) @@ -439,14 +478,18 @@ { register int value; - register char **names = cpustate_names; + register char **names; register char *thisname; register int *lp; register int *colp; + int cpu; + +for (cpu = 0; cpu < num_cpus; cpu++) { + names = cpustate_names; - Move_to(cpustates_column, y_cpustates); - lastline = y_cpustates; - lp = lcpustates; + Move_to(cpustates_column, y_cpustates + cpu); + lastline = y_cpustates + cpu; + lp = lcpustates + (cpu * num_cpustates); colp = cpustate_columns; /* we could be much more optimal about this */ @@ -458,8 +501,8 @@ if (*lp != *states) { /* yes, move and change */ - Move_to(cpustates_column + *colp, y_cpustates); - lastline = y_cpustates; + Move_to(cpustates_column + *colp, y_cpustates + cpu); + lastline = y_cpustates + cpu; /* retrieve value and remember it */ value = *states; @@ -479,30 +522,39 @@ colp++; } } +} z_cpustates() { register int i = 0; - register char **names = cpustate_names; + register char **names; register char *thisname; register int *lp; + int cpu; + +for (cpu = 0; cpu < num_cpus; cpu++) { + names = cpustate_names; /* show tag and bump lastline */ - printf("\n%s", cpustates_tag()); + if (num_cpus == 1) + printf("\nCPU: "); + else + printf("\nCPU %d: ", cpu); lastline++; while ((thisname = *names++) != NULL) { if (*thisname != '\0') { - printf("%s %% %s", i++ == 0 ? "" : ", ", thisname); + printf("%s %% %s", (i++ % num_cpustates) == 0 ? "" : ", ", thisname); } } +} /* fill the "last" array with all -1s, to insure correct updating */ lp = lcpustates; - i = num_cpustates; + i = num_cpustates * num_cpus; while (--i >= 0) { *lp++ = -1; ==== //depot/projects/delphij_fork/contrib/top/layout.h#2 (text+ko) ==== @@ -4,26 +4,28 @@ * This file defines the locations on tne screen for various parts of the * display. These definitions are used by the routines in "display.c" for * cursor addressing. + * + * $FreeBSD: src/contrib/top/layout.h,v 1.3 2008/01/18 01:43:13 peter Exp $ */ -#define x_lastpid 10 -#define y_lastpid 0 -#define x_loadave 33 -#define x_loadave_nompid 15 -#define y_loadave 0 -#define x_procstate 0 -#define y_procstate 1 -#define x_brkdn 15 -#define y_brkdn 1 -#define x_mem 5 -#define y_mem 3 -#define x_swap 6 -#define y_swap 4 -#define y_message 5 -#define x_header 0 -#define y_header 6 -#define x_idlecursor 0 -#define y_idlecursor 5 -#define y_procs 7 +extern int x_lastpid; /* 10 */ +extern int y_lastpid; /* 0 */ +extern int x_loadave; /* 33 */ +extern int x_loadave_nompid; /* 15 */ +extern int y_loadave; /* 0 */ +extern int x_procstate; /* 0 */ +extern int y_procstate; /* 1 */ +extern int x_brkdn; /* 15 */ +extern int y_brkdn; /* 1 */ +extern int x_mem; /* 5 */ +extern int y_mem; /* 3 */ +extern int x_swap; /* 6 */ +extern int y_swap; /* 4 */ +extern int y_message; /* 5 */ +extern int x_header; /* 0 */ +extern int y_header; /* 6 */ +extern int x_idlecursor; /* 0 */ +extern int y_idlecursor; /* 5 */ +extern int y_procs; /* 7 */ -#define y_cpustates 2 +extern int y_cpustates; /* 2 */ ==== //depot/projects/delphij_fork/contrib/top/machine.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/contrib/top/machine.h,v 1.9 2007/05/04 15:42:58 rafan Exp $ + * $FreeBSD: src/contrib/top/machine.h,v 1.10 2008/01/18 01:43:13 peter Exp $ */ /* @@ -20,6 +20,7 @@ #ifdef ORDER char **order_names; #endif + int ncpus; }; /* @@ -43,6 +44,8 @@ int *memory; int *swap; struct timeval boottime; + unsigned long cpumask; /* bitfield of cpu states represented */ + int ncpus; }; /* cpu_states is an array of percentages * 10. For example, ==== //depot/projects/delphij_fork/contrib/top/top.c#3 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.24 2008/01/09 18:06:24 obrien Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.25 2008/01/18 01:43:13 peter Exp $ */ /* @@ -66,6 +66,7 @@ extern int overstrike; static int fmt_flags = 0; +int pcpu_stats = No; /* signal handling routines */ sigret_t leave(); @@ -282,7 +283,7 @@ optind = 1; } - while ((i = getopt(ac, av, "CSIHabijnquvs:d:U:m:o:t")) != EOF) + while ((i = getopt(ac, av, "CSIHPabijnpquvs:d:U:m:o:t")) != EOF) { switch(i) { @@ -407,6 +408,14 @@ ps.jail = !ps.jail; break; + case 'P': + pcpu_stats = Yes; + break; + + case 'p': + pcpu_stats = No; + break; + default: fprintf(stderr, "Top version %s\n" ==== //depot/projects/delphij_fork/contrib/top/top.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/contrib/top/top.h,v 1.4 2007/04/14 10:16:51 stas Exp $ + * $FreeBSD: src/contrib/top/top.h,v 1.5 2008/01/18 01:43:13 peter Exp $ */ /* * Top - a top users display for Berkeley Unix @@ -11,7 +11,7 @@ #define VERSION 3 /* Number of lines of header information on the standard screen */ -#define Header_lines 7 +extern int Header_lines; /* 7 */ /* Maximum number of columns allowed for display */ #define MAX_COLS 128 @@ -45,3 +45,5 @@ #define FMT_SHOWARGS 0x00000001 extern enum displaymodes displaymode; + +extern int pcpu_stats; ==== //depot/projects/delphij_fork/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.322 2008/01/12 20:52:30 maxim Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.323 2008/01/21 04:41:18 rafan Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -120,6 +120,9 @@ firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports # for which denied incoming packets are not # logged. +firewall_nat_enable="NO" # Enable kernel NAT (if firewall_enable == YES) +firewall_nat_interface="" # Public interface or IPaddress to use +firewall_nat_flags="" # Additional configuration parameters ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/delphij_fork/etc/rc.firewall#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/etc/rc.firewall,v 1.53 2008/01/12 19:02:09 maxim Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.54 2008/01/21 04:41:17 rafan Exp $ # # @@ -131,7 +131,13 @@ case ${firewall_nat_enable} in [Yy][Ee][Ss]) if [ -n "${firewall_nat_interface}" ]; then - ${fwcmd} nat 123 config if ${firewall_nat_interface} log + if echo "${firewall_nat_interface}" | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + firewall_nat_flags="ip ${firewall_nat_interface} ${firewall_nat_flags}" + else + firewall_nat_flags="if ${firewall_nat_interface} ${firewall_nat_flags}" + fi + ${fwcmd} nat 123 config log ${firewall_nat_flags} ${fwcmd} add 50 nat 123 ip4 from any to any via ${firewall_nat_interface} fi ;; ==== //depot/projects/delphij_fork/gnu/usr.bin/cvs/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/gnu/usr.bin/cvs/Makefile,v 1.17 2008/01/13 08:58:25 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/cvs/Makefile,v 1.18 2008/01/16 17:16:36 obrien Exp $ -SUBDIR = lib libdiff cvs cvsbug doc +SUBDIR = lib libdiff cvs contrib cvsbug doc .include ==== //depot/projects/delphij_fork/gnu/usr.bin/cvs/contrib/Makefile#3 (text+ko) ==== @@ -1,4 +1,6 @@ -# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.19 2008/01/13 09:45:53 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.20 2008/01/16 17:15:59 obrien Exp $ + +.POSIX: .include "../Makefile.inc" ==== //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kgdb.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/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.6 2007/11/16 22:17:37 jhb Exp $ + * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.7 2008/01/17 21:43:12 jhb Exp $ */ #ifndef _KGDB_H_ @@ -32,6 +32,7 @@ struct thread_info; extern kvm_t *kvm; +extern char *kernel; struct kthr { struct kthr *next; @@ -63,5 +64,6 @@ char *kgdb_thr_extra_thread_info(int); uintptr_t kgdb_lookup(const char *sym); +CORE_ADDR kgdb_parse(const char *exp); #endif /* _KGDB_H_ */ ==== //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/kthr.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/kthr.c,v 1.8 2007/11/16 22:17:37 jhb Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/kthr.c,v 1.9 2008/01/18 18:57:27 emaste Exp $"); #include #include @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -204,17 +205,26 @@ char * kgdb_thr_extra_thread_info(int tid) { + char comm[MAXCOMLEN + 1]; + char td_name[MAXCOMLEN + 1]; struct kthr *kt; struct proc *p; - static char comm[MAXCOMLEN + 1]; + struct thread *t; + static char info[MAXCOMLEN + 1 + MAXCOMLEN + 1]; kt = kgdb_thr_lookup_tid(tid); if (kt == NULL) return (NULL); p = (struct proc *)kt->paddr; + t = (struct thread *)kt->kaddr; if (kvm_read(kvm, (uintptr_t)&p->p_comm[0], &comm, sizeof(comm)) != sizeof(comm)) return (NULL); - - return (comm); + if (kvm_read(kvm, (uintptr_t)&t->td_name[0], &td_name, + sizeof(td_name)) == sizeof(td_name) && + strcmp(comm, td_name) != 0) + snprintf(info, sizeof(info), "%s/%s", comm, td_name); + else + strlcpy(info, comm, sizeof(info)); + return (info); } ==== //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/main.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/main.c,v 1.11 2006/01/04 23:17:52 kan Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/main.c,v 1.12 2008/01/17 21:43:12 jhb Exp $"); #include #include @@ -75,7 +75,7 @@ static int verbose; static char crashdir[PATH_MAX]; -static char *kernel; +char *kernel; static char *remote; static char *vmcore; @@ -178,7 +178,7 @@ kgdb_new_objfile_chain(objfile); } -static CORE_ADDR +CORE_ADDR kgdb_parse(const char *exp) { struct cleanup *old_chain; ==== //depot/projects/delphij_fork/gnu/usr.bin/gdb/kgdb/trgt.c#2 (text+ko) ==== @@ -25,13 +25,16 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/trgt.c,v 1.5 2006/10/16 20:06:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/trgt.c,v 1.6 2008/01/17 21:43:12 jhb Exp $"); #include #include +#include #include #include +#include #include +#include #include #include @@ -40,6 +43,9 @@ #include #include #include +#include +#include +#include #include "kgdb.h" @@ -199,6 +205,268 @@ kgdb_switch_to_thread(thr); } +static int +kld_ok (char *path) +{ + struct stat sb; + + if (stat(path, &sb) == 0 && S_ISREG(sb.st_mode)) + return (1); + return (0); +} + +/* + * Look for a matching file in the following order: + * - filename + ".symbols" (e.g. foo.ko.symbols) + * - filename + ".debug" (e.g. foo.ko.debug) + * - filename (e.g. foo.ko) + * - dirname(kernel) + filename + ".symbols" (e.g. /boot/kernel/foo.ko.symbols) + * - dirname(kernel) + filename + ".debug" (e.g. /boot/kernel/foo.ko.debug) + * - dirname(kernel) + filename (e.g. /boot/kernel/foo.ko) + * - iterate over each path in the module path looking for: + * - dir + filename + ".symbols" (e.g. /boot/modules/foo.ko.symbols) + * - dir + filename + ".debug" (e.g. /boot/modules/foo.ko.debug) + * - dir + filename (e.g. /boot/modules/foo.ko) + */ +static int >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jan 23 19:57:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E967916A475; Wed, 23 Jan 2008 19:57: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 AC2A516A46C for ; Wed, 23 Jan 2008 19:57:24 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A69C413C4CC for ; Wed, 23 Jan 2008 19:57:24 +0000 (UTC) (envelope-from andre@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 m0NJvO26080515 for ; Wed, 23 Jan 2008 19:57:24 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NJvOdT080512 for perforce@freebsd.org; Wed, 23 Jan 2008 19:57:24 GMT (envelope-from andre@freebsd.org) Date: Wed, 23 Jan 2008 19:57:24 GMT Message-Id: <200801231957.m0NJvOdT080512@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 133938 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 19:57:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133938 Change 133938 by andre@andre_flirtbox on 2008/01/23 19:56:30 Account for the cluster and its mbuf, not only the cluster. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#13 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#13 (text+ko) ==== @@ -253,7 +253,8 @@ /* NB: m_adj(m, -i) may free mbufs at the tail of a chain. */ for (mcnt = 0, n = m; n; n = n->m_next) - mcnt += (n->m_flags & M_EXT) ? n->m_ext.ext_size : MSIZE; + mcnt += (n->m_flags & M_EXT) ? + n->m_ext.ext_size + MSIZE : MSIZE; /* Check if this segment attaches to the end. */ tqe = TAILQ_LAST(&tp->t_trq, trq_head); @@ -297,7 +298,7 @@ /* Update accounting. */ for (mcnt = 0, n = m; n; n = n->m_next) mcnt += (n->m_flags & M_EXT) ? - n->m_ext.ext_size : MSIZE; + n->m_ext.ext_size + MSIZE : MSIZE; } tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; @@ -373,7 +374,7 @@ /* Update accounting. */ for (mcnt = 0, n = m; n; n = n->m_next) mcnt += (n->m_flags & M_EXT) ? - n->m_ext.ext_size : MSIZE; + n->m_ext.ext_size + MSIZE : MSIZE; } tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; From owner-p4-projects@FreeBSD.ORG Wed Jan 23 20:01:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 830E616A41A; Wed, 23 Jan 2008 20:01: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 481E616A418 for ; Wed, 23 Jan 2008 20:01:29 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 424D313C44B for ; Wed, 23 Jan 2008 20:01:29 +0000 (UTC) (envelope-from andre@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 m0NK1Tvj080727 for ; Wed, 23 Jan 2008 20:01:29 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NK1TEd080724 for perforce@freebsd.org; Wed, 23 Jan 2008 20:01:29 GMT (envelope-from andre@freebsd.org) Date: Wed, 23 Jan 2008 20:01:29 GMT Message-Id: <200801232001.m0NK1TEd080724@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 133940 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 20:01:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=133940 Change 133940 by andre@andre_flirtbox on 2008/01/23 20:00:45 Fix memory leak when length is zero. We must always consume the mbuf. Add commment to note this. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#14 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#14 (text+ko) ==== @@ -156,6 +156,9 @@ /* * Insert segments into the reassembly queue. + * + * NB: We must always consume the mbuf. Either by appeding it to + * the queue or by freeing it. */ int tcp_reass(struct tcpcb *tp, struct tcphdr *th, int *tlenp, struct mbuf *m) @@ -190,8 +193,10 @@ } /* XXX: should not happen, but does for some reason. */ - if (*tlenp == 0) + if (*tlenp == 0) { + m_freem(m); return (0); + } KASSERT(*tlenp > 0, ("%s: segment doesn't contain any data", __func__)); From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:09:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2127816A419; Wed, 23 Jan 2008 21:09: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 C1F4D16A417 for ; Wed, 23 Jan 2008 21:09:40 +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 BE7FB13C448 for ; Wed, 23 Jan 2008 21:09:40 +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 m0NL9eg7004228 for ; Wed, 23 Jan 2008 21:09:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NL9ebu004209 for perforce@freebsd.org; Wed, 23 Jan 2008 21:09:40 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 23 Jan 2008 21:09:40 GMT Message-Id: <200801232109.m0NL9ebu004209@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 133944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:09:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=133944 Change 133944 by hselasky@hselasky_laptop001 on 2008/01/23 21:09:08 Make the USB status stage delay tunable through "hw.usb.ss_delay". This sysctl is used for advanced USB device testing. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#109 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_requests.c#17 (text+ko) ==== @@ -432,7 +432,8 @@ USETW(req.wLength, 0); /* Setting the address should not take more than 1 second ! */ - return (usbd_do_request_flags(udev, mtx, &req, NULL, 0, NULL, 1000)); + return (usbd_do_request_flags(udev, mtx, &req, NULL, + USBD_DELAY_STATUS_STAGE, NULL, 1000)); } /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#109 (text+ko) ==== @@ -3570,6 +3570,13 @@ return; } +#ifdef USB_DEBUG +static int usb_ss_delay = 0; + +SYSCTL_INT(_hw_usb, OID_AUTO, ss_delay, CTLFLAG_RW, + &usb_ss_delay, 0, "USB status stage delay"); +#endif + /*------------------------------------------------------------------------* * usbd_do_request_flags and usbd_do_request * @@ -3702,12 +3709,18 @@ } else { if (xfer->frlengths[0] == 0) { if (xfer->flags.manual_status) { - /* - * Delay 70 milliseconds - * before doing the status - * stage: - */ - usbd_pause_mtx(xfer->priv_mtx, 70); +#ifdef USB_DEBUG + int temp; + + temp = usb_ss_delay; + if (temp > 5000) { + temp = 5000; + } + if (temp > 0) { + usbd_pause_mtx( + xfer->priv_mtx, temp); + } +#endif xfer->flags.manual_status = 0; } else { break; From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:20:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCFDB16A46C; Wed, 23 Jan 2008 21:20: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 A297916A417 for ; Wed, 23 Jan 2008 21:20:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FBDA13C4DB for ; Wed, 23 Jan 2008 21:20:52 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0NLKqfZ005658 for ; Wed, 23 Jan 2008 21:20:52 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NLKqWu005655 for perforce@freebsd.org; Wed, 23 Jan 2008 21:20:52 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 23 Jan 2008 21:20:52 GMT Message-Id: <200801232120.m0NLKqWu005655@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 133946 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:20:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=133946 Change 133946 by kmacy@pandemonium:kmacy:xen31 on 2008/01/23 21:20:29 mask off the upper bits so that PG_NX isn't accidentally treated as an index pointed out by alc Affected files ... .. //depot/projects/xen31/sys/i386/include/xen/xenpmap.h#9 edit Differences ... ==== //depot/projects/xen31/sys/i386/include/xen/xenpmap.h#9 (text+ko) ==== @@ -202,13 +202,17 @@ static __inline vm_paddr_t xpmap_mtop(vm_paddr_t mpa) { - return machtophys(mpa) | (mpa & PAGE_MASK); + vm_paddr_t tmp = (mpa & PG_FRAME); + + return machtophys(tmp) | (mpa & ~PG_FRAME); } static __inline vm_paddr_t xpmap_ptom(vm_paddr_t ppa) { - return phystomach(ppa) | (ppa & PAGE_MASK); + vm_paddr_t tmp = (ppa & PG_FRAME); + + return phystomach(tmp) | (ppa & ~PG_FRAME); } static __inline void From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:29:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FBA916A418; Wed, 23 Jan 2008 21:29: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 44C4316A468 for ; Wed, 23 Jan 2008 21:29: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 40F9513C4D3 for ; Wed, 23 Jan 2008 21:29: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 m0NLT1qo006146 for ; Wed, 23 Jan 2008 21:29:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NLT172006143 for perforce@freebsd.org; Wed, 23 Jan 2008 21:29:01 GMT (envelope-from jb@freebsd.org) Date: Wed, 23 Jan 2008 21:29:01 GMT Message-Id: <200801232129.m0NLT172006143@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 133948 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:29:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=133948 Change 133948 by jb@jb_freebsd1 on 2008/01/23 21:28:46 Enable a few more tests to reach 677. Separate some that don't work from ones I haven't got to so that a 'make ignore' will run the ones I'm yet to work on while not trying the ones that are known to ruin one's day. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#14 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#14 (text+ko) ==== @@ -57,33 +57,14 @@ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d \ ${TESTSRCDIR}/tst/common/assocs/tst.orthogonality.d \ ${TESTSRCDIR}/tst/common/buffering/tst.cputime.ksh \ - ${TESTSRCDIR}/tst/common/buffering/tst.resize1.d \ - ${TESTSRCDIR}/tst/common/buffering/tst.resize2.d \ ${TESTSRCDIR}/tst/common/buffering/tst.ring3.d \ - ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d \ - ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d \ - ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d \ - ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.prsize.d \ - ${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.rssize.d \ - ${TESTSRCDIR}/tst/common/builtinvar/tst.arg0clause.d \ - ${TESTSRCDIR}/tst/common/builtinvar/tst.arg1to8clause.d \ - ${TESTSRCDIR}/tst/common/builtinvar/tst.hpriority.d \ - ${TESTSRCDIR}/tst/common/builtinvar/tst.lwpsinfo.d \ - ${TESTSRCDIR}/tst/common/builtinvar/tst.lwpsinfo1.d \ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo.d \ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo1.d \ ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_DBLERROR.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_DYNAMIC.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.end.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_SPEC.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_SPECUNAVAIL.d \ ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d \ ${TESTSRCDIR}/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh \ - ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoofew.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoomany.d \ @@ -106,31 +87,10 @@ ${TESTSRCDIR}/tst/common/funcs/tst.mutex_owned.d \ ${TESTSRCDIR}/tst/common/funcs/tst.mutex_owner.d \ ${TESTSRCDIR}/tst/common/funcs/tst.mutex_type_adaptive.d \ - ${TESTSRCDIR}/tst/common/funcs/tst.progenyof.d \ ${TESTSRCDIR}/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d \ ${TESTSRCDIR}/tst/common/inline/tst.InlineDataAssign.d \ ${TESTSRCDIR}/tst/common/inline/tst.InlineExpression.d \ ${TESTSRCDIR}/tst/common/inline/tst.InlineTypedef.d \ - ${TESTSRCDIR}/tst/common/io/tst.fds.d \ - ${TESTSRCDIR}/tst/common/java_api/tst.Abort.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.Bean.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.Close.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.Drop.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.Enable.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.FunctionLookup.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.MaxConsumers.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.MultiAggPrinta.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.ProbeData.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.ProbeDescription.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.StateMachine.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.StopLock.ksh \ - ${TESTSRCDIR}/tst/common/java_api/tst.printa.d \ - ${TESTSRCDIR}/tst/common/lexer/err.D_CHR_NL.char.d \ - ${TESTSRCDIR}/tst/common/lexer/err.D_STR_NL.string.d \ - ${TESTSRCDIR}/tst/common/mdb/tst.dtracedcmd.ksh \ - ${TESTSRCDIR}/tst/common/mib/tst.icmp.ksh \ - ${TESTSRCDIR}/tst/common/mib/tst.tcp.ksh \ - ${TESTSRCDIR}/tst/common/mib/tst.udp.ksh \ ${TESTSRCDIR}/tst/common/misc/tst.dynopt.d \ ${TESTSRCDIR}/tst/common/misc/tst.include.ksh \ ${TESTSRCDIR}/tst/common/misc/tst.roch.d \ @@ -175,12 +135,10 @@ ${TESTSRCDIR}/tst/common/pointers/tst.basic1.d \ ${TESTSRCDIR}/tst/common/pointers/tst.basic2.d \ ${TESTSRCDIR}/tst/common/predicates/tst.argsnotcached.d \ - ${TESTSRCDIR}/tst/common/predicates/tst.predcache.ksh \ ${TESTSRCDIR}/tst/common/printa/tst.basics.d \ ${TESTSRCDIR}/tst/common/printa/tst.def.d \ ${TESTSRCDIR}/tst/common/printa/tst.dynwidth.d \ ${TESTSRCDIR}/tst/common/printa/tst.fmt.d \ - ${TESTSRCDIR}/tst/common/printa/tst.many.d \ ${TESTSRCDIR}/tst/common/printa/tst.manyval.d \ ${TESTSRCDIR}/tst/common/printa/tst.stack.d \ ${TESTSRCDIR}/tst/common/printa/tst.tuple.d \ @@ -193,7 +151,6 @@ ${TESTSRCDIR}/tst/common/privs/tst.func_access.ksh \ ${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \ @@ -210,44 +167,6 @@ ${TESTSRCDIR}/tst/common/rates/tst.aggrate.d \ ${TESTSRCDIR}/tst/common/rates/tst.statusrate.d \ ${TESTSRCDIR}/tst/common/rates/tst.switchrate.d \ - ${TESTSRCDIR}/tst/common/safety/tst.basename.d \ - ${TESTSRCDIR}/tst/common/safety/tst.caller.d \ - ${TESTSRCDIR}/tst/common/safety/tst.cleanpath.d \ - ${TESTSRCDIR}/tst/common/safety/tst.copyin.d \ - ${TESTSRCDIR}/tst/common/safety/tst.copyin2.d \ - ${TESTSRCDIR}/tst/common/safety/tst.ddi_pathname.d \ - ${TESTSRCDIR}/tst/common/safety/tst.dirname.d \ - ${TESTSRCDIR}/tst/common/safety/tst.errno.d \ - ${TESTSRCDIR}/tst/common/safety/tst.execname.d \ - ${TESTSRCDIR}/tst/common/safety/tst.gid.d \ - ${TESTSRCDIR}/tst/common/safety/tst.hton.d \ - ${TESTSRCDIR}/tst/common/safety/tst.index.d \ - ${TESTSRCDIR}/tst/common/safety/tst.msgdsize.d \ - ${TESTSRCDIR}/tst/common/safety/tst.msgsize.d \ - ${TESTSRCDIR}/tst/common/safety/tst.null.d \ - ${TESTSRCDIR}/tst/common/safety/tst.pid.d \ - ${TESTSRCDIR}/tst/common/safety/tst.ppid.d \ - ${TESTSRCDIR}/tst/common/safety/tst.progenyof.d \ - ${TESTSRCDIR}/tst/common/safety/tst.random.d \ - ${TESTSRCDIR}/tst/common/safety/tst.rw.d \ - ${TESTSRCDIR}/tst/common/safety/tst.shortstr.d \ - ${TESTSRCDIR}/tst/common/safety/tst.stack.d \ - ${TESTSRCDIR}/tst/common/safety/tst.stackdepth.d \ - ${TESTSRCDIR}/tst/common/safety/tst.strchr.d \ - ${TESTSRCDIR}/tst/common/safety/tst.strjoin.d \ - ${TESTSRCDIR}/tst/common/safety/tst.strstr.d \ - ${TESTSRCDIR}/tst/common/safety/tst.strtok.d \ - ${TESTSRCDIR}/tst/common/safety/tst.substr.d \ - ${TESTSRCDIR}/tst/common/safety/tst.ucaller.d \ - ${TESTSRCDIR}/tst/common/safety/tst.uid.d \ - ${TESTSRCDIR}/tst/common/safety/tst.unalign.d \ - ${TESTSRCDIR}/tst/common/safety/tst.uregs.d \ - ${TESTSRCDIR}/tst/common/safety/tst.ustack.d \ - ${TESTSRCDIR}/tst/common/safety/tst.ustackdepth.d \ - ${TESTSRCDIR}/tst/common/safety/tst.vahole.d \ - ${TESTSRCDIR}/tst/common/safety/tst.violentdeath.ksh \ - ${TESTSRCDIR}/tst/common/safety/tst.zonename.d \ - ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d \ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d \ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ @@ -369,6 +288,70 @@ ${TESTSRCDIR}/tst/common/types/tst.ptrops.d \ ${TESTSRCDIR}/tst/common/types/tst.struct.d \ ${TESTSRCDIR}/tst/common/types/tst.typedef.d \ + ${TESTSRCDIR}/tst/common/vars/tst.gid.d \ + ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \ + ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \ + ${TESTSRCDIR}/tst/common/vars/tst.uid.d \ + ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \ + +NOTWORK+= \ + ${TESTSRCDIR}/tst/common/io/tst.fds.d \ + ${TESTSRCDIR}/tst/common/java_api/tst.Abort.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.Bean.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.Close.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.Drop.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.Enable.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.FunctionLookup.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.MaxConsumers.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.MultiAggPrinta.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.ProbeData.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.ProbeDescription.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.StateMachine.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.StopLock.ksh \ + ${TESTSRCDIR}/tst/common/java_api/tst.printa.d \ + ${TESTSRCDIR}/tst/common/lexer/err.D_CHR_NL.char.d \ + ${TESTSRCDIR}/tst/common/lexer/err.D_STR_NL.string.d \ + ${TESTSRCDIR}/tst/common/mdb/tst.dtracedcmd.ksh \ + ${TESTSRCDIR}/tst/common/mib/tst.icmp.ksh \ + ${TESTSRCDIR}/tst/common/mib/tst.tcp.ksh \ + ${TESTSRCDIR}/tst/common/mib/tst.udp.ksh \ + ${TESTSRCDIR}/tst/common/safety/tst.basename.d \ + ${TESTSRCDIR}/tst/common/safety/tst.caller.d \ + ${TESTSRCDIR}/tst/common/safety/tst.cleanpath.d \ + ${TESTSRCDIR}/tst/common/safety/tst.copyin.d \ + ${TESTSRCDIR}/tst/common/safety/tst.copyin2.d \ + ${TESTSRCDIR}/tst/common/safety/tst.ddi_pathname.d \ + ${TESTSRCDIR}/tst/common/safety/tst.dirname.d \ + ${TESTSRCDIR}/tst/common/safety/tst.errno.d \ + ${TESTSRCDIR}/tst/common/safety/tst.execname.d \ + ${TESTSRCDIR}/tst/common/safety/tst.gid.d \ + ${TESTSRCDIR}/tst/common/safety/tst.hton.d \ + ${TESTSRCDIR}/tst/common/safety/tst.index.d \ + ${TESTSRCDIR}/tst/common/safety/tst.msgdsize.d \ + ${TESTSRCDIR}/tst/common/safety/tst.msgsize.d \ + ${TESTSRCDIR}/tst/common/safety/tst.null.d \ + ${TESTSRCDIR}/tst/common/safety/tst.pid.d \ + ${TESTSRCDIR}/tst/common/safety/tst.ppid.d \ + ${TESTSRCDIR}/tst/common/safety/tst.progenyof.d \ + ${TESTSRCDIR}/tst/common/safety/tst.random.d \ + ${TESTSRCDIR}/tst/common/safety/tst.rw.d \ + ${TESTSRCDIR}/tst/common/safety/tst.shortstr.d \ + ${TESTSRCDIR}/tst/common/safety/tst.stack.d \ + ${TESTSRCDIR}/tst/common/safety/tst.stackdepth.d \ + ${TESTSRCDIR}/tst/common/safety/tst.strchr.d \ + ${TESTSRCDIR}/tst/common/safety/tst.strjoin.d \ + ${TESTSRCDIR}/tst/common/safety/tst.strstr.d \ + ${TESTSRCDIR}/tst/common/safety/tst.strtok.d \ + ${TESTSRCDIR}/tst/common/safety/tst.substr.d \ + ${TESTSRCDIR}/tst/common/safety/tst.ucaller.d \ + ${TESTSRCDIR}/tst/common/safety/tst.uid.d \ + ${TESTSRCDIR}/tst/common/safety/tst.unalign.d \ + ${TESTSRCDIR}/tst/common/safety/tst.uregs.d \ + ${TESTSRCDIR}/tst/common/safety/tst.ustack.d \ + ${TESTSRCDIR}/tst/common/safety/tst.ustackdepth.d \ + ${TESTSRCDIR}/tst/common/safety/tst.vahole.d \ + ${TESTSRCDIR}/tst/common/safety/tst.violentdeath.ksh \ + ${TESTSRCDIR}/tst/common/safety/tst.zonename.d \ ${TESTSRCDIR}/tst/common/usdt/argmap.d \ ${TESTSRCDIR}/tst/common/usdt/args.d \ ${TESTSRCDIR}/tst/common/usdt/forker.d \ @@ -400,45 +383,51 @@ ${TESTSRCDIR}/tst/common/ustack/tst.bigstack.d \ ${TESTSRCDIR}/tst/common/ustack/tst.depth.ksh \ ${TESTSRCDIR}/tst/common/ustack/tst.spin.ksh \ - ${TESTSRCDIR}/tst/common/vars/tst.gid.d \ - ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \ - ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \ - ${TESTSRCDIR}/tst/common/vars/tst.uid.d \ - ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \ + +# -------------------------------------------------------------------------------- +# Tests that just don't complete (even to fail) at the moment... + +NOTWORK+= \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh \ + ${TESTSRCDIR}/tst/common/printa/tst.many.d \ + ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d \ # -------------------------------------------------------------------------------- # Tests that currently hang the system: -IGNORE+= \ +NOTWORK+= \ ${TESTSRCDIR}/tst/common/fbtprovider/tst.basic.d \ ${TESTSRCDIR}/tst/common/fbtprovider/tst.return.d \ ${TESTSRCDIR}/tst/common/grammar/tst.stmts.d \ ${TESTSRCDIR}/tst/common/misc/tst.enablerace.ksh \ - + ${TESTSRCDIR}/tst/common/predicates/tst.predcache.ksh \ + ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh \ # -------------------------------------------------------------------------------- # Interrupt priority isn't relevant on FreeBSD. -IGNORE+= ${TESTSRCDIR}/tst/common/builtinvar/tst.ipl.d \ +NOTWORK+= ${TESTSRCDIR}/tst/common/builtinvar/tst.ipl.d \ ${TESTSRCDIR}/tst/common/builtinvar/tst.ipl1.d # -------------------------------------------------------------------------------- # This test relies on the Solaris ping behaviour of exiting after a number of # pings. On FreeBSD ping doesn't do that. -IGNORE+= ${TESTSRCDIR}/tst/common/funcs/tst.system.d +NOTWORK+= ${TESTSRCDIR}/tst/common/funcs/tst.system.d # -------------------------------------------------------------------------------- # This test checks for a leading tab on a line before #define. That is illegal # on Solaris, but the gcc pre-processor on FreeBSD is happy with code like that. -IGNORE+= ${TESTSRCDIR}/tst/common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d +NOTWORK+= ${TESTSRCDIR}/tst/common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d # -------------------------------------------------------------------------------- # This test is coded to use Solaris syscall names. FreeBSD has none with 'lwp" # in them, so the test fails because of that. -IGNORE+= ${TESTSRCDIR}/tst/common/probes/tst.probestar.d +NOTWORK+= ${TESTSRCDIR}/tst/common/probes/tst.probestar.d + +NOTYET= ${IGNORE} ${NOTWORK} # -------------------------------------------------------------------------------- # Only prepare the test lists if we need to: @@ -470,9 +459,9 @@ ${_d}_TF= ${${_d}_ERR} ${${_d}_TST} ${${_d}_SHERR} ${${_d}_SHTST} # Go through the list of test files and prepare another list that contains -# none of the test files listed in the IGNORE list: +# none of the test files listed in the NOTYET list: .for _f in ${${_d}_TF} -.if (${IGNORE:M${_f}} == "") +.if (${NOTYET:M${_f}} == "") ${_d}_TFS+= ${_f} .endif .endfor @@ -493,7 +482,7 @@ # -------------------------------------------------------------------------------- # A target to build the tests flagged as not working yet: -notyet : +ignore : @${DTEST} ${IGNORE} .endif @@ -521,6 +510,7 @@ .BEGIN : @if ! kldstat -q -m dtrace_test; then kldload dtrace_test; fi + @sync; sync; sync; sync; sync .include From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:31:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C41516A469; Wed, 23 Jan 2008 21:31: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 C38BD16A419 for ; Wed, 23 Jan 2008 21:31:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7DE3313C4F0 for ; Wed, 23 Jan 2008 21:31:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0NLV3tC006267 for ; Wed, 23 Jan 2008 21:31:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NLV30s006264 for perforce@freebsd.org; Wed, 23 Jan 2008 21:31:03 GMT (envelope-from jb@freebsd.org) Date: Wed, 23 Jan 2008 21:31:03 GMT Message-Id: <200801232131.m0NLV30s006264@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 133949 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:31:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=133949 Change 133949 by jb@jb_freebsd1 on 2008/01/23 21:30:58 Further limit the amount of memory that we allocate in one chunk. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#21 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#21 (text) ==== @@ -10322,7 +10322,7 @@ * ask to malloc, so let's place a limit here before trying * to do something that might well end in tears at bedtime. */ - if (size > 32ULL * 1024 * 1024 * 1024) + if (size > physmem * PAGE_SIZE / (128 * (mp_maxid + 1))) return(ENOMEM); ASSERT(MUTEX_HELD(&dtrace_lock)); From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:40:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD0B316A41B; Wed, 23 Jan 2008 21:40: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 7A0B516A41A for ; Wed, 23 Jan 2008 21:40:13 +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 7773313C4E8 for ; Wed, 23 Jan 2008 21:40:13 +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 m0NLeDwa006680 for ; Wed, 23 Jan 2008 21:40:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NLeDk0006677 for perforce@freebsd.org; Wed, 23 Jan 2008 21:40:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 23 Jan 2008 21:40:13 GMT Message-Id: <200801232140.m0NLeDk0006677@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 133951 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:40:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=133951 Change 133951 by hselasky@hselasky_laptop001 on 2008/01/23 21:40:11 More advanced USB sysctls for USB device stress testing. The sysctls are only available when USB is compiled having USB_DEBUG defined. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#18 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_requests.c#18 (text+ko) ==== @@ -50,6 +50,16 @@ #include #include +#ifdef USB_DEBUG +static int usb_pr_poll_delay = USB_PORT_RESET_DELAY; +static int usb_pr_recovery_delay = USB_PORT_RESET_RECOVERY; + +SYSCTL_INT(_hw_usb, OID_AUTO, pr_poll_delay, CTLFLAG_RW, + &usb_pr_poll_delay, 0, "USB port reset poll delay in ms"); +SYSCTL_INT(_hw_usb, OID_AUTO, pr_recovery_delay, CTLFLAG_RW, + &usb_pr_recovery_delay, 0, "USB port reset recovery delay in ms"); +#endif + /*------------------------------------------------------------------------* * usbreq_reset_port *------------------------------------------------------------------------*/ @@ -58,16 +68,41 @@ { usb_port_status_t ps; usbd_status_t err; - uint8_t n; + uint16_t n; + +#ifdef USB_DEBUG + uint16_t pr_poll_delay; + uint16_t pr_recovery_delay; +#endif err = usbreq_set_port_feature(udev, mtx, port, UHF_PORT_RESET); if (err) { goto done; } - for (n = 12; n != 0; n--) { - +#ifdef USB_DEBUG + /* range check input parameters */ + pr_poll_delay = usb_pr_poll_delay; + if (pr_poll_delay < 1) { + pr_poll_delay = 1; + } else if (pr_poll_delay > 1000) { + pr_poll_delay = 1000; + } + pr_recovery_delay = usb_pr_recovery_delay; + if (pr_recovery_delay > 1000) { + pr_recovery_delay = 1000; + } +#endif + n = 0; + while (1) { +#ifdef USB_DEBUG + /* wait for the device to recover from reset */ + usbd_pause_mtx(mtx, pr_poll_delay); + n += pr_poll_delay; +#else /* wait for the device to recover from reset */ usbd_pause_mtx(mtx, USB_PORT_RESET_DELAY); + n += USB_PORT_RESET_DELAY; +#endif err = usbreq_get_port_status(udev, mtx, &ps, port); if (err) { goto done; @@ -80,6 +115,11 @@ if (UGETW(ps.wPortChange) & UPS_C_PORT_RESET) { break; } + /* check for timeout */ + if (n > 1000) { + n = 0; + break; + } } /* clear port reset first */ @@ -93,8 +133,14 @@ err = USBD_ERR_TIMEOUT; goto done; } +#ifdef USB_DEBUG + /* wait for the device to recover from reset */ + usbd_pause_mtx(mtx, pr_recovery_delay); +#else /* wait for the device to recover from reset */ usbd_pause_mtx(mtx, USB_PORT_RESET_RECOVERY); +#endif + done: PRINTFN(1, ("port %d reset returning error=%s\n", port, usbd_errstr(err))); From owner-p4-projects@FreeBSD.ORG Wed Jan 23 21:41:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EE2A16A474; Wed, 23 Jan 2008 21:41: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 D023B16A419 for ; Wed, 23 Jan 2008 21:41:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CDF4613C467 for ; Wed, 23 Jan 2008 21:41:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0NLfEYd006751 for ; Wed, 23 Jan 2008 21:41:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NLfEb0006748 for perforce@freebsd.org; Wed, 23 Jan 2008 21:41:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 23 Jan 2008 21:41:14 GMT Message-Id: <200801232141.m0NLfEb0006748@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 133953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 21:41:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=133953 Change 133953 by hselasky@hselasky_laptop001 on 2008/01/23 21:41:12 Specify delay unit in SYSCTL description. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#110 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#110 (text+ko) ==== @@ -3574,7 +3574,7 @@ static int usb_ss_delay = 0; SYSCTL_INT(_hw_usb, OID_AUTO, ss_delay, CTLFLAG_RW, - &usb_ss_delay, 0, "USB status stage delay"); + &usb_ss_delay, 0, "USB status stage delay in ms"); #endif /*------------------------------------------------------------------------* From owner-p4-projects@FreeBSD.ORG Wed Jan 23 22:16:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0031F16A468; Wed, 23 Jan 2008 22:16: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 BA14B16A420 for ; Wed, 23 Jan 2008 22:16:52 +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 B921F13C447 for ; Wed, 23 Jan 2008 22:16:52 +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 m0NMGqNx018097 for ; Wed, 23 Jan 2008 22:16:52 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NMGqp7018094 for perforce@freebsd.org; Wed, 23 Jan 2008 22:16:52 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 22:16:52 GMT Message-Id: <200801232216.m0NMGqp7018094@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 133954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 22:16:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=133954 Change 133954 by imp@imp_paco-paco on 2008/01/23 22:16:41 Introduce new ISA_MIPSxx directives for the ISA we're building against. This is similar to the CPU_ directives, but specifically orthagonal. I used the netbsd convention of 'opt_cputype.h' for these options, although the names differ from NetBSD... This is an area of evolving thought: so it may change. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/conf/options.mips#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/conf/options.mips#3 (text+ko) ==== @@ -6,6 +6,13 @@ CPU_NOFPU opt_global.h CPU_SENTRY5 opt_global.h +ISA_MIPS1 opt_cputype.h +ISA_MIPS3 opt_cputype.h +ISA_MIPS32 opt_cputype.h +ISA_MIPS32v2 opt_cputype.h +ISA_MIPS64 opt_cputype.h +ISA_MIPS64v2 opt_cputype.h + YAMON opt_global.h CFE opt_global.h CFE_CONSOLE opt_global.h From owner-p4-projects@FreeBSD.ORG Wed Jan 23 22:18:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8113016A474; Wed, 23 Jan 2008 22:18: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 4579016A469 for ; Wed, 23 Jan 2008 22:18:55 +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 432A413C468 for ; Wed, 23 Jan 2008 22:18:55 +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 m0NMItV4019673 for ; Wed, 23 Jan 2008 22:18:55 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NMIs0B019660 for perforce@freebsd.org; Wed, 23 Jan 2008 22:18:54 GMT (envelope-from jb@freebsd.org) Date: Wed, 23 Jan 2008 22:18:54 GMT Message-Id: <200801232218.m0NMIs0B019660@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 133955 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 22:18:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=133955 Change 133955 by jb@jb_freebsd1 on 2008/01/23 22:18:07 Enable all the speculation tests. They seem to work. The total is 727 now. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#15 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#15 (text+ko) ==== @@ -154,26 +154,14 @@ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.func.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.mod.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.sym.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.ufunc.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.umod.ksh \ - ${TESTSRCDIR}/tst/common/profile-n/tst.usym.ksh \ ${TESTSRCDIR}/tst/common/raise/tst.raise1.d \ ${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ ${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ ${TESTSRCDIR}/tst/common/rates/tst.aggrate.d \ ${TESTSRCDIR}/tst/common/rates/tst.statusrate.d \ ${TESTSRCDIR}/tst/common/rates/tst.switchrate.d \ - ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d \ - ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ ${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \ - ${TESTSRCDIR}/tst/common/sched/tst.enqueue.d \ - ${TESTSRCDIR}/tst/common/sched/tst.oncpu.d \ - ${TESTSRCDIR}/tst/common/sched/tst.stackdepth.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_OP_LVAL.rdonly.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d \ @@ -202,8 +190,6 @@ ${TESTSRCDIR}/tst/common/scripting/tst.trace.d \ ${TESTSRCDIR}/tst/common/scripting/tst.uid.d \ ${TESTSRCDIR}/tst/common/speculation/bug.1001148.SpecSizeVariations.d \ - ${TESTSRCDIR}/tst/common/speculation/err.BufSizeVariations1.d \ - ${TESTSRCDIR}/tst/common/speculation/err.BufSizeVariations2.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithChill.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOut.d \ @@ -211,54 +197,6 @@ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_COMM.AggAftCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithAvg.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithCount.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithLquant.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMax.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMin.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithQuant.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithSum.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_COMM_COMM.CommitAftCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_COMM_COMM.DisjointCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_COMM_DREC.CommitAftDataRec.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_DREC_COMM.DataRecAftCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_DREC_COMM.ExitAfterCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_EXIT_SPEC.ExitAftSpec.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_PRAGMA_MALFORM.NspecExpr.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_PRAGMA_OPTSET.HugeNspecValue.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_PRAGMA_OPTSET.InvalidSpecSize.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_PRAGMA_OPTSET.NegSpecSize.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_PROTO_LEN.SpecNoId.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_SPEC_COMM.SpecAftCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_SPEC_DREC.SpecAftDataRec.d \ - ${TESTSRCDIR}/tst/common/speculation/err.D_SPEC_SPEC.SpecAftSpec.d \ - ${TESTSRCDIR}/tst/common/speculation/err.NegativeBufSize.d \ - ${TESTSRCDIR}/tst/common/speculation/err.NegativeNspec.d \ - ${TESTSRCDIR}/tst/common/speculation/err.NegativeSpecSize.d \ - ${TESTSRCDIR}/tst/common/speculation/err.SpecSizeVariations1.d \ - ${TESTSRCDIR}/tst/common/speculation/err.SpecSizeVariations2.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.CommitAfterDiscard.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.CommitWithZero.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.DataRecAftDiscard.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.DiscardAftCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.DiscardAftDataRec.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.DiscardAftDiscard.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.DiscardWithZero.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.ExitAftDiscard.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.NoSpecBuffer.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpecSizeVariations1.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpecSizeVariations2.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpecSizeVariations3.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpeculateWithRandom.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpeculationCommit.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpeculationDiscard.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpeculationID.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.SpeculationWithZero.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.TwoSpecBuffers.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.negcommit.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.negspec.d \ - ${TESTSRCDIR}/tst/common/speculation/tst.zerosize.d \ ${TESTSRCDIR}/tst/common/stability/err.D_ATTR_MIN.MinAttributes.d \ ${TESTSRCDIR}/tst/common/stack/err.D_STACK_PROTO.bad.d \ ${TESTSRCDIR}/tst/common/stack/err.D_STACK_SIZE.d \ @@ -315,6 +253,13 @@ ${TESTSRCDIR}/tst/common/mib/tst.icmp.ksh \ ${TESTSRCDIR}/tst/common/mib/tst.tcp.ksh \ ${TESTSRCDIR}/tst/common/mib/tst.udp.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.func.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.mod.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.sym.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.ufunc.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.umod.ksh \ + ${TESTSRCDIR}/tst/common/profile-n/tst.usym.ksh \ ${TESTSRCDIR}/tst/common/safety/tst.basename.d \ ${TESTSRCDIR}/tst/common/safety/tst.caller.d \ ${TESTSRCDIR}/tst/common/safety/tst.cleanpath.d \ @@ -352,6 +297,9 @@ ${TESTSRCDIR}/tst/common/safety/tst.vahole.d \ ${TESTSRCDIR}/tst/common/safety/tst.violentdeath.ksh \ ${TESTSRCDIR}/tst/common/safety/tst.zonename.d \ + ${TESTSRCDIR}/tst/common/sched/tst.enqueue.d \ + ${TESTSRCDIR}/tst/common/sched/tst.oncpu.d \ + ${TESTSRCDIR}/tst/common/sched/tst.stackdepth.d \ ${TESTSRCDIR}/tst/common/usdt/argmap.d \ ${TESTSRCDIR}/tst/common/usdt/args.d \ ${TESTSRCDIR}/tst/common/usdt/forker.d \ @@ -391,6 +339,8 @@ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh \ ${TESTSRCDIR}/tst/common/printa/tst.many.d \ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d \ + ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d \ + ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d \ # -------------------------------------------------------------------------------- # Tests that currently hang the system: From owner-p4-projects@FreeBSD.ORG Wed Jan 23 22:28:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8983416A419; Wed, 23 Jan 2008 22:28: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 4EA1F16A417 for ; Wed, 23 Jan 2008 22:28:05 +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 357FE13C4EF for ; Wed, 23 Jan 2008 22:28:05 +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 m0NMS4g0022073 for ; Wed, 23 Jan 2008 22:28:04 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NMS47E022070 for perforce@freebsd.org; Wed, 23 Jan 2008 22:28:04 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 22:28:04 GMT Message-Id: <200801232228.m0NMS47E022070@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 133956 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 22:28:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=133956 Change 133956 by imp@imp_paco-paco on 2008/01/23 22:27:53 define ISA_MIPS32 for the malta board. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/std.malta#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/std.malta#3 (text+ko) ==== @@ -1,7 +1,8 @@ # $FreeBSD$ files "../mips32/malta/files.malta" -cpu CPU_MIPS4KC -device pci -device ata -device atadisk +cpu CPU_MIPS4KC +options ISA_MIPS32 +device pci +device ata +device atadisk From owner-p4-projects@FreeBSD.ORG Wed Jan 23 22:36:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBF9416A41B; Wed, 23 Jan 2008 22:36: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 90F2D16A420 for ; Wed, 23 Jan 2008 22:36:13 +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 780CC13C4EE for ; Wed, 23 Jan 2008 22:36:13 +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 m0NMaD0l022406 for ; Wed, 23 Jan 2008 22:36:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NMaDfq022403 for perforce@freebsd.org; Wed, 23 Jan 2008 22:36:13 GMT (envelope-from jb@freebsd.org) Date: Wed, 23 Jan 2008 22:36:13 GMT Message-Id: <200801232236.m0NMaDfq022403@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 133957 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 22:36:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=133957 Change 133957 by jb@jb_freebsd1 on 2008/01/23 22:35:24 Use the thread-specific error returned by the last syscall. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#22 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#22 (text) ==== @@ -3006,7 +3006,7 @@ return ((uint64_t)lwp->lwp_errno); #else - return (0); + return (curthread->td_errno); #endif } default: From owner-p4-projects@FreeBSD.ORG Wed Jan 23 22:54:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B51BA16A468; Wed, 23 Jan 2008 22:54: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 6220416A417 for ; Wed, 23 Jan 2008 22:54:33 +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 5FFB313C4DB for ; Wed, 23 Jan 2008 22:54:33 +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 m0NMsXgh023749 for ; Wed, 23 Jan 2008 22:54:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NMsXfQ023746 for perforce@freebsd.org; Wed, 23 Jan 2008 22:54:33 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 22:54:33 GMT Message-Id: <200801232254.m0NMsXfQ023746@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 133959 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 22:54:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=133959 Change 133959 by imp@imp_paco-paco on 2008/01/23 22:53:42 Convert tlb.S over to new school. Chances are these macros would be useful to have in a header file... Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#4 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb32.S#3 delete Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tlb.S#4 (text+ko) ==== @@ -55,6 +55,8 @@ * assembly language support routines. */ +#include "opt_cputype.h" + #include #include #include @@ -63,8 +65,37 @@ #include "assym.s" +#if defined(ISA_MIPS32) +#undef WITH_64BIT_CP0 +#elif defined(ISA_MIPS64) +#define WITH_64BIT_CP0 +#elif defined(ISA_MIPS3) +#define WITH_64BIT_CP0 +#else +#error "Please write the code for this ISA" +#endif + +#ifdef WITH_64BIT_CP0 +#define _SLL dsll +#define _SRL dsrl +#define _MFC0 dmfc0 +#define _MTC0 dmtc0 +#define WIRED_SHIFT 34 +#else +#define _SLL sll +#define _SRL srl +#define _MFC0 mfc0 +#define _MTC0 mtc0 +#define WIRED_SHIFT 2 +#endif .set noreorder # Noreorder is default style! +#if defined(ISA_MIPS32) + .set mips32 +#elif defined(ISA_MIPS64) + .set mips64 +#elif defined(ISA_MIPS3) .set mips3 +#endif #define ITLBNOPFIX nop;nop;nop;nop;nop;nop;nop;nop;nop;nop; @@ -94,22 +125,22 @@ ITLBNOPFIX lw a2, 8(a1) lw a3, 12(a1) - dmfc0 t0, COP_0_TLB_HI # Save the current PID. + _MFC0 t0, COP_0_TLB_HI # Save the current PID. - dmtc0 a2, COP_0_TLB_LO0 # Set up entry low0. - dmtc0 a3, COP_0_TLB_LO1 # Set up entry low1. + _MTC0 a2, COP_0_TLB_LO0 # Set up entry low0. + _MTC0 a3, COP_0_TLB_LO1 # Set up entry low1. lw a2, 0(a1) lw a3, 4(a1) mtc0 a0, COP_0_TLB_INDEX # Set the index. - dmtc0 a2, COP_0_TLB_PG_MASK # Set up entry mask. - dmtc0 a3, COP_0_TLB_HI # Set up entry high. + _MTC0 a2, COP_0_TLB_PG_MASK # Set up entry mask. + _MTC0 a3, COP_0_TLB_HI # Set up entry high. MIPS_CPU_NOP_DELAY tlbwi # Write the TLB MIPS_CPU_NOP_DELAY - dmtc0 t0, COP_0_TLB_HI # Restore the PID. + _MTC0 t0, COP_0_TLB_HI # Restore the PID. nop - dmtc0 zero, COP_0_TLB_PG_MASK # Default mask value. + _MTC0 zero, COP_0_TLB_PG_MASK # Default mask value. mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -131,7 +162,7 @@ *-------------------------------------------------------------------------- */ LEAF(Mips_SetPID) - dmtc0 a0, COP_0_TLB_HI # Write the hi reg value + _MTC0 a0, COP_0_TLB_HI # Write the hi reg value nop # required for QED5230 nop # required for QED5230 j ra @@ -200,11 +231,11 @@ ITLBNOPFIX mfc0 t1, COP_0_TLB_WIRED li v0, MIPS_KSEG0_START # invalid address - dmfc0 t0, COP_0_TLB_HI # Save the PID + _MFC0 t0, COP_0_TLB_HI # Save the PID - dmtc0 v0, COP_0_TLB_HI # Mark entry high as invalid - dmtc0 zero, COP_0_TLB_LO0 # Zero out low entry0. - dmtc0 zero, COP_0_TLB_LO1 # Zero out low entry1. + _MTC0 v0, COP_0_TLB_HI # Mark entry high as invalid + _MTC0 zero, COP_0_TLB_LO0 # Zero out low entry0. + _MTC0 zero, COP_0_TLB_LO1 # Zero out low entry1. mtc0 zero, COP_0_TLB_PG_MASK # Zero out mask entry. /* * Align the starting value (t1) and the upper bound (a0). @@ -218,7 +249,7 @@ bne t1, a0, 1b nop - dmtc0 t0, COP_0_TLB_HI # Restore the PID + _MTC0 t0, COP_0_TLB_HI # Restore the PID mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -246,9 +277,9 @@ ITLBNOPFIX li v0, (PG_HVPN | PG_ASID) and a0, a0, v0 # Make shure valid hi value. - dmfc0 t0, COP_0_TLB_HI # Get current PID + _MFC0 t0, COP_0_TLB_HI # Get current PID mfc0 t3, COP_0_TLB_PG_MASK # Save current pgMask - dmtc0 a0, COP_0_TLB_HI # look for addr & PID + _MTC0 a0, COP_0_TLB_HI # look for addr & PID MIPS_CPU_NOP_DELAY tlbp # Probe for the entry. MIPS_CPU_NOP_DELAY @@ -256,15 +287,15 @@ li t1, MIPS_KSEG0_START # Load invalid entry. bltz v0, 1f # index < 0 => !found nop - dmtc0 t1, COP_0_TLB_HI # Mark entry high as invalid + _MTC0 t1, COP_0_TLB_HI # Mark entry high as invalid - dmtc0 zero, COP_0_TLB_LO0 # Zero out low entry. - dmtc0 zero, COP_0_TLB_LO1 # Zero out low entry. + _MTC0 zero, COP_0_TLB_LO0 # Zero out low entry. + _MTC0 zero, COP_0_TLB_LO1 # Zero out low entry. MIPS_CPU_NOP_DELAY tlbwi MIPS_CPU_NOP_DELAY 1: - dmtc0 t0, COP_0_TLB_HI # restore PID + _MTC0 t0, COP_0_TLB_HI # restore PID mtc0 t3, COP_0_TLB_PG_MASK # Restore pgMask mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX @@ -293,13 +324,13 @@ and t1, a0, 0x1000 # t1 = Even/Odd flag li v0, (PG_HVPN | PG_ASID) and a0, a0, v0 - dmfc0 t0, COP_0_TLB_HI # Save current PID - dmtc0 a0, COP_0_TLB_HI # Init high reg + _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 MIPS_CPU_NOP_DELAY tlbp # Probe for the entry. - dsll a1, a1, 34 - dsrl a1, a1, 34 + _SLL a1, a1, WIRED_SHIFT + _SRL a1, a1, WIRED_SHIFT nop mfc0 v0, COP_0_TLB_INDEX # See what we got bne t1, zero, 2f # Decide even odd @@ -310,16 +341,16 @@ tlbr # update, read entry first MIPS_CPU_NOP_DELAY - dmtc0 a1, COP_0_TLB_LO0 # init low reg0. + _MTC0 a1, COP_0_TLB_LO0 # init low reg0. MIPS_CPU_NOP_DELAY tlbwi # update slot found b 4f nop 1: mtc0 zero, COP_0_TLB_PG_MASK # init mask. - dmtc0 a0, COP_0_TLB_HI # init high reg. - dmtc0 a1, COP_0_TLB_LO0 # init low reg0. - dmtc0 a2, COP_0_TLB_LO1 # init low reg1. + _MTC0 a0, COP_0_TLB_HI # init high reg. + _MTC0 a1, COP_0_TLB_LO0 # init low reg0. + _MTC0 a2, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwr # enter into a random slot MIPS_CPU_NOP_DELAY @@ -333,7 +364,7 @@ tlbr # read the entry first MIPS_CPU_NOP_DELAY - dmtc0 a1, COP_0_TLB_LO1 # init low reg1. + _MTC0 a1, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwi # update slot found MIPS_CPU_NOP_DELAY @@ -341,15 +372,15 @@ nop 3: mtc0 zero, COP_0_TLB_PG_MASK # init mask. - dmtc0 a0, COP_0_TLB_HI # init high reg. - dmtc0 a2, COP_0_TLB_LO0 # init low reg0. - dmtc0 a1, COP_0_TLB_LO1 # init low reg1. + _MTC0 a0, COP_0_TLB_HI # init high reg. + _MTC0 a2, COP_0_TLB_LO0 # init low reg0. + _MTC0 a1, COP_0_TLB_LO1 # init low reg1. MIPS_CPU_NOP_DELAY tlbwr # enter into a random slot 4: # Make shure pipeline MIPS_CPU_NOP_DELAY - dmtc0 t0, COP_0_TLB_HI # restore PID + _MTC0 t0, COP_0_TLB_HI # restore PID mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX j ra @@ -374,17 +405,17 @@ mfc0 v1, COP_0_STATUS_REG # Save the status register. mtc0 zero, COP_0_STATUS_REG # Disable interrupts ITLBNOPFIX - dmfc0 t0, COP_0_TLB_HI # Get current PID + _MFC0 t0, COP_0_TLB_HI # Get current PID mtc0 a0, COP_0_TLB_INDEX # Set the index register MIPS_CPU_NOP_DELAY tlbr # Read from the TLB MIPS_CPU_NOP_DELAY mfc0 t2, COP_0_TLB_PG_MASK # fetch the hi entry - dmfc0 t3, COP_0_TLB_HI # fetch the hi entry - dmfc0 t4, COP_0_TLB_LO0 # See what we got - dmfc0 t5, COP_0_TLB_LO1 # See what we got - dmtc0 t0, COP_0_TLB_HI # restore PID + _MFC0 t3, COP_0_TLB_HI # fetch the hi entry + _MFC0 t4, COP_0_TLB_LO0 # See what we got + _MFC0 t5, COP_0_TLB_LO1 # See what we got + _MTC0 t0, COP_0_TLB_HI # restore PID MIPS_CPU_NOP_DELAY mtc0 v1, COP_0_STATUS_REG # Restore the status register ITLBNOPFIX @@ -408,7 +439,7 @@ *-------------------------------------------------------------------------- */ LEAF(Mips_TLBGetPID) - dmfc0 v0, COP_0_TLB_HI # get PID + _MFC0 v0, COP_0_TLB_HI # get PID j ra and v0, v0, VMTLB_PID # mask off PID END(Mips_TLBGetPID) @@ -428,7 +459,7 @@ mfc0 v1, COP_0_STATUS_REG # save status register mtc0 zero, COP_0_STATUS_REG # disable interrupts - dmfc0 t4, COP_0_TLB_HI # Get current PID + _MFC0 t4, COP_0_TLB_HI # Get current PID move t2, a0 mfc0 t1, COP_0_TLB_WIRED li v0, MIPS_KSEG0_START # invalid address @@ -440,14 +471,14 @@ MIPS_CPU_NOP_DELAY tlbr # obtain an entry MIPS_CPU_NOP_DELAY - dmfc0 a0, COP_0_TLB_LO1 + _MFC0 a0, COP_0_TLB_LO1 and a0, a0, PG_G # check to see it has G bit bnez a0, 2f nop - dmtc0 v0, COP_0_TLB_HI # make entryHi invalid - dmtc0 zero, COP_0_TLB_LO0 # zero out entryLo0 - dmtc0 zero, COP_0_TLB_LO1 # zero out entryLo1 + _MTC0 v0, COP_0_TLB_HI # make entryHi invalid + _MTC0 zero, COP_0_TLB_LO0 # zero out entryLo0 + _MTC0 zero, COP_0_TLB_LO1 # zero out entryLo1 mtc0 zero, COP_0_TLB_PG_MASK # zero out mask entry MIPS_CPU_NOP_DELAY tlbwi # invalidate the TLB entry @@ -456,7 +487,7 @@ bne t1, t2, 1b nop - dmtc0 t4, COP_0_TLB_HI # restore PID + _MTC0 t4, COP_0_TLB_HI # restore PID mtc0 t3, COP_0_TLB_PG_MASK # restore pgMask MIPS_CPU_NOP_DELAY mtc0 v1, COP_0_STATUS_REG # restore status register From owner-p4-projects@FreeBSD.ORG Wed Jan 23 23:08:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A188E16A468; Wed, 23 Jan 2008 23:08: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 4E25516A41B; Wed, 23 Jan 2008 23:08:21 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by mx1.freebsd.org (Postfix) with ESMTP id B975613C447; Wed, 23 Jan 2008 23:08:20 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from peter-grehans-power-mac-g5.local (dsl-63-249-90-35.cruzio.com [63.249.90.35]) by dommail.onthenet.com.au (MOS 3.7.5a-GA) with ESMTP id DMQ51800 (AUTH peterg@ptree32.com.au); Thu, 24 Jan 2008 09:08:18 +1000 (EST) Message-ID: <4797C8E0.4070100@freebsd.org> Date: Wed, 23 Jan 2008 15:08:16 -0800 From: Peter Grehan User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Marcel Moolenaar References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> In-Reply-To: <200801230414.m0N4E4ng009323@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: grehan@freebsd.org List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2008 23:08:22 -0000 > Import NetBSD's FPU emulator for PowerPC. This allows > us to use a single userland for both cores with FPU > and cores without FPU The crowd goes wild ! Well, at least me :) later, Peter. From owner-p4-projects@FreeBSD.ORG Wed Jan 23 23:16:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B2C916A421; Wed, 23 Jan 2008 23:16: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 B7E4416A41B for ; Wed, 23 Jan 2008 23:16:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B777813C448 for ; Wed, 23 Jan 2008 23:16:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0NNGuv2026633 for ; Wed, 23 Jan 2008 23:16:56 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NNGuA6026630 for perforce@freebsd.org; Wed, 23 Jan 2008 23:16:56 GMT (envelope-from jb@freebsd.org) Date: Wed, 23 Jan 2008 23:16:56 GMT Message-Id: <200801232316.m0NNGuA6026630@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 133960 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 23:16:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=133960 Change 133960 by jb@jb_freebsd1 on 2008/01/23 23:16:36 752 now. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#16 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#16 (text+ko) ==== @@ -158,8 +158,6 @@ ${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ ${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ ${TESTSRCDIR}/tst/common/rates/tst.aggrate.d \ - ${TESTSRCDIR}/tst/common/rates/tst.statusrate.d \ - ${TESTSRCDIR}/tst/common/rates/tst.switchrate.d \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ ${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d \ @@ -169,27 +167,11 @@ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.desc.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.inval.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.pid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.arg0.d \ ${TESTSRCDIR}/tst/common/scripting/tst.arguments.ksh \ - ${TESTSRCDIR}/tst/common/scripting/tst.assign.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.basic.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.egid.d \ ${TESTSRCDIR}/tst/common/scripting/tst.egid.ksh \ - ${TESTSRCDIR}/tst/common/scripting/tst.euid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.gid.d \ ${TESTSRCDIR}/tst/common/scripting/tst.gid.ksh \ - ${TESTSRCDIR}/tst/common/scripting/tst.pgid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.pid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.ppid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.projid.d \ ${TESTSRCDIR}/tst/common/scripting/tst.projid.ksh \ - ${TESTSRCDIR}/tst/common/scripting/tst.quite.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.sid.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.taskid.d \ ${TESTSRCDIR}/tst/common/scripting/tst.taskid.ksh \ - ${TESTSRCDIR}/tst/common/scripting/tst.trace.d \ - ${TESTSRCDIR}/tst/common/scripting/tst.uid.d \ - ${TESTSRCDIR}/tst/common/speculation/bug.1001148.SpecSizeVariations.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithChill.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOut.d \ @@ -197,7 +179,6 @@ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d \ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d \ - ${TESTSRCDIR}/tst/common/stability/err.D_ATTR_MIN.MinAttributes.d \ ${TESTSRCDIR}/tst/common/stack/err.D_STACK_PROTO.bad.d \ ${TESTSRCDIR}/tst/common/stack/err.D_STACK_SIZE.d \ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_FRAMES.bad.d \ @@ -212,24 +193,15 @@ ${TESTSRCDIR}/tst/common/sysevent/tst.post.d \ ${TESTSRCDIR}/tst/common/sysevent/tst.post_chan.d \ ${TESTSRCDIR}/tst/common/trace/tst.misc.d \ - ${TESTSRCDIR}/tst/common/tracemem/err.D_PROTO_ARG.badsize.d \ - ${TESTSRCDIR}/tst/common/tracemem/err.D_PROTO_LEN.toofew.d \ - ${TESTSRCDIR}/tst/common/tracemem/err.D_PROTO_LEN.toomany.d \ ${TESTSRCDIR}/tst/common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d \ - ${TESTSRCDIR}/tst/common/tracemem/err.D_TRACEMEM_SIZE.negsize.d \ - ${TESTSRCDIR}/tst/common/tracemem/err.D_TRACEMEM_SIZE.zerosize.d \ ${TESTSRCDIR}/tst/common/tracemem/tst.rootvp.d \ ${TESTSRCDIR}/tst/common/translators/tst.ProcModelTrans.d \ - ${TESTSRCDIR}/tst/common/types/err.D_CG_DYN.ResultDynType.d \ ${TESTSRCDIR}/tst/common/types/err.D_XLATE_REDECL.ResultDynType.d \ - ${TESTSRCDIR}/tst/common/types/tst.complex.d \ ${TESTSRCDIR}/tst/common/types/tst.ptrops.d \ ${TESTSRCDIR}/tst/common/types/tst.struct.d \ ${TESTSRCDIR}/tst/common/types/tst.typedef.d \ - ${TESTSRCDIR}/tst/common/vars/tst.gid.d \ ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \ ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \ - ${TESTSRCDIR}/tst/common/vars/tst.uid.d \ ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \ NOTWORK+= \ @@ -341,6 +313,8 @@ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d \ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d \ ${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d \ + ${TESTSRCDIR}/tst/common/vars/tst.gid.d \ + ${TESTSRCDIR}/tst/common/vars/tst.uid.d \ # -------------------------------------------------------------------------------- # Tests that currently hang the system: From owner-p4-projects@FreeBSD.ORG Wed Jan 23 23:24:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC60C16A418; Wed, 23 Jan 2008 23:24: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 41A2F16A420 for ; Wed, 23 Jan 2008 23:24:04 +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 40A0513C474 for ; Wed, 23 Jan 2008 23:24:04 +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 m0NNO4MT027169 for ; Wed, 23 Jan 2008 23:24:04 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NNO3ta027166 for perforce@freebsd.org; Wed, 23 Jan 2008 23:24:03 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 23:24:03 GMT Message-Id: <200801232324.m0NNO3ta027166@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 133961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 23:24:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=133961 Change 133961 by imp@imp_paco-paco on 2008/01/23 23:23:16 Convert exception.S to new world order. Note in passing the need for some of this stuff to be common. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#6 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#6 (text+ko) ==== @@ -54,6 +54,7 @@ * assembly language support routines. */ +#include "opt_cputype.h" #include "opt_ddb.h" #include #include @@ -62,8 +63,35 @@ #include "assym.s" - .set noreorder # Noreorder is default style! -#ifndef _MIPS_ARCH_MIPS64 +#if defined(ISA_MIPS32) +#undef WITH_64BIT_CP0 +#elif defined(ISA_MIPS64) +#define WITH_64BIT_CP0 +#elif defined(ISA_MIPS3) +#define WITH_64BIT_CP0 +#else +#error "Please write the code for this ISA" +#endif + +#ifdef WITH_64BIT_CP0 +#define _SLL dsll +#define _SRL dsrl +#define _MFC0 dmfc0 +#define _MTC0 dmtc0 +#define WIRED_SHIFT 34 +#else +#define _SLL sll +#define _SRL srl +#define _MFC0 mfc0 +#define _MTC0 mtc0 +#define WIRED_SHIFT 2 +#endif + .set noreorder # Noreorder is default style! +#if defined(ISA_MIPS32) + .set mips32 +#elif defined(ISA_MIPS64) + .set mips64 +#elif defined(ISA_MIPS3) .set mips3 #endif @@ -136,12 +164,12 @@ addu k1, k1, k0 #0d: k1=pte address lw k0, 0(k1) #0e: k0=lo0 pte lw k1, 4(k1) #0f: k1=lo1 pte - dsll k0, k0, 34 #10: chop top 34 bits (part 1a) - dsrl k0, k0, 34 #11: chop top 34 bits (part 1b) - dmtc0 k0, COP_0_TLB_LO0 #12: lo0 is loaded - dsll k1, k1, 34 #13: chop top 34 bits (part 2a) - dsrl k1, k1, 34 #14: chop top 34 bits (part 2b) - dmtc0 k1, COP_0_TLB_LO1 #15: lo1 is loaded + _SLL k0, k0, WIRED_SHIFT #10: keep bottom 30 bits + _SRL k0, k0, WIRED_SHIFT #11: keep bottom 30 bits + _MTC0 k0, COP_0_TLB_LO0 #12: lo0 is loaded + _SLL k1, k1, WIRED_SHIFT #13: keep bottom 30 bits + _SRL k1, k1, WIRED_SHIFT #14: keep bottom 30 bits + _MTC0 k1, COP_0_TLB_LO1 #15: lo1 is loaded HAZARD_DELAY tlbwr #1a: write to tlb HAZARD_DELAY @@ -292,7 +320,7 @@ mtc0 a0, COP_0_STATUS_REG ;\ mtlo t0 ;\ mthi t1 ;\ - dmtc0 v0, COP_0_EXC_PC ;\ + _MTC0 v0, COP_0_EXC_PC ;\ RESTORE_REG(AT, AST, sp) ;\ RESTORE_REG(v0, V0, sp) ;\ RESTORE_REG(v1, V1, sp) ;\ @@ -378,6 +406,7 @@ GET_CPU_PCPU(k1) lw k1, PC_CURPCB(k1) SAVE_U_PCB_REG(AT, AST, k1) + .set at SAVE_U_PCB_REG(v0, V0, k1) SAVE_U_PCB_REG(v1, V1, k1) SAVE_U_PCB_REG(a0, A0, k1) @@ -452,9 +481,10 @@ mtlo t0 mthi t1 RESTORE_U_PCB_REG(a0, PC, a1) + .set noat RESTORE_U_PCB_REG(AT, AST, a1) RESTORE_U_PCB_REG(v0, V0, a1) - dmtc0 a0, COP_0_EXC_PC # set return address + _MTC0 a0, COP_0_EXC_PC # set return address /* * The use of k1 for storing the PCB pointer must be done only @@ -694,7 +724,7 @@ RESTORE_U_PCB_REG(t2, PC, a1) mtlo t0 mthi t1 - dmtc0 t2, COP_0_EXC_PC # set return address + _MTC0 t2, COP_0_EXC_PC # set return address /* * The use of k1 to store the PCB pointer must be done only @@ -820,16 +850,16 @@ bne k0, zero, sys_stk_chk lw k0, 0(k1) # get PTE entry - dsll k0, k0, 34 # get rid of "wired" bit - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO0 # load PTE entry + _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 nop # required for QED5230 beq k0, zero, _C_LABEL(MipsKernGenException) # PTE invalid lw k0, 4(k1) # get odd PTE entry - dsll k0, k0, 34 - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO1 # load PTE entry + _SLL k0, k0, WIRED_SHIFT + _SRL k0, k0, WIRED_SHIFT + _MTC0 k0, COP_0_TLB_LO1 # load PTE entry HAZARD_DELAY tlbwi # write TLB HAZARD_DELAY @@ -844,16 +874,16 @@ bne k0, zero, sys_stk_chk lw k0, 0(k1) # get PTE entry - dsll k0, k0, 34 # get rid of wired bit - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO1 # save PTE entry + _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 nop # required for QED5230 beq k0, zero, _C_LABEL(MipsKernGenException) # PTE invalid lw k0, -4(k1) # get even PTE entry - dsll k0, k0, 34 - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO0 # save PTE entry + _SLL k0, k0, WIRED_SHIFT + _SRL k0, k0, WIRED_SHIFT + _MTC0 k0, COP_0_TLB_LO0 # save PTE entry HAZARD_DELAY tlbwi # update TLB HAZARD_DELAY @@ -904,16 +934,16 @@ bne k0, zero, _C_LABEL(MipsUserGenException) lw k0, 0(k1) # get PTE entry - dsll k0, k0, 34 # get rid of "wired" bit - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO0 # load PTE entry + _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 nop # required for QED5230 beq k0, zero, _C_LABEL(MipsUserGenException) # PTE invalid lw k0, 4(k1) # get odd PTE entry - dsll k0, k0, 34 - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO1 # load PTE entry + _SLL k0, k0, WIRED_SHIFT + _SRL k0, k0, WIRED_SHIFT + _MTC0 k0, COP_0_TLB_LO1 # load PTE entry HAZARD_DELAY tlbwi # write TLB HAZARD_DELAY @@ -928,16 +958,16 @@ bne k0, zero, _C_LABEL(MipsUserGenException) lw k0, 0(k1) # get PTE entry - dsll k0, k0, 34 # get rid of wired bit - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO1 # save PTE entry + _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 nop # required for QED5230 beq k0, zero, _C_LABEL(MipsUserGenException) # PTE invalid lw k0, -4(k1) # get even PTE entry - dsll k0, k0, 34 - dsrl k0, k0, 34 - dmtc0 k0, COP_0_TLB_LO0 # save PTE entry + _SLL k0, k0, WIRED_SHIFT + _SRL k0, k0, WIRED_SHIFT + _MTC0 k0, COP_0_TLB_LO0 # save PTE entry HAZARD_DELAY tlbwi # update TLB HAZARD_DELAY @@ -982,12 +1012,12 @@ addu k1, k1, k0 # k1=pte address lw k0, 0(k1) # k0=lo0 pte lw k1, 4(k1) # k1=lo1 pte - dsll k0, 34 # chop bits [31..30] - dsrl k0, 34 # chop bits [31..30] - dmtc0 k0, COP_0_TLB_LO0 # lo0 is loaded - dsll k1, 34 # chop bits [31..30] - dsrl k1, 34 # chop bits [31..30] - dmtc0 k1, COP_0_TLB_LO1 # lo1 is loaded + _SLL k0, WIRED_SHIFT # chop bits [31..30] + _SRL k0, WIRED_SHIFT # chop bits [31..30] + _MTC0 k0, COP_0_TLB_LO0 # lo0 is loaded + _SLL k1, WIRED_SHIFT # chop bits [31..30] + _SRL k1, WIRED_SHIFT # chop bits [31..30] + _MTC0 k1, COP_0_TLB_LO1 # lo1 is loaded HAZARD_DELAY tlbwr # write to tlb @@ -1009,7 +1039,7 @@ la a0, 1f mfc0 a2, COP_0_STATUS_REG mfc0 a3, COP_0_CAUSE_REG - dmfc0 a1, COP_0_EXC_PC + _MFC0 a1, COP_0_EXC_PC sw a2, 16(sp) sw a3, 20(sp) move a2, ra @@ -1235,10 +1265,10 @@ .mask 0x80000000, -4 la k0, _C_LABEL(panic) # return to panic la a0, 9f # panicstr - dmfc0 a1, COP_0_ERROR_PC + _MFC0 a1, COP_0_ERROR_PC mfc0 a2, COP_0_CACHE_ERR # 3rd arg cache error - dmtc0 k0, COP_0_ERROR_PC # set return address + _MTC0 k0, COP_0_ERROR_PC # set return address mfc0 k0, COP_0_STATUS_REG # restore status li k1, SR_DIAG_DE # ignore further errors @@ -1250,5 +1280,4 @@ MSG("cache error @ EPC 0x%x CachErr 0x%x"); .set at - .set mips2 END(MipsCacheException) From owner-p4-projects@FreeBSD.ORG Wed Jan 23 23:32:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B90DE16A41B; Wed, 23 Jan 2008 23:32: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 6661716A41A for ; Wed, 23 Jan 2008 23:32:13 +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 66EB413C45B for ; Wed, 23 Jan 2008 23:32:13 +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 m0NNWDdW027457 for ; Wed, 23 Jan 2008 23:32:13 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0NNWDsb027454 for perforce@freebsd.org; Wed, 23 Jan 2008 23:32:13 GMT (envelope-from imp@freebsd.org) Date: Wed, 23 Jan 2008 23:32:13 GMT Message-Id: <200801232332.m0NNWDsb027454@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 133962 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Jan 2008 23:32:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=133962 Change 133962 by imp@imp_paco-paco on 2008/01/23 23:31:47 Convert this over. Now we're getting to this point in the boot: Device configuration finished. cpu_initclocks(): stathz = 0xd, profhz = 0x42 Timecounter "mips" frequency 0 Hz quality -2143494216 mips_timer_init: starting the real time clock. mips_timer_init: cpu_counter_interval = 0x7a120 Timecounters tick every 10.000 msec St[ warning: LOW reference: vaddr=0x00000000, exception TLBL, pc=0x00000000 <(no symbol)> ] not sure why we jump to location 0 in the kernel, but it is likely something to do with mips_cpu_switch. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#7 (text+ko) ==== @@ -55,7 +55,7 @@ * assembly language support routines. */ - +#include "opt_cputype.h" #include #include #include @@ -65,7 +65,39 @@ #include "assym.s" -#ifndef MIPS_ISAIII +#if defined(ISA_MIPS32) +#undef WITH_64BIT_CP0 +#elif defined(ISA_MIPS64) +#define WITH_64BIT_CP0 +#elif defined(ISA_MIPS3) +#define WITH_64BIT_CP0 +#else +#error "Please write the code for this ISA" +#endif + +#ifdef WITH_64BIT_CP0 +#define _SLL dsll +#define _SRL dsrl +#define _MFC0 dmfc0 +#define _MTC0 dmtc0 +#define WIRED_SHIFT 34 +#else +#define _SLL sll +#define _SRL srl +#define _MFC0 mfc0 +#define _MTC0 mtc0 +#define WIRED_SHIFT 2 +#endif + .set noreorder # Noreorder is default style! +#if defined(ISA_MIPS32) + .set mips32 +#elif defined(ISA_MIPS64) + .set mips64 +#elif defined(ISA_MIPS3) + .set mips3 +#endif + +#if defined(ISA_MIPS32) #define STORE sw /* 32 bit mode regsave instruction */ #define LOAD lw /* 32 bit mode regload instruction */ #define RSIZE 4 /* 32 bit mode register size */ @@ -86,7 +118,7 @@ * Some MIPS CPU may need delays using nops between executing CP0 Instructions */ -#ifdef MIPS_CPU_NEEDS_DELAY +#if 1 #define HAZARD_DELAY nop ; nop ; nop ; nop #else #define HAZARD_DELAY @@ -116,11 +148,6 @@ #define RESTORE_U_PCB_CONTEXT(reg, offs, base) \ LOAD reg, U_PCB_CONTEXT + (RSIZE * offs) (base) - .set noreorder # Noreorder is default style! -#ifndef _MIPS_ARCH_MIPS64 - .set mips3 -#endif - #define ITLBNOPFIX nop;nop;nop;nop;nop;nop;nop;nop;nop;nop; /* @@ -155,7 +182,7 @@ RESTORE_U_PCB_REG(a0, PC, a1) RESTORE_U_PCB_REG(AT, AST, a1) RESTORE_U_PCB_REG(v0, V0, a1) - dmtc0 a0, COP_0_EXC_PC # set return address + _MTC0 a0, COP_0_EXC_PC # set return address /* * The use of k1 for storing the PCB pointer must be done only @@ -608,4 +635,3 @@ szsigcode: .long esigcode-sigcode .text - .set mips2 From owner-p4-projects@FreeBSD.ORG Thu Jan 24 02:05:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90B9616A46C; Thu, 24 Jan 2008 02:05: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 54D5A16A421 for ; Thu, 24 Jan 2008 02:05:56 +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 5773A13C457 for ; Thu, 24 Jan 2008 02:05:56 +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 m0O25uNa051998 for ; Thu, 24 Jan 2008 02:05:56 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O25uYf051995 for perforce@freebsd.org; Thu, 24 Jan 2008 02:05:56 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 02:05:56 GMT Message-Id: <200801240205.m0O25uYf051995@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 133966 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 02:05:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=133966 Change 133966 by kmacy@kmacy:storage:toehead on 2008/01/24 02:04:55 first pass integration of ddp support code Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#3 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 (text+ko) ==== @@ -867,14 +867,6 @@ return (idx); } -void -t3_release_ddp_resources(struct toepcb *toep) -{ - /* - * This is a no-op until we have DDP support - */ -} - static inline void free_atid(struct t3cdev *cdev, unsigned int tid) { ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 (text+ko) ==== @@ -679,7 +679,7 @@ p->dgl_length = len; p->dgl_offset = pg_off; p->dgl_nelem = npages; -#if 0 +#ifdef notyet p->phys_addr[0] = pci_map_page(pdev, p->pages[0], pg_off, PAGE_SIZE - pg_off, PCI_DMA_FROMDEVICE) - pg_off; @@ -708,6 +708,47 @@ return (pages + PPOD_PAGES - 1) / PPOD_PAGES + NUM_SENTINEL_PPODS; } + +static void +unmap_ddp_gl(const struct ddp_gather_list *gl) +{ +#ifdef notyet + int i; + + if (!gl->nelem) + return; + + pci_unmap_page(pdev, gl->phys_addr[0] + gl->offset, + PAGE_SIZE - gl->offset, PCI_DMA_FROMDEVICE); + for (i = 1; i < gl->nelem; ++i) + pci_unmap_page(pdev, gl->phys_addr[i], PAGE_SIZE, + PCI_DMA_FROMDEVICE); + +#endif +} + +static void +ddp_gl_free_pages(struct ddp_gather_list *gl, int dirty) +{ +#ifdef notyet + int i; + + for (i = 0; i < gl->nelem; ++i) { + if (dirty) + set_page_dirty_lock(gl->pages[i]); + put_page(gl->pages[i]); + } +#endif +} + +void +t3_free_ddp_gl(struct ddp_gather_list *gl) +{ + unmap_ddp_gl(gl); + ddp_gl_free_pages(gl, 0); + free(gl, M_DEVBUF); +} + /* Max # of page pods for a buffer, enough for 1MB buffer at 4KB page size */ #define MAX_PPODS 64U @@ -746,6 +787,46 @@ return 0; } + + +/* + * Reposts the kernel DDP buffer after it has been previously become full and + * invalidated. We just need to reset the offset and adjust the DDP flags. + * Conveniently, we can set the flags and the offset with a single message. + * Note that this function does not set the buffer length. Again conveniently + * our kernel buffer is of fixed size. If the length needs to be changed it + * needs to be done separately. + */ +static void +t3_repost_kbuf(struct socket *so, unsigned int bufidx, int modulate, + int activate) +{ + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + + p->buf_state[bufidx].cur_offset = p->kbuf[bufidx]->dgl_offset; + p->buf_state[bufidx].flags = p->kbuf_noinval ? DDP_BF_NOINVAL : 0; + p->buf_state[bufidx].gl = p->kbuf[bufidx]; + p->cur_buf = bufidx; + p->kbuf_idx = bufidx; + if (!bufidx) + t3_setup_ddpbufs(so, 0, 0, 0, 0, + V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | + V_TF_DDP_BUF0_VALID(1), + V_TF_DDP_PSH_NO_INVALIDATE(1) | V_TF_DDP_OFF(1) | + V_TF_DDP_BUF0_VALID(1) | + V_TF_DDP_ACTIVE_BUF(activate), modulate); + else + t3_setup_ddpbufs(so, 0, 0, 0, 0, + V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | + V_TF_DDP_BUF1_VALID(1) | + V_TF_DDP_ACTIVE_BUF(activate), + V_TF_DDP_PSH_NO_INVALIDATE(1) | V_TF_DDP_OFF(1) | + V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_ACTIVE_BUF(1), + modulate); + +} + /* * Starting offset for the user DDP buffer. A non-0 value ensures a DDP flush * won't block indefinitely if there's nothing to place (which should be rare). @@ -820,7 +901,7 @@ return err; if (gl) { if (p->ubuf) - t3_free_ddp_gl(p->pdev, p->ubuf); + t3_free_ddp_gl(p->ubuf); p->ubuf = gl; t3_setup_ppods(so, gl, pages2ppods(gl->dgl_nelem), p->ubuf_tag, len, gl->dgl_offset, 0); @@ -847,7 +928,7 @@ struct toepcb *toep = sototcpcb(so)->t_toe; struct ddp_state *p = &toep->tp_ddp_state; - if (!p || !p->pdev) + if (!p) return -1; len = setup_iovec_ppods(so, iov, 0); @@ -888,10 +969,251 @@ OVERLAY_MASK | flags, 1); } #ifdef T3_TRACE - T3_TRACE5(TIDTB(sk), + T3_TRACE5(TIDTB(so), "t3_overlay_ubuf: tag %u flags 0x%x mask 0x%x ubuf_idx %d " " kbuf_idx %d", p->ubuf_tag, flags, OVERLAY_MASK, ubuf_idx, p->kbuf_idx); #endif return 0; } + + + +/* + * Returns whether a connection should enable DDP. This happens when all of + * the following conditions are met: + * - the connection's ULP mode is DDP + * - DDP is not already enabled + * - the last receive was above the DDP threshold + * - receive buffers are in user space + * - receive side isn't shutdown (handled by caller) + * - the connection's receive window is big enough so that sizable buffers + * can be posted without closing the window in the middle of DDP (checked + * when the connection is offloaded) + */ +#ifdef notyet +static int +so_should_ddp(const struct toepcb *toep, int last_recv_len) +{ + return toep->tp_ulp_mode == ULP_MODE_TCPDDP && !toep->tp_dpp_state.cur_buf && + last_recv_len > TOM_TUNABLE(toep->tp_toedev, ddp_thres) && + toep->tp_tp->rcv_wnd > + (TOM_TUNABLE(toep->tp_toedev, ddp_copy_limit) + + DDP_RSVD_WIN); +} +#endif +/* + * Clean up DDP state that needs to survive until socket close time, such as the + * DDP buffers. The buffers are already unmapped at this point as unmapping + * needs the PCI device and a socket may close long after the device is removed. + */ +void +t3_cleanup_ddp(struct socket *so) +{ + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + int idx; + + if (!p) + return; + + for (idx = 0; idx < NUM_DDP_KBUF; idx++) + if (p->kbuf[idx]) { + ddp_gl_free_pages(p->kbuf[idx], 0); + free(p->kbuf[idx], M_DEVBUF); + } + + if (p->ubuf) { + ddp_gl_free_pages(p->ubuf, 0); + free(p->ubuf, M_DEVBUF); + } + toep->tp_ulp_mode = 0; +} + +/* + * This is a companion to t3_cleanup_ddp() and releases the HW resources + * associated with a connection's DDP state, such as the page pods. + * It's called when HW is done with a connection. The rest of the state + * remains available until both HW and the app are done with the connection. + */ +void +t3_release_ddp_resources(struct toepcb *toep) +{ + struct ddp_state *p = &toep->tp_ddp_state; + struct tom_data *d = TOM_DATA(toep->tp_toedev); + int idx; + + for (idx = 0; idx < NUM_DDP_KBUF; idx++) { + t3_free_ppods(d, p->kbuf_tag[idx], + p->kbuf_nppods[idx]); + unmap_ddp_gl(p->kbuf[idx]); + } + + if (p->ubuf_nppods) { + t3_free_ppods(d, p->ubuf_tag, p->ubuf_nppods); + p->ubuf_nppods = 0; + } + if (p->ubuf) + unmap_ddp_gl(p->ubuf); + +} + +void +t3_post_kbuf(struct socket *so, int modulate) +{ + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + + t3_set_ddp_tag(so, p->cur_buf, p->kbuf_tag[p->cur_buf] << 6); + t3_set_ddp_buf(so, p->cur_buf, 0, p->kbuf[p->cur_buf]->dgl_length); + t3_repost_kbuf(so, p->cur_buf, modulate, 1); + +#ifdef T3_TRACE + T3_TRACE1(TIDTB(so), + "t3_post_kbuf: cur_buf = kbuf_idx = %u ", p->cur_buf); +#endif +} + +/* + * Prepare a socket for DDP. Must be called when the socket is known to be + * open. + */ +int +t3_enter_ddp(struct socket *so, unsigned int kbuf_size, unsigned int waitall) +{ + int err = ENOMEM; + unsigned int nppods, kbuf_pages, idx = 0; + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; + struct tom_data *d = TOM_DATA(toep->tp_toedev); + + if (kbuf_size > M_TCB_RX_DDP_BUF0_LEN) + return (EINVAL); + + kbuf_pages = (kbuf_size + PAGE_SIZE - 1) >> PAGE_SHIFT; + nppods = pages2ppods(kbuf_pages); + + p->kbuf_noinval = !!waitall; + + p->kbuf_tag[NUM_DDP_KBUF - 1] = -1; + for (idx = 0; idx < NUM_DDP_KBUF; idx++) { + p->kbuf[idx] = + malloc(sizeof (struct ddp_gather_list) + kbuf_pages * + sizeof(vm_page_t *), M_DEVBUF, M_NOWAIT|M_ZERO); + if (!p->kbuf[idx]) + goto err; + + p->kbuf_tag[idx] = t3_alloc_ppods(d, nppods); + if (p->kbuf_tag[idx] < 0) + goto err; + + p->kbuf_nppods[idx] = nppods; + p->kbuf[idx]->dgl_length = kbuf_size; + p->kbuf[idx]->dgl_offset = 0; + p->kbuf[idx]->dgl_nelem = kbuf_pages; +#ifdef notyet + p->kbuf[idx]->pages = + (struct page **)&p->kbuf[idx]->phys_addr[kbuf_pages]; + + + for (i = 0; i < kbuf_pages; ++i) { + + p->kbuf[idx]->pages[i] = alloc_page(sk->sk_allocation); + if (!p->kbuf[idx]->pages[i]) { + p->kbuf[idx]->nelem = i; + goto err; + } + + } + + for (i = 0; i < kbuf_pages; ++i) + p->kbuf[idx]->phys_addr[i] = + pci_map_page(p->pdev, p->kbuf[idx]->pages[i], + 0, PAGE_SIZE, PCI_DMA_FROMDEVICE); +#endif + t3_setup_ppods(so, p->kbuf[idx], nppods, p->kbuf_tag[idx], + p->kbuf[idx]->dgl_length, 0, 0); + } + t3_set_ddp_tag(so, 0, p->kbuf_tag[0] << 6); + t3_set_ddp_buf(so, 0, 0, p->kbuf[0]->dgl_length); + t3_repost_kbuf(so, 0, 0, 1); + t3_set_rcv_coalesce_enable(so, + TOM_TUNABLE(TOE_DEV(so), ddp_rcvcoalesce)); + +#ifdef T3_TRACE + T3_TRACE4(TIDTB(so), + "t3_enter_ddp: kbuf_size %u waitall %u tag0 %d tag1 %d", + kbuf_size, waitall, p->kbuf_tag[0], p->kbuf_tag[1]); +#endif + + return 0; + +err: + t3_release_ddp_resources(toep); + t3_cleanup_ddp(so); + return err; +} + +int +t3_ddp_copy(const struct mbuf *m, int offset, struct iovec *to, int len) +{ +#ifdef notyet + int err, page_no, page_off; + struct ddp_gather_list *gl = (struct ddp_gather_list *)skb->mac.raw; + + if (!gl->pages) { + dump_stack(); + BUG_ON(1); + } + + offset += gl->offset + TCP_SKB_CB(skb)->when; + page_no = offset >> PAGE_SHIFT; + page_off = offset & ~PAGE_MASK; + + while (len) { + int copy = min_t(int, len, PAGE_SIZE - page_off); + + err = memcpy_toiovec(to, page_address(gl->pages[page_no]) + + page_off, copy); + if (err) + return -EFAULT; + page_no++; + page_off = 0; + len -= copy; + } +#endif + return 0; +} + +/* + * Allocate n page pods. Returns -1 on failure or the page pod tag. + */ +int t3_alloc_ppods(struct tom_data *td, unsigned int n) +{ + unsigned int i, j; + + if (__predict_false(!td->ppod_map)) + return -1; + + mtx_lock(&td->ppod_map_lock); + for (i = 0; i < td->nppods; ) { + for (j = 0; j < n; ++j) /* scan ppod_map[i..i+n-1] */ + if (td->ppod_map[i + j]) { + i = i + j + 1; + goto next; + } + + memset(&td->ppod_map[i], 1, n); /* allocate range */ + mtx_unlock(&td->ppod_map_lock); + return i; +next: ; + } + mtx_unlock(&td->ppod_map_lock); + return (0); +} + +void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n) +{ + /* No need to take ppod_lock here */ + memset(&td->ppod_map[tag], 0, n); +} ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#3 (text+ko) ==== @@ -85,7 +85,6 @@ #define M_PPOD_PGSZ 0x3 #define V_PPOD_PGSZ(x) ((x) << S_PPOD_PGSZ) -struct pci_dev; #include #include #include @@ -105,7 +104,6 @@ }; struct ddp_state { - struct pci_dev *pdev; struct ddp_buf_state buf_state[2]; /* per buffer state */ int cur_buf; unsigned short kbuf_noinval; @@ -132,33 +130,30 @@ PSH flag set */ }; -#ifdef notyet +#include + /* * Returns 1 if a UBUF DMA buffer might be active. */ -static inline int t3_ddp_ubuf_pending(struct sock *so) +static inline int t3_ddp_ubuf_pending(struct socket *so) { - struct tcp_sock *tp = tcp_sk(sk); - struct ddp_state *p = DDP_STATE(tp); + struct toepcb *toep = sototcpcb(so)->t_toe; + struct ddp_state *p = &toep->tp_ddp_state; /* When the TOM_TUNABLE(ddp) is enabled, we're always in ULP_MODE DDP, * but DDP_STATE() is only valid if the connection actually enabled * DDP. */ - if (!p) - return 0; - return (p->buf_state[0].flags & (DDP_BF_NOFLIP | DDP_BF_NOCOPY)) || (p->buf_state[1].flags & (DDP_BF_NOFLIP | DDP_BF_NOCOPY)); } -#endif int t3_setup_ppods(struct socket *so, const struct ddp_gather_list *gl, unsigned int nppods, unsigned int tag, unsigned int maxoff, unsigned int pg_off, unsigned int color); int t3_alloc_ppods(struct tom_data *td, unsigned int n); void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n); -void t3_free_ddp_gl(struct pci_dev *pdev, struct ddp_gather_list *gl); +void t3_free_ddp_gl(struct ddp_gather_list *gl); int t3_ddp_copy(const struct mbuf *skb, int offset, struct iovec *to, int len); //void t3_repost_kbuf(struct socket *so, int modulate, int activate); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 02:20:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F29116A468; Thu, 24 Jan 2008 02:20: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 4A2F116A41B for ; Thu, 24 Jan 2008 02:20:12 +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 4B05B13C455 for ; Thu, 24 Jan 2008 02:20:12 +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 m0O2KCFS053695 for ; Thu, 24 Jan 2008 02:20:12 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O2KBG0053692 for perforce@freebsd.org; Thu, 24 Jan 2008 02:20:11 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 02:20:11 GMT Message-Id: <200801240220.m0O2KBG0053692@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 133967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 02:20:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=133967 Change 133967 by kmacy@pandemonium:kmacy:xen31 on 2008/01/24 02:19:51 don't build pmap.c with nowerror cleanup pmap_release don't reference pdptzone on xen builds Affected files ... .. //depot/projects/xen31/sys/conf/files.i386#13 edit .. //depot/projects/xen31/sys/i386/xen/pmap.c#31 edit Differences ... ==== //depot/projects/xen31/sys/conf/files.i386#13 (text+ko) ==== @@ -317,7 +317,7 @@ i386/i386/nexus.c standard i386/i386/perfmon.c optional perfmon i386/i386/pmap.c optional native -i386/xen/pmap.c optional xen nowerror +i386/xen/pmap.c optional xen i386/i386/ptrace_machdep.c standard i386/i386/stack_machdep.c optional ddb | stack i386/i386/support.s standard ==== //depot/projects/xen31/sys/i386/xen/pmap.c#31 (text+ko) ==== @@ -213,8 +213,10 @@ #ifdef PAE pt_entry_t pg_nx; +#if !defined(XEN) static uma_zone_t pdptzone; #endif +#endif /* * Data for the pv entry allocation mechanism @@ -292,7 +294,7 @@ static vm_offset_t pmap_kmem_choose(vm_offset_t addr); static boolean_t pmap_is_prefaultable_locked(pmap_t pmap, vm_offset_t addr); -#ifdef PAE +#if defined(PAE) && !defined(XEN) static void *pmap_pdpt_allocf(uma_zone_t zone, int bytes, u_int8_t *flags, int wait); #endif @@ -585,7 +587,7 @@ TAILQ_INIT(&m->md.pv_list); } -#ifdef PAE +#if defined(PAE) && !defined(XEN) static MALLOC_DEFINE(M_PMAPPDPT, "pmap", "pmap pdpt"); @@ -679,7 +681,7 @@ if (pv_chunkbase == NULL) panic("pmap_init: not enough kvm for pv chunks"); pmap_ptelist_init(&pv_vafree, pv_chunkbase, pv_maxchunks); -#ifdef PAE +#if defined(PAE) && !defined(XEN) pdptzone = uma_zcreate("PDPT", NPGPTD * sizeof(pdpt_entry_t), NULL, NULL, NULL, NULL, (NPGPTD * sizeof(pdpt_entry_t)) - 1, UMA_ZONE_VM | UMA_ZONE_NOFREE); @@ -1250,6 +1252,10 @@ } if (mclcount) HYPERVISOR_multicall(mcl, mclcount); +#ifdef INVARIANTS + for (pte = vtopte(sva), mclcount = 0; mclcount < count; mclcount++, pte++) + KASSERT(*pte, ("pte not set for va=0x%x\n", sva + mclcount*PAGE_SIZE)); +#endif } @@ -1710,37 +1716,40 @@ void pmap_release(pmap_t pmap) { - vm_page_t m, ptdpg[NPGPTD+1]; + vm_page_t m, ptdpg[2*NPGPTD+1]; vm_paddr_t ma; int i; +#ifdef XEN #ifdef PAE int npgptd = 2*NPGPTD + 1; #else int npgptd = 2*NPGPTD; #endif - +#else + int npgptd = NPGPTD; +#endif KASSERT(pmap->pm_stats.resident_count == 0, ("pmap_release: pmap resident count %ld != 0", pmap->pm_stats.resident_count)); + PT_UPDATES_FLUSH(); pmap_lazyfix(pmap); mtx_lock_spin(&allpmaps_lock); LIST_REMOVE(pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); +#ifdef XEN for (i = 0; i < NPGPTD; i++) ptdpg[i] = PHYS_TO_VM_PAGE(vtophys(pmap->pm_pdir_shadow + (i*NPDEPG)) & PG_FRAME); + pmap_qremove((vm_offset_t)pmap->pm_pdir_shadow, NPGPTD); +#endif for (i = 0; i < NPGPTD; i++) ptdpg[NPGPTD + i] = PHYS_TO_VM_PAGE(vtophys(pmap->pm_pdir + (i*NPDEPG)) & PG_FRAME); - -#ifdef PAE + pmap_qremove((vm_offset_t)pmap->pm_pdir, NPGPTD); +#if defined(PAE) && defined(XEN) ptdpg[2*NPGPTD] = PHYS_TO_VM_PAGE(vtophys(pmap->pm_pdpt)); #endif - PT_UPDATES_FLUSH(); - pmap_qremove((vm_offset_t)pmap->pm_pdir, NPGPTD); - pmap_qremove((vm_offset_t)pmap->pm_pdir_shadow, NPGPTD); - for (i = 0; i < npgptd; i++) { m = ptdpg[i]; ma = xpmap_ptom(VM_PAGE_TO_PHYS(m)); @@ -2713,6 +2722,7 @@ *PMAP1 = 0; sched_unpin(); vm_page_unlock_queues(); + KASSERT(*vtopte(va), ("pte not set for va=0x%x\n", va)); PMAP_UNLOCK(pmap); } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 03:16:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2BD016A41A; Thu, 24 Jan 2008 03:16: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 6892A16A419 for ; Thu, 24 Jan 2008 03:16:23 +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 6ADF513C43E for ; Thu, 24 Jan 2008 03:16:23 +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 m0O3GMRh058088 for ; Thu, 24 Jan 2008 03:16:22 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O3GBxg058085 for perforce@freebsd.org; Thu, 24 Jan 2008 03:16:11 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 24 Jan 2008 03:16:11 GMT Message-Id: <200801240316.m0O3GBxg058085@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 133968 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 03:16:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=133968 Change 133968 by rpaulo@rpaulo_alpha on 2008/01/24 03:16:05 IFC Affected files ... .. //depot/projects/tcpecn/Makefile#2 integrate .. //depot/projects/tcpecn/amd64/amd64/pmap.c#5 integrate .. //depot/projects/tcpecn/amd64/include/_types.h#2 integrate .. //depot/projects/tcpecn/amd64/include/float.h#2 integrate .. //depot/projects/tcpecn/amd64/include/ieeefp.h#2 integrate .. //depot/projects/tcpecn/amd64/isa/clock.c#2 integrate .. //depot/projects/tcpecn/arm/arm/pmap.c#4 integrate .. //depot/projects/tcpecn/arm/arm/support.S#2 integrate .. //depot/projects/tcpecn/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/tcpecn/boot/forth/loader.conf.5#2 integrate .. //depot/projects/tcpecn/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#4 integrate .. //depot/projects/tcpecn/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/tcpecn/compat/linux/linux_file.c#3 integrate .. //depot/projects/tcpecn/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_misc.c#2 integrate .. //depot/projects/tcpecn/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/tcpecn/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/tcpecn/compat/pecoff/imgact_pecoff.c#2 integrate .. //depot/projects/tcpecn/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/tcpecn/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/tcpecn/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/tcpecn/conf/files#4 integrate .. //depot/projects/tcpecn/contrib/dev/acpica/evgpe.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/tcpecn/crypto/rijndael/rijndael-api.c#2 integrate .. //depot/projects/tcpecn/crypto/rijndael/test00.c#2 integrate .. //depot/projects/tcpecn/ddb/db_textdump.c#2 integrate .. //depot/projects/tcpecn/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/tcpecn/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/tcpecn/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/tcpecn/dev/an/if_an.c#3 integrate .. //depot/projects/tcpecn/dev/an/if_an_pci.c#2 integrate .. //depot/projects/tcpecn/dev/an/if_anreg.h#2 integrate .. //depot/projects/tcpecn/dev/ath/if_ath.c#2 integrate .. //depot/projects/tcpecn/dev/bge/if_bge.c#3 integrate .. //depot/projects/tcpecn/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/tcpecn/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_multiq.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/tcpecn/dev/drm/drm_drv.c#2 integrate .. //depot/projects/tcpecn/dev/fdc/fdc.c#2 integrate .. //depot/projects/tcpecn/dev/gem/if_gem.c#3 integrate .. //depot/projects/tcpecn/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/tcpecn/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/tcpecn/dev/iir/iir.c#2 integrate .. //depot/projects/tcpecn/dev/md/md.c#2 integrate .. //depot/projects/tcpecn/dev/mii/brgphy.c#2 integrate .. //depot/projects/tcpecn/dev/msk/if_msk.c#3 integrate .. //depot/projects/tcpecn/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/tcpecn/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/tcpecn/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/tcpecn/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/tcpecn/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/tcpecn/dev/mxge/mxge_mcp.h#2 integrate .. //depot/projects/tcpecn/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/tcpecn/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/tcpecn/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/tcpecn/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/tcpecn/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/tcpecn/dev/pci/pci_user.c#3 integrate .. //depot/projects/tcpecn/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/tcpecn/dev/ppbus/ppbconf.h#2 integrate .. //depot/projects/tcpecn/dev/puc/pucdata.c#2 integrate .. //depot/projects/tcpecn/dev/re/if_re.c#3 integrate .. //depot/projects/tcpecn/dev/sf/if_sf.c#1 branch .. //depot/projects/tcpecn/dev/sf/if_sfreg.h#1 branch .. //depot/projects/tcpecn/dev/sf/starfire_rx.h#1 branch .. //depot/projects/tcpecn/dev/sf/starfire_tx.h#1 branch .. //depot/projects/tcpecn/dev/stge/if_stge.c#2 integrate .. //depot/projects/tcpecn/dev/stge/if_stgereg.h#2 integrate .. //depot/projects/tcpecn/dev/usb/ehci.c#2 integrate .. //depot/projects/tcpecn/dev/usb/if_udav.c#2 integrate .. //depot/projects/tcpecn/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/tcpecn/fs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/tcpecn/fs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/coda/cnode.h#2 integrate .. //depot/projects/tcpecn/fs/coda/coda_namecache.h#2 integrate .. //depot/projects/tcpecn/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/tcpecn/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/tcpecn/fs/fdescfs/fdesc_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/tcpecn/fs/hpfs/hpfs_subr.h#2 integrate .. //depot/projects/tcpecn/fs/hpfs/hpfs_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/msdosfs/msdosfs_lookup.c#2 integrate .. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/tcpecn/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/tcpecn/fs/nullfs/null_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/nullfs/null_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/tcpecn/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/portalfs/portal_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/procfs/procfs.c#2 integrate .. //depot/projects/tcpecn/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/tcpecn/fs/udf/udf_vfsops.c#3 integrate .. //depot/projects/tcpecn/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/tcpecn/fs/unionfs/union_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/unionfs/union_vnops.c#3 integrate .. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_lookup.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/ext2fs/fs.h#2 integrate .. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_mountops.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_super.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_vnode.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate .. //depot/projects/tcpecn/i386/i386/pmap.c#5 integrate .. //depot/projects/tcpecn/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/tcpecn/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/tcpecn/i386/include/ieeefp.h#2 integrate .. //depot/projects/tcpecn/i386/include/pmap.h#3 integrate .. //depot/projects/tcpecn/i386/isa/clock.c#2 integrate .. //depot/projects/tcpecn/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/tcpecn/kern/genassym.sh#2 integrate .. //depot/projects/tcpecn/kern/imgact_aout.c#2 integrate .. //depot/projects/tcpecn/kern/imgact_elf.c#4 integrate .. //depot/projects/tcpecn/kern/imgact_gzip.c#2 integrate .. //depot/projects/tcpecn/kern/init_main.c#3 integrate .. //depot/projects/tcpecn/kern/init_sysent.c#3 integrate .. //depot/projects/tcpecn/kern/kern_acct.c#2 integrate .. //depot/projects/tcpecn/kern/kern_alq.c#2 integrate .. //depot/projects/tcpecn/kern/kern_cpu.c#2 integrate .. //depot/projects/tcpecn/kern/kern_descrip.c#4 integrate .. //depot/projects/tcpecn/kern/kern_exec.c#4 integrate .. //depot/projects/tcpecn/kern/kern_exit.c#2 integrate .. //depot/projects/tcpecn/kern/kern_jail.c#2 integrate .. //depot/projects/tcpecn/kern/kern_ktrace.c#2 integrate .. //depot/projects/tcpecn/kern/kern_linker.c#3 integrate .. //depot/projects/tcpecn/kern/kern_lock.c#4 integrate .. //depot/projects/tcpecn/kern/kern_mib.c#4 integrate .. //depot/projects/tcpecn/kern/kern_proc.c#4 integrate .. //depot/projects/tcpecn/kern/kern_resource.c#3 integrate .. //depot/projects/tcpecn/kern/kern_rwlock.c#4 integrate .. //depot/projects/tcpecn/kern/kern_shutdown.c#3 integrate .. //depot/projects/tcpecn/kern/kern_sig.c#3 integrate .. //depot/projects/tcpecn/kern/kern_synch.c#2 integrate .. //depot/projects/tcpecn/kern/kern_time.c#2 integrate .. //depot/projects/tcpecn/kern/link_elf.c#2 integrate .. //depot/projects/tcpecn/kern/link_elf_obj.c#2 integrate .. //depot/projects/tcpecn/kern/sched_ule.c#4 integrate .. //depot/projects/tcpecn/kern/syscalls.c#3 integrate .. //depot/projects/tcpecn/kern/syscalls.master#3 integrate .. //depot/projects/tcpecn/kern/systrace_args.c#3 integrate .. //depot/projects/tcpecn/kern/tty_cons.c#3 integrate .. //depot/projects/tcpecn/kern/tty_pty.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_mbuf.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_mqueue.c#3 integrate .. //depot/projects/tcpecn/kern/uipc_shm.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_syscalls.c#3 integrate .. //depot/projects/tcpecn/kern/uipc_usrreq.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_acl.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_aio.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_bio.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_cache.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_default.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_extattr.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_lookup.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_mount.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_subr.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_syscalls.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_vnops.c#3 integrate .. //depot/projects/tcpecn/kern/vnode_if.src#2 integrate .. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/tcpecn/modules/mxge/Makefile#2 integrate .. //depot/projects/tcpecn/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/tcpecn/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/tcpecn/modules/sf/Makefile#2 integrate .. //depot/projects/tcpecn/net/if_bridge.c#3 integrate .. //depot/projects/tcpecn/netgraph/ng_ppp.c#2 integrate .. //depot/projects/tcpecn/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/tcpecn/netinet6/in6_src.c#4 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_vnops.c#2 integrate .. //depot/projects/tcpecn/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/tcpecn/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/tcpecn/nfsclient/nfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/tcpecn/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/tcpecn/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/tcpecn/pci/amdsmb.c#2 integrate .. //depot/projects/tcpecn/pci/if_rlreg.h#4 integrate .. //depot/projects/tcpecn/pci/if_sf.c#2 delete .. //depot/projects/tcpecn/pci/if_sfreg.h#2 delete .. //depot/projects/tcpecn/pci/nfsmb.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_arg.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_syscalls.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_worker.c#2 integrate .. //depot/projects/tcpecn/security/mac/mac_process.c#2 integrate .. //depot/projects/tcpecn/security/mac/mac_syscalls.c#2 integrate .. //depot/projects/tcpecn/sparc64/conf/GENERIC#5 integrate .. //depot/projects/tcpecn/sys/buf.h#2 integrate .. //depot/projects/tcpecn/sys/lockmgr.h#3 integrate .. //depot/projects/tcpecn/sys/mbuf.h#3 integrate .. //depot/projects/tcpecn/sys/param.h#5 integrate .. //depot/projects/tcpecn/sys/pmc.h#3 integrate .. //depot/projects/tcpecn/sys/proc.h#3 integrate .. //depot/projects/tcpecn/sys/signal.h#3 integrate .. //depot/projects/tcpecn/sys/syscall.h#3 integrate .. //depot/projects/tcpecn/sys/syscall.mk#3 integrate .. //depot/projects/tcpecn/sys/sysproto.h#3 integrate .. //depot/projects/tcpecn/sys/time.h#3 integrate .. //depot/projects/tcpecn/sys/user.h#3 integrate .. //depot/projects/tcpecn/sys/vnode.h#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_rawread.c#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/tcpecn/ufs/ufs/ufs_extattr.c#2 integrate .. //depot/projects/tcpecn/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/tcpecn/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/tcpecn/ufs/ufs/ufs_vnops.c#2 integrate .. //depot/projects/tcpecn/vm/swap_pager.c#3 integrate .. //depot/projects/tcpecn/vm/vm_contig.c#3 integrate .. //depot/projects/tcpecn/vm/vm_kern.c#3 integrate .. //depot/projects/tcpecn/vm/vm_object.c#3 integrate .. //depot/projects/tcpecn/vm/vnode_pager.c#2 integrate Differences ... ==== //depot/projects/tcpecn/Makefile#2 (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/tcpecn/amd64/amd64/pmap.c#5 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.603 2008/01/08 08:30:30 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $"); /* * Manages physical address maps. @@ -149,11 +149,7 @@ #define PMAP_SHPGPERPROC 200 #endif -#if defined(DIAGNOSTIC) -#define PMAP_DIAGNOSTIC -#endif - -#if !defined(PMAP_DIAGNOSTIC) +#if !defined(DIAGNOSTIC) #define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE @@ -2249,12 +2245,9 @@ boolean_t invlva; va = trunc_page(va); -#ifdef PMAP_DIAGNOSTIC - if (va > VM_MAX_KERNEL_ADDRESS) - panic("pmap_enter: toobig"); - if ((va >= UPT_MIN_ADDRESS) && (va < UPT_MAX_ADDRESS)) - panic("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va); -#endif + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va)); mpte = NULL; @@ -2268,19 +2261,9 @@ if (va < VM_MAXUSER_ADDRESS) { mpte = pmap_allocpte(pmap, va, M_WAITOK); } -#if 0 && defined(PMAP_DIAGNOSTIC) - else { - pd_entry_t *pdeaddr = pmap_pde(pmap, va); - origpte = *pdeaddr; - if ((origpte & PG_V) == 0) { - panic("pmap_enter: invalid kernel page table page, pde=%p, va=%p\n", - origpte, va); - } - } -#endif pde = pmap_pde(pmap, va); - if (pde != NULL) { + if (pde != NULL && (*pde & PG_V) != 0) { if ((*pde & PG_PS) != 0) panic("pmap_enter: attempted pmap_enter on 2MB page"); pte = pmap_pde_to_pte(pde, va); @@ -2291,7 +2274,7 @@ * Page Directory table entry not valid, we need a new PT page */ if (pte == NULL) - panic("pmap_enter: invalid page directory va=%#lx\n", va); + panic("pmap_enter: invalid page directory va=%#lx", va); pa = VM_PAGE_TO_PHYS(m); om = NULL; @@ -2745,8 +2728,8 @@ pdp_entry_t *pdpe; pd_entry_t srcptepaddr, *pde; - if (addr >= UPT_MIN_ADDRESS) - panic("pmap_copy: invalid to pmap_copy page tables"); + KASSERT(addr < UPT_MIN_ADDRESS, + ("pmap_copy: invalid to pmap_copy page tables")); pml4e = pmap_pml4e(src_pmap, addr); if ((*pml4e & PG_V) == 0) { @@ -2784,8 +2767,8 @@ } srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME); - if (srcmpte->wire_count == 0) - panic("pmap_copy: source page table page is unused"); + KASSERT(srcmpte->wire_count > 0, + ("pmap_copy: source page table page is unused")); if (va_next > end_addr) va_next = end_addr; @@ -3104,7 +3087,7 @@ PMAP_LOCK(pmap); pde = pmap_pde(pmap, addr); if (pde != NULL && (*pde & PG_V)) { - pte = vtopte(addr); + pte = pmap_pde_to_pte(pde, addr); rv = (*pte & PG_V) == 0; } PMAP_UNLOCK(pmap); ==== //depot/projects/tcpecn/amd64/include/_types.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.12 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -64,7 +64,7 @@ typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; -typedef double __float_t; +typedef float __float_t; typedef __int64_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; ==== //depot/projects/tcpecn/amd64/include/float.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 - * $FreeBSD: src/sys/amd64/include/float.h,v 1.15 2005/01/05 20:17:20 imp Exp $ + * $FreeBSD: src/sys/amd64/include/float.h,v 1.16 2008/01/17 13:12:46 bde Exp $ */ #ifndef _MACHINE_FLOAT_H_ @@ -42,7 +42,7 @@ #define FLT_RADIX 2 /* b */ #define FLT_ROUNDS __flt_rounds() #if __ISO_C_VISIBLE >= 1999 -#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ +#define FLT_EVAL_METHOD 0 /* no promotions */ #define DECIMAL_DIG 21 /* max precision in decimal digits */ #endif ==== //depot/projects/tcpecn/amd64/include/ieeefp.h#2 (text+ko) ==== @@ -32,32 +32,33 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.19 2008/01/11 17:11:32 bde Exp $ */ +#ifndef _MACHINE_IEEEFP_H_ +#define _MACHINE_IEEEFP_H_ + /* - * IEEE floating point type and constant definitions. + * IEEE floating point type, constant and function definitions. + * XXX: {FP,SSE}*FLD and {FP,SSE}*OFF are undocumented pollution. */ -#ifndef _MACHINE_IEEEFP_H_ -#define _MACHINE_IEEEFP_H_ - #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif /* - * FP rounding modes + * Rounding modes. */ typedef enum { FP_RN=0, /* round to nearest */ - FP_RM, /* round down to minus infinity */ - FP_RP, /* round up to plus infinity */ + FP_RM, /* round down towards minus infinity */ + FP_RP, /* round up towards plus infinity */ FP_RZ /* truncate */ } fp_rnd_t; /* - * FP precision modes + * Precision (i.e., rounding precision) modes. */ typedef enum { FP_PS=0, /* 24 bit (single-precision) */ @@ -69,7 +70,7 @@ #define fp_except_t int /* - * FP exception masks + * Exception bit masks. */ #define FP_X_INV 0x01 /* invalid operation */ #define FP_X_DNML 0x02 /* denormal */ @@ -80,23 +81,19 @@ #define FP_X_STK 0x40 /* stack fault */ /* - * FP registers + * FPU control word bit-field masks. */ -#define FP_MSKS_REG 0 /* exception masks */ -#define FP_PRC_REG 0 /* precision */ -#define FP_RND_REG 0 /* direction */ -#define FP_STKY_REG 1 /* sticky flags */ +#define FP_MSKS_FLD 0x3f /* exception masks field */ +#define FP_PRC_FLD 0x300 /* precision control field */ +#define FP_RND_FLD 0xc00 /* rounding control field */ /* - * FP register bit field masks + * FPU status word bit-field masks. */ -#define FP_MSKS_FLD 0x3f /* exception masks field */ -#define FP_PRC_FLD 0x300 /* precision control field */ -#define FP_RND_FLD 0xc00 /* round control field */ #define FP_STKY_FLD 0x3f /* sticky flags field */ /* - * SSE mxcsr register bit field masks + * SSE mxcsr register bit-field masks. */ #define SSE_STKY_FLD 0x3f /* exception flags */ #define SSE_DAZ_FLD 0x40 /* Denormals are zero */ @@ -105,15 +102,19 @@ #define SSE_FZ_FLD 0x8000 /* flush to zero on underflow */ /* - * FP register bit field offsets + * FPU control word bit-field offsets (shift counts). */ #define FP_MSKS_OFF 0 /* exception masks offset */ #define FP_PRC_OFF 8 /* precision control offset */ -#define FP_RND_OFF 10 /* round control offset */ +#define FP_RND_OFF 10 /* rounding control offset */ + +/* + * FPU status word bit-field offsets (shift counts). + */ #define FP_STKY_OFF 0 /* sticky flags offset */ /* - * SSE mxcsr register bit field offsets + * SSE mxcsr register bit-field offsets (shift counts). */ #define SSE_STKY_OFF 0 /* exception flags offset */ #define SSE_DAZ_OFF 6 /* DAZ exception mask offset */ @@ -121,18 +122,45 @@ #define SSE_RND_OFF 13 /* rounding control offset */ #define SSE_FZ_OFF 15 /* flush to zero offset */ -#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \ - && !defined(__cplusplus) +#ifdef __GNUCLIKE_ASM +#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) #define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) +#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) #define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) #define __ldmxcsr(addr) __asm __volatile("ldmxcsr %0" : : "m" (*(addr))) #define __stmxcsr(addr) __asm __volatile("stmxcsr %0" : "=m" (*(addr))) /* + * Load the control word. Be careful not to trap if there is a currently + * unmasked exception (ones that will become freshly unmasked are not a + * problem). This case must be handled by a save/restore of the + * environment or even of the full x87 state. Accessing the environment + * is very inefficient, so only do it when necessary. + */ +static __inline void +__fnldcw(unsigned short _cw, unsigned short _newcw) +{ + struct { + unsigned _cw; + unsigned _other[6]; + } _env; + unsigned short _sw; + + if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { + __fnstsw(&_sw); + if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { + __fnstenv(&_env); + _env._cw = _newcw; + __fldenv(&_env); + return; + } + } + __fldcw(&_newcw); +} + +/* * General notes about conflicting SSE vs FP status bits. * This code assumes that software will not fiddle with the control * bits of the SSE and x87 in such a way to get them out of sync and @@ -143,28 +171,27 @@ * merge the two together. I think. */ -/* Set rounding control */ -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpgetround(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_RND_FLD) >> FP_RND_OFF); + return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); } -static __inline__ fp_rnd_t +static __inline fp_rnd_t __fpsetround(fp_rnd_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_rnd_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_RND_FLD) >> FP_RND_OFF; - _cw &= ~FP_RND_FLD; - _cw |= (_m << FP_RND_OFF) & FP_RND_FLD; - __fldcw(&_cw); + _p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF); + _newcw = _cw & ~FP_RND_FLD; + _newcw |= (_m << FP_RND_OFF) & FP_RND_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); _mxcsr &= ~SSE_RND_FLD; _mxcsr |= (_m << SSE_RND_OFF) & SSE_RND_FLD; @@ -173,108 +200,104 @@ } /* - * Set precision for fadd/fsub/fsqrt etc x87 instructions + * Get or set the rounding precision for x87 arithmetic operations. * There is no equivalent SSE mode or control. */ -static __inline__ fp_prec_t + +static __inline fp_prec_t __fpgetprec(void) { unsigned short _cw; __fnstcw(&_cw); - return ((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF)); } -static __inline__ fp_prec_t -__fpsetprec(fp_rnd_t _m) +static __inline fp_prec_t +__fpsetprec(fp_prec_t _m) { - unsigned short _cw; fp_prec_t _p; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (_cw & FP_PRC_FLD) >> FP_PRC_OFF; - _cw &= ~FP_PRC_FLD; - _cw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; - __fldcw(&_cw); + _p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF); + _newcw = _cw & ~FP_PRC_FLD; + _newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; + __fnldcw(_cw, _newcw); return (_p); } /* - * Look at the exception masks - * Note that x87 masks are inverse of the fp*() functions - * API. ie: mask = 1 means disable for x87 and SSE, but - * for the fp*() api, mask = 1 means enabled. + * Get or set the exception mask. + * Note that the x87 mask bits are inverted by the API -- a mask bit of 1 + * means disable for x87 and SSE, but for fp*mask() it means enable. */ -static __inline__ fp_except_t + +static __inline fp_except_t __fpgetmask(void) { unsigned short _cw; __fnstcw(&_cw); - return ((~_cw) & FP_MSKS_FLD); + return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF); } -static __inline__ fp_except_t +static __inline fp_except_t __fpsetmask(fp_except_t _m) { - unsigned short _cw; - unsigned int _mxcsr; fp_except_t _p; + unsigned _mxcsr; + unsigned short _cw, _newcw; __fnstcw(&_cw); - _p = (~_cw) & FP_MSKS_FLD; - _cw &= ~FP_MSKS_FLD; - _cw |= (~_m) & FP_MSKS_FLD; - __fldcw(&_cw); + _p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF; + _newcw = _cw & ~FP_MSKS_FLD; + _newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD; + __fnldcw(_cw, _newcw); __stmxcsr(&_mxcsr); /* XXX should we clear non-ieee SSE_DAZ_FLD and SSE_FZ_FLD ? */ _mxcsr &= ~SSE_MSKS_FLD; - _mxcsr |= ((~_m) << SSE_MSKS_OFF) & SSE_MSKS_FLD; + _mxcsr |= (~_m << SSE_MSKS_OFF) & SSE_MSKS_FLD; __ldmxcsr(&_mxcsr); return (_p); } -/* See which sticky exceptions are pending, and reset them */ -static __inline__ fp_except_t +static __inline fp_except_t __fpgetsticky(void) { + unsigned _ex, _mxcsr; unsigned short _sw; - unsigned int _mxcsr; - fp_except_t _ex; __fnstsw(&_sw); - _ex = _sw & FP_STKY_FLD; + _ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF; __stmxcsr(&_mxcsr); - _ex |= _mxcsr & SSE_STKY_FLD; - return (_ex); + _ex |= (_mxcsr & SSE_STKY_FLD) >> SSE_STKY_OFF; + return ((fp_except_t)_ex); } -#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */ +#endif /* __GNUCLIKE_ASM */ -#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \ - && defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) +#if !defined(__IEEEFP_NOINLINES__) && defined(__GNUCLIKE_ASM) +#define fpgetmask() __fpgetmask() +#define fpgetprec() __fpgetprec() #define fpgetround() __fpgetround() -#define fpsetround(_m) __fpsetround(_m) -#define fpgetprec() __fpgetprec() -#define fpsetprec(_m) __fpsetprec(_m) -#define fpgetmask() __fpgetmask() -#define fpsetmask(_m) __fpsetmask(_m) #define fpgetsticky() __fpgetsticky() +#define fpsetmask(m) __fpsetmask(m) +#define fpsetprec(m) __fpsetprec(m) +#define fpsetround(m) __fpsetround(m) /* Suppress prototypes in the MI header. */ #define _IEEEFP_INLINED_ 1 -#else /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ +#else /* !(!__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM) */ -/* Augment the userland declarations */ +/* Augment the userland declarations. */ __BEGIN_DECLS -extern fp_prec_t fpgetprec(void); -extern fp_prec_t fpsetprec(fp_prec_t); +fp_prec_t fpgetprec(void); +fp_prec_t fpsetprec(fp_prec_t); __END_DECLS -#endif /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM - && __CC_SUPPORTS___INLINE__ */ +#endif /* !__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM */ #endif /* !_MACHINE_IEEEFP_H_ */ ==== //depot/projects/tcpecn/amd64/isa/clock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.235 2007/10/26 03:23:53 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.236 2008/01/17 18:59:38 jhb Exp $"); /* * Routines to handle clock hardware. @@ -286,6 +286,7 @@ start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); ==== //depot/projects/tcpecn/arm/arm/pmap.c#4 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.96 2008/01/03 07:34:33 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.97 2008/01/17 12:41:59 cognet Exp $"); #include #include #include @@ -3828,7 +3828,8 @@ bzero(&pmap->pm_stats, sizeof pmap->pm_stats); pmap->pm_stats.resident_count = 1; if (vector_page < KERNBASE) { - pmap_enter(pmap, vector_page, PHYS_TO_VM_PAGE(systempage.pv_pa), + pmap_enter(pmap, vector_page, + VM_PROT_READ, PHYS_TO_VM_PAGE(systempage.pv_pa), VM_PROT_READ, 1); } return (1); ==== //depot/projects/tcpecn/arm/arm/support.S#2 (text+ko) ==== @@ -23,10 +23,79 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +/* + * Copyright 2003 Wasabi Systems, Inc. + * All rights reserved. + * + * Written by Steve C. Woodford for Wasabi Systems, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 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 + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Neil A. Carson and Mark Brinicombe + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.13 2007/10/13 12:05:03 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.14 2008/01/12 21:11:43 cognet Exp $"); #include "assym.s" ==== //depot/projects/tcpecn/arm/xscale/ixp425/if_npe.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.7 2007/11/04 21:54:52 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.8 2008/01/17 23:37:46 jhb Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -1140,90 +1140,6 @@ } /* - * Defragment an mbuf chain, returning at most maxfrags separate - * mbufs+clusters. If this is not possible NULL is returned and - * the original mbuf chain is left in it's present (potentially - * modified) state. We use two techniques: collapsing consecutive - * mbufs and replacing consecutive mbufs by a cluster. - */ -static struct mbuf * -npe_defrag(struct mbuf *m0, int how, int maxfrags) -{ - struct mbuf *m, *n, *n2, **prev; - u_int curfrags; - - /* - * Calculate the current number of frags. - */ - curfrags = 0; - for (m = m0; m != NULL; m = m->m_next) - curfrags++; - /* - * First, try to collapse mbufs. Note that we always collapse - * towards the front so we don't need to deal with moving the - * pkthdr. This may be suboptimal if the first mbuf has much - * less data than the following. - */ - m = m0; -again: - for (;;) { - n = m->m_next; - if (n == NULL) - break; - if ((m->m_flags & M_RDONLY) == 0 && - n->m_len < M_TRAILINGSPACE(m)) { - bcopy(mtod(n, void *), mtod(m, char *) + m->m_len, - n->m_len); - m->m_len += n->m_len; - m->m_next = n->m_next; - m_free(n); - if (--curfrags <= maxfrags) - return m0; - } else - m = n; - } - KASSERT(maxfrags > 1, - ("maxfrags %u, but normal collapse failed", maxfrags)); - /* - * Collapse consecutive mbufs to a cluster. - */ - prev = &m0->m_next; /* NB: not the first mbuf */ - while ((n = *prev) != NULL) { - if ((n2 = n->m_next) != NULL && - n->m_len + n2->m_len < MCLBYTES) { - m = m_getcl(how, MT_DATA, 0); - if (m == NULL) - goto bad; - bcopy(mtod(n, void *), mtod(m, void *), n->m_len); - bcopy(mtod(n2, void *), mtod(m, char *) + n->m_len, - n2->m_len); - m->m_len = n->m_len + n2->m_len; - m->m_next = n2->m_next; - *prev = m; - m_free(n); - m_free(n2); - if (--curfrags <= maxfrags) /* +1 cl -2 mbufs */ - return m0; - /* - * Still not there, try the normal collapse - * again before we allocate another cluster. - */ - goto again; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jan 24 04:04:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65D4316A41B; Thu, 24 Jan 2008 04:04: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 12DCF16A417 for ; Thu, 24 Jan 2008 04:04:15 +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 165E913C461 for ; Thu, 24 Jan 2008 04:04:15 +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 m0O44E1M061275 for ; Thu, 24 Jan 2008 04:04:14 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O44DqB061272 for perforce@freebsd.org; Thu, 24 Jan 2008 04:04:13 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 04:04:13 GMT Message-Id: <200801240404.m0O44DqB061272@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 133969 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 04:04:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=133969 Change 133969 by kmacy@pandemonium:kmacy:xen31 on 2008/01/24 04:04:04 don't use ptes as a free list for pv chunks keep unused pv chunks in a free list - may need to re-visit for low-mem handling tentatively re-enable pre-faulting Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#32 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#32 (text+ko) ==== @@ -225,6 +225,7 @@ static int shpgperproc = PMAP_SHPGPERPROC; struct pv_chunk *pv_chunkbase; /* KVA block for pv_chunks */ +struct pv_chunk *pv_next_unused; /* KVA free block for pv_chunks */ int pv_maxchunks; /* How many chunks we have KVA for */ vm_offset_t pv_vafree; /* freelist stored in the PTE */ @@ -293,6 +294,7 @@ static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t *); static vm_offset_t pmap_kmem_choose(vm_offset_t addr); static boolean_t pmap_is_prefaultable_locked(pmap_t pmap, vm_offset_t addr); +static void pmap_collect(pmap_t locked_pmap, struct vpgqueues *vpq); #if defined(PAE) && !defined(XEN) static void *pmap_pdpt_allocf(uma_zone_t zone, int bytes, u_int8_t *flags, int wait); @@ -308,8 +310,41 @@ */ CTASSERT(KERNBASE % (1 << 24) == 0); +SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_max, CTLFLAG_RD, &pv_entry_max, 0, + "Max number of PV entries"); +SYSCTL_INT(_vm_pmap, OID_AUTO, shpgperproc, CTLFLAG_RD, &shpgperproc, 0, + "Page share factor per proc"); + +#ifdef PV_STATS +static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, + "Current number of pv entry chunks"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_allocs, CTLFLAG_RD, &pc_chunk_allocs, 0, + "Current number of pv entry chunks allocated"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_frees, CTLFLAG_RD, &pc_chunk_frees, 0, + "Current number of pv entry chunks frees"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, + "Number of times tried to get a chunk page but failed."); + +static long pv_entry_frees, pv_entry_allocs; +static int pv_entry_spare; + +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, + "Current number of pv entry frees"); +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, + "Current number of pv entry allocs"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0, + "Current number of spare pv entries"); +static int pmap_collect_inactive, pmap_collect_active; +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_inactive, CTLFLAG_RD, &pmap_collect_inactive, 0, + "Current number times pmap_collect called on inactive queue"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_active, CTLFLAG_RD, &pmap_collect_active, 0, + "Current number times pmap_collect called on active queue"); +#endif static __inline void pagezero(void *page) @@ -613,45 +648,73 @@ * Because PG_V is never set, there can be no mappings to invalidate. */ static vm_offset_t -pmap_ptelist_alloc(vm_offset_t *head) +pmap_ptelist_alloc(pmap_t pmap, int try, vm_offset_t *head) { - pt_entry_t *pte; vm_offset_t va; + vm_page_t m; + struct vpgqueues *pq; + static vm_pindex_t colour; + + if (head != NULL) { + va = (vm_offset_t) *head; + *head = **(vm_offset_t **)head; + return (va); + } + + if ((uint32_t)pv_next_unused < (uint32_t)((uint8_t *)pv_chunkbase) + pv_maxchunks*PAGE_SIZE) { + va = (vm_offset_t)pv_next_unused; + pv_next_unused++; + } else + return (0); + + /* + * Access to the ptelist "pv_vafree" is synchronized by the page + * queues lock. If "pv_vafree" is currently non-empty, it will + * remain non-empty until pmap_ptelist_alloc() completes. + */ + if (pv_vafree == 0 || (m = vm_page_alloc(NULL, colour, (pq == + &vm_page_queues[PQ_ACTIVE] ? VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + if (try) { + pv_entry_count--; + PV_STAT(pc_chunk_tryfail++); + return (0); + } + /* + * Reclaim pv entries: At first, destroy mappings to + * inactive pages. After that, if a pv chunk entry + * is still needed, destroy mappings to active pages. + */ + if (pq == NULL) { + PV_STAT(pmap_collect_inactive++); + pq = &vm_page_queues[PQ_INACTIVE]; + } else if (pq == &vm_page_queues[PQ_INACTIVE]) { + PV_STAT(pmap_collect_active++); + pq = &vm_page_queues[PQ_ACTIVE]; + } else + panic("get_pv_entry: increase vm.pmap.shpgperproc"); + pmap_collect(pmap, pq); + return (1); /* ~\0_o/~ */ + } + colour++; + pmap_qenter(va, &m, 1); + if ((m->flags & PG_ZERO) == 0) + pagezero((void *)va); - va = *head; - if (va == 0) - return (va); /* Out of memory */ - pte = vtopte(va); - *head = *pte; - if (*head & PG_V) - panic("pmap_ptelist_alloc: va with PG_V set!"); - *pte = 0; return (va); } static void pmap_ptelist_free(vm_offset_t *head, vm_offset_t va) { - pt_entry_t *pte; - - if (va & PG_V) - panic("pmap_ptelist_free: freeing va with PG_V set!"); - pte = vtopte(va); - *pte = *head; /* virtual! PG_V is 0 though */ + *(vm_offset_t *)va = (vm_offset_t)head; *head = va; } static void pmap_ptelist_init(vm_offset_t *head, void *base, int npages) { - int i; - vm_offset_t va; - *head = 0; - for (i = npages - 1; i >= 0; i--) { - va = (vm_offset_t)base + i * PAGE_SIZE; - pmap_ptelist_free(head, va); - } } @@ -676,7 +739,7 @@ pv_entry_high_water = 9 * (pv_entry_max / 10); pv_maxchunks = MAX(pv_entry_max / _NPCPV, maxproc); - pv_chunkbase = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, + pv_next_unused = pv_chunkbase = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, PAGE_SIZE * pv_maxchunks); if (pv_chunkbase == NULL) panic("pmap_init: not enough kvm for pv chunks"); @@ -690,12 +753,6 @@ } -SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_max, CTLFLAG_RD, &pv_entry_max, 0, - "Max number of PV entries"); -SYSCTL_INT(_vm_pmap, OID_AUTO, shpgperproc, CTLFLAG_RD, &shpgperproc, 0, - "Page share factor per proc"); - /*************************************************** * Low level helper routines..... ***************************************************/ @@ -1882,36 +1939,6 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0, "Current number of pv entries"); -#ifdef PV_STATS -static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; - -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, - "Current number of pv entry chunks"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_allocs, CTLFLAG_RD, &pc_chunk_allocs, 0, - "Current number of pv entry chunks allocated"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_frees, CTLFLAG_RD, &pc_chunk_frees, 0, - "Current number of pv entry chunks frees"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, - "Number of times tried to get a chunk page but failed."); - -static long pv_entry_frees, pv_entry_allocs; -static int pv_entry_spare; - -SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, - "Current number of pv entry frees"); -SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, - "Current number of pv entry allocs"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0, - "Current number of spare pv entries"); - -static int pmap_collect_inactive, pmap_collect_active; - -SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_inactive, CTLFLAG_RD, &pmap_collect_inactive, 0, - "Current number times pmap_collect called on inactive queue"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_active, CTLFLAG_RD, &pmap_collect_active, 0, - "Current number times pmap_collect called on active queue"); -#endif - /* * We are in a serious low memory condition. Resort to * drastic measures to free some pages so we can allocate @@ -1974,7 +2001,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv) { - vm_page_t m; struct pv_chunk *pc; int idx, field, bit; @@ -1999,10 +2025,6 @@ PV_STAT(pc_chunk_frees++); /* entire chunk is free, return it */ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); - m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); - pmap_qremove((vm_offset_t)pc, 1); - vm_page_unwire(m, 0); - vm_page_free(m); pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc); } @@ -2015,12 +2037,10 @@ { static const struct timeval printinterval = { 60, 0 }; static struct timeval lastprint; - static vm_pindex_t colour; struct vpgqueues *pq; int bit, field; pv_entry_t pv; struct pv_chunk *pc; - vm_page_t m; PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); @@ -2056,42 +2076,13 @@ return (pv); } } - /* - * Access to the ptelist "pv_vafree" is synchronized by the page - * queues lock. If "pv_vafree" is currently non-empty, it will - * remain non-empty until pmap_ptelist_alloc() completes. - */ - if (pv_vafree == 0 || (m = vm_page_alloc(NULL, colour, (pq == - &vm_page_queues[PQ_ACTIVE] ? VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | - VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { - if (try) { - pv_entry_count--; - PV_STAT(pc_chunk_tryfail++); - return (NULL); - } - /* - * Reclaim pv entries: At first, destroy mappings to - * inactive pages. After that, if a pv chunk entry - * is still needed, destroy mappings to active pages. - */ - if (pq == NULL) { - PV_STAT(pmap_collect_inactive++); - pq = &vm_page_queues[PQ_INACTIVE]; - } else if (pq == &vm_page_queues[PQ_INACTIVE]) { - PV_STAT(pmap_collect_active++); - pq = &vm_page_queues[PQ_ACTIVE]; - } else - panic("get_pv_entry: increase vm.pmap.shpgperproc"); - pmap_collect(pmap, pq); + pc = (struct pv_chunk *)pmap_ptelist_alloc(pmap, try, &pv_vafree); + if (((vm_offset_t)pc) == 1) goto retry; - } + if (((vm_offset_t)pc) == 0) + return (NULL); PV_STAT(pc_chunk_count++); PV_STAT(pc_chunk_allocs++); - colour++; - pc = (struct pv_chunk *)pmap_ptelist_alloc(&pv_vafree); - pmap_qenter((vm_offset_t)pc, &m, 1); - if ((m->flags & PG_ZERO) == 0) - pagezero(pc); pc->pc_pmap = pmap; pc->pc_map[0] = pc_freemask[0] & ~1ul; /* preallocated bit 0 */ for (field = 1; field < _NPCM; field++) @@ -3439,10 +3430,6 @@ PV_STAT(pc_chunk_count--); PV_STAT(pc_chunk_frees++); TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); - m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); - pmap_qremove((vm_offset_t)pc, 1); - vm_page_unwire(m, 0); - vm_page_free(m); pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc); } } @@ -3502,8 +3489,6 @@ pt_entry_t *pte; boolean_t rv = FALSE; - return (rv); - if (*pmap_pde(pmap, addr)) { pte = vtopte(addr); rv = ((*pte & PG_V) == 0); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 05:51:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F315316A46E; Thu, 24 Jan 2008 05:51: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 A06DB16A419 for ; Thu, 24 Jan 2008 05:51:05 +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 A384C13C474 for ; Thu, 24 Jan 2008 05:51:05 +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 m0O5p56N079024 for ; Thu, 24 Jan 2008 05:51:05 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O5p5QX079021 for perforce@freebsd.org; Thu, 24 Jan 2008 05:51:05 GMT (envelope-from imp@freebsd.org) Date: Thu, 24 Jan 2008 05:51:05 GMT Message-Id: <200801240551.m0O5p5QX079021@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 133971 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 05:51:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=133971 Change 133971 by imp@imp_paco-paco on 2008/01/24 05:50:23 Save and restore the gp register. mips2 did this and I can't for the life of me think of why you wouldn't want to do this. But I'm still confused by the limited number of registers saved here and need to understand why better... Even without this change, we make it way past cpu_switch and get tangled up somewhere past fork_exit(). I wonder if the time has come to understand John Baldwin's mail about ast(). I also need to double check to see if mips32 cpus have odd-ball multiply registers. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#8 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#8 (text+ko) ==== @@ -246,6 +246,7 @@ SAVE_U_PCB_CONTEXT(s8, 9, a0) SAVE_U_PCB_CONTEXT(ra, 10, a0) SAVE_U_PCB_CONTEXT(v0, 11, a0) + SAVE_U_PCB_CONTEXT(gp, 12, a0) /* * FREEBSD_DEVELOPERS_FIXME: * In case there are CPU-specific registers that need @@ -300,6 +301,7 @@ SAVE_U_PCB_CONTEXT(s8, 9, a0) SAVE_U_PCB_CONTEXT(ra, 10, a0) # save return address SAVE_U_PCB_CONTEXT(t0, 11, a0) # save status register + SAVE_U_PCB_CONTEXT(gp, 12, a0) /* * FREEBSD_DEVELOPERS_FIXME: * In case there are CPU-specific registers that need @@ -380,6 +382,7 @@ * Restore registers and return. */ lw a0, TD_PCB(s7) + RESTORE_U_PCB_CONTEXT(gp, 12, a0) RESTORE_U_PCB_CONTEXT(v0, 11, a0) # restore kernel context RESTORE_U_PCB_CONTEXT(ra, 10, a0) RESTORE_U_PCB_CONTEXT(s0, 0, a0) From owner-p4-projects@FreeBSD.ORG Thu Jan 24 06:13:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB91716A420; Thu, 24 Jan 2008 06:13: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 812EF16A417 for ; Thu, 24 Jan 2008 06:13:31 +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 8122D13C455 for ; Thu, 24 Jan 2008 06:13:31 +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 m0O6DV57081822 for ; Thu, 24 Jan 2008 06:13:31 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O6DVTR081819 for perforce@freebsd.org; Thu, 24 Jan 2008 06:13:31 GMT (envelope-from imp@freebsd.org) Date: Thu, 24 Jan 2008 06:13:31 GMT Message-Id: <200801240613.m0O6DVTR081819@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 133972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 06:13:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=133972 Change 133972 by imp@imp_paco-paco on 2008/01/24 06:12:39 Restore the 'oh no' checks just before userret(), per email from John Baldwin. Don't understand his comments about ast() completely yet, so put the rest of his email in as a comment. I think need to track down where trap is called from and put some code in there... Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/trap.c#7 (text+ko) ==== @@ -291,9 +291,7 @@ static int emulate_unaligned_access(struct trapframe *frame); -#ifdef WITNESS extern char *syscallnames[]; -#endif /* * Handle an exception. @@ -799,6 +797,22 @@ * of being done here under a special check for SYS_ptrace(). */ done: + /* + * Check for misbehavior. + */ + WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", + (code >= 0 && code < SYS_MAXSYSCALL) ? + syscallnames[code] : "???"); + KASSERT(td->td_critnest == 0, + ("System call %s returning in a critical section", + (code >= 0 && code < SYS_MAXSYSCALL) ? + syscallnames[code] : "???")); + KASSERT(td->td_locks == 0, + ("System call %s returning with %d locks held", + (code >= 0 && code < SYS_MAXSYSCALL) ? + syscallnames[code] : "???", + td->td_locks)); + userret(td, trapframe); #ifdef KTRACE @@ -813,12 +827,48 @@ STOPEVENT(p, S_SCX, code); PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef GONE_IN_7 - WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", - (code >= 0 && code < SYS_MAXSYSCALL) ? - syscallnames[code] : "???"); - mtx_assert(&sched_lock, MA_NOTOWNED); - mtx_assert(&Giant, MA_NOTOWNED); + /* + * XXX ast still need to happen + * + * Mail from jhb@: + * + * ast() is also still relevant in 7 as well. What + * normally happens is that you have the following in + * assembly: + * + * trap_entry: + * setup regs + * call trap + * jmp exittrap + * + * syscall_entry: + * setup regs + * call syscall + * jmp exittrap + * + * exittrap: + * get ready to return from trap + * disable interrupts + * if returning to kernel jmp kernel + * asts: + * if no ASTs are pending jmp kernel + * enable interrupts + * call ast + * disable interrupts + * jmp asts + * kernel: + * restore registers + * reti + * + * or some such. You could do it in C if you wanted, + * but the idea is you want to only return to userland + * once you've verified you have no ASTs with + * interrupts disabled. If you get any AST's while + * returning to userland it's due to SMP and you will + * get an IPI that will post with 'reti' finishes. + */ if (curthread->td_flags & (TDF_ASTPENDING|TDF_NEEDRESCHED)) { ast(trapframe); } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 07:05:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA25716A41B; Thu, 24 Jan 2008 07:05: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 8F0B416A417 for ; Thu, 24 Jan 2008 07:05:26 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 83C9413C469 for ; Thu, 24 Jan 2008 07:05:26 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0O75QoN085641 for ; Thu, 24 Jan 2008 07:05:26 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O75Q4o085638 for perforce@freebsd.org; Thu, 24 Jan 2008 07:05:26 GMT (envelope-from sephe@FreeBSD.org) Date: Thu, 24 Jan 2008 07:05:26 GMT Message-Id: <200801240705.m0O75Q4o085638@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 133975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 07:05:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=133975 Change 133975 by sephe@sephe_zealot:sam_wifi on 2008/01/24 07:04:31 Duplicate the ieee80211_{scan_result,sta_info} structure and add {isr,isi}_capinfo2 at the end of the structure. Rename old structure to structure_name_v1. Suggested by: jhb Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#73 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#87 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#48 edit .. //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#12 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#73 (text+ko) ==== @@ -1953,17 +1953,15 @@ cp = buf; do { const struct ieee80211req_scan_result *sr; - const uint16_t *capinfo; const uint8_t *vp; + uint16_t capinfo; sr = (const struct ieee80211req_scan_result *) cp; - if (sr->isr_ie_off == sizeof(struct ieee80211req_scan_result)) { - /* Old scan_result, i.e. no capinfo */ - capinfo = NULL; - } else { - capinfo = (const uint16_t *) - (cp + sizeof(struct ieee80211req_scan_result)); - } + if (sr->isr_ie_off == + sizeof(struct ieee80211req_scan_result_v1)) + capinfo = sr->isr_capinfo; + else + capinfo = sr->isr_capinfo2; vp = cp + sr->isr_ie_off; printf("%-*.*s %s %3d %3dM %3d:%-3d %3d %-4.4s" , ssidmax @@ -1974,7 +1972,7 @@ , getmaxrate(sr->isr_rates, sr->isr_nrates) , (sr->isr_rssi/2)+sr->isr_noise, sr->isr_noise , sr->isr_intval - , getcaps(capinfo == NULL ? sr->isr_capinfo : *capinfo) + , getcaps(capinfo) ); printies(vp + sr->isr_ssid_len, sr->isr_ie_len, 24); printf("\n"); @@ -2117,18 +2115,15 @@ cp = (const uint8_t *) u.req.info; do { const struct ieee80211req_sta_info *si; - const uint16_t *capinfo; + uint16_t capinfo; si = (const struct ieee80211req_sta_info *) cp; if (si->isi_len < sizeof(*si)) break; - if (si->isi_ie_off == sizeof(struct ieee80211req_sta_info)) { - /* Old sta info, i.e. no capinfo */ - capinfo = NULL; - } else { - capinfo = (const uint16_t *) - (cp + sizeof(struct ieee80211req_sta_info)); - } + if (si->isi_ie_off == sizeof(struct ieee80211req_sta_info_v1)) + capinfo = si->isi_capinfo; + else + capinfo = si->isi_capinfo2; printf("%s %4u %4d %3dM %3.1f %4d %6d %6d %-4.4s %-4.4s" , ether_ntoa((const struct ether_addr*) si->isi_macaddr) , IEEE80211_AID(si->isi_associd) @@ -2138,7 +2133,7 @@ , si->isi_inact , gettxseq(si) , getrxseq(si) - , getcaps(capinfo == NULL ? si->isi_capinfo : *capinfo) + , getcaps(capinfo) , getflags(si->isi_state) ); printies(cp + si->isi_ie_off, si->isi_ie_len, 24); ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#87 (text+ko) ==== @@ -378,9 +378,6 @@ } #endif /* COMPAT_FREEBSD6 */ -/* capinfo */ -#define SCANRESULT_EXTRA_SIZE sizeof(uint16_t) - struct scanreq { struct ieee80211req_scan_result *sr; size_t space; @@ -405,9 +402,7 @@ * packet is <3Kbytes so we are sure this doesn't overflow * 16-bits; if this is a concern we can drop the ie's. */ - len = sizeof(struct ieee80211req_scan_result) - + SCANRESULT_EXTRA_SIZE - + se->se_ssid[1] + *ielen; + len = sizeof(struct ieee80211req_scan_result) + se->se_ssid[1] + *ielen; return roundup(len, sizeof(uint32_t)); } @@ -435,8 +430,7 @@ sr = req->sr; KASSERT(len <= 65535 && ielen <= 65535, ("len %u ssid %u ie %u", len, se->se_ssid[1], ielen)); - sr->isr_ie_off = sizeof(struct ieee80211req_scan_result) - + SCANRESULT_EXTRA_SIZE; + sr->isr_ie_off = sizeof(struct ieee80211req_scan_result); sr->isr_ie_len = ielen; sr->isr_len = len; sr->isr_freq = se->se_chan->ic_freq; @@ -445,6 +439,7 @@ sr->isr_noise = se->se_noise; sr->isr_intval = se->se_intval; sr->isr_capinfo = se->se_capinfo; /* deprecated */ + sr->isr_capinfo2 = se->se_capinfo; sr->isr_erp = se->se_erp; IEEE80211_ADDR_COPY(sr->isr_bssid, se->se_bssid); nr = min(se->se_rates[1], IEEE80211_RATE_MAXSIZE); @@ -453,10 +448,6 @@ memcpy(sr->isr_rates+nr, se->se_xrates+2, nxr); sr->isr_nrates = nr + nxr; - /* Extra data */ - cp = ((uint8_t *)sr + sizeof(struct ieee80211req_scan_result)); - *((uint16_t *)cp) = se->se_capinfo; /* capinfo */ - sr->isr_ssid_len = se->se_ssid[1]; cp = ((uint8_t *)sr) + sr->isr_ie_off; memcpy(cp, se->se_ssid+2, sr->isr_ssid_len); @@ -514,9 +505,6 @@ size_t space; }; -/* capinfo */ -#define STAINFO_EXTRA_SIZE sizeof(uint16_t) - static size_t sta_space(const struct ieee80211_node *ni, size_t *ielen) { @@ -529,8 +517,7 @@ *ielen += 2+ni->ni_wme_ie[1]; if (ni->ni_ath_ie != NULL) *ielen += 2+ni->ni_ath_ie[1]; - return roundup(sizeof(struct ieee80211req_sta_info) + - STAINFO_EXTRA_SIZE + *ielen, + return roundup(sizeof(struct ieee80211req_sta_info) + *ielen, sizeof(uint32_t)); } @@ -566,8 +553,7 @@ return; si = req->si; si->isi_len = len; - si->isi_ie_off = sizeof(struct ieee80211req_sta_info) - + STAINFO_EXTRA_SIZE; + si->isi_ie_off = sizeof(struct ieee80211req_sta_info); si->isi_ie_len = ielen; si->isi_freq = ni->ni_chan->ic_freq; si->isi_flags = ni->ni_chan->ic_flags; @@ -576,6 +562,7 @@ ic->ic_node_getsignal(ni, &si->isi_rssi, &si->isi_noise); si->isi_noise = 0; /* XXX */ si->isi_capinfo = ni->ni_capinfo; /* deprecated */ + si->isi_capinfo2 = ni->ni_capinfo; si->isi_erp = ni->ni_erp; IEEE80211_ADDR_COPY(si->isi_macaddr, ni->ni_macaddr); si->isi_nrates = ni->ni_rates.rs_nrates; @@ -603,10 +590,6 @@ si->isi_inact = ic->ic_inact_init; si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT; - /* Extra data */ - cp = ((uint8_t *)si + sizeof(struct ieee80211req_sta_info)); - *((uint16_t *)cp) = ni->ni_capinfo; /* capinfo */ - if (ielen) { cp = ((uint8_t *)si) + si->isi_ie_off; cp = copyie(cp, ni->ni_wpa_ie); ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#48 (text+ko) ==== @@ -334,6 +334,34 @@ * Station information block; the mac address is used * to retrieve other data like stats, unicast key, etc. */ +struct ieee80211req_sta_info_v1 { + uint16_t isi_len; /* length (mult of 4) */ + uint16_t isi_ie_off; /* offset to IE data */ + uint16_t isi_ie_len; /* IE length */ + uint16_t isi_freq; /* MHz */ + uint32_t isi_flags; /* channel flags */ + uint16_t isi_state; /* state flags */ + uint8_t isi_authmode; /* authentication algorithm */ + int8_t isi_rssi; /* receive signal strength */ + int8_t isi_noise; /* noise floor */ + uint8_t isi_capinfo; /* capabilities */ + uint8_t isi_erp; /* ERP element */ + uint8_t isi_macaddr[IEEE80211_ADDR_LEN]; + uint8_t isi_nrates; + /* negotiated rates */ + uint8_t isi_rates[IEEE80211_RATE_MAXSIZE]; + uint8_t isi_txrate; /* index to isi_rates[] */ + uint16_t isi_associd; /* assoc response */ + uint16_t isi_txpower; /* current tx power */ + uint16_t isi_vlan; /* vlan tag */ + /* NB: [IEEE80211_NONQOS_TID] holds seq#'s for non-QoS stations */ + uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */ + uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */ + uint16_t isi_inact; /* inactivity timer */ + /* XXX frag state? */ + /* variable length IE data */ +}; + struct ieee80211req_sta_info { uint16_t isi_len; /* length (mult of 4) */ uint16_t isi_ie_off; /* offset to IE data */ @@ -358,8 +386,8 @@ uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */ uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */ uint16_t isi_inact; /* inactivity timer */ + uint16_t isi_capinfo2; /* capabilities */ /* XXX frag state? */ - /* 2 bytes capinfo in host byte order */ /* variable length IE data */ }; @@ -523,6 +551,24 @@ * size structure and the entire length of the record is specified * in isr_len. Result records are rounded to a multiple of 4 bytes. */ +struct ieee80211req_scan_result_v1 { + uint16_t isr_len; /* length (mult of 4) */ + uint16_t isr_ie_off; /* offset to IE data */ + uint16_t isr_ie_len; /* IE length */ + uint16_t isr_freq; /* MHz */ + uint16_t isr_flags; /* channel flags */ + int8_t isr_noise; + int8_t isr_rssi; + uint8_t isr_intval; /* beacon interval */ + uint8_t isr_capinfo; /* capabilities */ + uint8_t isr_erp; /* ERP element */ + uint8_t isr_bssid[IEEE80211_ADDR_LEN]; + uint8_t isr_nrates; + uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]; + uint8_t isr_ssid_len; /* SSID length */ + /* variable length SSID followed by IE data */ +}; + struct ieee80211req_scan_result { uint16_t isr_len; /* length (mult of 4) */ uint16_t isr_ie_off; /* offset to IE data */ @@ -538,7 +584,7 @@ uint8_t isr_nrates; uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]; uint8_t isr_ssid_len; /* SSID length */ - /* 2 bytes capinfo in host byte order */ + uint16_t isr_capinfo2; /* capabilities */ /* variable length SSID followed by IE data */ }; ==== //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#12 (text+ko) ==== @@ -634,15 +634,14 @@ cp = buf; wsr = results; while (len >= sizeof(struct ieee80211req_scan_result)) { - const uint16_t *capinfo; + uint16_t capinfo; sr = (const struct ieee80211req_scan_result *) cp; - if (sr->isr_ie_off == sizeof(struct ieee80211req_scan_result)) { - capinfo = NULL; - } else { - capinfo = (const uint16_t *) - (cp + sizeof(struct ieee80211req_scan_result)); - } + if (sr->isr_ie_off == + sizeof(struct ieee80211req_scan_result_v1)) + capinfo = sr->isr_capinfo; + else + capinfo = sr->isr_capinfo2; memcpy(wsr->bssid, sr->isr_bssid, IEEE80211_ADDR_LEN); wsr->ssid_len = sr->isr_ssid_len; @@ -650,7 +649,7 @@ wsr->noise = sr->isr_noise; wsr->qual = sr->isr_rssi; wsr->level = 0; /* XXX? */ - wsr->caps = capinfo == NULL ? sr->isr_capinfo : *capinfo; + wsr->caps = capinfo; wsr->maxrate = getmaxrate(sr->isr_rates, sr->isr_nrates); vp = ((u_int8_t *)sr) + sr->isr_ie_off; memcpy(wsr->ssid, vp, sr->isr_ssid_len); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 07:36:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E278116A468; Thu, 24 Jan 2008 07:36: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 A641316A418 for ; Thu, 24 Jan 2008 07:36:01 +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 99C9713C4DB for ; Thu, 24 Jan 2008 07:36:01 +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 m0O7a18o093492 for ; Thu, 24 Jan 2008 07:36:01 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O7a1ED093489 for perforce@freebsd.org; Thu, 24 Jan 2008 07:36:01 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 07:36:01 GMT Message-Id: <200801240736.m0O7a1ED093489@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 133977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 07:36:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=133977 Change 133977 by kmacy@kmacy:storage:toehead on 2008/01/24 07:35:33 import cpl_io ddp support Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/sys/mvec.h#6 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#4 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/sys/mvec.h#6 (text+ko) ==== @@ -48,9 +48,10 @@ extern int cxgb_mbufs_outstanding; extern int cxgb_pack_outstanding; -#define mtomv(m) ((struct mbuf_vec *)((m)->m_pktdat)) -#define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ -#define EXT_PHYS 10 /* physical/bus address */ +#define mtomv(m) ((struct mbuf_vec *)((m)->m_pktdat)) +#define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ +#define M_DDP 0x200000 /* direct data placement mbuf */ +#define EXT_PHYS 10 /* physical/bus address */ /* @@ -74,6 +75,11 @@ #define EXT_CLIOVEC 9 #define EXT_JMPIOVEC 10 +#define m_cur_offset m_ext.ext_size /* override to provide ddp offset */ +#define m_seq m_pkthdr.csum_data /* stored sequence */ +#define m_ddp_gl m_ext.ext_buf /* ddp list */ +#define m_ddp_flags m_pkthdr.csum_flags /* ddp flags */ +#define m_ulp_mode m_ext.ext_type /* upper level protocol */ extern uma_zone_t zone_miovec; ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 (text+ko) ==== @@ -478,6 +478,14 @@ return (credits); } +/* + * Returns true if a socket cannot accept new Rx data. + */ +static inline int +so_no_receive(const struct socket *so) +{ + return (so->so_state & (SS_ISDISCONNECTED|SS_ISDISCONNECTING)); +} /* * Set of states for which we should return RX credits. @@ -1465,6 +1473,253 @@ } /* + * Returns true if we need to explicitly request RST when we receive new data + * on an RX-closed connection. + */ +static inline int +need_rst_on_excess_rx(const struct toepcb *toep) +{ + return (1); +} + +/* + * Handles Rx data that arrives in a state where the socket isn't accepting + * new data. + */ +static void +handle_excess_rx(struct toepcb *toep, struct mbuf *m) +{ + + if (need_rst_on_excess_rx(toep) && !(toep->tp_flags & TP_ABORT_SHUTDOWN)) + t3_send_reset(toep); + m_freem(m); +} + +/* + * Process a get_tcb_rpl as a DDP completion (similar to RX_DDP_COMPLETE) + * by getting the DDP offset from the TCB. + */ +static void +tcb_rpl_as_ddp_complete(struct toepcb *toep, struct mbuf *m) +{ + struct ddp_state *q = &toep->tp_ddp_state; + struct ddp_buf_state *bsp; + struct cpl_get_tcb_rpl *hdr; + unsigned int ddp_offset; + struct socket *so; + struct tcpcb *tp; + + uint64_t t; + __be64 *tcb; + + + /* Note that we only accout for CPL_GET_TCB issued by the DDP code. We + * really need a cookie in order to dispatch the RPLs. + */ + q->get_tcb_count--; + + /* It is a possible that a previous CPL already invalidated UBUF DDP + * and moved the cur_buf idx and hence no further processing of this + * skb is required. However, the app might be sleeping on + * !q->get_tcb_count and we need to wake it up. + */ + if (q->cancel_ubuf && !t3_ddp_ubuf_pending(toep)) { + struct socket *so = toeptoso(toep); + + m_freem(m); + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) + sorwakeup(so); + + return; + } + + bsp = &q->buf_state[q->cur_buf]; + hdr = cplhdr(m); + tcb = (__be64 *)(hdr + 1); + if (q->cur_buf == 0) { + t = be64toh(tcb[(31 - W_TCB_RX_DDP_BUF0_OFFSET) / 2]); + ddp_offset = t >> (32 + S_TCB_RX_DDP_BUF0_OFFSET); + } else { + t = be64toh(tcb[(31 - W_TCB_RX_DDP_BUF1_OFFSET) / 2]); + ddp_offset = t >> S_TCB_RX_DDP_BUF1_OFFSET; + } + ddp_offset &= M_TCB_RX_DDP_BUF0_OFFSET; + +#ifdef T3_TRACE + T3_TRACE3(TIDTB(so), + "tcb_rpl_as_ddp_complete: seq 0x%x hwbuf %u ddp_offset %u", + tp->rcv_nxt, q->cur_buf, ddp_offset); +#endif + +#if 0 +{ + unsigned int ddp_flags, rcv_nxt, rx_hdr_offset, buf_idx; + + t = be64toh(tcb[(31 - W_TCB_RX_DDP_FLAGS) / 2]); + ddp_flags = (t >> S_TCB_RX_DDP_FLAGS) & M_TCB_RX_DDP_FLAGS; + + t = be64toh(tcb[(31 - W_TCB_RCV_NXT) / 2]); + rcv_nxt = t >> S_TCB_RCV_NXT; + rcv_nxt &= M_TCB_RCV_NXT; + + t = be64toh(tcb[(31 - W_TCB_RX_HDR_OFFSET) / 2]); + rx_hdr_offset = t >> (32 + S_TCB_RX_HDR_OFFSET); + rx_hdr_offset &= M_TCB_RX_HDR_OFFSET; + + T3_TRACE2(TIDTB(sk), + "tcb_rpl_as_ddp_complete: DDP FLAGS 0x%x dma up to 0x%x", + ddp_flags, rcv_nxt - rx_hdr_offset); + T3_TRACE4(TB(q), + "tcb_rpl_as_ddp_complete: rcvnxt 0x%x hwbuf %u cur_offset %u cancel %u", + tp->rcv_nxt, q->cur_buf, bsp->cur_offset, q->cancel_ubuf); + T3_TRACE3(TB(q), + "tcb_rpl_as_ddp_complete: TCB rcvnxt 0x%x hwbuf 0x%x ddp_offset %u", + rcv_nxt - rx_hdr_offset, ddp_flags, ddp_offset); + T3_TRACE2(TB(q), + "tcb_rpl_as_ddp_complete: flags0 0x%x flags1 0x%x", + q->buf_state[0].flags, q->buf_state[1].flags); + +} +#endif + m->m_cur_offset = bsp->cur_offset; + bsp->cur_offset = ddp_offset; + m->m_pkthdr.len = ddp_offset - m->m_cur_offset; + so = toeptoso(toep); + + if (__predict_false(so_no_receive(so) && m->m_pkthdr.len)) { + handle_excess_rx(toep, m); + return; + } + +#ifdef T3_TRACE + if ((int)m->m_pkthdr.len < 0) { + t3_ddp_error(so, "tcb_rpl_as_ddp_complete: neg len"); + } +#endif + if (bsp->flags & DDP_BF_NOCOPY) { +#ifdef T3_TRACE + T3_TRACE0(TB(q), + "tcb_rpl_as_ddp_complete: CANCEL UBUF"); + + if (!q->cancel_ubuf && !(sk->sk_shutdown & RCV_SHUTDOWN)) { + printk("!cancel_ubuf"); + t3_ddp_error(sk, "tcb_rpl_as_ddp_complete: !cancel_ubuf"); + } +#endif + m->m_ddp_flags = DDP_BF_PSH | DDP_BF_NOCOPY | 1; + bsp->flags &= ~DDP_BF_NOCOPY; + q->cur_buf ^= 1; + } else if (bsp->flags & DDP_BF_NOFLIP) { + + m->m_ddp_flags = 1; /* always a kernel buffer */ + + /* now HW buffer carries a user buffer */ + bsp->flags &= ~DDP_BF_NOFLIP; + bsp->flags |= DDP_BF_NOCOPY; + + /* It is possible that the CPL_GET_TCB_RPL doesn't indicate + * any new data in which case we're done. If in addition the + * offset is 0, then there wasn't a completion for the kbuf + * and we need to decrement the posted count. + */ + if (m->m_pkthdr.len == 0) { + if (ddp_offset == 0) + q->kbuf_posted--; + panic("length not set"); + m_free(m); + return; + } + } else { + /* This reply is for a CPL_GET_TCB_RPL to cancel the UBUF DDP, + * but it got here way late and nobody cares anymore. + */ + m_free(m); + return; + } + + tp = toep->tp_tp; + m->m_ddp_gl = (unsigned char *)bsp->gl; + m->m_seq = tp->rcv_nxt; + tp->rcv_nxt += m->m_pkthdr.len; + tp->t_rcvtime = ticks; + +#if 0 + skb->h.th = tcphdr_skb->h.th; +#endif +#ifdef T3_TRACE + T3_TRACE3(TB(q), + "tcb_rpl_as_ddp_complete: seq 0x%x hwbuf %u lskb->len %u", + m->m_seq, q->cur_buf, m->m_pkthdr.len); +#endif +#ifdef notyet + __skb_queue_tail(&sk->sk_receive_queue, skb); +#endif + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) + sorwakeup(so); +} + +/* + * Process a CPL_GET_TCB_RPL. These can also be generated by the DDP code, + * in that case they are similar to DDP completions. + */ +static int +do_get_tcb_rpl(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct toepcb *toep = (struct toepcb *)ctx; + + /* OK if socket doesn't exist */ + if (toep == NULL) + return (CPL_RET_BUF_DONE); + + tcb_rpl_as_ddp_complete(toep, m); + + return (0); +} + +static void +handle_ddp_data(struct toepcb *toep, struct mbuf *m) +{ + struct tcpcb *tp = toep->tp_tp; + struct ddp_state *q; + struct ddp_buf_state *bsp; + struct cpl_rx_data *hdr = cplhdr(m); + unsigned int rcv_nxt = ntohl(hdr->seq); + + if (tp->rcv_nxt == rcv_nxt) + return; + + q = &toep->tp_ddp_state; + bsp = &q->buf_state[q->cur_buf]; + m->m_pkthdr.len = rcv_nxt - tp->rcv_nxt; + +#ifdef T3_TRACE + if ((int)m->m_pkthdr.len < 0) { + t3_ddp_error(so, "handle_ddp_data: neg len"); + } +#endif + + m->m_ddp_gl = (unsigned char *)bsp->gl; + m->m_cur_offset = bsp->cur_offset; + m->m_ddp_flags = DDP_BF_PSH | (bsp->flags & DDP_BF_NOCOPY) | 1; + if (bsp->flags & DDP_BF_NOCOPY) + bsp->flags &= ~DDP_BF_NOCOPY; + + m->m_seq = tp->rcv_nxt; + tp->rcv_nxt = rcv_nxt; + bsp->cur_offset += m->m_pkthdr.len; + if (!(bsp->flags & DDP_BF_NOFLIP)) + q->cur_buf ^= 1; + tp->t_rcvtime = ticks; +#ifdef notyet + __skb_queue_tail(&sk->sk_receive_queue, skb); +#endif + /* For now, don't re-enable DDP after a connection fell out of DDP + * mode. + */ + q->ubuf_ddp_ready = 0; +} + +/* * Process new data received for a connection. */ static void @@ -1477,26 +1732,25 @@ INP_LOCK(tp->t_inpcb); -#ifdef notyet - if (__predict_false(sk_no_receive(sk))) { - handle_excess_rx(so, skb); + if (__predict_false(so_no_receive(so))) { + handle_excess_rx(toep, m); return; } - if (ULP_MODE(tp) == ULP_MODE_TCPDDP) - handle_ddp_data(so, skb); + if (toep->tp_ulp_mode == ULP_MODE_TCPDDP) + handle_ddp_data(toep, m); + + m->m_seq = ntohl(hdr->seq); + m->m_ddp_flags = 0; + m->m_ulp_mode = 0; /* for iSCSI */ - TCP_SKB_CB(skb)->seq = ntohl(hdr->seq); - TCP_SKB_CB(skb)->flags = 0; - skb_ulp_mode(skb) = 0; /* for iSCSI */ -#endif #if VALIDATE_SEQ - if (__predict_false(TCP_SKB_CB(skb)->seq != tp->rcv_nxt)) { - printk(KERN_ERR + if (__predict_false(m->m_seq != tp->rcv_nxt)) { + log(LOG_ERR, "%s: TID %u: Bad sequence number %u, expected %u\n", - TOE_DEV(sk)->name, TID(tp), TCP_SKB_CB(skb)->seq, + TOE_DEV(toeptoso(toep))->name, toep->tp_tid, m->m_seq, tp->rcv_nxt); - __kfree_skb(skb); + m_freem(m); return; } #endif @@ -1528,8 +1782,8 @@ toep->tp_enqueued_bytes += m->m_pkthdr.len; #ifdef T3_TRACE T3_TRACE2(TIDTB(sk), - "new_rx_data: seq 0x%x len %u", - TCP_SKB_CB(skb)->seq, skb->len); + "new_rx_data: seq 0x%x len %u", + m->m_seq, m->m_pkthdr.len); #endif SOCKBUF_LOCK(&so->so_rcv); if (sb_notify(&so->so_rcv)) @@ -1567,21 +1821,20 @@ } static void -new_rx_data_ddp(struct socket *so, struct mbuf *m) +new_rx_data_ddp(struct toepcb *toep, struct mbuf *m) { - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + struct tcpcb *tp; struct ddp_state *q; struct ddp_buf_state *bsp; struct cpl_rx_data_ddp *hdr; unsigned int ddp_len, rcv_nxt, ddp_report, end_offset, buf_idx; + struct socket *so = toeptoso(toep); -#ifdef notyet - if (unlikely(sk_no_receive(sk))) { - handle_excess_rx(so, m); + if (__predict_false(so_no_receive(so))) { + handle_excess_rx(toep, m); return; } -#endif + tp = sototcpcb(so); q = &toep->tp_ddp_state; hdr = cplhdr(m); @@ -1604,7 +1857,7 @@ rcv_nxt = ntohl(hdr->seq) + ddp_len; /* - * Overload to store old rcv_next + * Overload to store old RCV_NXT */ m->m_pkthdr.csum_data = tp->rcv_nxt; tp->rcv_nxt = rcv_nxt; @@ -1622,15 +1875,8 @@ * account for page pod's pg_offset. */ end_offset = G_DDP_OFFSET(ddp_report) + ddp_len; -#ifdef notyet - TCP_SKB_CB(skb)->when = end_offset - skb->len; - - /* - * We store in mac.raw the address of the gather list where the - * placement happened. - */ - skb->mac.raw = (unsigned char *)bsp->gl; -#endif + m->m_cur_offset = end_offset - m->m_pkthdr.len; + m->m_ddp_gl = (unsigned char *)bsp->gl; bsp->cur_offset = end_offset; /* @@ -1638,9 +1884,6 @@ * Note that other parts of the code depend on this being in bit 0. */ if ((bsp->flags & DDP_BF_NOINVAL) && end_offset != bsp->gl->dgl_length) { -#if 0 - TCP_SKB_CB(skb)->flags = 0; /* potential spurious completion */ -#endif panic("spurious ddp completion"); } else { m->m_pkthdr.csum_flags = !!(ddp_report & F_DDP_BUF_COMPLETE); @@ -1676,7 +1919,6 @@ do_rx_data_ddp(struct t3cdev *cdev, struct mbuf *m, void *ctx) { struct toepcb *toep = ctx; - struct socket *so = toeptoso(toep); const struct cpl_rx_data_ddp *hdr = cplhdr(m); VALIDATE_SOCK(so); @@ -1689,26 +1931,25 @@ #if 0 skb->h.th = tcphdr_skb->h.th; #endif - new_rx_data_ddp(so, m); + new_rx_data_ddp(toep, m); return (0); } static void -process_ddp_complete(struct socket *so, struct mbuf *m) +process_ddp_complete(struct toepcb *toep, struct mbuf *m) { - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + struct tcpcb *tp = toep->tp_tp; + struct socket *so = toeptoso(toep); struct ddp_state *q; struct ddp_buf_state *bsp; struct cpl_rx_ddp_complete *hdr; unsigned int ddp_report, buf_idx, when; -#ifdef notyet - if (unlikely(sk_no_receive(sk))) { - handle_excess_rx(sk, skb); + if (__predict_false(so_no_receive(so))) { + handle_excess_rx(toep, m); return; } -#endif + q = &toep->tp_ddp_state; hdr = cplhdr(m); ddp_report = ntohl(hdr->ddp_report); @@ -1748,11 +1989,11 @@ tp->rcv_nxt += m->m_len; tp->t_rcvtime = ticks; - sbappendstream_locked(&so->so_rcv, m); -#ifdef notyet - if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_data_ready(sk, 0); -#endif + sbappendstream_locked(&so->so_rcv, m) + ; + if ((so->so_state & SS_NOFDREF) == 0) + sorwakeup_locked(so); + } /* @@ -1762,13 +2003,12 @@ do_rx_ddp_complete(struct t3cdev *cdev, struct mbuf *m, void *ctx) { struct toepcb *toep = ctx; - struct socket *so = toeptoso(toep); VALIDATE_SOCK(so); #if 0 skb->h.th = tcphdr_skb->h.th; #endif - process_ddp_complete(so, m); + process_ddp_complete(toep, m); return (0); } @@ -3413,8 +3653,8 @@ #ifdef notyet t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify); t3tom_register_cpl_handler(CPL_TRACE_PKT, do_trace_pkt); +#endif t3tom_register_cpl_handler(CPL_GET_TCB_RPL, do_get_tcb_rpl); -#endif return (0); } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#4 (text+ko) ==== @@ -1001,6 +1001,38 @@ (TOM_TUNABLE(toep->tp_toedev, ddp_copy_limit) + DDP_RSVD_WIN); } + +static inline int +is_ddp(const struct mbuf *m) +{ + return (m->m_flags & M_DDP); +} + +static inline int +is_ddp_psh(const struct mbuf *m) +{ + return is_ddp(skb) && (m->m_pkthdr.csum_flags & DDP_BF_PSH); +} + +/* + * Copy data from an sk_buff to an iovec. Deals with RX_DATA, which carry the + * data in the sk_buff body, and with RX_DATA_DDP, which place the data in a + * DDP buffer. + */ +static inline int +copy_data(const struct mbuf *m, int offset, struct iovec *to, int len) +{ + if (__predict_true(!is_ddp(m))) /* RX_DATA */ + return mbuf_copy_datagram_iovec(m, offset, to, len); + if (__predict_true(m->pkthdr.csum_flags & DDP_BF_NOCOPY)) { /* user DDP */ + to->iov_len -= len; + to->iov_base += len; + return 0; + } + return t3_ddp_copy(m, offset, to, len); /* kernel DDP */ +} + + #endif /* * Clean up DDP state that needs to survive until socket close time, such as the @@ -1014,9 +1046,6 @@ struct ddp_state *p = &toep->tp_ddp_state; int idx; - if (!p) - return; - for (idx = 0; idx < NUM_DDP_KBUF; idx++) if (p->kbuf[idx]) { ddp_gl_free_pages(p->kbuf[idx], 0); @@ -1026,6 +1055,7 @@ if (p->ubuf) { ddp_gl_free_pages(p->ubuf, 0); free(p->ubuf, M_DEVBUF); + p->ubuf = NULL; } toep->tp_ulp_mode = 0; } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#4 (text+ko) ==== @@ -135,9 +135,8 @@ /* * Returns 1 if a UBUF DMA buffer might be active. */ -static inline int t3_ddp_ubuf_pending(struct socket *so) +static inline int t3_ddp_ubuf_pending(struct toepcb *toep) { - struct toepcb *toep = sototcpcb(so)->t_toe; struct ddp_state *p = &toep->tp_ddp_state; /* When the TOM_TUNABLE(ddp) is enabled, we're always in ULP_MODE DDP, From owner-p4-projects@FreeBSD.ORG Thu Jan 24 08:36:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBBAA16A421; Thu, 24 Jan 2008 08:36: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 8099316A417 for ; Thu, 24 Jan 2008 08:36:07 +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 7378C13C46B for ; Thu, 24 Jan 2008 08:36:07 +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 m0O8a7Up001670 for ; Thu, 24 Jan 2008 08:36:07 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O8a7OI001667 for perforce@freebsd.org; Thu, 24 Jan 2008 08:36:07 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 08:36:07 GMT Message-Id: <200801240836.m0O8a7OI001667@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 133982 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 08:36:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=133982 Change 133982 by kmacy@pandemonium:kmacy:xen31 on 2008/01/24 08:35:40 backout previous broken changes Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#33 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#33 (text+ko) ==== @@ -225,7 +225,6 @@ static int shpgperproc = PMAP_SHPGPERPROC; struct pv_chunk *pv_chunkbase; /* KVA block for pv_chunks */ -struct pv_chunk *pv_next_unused; /* KVA free block for pv_chunks */ int pv_maxchunks; /* How many chunks we have KVA for */ vm_offset_t pv_vafree; /* freelist stored in the PTE */ @@ -294,7 +293,6 @@ static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t *); static vm_offset_t pmap_kmem_choose(vm_offset_t addr); static boolean_t pmap_is_prefaultable_locked(pmap_t pmap, vm_offset_t addr); -static void pmap_collect(pmap_t locked_pmap, struct vpgqueues *vpq); #if defined(PAE) && !defined(XEN) static void *pmap_pdpt_allocf(uma_zone_t zone, int bytes, u_int8_t *flags, int wait); @@ -310,41 +308,8 @@ */ CTASSERT(KERNBASE % (1 << 24) == 0); -SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_max, CTLFLAG_RD, &pv_entry_max, 0, - "Max number of PV entries"); -SYSCTL_INT(_vm_pmap, OID_AUTO, shpgperproc, CTLFLAG_RD, &shpgperproc, 0, - "Page share factor per proc"); - -#ifdef PV_STATS -static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; - -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, - "Current number of pv entry chunks"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_allocs, CTLFLAG_RD, &pc_chunk_allocs, 0, - "Current number of pv entry chunks allocated"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_frees, CTLFLAG_RD, &pc_chunk_frees, 0, - "Current number of pv entry chunks frees"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, - "Number of times tried to get a chunk page but failed."); - -static long pv_entry_frees, pv_entry_allocs; -static int pv_entry_spare; - -SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, - "Current number of pv entry frees"); -SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, - "Current number of pv entry allocs"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0, - "Current number of spare pv entries"); -static int pmap_collect_inactive, pmap_collect_active; -SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_inactive, CTLFLAG_RD, &pmap_collect_inactive, 0, - "Current number times pmap_collect called on inactive queue"); -SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_active, CTLFLAG_RD, &pmap_collect_active, 0, - "Current number times pmap_collect called on active queue"); -#endif static __inline void pagezero(void *page) @@ -648,73 +613,45 @@ * Because PG_V is never set, there can be no mappings to invalidate. */ static vm_offset_t -pmap_ptelist_alloc(pmap_t pmap, int try, vm_offset_t *head) +pmap_ptelist_alloc(vm_offset_t *head) { + pt_entry_t *pte; vm_offset_t va; - vm_page_t m; - struct vpgqueues *pq; - static vm_pindex_t colour; - - if (head != NULL) { - va = (vm_offset_t) *head; - *head = **(vm_offset_t **)head; - return (va); - } - - if ((uint32_t)pv_next_unused < (uint32_t)((uint8_t *)pv_chunkbase) + pv_maxchunks*PAGE_SIZE) { - va = (vm_offset_t)pv_next_unused; - pv_next_unused++; - } else - return (0); - - /* - * Access to the ptelist "pv_vafree" is synchronized by the page - * queues lock. If "pv_vafree" is currently non-empty, it will - * remain non-empty until pmap_ptelist_alloc() completes. - */ - if (pv_vafree == 0 || (m = vm_page_alloc(NULL, colour, (pq == - &vm_page_queues[PQ_ACTIVE] ? VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | - VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { - if (try) { - pv_entry_count--; - PV_STAT(pc_chunk_tryfail++); - return (0); - } - /* - * Reclaim pv entries: At first, destroy mappings to - * inactive pages. After that, if a pv chunk entry - * is still needed, destroy mappings to active pages. - */ - if (pq == NULL) { - PV_STAT(pmap_collect_inactive++); - pq = &vm_page_queues[PQ_INACTIVE]; - } else if (pq == &vm_page_queues[PQ_INACTIVE]) { - PV_STAT(pmap_collect_active++); - pq = &vm_page_queues[PQ_ACTIVE]; - } else - panic("get_pv_entry: increase vm.pmap.shpgperproc"); - pmap_collect(pmap, pq); - return (1); /* ~\0_o/~ */ - } - colour++; - pmap_qenter(va, &m, 1); - if ((m->flags & PG_ZERO) == 0) - pagezero((void *)va); + va = *head; + if (va == 0) + return (va); /* Out of memory */ + pte = vtopte(va); + *head = *pte; + if (*head & PG_V) + panic("pmap_ptelist_alloc: va with PG_V set!"); + *pte = 0; return (va); } static void pmap_ptelist_free(vm_offset_t *head, vm_offset_t va) { - *(vm_offset_t *)va = (vm_offset_t)head; + pt_entry_t *pte; + + if (va & PG_V) + panic("pmap_ptelist_free: freeing va with PG_V set!"); + pte = vtopte(va); + *pte = *head; /* virtual! PG_V is 0 though */ *head = va; } static void pmap_ptelist_init(vm_offset_t *head, void *base, int npages) { + int i; + vm_offset_t va; + *head = 0; + for (i = npages - 1; i >= 0; i--) { + va = (vm_offset_t)base + i * PAGE_SIZE; + pmap_ptelist_free(head, va); + } } @@ -739,7 +676,7 @@ pv_entry_high_water = 9 * (pv_entry_max / 10); pv_maxchunks = MAX(pv_entry_max / _NPCPV, maxproc); - pv_next_unused = pv_chunkbase = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, + pv_chunkbase = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, PAGE_SIZE * pv_maxchunks); if (pv_chunkbase == NULL) panic("pmap_init: not enough kvm for pv chunks"); @@ -753,6 +690,12 @@ } +SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_max, CTLFLAG_RD, &pv_entry_max, 0, + "Max number of PV entries"); +SYSCTL_INT(_vm_pmap, OID_AUTO, shpgperproc, CTLFLAG_RD, &shpgperproc, 0, + "Page share factor per proc"); + /*************************************************** * Low level helper routines..... ***************************************************/ @@ -1939,6 +1882,36 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0, "Current number of pv entries"); +#ifdef PV_STATS +static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, + "Current number of pv entry chunks"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_allocs, CTLFLAG_RD, &pc_chunk_allocs, 0, + "Current number of pv entry chunks allocated"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_frees, CTLFLAG_RD, &pc_chunk_frees, 0, + "Current number of pv entry chunks frees"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, + "Number of times tried to get a chunk page but failed."); + +static long pv_entry_frees, pv_entry_allocs; +static int pv_entry_spare; + +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, + "Current number of pv entry frees"); +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, + "Current number of pv entry allocs"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0, + "Current number of spare pv entries"); + +static int pmap_collect_inactive, pmap_collect_active; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_inactive, CTLFLAG_RD, &pmap_collect_inactive, 0, + "Current number times pmap_collect called on inactive queue"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_active, CTLFLAG_RD, &pmap_collect_active, 0, + "Current number times pmap_collect called on active queue"); +#endif + /* * We are in a serious low memory condition. Resort to * drastic measures to free some pages so we can allocate @@ -2001,6 +1974,7 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv) { + vm_page_t m; struct pv_chunk *pc; int idx, field, bit; @@ -2025,6 +1999,10 @@ PV_STAT(pc_chunk_frees++); /* entire chunk is free, return it */ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); + pmap_qremove((vm_offset_t)pc, 1); + vm_page_unwire(m, 0); + vm_page_free(m); pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc); } @@ -2037,10 +2015,12 @@ { static const struct timeval printinterval = { 60, 0 }; static struct timeval lastprint; + static vm_pindex_t colour; struct vpgqueues *pq; int bit, field; pv_entry_t pv; struct pv_chunk *pc; + vm_page_t m; PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); @@ -2076,13 +2056,42 @@ return (pv); } } - pc = (struct pv_chunk *)pmap_ptelist_alloc(pmap, try, &pv_vafree); - if (((vm_offset_t)pc) == 1) + /* + * Access to the ptelist "pv_vafree" is synchronized by the page + * queues lock. If "pv_vafree" is currently non-empty, it will + * remain non-empty until pmap_ptelist_alloc() completes. + */ + if (pv_vafree == 0 || (m = vm_page_alloc(NULL, colour, (pq == + &vm_page_queues[PQ_ACTIVE] ? VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { + if (try) { + pv_entry_count--; + PV_STAT(pc_chunk_tryfail++); + return (NULL); + } + /* + * Reclaim pv entries: At first, destroy mappings to + * inactive pages. After that, if a pv chunk entry + * is still needed, destroy mappings to active pages. + */ + if (pq == NULL) { + PV_STAT(pmap_collect_inactive++); + pq = &vm_page_queues[PQ_INACTIVE]; + } else if (pq == &vm_page_queues[PQ_INACTIVE]) { + PV_STAT(pmap_collect_active++); + pq = &vm_page_queues[PQ_ACTIVE]; + } else + panic("get_pv_entry: increase vm.pmap.shpgperproc"); + pmap_collect(pmap, pq); goto retry; - if (((vm_offset_t)pc) == 0) - return (NULL); + } PV_STAT(pc_chunk_count++); PV_STAT(pc_chunk_allocs++); + colour++; + pc = (struct pv_chunk *)pmap_ptelist_alloc(&pv_vafree); + pmap_qenter((vm_offset_t)pc, &m, 1); + if ((m->flags & PG_ZERO) == 0) + pagezero(pc); pc->pc_pmap = pmap; pc->pc_map[0] = pc_freemask[0] & ~1ul; /* preallocated bit 0 */ for (field = 1; field < _NPCM; field++) @@ -3430,6 +3439,10 @@ PV_STAT(pc_chunk_count--); PV_STAT(pc_chunk_frees++); TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); + pmap_qremove((vm_offset_t)pc, 1); + vm_page_unwire(m, 0); + vm_page_free(m); pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc); } } @@ -3489,6 +3502,8 @@ pt_entry_t *pte; boolean_t rv = FALSE; + return (rv); + if (*pmap_pde(pmap, addr)) { pte = vtopte(addr); rv = ((*pte & PG_V) == 0); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 08:50:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 264DF16A417; Thu, 24 Jan 2008 08:50: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 C7A6F16A418 for ; Thu, 24 Jan 2008 08:50:24 +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 B93CF13C4CE for ; Thu, 24 Jan 2008 08:50:24 +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 m0O8oOVH011414 for ; Thu, 24 Jan 2008 08:50:24 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 m0O8oO46011411 for perforce@freebsd.org; Thu, 24 Jan 2008 08:50:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 08:50:24 GMT Message-Id: <200801240850.m0O8oO46011411@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 133985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 08:50:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=133985 Change 133985 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 08:50:03 Allow reading POSIX configuration variables via sysctl in capability mode. This gets malloc(3) working there. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/posix4_mib.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/posix4_mib.c#2 (text+ko) ==== @@ -56,7 +56,7 @@ #define P1B_SYSCTL(num, name) \ SYSCTL_INT(_p1003_1b, num, \ - name, CTLFLAG_RD, facility + num - 1, 0, ""); + name, CTLFLAG_RD | CTLFLAG_CAPRD, facility + num - 1, 0, ""); #else @@ -64,7 +64,7 @@ #define P1B_SYSCTL(num, name) \ SYSCTL_INT(_kern_p1003_1b, OID_AUTO, \ - name, CTLFLAG_RD, facility + num - 1, 0, ""); + name, CTLFLAG_RD | CTLFLAG_CAPRD, facility + num - 1, 0, ""); SYSCTL_NODE(_kern, OID_AUTO, p1003_1b, CTLFLAG_RW, 0, "P1003.1B"); #endif From owner-p4-projects@FreeBSD.ORG Thu Jan 24 08:56:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 555BF16A41B; Thu, 24 Jan 2008 08:56: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 0194316A419 for ; Thu, 24 Jan 2008 08:56:32 +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 E805213C458 for ; Thu, 24 Jan 2008 08:56:31 +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 m0O8uVCj012299 for ; Thu, 24 Jan 2008 08:56:31 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 m0O8uV4d012291 for perforce@freebsd.org; Thu, 24 Jan 2008 08:56:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 08:56:31 GMT Message-Id: <200801240856.m0O8uV4d012291@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 133986 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 08:56:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=133986 Change 133986 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 08:55:51 Add a capability read/write flag for the sake of compactness. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysctl.h#4 (text+ko) ==== @@ -87,6 +87,7 @@ #define CTLFLAG_RDTUN (CTLFLAG_RD|CTLFLAG_TUN) #define CTLFLAG_CAPRD 0x00040000 /* Can be read in capability mode */ #define CTLFLAG_CAPWR 0x00020000 /* Can be written in capability mode */ +#define CTLFLAG_CAPRW (CTLFLAG_CAPRD|CTLFLAG_CAPWR) /* * Secure level. Note that CTLFLAG_SECURE == CTLFLAG_SECURE1. From owner-p4-projects@FreeBSD.ORG Thu Jan 24 08:58:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E69916A421; Thu, 24 Jan 2008 08:58: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 02F1716A417 for ; Thu, 24 Jan 2008 08:58:37 +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 E8F6B13C465 for ; Thu, 24 Jan 2008 08:58:36 +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 m0O8waJv012388 for ; Thu, 24 Jan 2008 08:58:36 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 m0O8wap4012384 for perforce@freebsd.org; Thu, 24 Jan 2008 08:58:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 08:58:36 GMT Message-Id: <200801240858.m0O8wap4012384@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 133987 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 08:58:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=133987 Change 133987 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 08:58:26 Allow various infrastructural sysctls, such as querying the next sysctl, sysctl fmt, and name2oid, in capability mode. This is too broad and should be narrowed based on the specific oid being requested. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mib.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_sysctl.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_mib.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_sysctl.c#3 (text+ko) ==== @@ -598,7 +598,12 @@ return (SYSCTL_OUT(req, "", 1)); } -static SYSCTL_NODE(_sysctl, 1, name, CTLFLAG_RD, sysctl_sysctl_name, ""); +/* + * XXXRW: Shouldn't return name data for nodes that we don't permit in + * capability mode. + */ +static SYSCTL_NODE(_sysctl, 1, name, CTLFLAG_RD | CTLFLAG_CAPRD, + sysctl_sysctl_name, ""); static int sysctl_sysctl_next_ls(struct sysctl_oid_list *lsp, int *name, u_int namelen, @@ -676,7 +681,12 @@ return (error); } -static SYSCTL_NODE(_sysctl, 2, next, CTLFLAG_RD, sysctl_sysctl_next, ""); +/* + * XXXRW: Shouldn't return next data for nodes that we don't permit in + * capability mode. + */ +static SYSCTL_NODE(_sysctl, 2, next, CTLFLAG_RD | CTLFLAG_CAPRD, + sysctl_sysctl_next, ""); static int name2oid (char *name, int *oid, int *len, struct sysctl_oid **oidpp) @@ -768,8 +778,12 @@ return (error); } -SYSCTL_PROC(_sysctl, 3, name2oid, CTLFLAG_RW|CTLFLAG_ANYBODY, 0, 0, - sysctl_sysctl_name2oid, "I", ""); +/* + * XXXRW: Shouldn't return name2oid data for nodes that we don't permit in + * capability mode. + */ +SYSCTL_PROC(_sysctl, 3, name2oid, CTLFLAG_RW | CTLFLAG_ANYBODY | + CTLFLAG_CAPRW, 0, 0, sysctl_sysctl_name2oid, "I", ""); static int sysctl_sysctl_oidfmt(SYSCTL_HANDLER_ARGS) @@ -791,7 +805,12 @@ } -static SYSCTL_NODE(_sysctl, 4, oidfmt, CTLFLAG_RD, sysctl_sysctl_oidfmt, ""); +/* + * XXXRW: Shouldn't return oidfmt data for nodes that we don't permit in + * capability mode. + */ +static SYSCTL_NODE(_sysctl, 4, oidfmt, CTLFLAG_RD | CTLFLAG_CAPRD, + sysctl_sysctl_oidfmt, ""); static int sysctl_sysctl_oiddescr(SYSCTL_HANDLER_ARGS) @@ -809,7 +828,12 @@ return (error); } -static SYSCTL_NODE(_sysctl, 5, oiddescr, CTLFLAG_RD, sysctl_sysctl_oiddescr, ""); +/* + * XXXRW: Shouldn't return oiddescr data for nodes that we don't permit in + * capability mode. + */ +static SYSCTL_NODE(_sysctl, 5, oiddescr, CTLFLAG_RD | CTLFLAG_CAPRD, + sysctl_sysctl_oiddescr, ""); /* * Default "handler" functions. From owner-p4-projects@FreeBSD.ORG Thu Jan 24 09:03:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9ACC16A421; Thu, 24 Jan 2008 09:03: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 675A416A41B for ; Thu, 24 Jan 2008 09:03:42 +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 59C4F13C447 for ; Thu, 24 Jan 2008 09:03:42 +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 m0O93gCq013781 for ; Thu, 24 Jan 2008 09:03:42 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 m0O93gfp013778 for perforce@freebsd.org; Thu, 24 Jan 2008 09:03:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 09:03:42 GMT Message-Id: <200801240903.m0O93gfp013778@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 133988 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 09:03:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=133988 Change 133988 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 09:02:44 Update comments. We now have cap_enter(2) but it needs more work as it doesn't mask sysctls. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#6 (text+ko) ==== @@ -48,17 +48,21 @@ * descriptors and may need adapting. * - UNIX domain socket passing of file descriptors will likely need work, * especially relating to garbage collection. - * - There is currently no way to prevent system calls from accessing objects - * other than via capabilities. * - The list of capability rights is probably inadequate. * - Should there be a privilege to expand capability rights? * - Should different underlying object sets have different valid capability * rights? I.e., CAP_SOCK_*, CAP_VNODE_*, etc? - * - cap_enter(2) is not implemented. + * - Need a way to mask system calls based on capability mode and only allow + * approved system calls. A flag in syscalls.master? + * - Need to refine access control on sysctl infrastructe sysctls, such as + * name lookup. + * - masking in fo_read/fo_write/etc is undesirable because really we want + * only the original file to be used, as it might have state (cred, flags, + * etc) that should be used instead. seekable is a particular issue. */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#5 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#6 $"); #include #include From owner-p4-projects@FreeBSD.ORG Thu Jan 24 09:11:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C95316A421; Thu, 24 Jan 2008 09:11: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 1142316A41B for ; Thu, 24 Jan 2008 09:11:51 +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 DB20F13C43E for ; Thu, 24 Jan 2008 09:11:50 +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 m0O9Bomm014172 for ; Thu, 24 Jan 2008 09:11:50 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O9BolG014169 for perforce@freebsd.org; Thu, 24 Jan 2008 09:11:50 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 09:11:50 GMT Message-Id: <200801240911.m0O9BolG014169@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 133989 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 09:11:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=133989 Change 133989 by raj@raj_mimi on 2008/01/24 09:10:50 Make E500 build again after the recent IFC. Affected files ... .. //depot/projects/e500/sys/powerpc/booke/machdep.c#7 edit Differences ... ==== //depot/projects/e500/sys/powerpc/booke/machdep.c#7 (text+ko) ==== @@ -393,7 +393,7 @@ #ifdef KDB if (boothowto & RB_KDB) - kdb_enter("Boot flags requested debugger"); + kdb_enter(KDB_WHY_BOOTFLAGS, "Boot flags requested debugger"); #endif kobj_machdep_init(); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 09:13:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9401A16A419; Thu, 24 Jan 2008 09:13: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 592D216A417 for ; Thu, 24 Jan 2008 09:13: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 4CF8713C455 for ; Thu, 24 Jan 2008 09:13: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 m0O9DrW8014933 for ; Thu, 24 Jan 2008 09:13:53 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O9DrrN014930 for perforce@freebsd.org; Thu, 24 Jan 2008 09:13:53 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 09:13:53 GMT Message-Id: <200801240913.m0O9DrrN014930@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 133990 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 09:13:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=133990 Change 133990 by raj@raj_mimi on 2008/01/24 09:12:59 Correct a nasty bug in mmu_booke_page_init(). Due to a missing argument, the pv_list was not being initialized properly and we had a null pointer dereference upon first use... Affected files ... .. //depot/projects/e500/sys/powerpc/booke/pmap.c#7 edit Differences ... ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#7 (text+ko) ==== @@ -288,7 +288,7 @@ void mmu_booke_object_init_pt(mmu_t, pmap_t, vm_offset_t, vm_object_t, vm_pindex_t, vm_size_t); boolean_t mmu_booke_page_exists_quick(mmu_t, pmap_t, vm_page_t); -void mmu_booke_page_init(vm_page_t); +void mmu_booke_page_init(mmu_t, vm_page_t); void mmu_booke_pinit(mmu_t, pmap_t); void mmu_booke_pinit0(mmu_t, pmap_t); void mmu_booke_protect(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_prot_t); @@ -1969,7 +1969,7 @@ * Initialize a vm_page's machine-dependent fields. */ void -mmu_booke_page_init(vm_page_t m) +mmu_booke_page_init(mmu_t mmu, vm_page_t m) { TAILQ_INIT(&m->md.pv_list); } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 09:28:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14CC616A421; Thu, 24 Jan 2008 09:28:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5F9016A41A for ; Thu, 24 Jan 2008 09:28:08 +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 AA69A13C4F5 for ; Thu, 24 Jan 2008 09:28:08 +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 m0O9S8Lg015631 for ; Thu, 24 Jan 2008 09:28:08 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O9S8hc015628 for perforce@freebsd.org; Thu, 24 Jan 2008 09:28:08 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 09:28:08 GMT Message-Id: <200801240928.m0O9S8hc015628@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 133991 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 09:28:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=133991 Change 133991 by raj@raj_mimi on 2008/01/24 09:27:50 Provide pmap_page_wired_mappings() for the E500 pmap module. Affected files ... .. //depot/projects/e500/sys/powerpc/booke/pmap.c#8 edit Differences ... ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#8 (text+ko) ==== @@ -289,6 +289,7 @@ vm_pindex_t, vm_size_t); boolean_t mmu_booke_page_exists_quick(mmu_t, pmap_t, vm_page_t); void mmu_booke_page_init(mmu_t, vm_page_t); +int mmu_booke_page_wired_mappings(mmu_t, vm_page_t); void mmu_booke_pinit(mmu_t, pmap_t); void mmu_booke_pinit0(mmu_t, pmap_t); void mmu_booke_protect(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_prot_t); @@ -334,6 +335,7 @@ MMUMETHOD(mmu_object_init_pt, mmu_booke_object_init_pt), MMUMETHOD(mmu_page_exists_quick,mmu_booke_page_exists_quick), MMUMETHOD(mmu_page_init, mmu_booke_page_init), + MMUMETHOD(mmu_page_wired_mappings, mmu_booke_page_wired_mappings), MMUMETHOD(mmu_pinit, mmu_booke_pinit), MMUMETHOD(mmu_pinit0, mmu_booke_pinit0), MMUMETHOD(mmu_protect, mmu_booke_protect), @@ -2274,6 +2276,33 @@ return (FALSE); } +/* + * Return the number of managed mappings to the given physical page that are + * wired. + */ +int +mmu_booke_page_wired_mappings(mmu_t mmu, vm_page_t m) +{ + pv_entry_t pv; + pte_t *pte; + int count = 0; + + if ((m->flags & PG_FICTITIOUS) != 0) + return (count); + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + + TAILQ_FOREACH(pv, &m->md.pv_list, pv_link) { + PMAP_LOCK(pv->pv_pmap); + if ((pte = pte_find(mmu, pv->pv_pmap, pv->pv_va)) != NULL) + if (PTE_ISVALID(pte)) + if (PTE_ISWIRED(pte)) + count++; + PMAP_UNLOCK(pv->pv_pmap); + } + + return (count); +} + int mmu_booke_dev_direct_mapped(mmu_t mmu, vm_offset_t pa, vm_size_t size) { From owner-p4-projects@FreeBSD.ORG Thu Jan 24 09:45:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E886216A46D; Thu, 24 Jan 2008 09:45: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 9245E16A46B for ; Thu, 24 Jan 2008 09:45:29 +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 85E9F13C4DB for ; Thu, 24 Jan 2008 09:45:29 +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 m0O9jTjZ017192 for ; Thu, 24 Jan 2008 09:45:29 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0O9jT17017189 for perforce@freebsd.org; Thu, 24 Jan 2008 09:45:29 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 09:45:29 GMT Message-Id: <200801240945.m0O9jT17017189@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 133992 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 09:45:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=133992 Change 133992 by raj@raj_mimi on 2008/01/24 09:45:14 Various cosmetics and cleanups. Affected files ... .. //depot/projects/e500/sys/powerpc/booke/pmap.c#9 edit Differences ... ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#9 (text+ko) ==== @@ -108,7 +108,7 @@ /* Kernel physical load address. */ extern uint32_t kernload; -#define MEM_REGIONS 8 +#define MEM_REGIONS 8 struct mem_region availmem_regions[MEM_REGIONS]; int availmem_regions_sz; @@ -143,7 +143,7 @@ * If user pmap is processed with mmu_booke_remove and the resident count * drops to 0, there are no more pages to remove, so we need not continue. */ -#define PMAP_REMOVE_DONE(pmap) \ +#define PMAP_REMOVE_DONE(pmap) \ ((pmap) != kernel_pmap && (pmap)->pm_stats.resident_count == 0) extern void load_pid0(tlbtid_t); @@ -757,7 +757,7 @@ pte = &ptbl[ptbl_idx]; - if (!PTE_ISVALID(pte)) + if (pte == NULL || !PTE_ISVALID(pte)) return (0); /* Get vm_page_t for mapped pte. */ @@ -1334,7 +1334,7 @@ } /* - * Initialize the pmap associated with process 0. + * Initialize pmap associated with process 0. */ void mmu_booke_pinit0(mmu_t mmu, pmap_t pmap) @@ -1592,17 +1592,6 @@ { //debugf("mmu_booke_enter_quick: s\n"); -#if 0 - /* XXX this is the old way - test if the new approach is really ok..? */ - vm_page_busy(m); - vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(m->object); - mmu_booke_enter(pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); - VM_OBJECT_LOCK(m->object); - vm_page_lock_queues(); - vm_page_wakeup(m); -#endif - PMAP_LOCK(pmap); mmu_booke_enter_locked(mmu, pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); @@ -1811,7 +1800,7 @@ } /* Referenced pages. */ - if (PTE_ISREFERENCED(pte)) + if (PTE_ISREFERENCED(pte)) vm_page_flag_set(m, PG_REFERENCED); /* Flush mapping from TLB0. */ @@ -1824,57 +1813,10 @@ vm_page_unlock_queues(); } -#if 0 /* - * Lower the permission for all mappings to a given page. + * Clear the write and modified bits in each of the given page's mappings. */ void -mmu_booke_page_protect(vm_page_t m, vm_prot_t prot) -{ - pv_entry_t pv; - pte_t *pte; - - if ((prot & VM_PROT_WRITE) != 0) - return; - - if ((prot & (VM_PROT_READ | VM_PROT_EXECUTE)) == 0) { - mmu_booke_remove_all(m); - return; - } - - if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0 || - (m->flags & PG_WRITEABLE) == 0) - return; - - mtx_assert(&vm_page_queue_mtx, MA_OWNED); - TAILQ_FOREACH(pv, &m->md.pv_list, pv_link) { - PMAP_LOCK(pv->pv_pmap); - if ((pte = pte_find(pv->pv_pmap, pv->pv_va)) != NULL) { - if (PTE_ISVALID(pte)) { - m = PHYS_TO_VM_PAGE(PTE_PA(pte)); - - /* Handle modified pages. */ - if (PTE_ISMODIFIED(pte)) { - if (mmu_booke_track_modified(pv->pv_pmap, pv->pv_va)) - vm_page_dirty(m); - } - - /* Referenced pages. */ - 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); - tlb0_flush_entry(pv->pv_pmap, pv->pv_va); - } - } - PMAP_UNLOCK(pv->pv_pmap); - } - vm_page_flag_clear(m, PG_WRITEABLE); -} -#endif - -void mmu_booke_remove_write(mmu_t mmu, vm_page_t m) { pv_entry_t pv; @@ -2101,7 +2043,7 @@ return (TRUE); } } - make_sure_to_unlock: +make_sure_to_unlock: PMAP_UNLOCK(pv->pv_pmap); } return (FALSE); @@ -2248,11 +2190,10 @@ } /* - * Returns true if the pmap's pv is one of the first - * 16 pvs linked to from this page. This count may - * be changed upwards or downwards in the future; it - * is only necessary that true be returned for a small - * subset of pmaps for proper page aging. + * Return true if the pmap's pv is one of the first 16 pvs linked to from this + * page. This count may be changed upwards or downwards in the future; it is + * only necessary that true be returned for a small subset of pmaps for proper + * page aging. */ boolean_t mmu_booke_page_exists_quick(mmu_t mmu, pmap_t pmap, vm_page_t m) @@ -2294,9 +2235,8 @@ TAILQ_FOREACH(pv, &m->md.pv_list, pv_link) { PMAP_LOCK(pv->pv_pmap); if ((pte = pte_find(mmu, pv->pv_pmap, pv->pv_va)) != NULL) - if (PTE_ISVALID(pte)) - if (PTE_ISWIRED(pte)) - count++; + if (PTE_ISVALID(pte) && PTE_ISWIRED(pte)) + count++; PMAP_UNLOCK(pv->pv_pmap); } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 10:08:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57E4E16A421; Thu, 24 Jan 2008 10:08: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 03FA016A418 for ; Thu, 24 Jan 2008 10:08:54 +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 EACB713C447 for ; Thu, 24 Jan 2008 10:08: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 m0OA8rSQ023727 for ; Thu, 24 Jan 2008 10:08:53 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OA8rxk023724 for perforce@freebsd.org; Thu, 24 Jan 2008 10:08:53 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 10:08:53 GMT Message-Id: <200801241008.m0OA8rxk023724@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 133994 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 10:08:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=133994 Change 133994 by raj@raj_mimi on 2008/01/24 10:07:56 Make all mmu_booke_* methods static. Minor style corrections. Affected files ... .. //depot/projects/e500/sys/powerpc/booke/pmap.c#10 edit Differences ... ==== //depot/projects/e500/sys/powerpc/booke/pmap.c#10 (text+ko) ==== @@ -27,8 +27,9 @@ * * Some hw specific parts of this pmap were derived or influenced * by NetBSD's ibm4xx pmap module. More generic code is shared with - * a few other pmap modules from the FreeBSD tree. + * a few other pmap modules from the FreeBSD tree. */ + /* * VM layout notes: * @@ -267,51 +268,51 @@ /* * Kernel MMU interface */ -vm_offset_t mmu_booke_addr_hint(mmu_t, vm_object_t, vm_offset_t, vm_size_t); -void mmu_booke_change_wiring(mmu_t, pmap_t, vm_offset_t, boolean_t); -void mmu_booke_clear_modify(mmu_t, vm_page_t); -void mmu_booke_clear_reference(mmu_t, vm_page_t); -void mmu_booke_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); -void mmu_booke_copy_page(mmu_t, vm_page_t, vm_page_t); -void mmu_booke_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); -void mmu_booke_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, - vm_page_t, vm_prot_t); -void mmu_booke_enter_quick(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t); -vm_paddr_t mmu_booke_extract(mmu_t, pmap_t, vm_offset_t); -vm_page_t mmu_booke_extract_and_hold(mmu_t, pmap_t, vm_offset_t, vm_prot_t); -void mmu_booke_init(mmu_t); -boolean_t mmu_booke_is_modified(mmu_t, vm_page_t); -boolean_t mmu_booke_is_prefaultable(mmu_t, pmap_t, vm_offset_t); -boolean_t mmu_booke_ts_referenced(mmu_t, vm_page_t); -vm_offset_t mmu_booke_map(mmu_t, vm_offset_t *, vm_offset_t, vm_offset_t, int); -int mmu_booke_mincore(mmu_t, pmap_t, vm_offset_t); -void mmu_booke_object_init_pt(mmu_t, pmap_t, vm_offset_t, vm_object_t, - vm_pindex_t, vm_size_t); -boolean_t mmu_booke_page_exists_quick(mmu_t, pmap_t, vm_page_t); -void mmu_booke_page_init(mmu_t, vm_page_t); -int mmu_booke_page_wired_mappings(mmu_t, vm_page_t); -void mmu_booke_pinit(mmu_t, pmap_t); -void mmu_booke_pinit0(mmu_t, pmap_t); -void mmu_booke_protect(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_prot_t); -void mmu_booke_qenter(mmu_t, vm_offset_t, vm_page_t *, int); -void mmu_booke_qremove(mmu_t, vm_offset_t, int); -void mmu_booke_release(mmu_t, pmap_t); -void mmu_booke_remove(mmu_t, pmap_t, vm_offset_t, vm_offset_t); -void mmu_booke_remove_all(mmu_t, vm_page_t); -void mmu_booke_remove_write(mmu_t, vm_page_t); -void mmu_booke_zero_page(mmu_t, vm_page_t); -void mmu_booke_zero_page_area(mmu_t, vm_page_t, int, int); -void mmu_booke_zero_page_idle(mmu_t, vm_page_t); -void mmu_booke_activate(mmu_t, struct thread *); -void mmu_booke_deactivate(mmu_t, struct thread *); -void mmu_booke_bootstrap(mmu_t, vm_offset_t, vm_offset_t); -void *mmu_booke_mapdev(mmu_t, vm_offset_t, vm_size_t); -void mmu_booke_unmapdev(mmu_t, vm_offset_t, vm_size_t); -vm_offset_t mmu_booke_kextract(mmu_t, vm_offset_t); -void mmu_booke_kenter(mmu_t, vm_offset_t, vm_offset_t); -void mmu_booke_kremove(mmu_t, vm_offset_t); -boolean_t mmu_booke_dev_direct_mapped(mmu_t, vm_offset_t, vm_size_t); -boolean_t mmu_booke_page_executable(mmu_t, vm_page_t); +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 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 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 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 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 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); static mmu_method_t mmu_booke_methods[] = { /* pmap dispatcher interface */ @@ -376,7 +377,7 @@ * not be tested for the modified bit. */ static __inline int -mmu_booke_track_modified(pmap_t pmap, vm_offset_t va) +track_modified_needed(pmap_t pmap, vm_offset_t va) { if (pmap == kernel_pmap) return ((va < kmi.clean_sva) || (va >= kmi.clean_eva)); @@ -772,7 +773,7 @@ /* Handle modified pages. */ if (PTE_ISMODIFIED(pte)) { - if (mmu_booke_track_modified(pmap, va)) + if (track_modified_needed(pmap, va)) vm_page_dirty(m); } @@ -898,7 +899,7 @@ /* * This is called during e500_init, before the system is really initialized. */ -void +static void mmu_booke_bootstrap(mmu_t mmu, vm_offset_t kernelstart, vm_offset_t kernelend) { vm_offset_t phys_kernelend; @@ -1141,7 +1142,7 @@ /* * Get the physical page address for the given pmap/virtual address. */ -vm_paddr_t +static vm_paddr_t mmu_booke_extract(mmu_t mmu, pmap_t pmap, vm_offset_t va) { vm_paddr_t pa; @@ -1157,7 +1158,7 @@ * Extract the physical page address associated with the given * kernel virtual address. */ -vm_paddr_t +static vm_paddr_t mmu_booke_kextract(mmu_t mmu, vm_offset_t va) { return pte_vatopa(mmu, kernel_pmap, va); @@ -1168,7 +1169,7 @@ * Called by vm_init, to initialize any structures that the pmap * system needs to map virtual memory. */ -void +static void mmu_booke_init(mmu_t mmu) { int shpgperproc = PMAP_SHPGPERPROC; @@ -1205,7 +1206,7 @@ * intended for temporary mappings which do not need page modification or * references recorded. Existing mappings in the region are overwritten. */ -void +static void mmu_booke_qenter(mmu_t mmu, vm_offset_t sva, vm_page_t *m, int count) { vm_offset_t va; @@ -1226,7 +1227,7 @@ * Remove page mappings from kernel virtual address space. Intended for * temporary mappings entered by mmu_booke_qenter. */ -void +static void mmu_booke_qremove(mmu_t mmu, vm_offset_t sva, int count) { vm_offset_t va; @@ -1245,7 +1246,7 @@ /* * Map a wired page into kernel virtual address space. */ -void +static void mmu_booke_kenter(mmu_t mmu, vm_offset_t va, vm_offset_t pa) { unsigned int pdir_idx = PDIR_IDX(va); @@ -1305,7 +1306,7 @@ /* * Remove a page from kernel page table. */ -void +static void mmu_booke_kremove(mmu_t mmu, vm_offset_t va) { unsigned int pdir_idx = PDIR_IDX(va); @@ -1336,7 +1337,7 @@ /* * Initialize pmap associated with process 0. */ -void +static void mmu_booke_pinit0(mmu_t mmu, pmap_t pmap) { //debugf("mmu_booke_pinit0: s (pmap = 0x%08x)\n", (u_int32_t)pmap); @@ -1349,7 +1350,7 @@ * Initialize a preallocated and zeroed pmap structure, * such as one in a vmspace structure. */ -void +static void mmu_booke_pinit(mmu_t mmu, pmap_t pmap) { //struct thread *td; @@ -1378,7 +1379,7 @@ * Called when a pmap initialized by mmu_booke_pinit is being released. * Should only be called if the map contains no valid mappings. */ -void +static void mmu_booke_release(mmu_t mmu, pmap_t pmap) { //debugf("mmu_booke_release: s\n"); @@ -1401,7 +1402,7 @@ * target physical map with the protection requested. If specified the page * will be wired down. */ -void +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) { @@ -1475,7 +1476,7 @@ } else { /* Handle modified pages, sense modify status. */ if (PTE_ISMODIFIED(pte)) { - if (mmu_booke_track_modified(pmap, va)) + if (track_modified_needed(pmap, va)) vm_page_dirty(m); } } @@ -1568,7 +1569,7 @@ * is mapped; only those for which a resident page exists with the * corresponding offset from m_start are mapped. */ -void +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) { @@ -1586,7 +1587,7 @@ PMAP_UNLOCK(pmap); } -void +static void mmu_booke_enter_quick(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot) { @@ -1605,7 +1606,7 @@ * * It is assumed that the start and end are properly rounded to the page size. */ -void +static void mmu_booke_remove(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_offset_t endva) { pte_t *pte; @@ -1652,7 +1653,7 @@ /* * Remove physical page from all pmaps in which it resides. */ -void +static void mmu_booke_remove_all(mmu_t mmu, vm_page_t m) { pv_entry_t pv, pvn; @@ -1687,7 +1688,7 @@ * unchanged. We cannot and therefore do not; *virt is updated with the * first usable address after the mapped region. */ -vm_offset_t +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) { @@ -1712,7 +1713,7 @@ * The pmap must be activated before it's address space can be accessed in any * way. */ -void +static void mmu_booke_activate(mmu_t mmu, struct thread *td) { pmap_t pmap; @@ -1744,7 +1745,7 @@ /* * Deactivate the specified process's address space. */ -void +static void mmu_booke_deactivate(mmu_t mmu, struct thread *td) { pmap_t pmap; @@ -1761,7 +1762,7 @@ * * This routine is only advisory and need not do anything. */ -void +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) { @@ -1770,7 +1771,7 @@ /* * Set the physical protection on the specified range of this map as requested. */ -void +static void mmu_booke_protect(mmu_t mmu, pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot) { @@ -1795,7 +1796,7 @@ /* Handle modified pages. */ if (PTE_ISMODIFIED(pte)) { - if (mmu_booke_track_modified(pmap, va)) + if (track_modified_needed(pmap, va)) vm_page_dirty(m); } @@ -1816,7 +1817,7 @@ /* * Clear the write and modified bits in each of the given page's mappings. */ -void +static void mmu_booke_remove_write(mmu_t mmu, vm_page_t m) { pv_entry_t pv; @@ -1835,7 +1836,7 @@ /* Handle modified pages. */ if (PTE_ISMODIFIED(pte)) { - if (mmu_booke_track_modified(pv->pv_pmap, pv->pv_va)) + if (track_modified_needed(pv->pv_pmap, pv->pv_va)) vm_page_dirty(m); } @@ -1853,7 +1854,7 @@ vm_page_flag_clear(m, PG_WRITEABLE); } -boolean_t +static boolean_t mmu_booke_page_executable(mmu_t mmu, vm_page_t m) { pv_entry_t pv; @@ -1879,7 +1880,7 @@ * pmap and virtual address pair if that mapping permits the given * protection. */ -vm_page_t +static vm_page_t mmu_booke_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_prot_t prot) { @@ -1912,7 +1913,7 @@ /* * Initialize a vm_page's machine-dependent fields. */ -void +static void mmu_booke_page_init(mmu_t mmu, vm_page_t m) { TAILQ_INIT(&m->md.pv_list); @@ -1925,7 +1926,7 @@ * * off and size must reside within a single page. */ -void +static void mmu_booke_zero_page_area(mmu_t mmu, vm_page_t m, int off, int size) { vm_offset_t va; @@ -1947,7 +1948,7 @@ /* * mmu_booke_zero_page zeros the specified hardware page. */ -void +static void mmu_booke_zero_page(mmu_t mmu, vm_page_t m) { //debugf("mmu_booke_zero_page: s\n"); @@ -1960,7 +1961,7 @@ * mapping the page into virtual memory and using memcopy to copy the page, * one machine dependent page at a time. */ -void +static void mmu_booke_copy_page(mmu_t mmu, vm_page_t sm, vm_page_t dm) { vm_offset_t sva, dva; @@ -2000,7 +2001,7 @@ * to be called from the vm_pagezero process only and outside of Giant. No * lock is required. */ -void +static void mmu_booke_zero_page_idle(mmu_t mmu, vm_page_t m) { vm_offset_t va; @@ -2019,7 +2020,7 @@ * Return whether or not the specified physical page was modified * in any of physical maps. */ -boolean_t +static boolean_t mmu_booke_is_modified(mmu_t mmu, vm_page_t m) { pte_t *pte; @@ -2035,7 +2036,7 @@ if (!PTE_ISVALID(pte)) goto make_sure_to_unlock; - if (!mmu_booke_track_modified(pv->pv_pmap, pv->pv_va)) + if (!track_modified_needed(pv->pv_pmap, pv->pv_va)) goto make_sure_to_unlock; if (PTE_ISMODIFIED(pte)) { @@ -2053,7 +2054,7 @@ * Return whether or not the specified virtual address is elgible * for prefault. */ -boolean_t +static boolean_t mmu_booke_is_prefaultable(mmu_t mmu, pmap_t pmap, vm_offset_t addr) { return (FALSE); @@ -2062,7 +2063,7 @@ /* * Clear the modify bits on the specified physical page. */ -void +static void mmu_booke_clear_modify(mmu_t mmu, vm_page_t m) { pte_t *pte; @@ -2098,7 +2099,7 @@ * should be tested and standardized at some point in the future for * optimal aging of shared pages. */ -int +static int mmu_booke_ts_referenced(mmu_t mmu, vm_page_t m) { pte_t *pte; @@ -2116,7 +2117,7 @@ if (!PTE_ISVALID(pte)) goto make_sure_to_unlock; - if (!mmu_booke_track_modified(pv->pv_pmap, pv->pv_va)) + if (!track_modified_needed(pv->pv_pmap, pv->pv_va)) goto make_sure_to_unlock; if (PTE_ISREFERENCED(pte)) { @@ -2138,7 +2139,7 @@ /* * Clear the reference bit on the specified physical page. */ -void +static void mmu_booke_clear_reference(mmu_t mmu, vm_page_t m) { pte_t *pte; @@ -2167,7 +2168,7 @@ /* * Change wiring attribute for a map/virtual-address pair. */ -void +static void mmu_booke_change_wiring(mmu_t mmu, pmap_t pmap, vm_offset_t va, boolean_t wired) { pte_t *pte;; @@ -2195,7 +2196,7 @@ * only necessary that true be returned for a small subset of pmaps for proper * page aging. */ -boolean_t +static boolean_t mmu_booke_page_exists_quick(mmu_t mmu, pmap_t pmap, vm_page_t m) { pv_entry_t pv; @@ -2221,7 +2222,7 @@ * Return the number of managed mappings to the given physical page that are * wired. */ -int +static int mmu_booke_page_wired_mappings(mmu_t mmu, vm_page_t m) { pv_entry_t pv; @@ -2243,7 +2244,7 @@ return (count); } -int +static int mmu_booke_dev_direct_mapped(mmu_t mmu, vm_offset_t pa, vm_size_t size) { int i; @@ -2266,7 +2267,7 @@ * Return a pointer to where it is mapped. This routine is intended to be used * for mapping device memory, NOT real memory. */ -void * +static void * mmu_booke_mapdev(mmu_t mmu, vm_offset_t pa, vm_size_t size) { uintptr_t va; @@ -2282,7 +2283,7 @@ /* * 'Unmap' a range mapped by mmu_booke_mapdev(). */ -void +static void mmu_booke_unmapdev(mmu_t mmu, vm_offset_t va, vm_size_t size) { vm_offset_t base, offset; @@ -2307,7 +2308,7 @@ * into the specified pmap. This eliminates the blast of soft * faults on process startup and immediately after an mmap. */ -void +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) { @@ -2319,14 +2320,14 @@ /* * Perform the pmap work for mincore. */ -int +static int mmu_booke_mincore(mmu_t mmu, pmap_t pmap, vm_offset_t addr) { TODO; return (0); } -vm_offset_t +static vm_offset_t mmu_booke_addr_hint(mmu_t mmu, vm_object_t object, vm_offset_t va, vm_size_t size) { From owner-p4-projects@FreeBSD.ORG Thu Jan 24 10:55:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9ECD116A46E; Thu, 24 Jan 2008 10:55: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 64A1816A46C for ; Thu, 24 Jan 2008 10:55:45 +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 58B0713C4E9 for ; Thu, 24 Jan 2008 10:55:45 +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 m0OAtjh2026665 for ; Thu, 24 Jan 2008 10:55:45 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OAtj9f026662 for perforce@freebsd.org; Thu, 24 Jan 2008 10:55:45 GMT (envelope-from raj@freebsd.org) Date: Thu, 24 Jan 2008 10:55:45 GMT Message-Id: <200801241055.m0OAtj9f026662@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 133996 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 10:55:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=133996 Change 133996 by raj@raj_mimi on 2008/01/24 10:55:33 TSEC: Handle erroneous RX frames properly. This fix allows to properly recycle BDs when a malformed frame arrives (overrun, long, short, CRC errors etc.); prior to this an endless condition occured leading to a TSEC hang (could be mostly observed on 1Gbps links with not CAT6 cables, or otherwise flaky connections). Also update (c). Affected files ... .. //depot/projects/e500/sys/dev/tsec/if_tsec.c#5 edit Differences ... ==== //depot/projects/e500/sys/dev/tsec/if_tsec.c#5 (text+ko) ==== @@ -1,7 +1,9 @@ /*- - * Copyright (C) 2006, 2007 Semihalf, Piotr Kruszynski + * Copyright (C) 2006-2008 Semihalf * All rights reserved. * + * Written by: Piotr Kruszynski + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -1363,8 +1365,10 @@ if (flags & (TSEC_RXBD_LG | TSEC_RXBD_SH | TSEC_RXBD_NO | TSEC_RXBD_CR | TSEC_RXBD_OV | TSEC_RXBD_TR)) { - device_printf(dev, "Unexpected flags in RX frame: " - "0x%x\n", flags); + + rx_desc->length = 0; + rx_desc->flags = (rx_desc->flags & ~TSEC_RXBD_ZEROONINIT) | + TSEC_RXBD_E | TSEC_RXBD_I; continue; } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 11:36:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5779016A41A; Thu, 24 Jan 2008 11:36: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 1CB9016A418 for ; Thu, 24 Jan 2008 11:36:22 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id EDC5A13C46B for ; Thu, 24 Jan 2008 11:36:21 +0000 (UTC) (envelope-from sam@errno.com) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m0OBQ9uh023688 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Jan 2008 03:26:11 -0800 (PST) (envelope-from sam@errno.com) Message-ID: <479875D1.3080205@errno.com> Date: Thu, 24 Jan 2008 03:26:09 -0800 From: Sam Leffler User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: Sepherosa Ziehau References: <200801240705.m0O75Q4o085638@repoman.freebsd.org> In-Reply-To: <200801240705.m0O75Q4o085638@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: Perforce Change Reviews Subject: Re: PERFORCE change 133975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 11:36:22 -0000 Sepherosa Ziehau wrote: > http://perforce.freebsd.org/chv.cgi?CH=133975 > > Change 133975 by sephe@sephe_zealot:sam_wifi on 2008/01/24 07:04:31 > > Duplicate the ieee80211_{scan_result,sta_info} structure and add > {isr,isi}_capinfo2 at the end of the structure. Rename old > structure to structure_name_v1. > > If you look in ieee80211_ioctl.c you'll see similar logic for handling a compat change. What I typically do is change the public structure definition and keep the old/compat def only in the place where it is used. This insures noone will write user code that uses the old api. Sam From owner-p4-projects@FreeBSD.ORG Thu Jan 24 13:09:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6362816A46B; Thu, 24 Jan 2008 13:09: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 2808516A421 for ; Thu, 24 Jan 2008 13:09:08 +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 18C9A13C468 for ; Thu, 24 Jan 2008 13:09:08 +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 m0OD97GP054329 for ; Thu, 24 Jan 2008 13:09:07 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 m0OD97gB054326 for perforce@freebsd.org; Thu, 24 Jan 2008 13:09:07 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 13:09:07 GMT Message-Id: <200801241309.m0OD97gB054326@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 134005 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 13:09:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=134005 Change 134005 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 13:09:02 Teach fget*() to accept a capability rights mask and process capabilities as part of retrieving a file descriptor. Add fgetcap() which retrieves the capability itself, if any, rather than what it refers to. Rename cap_fget() to cap_fextract() to make it more distinct namingwise from fgetcap(), which is named to match fgetsock(), etc. No need to check for DTYPE_CAPABILITY from fgetcap() since it only returns capabilities, so drop that from cap_getrights(). Add CAP_REVOKE, not needed for FreeBSD ABI that only has revoke() not frevoke(), but is needed for other ABIs. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/file.h#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#4 (text+ko) ==== @@ -37,12 +37,14 @@ #include __FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.321 2008/01/20 19:55:52 rwatson Exp $"); +#include "opt_capabilities.h" #include "opt_compat.h" #include "opt_ddb.h" #include #include +#include #include #include #include @@ -1119,7 +1121,7 @@ AUDIT_ARG(fd, fd); - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, CAP_FSTAT, &fp)) != 0) return (error); AUDIT_ARG(file, td->td_proc, fp); @@ -1171,7 +1173,7 @@ struct vnode *vp; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) + if ((error = fget(td, uap->fd, CAP_FPATHCONF, &fp)) != 0) return (error); /* If asynchronous I/O is available, it works for all descriptors. */ @@ -1961,7 +1963,6 @@ atomic_store_rel_ptr((volatile uintptr_t *)&fp->f_ops, (uintptr_t)ops); } - /* * Extract the file pointer associated with the specified descriptor for the * current user process. @@ -1971,6 +1972,10 @@ * If the descriptor exists but doesn't match 'flags' then return EBADF for * read attempts and EINVAL for write attempts. * + * If the file is a capability, 'rights' will be checked against the + * capability rights mask, and the object decapsulated if the check passes. + * The capability itself will never be returned. + * * If 'hold' is set (non-zero) the file's refcount will be bumped on return. * It should be dropped with fdrop(). If it is not set, then the refcount * will not be bumped however the thread's filedesc struct will be returned @@ -1979,12 +1984,19 @@ * If an error occured the non-zero error is returned and *fpp is set to * NULL. Otherwise *fpp is set and zero is returned. */ +#define FGET_HOLD 0x00000001 +#define FGET_GETCAP 0x00000002 static __inline int -_fget(struct thread *td, int fd, struct file **fpp, int flags, int hold) +_fget(struct thread *td, int fd, struct file **fpp, int flags, + cap_rights_t rights, int fget_flags) { struct filedesc *fdp; struct file *fp; + int error; + /* + * Validate the file descriptor number and find the struct file. + */ *fpp = NULL; if (td == NULL || (fdp = td->td_proc->p_fd) == NULL) return (EBADF); @@ -1995,19 +2007,42 @@ } /* - * FREAD and FWRITE failure return EBADF as per POSIX. - * - * Only one flag, or 0, may be specified. + * If a capability has been requested, return the capability + * directly. Otherwise, check capability rights, extract the + * underlying object, and check its access flags. */ - if (flags == FREAD && (fp->f_flag & FREAD) == 0) { - FILEDESC_SUNLOCK(fdp); - return (EBADF); + if (fget_flags & FGET_GETCAP) { + if (fp->f_type != DTYPE_CAPABILITY) { + FILEDESC_SUNLOCK(fdp); + return (EINVAL); + } + } else { + /* + * If a capability hasn't been requested, then validate the + * capability and find the underlying object. From now on + * 'fp' refers to the actual object of interest. + */ + error = cap_fextract(fp, rights, &fp); + if (error) { + FILEDESC_SUNLOCK(fdp); + return (error); + } + + /* + * FREAD and FWRITE failure return EBADF as per POSIX. + * + * Only one flag, or 0, may be specified. + */ + if (flags == FREAD && (fp->f_flag & FREAD) == 0) { + FILEDESC_SUNLOCK(fdp); + return (EBADF); + } + if (flags == FWRITE && (fp->f_flag & FWRITE) == 0) { + FILEDESC_SUNLOCK(fdp); + return (EBADF); + } } - if (flags == FWRITE && (fp->f_flag & FWRITE) == 0) { - FILEDESC_SUNLOCK(fdp); - return (EBADF); - } - if (hold) { + if (fget_flags & FGET_HOLD) { fhold(fp); FILEDESC_SUNLOCK(fdp); } @@ -2016,24 +2051,36 @@ } int -fget(struct thread *td, int fd, struct file **fpp) +fget(struct thread *td, int fd, cap_rights_t rights, struct file **fpp) +{ + + return(_fget(td, fd, fpp, 0, rights, FGET_HOLD)); +} + +int +fget_read(struct thread *td, int fd, cap_rights_t rights, struct file **fpp) { - return(_fget(td, fd, fpp, 0, 1)); + return(_fget(td, fd, fpp, FREAD, rights, FGET_HOLD)); } int -fget_read(struct thread *td, int fd, struct file **fpp) +fget_write(struct thread *td, int fd, cap_rights_t rights, struct file **fpp) { - return(_fget(td, fd, fpp, FREAD, 1)); + return(_fget(td, fd, fpp, FWRITE, rights, FGET_HOLD)); } +/* + * Unlike the other fget() calls, which accept and check capability rights + * but never return capabilities, fgetcap() returns the capability but + * doesn't check capability rights. + */ int -fget_write(struct thread *td, int fd, struct file **fpp) +fgetcap(struct thread *td, int fd, struct file **fpp) { - return(_fget(td, fd, fpp, FWRITE, 1)); + return (_fget(td, fd, fpp, 0, 0, FGET_GETCAP)); } /* @@ -2044,13 +2091,14 @@ * XXX: what about the unused flags ? */ static __inline int -_fgetvp(struct thread *td, int fd, struct vnode **vpp, int flags) +_fgetvp(struct thread *td, int fd, int flags, cap_rights_t rights, + struct vnode **vpp) { struct file *fp; int error; *vpp = NULL; - if ((error = _fget(td, fd, &fp, 0, 0)) != 0) + if ((error = _fget(td, fd, &fp, 0, rights, 0)) != 0) return (error); if (fp->f_vnode == NULL) { error = EINVAL; @@ -2063,25 +2111,27 @@ } int -fgetvp(struct thread *td, int fd, struct vnode **vpp) +fgetvp(struct thread *td, int fd, cap_rights_t rights, struct vnode **vpp) { - return (_fgetvp(td, fd, vpp, 0)); + return (_fgetvp(td, fd, 0, rights, vpp)); } int -fgetvp_read(struct thread *td, int fd, struct vnode **vpp) +fgetvp_read(struct thread *td, int fd, cap_rights_t rights, + struct vnode **vpp) { - return (_fgetvp(td, fd, vpp, FREAD)); + return (_fgetvp(td, fd, FREAD, rights, vpp)); } #ifdef notyet int -fgetvp_write(struct thread *td, int fd, struct vnode **vpp) +fgetvp_write(struct thread *td, int fd, cap_rights_t rights, + struct vnode **vpp) { - return (_fgetvp(td, fd, vpp, FWRITE)); + return (_fgetvp(td, fd, FWRITE, rights, vpp)); } #endif @@ -2097,7 +2147,8 @@ * during use. */ int -fgetsock(struct thread *td, int fd, struct socket **spp, u_int *fflagp) +fgetsock(struct thread *td, int fd, cap_rights_t rights, struct socket **spp, + u_int *fflagp) { struct file *fp; int error; @@ -2105,7 +2156,7 @@ *spp = NULL; if (fflagp != NULL) *fflagp = 0; - if ((error = _fget(td, fd, &fp, 0, 0)) != 0) + if ((error = _fget(td, fd, &fp, 0, rights, 0)) != 0) return (error); if (fp->f_type != DTYPE_SOCKET) { error = ENOTSOCK; @@ -2178,7 +2229,7 @@ int vfslocked; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) + if ((error = fget(td, uap->fd, CAP_FLOCK, &fp)) != 0) return (error); if (fp->f_type != DTYPE_VNODE) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#7 (text+ko) ==== @@ -59,10 +59,12 @@ * - masking in fo_read/fo_write/etc is undesirable because really we want * only the original file to be used, as it might have state (cred, flags, * etc) that should be used instead. seekable is a particular issue. + * - mmap should incorporate capability rights into maxprot, not just file + * flags. */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#6 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#7 $"); #include #include @@ -151,7 +153,7 @@ * XXXRW: This will almost certainly change. */ int -cap_fget(struct file *fp_cap, cap_rights_t rights, struct file **fpp) +cap_fextract(struct file *fp_cap, cap_rights_t rights, struct file **fpp) { struct capability *c; int error; @@ -219,7 +221,13 @@ return (EINVAL); c = uma_zalloc(capability_zone, M_WAITOK | M_ZERO); - error = fget(td, uap->fd, &fp); + + /* + * We always allow creating a capability referencing an existing + * descriptor or capability, even if it's not of much use to the + * application. + */ + error = fget(td, uap->fd, 0, &fp); if (error) goto fail; @@ -279,13 +287,9 @@ struct file *fp; int error; - error = fget(td, uap->fd, &fp); + error = fgetcap(td, uap->fd, &fp); if (error) return (error); - if (fp->f_type != DTYPE_CAPABILITY) { - fdrop(fp, td); - return (EINVAL); - } c = fp->f_data; error = copyout(&c->cap_rights, uap->rightsp, sizeof(*uap->rightsp)); fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#7 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#8 $ */ /* @@ -61,7 +61,7 @@ #define CAP_FLOCK 0x0000000000010000ULL /* flock */ #define CAP_GETDIRENTRIES 0x0000000000020000ULL /* getdirentries */ #define CAP_FSTATFS 0x0000000000040000ULL /* fstatfs */ -#define _CAP_UNUSED0 0x0000000000080000ULL +#define CAP_REVOKE 0x0000000000080000ULL /* revoke */ #define _CAP_UNUSED1 0x0000000000100000ULL #define CAP_FPATHCONF 0x0000000000200000ULL /* fpathconf */ #define CAP_FUTIMES 0x0000000000400000ULL /* futimes */ @@ -110,11 +110,20 @@ * * mmap() and aio*() system calls will need special attention as they may * involve reads or writes depending a great deal on context. + * + * Socket checks don't generally pass CAP_SEEK but perhaps should? */ #ifdef _KERNEL struct file; -int cap_fget(struct file *fp_cap, cap_rights_t rights, + +/* + * Given a file descriptor that may be a capability, check the requested + * rights and extract the underlying object. Assumes a valid reference is + * held to fp_cap, and returns a pointer via fpp under that assumption. The + * caller invokes fhold(*fpp) if required. + */ +int cap_fextract(struct file *fp_cap, cap_rights_t rights, struct file **fpp); #else /* !_KERNEL */ ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/file.h#3 (text+ko) ==== @@ -38,6 +38,7 @@ #include #include #else +#include #include #include #include @@ -168,9 +169,12 @@ extern int maxfilesperproc; /* per process limit on number of open files */ extern volatile int openfiles; /* actual number of open files */ -int fget(struct thread *td, int fd, struct file **fpp); -int fget_read(struct thread *td, int fd, struct file **fpp); -int fget_write(struct thread *td, int fd, struct file **fpp); +int fget(struct thread *td, int fd, cap_rights_t rights, struct file **fpp); +int fget_read(struct thread *td, int fd, cap_rights_t rights, + struct file **fpp); +int fget_write(struct thread *td, int fd, cap_rights_t rights, + struct file **fpp); +int fgetcap(struct thread *td, int fd, struct file **fpp); int _fdrop(struct file *fp, struct thread *td); /* @@ -188,11 +192,15 @@ fo_close_t soo_close; void finit(struct file *, u_int, short, void *, struct fileops *); -int fgetvp(struct thread *td, int fd, struct vnode **vpp); -int fgetvp_read(struct thread *td, int fd, struct vnode **vpp); -int fgetvp_write(struct thread *td, int fd, struct vnode **vpp); +int fgetvp(struct thread *td, int fd, cap_rights_t rights, + struct vnode **vpp); +int fgetvp_read(struct thread *td, int fd, cap_rights_t rights, + struct vnode **vpp); +int fgetvp_write(struct thread *td, int fd, cap_rights_t rights, + struct vnode **vpp); -int fgetsock(struct thread *td, int fd, struct socket **spp, u_int *fflagp); +int fgetsock(struct thread *td, int fd, cap_rights_t rights, + struct socket **spp, u_int *fflagp); void fputsock(struct socket *sp); #define fhold(fp) atomic_add_int(&(fp)->f_count, 1) From owner-p4-projects@FreeBSD.ORG Thu Jan 24 13:16:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D38216A421; Thu, 24 Jan 2008 13:16: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 0954716A41B for ; Thu, 24 Jan 2008 13:16:16 +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 EE3E813C465 for ; Thu, 24 Jan 2008 13:16: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 m0ODGF0k055527 for ; Thu, 24 Jan 2008 13:16: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 m0ODGFeV055524 for perforce@freebsd.org; Thu, 24 Jan 2008 13:16:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 13:16:15 GMT Message-Id: <200801241316.m0ODGFeV055524@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 134006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 13:16:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=134006 Change 134006 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 13:15:28 Update consumers of fget() and friends to specify capability rights masks. Not all cases are satisfactory, and portalfs is just plain scary. In getsock(), don't need to test DTYPE_CAPABILITY anymore, just use cap_fextract(). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_machdep.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_file.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ioctl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_socket.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_stats.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_fcntl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_filio.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_ioctl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_stream.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/aac/aac_linux.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/amr/amr_linux.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/hwpmc/hwpmc_logging.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/iscsi/initiator/iscsi.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/mfi/mfi_linux.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/snp/snp.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/dev/tdfx/tdfx_linux.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/fs/fdescfs/fdesc_vnops.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/fs/portalfs/portal_vfsops.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/fs/portalfs/portal_vnops.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/gnu/fs/xfs/xfs_dfrag.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/i386/ibcs2/ibcs2_fcntl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/i386/ibcs2/ibcs2_ioctl.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/i386/linux/linux_machdep.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_event.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_generic.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_pipe.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_mqueue.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_aio.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_socket.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/nfsserver/nfs_syscalls.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/security/mac/mac_syscalls.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/vm/vm_mmap.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -844,7 +844,7 @@ * protection options specified. */ - if ((error = fget(td, bsd_args.fd, &fp)) != 0) + if ((error = fget(td, bsd_args.fd, CAP_MMAP, &fp)) != 0) return (error); if (fp->f_type != DTYPE_VNODE) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_file.c#2 (text+ko) ==== @@ -138,7 +138,7 @@ * having the same filedesc could use that fd without * checking below. */ - error = fget(td, fd, &fp); + error = fget(td, fd, CAP_IOCTL, &fp); if (!error) { sx_slock(&proctree_lock); PROC_LOCK(p); @@ -212,7 +212,11 @@ vref(dvp); FILEDESC_SUNLOCK(fdp); } else { - error = fget(td, dirfd, &fp); + /* + * XXXRW: Not ideal, possibly fixed with native freebsd _at + * support? + */ + error = fget(td, dirfd, CAP_FCHDIR, &fp); if (error) return (error); dvp = fp->f_vnode; @@ -898,8 +902,9 @@ error = pread(td, &bsd); if (error == 0) { + /* XXXRW: No capability rights should be OK. */ /* This seems to violate POSIX but linux does it */ - if ((error = fgetvp(td, uap->fd, &vp)) != 0) + if ((error = fgetvp(td, uap->fd, 0, &vp)) != 0) return (error); if (vp->v_type == VDIR) { vrele(vp); @@ -1236,8 +1241,12 @@ * XXX some Linux applications depend on F_SETOWN having no * significant effect for pipes (SIGIO is not delivered for * pipes under Linux-2.2.35 at least). + * + * Don't really need to check CAP_FCNTL here since real work + * will depend on kern_fnctl(), but it's will give the right + * error in the EINVAL case. */ - error = fget(td, args->fd, &fp); + error = fget(td, args->fd, CAP_FCNTL, &fp); if (error) return (error); if (fp->f_type == DTYPE_PIPE) { ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_ioctl.c#2 (text+ko) ==== @@ -162,7 +162,7 @@ u_int sectorsize, fwcylinders, fwheads, fwsectors; off_t mediasize, bytespercyl; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); switch (args->cmd & 0xffff) { case LINUX_HDIO_GET_GEO: @@ -243,7 +243,7 @@ u_int sectorsize; off_t mediasize; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); switch (args->cmd & 0xffff) { case LINUX_BLKGETSIZE: @@ -664,7 +664,7 @@ struct file *fp; int error; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); switch (args->cmd & 0xffff) { @@ -1397,7 +1397,7 @@ struct file *fp; int error; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); switch (args->cmd & 0xffff) { @@ -1913,7 +1913,7 @@ struct file *fp; int error; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); switch (args->cmd & 0xffff) { @@ -2297,7 +2297,7 @@ ifp = NULL; error = 0; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); type = fp->f_type; fdrop(fp, td); @@ -2523,7 +2523,7 @@ struct file *fp; int error, type; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); type = fp->f_type; fdrop(fp, td); @@ -2549,7 +2549,7 @@ u_long cmd; int error; - if ((error = fget(td, args->fd, &fp)) != 0) { + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) { printf("sg_linux_ioctl: fget returned %d\n", error); return (error); } @@ -2605,7 +2605,7 @@ (unsigned long)args->cmd); #endif - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); if ((fp->f_flag & (FREAD|FWRITE)) == 0) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_socket.c#2 (text+ko) ==== @@ -669,8 +669,10 @@ * XXXRW: Instead of using fgetsock(), check that it is a * socket and use the file descriptor reference instead of * creating a new one. + * + * XXXRW: No capability rights required here? */ - error = fgetsock(td, linux_args.s, &so, &fflag); + error = fgetsock(td, linux_args.s, 0, &so, &fflag); if (error == 0) { error = EISCONN; if (fflag & FNONBLOCK) { ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/linux/linux_stats.c#2 (text+ko) ==== @@ -102,8 +102,11 @@ struct file *fp; int major, minor; + /* + * XXXRW: No capability rights required here. + */ if ((!S_ISCHR(buf->st_mode) && !S_ISBLK(buf->st_mode)) || - fget(td, fd, &fp) != 0) + fget(td, fd, 0, &fp) != 0) return; if (fp->f_vnode != NULL && fp->f_vnode->v_un.vu_cdev != NULL && ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_fcntl.c#2 (text+ko) ==== @@ -261,7 +261,7 @@ int error, *retval; retval = td->td_retval; - if ((error = fgetvp(td, fd, &vp)) != 0) + if ((error = fgetvp(td, fd, CAP_REVOKE, &vp)) != 0) return (error); if (vp->v_type != VCHR && vp->v_type != VBLK) { @@ -313,7 +313,7 @@ /* * We only support truncating the file. */ - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, CAP_FTRUNCATE, &fp)) != 0) return (error); vp = fp->f_vnode; @@ -392,7 +392,7 @@ #if defined(NOTYET) struct file *fp; - error = fget(td, retval, &fp); + error = fget(td, retval, CAP_IOCTL, &fp); PROC_UNLOCK(p); /* * we may have lost a race the above open() and ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_filio.c#2 (text+ko) ==== @@ -120,7 +120,7 @@ ra.buf = uap->buf; ra.nbyte = uap->nbyte; - if (fget(td, uap->fd, &fp) != 0) { + if (fget(td, uap->fd, CAP_READ, &fp) != 0) { DPRINTF(("Something fishy with the user-supplied file descriptor...\n")); return EBADF; } ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_ioctl.c#2 (text+ko) ==== @@ -103,7 +103,7 @@ retval = td->td_retval; cmd = uap->com; - if ((error = fget(td, uap->fd, &fp)) != 0) + if ((error = fget(td, uap->fd, CAP_IOCTL, &fp)) != 0) return (error); if ((fp->f_flag & (FREAD | FWRITE)) == 0) { ==== //depot/projects/trustedbsd/capabilities/src/sys/compat/svr4/svr4_stream.c#2 (text+ko) ==== @@ -1448,7 +1448,7 @@ struct file *fp; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) { + if ((error = fget(td, uap->fd, CAP_WRITE, &fp)) != 0) { #ifdef DEBUG_SVR4 uprintf("putmsg: bad fp\n"); #endif @@ -1620,7 +1620,7 @@ struct file *fp; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) { + if ((error = fget(td, uap->fd, CAP_READ, &fp)) != 0) { #ifdef DEBUG_SVR4 uprintf("getmsg: bad fp\n"); #endif ==== //depot/projects/trustedbsd/capabilities/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 (text+ko) ==== @@ -1468,7 +1468,8 @@ strchr(zc->zc_value, '@') == NULL) return (EINVAL); - error = fget_read(td, zc->zc_cookie, &fp); + /* XXXRW: Is this right? */ + error = fget_read(td, zc->zc_cookie, CAP_IOCTL, &fp); if (error) return (error); @@ -1515,7 +1516,8 @@ } fd = zc->zc_cookie; - error = fget_write(td, fd, &fp); + /* XXXRW: Is this right? */ + error = fget_write(td, fd, CAP_IOCTL, &fp); if (error) { dmu_objset_close(tosnap); if (fromsnap) ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/aac/aac_linux.c#2 (text+ko) ==== @@ -78,7 +78,7 @@ u_long cmd; int error; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); cmd = args->cmd; ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/amr/amr_linux.c#2 (text+ko) ==== @@ -74,7 +74,7 @@ struct file *fp; int error; - if ((error = fget(p, args->fd, &fp)) != 0) + if ((error = fget(p, args->fd, CAP_IOCTL, &fp)) != 0) return (error); error = fo_ioctl(fp, args->cmd, (caddr_t)args->arg, p->td_ucred, p); fdrop(fp, p); ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/hwpmc/hwpmc_logging.c#2 (text+ko) ==== @@ -564,7 +564,7 @@ po->po_file)); /* get a reference to the file state */ - error = fget_write(curthread, logfd, &po->po_file); + error = fget_write(curthread, logfd, CAP_WRITE, &po->po_file); if (error) goto error; ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/iscsi/initiator/iscsi.c#2 (text+ko) ==== @@ -390,11 +390,15 @@ if(sp->soc != NULL) isc_stop_receiver(sp); - error = fget(td, fd, &sp->fp); + /* + * XXXRW: Possibly should be CAP_SOCK_ALL? + */ + error = fget(td, fd, CAP_READ | CAP_WRITE | CAP_SHUTDOWN, &sp->fp); if(error) return error; - if((error = fgetsock(td, fd, &sp->soc, 0)) == 0) { + if((error = fgetsock(td, fd, CAP_READ | CAP_WRITE | CAP_SHUTDOWN, + &sp->soc, 0)) == 0) { sp->td = td; isc_start_receiver(sp); } ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/mfi/mfi_linux.c#2 (text) ==== @@ -95,7 +95,7 @@ break; } - if ((error = fget(p, args->fd, &fp)) != 0) + if ((error = fget(p, args->fd, CAP_IOCTL, &fp)) != 0) return (error); error = fo_ioctl(fp, cmd, (caddr_t)args->arg, p->td_ucred, p); fdrop(fp, p); ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/snp/snp.c#2 (text+ko) ==== @@ -504,7 +504,12 @@ if (s < 0) return (snp_down(snp)); - if (fget(td, s, &fp) != 0) + /* + * XXXRW: It's not immediately clear what capability rights + * to check for here, so check for read and write as those + * are the implications of snooping. + */ + if (fget(td, s, CAP_READ | CAP_WRITE, &fp) != 0) return (EINVAL); if (fp->f_type != DTYPE_VNODE || fp->f_vnode->v_type != VCHR || ==== //depot/projects/trustedbsd/capabilities/src/sys/dev/tdfx/tdfx_linux.c#2 (text) ==== @@ -53,7 +53,7 @@ struct file *fp; - if ((error = fget(td, args->fd, &fp)) != 0) + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) return (error); /* We simply copy the data and send it right to ioctl */ copyin((caddr_t)args->arg, &d_pio, sizeof(d_pio)); ==== //depot/projects/trustedbsd/capabilities/src/sys/fs/fdescfs/fdesc_vnops.c#2 (text+ko) ==== @@ -225,7 +225,10 @@ fd = 10 * fd + *pname++ - '0'; } - if ((error = fget(td, fd, &fp)) != 0) + /* + * XXXRW: 'fp' isn't actually used so no rights to check? + */ + if ((error = fget(td, fd, 0, &fp)) != 0) goto bad; error = fdesc_allocvp(Fdesc, FD_DESC+fd, dvp->v_mount, &fvp, td); @@ -310,7 +313,7 @@ case Fdesc: fd = VTOFDESC(vp)->fd_fd; - if ((error = fget(ap->a_td, fd, &fp)) != 0) + if ((error = fget(ap->a_td, fd, CAP_FSTAT, &fp)) != 0) return (error); bzero(&stb, sizeof(stb)); ==== //depot/projects/trustedbsd/capabilities/src/sys/fs/portalfs/portal_vfsops.c#2 (text+ko) ==== @@ -110,7 +110,10 @@ if (error) return (error); - if ((error = fget(td, v, &fp)) != 0) + /* + * XXXRW: I suppose we want CAP_SOCK_ALL here? + */ + if ((error = fget(td, v, CAP_READ | CAP_WRITE, &fp)) != 0) return (error); if (fp->f_type != DTYPE_SOCKET) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/fs/portalfs/portal_vnops.c#2 (text+ko) ==== @@ -407,8 +407,12 @@ /* * Check that the mode the file is being opened for is a subset * of the mode of the existing descriptor. + * + * XXXRW: It is stunningly non-obvious how to handle this with + * respect to capabilities. Does that mean this is simply a bad + * idea? */ - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, 0, &fp)) != 0) goto bad; if (((ap->a_mode & (FREAD|FWRITE)) | fp->f_flag) != fp->f_flag) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/gnu/fs/xfs/xfs_dfrag.c#2 (text+ko) ==== @@ -79,7 +79,8 @@ } /* Pull information for the target fd */ - if (fgetvp(td, (int)sxp->sx_fdtarget, &bvp) != 0) { + if (fgetvp(td, (int)sxp->sx_fdtarget, CAP_READ | CAP_WRITE, &bvp) + != 0) { error = XFS_ERROR(EINVAL); goto error0; } @@ -91,7 +92,8 @@ goto error0; } - if (fgetvp(td, (int)sxp->sx_fdtmp, &btvp) != 0) { + if (fgetvp(td, (int)sxp->sx_fdtmp, CAP_READ | CAP_WRITE, &btvp) != + 0) { error = XFS_ERROR(EINVAL); goto error0; } ==== //depot/projects/trustedbsd/capabilities/src/sys/i386/ibcs2/ibcs2_fcntl.c#2 (text+ko) ==== @@ -202,7 +202,10 @@ struct file *fp; int error; - error = fget(td, td->td_retval[0], &fp); + /* + * XXXRW: Think more about the capability right to use here. + */ + error = fget(td, td->td_retval[0], CAP_IOCTL, &fp); PROC_UNLOCK(p); if (error) return (EBADF); ==== //depot/projects/trustedbsd/capabilities/src/sys/i386/ibcs2/ibcs2_ioctl.c#2 (text+ko) ==== @@ -347,7 +347,11 @@ struct file *fp; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) { + /* + * XXXRW: Possibily we should switch (cmd) to generate a rights mask + * to use here, see IBCS2_SIOCSOCKSYS for example. + */ + if ((error = fget(td, uap->fd, CAP_IOCTL, &fp)) != 0) { DPRINTF(("ibcs2_ioctl(%d): bad fd %d ", p->p_pid, uap->fd)); return EBADF; ==== //depot/projects/trustedbsd/capabilities/src/sys/i386/linux/linux_machdep.c#2 (text+ko) ==== @@ -693,9 +693,12 @@ * The file descriptor fildes is opened with * read permission, regardless of the * protection options specified. + * + * XXXRW: The real work is done in the FreeBSD mmap(), so + * just checking CAP_MMAP here is fine. */ - if ((error = fget(td, bsd_args.fd, &fp)) != 0) + if ((error = fget(td, bsd_args.fd, CAP_MMAP, &fp)) != 0) return (error); if (fp->f_type != DTYPE_VNODE) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_event.c#2 (text+ko) ==== @@ -649,7 +649,7 @@ struct file *fp; int i, n, nerrors, error; - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, CAP_EVENT, &fp)) != 0) return (error); if ((error = kqueue_acquire(fp, &kq)) != 0) goto done_norel; @@ -804,7 +804,7 @@ findkn: if (fops->f_isfd) { KASSERT(td != NULL, ("td is NULL")); - error = fget(td, kev->ident, &fp); + error = fget(td, kev->ident, CAP_EVENT, &fp); if (error) goto done; @@ -1948,7 +1948,7 @@ struct file *fp; int error; - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, CAP_EVENT, &fp)) != 0) return (error); if ((error = kqueue_acquire(fp, &kq)) != 0) goto noacquire; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_generic.c#2 (text+ko) ==== @@ -229,7 +229,7 @@ struct file *fp; int error; - error = fget_read(td, fd, &fp); + error = fget_read(td, fd, CAP_READ | CAP_SEEK, &fp); if (error) return (error); error = dofileread(td, fd, fp, auio, (off_t)-1, 0); @@ -272,7 +272,7 @@ struct file *fp; int error; - error = fget_read(td, fd, &fp); + error = fget_read(td, fd, CAP_READ, &fp); if (error) return (error); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) @@ -438,7 +438,7 @@ struct file *fp; int error; - error = fget_write(td, fd, &fp); + error = fget_write(td, fd, CAP_WRITE | CAP_SEEK, &fp); if (error) return (error); error = dofilewrite(td, fd, fp, auio, (off_t)-1, 0); @@ -481,7 +481,7 @@ struct file *fp; int error; - error = fget_write(td, fd, &fp); + error = fget_write(td, fd, CAP_WRITE, &fp); if (error) return (error); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) @@ -563,7 +563,7 @@ AUDIT_ARG(fd, fd); if (length < 0) return (EINVAL); - error = fget(td, fd, &fp); + error = fget(td, fd, CAP_FTRUNCATE, &fp); if (error) return (error); AUDIT_ARG(file, td->td_proc, fp); @@ -692,7 +692,7 @@ int error; int tmp; - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, CAP_IOCTL, &fp)) != 0) return (error); if ((fp->f_flag & (FREAD | FWRITE)) == 0) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_pipe.c#2 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_mqueue.c#2 (text+ko) ==== @@ -2038,19 +2038,19 @@ return (error); } -typedef int (*_fgetf)(struct thread *, int, struct file **); +typedef int (*_fgetf)(struct thread *, int, cap_rights_t, struct file **); /* * Get message queue by giving file slot */ static int -_getmq(struct thread *td, int fd, _fgetf func, +_getmq(struct thread *td, int fd, cap_rights_t rights, _fgetf func, struct file **fpp, struct mqfs_node **ppn, struct mqueue **pmq) { struct mqfs_node *pn; int error; - error = func(td, fd, fpp); + error = func(td, fd, rights, fpp); if (error) return (error); if (&mqueueops != (*fpp)->f_ops) { @@ -2069,21 +2069,21 @@ getmq(struct thread *td, int fd, struct file **fpp, struct mqfs_node **ppn, struct mqueue **pmq) { - return _getmq(td, fd, fget, fpp, ppn, pmq); + return _getmq(td, fd, CAP_EVENT, fget, fpp, ppn, pmq); } static __inline int getmq_read(struct thread *td, int fd, struct file **fpp, struct mqfs_node **ppn, struct mqueue **pmq) { - return _getmq(td, fd, fget_read, fpp, ppn, pmq); + return _getmq(td, fd, CAP_READ, fget_read, fpp, ppn, pmq); } static __inline int getmq_write(struct thread *td, int fd, struct file **fpp, struct mqfs_node **ppn, struct mqueue **pmq) { - return _getmq(td, fd, fget_write, fpp, ppn, pmq); + return _getmq(td, fd, CAP_WRITE, fget_write, fpp, ppn, pmq); } int @@ -2165,7 +2165,7 @@ struct filedesc *fdp; struct proc *p; struct mqueue *mq; - struct file *fp; + struct file *fp, *fp2; struct mqueue_notifier *nt, *newnt = NULL; int error; @@ -2189,8 +2189,12 @@ return (error); again: FILEDESC_SLOCK(fdp); - if (fget_locked(fdp, uap->mqd) != fp) { + error = cap_fextract(fget_locked(fdp, uap->mqd), CAP_EVENT, &fp2); + if (error) { FILEDESC_SUNLOCK(fdp); + goto out; + } + if (fp2 != fp) { error = EBADF; goto out; } ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/uipc_syscalls.c#4 (text+ko) ==== @@ -176,12 +176,10 @@ * the file descriptor referenced by the capability. */ #ifdef CAPABILITIES - if (fp->f_type == DTYPE_CAPABILITY) { - error = cap_fget(fp, rights, &fp); - if (error) { - fp = NULL; - goto out; - } + error = cap_fextract(fp, rights, &fp); + if (error) { + fp = NULL; + goto out; } #endif /* CAPABILITIES */ if (fp->f_type != DTYPE_SOCKET) { @@ -1839,7 +1837,8 @@ * File offset must be positive. If it goes beyond EOF * we send only the header/trailer and no payload data. */ - if ((error = fgetvp_read(td, uap->fd, &vp)) != 0) + if ((error = fgetvp_read(td, uap->fd, CAP_READ | CAP_SEEK, &vp)) + != 0) goto out; vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); @@ -2279,7 +2278,7 @@ u_int fflag; fdp = td->td_proc->p_fd; - error = fgetsock(td, uap->sd, &head, &fflag); + error = fgetsock(td, uap->sd, CAP_PEELOFF, &head, &fflag); if (error) goto done2; error = sctp_can_peel_off(head, (sctp_assoc_t)uap->name); ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_aio.c#2 (text+ko) ==== @@ -1400,17 +1400,30 @@ aiocbe->uaiocb.aio_lio_opcode = type; opcode = aiocbe->uaiocb.aio_lio_opcode; - /* Fetch the file object for the specified file descriptor. */ + /* + * Validate the opcode and fetch the file object for the specified + * file descriptor. + * + * XXXRW: Moved the opcode validation up here so that we don't + * retrieve a file descriptor without knowing what the capability + * should be. + */ fd = aiocbe->uaiocb.aio_fildes; switch (opcode) { case LIO_WRITE: - error = fget_write(td, fd, &fp); + error = fget_write(td, fd, CAP_WRITE | CAP_AIO, &fp); break; case LIO_READ: - error = fget_read(td, fd, &fp); + error = fget_read(td, fd, CAP_READ | CAP_AIO, &fp); + break; + case LIO_SYNC: + error = fget(td, fd, CAP_FSYNC | CAP_AIO, &fp); + break; + case LIO_NOP: + error = fget(td, fd, CAP_AIO, &fp); break; default: - error = fget(td, fd, &fp); + error = EINVAL; } if (error) { uma_zfree(aiocb_zone, aiocbe); @@ -1446,11 +1459,6 @@ uma_zfree(aiocb_zone, aiocbe); return (0); } - if ((opcode != LIO_READ) && (opcode != LIO_WRITE) && - (opcode != LIO_SYNC)) { - error = EINVAL; - goto aqueue_fail; - } if (aiocbe->uaiocb.aio_sigevent.sigev_notify != SIGEV_KEVENT) goto no_kqueue; @@ -1790,7 +1798,7 @@ struct vnode *vp; /* Lookup file object. */ - error = fget(td, uap->fd, &fp); + error = fget(td, uap->fd, CAP_AIO, &fp); if (error) return (error); ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#4 (text+ko) ==== @@ -166,12 +166,10 @@ * the file descriptor referenced by the capability. */ #ifdef CAPABILITIES - if (fp->f_type == DTYPE_CAPABILITY) { - error = cap_fget(fp, rights, &fp); - if (error) { - fp = NULL; - goto out; - } + error = cap_fextract(fp, rights, &fp); + if (error) { + fp = NULL; + goto out; } #endif /* CAPABILITIES */ if (fp->f_vnode == NULL) { @@ -1833,7 +1831,7 @@ int error, noneg; int vfslocked; - if ((error = fget(td, uap->fd, &fp)) != 0) + if ((error = fget(td, uap->fd, CAP_SEEK, &fp)) != 0) return (error); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/netgraph/ng_socket.c#2 (text+ko) ==== @@ -676,9 +676,12 @@ } /* Check that the FD given is legit. and change it to a pointer to a - * struct file. */ + * struct file. + * + * XXXRW: For now, no capability right required to pass an fd. + */ fd = CMSG_DATA(cm); - if ((error = fget(td, fd, &fp)) != 0) + if ((error = fget(td, fd, 0, &fp)) != 0) return (error); /* Depending on what kind of resource it is, act differently. For ==== //depot/projects/trustedbsd/capabilities/src/sys/nfsserver/nfs_syscalls.c#2 (text+ko) ==== @@ -147,7 +147,12 @@ error = copyin(uap->argp, (caddr_t)&nfsdarg, sizeof(nfsdarg)); if (error) return (error); - if ((error = fget(td, nfsdarg.sock, &fp)) != 0) + /* + * XXXRW: Really want CAP_SOCK_ALL? + */ + if ((error = fget(td, nfsdarg.sock, CAP_READ | CAP_WRITE | + CAP_GETSOCKNAME | CAP_BIND | CAP_CONNECT | CAP_EVENT, + &fp)) != 0) return (error); if (fp->f_type != DTYPE_SOCKET) { fdrop(fp, td); ==== //depot/projects/trustedbsd/capabilities/src/sys/security/mac/mac_syscalls.c#2 (text+ko) ==== @@ -244,7 +244,7 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = fget(td, uap->fd, &fp); + error = fget(td, uap->fd, CAP_MAC_GET, &fp); if (error) goto out; @@ -427,7 +427,7 @@ return (error); } - error = fget(td, uap->fd, &fp); + error = fget(td, uap->fd, CAP_MAC_SET, &fp); if (error) goto out; ==== //depot/projects/trustedbsd/capabilities/src/sys/vm/vm_mmap.c#2 (text+ko) ==== @@ -304,8 +304,11 @@ /* * Mapping file, get fp for validation and * don't let the descriptor disappear on us if we block. + * + * XXXRW: should extract capability rights and incorporate + * them into maxprot, just file flags. */ - if ((error = fget(td, uap->fd, &fp)) != 0) + if ((error = fget(td, uap->fd, CAP_MMAP, &fp)) != 0) goto done; if (fp->f_type == DTYPE_SHM) { handle = fp->f_data; From owner-p4-projects@FreeBSD.ORG Thu Jan 24 13:34:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E689516A469; Thu, 24 Jan 2008 13:34: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 9376916A421 for ; Thu, 24 Jan 2008 13:34:35 +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 8565113C4D5 for ; Thu, 24 Jan 2008 13:34:35 +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 m0ODYZfv056483 for ; Thu, 24 Jan 2008 13:34:35 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 m0ODYZcG056480 for perforce@freebsd.org; Thu, 24 Jan 2008 13:34:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 13:34:35 GMT Message-Id: <200801241334.m0ODYZcG056480@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 134007 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 13:34:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=134007 Change 134007 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 13:34:21 Add ENOTCAPABLE and return this instead of EACCES when a capability rights check fails. This makes capability failure modes distinct from access control failures on the underlying object, but avoids using EBADF (used for FREAD/FWRITE failure in POSIX) that makes it tricky to debug bad file descriptors (which occur more frequently when debugging capability system programs). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/errno.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#8 (text+ko) ==== @@ -64,7 +64,7 @@ */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#7 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#8 $"); #include #include @@ -138,7 +138,7 @@ { if ((c->cap_rights | rights) != c->cap_rights) - return (EACCES); + return (ENOTCAPABLE); return (0); } ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/errno.h#2 (text+ko) ==== @@ -174,7 +174,11 @@ #define EPROTO 92 /* Protocol error */ #ifndef _POSIX_SOURCE -#define ELAST 92 /* Must be equal largest errno */ +#define ENOTCAPABLE 93 /* Capabilities insufficient */ +#endif /* _POSIX_SOURCE */ + +#ifndef _POSIX_SOURCE +#define ELAST 93 /* Must be equal largest errno */ #endif /* _POSIX_SOURCE */ #ifdef _KERNEL From owner-p4-projects@FreeBSD.ORG Thu Jan 24 14:42:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B9DA16A420; Thu, 24 Jan 2008 14:42: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 2E73716A417 for ; Thu, 24 Jan 2008 14:42:47 +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 208CC13C4D5 for ; Thu, 24 Jan 2008 14:42:47 +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 m0OEgkaf061313 for ; Thu, 24 Jan 2008 14:42:46 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 m0OEgkZE061310 for perforce@freebsd.org; Thu, 24 Jan 2008 14:42:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 14:42:46 GMT Message-Id: <200801241442.m0OEgkZE061310@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 134012 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 14:42:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=134012 Change 134012 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 14:42:34 ENOTCAPABLE. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/errlst.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/errlst.c#2 (text+ko) ==== @@ -150,5 +150,6 @@ "Multihop attempted", /* 90 - EMULTIHOP */ "Link has been severed", /* 91 - ENOLINK */ "Protocol error", /* 92 - EPROTO */ + "Capabilities insufficient", /* 93 - ENOTCAPABLE */ }; const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 16:19:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CAA016A469; Thu, 24 Jan 2008 16:19: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 4759316A41B for ; Thu, 24 Jan 2008 16:19:28 +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 37AD213C458 for ; Thu, 24 Jan 2008 16:19:28 +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 m0OGJSgH070923 for ; Thu, 24 Jan 2008 16:19:28 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 m0OGJRAi070915 for perforce@freebsd.org; Thu, 24 Jan 2008 16:19:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 16:19:27 GMT Message-Id: <200801241619.m0OGJRAi070915@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 134017 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 16:19:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=134017 Change 134017 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 16:18:38 Don't use fileops passthrough as we now filter capabilities when a file descriptor is used rather than on the way down the operation stack. Panic in the passthrough functions, except for close, which is still needed. Update comments. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#9 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#9 (text+ko) ==== @@ -38,16 +38,12 @@ * rather than referencing the previous capability. * * XXXRW: - * - Does it make sense that each capability maintains a separate seek - * location from the file descriptor it wraps? What about DSEEKABLE, which - * appears to be static for a particular fileops? - * - Does it make sense that each capability maintains a separate f_flags - * from the file descriptor it wraps? - * - Currently we can only forward operations that are handled via fileops. * - Some operations, such as poll/select/kqueue are explicitly aware of file * descriptors and may need adapting. * - UNIX domain socket passing of file descriptors will likely need work, - * especially relating to garbage collection. + * especially relating to garbage collection. Do we need to teach the GC + * routines to walk through capabilities to the underlying object + * descriptors so it knows they are reachable? * - The list of capability rights is probably inadequate. * - Should there be a privilege to expand capability rights? * - Should different underlying object sets have different valid capability @@ -56,15 +52,14 @@ * approved system calls. A flag in syscalls.master? * - Need to refine access control on sysctl infrastructe sysctls, such as * name lookup. - * - masking in fo_read/fo_write/etc is undesirable because really we want - * only the original file to be used, as it might have state (cred, flags, - * etc) that should be used instead. seekable is a particular issue. * - mmap should incorporate capability rights into maxprot, not just file * flags. + * - Need fexec() or similar primitive to launch code in a sandbox. What + * should this look like? */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#8 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#9 $"); #include #include @@ -297,117 +292,63 @@ } /* - * Various pass-through operations for the capability. + * In general, file descriptor operations should never make it to the + * capability, only the underlying file descriptor operation vector, so with + * the exception of close(), panic if we do turn up here. */ static int capability_read(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_read: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_READ); - if (error) - return (error); - return (fo_read(c->cap_file, uio, active_cred, flags, td)); + panic("capability_read"); } static int capability_write(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_write: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_WRITE); - if (error) - return (error); - return (fo_write(c->cap_file, uio, active_cred, flags, td)); + panic("capability_write"); } static int capability_truncate(struct file *fp, off_t length, struct ucred *active_cred, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_truncate: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_FTRUNCATE); - if (error) - return (error); - return (fo_truncate(c->cap_file, length, active_cred, td)); + panic("capability_truncate"); } static int capability_ioctl(struct file *fp, u_long com, void *data, struct ucred *active_cred, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_ioctl: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_IOCTL); - if (error) - return (error); - return (fo_ioctl(c->cap_file, com, data, active_cred, td)); + panic("capability_ioctl"); } static int capability_poll(struct file *fp, int events, struct ucred *active_cred, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_poll: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_EVENT); - if (error) - return (error); - return (fo_poll(c->cap_file, events, active_cred, td)); + panic("capability_poll"); } static int capability_kqfilter(struct file *fp, struct knote *kn) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_kqfilter: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_EVENT); - if (error) - return (error); - return (fo_kqfilter(c->cap_file, kn)); + panic("capability_kqfilter"); } static int capability_stat(struct file *fp, struct stat *sb, struct ucred *active_cred, struct thread *td) { - struct capability *c; - int error; - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_stat: !capability")); - c = fp->f_data; - error = cap_check(c, CAP_FSTAT); - if (error) - return (error); - return (fo_stat(c->cap_file, sb, active_cred, td)); + panic("capability_stat"); } static int From owner-p4-projects@FreeBSD.ORG Thu Jan 24 17:00:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3990316A420; Thu, 24 Jan 2008 17:00: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 EECFF16A417; Thu, 24 Jan 2008 17:00:16 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mxout2.cac.washington.edu (mxout2.cac.washington.edu [140.142.33.4]) by mx1.freebsd.org (Postfix) with ESMTP id CD0B413C458; Thu, 24 Jan 2008 17:00:16 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from smtp.washington.edu (smtp.washington.edu [140.142.32.139]) by mxout2.cac.washington.edu (8.13.7+UW06.06/8.13.7+UW07.09) with ESMTP id m0OH0GtI009517 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Jan 2008 09:00:16 -0800 X-Auth-Received: from [128.208.5.249] (lodovico.cs.washington.edu [128.208.5.249]) (authenticated authid=youshi10) by smtp.washington.edu (8.13.7+UW06.06/8.13.7+UW07.09) with ESMTP id m0OH0GDD017175 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 24 Jan 2008 09:00:16 -0800 Message-ID: <4798C436.6090904@gmail.com> Date: Thu, 24 Jan 2008 09:00:38 -0800 From: Garrett Cooper User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: grehan@freebsd.org References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> In-Reply-To: <4797C8E0.4070100@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version: 5.4.1.325704, Antispam-Engine: 2.6.0.325393, Antispam-Data: 2008.1.24.84941 X-Uwash-Spam: Gauge=IIIIIII, Probability=7%, Report='FORGED_FROM_GMAIL 0.1, BODY_SIZE_300_399 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __FRAUD_419_WEBMAIL 0, __FRAUD_419_WEBMAIL_FROM 0, __FROM_GMAIL 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __USER_AGENT 0' Cc: Marcel Moolenaar , Perforce Change Reviews Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 17:00:17 -0000 Peter Grehan wrote: >> Import NetBSD's FPU emulator for PowerPC. This allows >> us to use a single userland for both cores with FPU >> and cores without FPU > > The crowd goes wild ! Well, at least me :) > > later, > > Peter. > Some other folks are surely stoked about this development as well (queuing Warner and crew..) :). -Garrett From owner-p4-projects@FreeBSD.ORG Thu Jan 24 18:31:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71FC316A41A; Thu, 24 Jan 2008 18:31: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 0A02616A418 for ; Thu, 24 Jan 2008 18:31:29 +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 EC81613C4D1 for ; Thu, 24 Jan 2008 18:31:27 +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 m0OIVRU6094539 for ; Thu, 24 Jan 2008 18:31:27 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 m0OIVRLn094536 for perforce@freebsd.org; Thu, 24 Jan 2008 18:31:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 24 Jan 2008 18:31:27 GMT Message-Id: <200801241831.m0OIVRLn094536@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 134020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 18:31:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=134020 Change 134020 by rwatson@rwatson_freebsd_capabilities on 2008/01/24 18:30:30 Rework file descriptor close to better understand capabilities: notifications of close(fd) to file locking and mqueue notification must happen with the underlying file descriptor and not the capability. Properly drop the extra thread-owned reference to a new capability once cap_new() is done. Move capability_close() above various implementations of panic() for fileops. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#10 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#5 (text+ko) ==== @@ -1011,7 +1011,7 @@ int fd; { struct filedesc *fdp; - struct file *fp; + struct file *fp, *fp_object; int error; int holdleaders; @@ -1046,8 +1046,14 @@ * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); - if (fp->f_type == DTYPE_MQUEUE) - mq_fdclose(td, fd, fp); + + /* + * When we're closing an fd with a capability, we need to notify + * mqueue if the underlying object is of type mqueue. + */ + (void)cap_fextract(fp, 0, &fp_object); + if (fp_object->f_type == DTYPE_MQUEUE) + mq_fdclose(td, fd, fp_object); FILEDESC_XUNLOCK(fdp); error = closef(fp, td); @@ -1882,6 +1888,7 @@ struct flock lf; struct filedesc_to_leader *fdtol; struct filedesc *fdp; + struct file *fp_object; /* * POSIX record locking dictates that any close releases ALL @@ -1894,11 +1901,15 @@ * NULL thread pointer when there really is no owning * context that might have locks, or the locks will be * leaked. + * + * If this is a capability, we do lock processing under the + * underyling vnode, not the capability. */ - if (fp->f_type == DTYPE_VNODE && td != NULL) { + (void)cap_fextract(fp, 0, &fp_object); + if (fp_object->f_type == DTYPE_VNODE && td != NULL) { int vfslocked; - vp = fp->f_vnode; + vp = fp_object->f_vnode; vfslocked = VFS_LOCK_GIANT(vp->v_mount); if ((td->td_proc->p_leader->p_flag & P_ADVLOCK) != 0) { lf.l_whence = SEEK_SET; @@ -1928,7 +1939,7 @@ lf.l_start = 0; lf.l_len = 0; lf.l_type = F_UNLCK; - vp = fp->f_vnode; + vp = fp_object->f_vnode; (void) VOP_ADVLOCK(vp, (caddr_t)fdtol->fdl_leader, F_UNLCK, &lf, F_POSIX); @@ -2189,6 +2200,9 @@ /* * Handle the last reference to a file being closed. + * + * No special capability handling here, as the capability's fo_close will run + * instead of the object here, and perform any necessary drop on the object. */ int _fdrop(struct file *fp, struct thread *td) ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#10 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#9 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#10 $"); #include #include @@ -263,6 +263,7 @@ finit(fp_cap, fp->f_flag, DTYPE_CAPABILITY, c, &capability_ops); td->td_retval[0] = fd_cap; fdrop(fp, td); + fdrop(fp_cap, td); return (0); fail2: @@ -292,9 +293,31 @@ } /* + * When a capability is closed, simply drop the reference on the underlying + * object and free the capability. fdrop() will handle the case where the + * underlying object also needs to close, and the caller will have already + * performed any object-specific lock or mqueue handling. + */ +static int +capability_close(struct file *fp, struct thread *td) +{ + struct capability *c; + struct file *fp_object; + + KASSERT(fp->f_type == DTYPE_CAPABILITY, + ("capability_close: !capability")); + c = fp->f_data; + fp->f_ops = &badfileops; + fp->f_data = NULL; + fp_object = c->cap_file; + uma_zfree(capability_zone, c); + return (fdrop(fp_object, td)); +} + +/* * In general, file descriptor operations should never make it to the - * capability, only the underlying file descriptor operation vector, so with - * the exception of close(), panic if we do turn up here. + * capability, only the underlying file descriptor operation vector, so panic + * if we do turn up here. */ static int capability_read(struct file *fp, struct uio *uio, struct ucred *active_cred, @@ -350,19 +373,3 @@ panic("capability_stat"); } - -static int -capability_close(struct file *fp, struct thread *td) -{ - struct capability *c; - struct file *fp_object; - - KASSERT(fp->f_type == DTYPE_CAPABILITY, - ("capability_close: !capability")); - c = fp->f_data; - fp->f_ops = &badfileops; - fp->f_data = NULL; - fp_object = c->cap_file; - uma_zfree(capability_zone, c); - return (fdrop(fp_object, td)); -} From owner-p4-projects@FreeBSD.ORG Thu Jan 24 22:17:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ACB516A477; Thu, 24 Jan 2008 22:17: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 0719E16A420 for ; Thu, 24 Jan 2008 22:17:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E768F13C46A for ; Thu, 24 Jan 2008 22:17:14 +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 m0OMHEnx022142 for ; Thu, 24 Jan 2008 22:17:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OMHEUC022139 for perforce@freebsd.org; Thu, 24 Jan 2008 22:17:14 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 22:17:14 GMT Message-Id: <200801242217.m0OMHEUC022139@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 134027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 22:17:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=134027 Change 134027 by jb@jb_freebsd1 on 2008/01/24 22:17:08 Enable all the aggregation tests. 811 now. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#17 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#17 (text+ko) ==== @@ -7,51 +7,7 @@ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel32.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \ - ${TESTSRCDIR}/tst/common/aggs/err.D_KEY_TYPE.badkey4.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.allquant.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.avg.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.clear.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.clearavg.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.clearavg2.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.cleardenormalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.clearlquantize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.clearnormalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.count.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.count2.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.denormalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.denormalizeonly.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.fmtnormalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.forms.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.keysort.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.lquantize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.lquantnormal.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.lquantrange.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.lquantround.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.lquantzero.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.max.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.min.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.multiaggs2.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.multiaggs3.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.multinormalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.neglquant.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.negorder.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.negquant.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.negtrunc.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.negtruncquant.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.normalize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.order.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.quantize.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.quantmany.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.quantround.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.quantzero.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.signedkeys.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.signedkeyspos.d \ ${TESTSRCDIR}/tst/common/aggs/tst.subr.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.sum.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.trunc.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.trunc0.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.truncquant.d \ - ${TESTSRCDIR}/tst/common/aggs/tst.valsortkeypos.d \ ${TESTSRCDIR}/tst/common/arrays/tst.uregsarray.d \ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d \ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d \ @@ -60,7 +16,6 @@ ${TESTSRCDIR}/tst/common/buffering/tst.ring3.d \ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo.d \ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo1.d \ - ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d \ ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d \ ${TESTSRCDIR}/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh \ @@ -95,13 +50,6 @@ ${TESTSRCDIR}/tst/common/misc/tst.include.ksh \ ${TESTSRCDIR}/tst/common/misc/tst.roch.d \ ${TESTSRCDIR}/tst/common/misc/tst.schrock.ksh \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.many.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.same.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.sort.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.sortpos.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.tuplecompat.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.zero.d \ - ${TESTSRCDIR}/tst/common/multiaggs/tst.zero2.d \ ${TESTSRCDIR}/tst/common/offsetof/err.D_OFFSETOF_BITFIELD.bitfield.d \ ${TESTSRCDIR}/tst/common/pid/err.D_PDESC_ZERO.badlib.d \ ${TESTSRCDIR}/tst/common/pid/err.D_PDESC_ZERO.badproc1.d \ @@ -135,13 +83,6 @@ ${TESTSRCDIR}/tst/common/pointers/tst.basic1.d \ ${TESTSRCDIR}/tst/common/pointers/tst.basic2.d \ ${TESTSRCDIR}/tst/common/predicates/tst.argsnotcached.d \ - ${TESTSRCDIR}/tst/common/printa/tst.basics.d \ - ${TESTSRCDIR}/tst/common/printa/tst.def.d \ - ${TESTSRCDIR}/tst/common/printa/tst.dynwidth.d \ - ${TESTSRCDIR}/tst/common/printa/tst.fmt.d \ - ${TESTSRCDIR}/tst/common/printa/tst.manyval.d \ - ${TESTSRCDIR}/tst/common/printa/tst.stack.d \ - ${TESTSRCDIR}/tst/common/printa/tst.tuple.d \ ${TESTSRCDIR}/tst/common/printa/tst.walltimestamp.ksh \ ${TESTSRCDIR}/tst/common/printf/tst.basics.d \ ${TESTSRCDIR}/tst/common/printf/tst.printT.ksh \ @@ -157,7 +98,6 @@ ${TESTSRCDIR}/tst/common/raise/tst.raise1.d \ ${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ ${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ - ${TESTSRCDIR}/tst/common/rates/tst.aggrate.d \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ ${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d \ From owner-p4-projects@FreeBSD.ORG Thu Jan 24 22:18:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86D4216A421; Thu, 24 Jan 2008 22:18: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 4C47416A418 for ; Thu, 24 Jan 2008 22:18:16 +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 21BB313C465 for ; Thu, 24 Jan 2008 22:18:16 +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 m0OMIGCH022198 for ; Thu, 24 Jan 2008 22:18:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OMIF6N022195 for perforce@freebsd.org; Thu, 24 Jan 2008 22:18:15 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 22:18:15 GMT Message-Id: <200801242218.m0OMIF6N022195@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 134028 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 22:18:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=134028 Change 134028 by jb@jb_freebsd1 on 2008/01/24 22:18:00 Add a read-only sysctl for mp_maxid. Affected files ... .. //depot/projects/dtrace/src/sys/kern/subr_smp.c#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/subr_smp.c#9 (text+ko) ==== @@ -74,6 +74,9 @@ SYSCTL_NODE(_kern, OID_AUTO, smp, CTLFLAG_RD, NULL, "Kernel SMP"); +SYSCTL_INT(_kern_smp, OID_AUTO, maxid, CTLFLAG_RD, &mp_maxid, 0, + "Max CPU ID."); + SYSCTL_INT(_kern_smp, OID_AUTO, maxcpus, CTLFLAG_RD, &mp_maxcpus, 0, "Max number of CPUs that the system was compiled for."); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 22:20:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A71A616A41A; Thu, 24 Jan 2008 22: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 6C5AA16A418 for ; Thu, 24 Jan 2008 22:20:18 +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 5AD8913C458 for ; Thu, 24 Jan 2008 22:20:18 +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 m0OMKIBI022557 for ; Thu, 24 Jan 2008 22:20:18 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OMKIQK022554 for perforce@freebsd.org; Thu, 24 Jan 2008 22:20:18 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 22:20:18 GMT Message-Id: <200801242220.m0OMKIQK022554@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 134029 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 22:20:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=134029 Change 134029 by jb@jb_freebsd1 on 2008/01/24 22:19:58 Use the new kern.smp.maxid syscall to determine if the requested CPU is available. It's a bit crude, but we don't take CPUs offline anyway. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#15 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#15 (text) ==== @@ -40,6 +40,8 @@ #include #if defined(sun) #include +#else +#include #endif #include #include @@ -499,12 +501,18 @@ { const dtrace_vector_t *v = dtp->dt_vector; - if (v == NULL) + if (v == NULL) { #if defined(sun) return (p_online(cpu, P_STATUS)); #else - return (cpu == 0 ? 1:-1); + int maxid = 0; + size_t len = sizeof(maxid); + if (sysctlbyname("kern.smp.maxid", &maxid, &len, NULL, 0) != 0) + return (cpu == 0 ? 1 : -1); + else + return (cpu <= maxid ? 1 : -1); #endif + } return (v->dtv_status(dtp->dt_varg, cpu)); } @@ -721,6 +729,11 @@ { void *data; + if (size > 16 * 1024 * 1024) { + (void) dt_set_errno(dtp, EDT_NOMEM); + return (NULL); + } + if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); else @@ -734,6 +747,11 @@ { void *data; + if (size > 16 * 1024 * 1024) { + (void) dt_set_errno(dtp, EDT_NOMEM); + return (NULL); + } + if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 22:36:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEB7516A421; Thu, 24 Jan 2008 22:36: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 9AC4316A41A for ; Thu, 24 Jan 2008 22:36:35 +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 8884F13C45D for ; Thu, 24 Jan 2008 22:36:35 +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 m0OMaZXX023380 for ; Thu, 24 Jan 2008 22:36:35 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0OMaZnN023377 for perforce@freebsd.org; Thu, 24 Jan 2008 22:36:35 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 22:36:35 GMT Message-Id: <200801242236.m0OMaZnN023377@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 134031 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 22:36:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=134031 Change 134031 by jb@jb_freebsd1 on 2008/01/24 22:35:50 Move the debug.dtrace sysctl node here so that it is more general. Simplify the thread-specific data to reflect that we only have one interrupt level (timer). Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#23 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#23 (text) ==== @@ -288,7 +288,7 @@ #define PRIV_PROC_ZONE (1 << 5) #define PRIV_ALL ~0 - +SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace Information"); #endif #if defined(sun) @@ -415,7 +415,7 @@ #define DTRACE_TLS_THRKEY(where) { \ solaris_cpu_t *_c = &solaris_cpu[curcpu]; \ uint_t intr = 0; \ - uint_t actv = _c->cpu_intr_actv >> (LOCK_LEVEL + 1); \ + uint_t actv = _c->cpu_intr_actv; \ for (; actv; actv >>= 1) \ intr++; \ ASSERT(intr < (1 << 3)); \ From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:05:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18D3A16A41A; Thu, 24 Jan 2008 23:05: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 D212616A418 for ; Thu, 24 Jan 2008 23:05:05 +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 BEA5513C455 for ; Thu, 24 Jan 2008 23:05:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0ON55qc025653 for ; Thu, 24 Jan 2008 23:05:05 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ON55Qo025650 for perforce@freebsd.org; Thu, 24 Jan 2008 23:05:05 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:05:05 GMT Message-Id: <200801242305.m0ON55Qo025650@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 134034 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:05:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=134034 Change 134034 by jb@jb_freebsd1 on 2008/01/24 23:04:38 For this stage of the DTrace port, let's leave out the lock inspection altogether. Change the #ifdefs to make the code look less hack-ish and more solaris-ish because that's what it is. :-D Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#24 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#24 (text) ==== @@ -3031,7 +3031,7 @@ volatile uintptr_t *illval = &cpu_core[curcpu].cpuc_dtrace_illval; dtrace_vstate_t *vstate = &state->dts_vstate; -#ifdef DOODAD +#if defined(sun) union { mutex_impl_t mi; uint64_t mx; @@ -3048,9 +3048,8 @@ regs[rd] = (dtrace_gethrtime() * 2416 + 374441) % 1771875; break; +#if defined(sun) case DIF_SUBR_MUTEX_OWNED: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { @@ -3063,12 +3062,9 @@ regs[rd] = MUTEX_OWNER(&m.mi) != MUTEX_NO_OWNER; else regs[rd] = LOCK_HELD(&m.mi.m_spin.m_spinlock); -#endif break; case DIF_SUBR_MUTEX_OWNER: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { @@ -3082,12 +3078,9 @@ regs[rd] = (uintptr_t)MUTEX_OWNER(&m.mi); else regs[rd] = 0; -#endif break; case DIF_SUBR_MUTEX_TYPE_ADAPTIVE: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { @@ -3097,12 +3090,9 @@ m.mx = dtrace_load64(tupregs[0].dttk_value); regs[rd] = MUTEX_TYPE_ADAPTIVE(&m.mi); -#endif break; case DIF_SUBR_MUTEX_TYPE_SPIN: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { @@ -3112,12 +3102,9 @@ m.mx = dtrace_load64(tupregs[0].dttk_value); regs[rd] = MUTEX_TYPE_SPIN(&m.mi); -#endif break; case DIF_SUBR_RW_READ_HELD: { -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { uintptr_t tmp; @@ -3129,13 +3116,10 @@ r.rw = dtrace_loadptr(tupregs[0].dttk_value); regs[rd] = _RW_READ_HELD(&r.ri, tmp); -#endif break; } case DIF_SUBR_RW_WRITE_HELD: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (krwlock_t), mstate, vstate)) { @@ -3145,12 +3129,9 @@ r.rw = dtrace_loadptr(tupregs[0].dttk_value); regs[rd] = _RW_WRITE_HELD(&r.ri); -#endif break; case DIF_SUBR_RW_ISWRITER: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD union { if (!dtrace_canload(tupregs[0].dttk_value, sizeof (krwlock_t), mstate, vstate)) { @@ -3160,8 +3141,8 @@ r.rw = dtrace_loadptr(tupregs[0].dttk_value); regs[rd] = _RW_ISWRITER(&r.ri); + break; #endif - break; case DIF_SUBR_BCOPY: { /* @@ -3271,10 +3252,9 @@ break; } +#if defined(sun) case DIF_SUBR_MSGSIZE: case DIF_SUBR_MSGDSIZE: { -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD uintptr_t baddr = tupregs[0].dttk_value, daddr; uintptr_t wptr, rptr; size_t count = 0; @@ -3328,9 +3308,9 @@ if (!(*flags & CPU_DTRACE_FAULT)) regs[rd] = count; -#endif break; } +#endif case DIF_SUBR_PROGENYOF: { pid_t pid = tupregs[0].dttk_value; @@ -3750,31 +3730,24 @@ break; } +#if defined(sun) case DIF_SUBR_GETMAJOR: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD #ifdef _LP64 regs[rd] = (tupregs[0].dttk_value >> NBITSMINOR64) & MAXMAJ64; #else regs[rd] = (tupregs[0].dttk_value >> NBITSMINOR) & MAXMAJ; #endif -#endif break; case DIF_SUBR_GETMINOR: -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD #ifdef _LP64 regs[rd] = tupregs[0].dttk_value & MAXMIN64; #else regs[rd] = tupregs[0].dttk_value & MAXMIN; #endif -#endif break; case DIF_SUBR_DDI_PATHNAME: { -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD /* * This one is a galactic mess. We are going to roughly * emulate ddi_pathname(), but it's made more complicated @@ -3963,10 +3936,10 @@ regs[rd] = (uintptr_t)end; mstate->dtms_scratch_ptr += size; } -#endif break; } +#endif case DIF_SUBR_STRJOIN: { char *d = (char *)mstate->dtms_scratch_ptr; @@ -5766,6 +5739,7 @@ probe->dtpr_id, probe->dtpr_arg) == 0) continue; +#if defined(sun) /* * This is more subtle than it looks. We have to be * absolutely certain that CRED() isn't going to @@ -5778,8 +5752,6 @@ * profile case, the check above will ensure that * we're examining a user context. */ -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD if (ecb->dte_cond & DTRACE_COND_OWNER) { cred_t *cr; cred_t *s_cr = @@ -5799,9 +5771,7 @@ (proc->p_flag & SNOCD)) continue; } -#endif -#if defined(sun) if (ecb->dte_cond & DTRACE_COND_ZONEOWNER) { cred_t *cr; cred_t *s_cr = @@ -12570,8 +12540,7 @@ * we can do destructive things to processes which * have altered credentials. */ -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD +#if defined(sun) if (priv_isequalset(priv_getset(cr, PRIV_EFFECTIVE), cr->cr_zone->zone_privset)) { state->dts_cred.dcr_action |= @@ -12613,13 +12582,12 @@ state->dts_cred.dcr_action |= DTRACE_CRA_PROC_DESTRUCTIVE_ALLZONE; +#if defined(sun) /* * If we have all privs in whatever zone this is, * we can do destructive things to processes which * have altered credentials. */ -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD if (priv_isequalset(priv_getset(cr, PRIV_EFFECTIVE), cr->cr_zone->zone_privset)) { state->dts_cred.dcr_action |= From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:07:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 679AF16A46C; Thu, 24 Jan 2008 23:07: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 14A0316A41A for ; Thu, 24 Jan 2008 23:07:08 +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 0222E13C44B for ; Thu, 24 Jan 2008 23:07:08 +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 m0ON77WT025820 for ; Thu, 24 Jan 2008 23:07:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ON77OL025817 for perforce@freebsd.org; Thu, 24 Jan 2008 23:07:07 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:07:07 GMT Message-Id: <200801242307.m0ON77OL025817@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 134035 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:07:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=134035 Change 134035 by jb@jb_freebsd1 on 2008/01/24 23:06:21 Change the endian tests to FreeBSD style. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#25 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#25 (text) ==== @@ -4020,7 +4020,7 @@ case DIF_SUBR_HTONS: case DIF_SUBR_NTOHS: -#ifdef _BIG_ENDIAN +#if BYTE_ORDER == BIG_ENDIAN regs[rd] = (uint16_t)tupregs[0].dttk_value; #else regs[rd] = DT_BSWAP_16((uint16_t)tupregs[0].dttk_value); @@ -4030,7 +4030,7 @@ case DIF_SUBR_HTONL: case DIF_SUBR_NTOHL: -#ifdef _BIG_ENDIAN +#if BYTE_ORDER == BIG_ENDIAN regs[rd] = (uint32_t)tupregs[0].dttk_value; #else regs[rd] = DT_BSWAP_32((uint32_t)tupregs[0].dttk_value); @@ -4040,7 +4040,7 @@ case DIF_SUBR_HTONLL: case DIF_SUBR_NTOHLL: -#ifdef _BIG_ENDIAN +#if BYTE_ORDER == BIG_ENDIAN regs[rd] = (uint64_t)tupregs[0].dttk_value; #else regs[rd] = DT_BSWAP_64((uint64_t)tupregs[0].dttk_value); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:08:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9416D16A469; Thu, 24 Jan 2008 23:08:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 412C616A421 for ; Thu, 24 Jan 2008 23:08:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2EDB313C45A for ; Thu, 24 Jan 2008 23:08:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0ON895Y025880 for ; Thu, 24 Jan 2008 23:08:09 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ON89F8025877 for perforce@freebsd.org; Thu, 24 Jan 2008 23:08:09 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:08:09 GMT Message-Id: <200801242308.m0ON89F8025877@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 134036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:08:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=134036 Change 134036 by jb@jb_freebsd1 on 2008/01/24 23:07:28 The debug.dtrace sysctl node has been moved out of here (to dtrace.c) so that it can be used all over the place. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_sysctl.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_sysctl.c#4 (text+ko) ==== @@ -22,8 +22,6 @@ * */ -SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace Information"); - int dtrace_debug = 0; TUNABLE_INT("debug.dtrace.debug", &dtrace_debug); SYSCTL_INT(_debug_dtrace, OID_AUTO, debug, CTLFLAG_RW, &dtrace_debug, 0, ""); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:09:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A80216A49C; Thu, 24 Jan 2008 23:09: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 BB23D16A420 for ; Thu, 24 Jan 2008 23:09:10 +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 A8CE313C468 for ; Thu, 24 Jan 2008 23:09:10 +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 m0ON9AnT025921 for ; Thu, 24 Jan 2008 23:09:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ON9AUX025918 for perforce@freebsd.org; Thu, 24 Jan 2008 23:09:10 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:09:10 GMT Message-Id: <200801242309.m0ON9AUX025918@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 134038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:09:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=134038 Change 134038 by jb@jb_freebsd1 on 2008/01/24 23:08:44 Q: Who traces the tracer? A: printfs! ... enabled via a sysctl. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#17 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#17 (text+ko) ==== @@ -22,6 +22,11 @@ * */ +static int dtrace_verbose_ioctl; +SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW, &dtrace_verbose_ioctl, 0, ""); + +#define DTRACE_IOCTL_PRINTF(fmt, ...) if (dtrace_verbose_ioctl) printf(fmt, ## __VA_ARGS__ ) + /* ARGSUSED */ static int dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, @@ -62,6 +67,8 @@ size_t size; uintptr_t dest; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_AGGDESC\n",__func__,__LINE__); + if (copyin((void *) *paggdesc, &aggdesc, sizeof (aggdesc)) != 0) return (EFAULT); @@ -159,9 +166,17 @@ caddr_t cached; dtrace_buffer_t *buf; + dtrace_debug_output(); + if (copyin((void *) *pdesc, &desc, sizeof (desc)) != 0) return (EFAULT); + DTRACE_IOCTL_PRINTF("%s(%d): %s curcpu %d cpu %d\n", + __func__,__LINE__, + cmd == DTRACEIOC_AGGSNAP ? + "DTRACEIOC_AGGSNAP":"DTRACEIOC_BUFSNAP", + curcpu, desc.dtbd_cpu); + if (desc.dtbd_cpu < 0 || desc.dtbd_cpu >= NCPU) return (EINVAL); @@ -258,6 +273,8 @@ ASSERT(cached == buf->dtb_xamot); + DTRACE_IOCTL_PRINTF("%s(%d): copyout the buffer snapshot\n",__func__,__LINE__); + /* * We have our snapshot; now copy it out. */ @@ -274,6 +291,8 @@ mutex_exit(&dtrace_lock); + DTRACE_IOCTL_PRINTF("%s(%d): copyout buffer desc: size %zd drops %lu errors %lu\n",__func__,__LINE__,desc.dtbd_size,(u_long) desc.dtbd_drops,(u_long) desc.dtbd_errors); + /* * Finally, copy out the buffer description. */ @@ -284,6 +303,9 @@ } case DTRACEIOC_CONF: { dtrace_conf_t conf; + + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_CONF\n",__func__,__LINE__); + bzero(&conf, sizeof (conf)); conf.dtc_difversion = DIF_VERSION; conf.dtc_difintregs = DIF_DIR_NREGS; @@ -300,6 +322,8 @@ int rval; uint64_t len; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_DOFGET\n",__func__,__LINE__); + if (copyin((void *)dof, &hdr, sizeof (hdr)) != 0) return (EFAULT); @@ -321,6 +345,8 @@ int rval; dtrace_enable_io_t *p = (dtrace_enable_io_t *) addr; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_ENABLE\n",__func__,__LINE__); + /* * If a NULL argument has been passed, we take this as our * cue to reevaluate our enablings. @@ -386,6 +412,8 @@ uintptr_t dest; int nrecs; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_EPROBE\n",__func__,__LINE__); + if (copyin((void *)*pepdesc, &epdesc, sizeof (epdesc)) != 0) return (EFAULT); @@ -456,6 +484,8 @@ char *str; int len; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_FORMAT\n",__func__,__LINE__); + mutex_enter(&dtrace_lock); if (fmt->dtfd_format == 0 || @@ -492,6 +522,8 @@ int rval; processorid_t *cpuid = (processorid_t *) addr; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_GO\n",__func__,__LINE__); + rval = dtrace_state_go(state, cpuid); return (rval); @@ -501,6 +533,8 @@ dtrace_probe_t *probe; dtrace_provider_t *prov; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_PROBEARG\n",__func__,__LINE__); + if (desc->dtargd_id == DTRACE_IDNONE) return (EINVAL); @@ -560,6 +594,10 @@ uid_t uid = 0; zoneid_t zoneid = 0; + DTRACE_IOCTL_PRINTF("%s(%d): %s\n",__func__,__LINE__, + cmd == DTRACEIOC_PROBEMATCH ? + "DTRACEIOC_PROBEMATCH":"DTRACEIOC_PROBES"); + p_desc->dtpd_provider[DTRACE_PROVNAMELEN - 1] = '\0'; p_desc->dtpd_mod[DTRACE_MODNAMELEN - 1] = '\0'; p_desc->dtpd_func[DTRACE_FUNCNAMELEN - 1] = '\0'; @@ -620,6 +658,8 @@ dtrace_providerdesc_t *pvd = (dtrace_providerdesc_t *) addr; dtrace_provider_t *pvp; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_PROVIDER\n",__func__,__LINE__); + pvd->dtvd_name[DTRACE_PROVNAMELEN - 1] = '\0'; mutex_enter(&dtrace_provider_lock); @@ -644,6 +684,8 @@ dtrace_probedesc_t *create = &desc->dtrpd_create; int err; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_REPLICATE\n",__func__,__LINE__); + match->dtpd_provider[DTRACE_PROVNAMELEN - 1] = '\0'; match->dtpd_mod[DTRACE_MODNAMELEN - 1] = '\0'; match->dtpd_func[DTRACE_FUNCNAMELEN - 1] = '\0'; @@ -666,6 +708,8 @@ int i, j; uint64_t nerrs; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_STATUS\n",__func__,__LINE__); + /* * See the comment in dtrace_state_deadman() for the reason * for setting dts_laststatus to INT64_MAX before setting @@ -732,6 +776,8 @@ int rval; processorid_t *cpuid = (processorid_t *) addr; + DTRACE_IOCTL_PRINTF("%s(%d): DTRACEIOC_STOP\n",__func__,__LINE__); + mutex_enter(&dtrace_lock); rval = dtrace_state_stop(state, cpuid); mutex_exit(&dtrace_lock); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:10:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB42516A4A5; Thu, 24 Jan 2008 23:10: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 3858C16A41B for ; Thu, 24 Jan 2008 23:10:12 +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 2602113C455 for ; Thu, 24 Jan 2008 23:10:12 +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 m0ONACpA026064 for ; Thu, 24 Jan 2008 23:10:12 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONACH6026061 for perforce@freebsd.org; Thu, 24 Jan 2008 23:10:12 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:10:12 GMT Message-Id: <200801242310.m0ONACH6026061@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 134040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:10:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=134040 Change 134040 by jb@jb_freebsd1 on 2008/01/24 23:09:36 Set/clear the per-cpu flag to indicate we've come from an interrupt. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/cyclic/amd64/cyclic_machdep.c#2 edit .. //depot/projects/dtrace/src/sys/cddl/cyclic/i386/cyclic_machdep.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/cyclic/amd64/cyclic_machdep.c#2 (text+ko) ==== @@ -93,8 +93,12 @@ c->cpu_profile_upc = 0; } + c->cpu_intr_actv = 1; + /* Fire any timers that are due. */ cyclic_fire(c); + + c->cpu_intr_actv = 0; } } ==== //depot/projects/dtrace/src/sys/cddl/cyclic/i386/cyclic_machdep.c#2 (text+ko) ==== @@ -93,8 +93,12 @@ c->cpu_profile_upc = 0; } + c->cpu_intr_actv = 1; + /* Fire any timers that are due. */ cyclic_fire(c); + + c->cpu_intr_actv = 0; } } From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:11:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF50E16A46C; Thu, 24 Jan 2008 23:11: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 74EDD16A469 for ; Thu, 24 Jan 2008 23:11:18 +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 61F2813C442 for ; Thu, 24 Jan 2008 23:11:13 +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 m0ONBDxO026125 for ; Thu, 24 Jan 2008 23:11:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONBDMY026122 for perforce@freebsd.org; Thu, 24 Jan 2008 23:11:13 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:11:13 GMT Message-Id: <200801242311.m0ONBDMY026122@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 134041 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:11:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=134041 Change 134041 by jb@jb_freebsd1 on 2008/01/24 23:10:49 Add an ERROR {} action to get the script to exit if it doesn't work. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/tst.misc.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/tracemem/tst.rootvp.d#3 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#3 (text+ko) ==== @@ -40,3 +40,8 @@ x[123] = `kmem_flags; x[456] = *`rootvp; } + +ERROR +{ + exit(1); +} ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#3 (text+ko) ==== @@ -40,3 +40,8 @@ self->x[123] = `kmem_flags; self->x[456] = *`rootvp; } + +ERROR +{ + exit(1); +} ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#3 (text+ko) ==== @@ -53,3 +53,8 @@ printf("address of process = %u\n", curpsinfo->pr_addr); exit (0); } + +ERROR +{ + exit(1); +} ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#3 (text+ko) ==== @@ -49,3 +49,8 @@ printf("address of process = %u\n", curpsinfo->pr_addr); exit (0); } + +ERROR +{ + exit(1); +} ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/tst.misc.d#3 (text+ko) ==== @@ -61,3 +61,8 @@ { exit(0); } + +ERROR +{ + exit(1); +} ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/tracemem/tst.rootvp.d#3 (text+ko) ==== @@ -52,3 +52,8 @@ { exit(0); } + +ERROR +{ + exit(1); +} From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:15:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDF2B16A421; Thu, 24 Jan 2008 23:15: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 A376816A417 for ; Thu, 24 Jan 2008 23:15:19 +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 90AC513C46E for ; Thu, 24 Jan 2008 23:15:19 +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 m0ONFJtP027129 for ; Thu, 24 Jan 2008 23:15:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONFJTJ027126 for perforce@freebsd.org; Thu, 24 Jan 2008 23:15:19 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:15:19 GMT Message-Id: <200801242315.m0ONFJTJ027126@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 134042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:15:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=134042 Change 134042 by jb@jb_freebsd1 on 2008/01/24 23:14:38 We have no 'unix' probe. I think this test is supposed to pass if the first probe doesn't exist, but after the -qm argument without the -Z, the second probe _must_ exist. Of course I might have been mistakened. Heh. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#4 (text+ko) ==== @@ -46,7 +46,7 @@ dtrace=$1 $dtrace -qZm wassup'{printf("Iamkool");}' \ --qm unix'{printf("I am done"); exit(0);}' +-qm BEGIN'{printf("I am done"); exit(0);}' status=$? From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:18:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 885D316A419; Thu, 24 Jan 2008 23:18: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 35DD916A417 for ; Thu, 24 Jan 2008 23:18:06 +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 235E913C43E for ; Thu, 24 Jan 2008 23:18:06 +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 m0ONI61u027296 for ; Thu, 24 Jan 2008 23:18:06 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONI6G9027292 for perforce@freebsd.org; Thu, 24 Jan 2008 23:18:06 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 24 Jan 2008 23:18:06 GMT Message-Id: <200801242318.m0ONI6G9027292@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 134043 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:18:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=134043 Change 134043 by kmacy@pandemonium:kmacy:xen31 on 2008/01/24 23:17:05 turn printf into log Affected files ... .. //depot/projects/xen31/sys/i386/i386/trap.c#9 edit Differences ... ==== //depot/projects/xen31/sys/i386/i386/trap.c#9 (text+ko) ==== @@ -69,6 +69,7 @@ #include #include #include +#include #include #include #ifdef KTRACE @@ -834,7 +835,7 @@ } #ifdef XEN if (rv == KERN_PROTECTION_FAILURE) - printf("SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x\n", p->p_comm, va, ftype, frame->tf_eip); + log(LOG_ERR, "SIGBUS: p=%s va=0x%x ftype=0x%x eip=0x%x\n", p->p_comm, va, ftype, frame->tf_eip); #endif return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:21:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 289E016A469; Thu, 24 Jan 2008 23:21: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 E061916A418 for ; Thu, 24 Jan 2008 23:21:09 +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 CDDFD13C469 for ; Thu, 24 Jan 2008 23:21:09 +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 m0ONL9XD027453 for ; Thu, 24 Jan 2008 23:21:09 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONL9Jo027450 for perforce@freebsd.org; Thu, 24 Jan 2008 23:21:09 GMT (envelope-from imp@freebsd.org) Date: Thu, 24 Jan 2008 23:21:09 GMT Message-Id: <200801242321.m0ONL9Jo027450@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 134044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:21:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=134044 Change 134044 by imp@imp_lighthouse on 2008/01/24 23:20:49 One item fixed, and one item discovered. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/TODO#11 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/TODO#11 (text+ko) ==== @@ -33,8 +33,9 @@ in one of the edits. o In the juniper vendor tree, gdb support just showed up. Merge it into mips2-jnpr. -o memory isn't setup for yamon boot yet. why? o splhigh still around, is it needed? +o PCPU stuff in exception.S appears to be 32-bit only, using only %hi and + %lo. Isn't it necessary to use %higher and %highest in the 64-bit case? ************ RRS (below) ********* o obio.c is probably not a good name for the IQ80321 driver From owner-p4-projects@FreeBSD.ORG Thu Jan 24 23:25:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F5FE16A421; Thu, 24 Jan 2008 23:25: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 4235116A41A for ; Thu, 24 Jan 2008 23:25:16 +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 2D11A13C45A for ; Thu, 24 Jan 2008 23:25:16 +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 m0ONPG5N027621 for ; Thu, 24 Jan 2008 23:25:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0ONPEvr027618 for perforce@freebsd.org; Thu, 24 Jan 2008 23:25:14 GMT (envelope-from jb@freebsd.org) Date: Thu, 24 Jan 2008 23:25:14 GMT Message-Id: <200801242325.m0ONPEvr027618@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 134045 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Jan 2008 23:25:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=134045 Change 134045 by jb@jb_freebsd1 on 2008/01/24 23:24:49 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#2 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/users/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#59 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#54 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/audit/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/disks/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/geom/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/ceri.key#6 integrate .. //depot/projects/dtrace/doc/share/sgml/freebsd.ent#15 integrate .. //depot/projects/dtrace/ports/GIDs#15 integrate .. //depot/projects/dtrace/ports/UIDs#18 integrate .. //depot/projects/dtrace/src/LOCKS#4 integrate .. //depot/projects/dtrace/src/Makefile.inc1#38 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#35 integrate .. //depot/projects/dtrace/src/UPDATING#22 integrate .. //depot/projects/dtrace/src/etc/rc.d/hostid#2 integrate .. //depot/projects/dtrace/src/gnu/lib/csu/Makefile#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kgdb.h#7 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kld.c#1 branch .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt.c#6 integrate .. //depot/projects/dtrace/src/lib/libarchive/Makefile#11 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_set_format_cpio_newc.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_write_disk.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_write_format_cpio_newc.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/locale/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libc/locale/ascii.c#1 branch .. //depot/projects/dtrace/src/lib/libc/locale/mblocal.h#5 integrate .. //depot/projects/dtrace/src/lib/libc/locale/setrunelocale.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/sys/flock.2#5 integrate .. //depot/projects/dtrace/src/lib/libfetch/ftp.c#7 integrate .. //depot/projects/dtrace/src/release/amd64/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/i386/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/ia64/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/pc98/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/powerpc/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/sparc64/boot_crunch.conf#4 integrate .. //depot/projects/dtrace/src/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/dtrace/src/sbin/dhclient/dhclient-script#5 integrate .. //depot/projects/dtrace/src/sbin/natd/natd.8#6 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#27 integrate .. //depot/projects/dtrace/src/share/man/man4/coda.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/puc.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/sched_4bsd.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/sched_ule.4#7 integrate .. //depot/projects/dtrace/src/share/man/man4/syncache.4#6 integrate .. //depot/projects/dtrace/src/share/man/man4/xl.4#5 integrate .. //depot/projects/dtrace/src/share/man/man5/rc.conf.5#22 integrate .. //depot/projects/dtrace/src/share/man/man7/ports.7#10 integrate .. //depot/projects/dtrace/src/share/man/man9/BUF_ISLOCKED.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/BUF_RECURSED.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/BUF_REFCNT.9#4 delete .. //depot/projects/dtrace/src/share/man/man9/Makefile#25 integrate .. //depot/projects/dtrace/src/share/man/man9/lock.9#8 integrate .. //depot/projects/dtrace/src/share/mk/bsd.own.mk#20 integrate .. //depot/projects/dtrace/src/share/mklocale/la_LN.US-ASCII.src#4 integrate .. //depot/projects/dtrace/src/sys/Makefile#11 integrate .. //depot/projects/dtrace/src/sys/compat/opensolaris/kern/opensolaris_kmem.c#5 integrate .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/kmem.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amrreg.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amrvar.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#7 integrate .. //depot/projects/dtrace/src/sys/dev/syscons/syscons.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ehci.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_udav.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/cd9660/cd9660_vfsops.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/coda/coda_vnops.c#5 integrate .. //depot/projects/dtrace/src/sys/fs/hpfs/hpfs_subr.h#5 integrate .. //depot/projects/dtrace/src/sys/fs/hpfs/hpfs_vfsops.c#9 integrate .. //depot/projects/dtrace/src/sys/fs/msdosfs/msdosfs_denode.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/ntfs/ntfs_subr.c#6 integrate .. //depot/projects/dtrace/src/sys/fs/nullfs/null_vnops.c#8 integrate .. //depot/projects/dtrace/src/sys/fs/nwfs/nwfs_node.c#6 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_node.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/udf/udf_vfsops.c#14 integrate .. //depot/projects/dtrace/src/sys/fs/unionfs/union_subr.c#13 integrate .. //depot/projects/dtrace/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#12 integrate .. //depot/projects/dtrace/src/sys/gnu/fs/reiserfs/reiserfs_inode.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/kern_jail.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#26 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_aio.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_default.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#25 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#29 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_ppp.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/in.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_options.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_usrreq.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_output.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_var.h#6 integrate .. //depot/projects/dtrace/src/sys/netinet6/raw_ip6.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/udp6_usrreq.c#15 integrate .. //depot/projects/dtrace/src/sys/netncp/ncp_conn.c#6 integrate .. //depot/projects/dtrace/src/sys/netsmb/smb_conn.c#6 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_idmap.c#4 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_node.c#9 integrate .. //depot/projects/dtrace/src/sys/sys/buf.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/event.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/lockmgr.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#34 integrate .. //depot/projects/dtrace/src/sys/sys/priv.h#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_snapshot.c#14 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#20 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vnops.c#13 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_extattr.c#8 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/Makefile#5 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/zfs/Makefile#3 integrate .. //depot/projects/dtrace/src/usr.bin/mklocale/mklocale.1#4 integrate .. //depot/projects/dtrace/src/usr.bin/mklocale/yacc.y#5 integrate .. //depot/projects/dtrace/src/usr.bin/mt/mt.1#4 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.1#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.c#7 integrate .. //depot/projects/dtrace/src/usr.sbin/iostat/iostat.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/menus.c#11 integrate .. //depot/projects/dtrace/www/en/administration.sgml#4 integrate .. //depot/projects/dtrace/www/en/community.sgml#5 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#2 (text+ko) ==== @@ -21,7 +21,7 @@ 砒塤 婍膵趡裐鵰 鐐 &os; - $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.1 2008/01/20 23:04:17 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.2 2008/01/22 07:44:13 keramida Exp $ 1995 @@ -665,7 +665,7 @@ 俉. 醲膵趡裐鵰 橀罅 僸摜楻濇 鵴 謻碄濿 僸暡瀎殦濋 - 斀壚 罼 鐙蹠 黼斶蜌鵴趛, 黀 僸摓瀌澞轘 FTP 鐐 &os;, 黀瀍 + 斀壚 罼 鐙蹠 黼斶蜌鵰, 黀 僸摓瀌澞轘 FTP 鐐 &os;, 黀瀍 罼轗錝蜧 /pub/FreeBSD/doc/. @@ -682,8 +682,8 @@ H 蜱麑 罼 蕅僸膬豵蛖鵰 鐐 耪濇楜瀦. 隸轗 皸鵸緮薀摋 黀 瀍憼酃 豵 歃瀦 儌鳺 黀澽 鐐謮縥 嚬鳻裍樥 罼 豵 斶瀎橀醲 罅 碫橀醲 黀瀍 罼轗錝蜧 - /usr/share/locale 黀 &os; 匷黀賚 鶋. - 矨 鐙歃瀦鵴 蜱麑樥 罼 蕅僸膬豵歕鵴澽 豵 歃瀦懤 僸摜楻濇殣 + /usr/share/locale 黀 &os; 匷黀賚 鶋. + 矨 鐙歃瀦鵴 蜱麑殣 罼 蕅僸膬豵歕鵴澽 豵 歃瀦懤 僸摜楻濇殣 斠轘 鐋 黀殫徻 黀賝 醲膵趡裐鵰 橀罅 毉 謯鼁縔鐒: @@ -772,13 +772,13 @@ pt_BR.ISO8859-1 - 厞嚪檶摠錁縔 (鎚撂澣葐) + 厞嚪檶摠濋 (鎚撂澣葐) ru_RU.KOI8-R - 毤麑濋 (蕅僸膬豵蛖鵰 KOI8-R) + 毤鶅罼 (蕅僸膬豵蛖鵰 KOI8-R) @@ -819,7 +819,7 @@ 婌 斀壚 鐐 樍蜤媺瀦. 凊鵘蜧纍 醲膵趡裐鵰 鵴 謻碄濿 僸暡瀎殦濋 斀壚 槴儌. 忳鳺 斀壚 歃樥 酃 僸縔 鐋 謻樖翴臲碡敳 罼 懤濈翴臲碡敳. 忳豵毇 斀壚椯 橀罅 - 謥齌麑醲厴 罼轗錭賨殣 蜒 僸塓摷憼 online, 樇 塝錼 + 謥齌麑醲厴 罼轗錭賨殣 蜒 摿塨薋鵰 online, 樇 塝錼 魠臩罍 謮 罼錆裍鳿鐐 摫濻楋殢憼 酃 樏鏷蹠鴄. 僸塯殢 鐋 醲膵趡裐鵰 鵴 錼 斠轕 鏻 斀壚椯 槴摷攠錈緪 鏻 毉 摿摦薞黀殣 憼 魨 斶瀎燽 罅 僸摵嫇瀦 酃 鐔碡敳 豵 鐐蘪 @@ -877,7 +877,7 @@ 泬壚 鱗謻瀦鏻鶂楜瀦 忴濇楜瀦 鐋 Microsoft 矨 摙氆斀 鵴錈嘵 麧 摿摿澒臩薀摋 - 斠鏸憼酃 酃 獿嚪翴酃 斠轘 鐋 斀壚 樍蜤媺瀦 黀 + 斠鏸憼酃 酃 獿嚪翴醲 斠轘 鐋 斀壚 樍蜤媺瀦 黀 Word. 剞楻醲 CTRLA, @@ -959,16 +959,17 @@ - 极 鐐 鐙豵 斠鏸, &postscript; 鐐 顯灚濄毈蜍, - 黼斶毇鶂楜 懤 虀祼 鐐 BZip2 魨 摫歞賙氁醲 鵴 楜 - 摙灚蜍 懤 臩憼 book.ps.bz2 黀瀍 + 极 鐐 鐙豵 斠鏸, 斀壚 &postscript; 鐐 + 顯灚濄毈蜍, 黼斶毇鶂楜 懤 虀祼 鐐 BZip2 魨 + 摫歞賙氁醲 鵴 楜 摙灚蜍 懤 臩憼 + book.ps.bz2 黀瀍 罼轗錝蜧 handbook/. - 雖燽 歑澣楏殦 鐋 斀壚 罼 鐐 懞欒臄鶂 黼斶蜌鵰 豵 + 雖燽 歑澣楏殦 鐋 斀壚 罼 鐐 懞欒臄鶂 黼斶蜌鵰 豵 歑氆纍橀醲 罅 罼醲瘌鵴醲, 魨 貘椲樥 椲樥酃 罅 摫濼摷裍殦 摿 魦錼醲 玃 罅 罼醲瘌鵴醲 鐐 楯蜤暡 懤 鐋 斀壚 謯縥鐐 鐐 &os;. @@ -1020,8 +1021,8 @@ 罼 椲樥酃 罅 摿鏻蜤媱殦 酃 摿轚黀毉欒 楯蜤暡 黀 魦鵰 鐐蘪. - 鏑 謯鵘麧殫憼, 椻儌鵰 HTML 鵴 黼罽樦楜 摙灚葐 鐐 FAQ, - 黼斶毇鶂楜 懤 虀祼 鐐 &man.bzip2.1;, 斶瀎橀 罅 碫樘橀 黀 + 鏑 謯鵘麧殫憼, 椻儌鵰 鐐 FAQ 鵴 黼罽槼樦楜 摙灚葐 HTML, + 黼斶毇鶂楜 懤 虀祼 鐐 &man.bzip2.1;, 斶瀎橀 罅 碫樘橀 黀 摙灚蜍 doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 . 鏑 罅 罼醲瘌鵴醲 罼 罅 摫瀀纍謮楻殦 斠鏸 鐐 摙灚蜍 @@ -1032,7 +1033,7 @@ &prompt.root; tar xvf book.html-split.tar 罼酃錞鍷醲 懤 擩 黼錭檶 摫 摙灚葐 - .html. 孲 皸鶅蕓 瀍瀌塍殦 + .html. 孲 皸鶅蕓 瀍瀌塍殦摋 index.html, 罼 魨 謥齌歃樥 鐐 謵罅罼 謥齌毿瀌楜, 樥鶋裺蜒蕓 纆濋, 罼 麧鶂燽 貘濿 酃 塝錆 鐔碡敳 鐐 樍蜤媺瀦. 泫瀎橀醲 椲樥酃 罅 摿鏻蜤媱殦 罅 懤酃膦縶鵴醲 @@ -1113,7 +1114,7 @@ 蕓鶂. 鍚 魦錼醲 罅 夒轘鵴醲 黀 懞鐙濋 鶋 蜱麑, 貘瀀謯魶黀 罅 縔翴醲 鐋 殥鐋鵰 黀 錨蜱濋 罼 椲樥酃 懤酃膦耬鳺裎 鵴 縔豵濈 塝錝 罼縰錁 - ##freebsd-lang 摿 虀樥塍殦摋. + ##freebsd-lang 摿 虀樥塍殦摋. @@ -1145,7 +1146,7 @@ 孲 罼縰錁 #FreeBSDRUSNET 橀罅 貘瀀摿敳瀇澞徾臩 黀 碨碄樥 虀踠鏿 鐐 &os; 豵 - 擩錝 鐋 欴麑鶅縤 蜱麑. 鑣罅 歑裍趛 楜 罼錪 徾厴 蜒 + 擩錝 鐋 欴鶅縤 蜱麑. 鑣罅 歑裍趛 楜 罼錪 徾厴 蜒 懞-醲籦濋椯 黼緗轘鵴澽. @@ -1171,7 +1172,7 @@ - 厞 斶瀎 罅 碫 歑 謻趡徻 臝瀀轘齌鍡 罼 樏謣毈氁鵰 蜒 + 厞 斶瀎 罅 碫 歑 謻趡徻 臝瀀轘齌鍡 罼 樏謯蛷氁鵰 蜒 鐐 &os;; @@ -1188,7 +1189,7 @@ 砎毉瀀鬿豵醲 塝錝 瀎蝁臄鶂 謯鵚灚 樏謯蛷氁鵰 罼 臝瀀轘齌鍡, 魨 貘椲樥 罅 歑濋毉薋縶鵴 懤 鐐 Project 蜒 罅 - 罼酃蠮鼩鳺 黀 錈黀 斠轘. + 罼酃蠮鼩鳺 鵴 斠轘 鐋 錈黀. ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/handbook/users/chapter.sgml#3 (text+ko) ==== @@ -4,7 +4,7 @@ The FreeBSD Greek Documentation Project - $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/users/chapter.sgml,v 1.2 2008/01/14 14:19:47 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/users/chapter.sgml,v 1.3 2008/01/22 07:45:58 keramida Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/users/chapter.sgml %SRCID% 1.1 @@ -29,9 +29,9 @@ 郤臩鸄 孲 &os; 歑濊鵚謥 鵴 豵錭摫錝 虀祼醲 罅 虀踠濇瀔毉燽 鐐 - 臝瀇檶澞轘 鐋 蛷殧 黀殫徻. 哢濼摿, 檇臩 楜摥 摫 斠鐐 鐐蘪 虀祼醲 - 斶瀎橀 罅 縔鳺酃 斶厴黀 摫 鐋 歞耬 罼 鐐 謻賙鐙瀇蜒 縔鳺 - 麧儌徾耬 黀殫徻 + 臝瀇檶澞轘 鐋 蛷殧 黀殫徻. 哢濼摿, 檇臩 楜摥 摫 斠鐐 鐐蘪 + 虀祼醲 斶瀎橀 罅 縔鳺酃 斶厴黀 摫 鐋 歞耬 罼 鐐 謻賙鐙瀇蜒 + 縔鳺 麧儌徾耬 黀殫徻. 髑鏸 皭鶅縔 摿 黼罽楻瀦懤 豵錭摫醏 醲儵敳濋, 摠醏 魨 擩錞鵿纍 蜒 斠鏸 黀 . @@ -85,38 +85,39 @@ - Introduction + 體鶋裺蜛 - All access to the system is achieved via accounts, and all - processes are run by users, so user and account management are - of integral importance on FreeBSD systems. + 貘鶌摷 黀 匷黀賚 歑濊礯攩翴酃 徾齍 錝蝁齌摷檎, 錼 + 毉 僸殥蝁鵸殣 樏醲錝薀摋 摫 虀祼醲, 椼鶅 僸暠橀齌鵰 虀踠鏿 罼 + 錝蝁齌摷檎 橀罅 懤蜡錣 鵰憼鵸摥 黀 &os; 黼黀碡敳. - Every account on a FreeBSD system has certain information associated - with it to identify the account. + 忳鳺 錝蝁齌摷檇 鵴 楜 匷黀賚 &os; 歃樥 黼蜺樏齌徾翴 謻趡濼瀎蜌 + 豵 齀殦蛺瀍酃 懤 斠鏸 黀 罅 摿摦薋麌緪酃 摫 鐐 匷黀賚. - User name + 潤瀌 虀祼鐋 - The user name as it would be typed at the - login: prompt. User names must be unique across - the computer; you may not have two users with the same - user name. There are a number of rules for creating valid user - names, documented in &man.passwd.5;; you would typically use user - names that consist of eight or fewer all lower case - characters. + 孲 臩憼 虀祼鐋 橀罅 斠鏸 豵 魨 蜤暡橀 黀賝 + 貘濻厴謰 login:. 婛 瀍憼酃 虀踠鏿 貘椲樥 罅 + 橀罅 斀罅僸縔 蜒 鐐 臝瀇檶澞轘, 麧 斶瀎橀醲 罅 歃殦 噆 + 虀祼醲 懤 鐐 蛷濈 臩憼 虀祼鐋. 涾塱灚 楜摥 摙氆檇 罼薤薋 + 蜒 鐋 儃擩瀦鼖葐 楯艕夒 瀍瀌嫄 虀踠鏿, 豵 醲膵趡澸臩薀摋 + 黀 &man.passwd.5;. 郚縶凞 魨 虀踠濇瀔毉橀醲 瀍憼酃 虀踠鏿 豵 + 謥齌歃瀦 氋鏿 錁裼醲厴蘪 錝蘪 擩膲燽 欒鼁臲碖殣. - Password + 旴僸蕓 - Each account has a password associated with it. The password - may be blank, in which case no password will be required to access - the system. This is normally a very bad idea; every account - should have a password. + 忳鳺 錝蝁齌摷檇 歃樥 楜 蕅僸蕓 齀殦氄懤臩 懤 斠鏸. + 蕅僸蕓 斶瀎橀 罅 橀罅 耪薤, 瀔醲 罼 麧 魨 摫摋醲裎摋 + 蜒 貘鶌摷 黀 匷黀賚. 隸鏸 罼轗 罼薤罅 橀罅 擩 + 豵錔 罼縤 毈楩, 縔鳺 錝蝁齌摷檇 魨 貘椲樥 罅 歃樥 楜摿 蕅僸蕓. + @@ -124,19 +125,20 @@ User ID (UID) - The UID is a number, traditionally from 0 to 65535 - It is possible to use UID/GIDs as large as - 4294967295, but such IDs can cause serious problems - with software that makes assumptions about the values - of IDs. - , used to uniquely identify - the user to the system. Internally, FreeBSD uses the UID to - identify users—any FreeBSD commands that allow you to - specify a user name will convert it to the UID before working with - it. This means that you can have several accounts with different - user names but the same UID. As far as FreeBSD is concerned these - accounts are one user. It is unlikely you will ever need to do - this. + 孲 UID 橀罅 楜摥 摙氆檇, 罼轗 謯鵘儌鵰 摫 鐐 0 歈 鐐 65535 + + 鑣罅 勯罅鏸 罅 虀踠濇瀔毉祼殦 UID/GIDs 鵿 懤蜡錆 鵿 + 鐐 4294967295, 摠醏 轕鐐殧 IDs 斶瀎橀 罅 貘氋摠楻瀦 鵿皸鵘 + 貘檺錞憼酃 懤 錝蜒鶂濋 豵 縔翴 臝歞楻樥 齀殦濋 懤 鏻 + 鏻徾 鐒 IDs. + , 豵 虀踠濇瀔毉橀酃 蜒 鐋 斀罅僸縤 摿摦薞齌鵰 + 鐐 虀祼鐋 黀 匷黀賚. 攬醲齌縔, 鐐 &os; 虀踠濇瀔毉橀 鐐 UID + 蜒 罅 摿摦薋麌鵴 虀祼醲—瀔毉殢鬿豵醲 &os; 樇鐐錧 豵 + 鶋 歑濊鵚豵罍 罅 瀎裍殦 楜 臩憼 虀祼鐋 魨 鐐 懤酃鐙歂瀦 黀 + UID 貘澼 鐐 虀踠濇瀔毉祼瀦. 隸鏸 鵰憼蜁樥 鏻 斶瀎橀醲 罅 歃殦 + 豵錭燽 錝蝁齌摷斀 懤 僸暡瀎殦濋 瀍憼酃 虀祼鐋 摠醏 鐐 蛷濈 + UID. 潟 暡瀎 鐐 &os; 斠鐐 毉 錝蝁齌摷斀 橀罅 楜摥 虀祼鐋. + 鑣罅 摫蛵摿 罅 虀樥摷醲 豵轕 罅 縔翴醲 縔鏻 轕鐐濈. @@ -144,141 +146,148 @@ Group ID (GID) - The GID is a number, traditionally from 0 to 65535, used to uniquely identify - the primary group that the user belongs to. Groups are a - mechanism for controlling access to resources based on a user's - GID rather than their UID. This can significantly reduce the size - of some configuration files. A user may also be in more than one - group. + 孲 GID 橀罅 楜摥 摙氆檇, 罼轗 謯鵘儌鵰 摫 鐐 0 歈 鐐 65535 + , 豵 虀踠濇瀔毉橀酃 + 蜒 鐋 斀罅僸縤 摿摦薞齌鵰 鐋 貘醲瀍鐐 瀌塤摥 豵 摿碅樥 + 虀祼鐋. 矨 瀌塤殣 橀罅 楜摥 懞欒臄鶂 蜒 鐐 楋樍艬 鐋 + 貘鶌摷趛 鵴 蹞厴蘪 豵 黀趡蛺殦摋 黀 GID 樇 虀祼鐋, 謯鵘 黀 + UID. 隸鏸 斶瀎橀 罅 懤澸鵴 鵰憼薀濋 鐐 徾蜲鴄 縔豵澺 摙灚裐 + 僸氁魦鐋鵰. 貲摥 虀祼鐋 斶瀎橀 歑裍趛 罅 摿碅樥 鵴 + 謥齌麑醲鼫 鐋 懃摥 瀌塤殣. - Login class + 抔嫇樥 匷罽殢趛 - Login classes are an extension to the group mechanism that - provide additional flexibility when tailoring the system to - different users. + 矨 膹嫇樥 匷罽殢趛 (login classes) 橀罅 擩 歑椻酃鵰 黀瀍 + 懞欒臄鶂 鐒 瀌塤 豵 謯鵚艬罍 貘鵩殦 氁槶濎葐 酃 + 貘瀀摙檇緮纍 鐐 匷黀賚 鵴 僸暡瀎殦濋燽 虀祼醲. - Password change time + 郩臩 摠錆蜛 蕅僸膬 - By default FreeBSD does not force users to change their - passwords periodically. You can enforce this on a per-user basis, - forcing some or all of your users to change their passwords after - a certain amount of time has elapsed. + 鷥' 瀎澞斀 鐐 &os; 麧 歑殪塝錼 黀瀦 虀祼醲 罅 摠醏緮罍 + 謥齌檷濋 鐐 蕅僸蕓 鐐蘪. 泫瀎橀醲 罅 鐐 歑殪塝殦 斠鏸 鵴 擩 + 摿 虀祼鐋 瘌鵰, 摿摦縔緮薀摥 縔豵濈蘪 錝蘪 鐐蘪 虀祼醲 罅 + 摠醏緮罍 鐐 蕅僸蕓 鐐蘪 暡燽 歃樥 謥鵘鵴 楜 黼蜺樏齌徾臩 + 虀瀍濋 僸嫇鐋憼. - Account expiry time + 郩臩 錞鍡 錝蝁齌摷檎 - By default FreeBSD does not expire accounts. If you are - creating accounts that you know have a limited lifespan, for - example, in a school where you have accounts for the students, - then you can specify when the account expires. After the expiry - time has elapsed the account cannot be used to log in to the - system, although the account's directories and files will - remain. + 鷥' 瀎澞斀 黀 &os; 麧 錞蜧罍 錝蝁齌摷斀. 鍚 儃擩瀦鼖祼殦 + 錝蝁齌摷斀 豵 蝂麌緪醲 鏻 歃瀦 謥齌瀎澞徾耬 僸塱耪殧 翦硻, + 蜒 謯鵘麧殫憼, 鵴 楜 齀瀇橀 豵 歃殦 錝蝁齌摷斀 蜒 鐐蘪 + 憼鳿轕, 鏸醲 斶瀎橀醲 罅 瀎裍殦 蹞醲 錞蜲 錝蝁齌摷檇. 雖燽 + 虀臩 錞鍡 歃樥 謥鵘鵴, 錝蝁齌摷檇 麧 斶瀎橀 罅 + 虀踠濇瀔毉賥橀 蜒 鐋 匷罽殢 黀 匷黀賚, 摿 罼 毉 孌耪錝 鐐 + 錝蝁齌摷斀 罼 酃 摙灚葐 魨 謯鼁懤蜁瀦. - User's full name + 哢摦憼鏻蕓 臩憼 虀祼鐋 - The user name uniquely identifies the account to FreeBSD, but - does not necessarily reflect the user's real name. This - information can be associated with the account. + 孲 臩憼 虀祼鐋 摿摦薋麌緪 斀罅僸縔 鐐 錝蝁齌摷檇 黀 &os;, + 摠醏 麧 摿鏻貘瀀謥樥 摫摙摲鐋酃 鐐 貘摦憼鏻蕓 臩憼 鐐 + 虀祼鐋. 隸轘 謻趡濼瀎葐 斶瀎橀 罅 黼齀殦澞醲 懤 鐐 + 錝蝁齌摷檇. - Home directory + 哢瀀謮蕓 罼轗錝蜧 - The home directory is the full path to a directory on the - system in which the user will start when logging on to the - system. A common convention is to put all user home directories - under + 貘瀀謮蕓 罼轗錝蜧 橀罅 僸撦厴徻 鵴 楜 罼轗錝蜧 黀 + 匷黀賚 豵 魨 鍷膦縰 虀祼鐋 酃 黼罽楶酃 鵴 斠鏸. + 欥 膬澼 匷懧摷 橀罅 罅 斶摲臩罍 毉 貘瀀謮膬 罼轗錝蜧 + 虀踠鏿 黀 /home/username - or /usr/home/username. - The user would store their personal files in their home directory, - and any directories they may create in there. + 黀 /usr/home/username. + 虀祼鐋 魨 摫歞賙濆樥 酃 貘瀀謮縔 鐐 摙灚葐 黀瀍 貘瀀謮蕓 鐐 + 罼轗錝蜧, 罼 豵濈蘪 罼酃錪蜧蘪 儃擩瀦鼖祼樥 樏橀 徾鶋. - User shell + 忡錴獿 虀祼鐋 - The shell provides the default environment users use to - interact with the system. There are many different kinds of - shells, and experienced users will have their own preferences, - which can be reflected in their account settings. + 孲 縥錴獿 謯鵚灚 鐐 槴' 瀎澞斀 謥齌瘌錭瀍 豵 毉 虀祼醲 + 虀踠濇瀔毉燽 蜒 罅 摠錣錼謮儊燽 懤 鐐 匷黀賚. 涾塱艬罍 豵錭 + 僸暡瀎殦濋 橀儃 耪錴籚, 罼 毉 椷謥濄毉 虀祼醲 魨 歃瀦 鏻 + 僸縥 鐐蘪 貘濻濇祼樥, 毉 瀔檽殣 斶瀎橀 罅 摿鏻罼鐐贄麌緮薀摋 + 黀澽 嚬鳻裍樥 鐒 錝蝁齌摷檎 鐐蘪. - There are three main types of accounts: the Superuser, system users, and user accounts. The Superuser - account, usually called root, is used to - manage the system with no limitations on privileges. System - users run services. Finally, user accounts are used by real - people, who log on, read mail, and so forth. + 涾塱艬罍 鐙樥 蕡齌毉 鐊豵 錝蝁齌摷檎: 臝殥虀祼鐋 (superuser), 毉 虀祼醲 黼黀碡敳濿, 罼 毉 錝蝁齌摷斀 虀踠鏿. 錝蝁齌摷檇 + 臝殥虀祼鐋, 黼縶凞 瀍瀌塍殦摋 root, + 虀踠濇瀔毉橀酃 蜒 鐋 僸暠橀齌鵰 鐐 黼黀碡敳濿 蠮麌 謥齌瀎澞斀 + 黀 貘瀍擩. 矨 虀祼醲 黼黀碡敳濿 鐙歃瀦 臝趡殢蜌. 婃錝, 毉 + 錝蝁齌摷斀 虀踠鏿 虀踠濇瀔毉燽薀摋 摫 貘摦憼鏻膬 摿黓豵蘪, 豵 + 黼罽楑薀摋, 僸摵塍瀦 mail, 罼 燽鐒 罼鳺鍪. - The Superuser Account + 呤蝁齌摷檇 涾殥虀祼鐋 accounts superuser (root) - The superuser account, usually called - root, comes preconfigured to facilitate - system administration, and should not be used for day-to-day - tasks like sending and receiving mail, general exploration of - the system, or programming. + 錝蝁齌摷檇 臝殥虀祼鐋, 黼縶凞 罼錼裎摋 + root, 橀罅 貘瀎纇擩鶂楜濿 蜒 罅 僸氁膬錔翴酃 + 僸暠橀齌鵰 鐐 黼黀碡敳濿, 罼 麧 魨 貘椲樥 罅 虀踠濇瀔毉橀酃 蜒 + 罼鳿懤齌縻 殥蝁鵸殣 蹠 摫瀀鐐錞 罼 錞鸄 mail, 蜲臄縤 槴殥濆耬鵰 鐐 + 黼黀碡敳濿, 貘檶鼁擤敳澞檇. - This is because the superuser, unlike normal user accounts, - can operate without limits, and misuse of the superuser account - may result in spectacular disasters. User accounts are unable - to destroy the system by mistake, so it is generally best to use - normal user accounts whenever possible, unless you especially - need the extra privilege. + 隸鏸 僸鏻 臝殥虀祼鐋, 鵴 摿轚鳺鵰 懤 鐐蘪 罼臩臄膬 + 錝蝁齌摷斀 虀踠鏿, 斶瀎橀 罅 錼濊瀦鼖橀 蠮麌 齌, 罼 + 罼膬懤酃灚裖澞 鐐 錝蝁齌摷斀 斠鐐 斶瀎橀 罅 歃樥 黼縻謥殧 + 鳺摐敳濋椯 罼酃黀厴巕. 矨 錝蝁齌摷斀 虀踠鏿 麧 斶瀎燽 罅 + 罼酃黀鵚攮罍 鐐 匷黀賚 摫 醏鴄, 椼鶅 橀罅 蜲臄縔 罼錔醲鼁 罅 + 虀踠濇瀔毉橀醲 罼臩臄膬 錝蝁齌摷斀 虀踠鏿 豵醲 橀罅 勯罅鏸, + 樏鏸 樔 樥僸蕓醲鼁 虀樥塍殢醲 酃 歑潞錧瀍 貘瀍擩. - You should always double and triple-check commands you issue - as the superuser, since an extra space or missing character can - mean irreparable data loss. + 貘椲樥 謣薀 罅 槶楯灚醲 噆 罼 鐙樥 獿鵚 鏻 樇鐐錧 豵 + 魠翴醲 鶋 臝殥虀祼鐋, 暡燽 楜 歑潞錧瀍 耪薤 楜摥 欒鼁臲碖摥 豵 + 錼蜅樥, 斶瀎橀 罅 鵰憼蜁樥 摿歑摿鼨鐋 摫錼殧 麧儌徾薋. - So, the first thing you should do after reading this - chapter is to create an unprivileged user account for yourself - for general usage if you have not already. This applies equally - whether you are running a multi-user or single-user machine. - Later in this chapter, we discuss how to create additional - accounts, and how to change between the normal user and - superuser. + 路鶅, 鐐 貘鐐 貘塨憼 豵 魨 貘椲樥 罅 縔翴醲 暡燽 僸摵嫇殦 斠鏸 + 鐐 耪孌錆濈, 橀罅 罅 儃擩瀦鼖祼殦 楜摿 錝蝁齌摷檇 虀祼鐋, 蠮麌 + 貘瀍擩, 蜒 鐐 槦蘟 鶋 蜒 蜲臄縤 虀祼 摿 麧 鐐 歃殦 縔翴 碇 + 隸鏸 澞襳樥 槴裍瀦 樔 鐙歃殦 楜 豵錴-虀踠鏻蕓 斀臩-虀踠鏻蕓 + 懞攩耬憼. 闌裼醲鼁 鵴 斠鏸 鐐 耪孌錆濈, 魨 黼緗轘鵿纍 蹠 罅 + 儃擩瀦鼖橀醲 貘鵩殦瀦 錝蝁齌摷斀, 罼 蹠 罅 摠醏緪醲 懤酃鞡 + 鐐 罼臩臄膬 虀祼鐋 罼 鐐 臝殥虀祼鐋. - System Accounts + 呤蝁齌摷斀 郚黀碡敳濿 accounts system - System users are those used to run services such as DNS, - mail, web servers, and so forth. The reason for this is - security; if all services ran as the superuser, they could - act without restriction. + 矨 虀祼醲 黼黀碡敳濿 橀罅 斠鐐 豵 虀踠濇瀔毉燽薀摋 蜒 罅 + 鐙歃瀦 臝趡殢蜌 蹠 鐐 DNS, mail, web servers, 罼 燽鐒 罼鳺鍪. + 錪蜧 蜒 斠鏸 橀罅 摷孌錼殧: 摿 錼 毉 臝趡殢蜌 椼鼫欒 + 懤 僸罼澸憼酃 臝殥虀祼鐋, 魨 錼濊瀦鼖燽鶋 蠮麌 謥齌瀎澞斀. accounts @@ -288,57 +297,58 @@ accounts operator - Examples of system users are daemon, - operator, bind (for - the Domain Name Service), news, and - www. + 凊鼁麧蜄憼酃 摫 虀祼醲 黼黀碡敳濿 橀罅 毉 + daemon, operator, + bind (蜒 鐐 Domain Name Service), + news, 罼 www. accounts nobody - nobody is the generic unprivileged - system user. However, it is important to keep in mind that the - more services that use nobody, the more - files and processes that user will become associated with, and - hence the more privileged that user becomes. + nobody 橀罅 蜲臄蕓, 蠮麌 貘瀍擩, + 虀祼鐋 黼黀碡敳濿. 湁鏸鵿, 橀罅 鵰憼薀濋 罅 歃殦 罼轗 臩 鏻 鵿 + 謥齌麑醲鼫 臝趡殢蜌 虀踠濇瀔毉燽 鐐 nobody, + 鏸鵿 謥齌麑醲鼁 摙灚葐 罼 僸殥蝁鵸殣 魨 黼齀殦澞鐐 懤 斠鏸, 罼 + 椼鶅 鏸鵿 謥齌麑醲厴 貘瀍瀌濈艬 蝃翴酃 斠鏸 虀祼鐋. - User Accounts + 呤蝁齌摷斀 郩踠鏿 accounts user - User accounts are the primary means of access for real - people to the system, and these accounts insulate the user and - the environment, preventing the users from damaging the system - or other users, and allowing users to customize their - environment without affecting others. + 矨 錝蝁齌摷斀 虀踠鏿 橀罅 鐐 貘酃壝濋 徾鵿 貘鶌摷趛 蜒 + 貘摦憼鏻膬 摿黓豵蘪 黀 匷黀賚, 罼 徾齍 斠鏿 摫瀌瀍翴酃 縔鳺 + 虀祼鐋 罼 鐐 謥齌瘌錭瀍 殥蝁鵸摥 鐐, 摫濻鵚豵薀摥 椼鶅 謮魨縶 + 罼酃黀厴巑 鐐 黼黀碡敳濿 塝錩 虀踠鏿, 罼 歑濊鵚豵薀摥 鵴 縔鳺 + 楜 罅 貘瀀摙檇緪 鐐 僸蕓 鐐 謥齌瘌錭瀍 蠮麌 罅 歑趡樔緪 鐐蘪 + 塝錝蘪. - Every person accessing your system should have a unique user - account. This allows you to find out who is doing what, prevent - people from clobbering each others' settings or reading each - others' mail, and so forth. + 忳鳺 嫄瀌 豵 歃樥 貘鶌摷 黀 匷黀賚 鶋 魨 貘椲樥 罅 歃樥 楜 + 斀罅僸蕓 錝蝁齌摷檇 虀祼鐋. 隸鏸 鶋 歑濊鵚謥 罅 碫橀醲 豵蜍 縔翴 + 鏻, 摫濻鵚謥 摿黓豵蘪 摫 鐐 罅 謥濄塍瀦 鏻 嚬鳻裍樥 楜摥 鐐 + 塝錝, 罅 僸摵嫇樥 楜摥 酃 mail 鐐 塝錝, 罼 燽鐒 罼鳺鍪. - Each user can set up their own environment to accommodate - their use of the system, by using alternate shells, editors, key - bindings, and language. + 忳鳺 虀祼鐋 斶瀎橀 罅 黀祼樥 鐐 僸蕓 鐐 謥齌瘌錭瀍 黀 罅 + 貘瀀摙檇鵴 鐋 虀祼 鐐 黼黀碡敳濿, 虀踠濇瀔毉薀摥 樇摠錆臲濋 + 耪錔氍, 黼薀塎醲, 黼罽礭鶂燽 謻碅鐙, 罼 蜱麑摥. - Modifying Accounts + 寁瀔瀔毉薀摥 呤蝁齌摷斀 accounts modifying - There are a variety of different commands available in the - &unix; environment to manipulate user accounts. The most common - commands are summarized below, followed by more detailed - examples of their usage. + 涾塱灚 擩 豵濋澣葐 摫 僸暡瀎殦濋椯 樇鐐錧 僸摜楻濇殣 黀 + 謥齌瘌錭瀍 &unix; 蜒 罅 灚濄澞醲裎 錝蝁齌摷斀 虀踠鏿. 矨 謮 + 膬澼椯 樇鐐錧 黼臩鸃緮薀摋 謯鼁縔鐒, 摓瀇瀦鴄懤翴 摫 錼贄瀌殥 + 謯鼁麧蜄憼酃 鐋 虀祼趛 鐐蘪. @@ -347,34 +357,35 @@ - Command - Summary + 鱖鐐錞 + 凎齌蜤暡 &man.adduser.8; - The recommended command-line application for adding - new users. + 貘濻樥薤懤耬 氀摙斀蜛 蜤摐徻-樇鐐錌 蜒 鐋 貘瀀魶聬 + 縻 虀踠鏿. &man.rmuser.8; - The recommended command-line application for - removing users. + 貘濻樥薤懤耬 氀摙斀蜛 蜤摐徻-樇鐐錌 蜒 鐋 + 僸摦鼁巑 虀踠鏿. &man.chpass.1; - A flexible tool to change user database information. + 貲 氁楋濋鐐 殥蝁錼蜍 蜒 鐋 摠錆蜛 謻趡濼瀎澸 鐋 瘌鵰 + 麧儌徾薋 鐒 虀踠鏿. &man.passwd.1; - The simple command-line tool to change user - passwords. + 孲 摫錪 殥蝁錼蜍 蜤摐徻-樇鐐錌 蜒 鐋 摠錆蜛 鐒 + 蕅僸蕘 鐒 虀踠鏿. &man.pw.8; - A powerful and flexible tool to modify all aspects - of user accounts. + 貲 勯罅鏸 罼 氁楋濋鐐 殥蝁錼蜍 蜒 鐋 摠錆蜛 錩 鐒 + 嚬鳻裍潁 鐒 錝蝁齌摷檎 鐒 虀踠鏿. @@ -394,16 +405,17 @@ /usr/share/skel skeleton directory - &man.adduser.8; is a simple program for - adding new users. It creates entries in the system - passwd and group - files. It will also create a home directory for the new user, - copy in the default configuration files (dotfiles) from - /usr/share/skel, and can optionally mail - the new user a welcome message. + 孲 &man.adduser.8; 橀罅 楜 摫錪 貘蜤摐憼 蜒 罅 貘瀀魦醲醲 + 縻瀦 虀祼醲. 櫺擩瀦鼖橀 樍蜤暡椯 黀 摙灚葐 黼黀碡敳濿 + passwdgroup. + 櫺擩瀦鼖橀 歑裍趛 楜摿 貘瀀謮蕓 罼轗錝蜧 蜒 鐐 縻 虀祼鐋, + 摿鏻蜤媺樥 樏橀 酃 槴' 瀎澞斀 摙灚葐 嚬鳻裍潁 + (dotfiles) 摫 鐐 + /usr/share/skel, 罼 斶瀎橀 貘櫆濄殦濋 罅 + 黀橀錼 楜 徻薏憼 罼錩鵿麌鶂敳濿 黀瀍 縻 虀祼鐋. - Adding a user on &os; + 哢瀀魦鐐薀摥 楜摿 虀祼鐋 黀 &os; &prompt.root; adduser Username: jru @@ -437,9 +449,8 @@ - The password you type in is not echoed, nor are asterisks - displayed. Make sure that you do not mistype the password. - + 蕅僸蕓 豵 謻賙鐙瀇檶橀醲 麧 攠蜁殦摋, 燽醲 樦攠繄緮薀摋 + 摷醲麌鵳毉. 罣瀍轚黀 罅 懞 蜤媱殦 醏鴄 鐐 蕅僸蕓. @@ -452,61 +463,64 @@ removing - You can use &man.rmuser.8; to - completely remove a user from the system. - &man.rmuser.8; performs the following - steps: + 泫瀎橀醲 罅 虀踠濇瀔毉祼殦 鐐 &man.rmuser.8; 蜒 罅 + 僸摦鵘鷿醲 樇醲錌 楜摿 虀祼鐋 摫 鐐 匷黀賚. &man.rmuser.8; + 樏醲錼 酃 謯鼁縔鐒 瘑憼酃: - Removes the user's &man.crontab.1; entry (if - any). + 灌摦鵘欈 鐋 樍蜤暡 &man.crontab.1; 鐐 虀祼鐋 (摿 + 臝塱灚). - Removes any &man.at.1; jobs belonging to the - user. + 灌摦鵘欈 豵殧 殥蝁鵸 &man.at.1; 摿碅樥 黀瀍 + 虀祼鐋. - Kills all processes owned by the user. + 婍儵敳蛺樥 錼 鏻 僸殥蝁鵸殣 豵 摿碅瀦 黀瀍 虀祼鐋. - Removes the user from the system's local password - file. + 灌摦鵘欈 鐐 虀祼鐋 摫 鐐 鐐謮蕓 摙灚蜍 蕅僸蕘 鐐 + 黼黀碡敳濿. - Removes the user's home directory (if it is owned by - the user). + 灌摦鵘欈 鐐 貘瀀謮蕓 罼轗錝蜧 鐐 虀祼鐋 (摿 摿碅樥 黀瀍 + 虀祼鐋). - Removes the incoming mail files belonging to the user - from /var/mail. + 灌摦鵘欈 酃 樥鵴壝懤罅 摙灚葐 mail 豵 摿碅瀦 黀瀍 虀祼鐋 + 摫 鐐 /var/mail. - Removes all files owned by the user from temporary - file storage areas such as /tmp. + 灌摦鵘欈 錆 酃 摙灚葐 豵 摿碅瀦 黀瀍 虀祼鐋 摫 鏻 + 貘瀀齌縻 謥齌濷椯 摫歞碅氁鵰 蹠 鐐 + /tmp. - Finally, removes the username from all groups to which - it belongs in /etc/group. + 婃錝, 僸摦鵘欈 鐐 臩憼 虀祼鐋 摫 錼 鏻 瀌塤殣 黀澽 + 瀔檽殣 摿碅樥 黀 /etc/group. - If a group becomes empty and the group name is the - same as the username, the group is removed; this - complements the per-user unique groups created by - &man.adduser.8;. + 鍚 罼轗 鐋 僸摦鼁巑 鐐 虀祼鐋, 臝塱灚 瀌塤 懤 鐐 臩憼 + 鐐 瀔檽 麧 謥齌歃樥 塝錆 徾錣, 瀌塤 斠轘 僸摦鵘欈酃, + 黼斶殥瀄瀎 斠轘 橀罅 黼斶錣夒憼鏻縤 懤 鐋 摿轚黀毉玂 + 鐋 &man.adduser.8;, 豵 儃擩瀦鼖橀 瀌塤 懤 鐐 臩憼 鐐 + 虀祼鐋 罼轗 鐋 儃擩瀦鼖葐 鐐 錝蝁齌摷斀. - &man.rmuser.8; cannot be used to remove - superuser accounts, since that is almost always an indication - of massive destruction. + 孲 &man.rmuser.8; 麧 斶瀎橀 罅 虀踠濇瀔毉賥橀 蜒 鐋 僸摦鼁巑 + 鐒 錝蝁齌摷檎 臝殥虀祼鐋, 暡燽 斠鏸 橀罅 齀槼 謣薀 擩 楜麧濎 + 憼縃縤 罼酃黀厴巑. - By default, an interactive mode is used, which attempts to - make sure you know what you are doing. + 鷥' 瀎澞斀, 虀踠濇瀔毉橀酃 擩 僸撦鼁黀濋 錼濊瀦鼖葐, 豵 + 貘瀀謯鳺 罅 歑殪槻摋鵴 鏻 鵸蜧蘘 蝂麌緪醲 鏻 貘耪濊摋 罅 + 縔翴醲. - <command>rmuser</command> Interactive Account Removal + <command>rmuser</command> 灌撦鼁黀濋 灌摦鼁巑 + 呤蝁齌摷斀 &prompt.root; rmuser jru Matching password entry: @@ -527,27 +541,26 @@ <command>chpass</command> chpass - &man.chpass.1; changes user database - information such as passwords, shells, and personal - information. + 孲 &man.chpass.1; 摠醏緪 謻趡濼瀎蜌 鐋 瘌鵰 麧儌徾薋 + 鐐 虀祼鐋 蹠 蕅僸膬, 耪錔氍, 罼 貘瀀謮縥 謻趡濼瀎蜌. - Only system administrators, as the superuser, may change - other users' information and passwords with + 泆臩 僸暠樥齌黀椯 鐐 黼黀碡敳濿, 蹠 臝殥虀祼鐋, 斶瀎橀 罅 + 摠醏緪 鏻 謻趡濼瀎蜌 塝錩 虀踠鏿 罼噮 罼 鐐蘪 蕅僸膬 懤 鐐 &man.chpass.1;. - When passed no options, aside from an optional username, - &man.chpass.1; displays an editor - containing user information. When the user exists from the - editor, the user database is updated with the new - information. + 熟摿 麧 魠臩薀摋 歑澣檶椯, 樏鏸 摫 楜 貘櫆濄殦濋 臩憼 + 虀祼鐋, 鐐 &man.chpass.1; 樦攠繄緪 楜摿 黼薀塎鐋 豵 謥齌歃樥 鏻 + 謻趡濼瀎蜌 鐐 虀祼鐋. 熟摿 虀祼鐋 睼樥 摫 鐐 黼薀塎鐋, 瘌鵰 + 麧儌徾薋 虀踠鏿 樇賚殥翴酃 懤 鏻 縻殣 謻趡濼瀎蜌. - You will be asked for your password - after exiting the editor if you are not the superuser. + 忯轗 鐋 楏檷 摫 鐐 黼薀塎鐋, 摿 麧 橀黀 臝殥虀祼鐋, + 魨 殥鐋鳺裎 蜒 鐐 蕅僸蕓 鶋. - Interactive <command>chpass</command> by Superuser + 灌撦鼁黀濋 <command>chpass</command> 摫 鐐 + 涾殥虀祼鐋 #Changing user database information for jru. Login: jru @@ -566,11 +579,12 @@ Other information: - The normal user can change only a small subset of this - information, and only for themselves. + 罼臩臄蕓 虀祼鐋 斶瀎橀 罅 摠醏鍷 檇臩 楜 擩膲 臝瀀臩錝 + 摫 斠轕 鏻 謻趡濼瀎蜌, 罼 檇臩 蜒 鐐 槦蘟 鐐. - Interactive <command>chpass</command> by Normal User + 灌撦鼁黀濋 <command>chpass</command> 摫 忯臩臄蕓 + 郩祼鐋 #Changing user database information for jru. Shell: /usr/local/bin/zsh @@ -582,14 +596,14 @@ - &man.chfn.1; and &man.chsh.1; are - just links to &man.chpass.1;, as - are &man.ypchpass.1;, - &man.ypchfn.1;, and - &man.ypchsh.1;. NIS support is automatic, so - specifying the yp before the command is - not necessary. If this is confusing to you, do not worry, NIS will - be covered in . + 矨 &man.chfn.1; 罼 &man.chsh.1; 橀罅 + 摫醏 匷罽殢斀 黀賝 &man.chpass.1;, 蹠 + 橀罅 罼 毉 &man.ypchpass.1;, + &man.ypchfn.1;, 罼 + &man.ypchsh.1;. 臝瀀轘齌鍡 NIS 橀罅 斠鏸憼鐋, 椼鶅 + 麧 橀罅 摫摙摲鐋鐐 罅 罼鴄麌鵴醲 鐐 yp 貘澼 + 鐋 樇鐐錞. 鍚 斠鏸 鶋 斶殥麧樥, 懞 摿踠蘙橀醲, 鐐 NIS 魨 + 罼錴灕橀 黀 . @@ -600,17 +614,17 @@ accounts changing password - &man.passwd.1; is the usual way to - change your own password as a user, or another user's password - as the superuser. - - - To prevent accidental or unauthorized changes, the original - password must be entered before a new password can be set. + 孲 &man.passwd.1; 橀罅 黼縶鳿 鐙豵 罅 + 摠醏鍷醲 鐐 僸蕓 鶋 蕅僸蕓 鶋 虀祼鐋, 鐐 蕅僸蕓 塝錝 虀祼鐋 + 鶋 臝殥虀祼鐋. + + + 鏑 罅 摫濻鼁豵 鏷欒蜌 懞 槴瀦鶅檷濻賚楜殣 摠錆蜙, 魨 + 鶋 緗鐋鳺 謯錁 蕅僸蕓 貘澼 瀎裍殦 縻. - Changing Your Password + 鍛醏緮薀摥 鐐 旴僸蕓 鶋 &prompt.user; passwd Changing local password for jru. @@ -622,7 +636,7 @@ - Changing Another User's Password as the Superuser + 鍛醏緮薀摥 鐐 旴僸蕓 塝錝 郩祼鐋 涾殥虀祼鐋 &prompt.root; passwd jru >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jan 25 01:18:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D0D816A420; Fri, 25 Jan 2008 01:18: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 1D86B16A41A for ; Fri, 25 Jan 2008 01:18:13 +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 08E0313C448 for ; Fri, 25 Jan 2008 01:18:13 +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 m0P1IDBB047296 for ; Fri, 25 Jan 2008 01:18:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P1IC1V047293 for perforce@freebsd.org; Fri, 25 Jan 2008 01:18:12 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 25 Jan 2008 01:18:12 GMT Message-Id: <200801250118.m0P1IC1V047293@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 134046 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 01:18:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=134046 Change 134046 by kmacy@kmacy:storage:toehead on 2008/01/25 01:17:18 import more DDP cpl_io infrastructure Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#5 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 (text+ko) ==== @@ -189,36 +189,35 @@ * it is sent directly. */ static inline void -send_or_defer(struct socket *so, struct tcpcb *tp, struct mbuf *m, int through_l2t) +send_or_defer(struct toepcb *toep, struct mbuf *m, int through_l2t) { - struct toepcb *toep = tp->t_toe; + struct tcpcb *tp = toep->tp_tp; - if (__predict_false(tp->t_state == TCPS_SYN_SENT)) { INP_LOCK(tp->t_inpcb); mbufq_tail(&toep->out_of_order_queue, m); // defer INP_UNLOCK(tp->t_inpcb); } else if (through_l2t) - l2t_send(T3C_DEV(so), m, toep->tp_l2t); // send through L2T + l2t_send(TOEP_T3C_DEV(toep), m, toep->tp_l2t); // send through L2T else - cxgb_ofld_send(T3C_DEV(so), m); // send directly + cxgb_ofld_send(TOEP_T3C_DEV(toep), m); // send directly } static inline unsigned int -mkprio(unsigned int cntrl, const struct socket *so) +mkprio(unsigned int cntrl, const struct toepcb *toep) { - return cntrl; + return (cntrl); } /* * Populate a TID_RELEASE WR. The skb must be already propely sized. */ static inline void -mk_tid_release(struct mbuf *m, const struct socket *so, unsigned int tid) +mk_tid_release(struct mbuf *m, const struct toepcb *toep, unsigned int tid) { struct cpl_tid_release *req; - m_set_priority(m, mkprio(CPL_PRIORITY_SETUP, so)); + m_set_priority(m, mkprio(CPL_PRIORITY_SETUP, toep)); m->m_pkthdr.len = m->m_len = sizeof(*req); req = mtod(m, struct cpl_tid_release *); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); @@ -357,7 +356,7 @@ toep->tp_wr_unacked += mbuf_wrs[count]; make_tx_data_wr(so, m0, bytes, tail); - m_set_priority(m0, mkprio(CPL_PRIORITY_DATA, so)); + m_set_priority(m0, mkprio(CPL_PRIORITY_DATA, toep)); m_set_sgl(m0, segs); m_set_sgllen(m0, count); /* @@ -473,12 +472,67 @@ req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, toep->tp_tid)); req->credit_dack = htonl(dack | V_RX_CREDITS(credits)); - m_set_priority(m, mkprio(CPL_PRIORITY_ACK, toeptoso(toep))); + m_set_priority(m, mkprio(CPL_PRIORITY_ACK, toep)); cxgb_ofld_send(TOM_DATA(tdev)->cdev, m); return (credits); } /* + * Send RX_DATA_ACK CPL message to request a modulation timer to be scheduled. + * This is only used in DDP mode, so we take the opportunity to also set the + * DACK mode and flush any Rx credits. + */ +void +t3_send_rx_modulate(struct toepcb *toep) +{ + struct mbuf *m; + struct cpl_rx_data_ack *req; + + m = m_gethdr_nofail(sizeof(*req)); + +#ifdef notyet + req = (struct cpl_rx_data_ack *)__skb_put(skb, sizeof(*req)); + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); +#else + req = mtod(m, struct cpl_rx_data_ack *); +#endif + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, toep->tp_tid)); + req->credit_dack = htonl(F_RX_MODULATE | F_RX_DACK_CHANGE | + V_RX_DACK_MODE(1) | + V_RX_CREDITS(toep->tp_copied_seq - toep->tp_rcv_wup)); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); + cxgb_ofld_send(TOEP_T3C_DEV(toep), m); + toep->tp_rcv_wup = toep->tp_copied_seq; +} + +/* + * Handle receipt of an urgent pointer. + */ +static void +handle_urg_ptr(struct socket *so, uint32_t urg_seq) +{ +#ifdef notyet + struct tcpcb *tp = sototcpcb(so); + + urg_seq--; /* initially points past the urgent data, per BSD */ + + if (tp->urg_data && !after(urg_seq, tp->urg_seq)) + return; /* duplicate pointer */ + sk_send_sigurg(sk); + if (tp->urg_seq == tp->copied_seq && tp->urg_data && + !sock_flag(sk, SOCK_URGINLINE) && tp->copied_seq != tp->rcv_nxt) { + struct sk_buff *skb = skb_peek(&sk->sk_receive_queue); + + tp->copied_seq++; + if (skb && tp->copied_seq - TCP_SKB_CB(skb)->seq >= skb->len) + tom_eat_skb(sk, skb, 0); + } + tp->urg_data = TCP_URG_NOTYET; + tp->urg_seq = urg_seq; +#endif +} + +/* * Returns true if a socket cannot accept new Rx data. */ static inline int @@ -488,6 +542,35 @@ } /* + * Process an urgent data notification. + */ +static void +rx_urg_notify(struct toepcb *toep, struct mbuf *m) +{ + struct cpl_rx_urg_notify *hdr = cplhdr(m); + struct socket *so = toeptoso(toep); + + VALIDATE_SOCK(so); + + if (!so_no_receive(so)) + handle_urg_ptr(so, ntohl(hdr->seq)); + + m_freem(m); +} + +/* + * Handler for RX_URG_NOTIFY CPL messages. + */ +static int +do_rx_urg_notify(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct toepcb *toep = (struct toepcb *)ctx; + + rx_urg_notify(toep, m); + return (0); +} + +/* * Set of states for which we should return RX credits. */ #define CREDIT_RETURN_STATE (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 | TCPF_FIN_WAIT2) @@ -643,12 +726,10 @@ static void -__set_tcb_field(struct socket *so, struct mbuf *m, uint16_t word, +__set_tcb_field(struct toepcb *toep, struct mbuf *m, uint16_t word, uint64_t mask, uint64_t val, int no_reply) { struct cpl_set_tcb_field *req; - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; req = mtod(m, struct cpl_set_tcb_field *); m->m_pkthdr.len = m->m_len = sizeof(*req); @@ -660,8 +741,8 @@ req->mask = htobe64(mask); req->val = htobe64(val); - m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); - send_or_defer(so, tp, m, 0); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); + send_or_defer(toep, m, 0); } static void @@ -679,7 +760,7 @@ m = m_gethdr_nofail(sizeof(struct cpl_set_tcb_field)); - __set_tcb_field(so, m, word, mask, val, 1); + __set_tcb_field(toep, m, word, mask, val, 1); } /* @@ -759,7 +840,6 @@ } - void t3_set_ddp_tag(struct socket *so, int buf_idx, unsigned int tag_color) { @@ -814,7 +894,7 @@ return (ENOMEM); INP_LOCK_ASSERT(tp->t_inpcb); - m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); req = mtod(m, struct cpl_get_tcb *); m->m_pkthdr.len = m->m_len = sizeof(*req); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); @@ -1097,7 +1177,7 @@ struct toepcb *toep = tp->t_toe; struct toedev *tdev = TOE_DEV(so); - m_set_priority((struct mbuf *)m, mkprio(CPL_PRIORITY_SETUP, so)); + m_set_priority((struct mbuf *)m, mkprio(CPL_PRIORITY_SETUP, toep)); req = mtod(m, struct cpl_act_open_req *); m->m_pkthdr.len = m->m_len = sizeof(*req); @@ -1346,7 +1426,7 @@ mode |= CPL_ABORT_POST_CLOSE_REQ; m = m_gethdr_nofail(sizeof(*req)); - m_set_priority(m, mkprio(CPL_PRIORITY_DATA, so)); + m_set_priority(m, mkprio(CPL_PRIORITY_DATA, toep)); set_arp_failure_handler(m, abort_arp_failure); req = mtod(m, struct cpl_abort_req *); @@ -1901,10 +1981,9 @@ tp->t_rcvtime = ticks; sbappendstream_locked(&so->so_rcv, m); -#ifdef notyet - if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_data_ready(sk, 0); -#endif + + if ((so->so_state & SS_NOFDREF) == 0) + sorwakeup_locked(so); } #define DDP_ERR (F_DDP_PPOD_MISMATCH | F_DDP_LLIMIT_ERR | F_DDP_ULIMIT_ERR |\ @@ -1979,9 +2058,7 @@ tp->rcv_nxt, bsp->cur_offset, ddp_report, G_DDP_OFFSET(ddp_report)); #endif -#if 0 - skb->mac.raw = (unsigned char *)bsp->gl; -#endif + m->m_ddp_gl = (unsigned char *)bsp->gl; m->m_pkthdr.csum_flags = (bsp->flags & DDP_BF_NOCOPY) | 1; if (bsp->flags & DDP_BF_NOCOPY) bsp->flags &= ~DDP_BF_NOCOPY; @@ -1989,8 +2066,8 @@ tp->rcv_nxt += m->m_len; tp->t_rcvtime = ticks; - sbappendstream_locked(&so->so_rcv, m) - ; + sbappendstream_locked(&so->so_rcv, m); + if ((so->so_state & SS_NOFDREF) == 0) sorwakeup_locked(so); @@ -2037,6 +2114,61 @@ } /* + * For TCP DDP a PEER_CLOSE may also be an implicit RX_DDP_COMPLETE. This + * function deals with the data that may be reported along with the FIN. + * Returns -1 if no further processing of the PEER_CLOSE is needed, >= 0 to + * perform normal FIN-related processing. In the latter case 1 indicates that + * there was an implicit RX_DDP_COMPLETE and the skb should not be freed, 0 the + * skb can be freed. + */ +static int +handle_peer_close_data(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct ddp_state *q; + struct ddp_buf_state *bsp; + struct cpl_peer_close *req = cplhdr(m); + unsigned int rcv_nxt = ntohl(req->rcv_nxt) - 1; /* exclude FIN */ + + if (tp->rcv_nxt == rcv_nxt) /* no data */ + return 0; + + if (__predict_false(so_no_receive(so))) { + handle_excess_rx(toep, m); + + /* + * Although we discard the data we want to process the FIN so + * that PEER_CLOSE + data behaves the same as RX_DATA_DDP + + * PEER_CLOSE without data. In particular this PEER_CLOSE + * may be what will close the connection. We return 1 because + * handle_excess_rx() already freed the packet. + */ + return (1); + } + + q = &toep->tp_ddp_state; + bsp = &q->buf_state[q->cur_buf]; + m->m_pkthdr.len = rcv_nxt - tp->rcv_nxt; + m->m_ddp_gl = (unsigned char *)bsp->gl; + m->m_cur_offset = bsp->cur_offset; + m->m_ddp_flags = + DDP_BF_PSH | (bsp->flags & DDP_BF_NOCOPY) | 1; + m->m_seq = tp->rcv_nxt; + tp->rcv_nxt = rcv_nxt; + bsp->cur_offset += m->m_pkthdr.len; + if (!(bsp->flags & DDP_BF_NOFLIP)) + q->cur_buf ^= 1; + tp->t_rcvtime = ticks; +#ifdef notyet + __skb_queue_tail(&sk->sk_receive_queue, skb); +#endif + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) + sorwakeup(so); + return (1); +} + +/* * Handle a peer FIN. */ static void @@ -2058,15 +2190,11 @@ goto out; } -#ifdef notyet - if (ULP_MODE(tp) == ULP_MODE_TCPDDP) { - keep = handle_peer_close_data(so, skb); + if (toep->tp_ulp_mode == ULP_MODE_TCPDDP) { + keep = handle_peer_close_data(so, m); if (keep < 0) return; } - sk->sk_shutdown |= RCV_SHUTDOWN; - sock_set_flag(so, SOCK_DONE); -#endif INP_INFO_WLOCK(&tcbinfo); INP_LOCK(tp->t_inpcb); if (TCPS_HAVERCVDFIN(tp->t_state) == 0) @@ -2113,8 +2241,6 @@ sowwakeup(so); wakeup(&so->so_timeo); #ifdef notyet - sk->sk_state_change(sk); - /* Do not send POLL_HUP for half duplex close. */ if ((sk->sk_shutdown & SEND_SHUTDOWN) || sk->sk_state == TCP_CLOSE) @@ -2525,10 +2651,8 @@ (is_t3a(TOE_DEV(so)) && (toep->tp_flags & TP_CLOSE_CON_REQUESTED))) { so->so_error = abort_status_to_errno(so, req->status, &rst_status); -#if 0 - if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_error_report(sk); -#endif + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) + sorwakeup(so); /* * SYN_RECV needs special processing. If abort_syn_rcv() * returns 0 is has taken care of the abort. @@ -2937,8 +3061,7 @@ DPRINTF("opt0l_status=%08x\n", rpl->opt0l_status); - m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, so)); - + m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, newtoep)); #ifdef DEBUG_PRINT { int i; @@ -2954,24 +3077,22 @@ l2t_send(cdev, reply_mbuf, e); m_free(m); -#ifdef notyet /* * XXX this call path has to be converted to not depend on sockets */ if (newtoep->tp_ulp_mode) - __set_tcb_field(newso, ddp_mbuf, W_TCB_RX_DDP_FLAGS, + __set_tcb_field(newtoep, ddp_mbuf, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1) | TP_DDP_TIMER_WORKAROUND_MASK, V_TF_DDP_OFF(1) | TP_DDP_TIMER_WORKAROUND_VAL, 1); -#endif return; reject: if (tdev->tod_ttid == TOE_ID_CHELSIO_T3) mk_pass_accept_rpl(reply_mbuf, m); else - mk_tid_release(reply_mbuf, NULL, tid); + mk_tid_release(reply_mbuf, newtoep, tid); cxgb_ofld_send(cdev, reply_mbuf); m_free(m); out: @@ -3184,10 +3305,9 @@ tp = sototcpcb(so); INP_LOCK(tp->t_inpcb); -#ifdef notyet - so->so_snd.sb_flags |= SB_TOE; - so->so_rcv.sb_flags |= SB_TOE; -#endif + + so->so_snd.sb_flags |= SB_NOCOALESCE; + so->so_rcv.sb_flags |= SB_NOCOALESCE; toep->tp_tp = tp; toep->tp_flags = 0; tp->t_toe = toep; @@ -3495,6 +3615,15 @@ return 0; } +/* + * Handler for TRACE_PKT CPL messages. Just sink these packets. + */ +static int +do_trace_pkt(struct t3cdev *dev, struct mbuf *m, void *ctx) +{ + m_freem(m); + return 0; +} /* * Reset a connection that is on a listener's SYN queue or accept queue, @@ -3574,7 +3703,7 @@ for (i = 0; i < nppods; ++i) { m = m_gethdr_nofail(sizeof(*req) + PPOD_SIZE); - m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); req = mtod(m, struct ulp_mem_io *); m->m_pkthdr.len = m->m_len = sizeof(*req) + PPOD_SIZE; req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS)); @@ -3596,14 +3725,281 @@ htobe64(VM_PAGE_TO_PHYS(gl->dgl_pages[pidx])) : 0; } else p->pp_vld_tid = 0; /* mark sentinel page pods invalid */ - send_or_defer(so, tp, m, 0); + send_or_defer(toep, m, 0); ppod_addr += PPOD_SIZE; } return (0); } +/* + * Build a CPL_BARRIER message as payload of a ULP_TX_PKT command. + */ +static inline void +mk_cpl_barrier_ulp(struct cpl_barrier *b) +{ + struct ulp_txpkt *txpkt = (struct ulp_txpkt *)b; + + txpkt->cmd_dest = htonl(V_ULPTX_CMD(ULP_TXPKT)); + txpkt->len = htonl(V_ULPTX_NFLITS(sizeof(*b) / 8)); + b->opcode = CPL_BARRIER; +} + +/* + * Build a CPL_GET_TCB message as payload of a ULP_TX_PKT command. + */ +static inline void +mk_get_tcb_ulp(struct cpl_get_tcb *req, unsigned int tid, unsigned int cpuno) +{ + struct ulp_txpkt *txpkt = (struct ulp_txpkt *)req; + + txpkt = (struct ulp_txpkt *)req; + txpkt->cmd_dest = htonl(V_ULPTX_CMD(ULP_TXPKT)); + txpkt->len = htonl(V_ULPTX_NFLITS(sizeof(*req) / 8)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_GET_TCB, tid)); + req->cpuno = htons(cpuno); +} + +/* + * Build a CPL_SET_TCB_FIELD message as payload of a ULP_TX_PKT command. + */ +static inline void +mk_set_tcb_field_ulp(struct cpl_set_tcb_field *req, unsigned int tid, + unsigned int word, uint64_t mask, uint64_t val) +{ + struct ulp_txpkt *txpkt = (struct ulp_txpkt *)req; + + txpkt->cmd_dest = htonl(V_ULPTX_CMD(ULP_TXPKT)); + txpkt->len = htonl(V_ULPTX_NFLITS(sizeof(*req) / 8)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, tid)); + req->reply = V_NO_REPLY(1); + req->cpu_idx = 0; + req->word = htons(word); + req->mask = htobe64(mask); + req->val = htobe64(val); +} + +/* + * Build a CPL_RX_DATA_ACK message as payload of a ULP_TX_PKT command. + */ +static void +mk_rx_data_ack_ulp(struct cpl_rx_data_ack *ack, unsigned int tid, unsigned int credits) +{ + struct ulp_txpkt *txpkt = (struct ulp_txpkt *)ack; + + txpkt->cmd_dest = htonl(V_ULPTX_CMD(ULP_TXPKT)); + txpkt->len = htonl(V_ULPTX_NFLITS(sizeof(*ack) / 8)); + OPCODE_TID(ack) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, tid)); + ack->credit_dack = htonl(F_RX_MODULATE | F_RX_DACK_CHANGE | + V_RX_DACK_MODE(1) | V_RX_CREDITS(credits)); +} void +t3_cancel_ddpbuf(struct toepcb *toep, unsigned int bufidx) +{ + unsigned int wrlen; + struct mbuf *m; + struct work_request_hdr *wr; + struct cpl_barrier *lock; + struct cpl_set_tcb_field *req; + struct cpl_get_tcb *getreq; + struct ddp_state *p = &toep->tp_ddp_state; + + wrlen = sizeof(*wr) + sizeof(*req) + 2 * sizeof(*lock) + + sizeof(*getreq); + m = m_gethdr_nofail(wrlen); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); +#ifdef notyet + wr = (struct work_request_hdr *)__skb_put(skb, wrlen); + wr->wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS)); +#else + wr = mtod(m, struct work_request_hdr *); +#endif + lock = (struct cpl_barrier *)(wr + 1); + mk_cpl_barrier_ulp(lock); + + req = (struct cpl_set_tcb_field *)(lock + 1); + + /* Hmmm, not sure if this actually a good thing: reactivating + * the other buffer might be an issue if it has been completed + * already. However, that is unlikely, since the fact that the UBUF + * is not completed indicates that there is no oustanding data. + */ + if (bufidx == 0) + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_ACTIVE_BUF(1) | + V_TF_DDP_BUF0_VALID(1), + V_TF_DDP_ACTIVE_BUF(1)); + else + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_ACTIVE_BUF(1) | + V_TF_DDP_BUF1_VALID(1), 0); + + getreq = (struct cpl_get_tcb *)(req + 1); + mk_get_tcb_ulp(getreq, toep->tp_tid, toep->tp_qset); + + mk_cpl_barrier_ulp((struct cpl_barrier *)(getreq + 1)); + + /* Keep track of the number of oustanding CPL_GET_TCB requests + */ + p->get_tcb_count++; + +#ifdef T3_TRACE + T3_TRACE1(TIDTB(so), + "t3_cancel_ddpbuf: bufidx %u", bufidx); +#endif + cxgb_ofld_send(TOEP_T3C_DEV(toep), m); +} + +/** + * t3_overlay_ddpbuf - overlay an existing DDP buffer with a new one + * @sk: the socket associated with the buffers + * @bufidx: index of HW DDP buffer (0 or 1) + * @tag0: new tag for HW buffer 0 + * @tag1: new tag for HW buffer 1 + * @len: new length for HW buf @bufidx + * + * Sends a compound WR to overlay a new DDP buffer on top of an existing + * buffer by changing the buffer tag and length and setting the valid and + * active flag accordingly. The caller must ensure the new buffer is at + * least as big as the existing one. Since we typically reprogram both HW + * buffers this function sets both tags for convenience. Read the TCB to + * determine how made data was written into the buffer before the overlay + * took place. + */ +void +t3_overlay_ddpbuf(struct toepcb *toep, unsigned int bufidx, unsigned int tag0, + unsigned int tag1, unsigned int len) +{ + unsigned int wrlen; + struct mbuf *m; + struct work_request_hdr *wr; + struct cpl_get_tcb *getreq; + struct cpl_set_tcb_field *req; + struct ddp_state *p = &toep->tp_ddp_state; + + wrlen = sizeof(*wr) + 3 * sizeof(*req) + sizeof(*getreq); + m = m_gethdr_nofail(wrlen); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); +#ifdef notyet + wr = (struct work_request_hdr *)__skb_put(skb, wrlen); +#else + wr = mtod(m, struct work_request_hdr *); +#endif + /* Set the ATOMIC flag to make sure that TP processes the following + * CPLs in an atomic manner and no wire segments can be interleaved. + */ + wr->wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS) | F_WR_ATOMIC); + + req = (struct cpl_set_tcb_field *)(wr + 1); + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF0_TAG, + V_TCB_RX_DDP_BUF0_TAG(M_TCB_RX_DDP_BUF0_TAG) | + V_TCB_RX_DDP_BUF1_TAG(M_TCB_RX_DDP_BUF1_TAG) << 32, + V_TCB_RX_DDP_BUF0_TAG(tag0) | + V_TCB_RX_DDP_BUF1_TAG((uint64_t)tag1) << 32); + req++; + if (bufidx == 0) { + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF0_LEN, + V_TCB_RX_DDP_BUF0_LEN(M_TCB_RX_DDP_BUF0_LEN), + V_TCB_RX_DDP_BUF0_LEN((uint64_t)len)); + req++; + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_PUSH_DISABLE_0(1) | + V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_ACTIVE_BUF(1), + V_TF_DDP_PUSH_DISABLE_0(0) | + V_TF_DDP_BUF0_VALID(1)); + } else { + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF1_LEN, + V_TCB_RX_DDP_BUF1_LEN(M_TCB_RX_DDP_BUF1_LEN), + V_TCB_RX_DDP_BUF1_LEN((uint64_t)len)); + req++; + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_PUSH_DISABLE_1(1) | + V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_ACTIVE_BUF(1), + V_TF_DDP_PUSH_DISABLE_1(0) | + V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_ACTIVE_BUF(1)); + } + + getreq = (struct cpl_get_tcb *)(req + 1); + mk_get_tcb_ulp(getreq, toep->tp_tid, toep->tp_qset); + + /* Keep track of the number of oustanding CPL_GET_TCB requests + */ + p->get_tcb_count++; + +#ifdef T3_TRACE + T3_TRACE4(TIDTB(sk), + "t3_overlay_ddpbuf: bufidx %u tag0 %u tag1 %u " + "len %d", + bufidx, tag0, tag1, len); +#endif + cxgb_ofld_send(TOEP_T3C_DEV(toep), m); +} + +/* + * Sends a compound WR containing all the CPL messages needed to program the + * two HW DDP buffers, namely optionally setting up the length and offset of + * each buffer, programming the DDP flags, and optionally sending RX_DATA_ACK. + */ +void +t3_setup_ddpbufs(struct toepcb *toep, unsigned int len0, unsigned int offset0, + unsigned int len1, unsigned int offset1, + uint64_t ddp_flags, uint64_t flag_mask, int modulate) +{ + unsigned int wrlen; + struct mbuf *m; + struct work_request_hdr *wr; + struct cpl_set_tcb_field *req; + + wrlen = sizeof(*wr) + sizeof(*req) + (len0 ? sizeof(*req) : 0) + + (len1 ? sizeof(*req) : 0) + + (modulate ? sizeof(struct cpl_rx_data_ack) : 0); + m = m_gethdr_nofail(wrlen); + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); +#ifdef notyet + wr = (struct work_request_hdr *)__skb_put(skb, wrlen); + wr->wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS)); +#else + wr = mtod(m, struct work_request_hdr *); +#endif + req = (struct cpl_set_tcb_field *)(wr + 1); + if (len0) { /* program buffer 0 offset and length */ + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF0_OFFSET, + V_TCB_RX_DDP_BUF0_OFFSET(M_TCB_RX_DDP_BUF0_OFFSET) | + V_TCB_RX_DDP_BUF0_LEN(M_TCB_RX_DDP_BUF0_LEN), + V_TCB_RX_DDP_BUF0_OFFSET((uint64_t)offset0) | + V_TCB_RX_DDP_BUF0_LEN((uint64_t)len0)); + req++; + } + if (len1) { /* program buffer 1 offset and length */ + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF1_OFFSET, + V_TCB_RX_DDP_BUF1_OFFSET(M_TCB_RX_DDP_BUF1_OFFSET) | + V_TCB_RX_DDP_BUF1_LEN(M_TCB_RX_DDP_BUF1_LEN) << 32, + V_TCB_RX_DDP_BUF1_OFFSET((uint64_t)offset1) | + V_TCB_RX_DDP_BUF1_LEN((uint64_t)len1) << 32); + req++; + } + + mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_FLAGS, flag_mask, + ddp_flags); + + if (modulate) { + mk_rx_data_ack_ulp((struct cpl_rx_data_ack *)(req + 1), toep->tp_tid, + toep->tp_copied_seq - toep->tp_rcv_wup); + toep->tp_rcv_wup = toep->tp_copied_seq; + } + +#ifdef T3_TRACE + T3_TRACE5(TIDTB(sk), + "t3_setup_ddpbufs: len0 %u len1 %u ddp_flags 0x%08x%08x " + "modulate %d", + len0, len1, ddp_flags >> 32, ddp_flags & 0xffffffff, + modulate); +#endif + + cxgb_ofld_send(TOEP_T3C_DEV(toep), m); +} + +void t3_init_wr_tab(unsigned int wr_len) { int i; @@ -3650,10 +4046,8 @@ t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl); t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp); t3tom_register_cpl_handler(CPL_RX_DDP_COMPLETE, do_rx_ddp_complete); -#ifdef notyet t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify); t3tom_register_cpl_handler(CPL_TRACE_PKT, do_trace_pkt); -#endif t3tom_register_cpl_handler(CPL_GET_TCB_RPL, do_get_tcb_rpl); return (0); } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 (text+ko) ==== @@ -810,14 +810,14 @@ p->cur_buf = bufidx; p->kbuf_idx = bufidx; if (!bufidx) - t3_setup_ddpbufs(so, 0, 0, 0, 0, + t3_setup_ddpbufs(toep, 0, 0, 0, 0, V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | V_TF_DDP_BUF0_VALID(1), V_TF_DDP_PSH_NO_INVALIDATE(1) | V_TF_DDP_OFF(1) | V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_ACTIVE_BUF(activate), modulate); else - t3_setup_ddpbufs(so, 0, 0, 0, 0, + t3_setup_ddpbufs(toep, 0, 0, 0, 0, V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_ACTIVE_BUF(activate), @@ -956,15 +956,15 @@ } if (ubuf_idx == 0) { - t3_overlay_ddpbuf(so, 0, p->ubuf_tag << 6, p->kbuf_tag[1] << 6, + t3_overlay_ddpbuf(toep, 0, p->ubuf_tag << 6, p->kbuf_tag[1] << 6, len); - t3_setup_ddpbufs(so, 0, 0, p->kbuf[1]->dgl_length, 0, + t3_setup_ddpbufs(toep, 0, 0, p->kbuf[1]->dgl_length, 0, flags, OVERLAY_MASK | flags, 1); } else { - t3_overlay_ddpbuf(so, 1, p->kbuf_tag[0] << 6, p->ubuf_tag << 6, + t3_overlay_ddpbuf(toep, 1, p->kbuf_tag[0] << 6, p->ubuf_tag << 6, len); - t3_setup_ddpbufs(so, p->kbuf[0]->dgl_length, 0, 0, 0, + t3_setup_ddpbufs(toep, p->kbuf[0]->dgl_length, 0, 0, 0, flags, OVERLAY_MASK | flags, 1); } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_defs.h#2 (text+ko) ==== @@ -40,6 +40,7 @@ #define toeptoso(toep) ((toep)->tp_tp->t_inpcb->inp_socket) #define sototoep(so) (sototcpcb((so))->t_toe) +struct toepcb; struct listen_ctx; typedef void (*defer_handler_t)(struct toedev *dev, struct mbuf *m); @@ -54,6 +55,7 @@ int t3_init_cpl_io(void); void t3_init_wr_tab(unsigned int wr_len); uint32_t t3_send_rx_credits(struct tcpcb *tp, uint32_t credits, uint32_t dack, int nofail); +void t3_send_rx_modulate(struct toepcb *toep); void t3_cleanup_rbuf(struct tcpcb *tp); void t3_init_socket_ops(void); ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#5 (text+ko) ==== @@ -165,10 +165,10 @@ int t3_enter_ddp(struct socket *so, unsigned int kbuf_size, unsigned int waitall); void t3_cleanup_ddp(struct socket *so); void t3_release_ddp_resources(struct toepcb *toep); -void t3_cancel_ddpbuf(struct socket *so, unsigned int bufidx); -void t3_overlay_ddpbuf(struct socket *so, unsigned int bufidx, unsigned int tag0, +void t3_cancel_ddpbuf(struct toepcb *, unsigned int bufidx); +void t3_overlay_ddpbuf(struct toepcb *, unsigned int bufidx, unsigned int tag0, unsigned int tag1, unsigned int len); -void t3_setup_ddpbufs(struct socket *so, unsigned int len0, unsigned int offset0, +void t3_setup_ddpbufs(struct toepcb *, unsigned int len0, unsigned int offset0, unsigned int len1, unsigned int offset1, uint64_t ddp_flags, uint64_t flag_mask, int modulate); #endif /* T3_DDP_H */ From owner-p4-projects@FreeBSD.ORG Fri Jan 25 01:34:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B988016A41B; Fri, 25 Jan 2008 01: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 6605A16A419 for ; Fri, 25 Jan 2008 01:34:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5126813C45D for ; Fri, 25 Jan 2008 01:34:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P1YUe5048088 for ; Fri, 25 Jan 2008 01:34:30 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P1YUoX048085 for perforce@freebsd.org; Fri, 25 Jan 2008 01:34:30 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 01:34:30 GMT Message-Id: <200801250134.m0P1YUoX048085@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134047 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 01:34:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=134047 Change 134047 by jhb@jhb_mutex on 2008/01/25 01:33:43 - Compile (catch up to kdb_enter() API change). - Add a test for the tsleep/pause race. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#42 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#42 (text+ko) ==== @@ -52,11 +52,14 @@ #include #include #include +#include #include #include #include #include +#define KDB_WHY_CRASH "crash" + struct crash_event { const char *ev_name; void (*ev_handler)(void); @@ -86,6 +89,48 @@ /* Events. */ +static int race_wchan; + +static void +tsleep_race_fallback(void *dummy) +{ + + wakeup(&race_wchan); +} + +static void +exercise_tsleep_race(void) +{ + struct callout c; + struct bintime start, finish; + struct timeval elapsed; + int rval; + + /* + * Inline copy of tsleep() with a long DELAY() to open up the + * race window where the thread lock is dropped in between + * sleepq_add() and sleepq_*wait*(). + */ + callout_init(&c, CALLOUT_MPSAFE); + callout_reset(&c, 5 * hz, tsleep_race_fallback, NULL); + getbinuptime(&start); + sleepq_lock(&race_wchan); + DROP_GIANT(); + sleepq_add(&race_wchan, NULL, "race", SLEEPQ_SLEEP, 0); + sleepq_set_timeout(&race_wchan, 1); + DELAY(2 * 1000 * 1000); + rval = sleepq_timedwait(&race_wchan); + getbinuptime(&finish); + PICKUP_GIANT(); + printf("crash: sleepq_timedwait() returned %d\n", rval); + bintime_sub(&finish, &start); + bintime2timeval(&finish, &elapsed); + printf("crash: slept for %d.%04ld sec\n", elapsed.tv_sec, + elapsed.tv_usec / 1000); + callout_drain(&c); +} +CRASH_EVENT("exercise tsleep() race", exercise_tsleep_race); + static void sx_recurse(void) { @@ -93,7 +138,7 @@ sx_init_flags(&qux, "qux", SX_RECURSE); sx_xlock(&qux); sx_xlock(&qux); - kdb_enter("qux should be recursed"); + kdb_enter(KDB_WHY_CRASH, "qux should be recursed"); sx_xunlock(&qux); if (sx_try_xlock(&qux) == 0) panic("try_xlock failed!"); @@ -200,9 +245,9 @@ sx_init(&qux, "qux"); sx_destroy(&qux); - kdb_enter("examine qux"); + kdb_enter(KDB_WHY_CRASH, "examine qux"); sx_xlock(&qux); - kdb_enter("examine again"); + kdb_enter(KDB_WHY_CRASH, "examine again"); } CRASH_EVENT("lock destroyed sx", lock_destroyed_sx); @@ -212,9 +257,9 @@ rw_init(&baz, "baz"); rw_destroy(&baz); - kdb_enter("examine baz"); + kdb_enter(KDB_WHY_CRASH, "examine baz"); rw_wlock(&baz); - kdb_enter("examine again"); + kdb_enter(KDB_WHY_CRASH, "examine again"); } CRASH_EVENT("lock destroyed rwlock", lock_destroyed_rw); @@ -226,9 +271,9 @@ mtx_init(&test1_mtx, "test1", NULL, MTX_DEF | MTX_RECURSE); mtx_lock(&test1_mtx); mtx_destroy(&test1_mtx); - kdb_enter("examine test1"); + kdb_enter(KDB_WHY_CRASH, "examine test1"); mtx_lock(&test1_mtx); - kdb_enter("examine again"); + kdb_enter(KDB_WHY_CRASH, "examine again"); } CRASH_EVENT("lock destroyed mutex", lock_destroyed_mtx); @@ -408,11 +453,11 @@ { rw_init(&baz, "baz"); - kdb_enter("baz exists"); + kdb_enter(KDB_WHY_CRASH, "baz exists"); rw_wlock(&baz); - kdb_enter("baz has a writer"); + kdb_enter(KDB_WHY_CRASH, "baz has a writer"); rw_wunlock(&baz); - kdb_enter("baz is unlocked"); + kdb_enter(KDB_WHY_CRASH, "baz is unlocked"); rw_destroy(&baz); } CRASH_EVENT("rw_wlock", rwlock_wlock); @@ -422,11 +467,11 @@ { rw_init(&baz, "baz"); - kdb_enter("baz exists"); + kdb_enter(KDB_WHY_CRASH, "baz exists"); rw_rlock(&baz); - kdb_enter("baz has a reader"); + kdb_enter(KDB_WHY_CRASH, "baz has a reader"); rw_runlock(&baz); - kdb_enter("baz is unlocked"); + kdb_enter(KDB_WHY_CRASH, "baz is unlocked"); rw_destroy(&baz); } CRASH_EVENT("rw_rlock", rwlock_rlock); @@ -448,11 +493,11 @@ mtx_lock_spin(&test1_mtx); error = msleep_spin(&test1_mtx, &test1_mtx, "spincr", 5); printf("msleep_spin returned %d\n", error); - kdb_enter("timed out"); + kdb_enter(KDB_WHY_CRASH, "timed out"); timeout(msleep_spin_callout, NULL, 5); error = msleep_spin(&test1_mtx, &test1_mtx, "spincr2", 0); printf("msleep_spin returned %d\n", error); - kdb_enter("awoke from spin"); + kdb_enter(KDB_WHY_CRASH, "awoke from spin"); mtx_unlock_spin(&test1_mtx); mtx_destroy(&test1_mtx); } @@ -463,18 +508,18 @@ { mtx_lock(&Giant); - kdb_enter("Giant locked"); + kdb_enter(KDB_WHY_CRASH, "Giant locked"); mtx_lock(&Giant); - kdb_enter("Giant recursed"); + kdb_enter(KDB_WHY_CRASH, "Giant recursed"); mtx_unlock(&Giant); mtx_unlock(&Giant); sx_slock(&foo); - kdb_enter("foo slocked"); + kdb_enter(KDB_WHY_CRASH, "foo slocked"); sx_sunlock(&foo); sx_xlock(&foo); - kdb_enter("foo xlocked"); + kdb_enter(KDB_WHY_CRASH, "foo xlocked"); sx_xunlock(&foo); - kdb_enter("both unlocked"); + kdb_enter(KDB_WHY_CRASH, "both unlocked"); } CRASH_EVENT("ddb lock commands", ddblock_test); @@ -620,9 +665,9 @@ static void double_mtx_init(void) { - kdb_enter("about to init again"); + kdb_enter(KDB_WHY_CRASH, "about to init again"); mtx_init(&test_mtx, "test", NULL, MTX_DEF); - kdb_enter("if we haven't panic'd by now, ouch. :("); + kdb_enter(KDB_WHY_CRASH, "if we haven't panic'd by now, ouch. :("); mtx_destroy(&test_mtx); } CRASH_EVENT("re-init of test_mtx", double_mtx_init); @@ -664,18 +709,19 @@ bzero(&test2_mtx, sizeof(test2_mtx)); mtx_init(&test1_mtx, "test1", NULL, MTX_DEF); mtx_init(&test2_mtx, "test2", NULL, MTX_DEF); - kdb_enter("no order yet"); + kdb_enter(KDB_WHY_CRASH, "no order yet"); mtx_lock(&Giant); mtx_lock(&test1_mtx); mtx_lock(&test2_mtx); mtx_unlock(&test2_mtx); mtx_unlock(&test1_mtx); mtx_unlock(&Giant); - kdb_enter("test1 and test2 should be ordered"); + kdb_enter(KDB_WHY_CRASH, "test1 and test2 should be ordered"); mtx_destroy(&test1_mtx); - kdb_enter("test1 should be gone, test2 should be after Giant"); + kdb_enter(KDB_WHY_CRASH, + "test1 should be gone, test2 should be after Giant"); mtx_destroy(&test2_mtx); - kdb_enter("test1 and test2 should be gone"); + kdb_enter(KDB_WHY_CRASH, "test1 and test2 should be gone"); } CRASH_EVENT("use test1 and test2 mutexes to test witness removal", test_witness_removal); @@ -721,10 +767,10 @@ bzero(&test2_mtx, sizeof(test2_mtx)); mtx_init(&test1_mtx, "test1", NULL, MTX_DEF); mtx_init(&test2_mtx, "test2", NULL, MTX_DEF); - kdb_enter("no order yet"); + kdb_enter(KDB_WHY_CRASH, "no order yet"); status = WITNESS_DEFINEORDER(&test1_mtx, &test2_mtx); printf("Status of test1 -> test2 set order should be 0: %d\n", status); - kdb_enter("order should be test1 then test2"); + kdb_enter(KDB_WHY_CRASH, "order should be test1 then test2"); printf("Check order of test1 -> test2 should succeed.\n"); mtx_lock(&test1_mtx); witness_check(&test2_mtx); @@ -786,7 +832,7 @@ if (depth == 20) { kdb_backtrace(); - kdb_enter(__func__); + kdb_enter(KDB_WHY_CRASH, __func__); } else recurse_deep(depth + 1); } From owner-p4-projects@FreeBSD.ORG Fri Jan 25 01:41:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85C3216A419; Fri, 25 Jan 2008 01:41: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 4B36D16A417 for ; Fri, 25 Jan 2008 01:41:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1F87413C44B for ; Fri, 25 Jan 2008 01:41:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P1fcXI048447 for ; Fri, 25 Jan 2008 01:41:38 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P1fbMN048444 for perforce@freebsd.org; Fri, 25 Jan 2008 01:41:37 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 01:41:37 GMT Message-Id: <200801250141.m0P1fbMN048444@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 01:41:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=134048 Change 134048 by jhb@jhb_mutex on 2008/01/25 01:41:19 Compile fix for amd64. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#43 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#43 (text+ko) ==== @@ -125,7 +125,7 @@ printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); bintime2timeval(&finish, &elapsed); - printf("crash: slept for %d.%04ld sec\n", elapsed.tv_sec, + printf("crash: slept for %d.%04ld sec\n", (int)elapsed.tv_sec, elapsed.tv_usec / 1000); callout_drain(&c); } From owner-p4-projects@FreeBSD.ORG Fri Jan 25 01:45:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC47916A41A; Fri, 25 Jan 2008 01:45: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 91DFB16A418 for ; Fri, 25 Jan 2008 01:45:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7E72813C45B for ; Fri, 25 Jan 2008 01:45:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P1jgFv048620 for ; Fri, 25 Jan 2008 01:45:42 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P1jgl8048617 for perforce@freebsd.org; Fri, 25 Jan 2008 01:45:42 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 01:45:42 GMT Message-Id: <200801250145.m0P1jgl8048617@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 01:45:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=134049 Change 134049 by jhb@jhb_mutex on 2008/01/25 01:45:38 Try this again. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#44 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#44 (text+ko) ==== @@ -95,6 +95,7 @@ tsleep_race_fallback(void *dummy) { + printf("crash: tsleep fallback fired\n"); wakeup(&race_wchan); } @@ -113,14 +114,14 @@ */ callout_init(&c, CALLOUT_MPSAFE); callout_reset(&c, 5 * hz, tsleep_race_fallback, NULL); - getbinuptime(&start); + binuptime(&start); sleepq_lock(&race_wchan); DROP_GIANT(); sleepq_add(&race_wchan, NULL, "race", SLEEPQ_SLEEP, 0); sleepq_set_timeout(&race_wchan, 1); DELAY(2 * 1000 * 1000); rval = sleepq_timedwait(&race_wchan); - getbinuptime(&finish); + binuptime(&finish); PICKUP_GIANT(); printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 01:52:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCCDF16A41A; Fri, 25 Jan 2008 01:52:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A20E16A469 for ; Fri, 25 Jan 2008 01:52:52 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7689F13C4CE for ; Fri, 25 Jan 2008 01:52:52 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P1qoXm048936 for ; Fri, 25 Jan 2008 01:52:50 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P1qoV4048933 for perforce@freebsd.org; Fri, 25 Jan 2008 01:52:50 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 01:52:50 GMT Message-Id: <200801250152.m0P1qoV4048933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 01:52:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=134050 Change 134050 by jhb@jhb_mutex on 2008/01/25 01:52:21 Bind to CPU 1 so softclock can run concurrently. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#45 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#45 (text+ko) ==== @@ -105,15 +105,24 @@ struct callout c; struct bintime start, finish; struct timeval elapsed; + struct thread *td; int rval; /* + * Bind to CPU 1 so that softclock can run ok on CPU 0. + */ + td = curthread; + thread_lock(td); + sched_bind(td, 1); + thread_unlock(td); + callout_init(&c, CALLOUT_MPSAFE); + callout_reset(&c, 5 * hz, tsleep_race_fallback, NULL); + + /* * Inline copy of tsleep() with a long DELAY() to open up the * race window where the thread lock is dropped in between * sleepq_add() and sleepq_*wait*(). */ - callout_init(&c, CALLOUT_MPSAFE); - callout_reset(&c, 5 * hz, tsleep_race_fallback, NULL); binuptime(&start); sleepq_lock(&race_wchan); DROP_GIANT(); @@ -122,6 +131,9 @@ DELAY(2 * 1000 * 1000); rval = sleepq_timedwait(&race_wchan); binuptime(&finish); + thread_lock(td); + sched_unbind(td); + thread_unlock(td); PICKUP_GIANT(); printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 02:31:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4272D16A41A; Fri, 25 Jan 2008 02:31: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 E85FE16A418 for ; Fri, 25 Jan 2008 02:31: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 D4E5F13C468 for ; Fri, 25 Jan 2008 02:31:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P2VXgW052540 for ; Fri, 25 Jan 2008 02:31:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P2VX9j052537 for perforce@freebsd.org; Fri, 25 Jan 2008 02:31:33 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 02:31:33 GMT Message-Id: <200801250231.m0P2VX9j052537@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 134052 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 02:31:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=134052 Change 134052 by jb@jb_freebsd1 on 2008/01/25 02:30:49 Enable the inet error tests. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#18 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#18 (text+ko) ==== @@ -26,10 +26,6 @@ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d \ - ${TESTSRCDIR}/tst/common/funcs/err.inet_ntoa6badaddr.d \ - ${TESTSRCDIR}/tst/common/funcs/err.inet_ntoabadaddr.d \ - ${TESTSRCDIR}/tst/common/funcs/err.inet_ntopbadaddr.d \ - ${TESTSRCDIR}/tst/common/funcs/err.inet_ntopbadarg.d \ ${TESTSRCDIR}/tst/common/funcs/tst.bcopy.d \ ${TESTSRCDIR}/tst/common/funcs/tst.chill.ksh \ ${TESTSRCDIR}/tst/common/funcs/tst.copyin.d \ From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:43:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B39716A41A; Fri, 25 Jan 2008 05:43: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 286A316A418 for ; Fri, 25 Jan 2008 05:43:55 +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 1681E13C448 for ; Fri, 25 Jan 2008 05:43:55 +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 m0P5hsqC076522 for ; Fri, 25 Jan 2008 05:43:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5hsZ0076519 for perforce@freebsd.org; Fri, 25 Jan 2008 05:43:54 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:43:54 GMT Message-Id: <200801250543.m0P5hsZ0076519@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 134059 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:43:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=134059 Change 134059 by jb@jb_freebsd1 on 2008/01/25 05:43:51 Add the signal number definitions. Affected files ... .. //depot/projects/dtrace/src/cddl/lib/libdtrace/signal.d#2 edit Differences ... ==== //depot/projects/dtrace/src/cddl/lib/libdtrace/signal.d#2 (text+ko) ==== @@ -24,6 +24,69 @@ * $FreeBSD$ */ +inline int SIGHUP = 1; +#pragma D binding "1.0" SIGHUP +inline int SIGINT = 2; +#pragma D binding "1.0" SIGINT +inline int SIGQUIT = 3; +#pragma D binding "1.0" SIGQUIT +inline int SIGILL = 4; +#pragma D binding "1.0" SIGILL +inline int SIGTRAP = 5; +#pragma D binding "1.0" SIGTRAP +inline int SIGABRT = 6; +#pragma D binding "1.0" SIGABRT +inline int SIGEMT = 7; +#pragma D binding "1.0" SIGEMT +inline int SIGFPE = 8; +#pragma D binding "1.0" SIGFPE +inline int SIGKILL = 9; +#pragma D binding "1.0" SIGKILL +inline int SIGBUS = 10; +#pragma D binding "1.0" SIGBUS +inline int SIGSEGV = 11; +#pragma D binding "1.0" SIGSEGV +inline int SIGSYS = 12; +#pragma D binding "1.0" SIGSYS +inline int SIGPIPE = 13; +#pragma D binding "1.0" SIGPIPE +inline int SIGALRM = 14; +#pragma D binding "1.0" SIGALRM +inline int SIGTERM = 15; +#pragma D binding "1.0" SIGTERM +inline int SIGURG = 16; +#pragma D binding "1.0" SIGURG +inline int SIGSTOP = 17; +#pragma D binding "1.0" SIGSTOP +inline int SIGTSTP = 18; +#pragma D binding "1.0" SIGTSTP +inline int SIGCONT = 19; +#pragma D binding "1.0" SIGCONT +inline int SIGCHLD = 20; +#pragma D binding "1.0" SIGCHLD +inline int SIGTTIN = 21; +#pragma D binding "1.0" SIGTTIN +inline int SIGTTOU = 22; +#pragma D binding "1.0" SIGTTOU +inline int SIGIO = 23; +#pragma D binding "1.0" SIGIO +inline int SIGXCPU = 24; +#pragma D binding "1.0" SIGXCPU +inline int SIGXFSZ = 25; +#pragma D binding "1.0" SIGXFSZ +inline int SIGVTALRM = 26; +#pragma D binding "1.0" SIGVTALRM +inline int SIGPROF = 27; +#pragma D binding "1.0" SIGPROF +inline int SIGWINCH = 28; +#pragma D binding "1.0" SIGWINCH +inline int SIGINFO = 29; +#pragma D binding "1.0" SIGINFO +inline int SIGUSR1 = 30; +#pragma D binding "1.0" SIGUSR1 +inline int SIGUSR2 = 31; +#pragma D binding "1.0" SIGUSR2 + inline int CLD_EXITED = 1; #pragma D binding "1.0" CLD_EXITED inline int CLD_KILLED = 2; From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:45:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A71F516A41A; Fri, 25 Jan 2008 05:45: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 6CAB816A418 for ; Fri, 25 Jan 2008 05:45:57 +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 5AEF813C442 for ; Fri, 25 Jan 2008 05:45:57 +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 m0P5juGd076936 for ; Fri, 25 Jan 2008 05:45:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5ju9o076933 for perforce@freebsd.org; Fri, 25 Jan 2008 05:45:56 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:45:56 GMT Message-Id: <200801250545.m0P5ju9o076933@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 134060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:45:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=134060 Change 134060 by jb@jb_freebsd1 on 2008/01/25 05:45:29 Comment out a Solaris-specific path. We build the test programs from C source in our OBJDIR which is the current working directory when the test executes. We don't want to dirty up the source tree. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#6 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#6 (text+kox) ==== @@ -268,7 +268,7 @@ # Ensure that $PATH contains a cc(1) so that we can execute the # test programs that require compilation of C code. # -$ENV{'PATH'} = $ENV{'PATH'} . ':/ws/onnv-tools/SUNWspro/SS11/bin'; +#$ENV{'PATH'} = $ENV{'PATH'} . ':/ws/onnv-tools/SUNWspro/SS11/bin'; if ($opt_b) { logmsg("badioctl'ing ... "); @@ -418,7 +418,7 @@ } $fullname = "$dir/$name"; - $exe = "$dir/$base.exe"; + $exe = "./$base.exe"; $exe_pid = -1; if ($opt_a && ($status != 0 || $tag != 0 || $droptag != 0 || From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:46:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC8C116A46E; Fri, 25 Jan 2008 05:46: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 84CB616A41A for ; Fri, 25 Jan 2008 05:46:58 +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 7247113C4E7 for ; Fri, 25 Jan 2008 05:46:58 +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 m0P5kwPX077164 for ; Fri, 25 Jan 2008 05:46:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5kwh9077161 for perforce@freebsd.org; Fri, 25 Jan 2008 05:46:58 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:46:58 GMT Message-Id: <200801250546.m0P5kwh9077161@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 134061 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:46:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=134061 Change 134061 by jb@jb_freebsd1 on 2008/01/25 05:46:34 On Solaris, it seems to be pronounced "exit", but it's spelt "rexit". On FreeBSD edit is just exit. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.d#3 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d#3 (text+ko) ==== @@ -54,7 +54,7 @@ timeout = timestamp + 500000000; } -syscall::rexit:entry +syscall::exit:entry { exit(0); } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d#3 (text+ko) ==== @@ -54,7 +54,7 @@ timeout = timestamp + 500000000; } -syscall::rexit:entry +syscall::exit:entry { exit(0); } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.d#3 (text+ko) ==== @@ -54,7 +54,7 @@ timeout = timestamp + 500000000; } -syscall::rexit:entry +syscall::exit:entry { exit(0); } From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:48:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFD2916A41B; Fri, 25 Jan 2008 05:47: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 B35C016A418 for ; Fri, 25 Jan 2008 05:47:59 +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 A1AD013C4E8 for ; Fri, 25 Jan 2008 05:47:59 +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 m0P5lxnF077258 for ; Fri, 25 Jan 2008 05:47:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5lx7e077255 for perforce@freebsd.org; Fri, 25 Jan 2008 05:47:59 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:47:59 GMT Message-Id: <200801250547.m0P5lx7e077255@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 134062 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:48:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=134062 Change 134062 by jb@jb_freebsd1 on 2008/01/25 05:47:39 The function prototype for exit() is in stdlib.h. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c#3 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c#3 (text+ko) ==== @@ -28,6 +28,7 @@ #include #include +#include static void handle(int sig) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c#3 (text+ko) ==== @@ -28,6 +28,7 @@ #include #include +#include static void handle(int sig) From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:51:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 660E416A41A; Fri, 25 Jan 2008 05:51: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 133B716A419 for ; Fri, 25 Jan 2008 05:51:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 00AF313C4DD for ; Fri, 25 Jan 2008 05:51:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P5p2uj077626 for ; Fri, 25 Jan 2008 05:51:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5p2Ym077623 for perforce@freebsd.org; Fri, 25 Jan 2008 05:51:02 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:51:02 GMT Message-Id: <200801250551.m0P5p2Ym077623@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 134063 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:51:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=134063 Change 134063 by jb@jb_freebsd1 on 2008/01/25 05:50:38 Now we need to build the companion C programs that are used as targets for some of the tests. Try to do this generically. Later we'll need to add extra libraries, but we might be able to get away with a generic set. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#19 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#19 (text+ko) ==== @@ -4,9 +4,6 @@ DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl IGNORE= \ - ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel32.d.ksh \ - ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \ - ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \ ${TESTSRCDIR}/tst/common/aggs/tst.subr.d \ ${TESTSRCDIR}/tst/common/arrays/tst.uregsarray.d \ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d \ @@ -18,8 +15,11 @@ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo1.d \ ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d \ ${TESTSRCDIR}/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel32.d.ksh \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh \ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh \ + ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoofew.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoomany.d \ @@ -42,6 +42,9 @@ ${TESTSRCDIR}/tst/common/inline/tst.InlineDataAssign.d \ ${TESTSRCDIR}/tst/common/inline/tst.InlineExpression.d \ ${TESTSRCDIR}/tst/common/inline/tst.InlineTypedef.d \ + ${TESTSRCDIR}/tst/common/io/tst.fds.c \ + ${TESTSRCDIR}/tst/common/java_api/tst.FunctionLookup.c \ + ${TESTSRCDIR}/tst/common/java_api/tst.ProbeData.c \ ${TESTSRCDIR}/tst/common/misc/tst.dynopt.d \ ${TESTSRCDIR}/tst/common/misc/tst.include.ksh \ ${TESTSRCDIR}/tst/common/misc/tst.roch.d \ @@ -58,19 +61,28 @@ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_NAME.globdash.d \ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_OFF.toobig.d \ ${TESTSRCDIR}/tst/common/pid/tst.addprobes.ksh \ + ${TESTSRCDIR}/tst/common/pid/tst.args1.c \ ${TESTSRCDIR}/tst/common/pid/tst.args1.d \ ${TESTSRCDIR}/tst/common/pid/tst.coverage.d \ ${TESTSRCDIR}/tst/common/pid/tst.emptystack.d \ + ${TESTSRCDIR}/tst/common/pid/tst.float.c \ ${TESTSRCDIR}/tst/common/pid/tst.float.d \ + ${TESTSRCDIR}/tst/common/pid/tst.fork.c \ ${TESTSRCDIR}/tst/common/pid/tst.fork.d \ + ${TESTSRCDIR}/tst/common/pid/tst.gcc.c \ ${TESTSRCDIR}/tst/common/pid/tst.gcc.d \ ${TESTSRCDIR}/tst/common/pid/tst.main.ksh \ ${TESTSRCDIR}/tst/common/pid/tst.manypids.ksh \ ${TESTSRCDIR}/tst/common/pid/tst.probemod.ksh \ + ${TESTSRCDIR}/tst/common/pid/tst.ret1.c \ ${TESTSRCDIR}/tst/common/pid/tst.ret1.d \ + ${TESTSRCDIR}/tst/common/pid/tst.ret2.c \ ${TESTSRCDIR}/tst/common/pid/tst.ret2.d \ + ${TESTSRCDIR}/tst/common/pid/tst.vfork.c \ ${TESTSRCDIR}/tst/common/pid/tst.vfork.d \ + ${TESTSRCDIR}/tst/common/pid/tst.weak1.c \ ${TESTSRCDIR}/tst/common/pid/tst.weak1.d \ + ${TESTSRCDIR}/tst/common/pid/tst.weak2.c \ ${TESTSRCDIR}/tst/common/pid/tst.weak2.d \ ${TESTSRCDIR}/tst/common/plockstat/tst.available.d \ ${TESTSRCDIR}/tst/common/plockstat/tst.libmap.d \ @@ -89,11 +101,10 @@ ${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ + ${TESTSRCDIR}/tst/common/proc/tst.sigwait.c \ ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \ - ${TESTSRCDIR}/tst/common/raise/tst.raise1.d \ - ${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ - ${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ + ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.c \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ ${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \ ${TESTSRCDIR}/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d \ @@ -122,11 +133,12 @@ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_STRSIZE.bad.d \ ${TESTSRCDIR}/tst/common/stack/tst.default.d \ ${TESTSRCDIR}/tst/common/stackdepth/tst.default.d \ - ${TESTSRCDIR}/tst/common/stop/tst.stop1.d \ - ${TESTSRCDIR}/tst/common/stop/tst.stop2.d \ + ${TESTSRCDIR}/tst/common/syscall/tst.args.c \ ${TESTSRCDIR}/tst/common/syscall/tst.args.d \ ${TESTSRCDIR}/tst/common/syscall/tst.openret.ksh \ + ${TESTSRCDIR}/tst/common/sysevent/tst.post.c \ ${TESTSRCDIR}/tst/common/sysevent/tst.post.d \ + ${TESTSRCDIR}/tst/common/sysevent/tst.post_chan.c \ ${TESTSRCDIR}/tst/common/sysevent/tst.post_chan.d \ ${TESTSRCDIR}/tst/common/trace/tst.misc.d \ ${TESTSRCDIR}/tst/common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d \ @@ -136,9 +148,17 @@ ${TESTSRCDIR}/tst/common/types/tst.ptrops.d \ ${TESTSRCDIR}/tst/common/types/tst.struct.d \ ${TESTSRCDIR}/tst/common/types/tst.typedef.d \ + ${TESTSRCDIR}/tst/common/usdt/tst.argmap.c \ + ${TESTSRCDIR}/tst/common/usdt/tst.args.c \ + ${TESTSRCDIR}/tst/common/usdt/tst.forker.c \ + ${TESTSRCDIR}/tst/common/ustack/tst.bigstack.c \ + ${TESTSRCDIR}/tst/common/ustack/tst.spin.c \ ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \ ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \ ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \ + X${TESTSRCDIR}/tst/common/raise/tst.raise1.d \ + X${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ + X${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ NOTWORK+= \ ${TESTSRCDIR}/tst/common/io/tst.fds.d \ @@ -313,10 +333,11 @@ # Get a list of test files in the test directory: ${_d}_ERR!= find ${TESTSRCDIR}/tst/common/${_d} -name "err.*.d" -${_d}_TST!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.d" +${_d}_TSTD!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.d" +${_d}_TSTC!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.c" ${_d}_SHERR!= find ${TESTSRCDIR}/tst/common/${_d} -name "err.*.ksh" ${_d}_SHTST!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.ksh" -${_d}_TF= ${${_d}_ERR} ${${_d}_TST} ${${_d}_SHERR} ${${_d}_SHTST} +${_d}_TF= ${${_d}_ERR} ${${_d}_TSTD} ${${_d}_SHERR} ${${_d}_SHTST} # Go through the list of test files and prepare another list that contains # none of the test files listed in the NOTYET list: @@ -329,14 +350,42 @@ # Add the list of tests to the overall test list: ALL_TESTFILES+= ${${_d}_TFS} -${_d} : +.for _f in ${${_d}_TSTC} +.if (${NOTYET:M${_f}} == "") +${_d}_TFCS+= ${_f} +.endif +.endfor + +ALL_TESTCFILES+= ${${_d}_TFCS} + +${_d} : ${${_d}_TFCS:T:S/c$/exe/} @${DTEST} ${${_d}_TFS} .endfor # -------------------------------------------------------------------------------- +# + +PRGS= ${ALL_TESTCFILES:T:S/c$/exe/} + +listprgs : + @echo ${PRGS} + +# -------------------------------------------------------------------------------- +# + +.for _f in ${ALL_TESTCFILES} +${_f:T:S/c$/exe/} : ${_f} + gcc -o ${.TARGET} ${_f} +.endfor + +listcfiles : + @echo ${ALL_TESTCFILES} + +# -------------------------------------------------------------------------------- # A target to build all tests: -all : +all : ${PRGS} + @sync; sync; sync; sync; sync @${DTEST} ${ALL_TESTFILES} # -------------------------------------------------------------------------------- @@ -350,6 +399,7 @@ listerrors : @find ${.OBJDIR} -name "*.err" -exec cat {} \; -print + # -------------------------------------------------------------------------------- # Test failures are written to failure.N directories in the object tree. # Get a list of directories in the object tree for 'make clean'. @@ -370,7 +420,6 @@ .BEGIN : @if ! kldstat -q -m dtrace_test; then kldload dtrace_test; fi - @sync; sync; sync; sync; sync .include From owner-p4-projects@FreeBSD.ORG Fri Jan 25 05:52:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5A3416A420; Fri, 25 Jan 2008 05:52: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 9A64316A41A for ; Fri, 25 Jan 2008 05:52:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 880E613C468 for ; Fri, 25 Jan 2008 05:52:04 +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 m0P5q4l4077774 for ; Fri, 25 Jan 2008 05:52:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P5q4AJ077771 for perforce@freebsd.org; Fri, 25 Jan 2008 05:52:04 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 05:52:04 GMT Message-Id: <200801250552.m0P5q4AJ077771@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 134064 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 05:52:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=134064 Change 134064 by jb@jb_freebsd1 on 2008/01/25 05:51:49 Allow a DTrace program to send a signal to a process and stop it too. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#26 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#26 (text) ==== @@ -5393,6 +5393,7 @@ return; } +#if defined(sun) /* * raise() has a queue depth of 1 -- we ignore all subsequent * invocations of the raise() action. @@ -5400,10 +5401,13 @@ if (curthread->t_dtrace_sig == 0) curthread->t_dtrace_sig = (uint8_t)sig; -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD curthread->t_sig_check = 1; aston(curthread); +#else + struct proc *p = curproc; + PROC_LOCK(p); + psignal(p, sig); + PROC_UNLOCK(p); #endif } @@ -5413,14 +5417,18 @@ if (dtrace_destructive_disallow) return; +#if defined(sun) if (!curthread->t_dtrace_stop) { curthread->t_dtrace_stop = 1; -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD curthread->t_sig_check = 1; aston(curthread); + } +#else + struct proc *p = curproc; + PROC_LOCK(p); + psignal(p, SIGSTOP); + PROC_UNLOCK(p); #endif - } } static void From owner-p4-projects@FreeBSD.ORG Fri Jan 25 07:08:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCD4216A421; Fri, 25 Jan 2008 07:08: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 8860416A41A for ; Fri, 25 Jan 2008 07:08:24 +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 7759E13C474 for ; Fri, 25 Jan 2008 07:08:24 +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 m0P78Ov5085019 for ; Fri, 25 Jan 2008 07:08:24 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P78Odc085016 for perforce@freebsd.org; Fri, 25 Jan 2008 07:08:24 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 25 Jan 2008 07:08:24 GMT Message-Id: <200801250708.m0P78Odc085016@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 134065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 07:08:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=134065 Change 134065 by kmacy@kmacy:storage:toehead on 2008/01/25 07:07:45 split ddp support and vm functions in to separate files Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/sys/mbufq.h#3 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#7 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#6 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#6 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#3 edit .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#2 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/sys/mbufq.h#3 (text+ko) ==== @@ -103,7 +103,7 @@ } static __inline struct mbuf * -mbufq_peek(struct mbuf_head *l) +mbufq_peek(const struct mbuf_head *l) { return (l->head); } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#7 (text+ko) ==== @@ -490,12 +490,10 @@ m = m_gethdr_nofail(sizeof(*req)); -#ifdef notyet - req = (struct cpl_rx_data_ack *)__skb_put(skb, sizeof(*req)); + req = mtod(m, struct cpl_rx_data_ack *); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); -#else - req = mtod(m, struct cpl_rx_data_ack *); -#endif + m->m_pkthdr.len = m->m_len = sizeof(*req); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, toep->tp_tid)); req->credit_dack = htonl(F_RX_MODULATE | F_RX_DACK_CHANGE | V_RX_DACK_MODE(1) | @@ -1163,6 +1161,20 @@ return V_FLAVORS_VALID(flv_valid) | V_CONG_CONTROL_FLAVOR(flv_valid ? TOM_TUNABLE(dev, cong_alg) : 0); } + +#if DEBUG_WR > 1 +static int +count_pending_wrs(const struct toepcb *toep) +{ + const struct mbuf *m; + int n = 0; + + wr_queue_walk(toep, m) + n += m->m_pkthdr.csum_data; + return (n); +} +#endif + #if 0 (((*(struct tom_data **)&(dev)->l4opt)->conf.cong_alg) != -1) #endif @@ -2132,7 +2144,7 @@ unsigned int rcv_nxt = ntohl(req->rcv_nxt) - 1; /* exclude FIN */ if (tp->rcv_nxt == rcv_nxt) /* no data */ - return 0; + return (0); if (__predict_false(so_no_receive(so))) { handle_excess_rx(toep, m); @@ -2189,7 +2201,6 @@ goto out; } - if (toep->tp_ulp_mode == ULP_MODE_TCPDDP) { keep = handle_peer_close_data(so, m); if (keep < 0) @@ -3533,7 +3544,6 @@ if (__predict_false(credits < p->m_pkthdr.csum_data)) { #if DEBUG_WR > 1 struct tx_data_wr *w = cplhdr(p); -#ifdef notyet log(LOG_ERR, "TID %u got %u WR credits, need %u, len %u, " "main body %u, frags %u, seq # %u, ACK una %u," @@ -3541,8 +3551,7 @@ toep->tp_tid, credits, p->csum, p->len, p->len - p->data_len, skb_shinfo(p)->nr_frags, ntohl(w->sndseq), snd_una, ntohl(hdr->snd_nxt), - WR_AVAIL(tp), count_pending_wrs(tp) - credits); -#endif + toep->tp_wr_avail, count_pending_wrs(tp) - credits); #endif p->m_pkthdr.csum_data -= credits; break; @@ -3880,11 +3889,9 @@ wrlen = sizeof(*wr) + 3 * sizeof(*req) + sizeof(*getreq); m = m_gethdr_nofail(wrlen); m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); -#ifdef notyet - wr = (struct work_request_hdr *)__skb_put(skb, wrlen); -#else wr = mtod(m, struct work_request_hdr *); -#endif + m->m_pkthdr.len = m->m_len = wrlen; + /* Set the ATOMIC flag to make sure that TP processes the following * CPLs in an atomic manner and no wire segments can be interleaved. */ @@ -3955,12 +3962,10 @@ (modulate ? sizeof(struct cpl_rx_data_ack) : 0); m = m_gethdr_nofail(wrlen); m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, toep)); -#ifdef notyet - wr = (struct work_request_hdr *)__skb_put(skb, wrlen); + wr = mtod(m, struct work_request_hdr *); wr->wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS)); -#else - wr = mtod(m, struct work_request_hdr *); -#endif + m->m_pkthdr.len = m->m_len = wrlen; + req = (struct cpl_set_tcb_field *)(wr + 1); if (len0) { /* program buffer 0 offset and length */ mk_set_tcb_field_ulp(req, toep->tp_tid, W_TCB_RX_DDP_BUF0_OFFSET, ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#6 (text+ko) ==== @@ -73,6 +73,7 @@ #include #include #include + #include #include #include @@ -86,6 +87,7 @@ #include #include #include +#include static int (*pru_sosend)(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, @@ -95,9 +97,6 @@ struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp); -#define VM_HOLD_WRITEABLE 0x1 -static int vm_fault_hold_user_pages(vm_offset_t addr, vm_page_t *mp, int count, int flags); -static void vm_fault_unhold_pages(vm_page_t *m, int count); #define TMP_IOV_MAX 16 #ifndef PG_FRAME #define PG_FRAME ~PAGE_MASK @@ -240,6 +239,29 @@ return (0); } +/* + * Returns whether a connection should enable DDP. This happens when all of + * the following conditions are met: + * - the connection's ULP mode is DDP + * - DDP is not already enabled + * - the last receive was above the DDP threshold + * - receive buffers are in user space + * - receive side isn't shutdown (handled by caller) + * - the connection's receive window is big enough so that sizable buffers + * can be posted without closing the window in the middle of DDP (checked + * when the connection is offloaded) + */ +#ifdef notyet +static int +so_should_ddp(const struct toepcb *toep, int last_recv_len) +{ + return toep->tp_ulp_mode == ULP_MODE_TCPDDP && (toep->tp_ddp_state.ubuf == NULL) && + last_recv_len > TOM_TUNABLE(toep->tp_toedev, ddp_thres) && + toep->tp_tp->rcv_wnd > + (TOM_TUNABLE(toep->tp_toedev, ddp_copy_limit) + DDP_RSVD_WIN); +} +#endif + static void cxgb_wait_dma_completion(struct toepcb *toep) { @@ -501,749 +523,3 @@ so->so_proto->pr_usrreqs->pru_sosend = cxgb_sosend; so->so_proto->pr_usrreqs->pru_soreceive = cxgb_soreceive; } - -/* - * This routine takes a user address range and does the following: - * - validate that the user has access to those pages (flags indicates read or write) - if not fail - * - validate that count is enough to hold range number of pages - if not fail - * - fault in any non-resident pages - * - if the user is doing a read force a write fault for any COWed pages - * - if the user is doing a read mark all pages as dirty - * - hold all pages - * - return number of pages in count - */ -static int -vm_fault_hold_user_pages(vm_offset_t addr, vm_page_t *mp, int count, int flags) -{ - - vm_offset_t start, va; - vm_paddr_t pa; - int pageslen, faults, rv; - - struct thread *td; - vm_map_t map; - pmap_t pmap; - vm_page_t m, *pages; - vm_prot_t prot; - - /* - * Check that virtual address range is legal - * This check is somewhat bogus as on some architectures kernel - * and user do not share VA - however, it appears that all FreeBSD - * architectures define it - */ - pageslen = count * PAGE_SIZE; - if (addr + pageslen > VM_MAXUSER_ADDRESS) - return (EFAULT); - - td = curthread; - map = &td->td_proc->p_vmspace->vm_map; - pmap = &td->td_proc->p_vmspace->vm_pmap; - pages = mp; - - prot = (flags & VM_HOLD_WRITEABLE) ? VM_PROT_WRITE : VM_PROT_READ; - bzero(pages, sizeof(vm_page_t *) * count); -retry: - - /* - * First optimistically assume that all pages are resident (and R/W if for write) - * if so just mark pages as held (and dirty if for write) and return - */ - vm_page_lock_queues(); - for (start = addr, pages = mp, faults = 0, va = addr; va < start + pageslen; va += PAGE_SIZE, pages++) { - /* - * Assure that we only hold the page once - */ - if (*pages == NULL) { - /* - * page queue mutex is recursable so this is OK - * it would be really nice if we had an unlocked version of this so - * we were only acquiring the pmap lock 1 time as opposed to potentially - * many dozens of times - */ - m = pmap_extract_and_hold(pmap, va, prot); - if (m == NULL) { - faults++; - continue; - } - - *pages = m; - if (flags & VM_HOLD_WRITEABLE) - vm_page_dirty(m); - } - } - vm_page_unlock_queues(); - - if (faults == 0) - return (0); - /* - * Pages either have insufficient permissions or are not present - * trigger a fault where neccessary - * - */ - for (va = start; va < pageslen; va += PAGE_SIZE) { - m = NULL; - pa = pmap_extract(pmap, va); - rv = 0; - if (pa) - m = PHYS_TO_VM_PAGE(pa); - if (flags & VM_HOLD_WRITEABLE) { - if (m == NULL || (m->flags & PG_WRITEABLE) == 0) - rv = vm_fault(map, va, VM_PROT_WRITE, VM_FAULT_DIRTY); - } else if (m == NULL) - rv = vm_fault(map, va, VM_PROT_READ, VM_FAULT_NORMAL); - if (rv) - goto error; - } - goto retry; - -error: - vm_page_lock_queues(); - for (pages = mp, - va = start; va < start + pageslen; - va += PAGE_SIZE, - pages++) - if (*pages) - vm_page_unhold(*pages); - vm_page_unlock_queues(); - return (EFAULT); -} - -static void -vm_fault_unhold_pages(vm_page_t *mp, int count) -{ - - KASSERT(count >= 0, ("negative count %d", count)); - vm_page_lock_queues(); - while (count--) { - vm_page_unhold(*mp); - mp++; - } - vm_page_unlock_queues(); -} - -/** - * t3_pin_pages - pin a user memory range and prepare it for DDP - * @addr - the starting address - * @len - the length of the range - * @newgl - contains the pages and physical addresses of the pinned range - * @gl - an existing gather list, may be %NULL - * - * Pins the pages in the user-space memory range [addr, addr + len) and - * maps them for DMA. Returns a gather list with the pinned pages and - * their physical addresses. If @gl is non NULL the pages it describes - * are compared against the pages for [addr, addr + len), and if the - * existing gather list already covers the range a new list is not - * allocated. Returns 0 on success, or a negative errno. On success if - * a new gather list was allocated it is returned in @newgl. - */ -static int -t3_pin_pages(bus_dma_tag_t tag, bus_dmamap_t map, unsigned long addr, - size_t len, struct ddp_gather_list **newgl, - const struct ddp_gather_list *gl) -{ - int i, err; - size_t pg_off; - unsigned int npages; - struct ddp_gather_list *p; - - if (addr >= VM_MAXUSER_ADDRESS) - return (EINVAL); -#if 0 - if (!access_ok(VERIFY_WRITE, addr, len)) - return (EFAULT); -#endif - pg_off = addr & ~PAGE_MASK; - npages = (pg_off + len + PAGE_SIZE - 1) >> PAGE_SHIFT; - p = malloc(sizeof(struct ddp_gather_list) + npages * sizeof(vm_page_t *), - M_DEVBUF, M_NOWAIT); - if (!p) - return (ENOMEM); - - - err = vm_fault_hold_user_pages(addr, p->dgl_pages, npages, VM_HOLD_WRITEABLE); - - if (err) - goto free_gl; - - if (gl && gl->dgl_offset == pg_off && gl->dgl_nelem >= npages && - gl->dgl_length >= len) { - for (i = 0; i < npages; ++i) - if (p->dgl_pages[i] != gl->dgl_pages[i]) - goto different_gl; - err = 0; - goto unpin; - } - -different_gl: - p->dgl_length = len; - p->dgl_offset = pg_off; - p->dgl_nelem = npages; -#ifdef notyet - p->phys_addr[0] = pci_map_page(pdev, p->pages[0], pg_off, - PAGE_SIZE - pg_off, - PCI_DMA_FROMDEVICE) - pg_off; - for (i = 1; i < npages; ++i) - p->phys_addr[i] = pci_map_page(pdev, p->pages[i], 0, PAGE_SIZE, - PCI_DMA_FROMDEVICE); -#endif - - *newgl = p; - return 0; -unpin: - vm_fault_unhold_pages(p->dgl_pages, npages); - -free_gl: - free(p, M_DEVBUF); - *newgl = NULL; - return err; -} - -/* - * Return the # of page pods needed to accommodate a # of pages. - */ -static inline unsigned int -pages2ppods(unsigned int pages) -{ - return (pages + PPOD_PAGES - 1) / PPOD_PAGES + NUM_SENTINEL_PPODS; -} - - -static void -unmap_ddp_gl(const struct ddp_gather_list *gl) -{ -#ifdef notyet - int i; - - if (!gl->nelem) - return; - - pci_unmap_page(pdev, gl->phys_addr[0] + gl->offset, - PAGE_SIZE - gl->offset, PCI_DMA_FROMDEVICE); - for (i = 1; i < gl->nelem; ++i) - pci_unmap_page(pdev, gl->phys_addr[i], PAGE_SIZE, - PCI_DMA_FROMDEVICE); - -#endif -} - -static void -ddp_gl_free_pages(struct ddp_gather_list *gl, int dirty) -{ -#ifdef notyet - int i; - - for (i = 0; i < gl->nelem; ++i) { - if (dirty) - set_page_dirty_lock(gl->pages[i]); - put_page(gl->pages[i]); - } -#endif -} - -void -t3_free_ddp_gl(struct ddp_gather_list *gl) -{ - unmap_ddp_gl(gl); - ddp_gl_free_pages(gl, 0); - free(gl, M_DEVBUF); -} - -/* Max # of page pods for a buffer, enough for 1MB buffer at 4KB page size */ -#define MAX_PPODS 64U - -/* - * Allocate page pods for DDP buffer 1 (the user buffer) and set up the tag in - * the TCB. We allocate page pods in multiples of PPOD_CLUSTER_SIZE. First we - * try to allocate enough page pods to accommodate the whole buffer, subject to - * the MAX_PPODS limit. If that fails we try to allocate PPOD_CLUSTER_SIZE page - * pods before failing entirely. - */ -static int -alloc_buf1_ppods(struct socket *so, struct ddp_state *p, - unsigned long addr, unsigned int len) -{ - int tag, npages, nppods; - struct tom_data *d = TOM_DATA(TOE_DEV(so)); - - npages = ((addr & ~PAGE_MASK) + len + PAGE_SIZE - 1) >> PAGE_SHIFT; - nppods = min(pages2ppods(npages), MAX_PPODS); -#ifdef notyet - nppods = ALIGN(nppods, PPOD_CLUSTER_SIZE); -#endif - tag = t3_alloc_ppods(d, nppods); - if (tag < 0 && nppods > PPOD_CLUSTER_SIZE) { - nppods = PPOD_CLUSTER_SIZE; - tag = t3_alloc_ppods(d, nppods); - } - if (tag < 0) - return (ENOMEM); - - p->ubuf_nppods = nppods; - p->ubuf_tag = tag; -#if NUM_DDP_KBUF == 1 - t3_set_ddp_tag(so, 1, tag << 6); -#endif - return 0; -} - - - -/* - * Reposts the kernel DDP buffer after it has been previously become full and - * invalidated. We just need to reset the offset and adjust the DDP flags. - * Conveniently, we can set the flags and the offset with a single message. - * Note that this function does not set the buffer length. Again conveniently - * our kernel buffer is of fixed size. If the length needs to be changed it - * needs to be done separately. - */ -static void -t3_repost_kbuf(struct socket *so, unsigned int bufidx, int modulate, - int activate) -{ - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - - p->buf_state[bufidx].cur_offset = p->kbuf[bufidx]->dgl_offset; - p->buf_state[bufidx].flags = p->kbuf_noinval ? DDP_BF_NOINVAL : 0; - p->buf_state[bufidx].gl = p->kbuf[bufidx]; - p->cur_buf = bufidx; - p->kbuf_idx = bufidx; - if (!bufidx) - t3_setup_ddpbufs(toep, 0, 0, 0, 0, - V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | - V_TF_DDP_BUF0_VALID(1), - V_TF_DDP_PSH_NO_INVALIDATE(1) | V_TF_DDP_OFF(1) | - V_TF_DDP_BUF0_VALID(1) | - V_TF_DDP_ACTIVE_BUF(activate), modulate); - else - t3_setup_ddpbufs(toep, 0, 0, 0, 0, - V_TF_DDP_PSH_NO_INVALIDATE(p->kbuf_noinval) | - V_TF_DDP_BUF1_VALID(1) | - V_TF_DDP_ACTIVE_BUF(activate), - V_TF_DDP_PSH_NO_INVALIDATE(1) | V_TF_DDP_OFF(1) | - V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_ACTIVE_BUF(1), - modulate); - -} - -/* - * Starting offset for the user DDP buffer. A non-0 value ensures a DDP flush - * won't block indefinitely if there's nothing to place (which should be rare). - */ -#define UBUF_OFFSET 1 - -static __inline unsigned long -select_ddp_flags(const struct socket *so, int buf_idx, - int nonblock, int rcv_flags) -{ - if (buf_idx == 1) { - if (__predict_false(rcv_flags & MSG_WAITALL)) - return V_TF_DDP_PSH_NO_INVALIDATE(1) | - V_TF_DDP_PUSH_DISABLE_1(1); - if (nonblock) - return V_TF_DDP_BUF1_FLUSH(1); - - return V_TF_DDP_BUF1_FLUSH(!TOM_TUNABLE(TOE_DEV(so), - ddp_push_wait)); - } - - if (__predict_false(rcv_flags & MSG_WAITALL)) - return V_TF_DDP_PSH_NO_INVALIDATE(1) | - V_TF_DDP_PUSH_DISABLE_0(1); - if (nonblock) - return V_TF_DDP_BUF0_FLUSH(1); - - return V_TF_DDP_BUF0_FLUSH(!TOM_TUNABLE(TOE_DEV(so), ddp_push_wait)); -} - -/** - * setup_iovec_ppods - setup HW page pods for a user iovec - * @sk: the associated socket - * @iov: the iovec - * @oft: additional bytes to map before the start of the buffer - * - * Pins a user iovec and sets up HW page pods for DDP into it. We allocate - * page pods for user buffers on the first call per socket. Afterwards we - * limit the buffer length to whatever the existing page pods can accommodate. - * Returns a negative error code or the length of the mapped buffer. - * - * The current implementation handles iovecs with only one entry. - */ -static int -setup_iovec_ppods(struct socket *so, const struct iovec *iov, int oft) -{ - int err; - unsigned int len; - struct ddp_gather_list *gl = NULL; - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - unsigned long addr = (unsigned long)iov->iov_base - oft; - - if (__predict_false(!p->ubuf_nppods)) { - err = alloc_buf1_ppods(so, p, addr, iov->iov_len + oft); - if (err) - return err; - } - - len = (p->ubuf_nppods - NUM_SENTINEL_PPODS) * PPOD_PAGES * PAGE_SIZE; - len -= addr & ~PAGE_MASK; - if (len > M_TCB_RX_DDP_BUF0_LEN) - len = M_TCB_RX_DDP_BUF0_LEN; - len = min(len, sototcpcb(so)->rcv_wnd - 32768); - len = min(len, iov->iov_len + oft); - - if (len <= p->kbuf[0]->dgl_length) - return -EINVAL; - - err = t3_pin_pages(toep->tp_rx_dmat, toep->tp_dmamap, addr, len, &gl, p->ubuf); - if (err < 0) - return err; - if (gl) { - if (p->ubuf) - t3_free_ddp_gl(p->ubuf); - p->ubuf = gl; - t3_setup_ppods(so, gl, pages2ppods(gl->dgl_nelem), p->ubuf_tag, len, - gl->dgl_offset, 0); - } - return len; -} - -#define OVERLAY_MASK (V_TF_DDP_PSH_NO_INVALIDATE(1) | \ - V_TF_DDP_BUF1_FLUSH(1) | \ - V_TF_DDP_BUF0_FLUSH(1) | \ - V_TF_DDP_PUSH_DISABLE_1(1) | \ - V_TF_DDP_PUSH_DISABLE_0(1) | \ - V_TF_DDP_INDICATE_OUT(1)) - -/* - * Post a user buffer as an overlay on top of the current kernel buffer. - */ -int -t3_overlay_ubuf(struct socket *so, const struct iovec *iov, - int nonblock, int rcv_flags, int modulate, int post_kbuf) -{ - int len, ubuf_idx; - unsigned long flags; - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - - if (!p) - return -1; - - len = setup_iovec_ppods(so, iov, 0); - if (len < 0) - return len; - - ubuf_idx = p->kbuf_idx; - p->buf_state[ubuf_idx].flags = DDP_BF_NOFLIP; - /* Use existing offset */ - /* Don't need to update .gl, user buffer isn't copied. */ - p->cur_buf = ubuf_idx; - - flags = select_ddp_flags(so, ubuf_idx, nonblock, rcv_flags); - - if (post_kbuf) { - struct ddp_buf_state *dbs = &p->buf_state[ubuf_idx ^ 1]; - - dbs->cur_offset = 0; - dbs->flags = 0; - dbs->gl = p->kbuf[ubuf_idx ^ 1]; - p->kbuf_idx ^= 1; - flags |= p->kbuf_idx ? - V_TF_DDP_BUF1_VALID(1) | V_TF_DDP_PUSH_DISABLE_1(0) : - V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_PUSH_DISABLE_0(0); - } - - if (ubuf_idx == 0) { - t3_overlay_ddpbuf(toep, 0, p->ubuf_tag << 6, p->kbuf_tag[1] << 6, - len); - t3_setup_ddpbufs(toep, 0, 0, p->kbuf[1]->dgl_length, 0, - flags, - OVERLAY_MASK | flags, 1); - } else { - t3_overlay_ddpbuf(toep, 1, p->kbuf_tag[0] << 6, p->ubuf_tag << 6, - len); - t3_setup_ddpbufs(toep, p->kbuf[0]->dgl_length, 0, 0, 0, - flags, - OVERLAY_MASK | flags, 1); - } -#ifdef T3_TRACE - T3_TRACE5(TIDTB(so), - "t3_overlay_ubuf: tag %u flags 0x%x mask 0x%x ubuf_idx %d " - " kbuf_idx %d", - p->ubuf_tag, flags, OVERLAY_MASK, ubuf_idx, p->kbuf_idx); -#endif - return 0; -} - - - -/* - * Returns whether a connection should enable DDP. This happens when all of - * the following conditions are met: - * - the connection's ULP mode is DDP - * - DDP is not already enabled - * - the last receive was above the DDP threshold - * - receive buffers are in user space - * - receive side isn't shutdown (handled by caller) - * - the connection's receive window is big enough so that sizable buffers - * can be posted without closing the window in the middle of DDP (checked - * when the connection is offloaded) - */ -#ifdef notyet -static int -so_should_ddp(const struct toepcb *toep, int last_recv_len) -{ - return toep->tp_ulp_mode == ULP_MODE_TCPDDP && !toep->tp_dpp_state.cur_buf && - last_recv_len > TOM_TUNABLE(toep->tp_toedev, ddp_thres) && - toep->tp_tp->rcv_wnd > - (TOM_TUNABLE(toep->tp_toedev, ddp_copy_limit) + - DDP_RSVD_WIN); -} - -static inline int -is_ddp(const struct mbuf *m) -{ - return (m->m_flags & M_DDP); -} - -static inline int -is_ddp_psh(const struct mbuf *m) -{ - return is_ddp(skb) && (m->m_pkthdr.csum_flags & DDP_BF_PSH); -} - -/* - * Copy data from an sk_buff to an iovec. Deals with RX_DATA, which carry the - * data in the sk_buff body, and with RX_DATA_DDP, which place the data in a - * DDP buffer. - */ -static inline int -copy_data(const struct mbuf *m, int offset, struct iovec *to, int len) -{ - if (__predict_true(!is_ddp(m))) /* RX_DATA */ - return mbuf_copy_datagram_iovec(m, offset, to, len); - if (__predict_true(m->pkthdr.csum_flags & DDP_BF_NOCOPY)) { /* user DDP */ - to->iov_len -= len; - to->iov_base += len; - return 0; - } - return t3_ddp_copy(m, offset, to, len); /* kernel DDP */ -} - - -#endif -/* - * Clean up DDP state that needs to survive until socket close time, such as the - * DDP buffers. The buffers are already unmapped at this point as unmapping - * needs the PCI device and a socket may close long after the device is removed. - */ -void -t3_cleanup_ddp(struct socket *so) -{ - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - int idx; - - for (idx = 0; idx < NUM_DDP_KBUF; idx++) - if (p->kbuf[idx]) { - ddp_gl_free_pages(p->kbuf[idx], 0); - free(p->kbuf[idx], M_DEVBUF); - } - - if (p->ubuf) { - ddp_gl_free_pages(p->ubuf, 0); - free(p->ubuf, M_DEVBUF); - p->ubuf = NULL; - } - toep->tp_ulp_mode = 0; -} - -/* - * This is a companion to t3_cleanup_ddp() and releases the HW resources - * associated with a connection's DDP state, such as the page pods. - * It's called when HW is done with a connection. The rest of the state - * remains available until both HW and the app are done with the connection. - */ -void -t3_release_ddp_resources(struct toepcb *toep) -{ - struct ddp_state *p = &toep->tp_ddp_state; - struct tom_data *d = TOM_DATA(toep->tp_toedev); - int idx; - - for (idx = 0; idx < NUM_DDP_KBUF; idx++) { - t3_free_ppods(d, p->kbuf_tag[idx], - p->kbuf_nppods[idx]); - unmap_ddp_gl(p->kbuf[idx]); - } - - if (p->ubuf_nppods) { - t3_free_ppods(d, p->ubuf_tag, p->ubuf_nppods); - p->ubuf_nppods = 0; - } - if (p->ubuf) - unmap_ddp_gl(p->ubuf); - -} - -void -t3_post_kbuf(struct socket *so, int modulate) -{ - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - - t3_set_ddp_tag(so, p->cur_buf, p->kbuf_tag[p->cur_buf] << 6); - t3_set_ddp_buf(so, p->cur_buf, 0, p->kbuf[p->cur_buf]->dgl_length); - t3_repost_kbuf(so, p->cur_buf, modulate, 1); - -#ifdef T3_TRACE - T3_TRACE1(TIDTB(so), - "t3_post_kbuf: cur_buf = kbuf_idx = %u ", p->cur_buf); -#endif -} - -/* - * Prepare a socket for DDP. Must be called when the socket is known to be - * open. - */ -int -t3_enter_ddp(struct socket *so, unsigned int kbuf_size, unsigned int waitall) -{ - int err = ENOMEM; - unsigned int nppods, kbuf_pages, idx = 0; - struct toepcb *toep = sototcpcb(so)->t_toe; - struct ddp_state *p = &toep->tp_ddp_state; - struct tom_data *d = TOM_DATA(toep->tp_toedev); - - if (kbuf_size > M_TCB_RX_DDP_BUF0_LEN) - return (EINVAL); - - kbuf_pages = (kbuf_size + PAGE_SIZE - 1) >> PAGE_SHIFT; - nppods = pages2ppods(kbuf_pages); - - p->kbuf_noinval = !!waitall; - - p->kbuf_tag[NUM_DDP_KBUF - 1] = -1; - for (idx = 0; idx < NUM_DDP_KBUF; idx++) { - p->kbuf[idx] = - malloc(sizeof (struct ddp_gather_list) + kbuf_pages * - sizeof(vm_page_t *), M_DEVBUF, M_NOWAIT|M_ZERO); - if (!p->kbuf[idx]) - goto err; - - p->kbuf_tag[idx] = t3_alloc_ppods(d, nppods); - if (p->kbuf_tag[idx] < 0) - goto err; - - p->kbuf_nppods[idx] = nppods; - p->kbuf[idx]->dgl_length = kbuf_size; - p->kbuf[idx]->dgl_offset = 0; - p->kbuf[idx]->dgl_nelem = kbuf_pages; -#ifdef notyet - p->kbuf[idx]->pages = - (struct page **)&p->kbuf[idx]->phys_addr[kbuf_pages]; - - - for (i = 0; i < kbuf_pages; ++i) { - - p->kbuf[idx]->pages[i] = alloc_page(sk->sk_allocation); - if (!p->kbuf[idx]->pages[i]) { - p->kbuf[idx]->nelem = i; - goto err; - } - - } - - for (i = 0; i < kbuf_pages; ++i) - p->kbuf[idx]->phys_addr[i] = - pci_map_page(p->pdev, p->kbuf[idx]->pages[i], - 0, PAGE_SIZE, PCI_DMA_FROMDEVICE); -#endif - t3_setup_ppods(so, p->kbuf[idx], nppods, p->kbuf_tag[idx], - p->kbuf[idx]->dgl_length, 0, 0); - } - t3_set_ddp_tag(so, 0, p->kbuf_tag[0] << 6); - t3_set_ddp_buf(so, 0, 0, p->kbuf[0]->dgl_length); - t3_repost_kbuf(so, 0, 0, 1); - t3_set_rcv_coalesce_enable(so, - TOM_TUNABLE(TOE_DEV(so), ddp_rcvcoalesce)); - -#ifdef T3_TRACE - T3_TRACE4(TIDTB(so), - "t3_enter_ddp: kbuf_size %u waitall %u tag0 %d tag1 %d", - kbuf_size, waitall, p->kbuf_tag[0], p->kbuf_tag[1]); -#endif - - return 0; - -err: - t3_release_ddp_resources(toep); - t3_cleanup_ddp(so); - return err; -} - -int -t3_ddp_copy(const struct mbuf *m, int offset, struct iovec *to, int len) -{ -#ifdef notyet - int err, page_no, page_off; - struct ddp_gather_list *gl = (struct ddp_gather_list *)skb->mac.raw; - - if (!gl->pages) { - dump_stack(); - BUG_ON(1); - } - - offset += gl->offset + TCP_SKB_CB(skb)->when; - page_no = offset >> PAGE_SHIFT; - page_off = offset & ~PAGE_MASK; - - while (len) { - int copy = min_t(int, len, PAGE_SIZE - page_off); - - err = memcpy_toiovec(to, page_address(gl->pages[page_no]) + - page_off, copy); - if (err) - return -EFAULT; - page_no++; - page_off = 0; - len -= copy; - } -#endif - return 0; -} - -/* - * Allocate n page pods. Returns -1 on failure or the page pod tag. - */ -int t3_alloc_ppods(struct tom_data *td, unsigned int n) -{ - unsigned int i, j; - - if (__predict_false(!td->ppod_map)) - return -1; - - mtx_lock(&td->ppod_map_lock); - for (i = 0; i < td->nppods; ) { - for (j = 0; j < n; ++j) /* scan ppod_map[i..i+n-1] */ - if (td->ppod_map[i + j]) { - i = i + j + 1; - goto next; - } - - memset(&td->ppod_map[i], 1, n); /* allocate range */ - mtx_unlock(&td->ppod_map_lock); - return i; -next: ; - } - mtx_unlock(&td->ppod_map_lock); - return (0); -} - -void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n) -{ - /* No need to take ppod_lock here */ - memset(&td->ppod_map[tag], 0, n); -} ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#6 (text+ko) ==== @@ -150,20 +150,20 @@ int t3_setup_ppods(struct socket *so, const struct ddp_gather_list *gl, unsigned int nppods, unsigned int tag, unsigned int maxoff, unsigned int pg_off, unsigned int color); -int t3_alloc_ppods(struct tom_data *td, unsigned int n); +int t3_alloc_ppods(struct tom_data *td, unsigned int n, int *tag); void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n); void t3_free_ddp_gl(struct ddp_gather_list *gl); -int t3_ddp_copy(const struct mbuf *skb, int offset, struct iovec *to, +int t3_ddp_copy(const struct mbuf *m, int offset, struct uio *uio, int len); //void t3_repost_kbuf(struct socket *so, int modulate, int activate); void t3_post_kbuf(struct socket *so, int modulate); int t3_post_ubuf(struct socket *so, const struct iovec *iov, int nonblock, int rcv_flags, int modulate, int post_kbuf); -void t3_cancel_ubuf(struct socket *so); +void t3_cancel_ubuf(struct toepcb *toep); int t3_overlay_ubuf(struct socket *so, const struct iovec *iov, int nonblock, int rcv_flags, int modulate, int post_kbuf); int t3_enter_ddp(struct socket *so, unsigned int kbuf_size, unsigned int waitall); -void t3_cleanup_ddp(struct socket *so); +void t3_cleanup_ddp(struct toepcb *toep); void t3_release_ddp_resources(struct toepcb *toep); void t3_cancel_ddpbuf(struct toepcb *, unsigned int bufidx); void t3_overlay_ddpbuf(struct toepcb *, unsigned int bufidx, unsigned int tag0, ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#3 (text+ko) ==== @@ -99,7 +99,7 @@ } static inline struct mbuf * -peek_wr(struct toepcb *toep) +peek_wr(const struct toepcb *toep) { return (mbufq_peek(&toep->wr_list)); @@ -112,5 +112,10 @@ return (mbufq_dequeue(&toep->wr_list)); } +#define wr_queue_walk(toep, m) \ + for (m = peek_wr(toep); m; m = m->m_nextpkt) + + + #endif ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#2 (text+ko) ==== @@ -4,7 +4,7 @@ KMOD= tom SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c -#SRCS+= cxgb_tcp_subr.c cxgb_tcp_usrreq.c +SRCS+= cxgb_ddp.c cxgb_vm.c >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jan 25 07:13:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6FC216A41B; Fri, 25 Jan 2008 07:13: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 6499C16A41A for ; Fri, 25 Jan 2008 07:13:32 +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 3E2BF13C4E5 for ; Fri, 25 Jan 2008 07:13:32 +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 m0P7DWIV085913 for ; Fri, 25 Jan 2008 07:13:32 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P7DVLt085910 for perforce@freebsd.org; Fri, 25 Jan 2008 07:13:31 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 25 Jan 2008 07:13:31 GMT Message-Id: <200801250713.m0P7DVLt085910@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 134066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 07:13:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=134066 Change 134066 by kmacy@kmacy:storage:toehead on 2008/01/25 07:12:34 add files with vm and ddp Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#1 add .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_vm.c#1 add .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_vm.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jan 25 08:52:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EFC816A46B; Fri, 25 Jan 2008 08:52: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 54C6D16A420 for ; Fri, 25 Jan 2008 08:52:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A6CA13C478 for ; Fri, 25 Jan 2008 08:52:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P8qEdx000653 for ; Fri, 25 Jan 2008 08:52:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P8qE8R000650 for perforce@freebsd.org; Fri, 25 Jan 2008 08:52:14 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 08:52:14 GMT Message-Id: <200801250852.m0P8qE8R000650@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 134067 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 08:52:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=134067 Change 134067 by jb@jb_freebsd1 on 2008/01/25 08:51:35 Enable the sigwait test. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#20 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#20 (text+ko) ==== @@ -101,8 +101,8 @@ ${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ - ${TESTSRCDIR}/tst/common/proc/tst.sigwait.c \ - ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ + X${TESTSRCDIR}/tst/common/proc/tst.sigwait.c \ + X${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \ ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.c \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ @@ -375,7 +375,7 @@ .for _f in ${ALL_TESTCFILES} ${_f:T:S/c$/exe/} : ${_f} - gcc -o ${.TARGET} ${_f} + gcc -o ${.TARGET} ${_f} -lrt .endfor listcfiles : From owner-p4-projects@FreeBSD.ORG Fri Jan 25 08:53:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8504F16A468; Fri, 25 Jan 2008 08:53: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 4A2A816A418 for ; Fri, 25 Jan 2008 08:53:16 +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 3FDD913C46E for ; Fri, 25 Jan 2008 08:53:16 +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 m0P8rG8M000694 for ; Fri, 25 Jan 2008 08:53:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P8rGDZ000691 for perforce@freebsd.org; Fri, 25 Jan 2008 08:53:16 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 08:53:16 GMT Message-Id: <200801250853.m0P8rGDZ000691@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 134068 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 08:53:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=134068 Change 134068 by jb@jb_freebsd1 on 2008/01/25 08:52:41 Add some signal probes which are expected by the DTrace test suite. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#20 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_sig.c#20 (text+ko) ==== @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.355 2008/01/13 14:44:09 attilio Exp $"); #include "opt_compat.h" +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include @@ -60,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +82,19 @@ #include +SDT_PROVIDER_DECLARE(proc); +SDT_PROBE_DEFINE(proc, kernel, , signal_send); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_send, 0, "struct thread *"); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_send, 1, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_send, 2, "int"); +SDT_PROBE_DEFINE(proc, kernel, , signal_clear); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_clear, 0, "int"); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_clear, 1, "ksiginfo_t *"); +SDT_PROBE_DEFINE(proc, kernel, , signal_discard); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 0, "struct thread *"); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 1, "struct proc *"); +SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 2, "int"); + #define ONSIG 32 /* NSIG for osig* syscalls. XXX. */ static int coredump(struct thread *); @@ -1275,6 +1290,9 @@ ksiginfo_init(ksi); sigqueue_get(&td->td_sigqueue, sig, ksi); ksi->ksi_signo = sig; + + SDT_PROBE(proc, kernel, , signal_clear, sig, ksi, 0, 0, 0); + if (ksi->ksi_code == SI_TIMER) itimer_accept(p, ksi->ksi_timerid, ksi); error = 0; @@ -2023,6 +2041,7 @@ int tdsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) { + SDT_PROBE(proc, kernel, , signal_send, td, p, sig, 0, 0 ); #ifdef KSE sigset_t saved; int ret; @@ -2104,6 +2123,7 @@ */ mtx_lock(&ps->ps_mtx); if (SIGISMEMBER(ps->ps_sigignore, sig)) { + SDT_PROBE(proc, kernel, , signal_discard, ps, td, sig, 0, 0 ); mtx_unlock(&ps->ps_mtx); if (ksi && (ksi->ksi_flags & KSI_INS)) ksiginfo_tryfree(ksi); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 08:54:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B32A516A420; Fri, 25 Jan 2008 08:54:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76AA516A417 for ; Fri, 25 Jan 2008 08:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C69813C457 for ; Fri, 25 Jan 2008 08:54:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P8sH69000745 for ; Fri, 25 Jan 2008 08:54:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P8sHF4000741 for perforce@freebsd.org; Fri, 25 Jan 2008 08:54:17 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 08:54:17 GMT Message-Id: <200801250854.m0P8sHF4000741@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 134069 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 08:54:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=134069 Change 134069 by jb@jb_freebsd1 on 2008/01/25 08:53:19 Port this to FreeBSD. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#4 (text+ko) ==== @@ -33,6 +33,8 @@ #include #include +#define NANOSEC 1000000000 + int main(int argc, char **argv) { @@ -41,6 +43,7 @@ sigset_t set; timer_t tid; char *cmd = argv[0]; + int sig; ev.sigev_notify = SIGEV_SIGNAL; ev.sigev_signo = SIGUSR1; @@ -66,9 +69,9 @@ exit(EXIT_FAILURE); } - for (;;) { - (void) sigwait(&set); - } + do { + (void) sigwait(&set, &sig); + } while(sig != SIGUSR1); /*NOTREACHED*/ return (0); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 08:56:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97CBD16A475; Fri, 25 Jan 2008 08:56: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 4425916A41A for ; Fri, 25 Jan 2008 08:56:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2E47213C46B for ; Fri, 25 Jan 2008 08:56:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0P8uKov000867 for ; Fri, 25 Jan 2008 08:56:20 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0P8uJP0000864 for perforce@freebsd.org; Fri, 25 Jan 2008 08:56:19 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 08:56:19 GMT Message-Id: <200801250856.m0P8uJP0000864@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 134070 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 08:56:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=134070 Change 134070 by jb@jb_freebsd1 on 2008/01/25 08:55:19 Solaris must send signals from pid 0. Make this work on FreeBSD. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d#3 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d#3 (text+ko) ==== @@ -28,13 +28,13 @@ #pragma D option destructive -proc:::signal-send -/pid == 0 && args[1]->pr_pid == $1 && args[2] == SIGUSR1/ +proc:::signal_send +/args[1]->p_pid == $1 && args[2] == SIGUSR1/ { sent = 1; } -proc:::signal-clear +proc:::signal_clear /pid == $1 && args[0] == SIGUSR1 && sent/ { exit(0); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 09:56:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2298E16A420; Fri, 25 Jan 2008 09:56: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 C2B4816A41A; Fri, 25 Jan 2008 09:56:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id A466813C478; Fri, 25 Jan 2008 09:56:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 062F147233; Fri, 25 Jan 2008 04:56:10 -0500 (EST) Date: Fri, 25 Jan 2008 09:56:10 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Birrell In-Reply-To: <200801250546.m0P5kwh9077161@repoman.freebsd.org> Message-ID: <20080125095428.R8319@fledge.watson.org> References: <200801250546.m0P5kwh9077161@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Perforce Change Reviews Subject: Re: PERFORCE change 134061 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 09:56:11 -0000 On Fri, 25 Jan 2008, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=134061 > > Change 134061 by jb@jb_freebsd1 on 2008/01/25 05:46:34 > > On Solaris, it seems to be pronounced "exit", but it's spelt "rexit". > On FreeBSD edit is just exit. Historically, odd spellings of this sort (in the FreeBSD kernel "exit" is "sys_exit") have been because exit(3) is not the same as sys_exit(2), as it runs at_exit handlers, etc. Since it's the syscall handler in DTrace, presumably that potential ambiguity doesn't actually play out, but it's worth keeping a wary eye out for... Robert N M Watson Computer Laboratory University of Cambridge From owner-p4-projects@FreeBSD.ORG Fri Jan 25 12:45:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB02F16A41A; Fri, 25 Jan 2008 12:45: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 5ACE816A418 for ; Fri, 25 Jan 2008 12:45:21 +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 5238C13C442 for ; Fri, 25 Jan 2008 12:45:21 +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 m0PCjKTF022764 for ; Fri, 25 Jan 2008 12:45:20 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 m0PCjJb1022761 for perforce@freebsd.org; Fri, 25 Jan 2008 12:45:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 12:45:19 GMT Message-Id: <200801251245.m0PCjJb1022761@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 134075 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 12:45:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=134075 Change 134075 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 12:44:34 Add a pre-owned sy_flags field to struct sysent, and define one flag, SYF_CAPENABLED, to indicate that a system call is permitted in capabilities mode. Enforce at the system call boundary on i386 (needs to go into other trap files also). Add a new configuration file, capabilities.conf, which provides a list of system call names to permit in capabilities mode, and is read in by makesyscalls.sh before processing syscalls.master, if present. This is non-ideal but avoids modifying syscalls.master, which is known to produce nasty conflicts and other maintenance pain. My awk and sh scripting is, charitably put, weak, so this is poorly implemented. Regenerate generated files with new flags field. Add a capabilities.conf that enables a range of system calls in capabilities mode, such as close, sys_exit (very important), sysctl, and some file descriptor-related calls such as read, write, etc. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/trap.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#1 add .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/makesyscalls.sh#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#6 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#6 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysent.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/trap.c#2 (text+ko) ==== @@ -44,6 +44,7 @@ * 386 Trap and System call handling */ +#include "opt_capabilities.h" #include "opt_clock.h" #include "opt_cpu.h" #include "opt_hwpmc_hooks.h" @@ -69,6 +70,7 @@ #include #include #include +#include #include #include #ifdef KTRACE @@ -1022,6 +1024,20 @@ td->td_syscalls++; +#ifdef CAPABILITIES + /* + * In capabilities mode, we only allow access to system calls flagged + * SYF_CAPENABLED. + * + * XXXRW: Perhaps ENOTCAPABLE? + */ + if (error == 0) { + if (!(callp->sy_flags & SYF_CAPENABLED) && + (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE)) + error = EPERM; + } +#endif + if (error == 0) { td->td_retval[0] = 0; td->td_retval[1] = frame->tf_edx; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#6 (text+ko) ==== @@ -29,492 +29,492 @@ /* 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(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0 }, /* 484 = cap_new */ - { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0 }, /* 485 = cap_getrights */ - { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0 }, /* 486 = cap_enter */ - { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_NULL, NULL, 0, 0 }, /* 487 = cap_getmode */ + { 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, 0 }, /* 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, 0 }, /* 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, SYF_CAPENABLED }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 23 = setuid */ + { 0, (sy_call_t *)getuid, AUE_GETUID, NULL, 0, 0, 0 }, /* 24 = getuid */ + { 0, (sy_call_t *)geteuid, AUE_GETEUID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 41 = dup */ + { 0, (sy_call_t *)pipe, AUE_PIPE, NULL, 0, 0, 0 }, /* 42 = pipe */ + { 0, (sy_call_t *)getegid, AUE_GETEGID, NULL, 0, 0, 0 }, /* 43 = getegid */ + { AS(profil_args), (sy_call_t *)profil, AUE_PROFILE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 46 = old sigaction */ + { 0, (sy_call_t *)getgid, AUE_GETGID, NULL, 0, 0, 0 }, /* 47 = getgid */ + { compat(AS(osigprocmask_args),sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 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, 0 }, /* 52 = old sigpending */ + { AS(sigaltstack_args), (sy_call_t *)sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 64 = old getpagesize */ + { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0, 0 }, /* 65 = msync */ + { 0, (sy_call_t *)vfork, AUE_VFORK, NULL, 0, 0, 0 }, /* 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, 0 }, /* 69 = sbrk */ + { AS(sstk_args), (sy_call_t *)sstk, AUE_SSTK, NULL, 0, 0, 0 }, /* 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, 0 }, /* 73 = munmap */ + { AS(mprotect_args), (sy_call_t *)mprotect, AUE_MPROTECT, NULL, 0, 0, 0 }, /* 74 = mprotect */ + { AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 78 = mincore */ + { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 83 = setitimer */ + { compat(0,wait), AUE_WAIT4, NULL, 0, 0, 0 }, /* 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, 0 }, /* 86 = getitimer */ + { compat(AS(gethostname_args),gethostname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 108 = old sigvec */ + { compat(AS(osigblock_args),sigblock), AUE_NULL, NULL, 0, 0, 0 }, /* 109 = old sigblock */ + { compat(AS(osigsetmask_args),sigsetmask), AUE_NULL, NULL, 0, 0, 0 }, /* 110 = old sigsetmask */ + { compat(AS(osigsuspend_args),sigsuspend), AUE_NULL, NULL, 0, 0, 0 }, /* 111 = old sigsuspend */ + { compat(AS(osigstack_args),sigstack), AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 116 = gettimeofday */ + { AS(getrusage_args), (sy_call_t *)getrusage, AUE_GETRUSAGE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 126 = setreuid */ + { AS(setregid_args), (sy_call_t *)setregid, AUE_SETREGID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 144 = old getrlimit */ + { compat(AS(osetrlimit_args),setrlimit), AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 173 = freebsd6_pread */ + { AS(freebsd6_pwrite_args), (sy_call_t *)freebsd6_pwrite, AUE_PWRITE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 181 = setgid */ + { AS(setegid_args), (sy_call_t *)setegid, AUE_SETEGID, NULL, 0, 0, 0 }, /* 182 = setegid */ + { AS(seteuid_args), (sy_call_t *)seteuid, AUE_SETEUID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 194 = getrlimit */ + { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 201 = freebsd6_ftruncate */ + { AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 202 = __sysctl */ + { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0, 0 }, /* 203 = mlock */ + { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 234 = clock_getres */ + { AS(ktimer_create_args), (sy_call_t *)ktimer_create, AUE_NULL, NULL, 0, 0, 0 }, /* 235 = ktimer_create */ + { AS(ktimer_delete_args), (sy_call_t *)ktimer_delete, AUE_NULL, NULL, 0, 0, 0 }, /* 236 = ktimer_delete */ + { AS(ktimer_settime_args), (sy_call_t *)ktimer_settime, AUE_NULL, NULL, 0, 0, 0 }, /* 237 = ktimer_settime */ + { AS(ktimer_gettime_args), (sy_call_t *)ktimer_gettime, AUE_NULL, NULL, 0, 0, 0 }, /* 238 = ktimer_gettime */ + { AS(ktimer_getoverrun_args), (sy_call_t *)ktimer_getoverrun, AUE_NULL, NULL, 0, 0, 0 }, /* 239 = ktimer_getoverrun */ + { AS(nanosleep_args), (sy_call_t *)nanosleep, AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 250 = minherit */ + { AS(rfork_args), (sy_call_t *)rfork, AUE_RFORK, NULL, 0, 0, 0 }, /* 251 = rfork */ + { AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0, 0 }, /* 252 = openbsd_poll */ + { 0, (sy_call_t *)issetugid, AUE_ISSETUGID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 310 = getsid */ + { AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0, 0 }, /* 311 = setresuid */ + { AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 324 = mlockall */ + { 0, (sy_call_t *)munlockall, AUE_MUNLOCKALL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 327 = sched_setparam */ + { AS(sched_getparam_args), (sy_call_t *)sched_getparam, AUE_NULL, NULL, 0, 0, 0 }, /* 328 = sched_getparam */ + { AS(sched_setscheduler_args), (sy_call_t *)sched_setscheduler, AUE_NULL, NULL, 0, 0, 0 }, /* 329 = sched_setscheduler */ + { AS(sched_getscheduler_args), (sy_call_t *)sched_getscheduler, AUE_NULL, NULL, 0, 0, 0 }, /* 330 = sched_getscheduler */ + { 0, (sy_call_t *)sched_yield, AUE_NULL, NULL, 0, 0, 0 }, /* 331 = sched_yield */ + { AS(sched_get_priority_max_args), (sy_call_t *)sched_get_priority_max, AUE_NULL, NULL, 0, 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, 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, 0 }, /* 335 = utrace */ + { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 340 = sigprocmask */ + { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */ + { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old sigaction */ + { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */ + { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old sigreturn */ + { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = sigtimedwait */ + { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 349 = __acl_get_fd */ + { AS(__acl_set_fd_args), (sy_call_t *)__acl_set_fd, AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 360 = getresuid */ + { AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0, 0 }, /* 361 = getresgid */ + { 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 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, 0 }, /* 379 = kse_exit */ + { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup, AUE_NULL, NULL, 0, 0, 0 }, /* 380 = kse_wakeup */ + { AS(kse_create_args), (sy_call_t *)kse_create, AUE_NULL, NULL, 0, 0, 0 }, /* 381 = kse_create */ + { AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt, AUE_NULL, NULL, 0, 0, 0 }, /* 382 = kse_thr_interrupt */ + { AS(kse_release_args), (sy_call_t *)kse_release, AUE_NULL, NULL, 0, 0, 0 }, /* 383 = kse_release */ + { AS(__mac_get_proc_args), (sy_call_t *)__mac_get_proc, AUE_NULL, NULL, 0, 0, 0 }, /* 384 = __mac_get_proc */ + { AS(__mac_set_proc_args), (sy_call_t *)__mac_set_proc, AUE_NULL, NULL, 0, 0, 0 }, /* 385 = __mac_set_proc */ + { AS(__mac_get_fd_args), (sy_call_t *)__mac_get_fd, AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 392 = uuidgen */ + { AS(sendfile_args), (sy_call_t *)sendfile, AUE_SENDFILE, NULL, 0, 0, 0 }, /* 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, 0 }, /* 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, 0 }, /* 416 = sigaction */ + { AS(sigreturn_args), (sy_call_t *)sigreturn, AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 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, 0 }, /* 421 = getcontext */ + { AS(setcontext_args), (sy_call_t *)setcontext, AUE_NULL, NULL, 0, 0, 0 }, /* 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 */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jan 25 13:12:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C5CB16A4C1; Fri, 25 Jan 2008 13:12: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 0FB4E16A41A for ; Fri, 25 Jan 2008 13:12:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 08B5E13C458 for ; Fri, 25 Jan 2008 13:12:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PDCmtl033874 for ; Fri, 25 Jan 2008 13:12:48 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PDCmiH033871 for perforce@freebsd.org; Fri, 25 Jan 2008 13:12:48 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 13:12:48 GMT Message-Id: <200801251312.m0PDCmiH033871@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134076 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 13:12:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=134076 Change 134076 by jhb@jhb_zion on 2008/01/25 13:11:57 IFC @134073 Affected files ... .. //depot/projects/smpng/sys/Makefile#19 integrate .. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/smpng/sys/compat/opensolaris/sys/kmem.h#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#45 integrate .. //depot/projects/smpng/sys/dev/amr/amrreg.h#9 integrate .. //depot/projects/smpng/sys/dev/amr/amrvar.h#26 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#20 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#9 integrate .. //depot/projects/smpng/sys/dev/syscons/syscons.c#61 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#30 integrate .. //depot/projects/smpng/sys/dev/usb/if_udav.c#20 integrate .. //depot/projects/smpng/sys/dev/usb/uftdi.c#21 integrate .. //depot/projects/smpng/sys/dev/usb/uftdireg.h#3 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_vfsops.c#5 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_subr.h#5 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vfsops.c#36 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#30 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_subr.c#26 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vnops.c#33 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#21 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#28 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vfsops.c#37 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#32 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vfsops.c#14 integrate .. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_inode.c#5 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#66 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#80 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#33 integrate .. //depot/projects/smpng/sys/kern/vfs_aio.c#80 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#52 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#76 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#145 integrate .. //depot/projects/smpng/sys/netgraph/ng_ppp.c#25 integrate .. //depot/projects/smpng/sys/netinet/in.c#40 integrate .. //depot/projects/smpng/sys/netinet/ip_options.c#5 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#66 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#42 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#50 integrate .. //depot/projects/smpng/sys/netinet6/ip6_var.h#21 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#47 integrate .. //depot/projects/smpng/sys/netinet6/udp6_usrreq.c#46 integrate .. //depot/projects/smpng/sys/netncp/ncp_conn.c#16 integrate .. //depot/projects/smpng/sys/netsmb/smb_conn.c#18 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_idmap.c#6 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#28 integrate .. //depot/projects/smpng/sys/sys/buf.h#48 integrate .. //depot/projects/smpng/sys/sys/event.h#23 integrate .. //depot/projects/smpng/sys/sys/lockmgr.h#23 integrate .. //depot/projects/smpng/sys/sys/param.h#121 integrate .. //depot/projects/smpng/sys/sys/priv.h#9 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#65 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#97 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#56 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_extattr.c#42 integrate Differences ... ==== //depot/projects/smpng/sys/Makefile#19 (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/smpng/sys/compat/opensolaris/kern/opensolaris_kmem.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kmem.c,v 1.2 2007/04/10 02:35:56 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kmem.c,v 1.3 2008/01/24 11:21:54 pjd Exp $"); #include #include @@ -108,18 +108,18 @@ free(buf, M_SOLARIS); } -u_long +uint64_t kmem_size(void) { - return ((u_long)vm_kmem_size); + return ((uint64_t)vm_kmem_size); } -u_long +uint64_t kmem_used(void) { - return ((u_long)kmem_map->size); + return ((uint64_t)kmem_map->size); } static int ==== //depot/projects/smpng/sys/compat/opensolaris/sys/kmem.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/compat/opensolaris/sys/kmem.h,v 1.3 2007/11/28 21:48:25 jb Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/kmem.h,v 1.4 2008/01/24 11:21:54 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_KMEM_H_ @@ -56,8 +56,8 @@ void *zfs_kmem_alloc(size_t size, int kmflags); void zfs_kmem_free(void *buf, size_t size); -u_long kmem_size(void); -u_long kmem_used(void); +uint64_t kmem_size(void); +uint64_t kmem_used(void); kmem_cache_t *kmem_cache_create(char *name, size_t bufsize, size_t align, int (*constructor)(void *, void *, int), void (*destructor)(void *, void *), void (*reclaim)(void *) __unused, void *private, vmem_t *vmp, int cflags); ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 (text+ko) ==== @@ -1439,7 +1439,7 @@ return (1); #endif #else - if (kmem_used() > (kmem_size() * 4) / 5) + if (kmem_used() > (kmem_size() * 3) / 4) return (1); #endif @@ -2729,7 +2729,7 @@ arc_c_max = (arc_c * 8) - (1<<30); else arc_c_max = arc_c_min; - arc_c_max = MAX(arc_c * 6, arc_c_max); + arc_c_max = MAX(arc_c * 5, arc_c_max); #ifdef _KERNEL /* * Allow the tunables to override our calculations if they are @@ -2800,11 +2800,12 @@ arc_dead = FALSE; #ifdef _KERNEL - /* Warn about ZFS memory requirements. */ + /* Warn about ZFS memory and address space requirements. */ if (((uint64_t)physmem * PAGESIZE) < (256 + 128 + 64) * (1 << 20)) { printf("ZFS WARNING: Recommended minimum RAM size is 512MB; " "expect unstable behavior.\n"); - } else if (kmem_size() < 512 * (1 << 20)) { + } + if (kmem_size() < 512 * (1 << 20)) { printf("ZFS WARNING: Recommended minimum kmem_size is 512MB; " "expect unstable behavior.\n"); printf(" Consider tuning vm.kmem_size and " ==== //depot/projects/smpng/sys/dev/amr/amr.c#45 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.84 2007/12/12 05:55:03 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.85 2008/01/24 07:26:53 scottl Exp $"); /* * Driver for the AMI MegaRaid family of controllers. @@ -139,10 +139,11 @@ static int amr_mapcmd(struct amr_command *ac); static void amr_unmapcmd(struct amr_command *ac); static int amr_start(struct amr_command *ac); -static void amr_complete(void *context, int pending); +static void amr_complete(void *context, ac_qhead_t *head); static void amr_setup_sg(void *arg, bus_dma_segment_t *segs, int nsegments, int error); static void amr_setup_data(void *arg, bus_dma_segment_t *segs, int nsegments, int error); static void amr_setup_ccb(void *arg, bus_dma_segment_t *segs, int nsegments, int error); +static void amr_abort_load(struct amr_command *ac); /* * Status monitoring @@ -207,10 +208,9 @@ /* * Initialise per-controller queues. */ - TAILQ_INIT(&sc->amr_completed); - TAILQ_INIT(&sc->amr_freecmds); + amr_init_qhead(&sc->amr_freecmds); + amr_init_qhead(&sc->amr_ready); TAILQ_INIT(&sc->amr_cmd_clusters); - TAILQ_INIT(&sc->amr_ready); bioq_init(&sc->amr_bioq); debug(2, "queue init done"); @@ -236,6 +236,11 @@ #endif /* + * Allocate initial commands. + */ + amr_alloccmd_cluster(sc); + + /* * Quiz controller for features and limits. */ if (amr_query_controller(sc)) @@ -244,6 +249,12 @@ debug(2, "controller query complete"); /* + * preallocate the remaining commands. + */ + while (sc->amr_nextslot < sc->amr_maxio) + amr_alloccmd_cluster(sc); + + /* * Setup sysctls. */ amr_init_sysctl(sc); @@ -357,6 +368,18 @@ SYSCTL_CHILDREN(device_get_sysctl_tree(sc->amr_dev)), OID_AUTO, "allow_volume_configure", CTLFLAG_RW, &sc->amr_allow_vol_config, 0, ""); + SYSCTL_ADD_INT(device_get_sysctl_ctx(sc->amr_dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(sc->amr_dev)), + OID_AUTO, "nextslot", CTLFLAG_RD, &sc->amr_nextslot, 0, + ""); + SYSCTL_ADD_INT(device_get_sysctl_ctx(sc->amr_dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(sc->amr_dev)), + OID_AUTO, "busyslots", CTLFLAG_RD, &sc->amr_busyslots, 0, + ""); + SYSCTL_ADD_INT(device_get_sysctl_ctx(sc->amr_dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(sc->amr_dev)), + OID_AUTO, "maxio", CTLFLAG_RD, &sc->amr_maxio, 0, + ""); } @@ -646,8 +669,18 @@ error = ENOIOCTL; break; } else { - if (len) - dp = malloc(len, M_AMR, M_WAITOK | M_ZERO); + /* + * Bug-for-bug compatibility with Linux! + * Some apps will send commands with inlen and outlen set to 0, + * even though they expect data to be transfered to them from the + * card. Linux accidentally allows this by allocating a 4KB + * buffer for the transfer anyways, but it then throws it away + * without copying it back to the app. + */ + if (!len) + len = 4096; + + dp = malloc(len, M_AMR, M_WAITOK | M_ZERO); if (ali.inlen) { error = copyin((void *)(uintptr_t)mb->mb_physaddr, dp, len); @@ -793,8 +826,7 @@ if (sc == NULL) return (ENOENT); - return (amr_linux_ioctl_int(sc->amr_dev_t, cmd, - addr, 0, td)); + return (amr_linux_ioctl_int(sc->amr_dev_t, cmd, addr, 0, td)); } default: debug(1, "unknown ioctl 0x%lx", cmd); @@ -956,13 +988,6 @@ int ldrv; int status; - /* - * If we haven't found the real limit yet, let us have a couple of commands in - * order to be able to probe. - */ - if (sc->amr_maxio == 0) - sc->amr_maxio = 2; - /* * Greater than 10 byte cdb support */ @@ -1278,7 +1303,7 @@ int driveno; int cmd; - *acp = NULL; + ac = NULL; error = 0; /* get a command */ @@ -1340,6 +1365,7 @@ /* we fill in the s/g related data when the command is mapped */ + *acp = ac; return(error); } @@ -1411,6 +1437,12 @@ struct amr_softc *sc = ac->ac_sc; int mb_channel; + if (err) { + device_printf(sc->amr_dev, "error %d in %s", err, __FUNCTION__); + ac->ac_status = AMR_STATUS_ABORTED; + return; + } + amr_setup_sg(arg, segs, nsegs, err); /* for AMR_CMD_CONFIG Read/Write the s/g count goes elsewhere */ @@ -1565,9 +1597,6 @@ debug_called(3); - if (error) - printf("amr_setup_sg: error %d\n", error); - /* get base address of s/g table */ sg = ac->ac_sg.sg32; sg64 = ac->ac_sg.sg64; @@ -1610,6 +1639,12 @@ struct amr_softc *sc = ac->ac_sc; int mb_channel; + if (err) { + device_printf(sc->amr_dev, "error %d in %s", err, __FUNCTION__); + amr_abort_load(ac); + return; + } + amr_setup_sg(arg, segs, nsegs, err); /* for AMR_CMD_CONFIG Read/Write the s/g count goes elsewhere */ @@ -1640,6 +1675,12 @@ struct amr_passthrough *ap = &ac->ac_ccb->ccb_pthru; struct amr_ext_passthrough *aep = &ac->ac_ccb->ccb_epthru; + if (err) { + device_printf(sc->amr_dev, "error %d in %s", err, __FUNCTION__); + amr_abort_load(ac); + return; + } + /* Set up the mailbox portion of the command to point at the ccb */ ac->ac_mailbox.mb_nsgelem = 0; ac->ac_mailbox.mb_physaddr = ac->ac_ccb_busaddr; @@ -1729,6 +1770,23 @@ } } +static void +amr_abort_load(struct amr_command *ac) +{ + ac_qhead_t head; + struct amr_softc *sc = ac->ac_sc; + + mtx_assert(&sc->amr_list_lock, MA_OWNED); + + ac->ac_status = AMR_STATUS_ABORTED; + amr_init_qhead(&head); + amr_enqueue_completed(ac, &head); + + mtx_unlock(&sc->amr_list_lock); + amr_complete(sc, &head); + mtx_lock(&sc->amr_list_lock); +} + /******************************************************************************** * Take a command and give it to the controller, returns 0 if successful, or * EBUSY if the command should be retried later. @@ -1774,6 +1832,7 @@ int amr_done(struct amr_softc *sc) { + ac_qhead_t head; struct amr_command *ac; struct amr_mailbox mbox; int i, idx, result; @@ -1782,6 +1841,7 @@ /* See if there's anything for us to do */ result = 0; + amr_init_qhead(&head); /* loop collecting completed commands */ for (;;) { @@ -1803,7 +1863,7 @@ /* save status for later use */ ac->ac_status = mbox.mb_status; - amr_enqueue_completed(ac); + amr_enqueue_completed(ac, &head); debug(3, "completed command with status %x", mbox.mb_status); } else { device_printf(sc->amr_dev, "bad slot %d completed\n", idx); @@ -1814,7 +1874,7 @@ } /* handle completion and timeouts */ - amr_complete(sc, 0); + amr_complete(sc, &head); return(result); } @@ -1824,7 +1884,7 @@ */ static void -amr_complete(void *context, int pending) +amr_complete(void *context, ac_qhead_t *head) { struct amr_softc *sc = (struct amr_softc *)context; struct amr_command *ac; @@ -1833,7 +1893,7 @@ /* pull completed commands off the queue */ for (;;) { - ac = amr_dequeue_completed(sc); + ac = amr_dequeue_completed(sc, head); if (ac == NULL) break; @@ -1894,10 +1954,6 @@ ac = amr_dequeue_free(sc); if (ac == NULL) { - amr_alloccmd_cluster(sc); - ac = amr_dequeue_free(sc); - } - if (ac == NULL) { sc->amr_state |= AMR_STATE_QUEUE_FRZN; return(NULL); } @@ -1909,6 +1965,7 @@ ac->ac_bio = NULL; ac->ac_data = NULL; ac->ac_complete = NULL; + ac->ac_retries = 0; ac->ac_tag = NULL; ac->ac_datamap = NULL; return(ac); @@ -1935,12 +1992,21 @@ struct amr_command *ac; int i, nextslot; + /* + * If we haven't found the real limit yet, let us have a couple of + * commands in order to be able to probe. + */ + if (sc->amr_maxio == 0) + sc->amr_maxio = 2; + if (sc->amr_nextslot > sc->amr_maxio) return; acc = malloc(AMR_CMD_CLUSTERSIZE, M_AMR, M_NOWAIT | M_ZERO); if (acc != NULL) { nextslot = sc->amr_nextslot; + mtx_lock(&sc->amr_list_lock); TAILQ_INSERT_TAIL(&sc->amr_cmd_clusters, acc, acc_link); + mtx_unlock(&sc->amr_list_lock); for (i = 0; i < AMR_CMD_CLUSTERCOUNT; i++) { ac = &acc->acc_command[i]; ac->ac_sc = sc; @@ -1989,6 +2055,8 @@ int i; for (i = 0; i < AMR_CMD_CLUSTERCOUNT; i++) { + if (acc->acc_command[i].ac_sc == NULL) + break; bus_dmamap_destroy(sc->amr_buffer_dmat, acc->acc_command[i].ac_dmamap); if (AMR_IS_SG64(sc)) bus_dmamap_destroy(sc->amr_buffer64_dmat, acc->acc_command[i].ac_dma64map); @@ -2009,6 +2077,8 @@ amr_quartz_submit_command(struct amr_command *ac) { struct amr_softc *sc = ac->ac_sc; + static struct timeval lastfail; + static int curfail; int i = 0; mtx_lock(&sc->amr_hw_lock); @@ -2016,6 +2086,12 @@ DELAY(1); if (sc->amr_mailbox->mb_busy) { mtx_unlock(&sc->amr_hw_lock); + if (ac->ac_retries++ > 1000) { + if (ppsratecheck(&lastfail, &curfail, 1)) + device_printf(sc->amr_dev, "Too many retries on command %p. " + "Controller is likely dead\n", ac); + ac->ac_retries = 0; + } return (EBUSY); } @@ -2040,10 +2116,18 @@ amr_std_submit_command(struct amr_command *ac) { struct amr_softc *sc = ac->ac_sc; + static struct timeval lastfail; + static int curfail; mtx_lock(&sc->amr_hw_lock); if (AMR_SGET_MBSTAT(sc) & AMR_SMBOX_BUSYFLAG) { mtx_unlock(&sc->amr_hw_lock); + if (ac->ac_retries++ > 1000) { + if (ppsratecheck(&lastfail, &curfail, 1)) + device_printf(sc->amr_dev, "Too many retries on command %p. " + "Controller is likely dead\n", ac); + ac->ac_retries = 0; + } return (EBUSY); } ==== //depot/projects/smpng/sys/dev/amr/amrreg.h#9 (text+ko) ==== @@ -53,7 +53,7 @@ * SUCH DAMAGE. * * - * $FreeBSD: src/sys/dev/amr/amrreg.h,v 1.10 2006/01/13 23:50:21 jkim Exp $ + * $FreeBSD: src/sys/dev/amr/amrreg.h,v 1.11 2008/01/24 07:26:53 scottl Exp $ */ /******************************************************************************** @@ -126,6 +126,7 @@ #define AMR_CONFIG_READ_NVRAM_CONFIG 0x04 #define AMR_CONFIG_WRITE_NVRAM_CONFIG 0x0d +#define AMR_CONFIG_ENQ3_SOLICITED_NOTIFY 0x01 #define AMR_CONFIG_PRODUCT_INFO 0x0e #define AMR_CONFIG_ENQ3 0x0f #define AMR_CONFIG_ENQ3_SOLICITED_NOTIFY 0x01 @@ -141,6 +142,14 @@ #define OP_DEL_LOGDRV 0x1C /* + * Command for random deletion of logical drives + */ +#define FC_DEL_LOGDRV 0xA4 +#define OP_SUP_DEL_LOGDRV 0x2A +#define OP_GET_LDID_MAP 0x18 +#define OP_DEL_LOGDRV 0x1C + +/* * Command results */ #define AMR_STATUS_SUCCESS 0x00 ==== //depot/projects/smpng/sys/dev/amr/amrvar.h#26 (text+ko) ==== @@ -53,7 +53,7 @@ * SUCH DAMAGE. * * - * $FreeBSD: src/sys/dev/amr/amrvar.h,v 1.34 2007/12/12 05:55:03 scottl Exp $ + * $FreeBSD: src/sys/dev/amr/amrvar.h,v 1.35 2008/01/24 07:26:53 scottl Exp $ */ #include @@ -100,6 +100,9 @@ #define AMR_CMD_CLUSTERSIZE (16 * 1024) +typedef STAILQ_HEAD(, amr_command) ac_qhead_t; +typedef STAILQ_ENTRY(amr_command) ac_link_t; + union amr_ccb { struct amr_passthrough ccb_pthru; struct amr_ext_passthrough ccb_epthru; @@ -111,7 +114,7 @@ */ struct amr_command { - TAILQ_ENTRY(amr_command) ac_link; + ac_link_t ac_link; struct amr_softc *ac_sc; u_int8_t ac_slot; @@ -134,6 +137,7 @@ #define AMR_CMD_BUSY (1<<7) #define AMR_CMD_SG64 (1<<8) #define AC_IS_SG64(ac) ((ac)->ac_flags & AMR_CMD_SG64) + u_int ac_retries; struct bio *ac_bio; void (* ac_complete)(struct amr_command *ac); @@ -219,11 +223,10 @@ /* per-controller queues */ struct bio_queue_head amr_bioq; /* pending I/O with no commands */ - TAILQ_HEAD(,amr_command) amr_ready; /* commands ready to be submitted */ + ac_qhead_t amr_ready; /* commands ready to be submitted */ struct amr_command *amr_busycmd[AMR_MAXCMD]; int amr_busyslots; - TAILQ_HEAD(,amr_command) amr_completed; - TAILQ_HEAD(,amr_command) amr_freecmds; + ac_qhead_t amr_freecmds; TAILQ_HEAD(,amr_command_cluster) amr_cmd_clusters; /* CAM attachments for passthrough */ @@ -320,17 +323,24 @@ } static __inline void +amr_init_qhead(ac_qhead_t *head) +{ + + STAILQ_INIT(head); +} + +static __inline void amr_enqueue_ready(struct amr_command *ac) { - TAILQ_INSERT_TAIL(&ac->ac_sc->amr_ready, ac, ac_link); + STAILQ_INSERT_TAIL(&ac->ac_sc->amr_ready, ac, ac_link); } static __inline void amr_requeue_ready(struct amr_command *ac) { - TAILQ_INSERT_HEAD(&ac->ac_sc->amr_ready, ac, ac_link); + STAILQ_INSERT_HEAD(&ac->ac_sc->amr_ready, ac, ac_link); } static __inline struct amr_command * @@ -338,25 +348,25 @@ { struct amr_command *ac; - if ((ac = TAILQ_FIRST(&sc->amr_ready)) != NULL) - TAILQ_REMOVE(&sc->amr_ready, ac, ac_link); + if ((ac = STAILQ_FIRST(&sc->amr_ready)) != NULL) + STAILQ_REMOVE_HEAD(&sc->amr_ready, ac_link); return(ac); } static __inline void -amr_enqueue_completed(struct amr_command *ac) +amr_enqueue_completed(struct amr_command *ac, ac_qhead_t *head) { - TAILQ_INSERT_TAIL(&ac->ac_sc->amr_completed, ac, ac_link); + STAILQ_INSERT_TAIL(head, ac, ac_link); } static __inline struct amr_command * -amr_dequeue_completed(struct amr_softc *sc) +amr_dequeue_completed(struct amr_softc *sc, ac_qhead_t *head) { struct amr_command *ac; - if ((ac = TAILQ_FIRST(&sc->amr_completed)) != NULL) - TAILQ_REMOVE(&sc->amr_completed, ac, ac_link); + if ((ac = STAILQ_FIRST(head)) != NULL) + STAILQ_REMOVE_HEAD(head, ac_link); return(ac); } @@ -364,7 +374,7 @@ amr_enqueue_free(struct amr_command *ac) { - TAILQ_INSERT_TAIL(&ac->ac_sc->amr_freecmds, ac, ac_link); + STAILQ_INSERT_HEAD(&ac->ac_sc->amr_freecmds, ac, ac_link); } static __inline struct amr_command * @@ -372,7 +382,7 @@ { struct amr_command *ac; - if ((ac = TAILQ_FIRST(&sc->amr_freecmds)) != NULL) - TAILQ_REMOVE(&sc->amr_freecmds, ac, ac_link); + if ((ac = STAILQ_FIRST(&sc->amr_freecmds)) != NULL) + STAILQ_REMOVE_HEAD(&sc->amr_freecmds, ac_link); return(ac); } ==== //depot/projects/smpng/sys/dev/mxge/if_mxge.c#20 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.43 2008/01/15 20:34:48 gallatin Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.44 2008/01/22 22:04:31 gallatin Exp $"); #include #include @@ -2204,14 +2204,19 @@ goto done; } rx->info[idx].m = m; + rx->shadow[idx].addr_low = + htobe32(MXGE_LOWPART_TO_U32(seg->ds_addr)); + rx->shadow[idx].addr_high = + htobe32(MXGE_HIGHPART_TO_U32(seg->ds_addr)); - for (i = 0; i < cnt; i++) { +#if MXGE_VIRT_JUMBOS + for (i = 1; i < cnt; i++) { rx->shadow[idx + i].addr_low = htobe32(MXGE_LOWPART_TO_U32(seg[i].ds_addr)); rx->shadow[idx + i].addr_high = htobe32(MXGE_HIGHPART_TO_U32(seg[i].ds_addr)); } - +#endif done: for (i = 0; i < rx->nbufs; i++) { @@ -2911,13 +2916,22 @@ err = bus_dma_tag_create(sc->parent_dmat, /* parent */ 1, /* alignment */ +#if MXGE_VIRT_JUMBOS 4096, /* boundary */ +#else + 0, /* boundary */ +#endif BUS_SPACE_MAXADDR, /* low */ BUS_SPACE_MAXADDR, /* high */ NULL, NULL, /* filter */ 3*4096, /* maxsize */ +#if MXGE_VIRT_JUMBOS 3, /* num segs */ - 4096, /* maxsegsize */ + 4096, /* maxsegsize*/ +#else + 1, /* num segs */ + MJUM9BYTES, /* maxsegsize*/ +#endif BUS_DMA_ALLOCNOW, /* flags */ NULL, NULL, /* lock */ &ss->rx_big.dmat); /* tag */ @@ -3086,6 +3100,7 @@ *nbufs = 1; return; } +#if MXGE_VIRT_JUMBOS /* now we need to use virtually contiguous buffers */ *cl_size = MJUM9BYTES; *big_buf_size = 4096; @@ -3093,6 +3108,11 @@ /* needs to be a power of two, so round up */ if (*nbufs == 3) *nbufs = 4; +#else + *cl_size = MJUM9BYTES; + *big_buf_size = MJUM9BYTES; + *nbufs = 1; +#endif } static int ==== //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#9 (text+ko) ==== @@ -25,7 +25,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.17 2008/01/15 20:34:48 gallatin Exp $ +$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.18 2008/01/22 22:04:31 gallatin Exp $ ***************************************************************************/ @@ -39,6 +39,12 @@ #define MXGE_EEPROM_STRINGS_SIZE 256 #define MXGE_MAX_SEND_DESC 128 +#if (__FreeBSD_version < 800005) +#define MXGE_VIRT_JUMBOS 1 +#else +#define MXGE_VIRT_JUMBOS 0 +#endif + typedef struct { void *addr; bus_addr_t bus_addr; ==== //depot/projects/smpng/sys/dev/syscons/syscons.c#61 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.456 2007/12/29 23:26:56 wkoszek Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.457 2008/01/24 15:37:48 kib Exp $"); #include "opt_compat.h" #include "opt_syscons.h" @@ -1071,6 +1071,8 @@ if (error) return error; scp = sc_get_stat(SC_DEV(sc, i)); + if (scp == NULL) + return (ENXIO); if (scp == scp->sc->cur_scp) return 0; error = tsleep(&scp->smode, PZERO | PCATCH, "waitvt", 0); ==== //depot/projects/smpng/sys/dev/usb/ehci.c#30 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.57 2008/01/08 23:48:30 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.58 2008/01/24 12:34:25 attilio Exp $"); #include #include @@ -1560,7 +1560,7 @@ } DPRINTFN(2,("ehci_sync_hc: enter\n")); /* get doorbell */ - lockmgr(&sc->sc_doorbell_lock, LK_EXCLUSIVE, NULL, curthread); + lockmgr(&sc->sc_doorbell_lock, LK_EXCLUSIVE, NULL); s = splhardusb(); /* ask for doorbell */ EOWRITE4(sc, EHCI_USBCMD, EOREAD4(sc, EHCI_USBCMD) | EHCI_CMD_IAAD); @@ -1571,7 +1571,7 @@ EOREAD4(sc, EHCI_USBCMD), EOREAD4(sc, EHCI_USBSTS))); splx(s); /* release doorbell */ - lockmgr(&sc->sc_doorbell_lock, LK_RELEASE, NULL, curthread); + lockmgr(&sc->sc_doorbell_lock, LK_RELEASE, NULL); #ifdef DIAGNOSTIC if (error) printf("ehci_sync_hc: tsleep() = %d\n", error); ==== //depot/projects/smpng/sys/dev/usb/if_udav.c#20 (text+ko) ==== @@ -1,6 +1,6 @@ /* $NetBSD: if_udav.c,v 1.2 2003/09/04 15:17:38 tsutsui Exp $ */ /* $nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $ */ -/* $FreeBSD: src/sys/dev/usb/if_udav.c,v 1.34 2008/01/08 23:48:30 attilio Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_udav.c,v 1.35 2008/01/24 12:34:25 attilio Exp $ */ /*- * Copyright (c) 2003 * Shingo WATANABE . All rights reserved. @@ -45,7 +45,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_udav.c,v 1.34 2008/01/08 23:48:30 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_udav.c,v 1.35 2008/01/24 12:34:25 attilio Exp $"); #include "opt_inet.h" #if defined(__NetBSD__) @@ -1777,11 +1777,7 @@ __func__)); sc->sc_refcnt++; -#if defined(__NetBSD__) lockmgr(&sc->sc_mii_lock, LK_EXCLUSIVE, NULL); -#elif defined(__FreeBSD__) - lockmgr(&sc->sc_mii_lock, LK_EXCLUSIVE, NULL, curthread); -#endif } static void @@ -1790,11 +1786,7 @@ DPRINTFN(0xff, ("%s: %s: enter\n", device_get_nameunit(sc->sc_dev), __func__)); -#if defined(__NetBSD__) lockmgr(&sc->sc_mii_lock, LK_RELEASE, NULL); -#elif defined(__FreeBSD__) - lockmgr(&sc->sc_mii_lock, LK_RELEASE, NULL, curthread); -#endif if (--sc->sc_refcnt < 0) usb_detach_wakeup(sc->sc_dev); } ==== //depot/projects/smpng/sys/dev/usb/uftdi.c#21 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.37 2007/06/22 05:53:05 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.38 2008/01/25 02:41:44 emaste Exp $"); /* * FTDI FT8U100AX serial adapter driver @@ -121,6 +121,7 @@ static void uftdi_write(void *sc, int portno, u_char *to, u_char *from, u_int32_t *count); static void uftdi_break(void *sc, int portno, int onoff); +static int uftdi_8u232am_getrate(speed_t speed, int *rate); struct ucom_callback uftdi_callback = { uftdi_get_status, @@ -569,25 +570,8 @@ break; case UFTDI_TYPE_8U232AM: - switch(t->c_ospeed) { - case 300: rate = ftdi_8u232am_b300; break; - case 600: rate = ftdi_8u232am_b600; break; - case 1200: rate = ftdi_8u232am_b1200; break; - case 2400: rate = ftdi_8u232am_b2400; break; - case 4800: rate = ftdi_8u232am_b4800; break; - case 9600: rate = ftdi_8u232am_b9600; break; - case 19200: rate = ftdi_8u232am_b19200; break; - case 38400: rate = ftdi_8u232am_b38400; break; - case 57600: rate = ftdi_8u232am_b57600; break; - case 115200: rate = ftdi_8u232am_b115200; break; - case 230400: rate = ftdi_8u232am_b230400; break; - case 460800: rate = ftdi_8u232am_b460800; break; - case 921600: rate = ftdi_8u232am_b921600; break; - case 2000000: rate = ftdi_8u232am_b2000000; break; - case 3000000: rate = ftdi_8u232am_b3000000; break; - default: + if (uftdi_8u232am_getrate(t->c_ospeed, &rate) == -1) return (EINVAL); - } break; } req.bmRequestType = UT_WRITE_VENDOR_DEVICE; @@ -702,6 +686,70 @@ (void)usbd_do_request(ucom->sc_udev, &req, NULL); } +static int +uftdi_8u232am_getrate(speed_t speed, int *rate) +{ + /* Table of the nearest even powers-of-2 for values 0..15. */ + static const unsigned char roundoff[16] = { + 0, 2, 2, 4, 4, 4, 8, 8, + 8, 8, 8, 8, 16, 16, 16, 16, + }; + + unsigned int d, freq; + int result; + + if (speed <= 0) + return (-1); + + /* Special cases for 2M and 3M. */ + if (speed >= 3000000 * 100 / 103 && + speed <= 3000000 * 100 / 97) { + result = 0; + goto done; + } + if (speed >= 2000000 * 100 / 103 && + speed <= 2000000 * 100 / 97) { + result = 1; + goto done; + } + + d = (FTDI_8U232AM_FREQ << 4) / speed; + d = (d & ~15) + roundoff[d & 15]; + + if (d < FTDI_8U232AM_MIN_DIV) + d = FTDI_8U232AM_MIN_DIV; + else if (d > FTDI_8U232AM_MAX_DIV) + d = FTDI_8U232AM_MAX_DIV; + + /* + * Calculate the frequency needed for d to exactly divide down + * to our target speed, and check that the actual frequency is + * within 3% of this. + */ + freq = speed * d; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jan 25 13:17:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC43416A418; Fri, 25 Jan 2008 13:17: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 71C8616A46C for ; Fri, 25 Jan 2008 13:17:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6DBF213C4F5 for ; Fri, 25 Jan 2008 13:17:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PDHsaV034899 for ; Fri, 25 Jan 2008 13:17:54 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PDHs7C034896 for perforce@freebsd.org; Fri, 25 Jan 2008 13:17:54 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 13:17:54 GMT Message-Id: <200801251317.m0PDHs7C034896@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134077 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 13:17:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=134077 Change 134077 by jhb@jhb_zion on 2008/01/25 13:17:30 Test for the TDF_INTERRUPT leakage that could result in early wakeups if a sleep timed out before the thread went to sleep. This could also happen prior to yesterday's fix if the timer fired during sleepq_catch_signals(). Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#46 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#46 (text+ko) ==== @@ -138,9 +138,24 @@ printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); bintime2timeval(&finish, &elapsed); - printf("crash: slept for %d.%04ld sec\n", (int)elapsed.tv_sec, - elapsed.tv_usec / 1000); + printf("crash: slept for %d.%04ld sec (should be 2 sec)\n", + (int)elapsed.tv_sec, elapsed.tv_usec / 1000); callout_drain(&c); + + /* + * Test to see if we leaked TDF_INTERRUPT from the timeout + * handler routine. If so, this sleep will terminate + * immediately with EWOULDBLOCK rather than waiting for the + * timeout to fire. + */ + binuptime(&start); + ret = tsleep(&race_wchan, 0, "race", 5 * hz); + binuptime(&finish); + printf("crash: sleepq_timedwait() returned %d\n", rval); + bintime_sub(&finish, &start); + bintime2timeval(&finish, &elapsed); + printf("crash: slept for %d.%04ld sec (should be 5 sec)\n", + (int)elapsed.tv_sec, elapsed.tv_usec / 1000); } CRASH_EVENT("exercise tsleep() race", exercise_tsleep_race); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 13:24:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3C3416A46D; Fri, 25 Jan 2008 13:24: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 5EEFD16A46B for ; Fri, 25 Jan 2008 13:24:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 47F3813C4EB for ; Fri, 25 Jan 2008 13:24:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PDO1CC035174 for ; Fri, 25 Jan 2008 13:24:01 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PDO1oc035171 for perforce@freebsd.org; Fri, 25 Jan 2008 13:24:01 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 13:24:01 GMT Message-Id: <200801251324.m0PDO1oc035171@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134078 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 13:24:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=134078 Change 134078 by jhb@jhb_zion on 2008/01/25 13:23:43 Don't set TDF_INTERRUPT to fake a KSE thread signal when a timeout triggers while the thread is still running. The KSE code controls setting and clearing TDF_INTERRUPT, so what would happen is that TDF_INTERRUPT would not be cleared until KSE finished sending a signal (i.e. never for non-KSE processes) but that while TDF_INTERRUPT is set, any sleeps that catch signals would immediately fail with EWOULDBLOCK. Thus, if a non-KSE process hit the race with a timeout firing then all future *sleep(... PCATCH ...) or cv_*wait_sig()'s would not actually block. Affected files ... .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#34 edit Differences ... ==== //depot/projects/smpng/sys/kern/subr_sleepqueue.c#34 (text+ko) ==== @@ -817,8 +817,7 @@ * sleepq_catch_signals(). */ if (TD_ON_SLEEPQ(td)) { - td->td_flags |= TDF_TIMEOUT | TDF_INTERRUPT; - td->td_intrval = EWOULDBLOCK; + td->td_flags |= TDF_TIMEOUT; thread_unlock(td); return; } From owner-p4-projects@FreeBSD.ORG Fri Jan 25 13:32:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 488AB16A420; Fri, 25 Jan 2008 13:32: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 E941416A41B for ; Fri, 25 Jan 2008 13:32:09 +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 E456C13C47E for ; Fri, 25 Jan 2008 13:32:09 +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 m0PDW9EJ035471 for ; Fri, 25 Jan 2008 13:32:09 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 m0PDW9o1035468 for perforce@freebsd.org; Fri, 25 Jan 2008 13:32:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 13:32:09 GMT Message-Id: <200801251332.m0PDW9o1035468@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 134079 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 13:32:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=134079 Change 134079 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 13:31:59 Return ENOSYS rather than EPERM when a system call isn't available in capability mode. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/trap.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/trap.c#3 (text+ko) ==== @@ -1028,13 +1028,11 @@ /* * In capabilities mode, we only allow access to system calls flagged * SYF_CAPENABLED. - * - * XXXRW: Perhaps ENOTCAPABLE? */ if (error == 0) { if (!(callp->sy_flags & SYF_CAPENABLED) && (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE)) - error = EPERM; + error = ENOSYS; } #endif From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:14:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CCBD16A421; Fri, 25 Jan 2008 14:14: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 AE35316A420 for ; Fri, 25 Jan 2008 14:13:59 +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 AB16213C474 for ; Fri, 25 Jan 2008 14:13:59 +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 m0PEDxeA039067 for ; Fri, 25 Jan 2008 14:13:59 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PEDx8x039064 for perforce@freebsd.org; Fri, 25 Jan 2008 14:13:59 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 14:13:59 GMT Message-Id: <200801251413.m0PEDx8x039064@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 134081 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:14:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=134081 Change 134081 by rrs@rrs-mips2-jnpr on 2008/01/25 14:13:05 Randy prepares for hacking, reverts uart_subr.c to original and pulls back out the oct stuff. Will re-integrate under the proper subdir. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/dev/uart/uart_dev_oct16550.c#2 delete .. //depot/projects/mips2-jnpr/src/sys/dev/uart/uart_subr.c#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/dev/uart/uart_subr.c#3 (text+ko) ==== @@ -54,9 +54,6 @@ &uart_ns8250_class, &uart_sab82532_class, &uart_z8530_class, -#ifdef TARGET_OCTEON /* This is gross but temporary */ - &uart_oct16550_class, -#endif }; static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:16:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6356616A419; Fri, 25 Jan 2008 14:16: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 2829E16A417 for ; Fri, 25 Jan 2008 14:16:02 +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 239FA13C442 for ; Fri, 25 Jan 2008 14:16:02 +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 m0PEG1ID039387 for ; Fri, 25 Jan 2008 14:16:01 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PEG1Vg039384 for perforce@freebsd.org; Fri, 25 Jan 2008 14:16:01 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 14:16:01 GMT Message-Id: <200801251416.m0PEG1Vg039384@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 134082 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:16:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=134082 Change 134082 by rrs@rrs-mips2-jnpr on 2008/01/25 14:15:27 New home for uart Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/files.octeon32#4 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/files.octeon32#4 (text+ko) ==== @@ -4,7 +4,7 @@ mips/mips32/octeon32/obio.c optional uart mips/mips32/octeon32/uart_cpu_octeonusart.c optional uart mips/mips32/octeon32/uart_bus_octeonusart.c optional uart -dev/uart/uart_dev_oct16550.c optional uart +mips/mips32/octeon32/uart_dev_oct16550.c optional uart #mips/mips/mp_machdep.c optional smp #mips/mips4k/octeon32/octeon_machdep.c standard #mips/mips4k/octeon32/octeon_pci.c standard From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:17:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C06D116A46E; Fri, 25 Jan 2008 14: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 6DEAB16A420 for ; Fri, 25 Jan 2008 14:17:03 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5255013C46B for ; Fri, 25 Jan 2008 14:17:03 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PEH3ho039454 for ; Fri, 25 Jan 2008 14:17:03 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PEH3Vg039451 for perforce@freebsd.org; Fri, 25 Jan 2008 14:17:03 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 14:17:03 GMT Message-Id: <200801251417.m0PEH3Vg039451@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 134083 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=134083 Change 134083 by rrs@rrs-mips2-jnpr on 2008/01/25 14:16:50 integrate in the uart_dev_oct file. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:18:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECDA516A469; Fri, 25 Jan 2008 14:18: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 995D816A420 for ; Fri, 25 Jan 2008 14:18:04 +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 94B2C13C46E for ; Fri, 25 Jan 2008 14:18:04 +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 m0PEI4V7039505 for ; Fri, 25 Jan 2008 14:18:04 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PEI4VY039502 for perforce@freebsd.org; Fri, 25 Jan 2008 14:18:04 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 14:18:04 GMT Message-Id: <200801251418.m0PEI4VY039502@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 134084 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:18:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=134084 Change 134084 by rrs@rrs-mips2-jnpr on 2008/01/25 14:17:32 s9indent of the uart_dev_oct transfered over. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#2 (text+ko) ==== @@ -85,7 +85,7 @@ * that may have been received gets lost here. */ static void -oct16550_clrint (struct uart_bas *bas) +oct16550_clrint(struct uart_bas *bas) { uint8_t iir; @@ -98,8 +98,8 @@ (void)uart_getreg(bas, REG_DATA); else if (iir == IIR_MLSC) (void)uart_getreg(bas, REG_MSR); - else if (iir == IIR_BUSY) - (void) uart_getreg(bas, REG_USR); + else if (iir == IIR_BUSY) + (void)uart_getreg(bas, REG_USR); uart_barrier(bas); iir = uart_getreg(bas, REG_IIR); } @@ -108,14 +108,15 @@ static int delay_changed = 1; static int -oct16550_delay (struct uart_bas *bas) +oct16550_delay(struct uart_bas *bas) { int divisor; u_char lcr; - static int delay = 0; + static int delay = 0; - if (!delay_changed) return delay; - delay_changed = 0; + if (!delay_changed) + return delay; + delay_changed = 0; lcr = uart_getreg(bas, REG_LCR); uart_setreg(bas, REG_LCR, lcr | LCR_DLAB); uart_barrier(bas); @@ -123,9 +124,9 @@ uart_barrier(bas); uart_setreg(bas, REG_LCR, lcr); uart_barrier(bas); - - if(!bas->rclk) - return 10; /* return an approx delay value */ + + if (!bas->rclk) + return 10; /* return an approx delay value */ /* 1/10th the time to transmit 1 character (estimate). */ if (divisor <= 134) @@ -135,7 +136,7 @@ } static int -oct16550_divisor (int rclk, int baudrate) +oct16550_divisor(int rclk, int baudrate) { int actual_baud, divisor; int error; @@ -159,7 +160,7 @@ } static int -oct16550_drain (struct uart_bas *bas, int what) +oct16550_drain(struct uart_bas *bas, int what) { int delay, limit; @@ -167,29 +168,31 @@ if (what & UART_DRAIN_TRANSMITTER) { /* - * Pick an arbitrary high limit to avoid getting stuck in - * an infinite loop when the hardware is broken. Make the - * limit high enough to handle large FIFOs. + * Pick an arbitrary high limit to avoid getting stuck in an + * infinite loop when the hardware is broken. Make the limit + * high enough to handle large FIFOs. */ - limit = 10*10*10*1024; + limit = 10 * 10 * 10 * 1024; while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit) DELAY(delay); if (limit == 0) { - /* printf("oct16550: transmitter appears stuck... "); */ + /* + * printf("oct16550: transmitter appears stuck... + * "); + */ return (0); } } - if (what & UART_DRAIN_RECEIVER) { /* - * Pick an arbitrary high limit to avoid getting stuck in - * an infinite loop when the hardware is broken. Make the - * limit high enough to handle large FIFOs and integrated - * UARTs. The HP rx2600 for example has 3 UARTs on the - * management board that tend to get a lot of data send - * to it when the UART is first activated. + * Pick an arbitrary high limit to avoid getting stuck in an + * infinite loop when the hardware is broken. Make the limit + * high enough to handle large FIFOs and integrated UARTs. + * The HP rx2600 for example has 3 UARTs on the management + * board that tend to get a lot of data send to it when the + * UART is first activated. */ - limit=10*4096; + limit = 10 * 4096; while ((uart_getreg(bas, REG_LSR) & LSR_RXRDY) && --limit) { (void)uart_getreg(bas, REG_DATA); uart_barrier(bas); @@ -200,7 +203,6 @@ return (EIO); } } - return (0); } @@ -209,7 +211,7 @@ * drained. WARNING: this function clobbers the FIFO setting! */ static void -oct16550_flush (struct uart_bas *bas, int what) +oct16550_flush(struct uart_bas *bas, int what) { uint8_t fcr; @@ -223,7 +225,7 @@ } static int -oct16550_param (struct uart_bas *bas, int baudrate, int databits, int stopbits, +oct16550_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, int parity) { int divisor; @@ -252,9 +254,8 @@ uart_setreg(bas, REG_DLL, divisor & 0xff); uart_setreg(bas, REG_DLH, (divisor >> 8) & 0xff); uart_barrier(bas); - delay_changed = 1; + delay_changed = 1; } - /* Set LCR and clear DLAB. */ uart_setreg(bas, REG_LCR, lcr); uart_barrier(bas); @@ -281,7 +282,7 @@ }; static int -oct16550_probe (struct uart_bas *bas) +oct16550_probe(struct uart_bas *bas) { u_char val; @@ -293,16 +294,16 @@ if (val & 0xc0) return (ENXIO); val = uart_getreg(bas, REG_USR); - if (val & 0xe0) - return (ENXIO); + if (val & 0xe0) + return (ENXIO); return (0); } static void -oct16550_init (struct uart_bas *bas, int baudrate, int databits, int stopbits, +oct16550_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, int parity) { - u_char ier; + u_char ier; oct16550_param(bas, baudrate, databits, stopbits, parity); @@ -312,7 +313,7 @@ uart_barrier(bas); /* Disable the FIFO (if present). */ -// uart_setreg(bas, REG_FCR, 0); + //uart_setreg(bas, REG_FCR, 0); uart_barrier(bas); /* Set RTS & DTR. */ @@ -323,7 +324,7 @@ } static void -oct16550_term (struct uart_bas *bas) +oct16550_term(struct uart_bas *bas) { /* Clear RTS & DTR. */ @@ -331,35 +332,36 @@ uart_barrier(bas); } -static inline void oct16550_wait_txhr_empty (struct uart_bas *bas, int limit, int delay) +static inline void +oct16550_wait_txhr_empty(struct uart_bas *bas, int limit, int delay) { - while (((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0) && - ((uart_getreg(bas, REG_USR) & USR_TXFIFO_NOTFULL) == 0) && --limit) - DELAY(delay); + while (((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0) && + ((uart_getreg(bas, REG_USR) & USR_TXFIFO_NOTFULL) == 0) && --limit) + DELAY(delay); } static void -oct16550_putc (struct uart_bas *bas, int c) +oct16550_putc(struct uart_bas *bas, int c) { int delay; /* 1/10th the time to transmit 1 character (estimate). */ delay = oct16550_delay(bas); - oct16550_wait_txhr_empty(bas, 100, delay); + oct16550_wait_txhr_empty(bas, 100, delay); uart_setreg(bas, REG_DATA, c); uart_barrier(bas); - oct16550_wait_txhr_empty(bas, 100, delay); + oct16550_wait_txhr_empty(bas, 100, delay); } static int -oct16550_rxready (struct uart_bas *bas) +oct16550_rxready(struct uart_bas *bas) { return ((uart_getreg(bas, REG_LSR) & LSR_RXRDY) != 0 ? 1 : 0); } static int -oct16550_getc (struct uart_bas *bas, struct mtx *hwmtx) +oct16550_getc(struct uart_bas *bas, struct mtx *hwmtx) { int c, delay; @@ -386,9 +388,9 @@ */ struct oct16550_softc { struct uart_softc base; - uint8_t fcr; - uint8_t ier; - uint8_t mcr; + uint8_t fcr; + uint8_t ier; + uint8_t mcr; }; static int oct16550_bus_attach(struct uart_softc *); @@ -404,18 +406,18 @@ static int oct16550_bus_transmit(struct uart_softc *); static kobj_method_t oct16550_methods[] = { - KOBJMETHOD(uart_attach, oct16550_bus_attach), - KOBJMETHOD(uart_detach, oct16550_bus_detach), - KOBJMETHOD(uart_flush, oct16550_bus_flush), - KOBJMETHOD(uart_getsig, oct16550_bus_getsig), - KOBJMETHOD(uart_ioctl, oct16550_bus_ioctl), - KOBJMETHOD(uart_ipend, oct16550_bus_ipend), - KOBJMETHOD(uart_param, oct16550_bus_param), - KOBJMETHOD(uart_probe, oct16550_bus_probe), - KOBJMETHOD(uart_receive, oct16550_bus_receive), - KOBJMETHOD(uart_setsig, oct16550_bus_setsig), - KOBJMETHOD(uart_transmit, oct16550_bus_transmit), - { 0, 0 } + KOBJMETHOD(uart_attach, oct16550_bus_attach), + KOBJMETHOD(uart_detach, oct16550_bus_detach), + KOBJMETHOD(uart_flush, oct16550_bus_flush), + KOBJMETHOD(uart_getsig, oct16550_bus_getsig), + KOBJMETHOD(uart_ioctl, oct16550_bus_ioctl), + KOBJMETHOD(uart_ipend, oct16550_bus_ipend), + KOBJMETHOD(uart_param, oct16550_bus_param), + KOBJMETHOD(uart_probe, oct16550_bus_probe), + KOBJMETHOD(uart_receive, oct16550_bus_receive), + KOBJMETHOD(uart_setsig, oct16550_bus_setsig), + KOBJMETHOD(uart_transmit, oct16550_bus_transmit), + {0, 0} }; struct uart_class uart_oct16550_class = { @@ -435,21 +437,21 @@ } static int -oct16550_bus_attach (struct uart_softc *sc) +oct16550_bus_attach(struct uart_softc *sc) { - struct oct16550_softc *oct16550 = (struct oct16550_softc*)sc; + struct oct16550_softc *oct16550 = (struct oct16550_softc *)sc; struct uart_bas *bas; - int unit; + int unit; - unit = device_get_unit(sc->sc_dev); + unit = device_get_unit(sc->sc_dev); bas = &sc->sc_bas; - oct16550_drain(bas, UART_DRAIN_TRANSMITTER); + oct16550_drain(bas, UART_DRAIN_TRANSMITTER); oct16550->mcr = uart_getreg(bas, REG_MCR); oct16550->fcr = FCR_ENABLE | FCR_RX_HIGH; uart_setreg(bas, REG_FCR, oct16550->fcr); uart_barrier(bas); - oct16550_bus_flush(sc, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); + oct16550_bus_flush(sc, UART_FLUSH_RECEIVER | UART_FLUSH_TRANSMITTER); if (oct16550->mcr & MCR_DTR) sc->sc_hwsig |= SER_DTR; @@ -466,13 +468,13 @@ /* * Enable the interrupt in CIU. // UART-x2 @ IP2 */ - ciu_enable_interrupts(0, CIU_INT_0, CIU_EN_0, - (!unit) ? CIU_UART_BITS_UART0 : CIU_UART_BITS_UART1, CIU_MIPS_IP2); + ciu_enable_interrupts(0, CIU_INT_0, CIU_EN_0, + (!unit) ? CIU_UART_BITS_UART0 : CIU_UART_BITS_UART1, CIU_MIPS_IP2); return (0); } static int -oct16550_bus_detach (struct uart_softc *sc) +oct16550_bus_detach(struct uart_softc *sc) { struct uart_bas *bas; u_char ier; @@ -486,9 +488,9 @@ } static int -oct16550_bus_flush (struct uart_softc *sc, int what) +oct16550_bus_flush(struct uart_softc *sc, int what) { - struct oct16550_softc *oct16550 = (struct oct16550_softc*)sc; + struct oct16550_softc *oct16550 = (struct oct16550_softc *)sc; struct uart_bas *bas; int error; @@ -506,7 +508,7 @@ } static int -oct16550_bus_getsig (struct uart_softc *sc) +oct16550_bus_getsig(struct uart_softc *sc) { uint32_t new, old, sig; uint8_t msr; @@ -520,14 +522,14 @@ SIGCHG(msr & MSR_DSR, sig, SER_DSR, SER_DDSR); SIGCHG(msr & MSR_CTS, sig, SER_CTS, SER_DCTS); SIGCHG(msr & MSR_DCD, sig, SER_DCD, SER_DDCD); - SIGCHG(msr & MSR_RI, sig, SER_RI, SER_DRI); + SIGCHG(msr & MSR_RI, sig, SER_RI, SER_DRI); new = sig & ~SER_MASK_DELTA; } while (!atomic_cmpset_32(&sc->sc_hwsig, old, new)); return (sig); } static int -oct16550_bus_ioctl (struct uart_softc *sc, int request, intptr_t data) +oct16550_bus_ioctl(struct uart_softc *sc, int request, intptr_t data) { struct uart_bas *bas; int baudrate, divisor, error; @@ -586,9 +588,9 @@ uart_setreg(bas, REG_LCR, lcr); uart_barrier(bas); baudrate = (divisor > 0) ? bas->rclk / divisor / 16 : 0; - delay_changed = 1; + delay_changed = 1; if (baudrate > 0) - *(int*)data = baudrate; + *(int *)data = baudrate; else error = ENXIO; break; @@ -614,38 +616,39 @@ iir = uart_getreg(bas, REG_IIR) & IIR_IMASK; if (iir != IIR_NOPEND) { - if (iir == IIR_RLS) { - lsr = uart_getreg(bas, REG_LSR); - if (lsr & LSR_OE) - ipend |= SER_INT_OVERRUN; - if (lsr & LSR_BI) - ipend |= SER_INT_BREAK; - if (lsr & LSR_RXRDY) - ipend |= SER_INT_RXREADY; + if (iir == IIR_RLS) { + lsr = uart_getreg(bas, REG_LSR); + if (lsr & LSR_OE) + ipend |= SER_INT_OVERRUN; + if (lsr & LSR_BI) + ipend |= SER_INT_BREAK; + if (lsr & LSR_RXRDY) + ipend |= SER_INT_RXREADY; - } else if (iir == IIR_RXRDY) { - ipend |= SER_INT_RXREADY; + } else if (iir == IIR_RXRDY) { + ipend |= SER_INT_RXREADY; - } else if (iir == IIR_RXTOUT) { - ipend |= SER_INT_RXREADY; + } else if (iir == IIR_RXTOUT) { + ipend |= SER_INT_RXREADY; - } else if (iir == IIR_TXRDY) { - ipend |= SER_INT_TXIDLE; + } else if (iir == IIR_TXRDY) { + ipend |= SER_INT_TXIDLE; - } else if (iir == IIR_MLSC) { - ipend |= SER_INT_SIGCHG; + } else if (iir == IIR_MLSC) { + ipend |= SER_INT_SIGCHG; - } else if (iir == IIR_BUSY) { - (void) uart_getreg(bas, REG_USR); - } + } else if (iir == IIR_BUSY) { + (void)uart_getreg(bas, REG_USR); + } } uart_unlock(sc->sc_hwmtx); #define OCTEON_VISUAL_UART 1 #ifdef OCTEON_VISUAL_UART - static int where1 = 0; + static int where1 = 0; - if (ipend) octeon_led_run_wheel(&where1, 6 + device_get_unit(sc->sc_dev)); + if (ipend) + octeon_led_run_wheel(&where1, 6 + device_get_unit(sc->sc_dev)); #endif return ((sc->sc_leaving) ? 0 : ipend); @@ -655,7 +658,7 @@ static int -oct16550_bus_param (struct uart_softc *sc, int baudrate, int databits, +oct16550_bus_param(struct uart_softc *sc, int baudrate, int databits, int stopbits, int parity) { struct uart_bas *bas; @@ -669,7 +672,7 @@ } static int -oct16550_bus_probe (struct uart_softc *sc) +oct16550_bus_probe(struct uart_softc *sc) { struct uart_bas *bas; int error; @@ -680,8 +683,7 @@ error = oct16550_probe(bas); if (error) { return (error); - } - + } uart_setreg(bas, REG_MCR, (MCR_DTR | MCR_RTS)); /* @@ -689,20 +691,20 @@ * done. Since this is the first time we enable the FIFOs, we reset * them. */ - oct16550_drain(bas, UART_DRAIN_TRANSMITTER); + oct16550_drain(bas, UART_DRAIN_TRANSMITTER); #define ENABLE_OCTEON_FIFO 1 #ifdef ENABLE_OCTEON_FIFO uart_setreg(bas, REG_FCR, FCR_ENABLE | FCR_XMT_RST | FCR_RCV_RST); #endif uart_barrier(bas); - oct16550_flush(bas, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); + oct16550_flush(bas, UART_FLUSH_RECEIVER | UART_FLUSH_TRANSMITTER); - if (device_get_unit(sc->sc_dev)) { - device_set_desc(sc->sc_dev, "Octeon-16550 channel 1"); - } else { - device_set_desc(sc->sc_dev, "Octeon-16550 channel 0"); - } + if (device_get_unit(sc->sc_dev)) { + device_set_desc(sc->sc_dev, "Octeon-16550 channel 1"); + } else { + device_set_desc(sc->sc_dev, "Octeon-16550 channel 0"); + } #ifdef ENABLE_OCTEON_FIFO sc->sc_rxfifosz = 64; sc->sc_txfifosz = 64; @@ -716,8 +718,8 @@ /* * XXX there are some issues related to hardware flow control and * it's likely that uart(4) is the cause. This basicly needs more - * investigation, but we avoid using for hardware flow control - * until then. + * investigation, but we avoid using for hardware flow control until + * then. */ /* 16650s or higher have automatic flow control. */ if (sc->sc_rxfifosz > 16) { @@ -730,7 +732,7 @@ } static int -oct16550_bus_receive (struct uart_softc *sc) +oct16550_bus_receive(struct uart_softc *sc) { struct uart_bas *bas; int xc; @@ -754,24 +756,24 @@ lsr = uart_getreg(bas, REG_LSR); } /* Discard everything left in the Rx FIFO. */ - /* - * 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, REG_DATA); + /* + * 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, REG_DATA); while (lsr & LSR_RXRDY) { (void)uart_getreg(bas, REG_DATA); uart_barrier(bas); lsr = uart_getreg(bas, REG_LSR); } uart_unlock(sc->sc_hwmtx); - return (0); + return (0); } static int -oct16550_bus_setsig (struct uart_softc *sc, int sig) +oct16550_bus_setsig(struct uart_softc *sc, int sig) { - struct oct16550_softc *oct16550 = (struct oct16550_softc*)sc; + struct oct16550_softc *oct16550 = (struct oct16550_softc *)sc; struct uart_bas *bas; uint32_t new, old; @@ -789,7 +791,7 @@ } } while (!atomic_cmpset_32(&sc->sc_hwsig, old, new)); uart_lock(sc->sc_hwmtx); - oct16550->mcr &= ~(MCR_DTR|MCR_RTS); + oct16550->mcr &= ~(MCR_DTR | MCR_RTS); if (new & SER_DTR) oct16550->mcr |= MCR_DTR; if (new & SER_RTS) @@ -801,21 +803,21 @@ } static int -oct16550_bus_transmit (struct uart_softc *sc) +oct16550_bus_transmit(struct uart_softc *sc) { - struct oct16550_softc *oct16550 = (struct oct16550_softc*)sc; + struct oct16550_softc *oct16550 = (struct oct16550_softc *)sc; struct uart_bas *bas; int i; bas = &sc->sc_bas; uart_lock(sc->sc_hwmtx); #ifdef NO_UART_INTERRUPTS - for (i = 0; i < sc->sc_txdatasz; i++) { - oct16550_putc(bas, sc->sc_txbuf[i]); - } + for (i = 0; i < sc->sc_txdatasz; i++) { + oct16550_putc(bas, sc->sc_txbuf[i]); + } #else - oct16550_wait_txhr_empty(bas, 100, oct16550_delay(bas)); + oct16550_wait_txhr_empty(bas, 100, oct16550_delay(bas)); uart_setreg(bas, REG_IER, oct16550->ier | IER_ETXRDY); uart_barrier(bas); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:22:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67BBD16A47E; Fri, 25 Jan 2008 14:22:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C5BB16A474 for ; Fri, 25 Jan 2008 14:22: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 ECC4C13C4F9 for ; Fri, 25 Jan 2008 14:22:08 +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 m0PEM84D040415 for ; Fri, 25 Jan 2008 14:22:08 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PEM8hB040412 for perforce@freebsd.org; Fri, 25 Jan 2008 14:22:08 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 14:22:08 GMT Message-Id: <200801251422.m0PEM8hB040412@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 134085 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:22:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=134085 Change 134085 by rrs@rrs-mips2-jnpr on 2008/01/25 14:21:07 comment out uart_oct. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/conf/files#2 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/conf/files#2 (text+ko) ==== @@ -1093,6 +1093,7 @@ dev/uart/uart_core.c optional uart dev/uart/uart_dbg.c optional uart gdb dev/uart/uart_dev_ns8250.c optional uart uart_ns8250 +#dev/uart/uart_dev_oct16550.c optional uart uart_oct16550 dev/uart/uart_dev_sab82532.c optional uart uart_sab82532 dev/uart/uart_dev_sab82532.c optional uart scc dev/uart/uart_dev_z8530.c optional uart uart_z8530 From owner-p4-projects@FreeBSD.ORG Fri Jan 25 14:29:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C7BF16A469; Fri, 25 Jan 2008 14:29: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 D3A8616A419 for ; Fri, 25 Jan 2008 14:29: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 CE41413C45A for ; Fri, 25 Jan 2008 14:29: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 m0PETI4A040682 for ; Fri, 25 Jan 2008 14:29: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 m0PETIf1040678 for perforce@freebsd.org; Fri, 25 Jan 2008 14:29:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 14:29:18 GMT Message-Id: <200801251429.m0PETIf1040678@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 134086 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 14:29:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=134086 Change 134086 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 14:28:25 Expose some more system calls in capabilities mode, and fix the spelling of the sysctl system call. Regenerate. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#2 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#7 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#7 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#2 (text+ko) ==== @@ -1,11 +1,11 @@ # -# List of system calls enabled in capability mode. +# List of system calls enabled in capability mode, one name per line. # # Notes: # - sys_exit() and close() are very important. # - Sorted alphabeetically, please keep it that way. # -# $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#1 $ +# $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#2 $ # accept acl_check_fd @@ -33,10 +33,16 @@ fchdir fchflags fchmod +fchown fcntl flock fork fpathconf +freebsd6_ftruncate +freebsd6_lseek +freebsd6_mmap +freebsd6_pread +freebsd6_pwrite fstat fstatfs fsync @@ -76,7 +82,6 @@ shutdown socketpair sys_exit -sysctl -sysctl +__sysctl write writev ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#7 (text+ko) ==== @@ -152,7 +152,7 @@ { 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, 0 }, /* 123 = fchown */ + { 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, 0 }, /* 126 = setreuid */ @@ -202,8 +202,8 @@ { 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, 0 }, /* 173 = freebsd6_pread */ - { AS(freebsd6_pwrite_args), (sy_call_t *)freebsd6_pwrite, AUE_PWRITE, NULL, 0, 0, 0 }, /* 174 = freebsd6_pwrite */ + { 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 */ @@ -226,12 +226,12 @@ { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0, 0 }, /* 194 = getrlimit */ { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 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, 0 }, /* 197 = freebsd6_mmap */ + { 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, 0 }, /* 199 = freebsd6_lseek */ + { 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, 0 }, /* 201 = freebsd6_ftruncate */ - { AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 202 = __sysctl */ + { 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, 0 }, /* 203 = mlock */ { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 204 = munlock */ { AS(undelete_args), (sy_call_t *)undelete, AUE_UNDELETE, NULL, 0, 0, 0 }, /* 205 = undelete */ ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#7 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#7 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#7 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#7 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#7 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jan 25 16:18:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F5DA16A49E; Fri, 25 Jan 2008 16:18:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDD3916A517 for ; Fri, 25 Jan 2008 16:18: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 B9EB613C46B for ; Fri, 25 Jan 2008 16:18: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 m0PGIElc050019 for ; Fri, 25 Jan 2008 16:18:14 GMT (envelope-from rrs@cisco.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PGIDZ3050016 for perforce@freebsd.org; Fri, 25 Jan 2008 16:18:13 GMT (envelope-from rrs@cisco.com) Date: Fri, 25 Jan 2008 16:18:13 GMT Message-Id: <200801251618.m0PGIDZ3050016@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 134091 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 16:18:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=134091 Change 134091 by rrs@rrs-mips2-jnpr on 2008/01/25 16:17:26 Gets it so the serial driver compiles. Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/conf/OCTEON_rrs#1 add .. //depot/projects/mips2-jnpr/src/sys/mips/mips/tick.c#3 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/bus_octeon.h#1 add .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/cpuinfo_octeon.h#1 branch .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/files.octeon32#5 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_machdep.c#1 add .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/octeon_pcmap_regs.h#1 branch .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/std.octeon32#4 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_bus_octeonusart.c#4 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_cpu_octeonusart.c#4 edit .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#3 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/tick.c#3 (text+ko) ==== @@ -72,6 +72,14 @@ 800, /* quality (adjusted in code) */ }; +void tick_early_init (uint32_t clock_hz) +{ + /* Cavium early init code */ + counter_freq = clock_hz; + counts_per_usec = (clock_hz / (1000 * 1000)); +} + + static uint64_t tick_ticker(void) { @@ -141,6 +149,8 @@ return (mips_rd_count()); } +#ifdef __DUPLCATE_OUT_WARNER +/* fix me */ /* * Wait for about n microseconds (at least!). */ @@ -172,6 +182,7 @@ } } } +#endif int sysbeep(int pitch, int period) ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/files.octeon32#5 (text+ko) ==== @@ -5,8 +5,9 @@ mips/mips32/octeon32/uart_cpu_octeonusart.c optional uart mips/mips32/octeon32/uart_bus_octeonusart.c optional uart mips/mips32/octeon32/uart_dev_oct16550.c optional uart +mips/mips/tick.c standard #mips/mips/mp_machdep.c optional smp -#mips/mips4k/octeon32/octeon_machdep.c standard +mips/mips32/octeon32/octeon_machdep.c standard #mips/mips4k/octeon32/octeon_pci.c standard #dev/flash/octeon_ebt3000_cf.c optional cf ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/std.octeon32#4 (text+ko) ==== ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_bus_octeonusart.c#4 (text+ko) ==== @@ -60,6 +60,9 @@ #include "uart_if.h" +extern struct uart_class uart_oct16550_class; + + static int uart_octeon_probe(device_t dev); static void octeon_uart_identify(driver_t * drv, device_t parent); ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_cpu_octeonusart.c#4 (text+ko) ==== @@ -53,6 +53,7 @@ bus_space_tag_t uart_bus_space_io; bus_space_tag_t uart_bus_space_mem; +extern struct uart_class uart_oct16550_class; extern struct uart_ops octeon_usart_ops; extern struct bus_space octeon_bs_tag; ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/octeon32/uart_dev_oct16550.c#3 (text+ko) ==== @@ -71,6 +71,15 @@ #include +/* Octeon specific includes with loads of in-lines */ +#include +#include + +/* Cavium specific defines pulled from there update of ns16559.h */ +#define IIR_BUSY 0x7 +#define com_usr 39 /* Octeon 16750/16550 Uart Status Reg */ +#define REG_USR com_usr +#define USR_TXFIFO_NOTFULL 2 /* Uart TX FIFO Not full */ #include "uart_if.h" From owner-p4-projects@FreeBSD.ORG Fri Jan 25 17:01:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B50A116A475; Fri, 25 Jan 2008 17:01: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 774A816A46D; Fri, 25 Jan 2008 17:01:51 +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 2F3AC13C4DB; Fri, 25 Jan 2008 17:01:51 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.1/8.14.1) with ESMTP id m0PH0Wj1002003; Fri, 25 Jan 2008 10:00:32 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Fri, 25 Jan 2008 10:00:06 -0700 (MST) Message-Id: <20080125.100006.-262784007.imp@bsdimp.com> To: yanegomi@gmail.com From: "M. Warner Losh" In-Reply-To: <4798C436.6090904@gmail.com> References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> <4798C436.6090904@gmail.com> 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, marcel@FreeBSD.org, grehan@FreeBSD.org Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 17:01:52 -0000 In message: <4798C436.6090904@gmail.com> Garrett Cooper writes: : Peter Grehan wrote: : >> Import NetBSD's FPU emulator for PowerPC. This allows : >> us to use a single userland for both cores with FPU : >> and cores without FPU : > : > The crowd goes wild ! Well, at least me :) : > : > later, : > : > Peter. : > : Some other folks are surely stoked about this development as well : (queuing Warner and crew..) :). I'd rather hoped to run the Cisco stuff using EABI, which doesn't need fp emulation in the kernel... Warner From owner-p4-projects@FreeBSD.ORG Fri Jan 25 17:09:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 655AB16A468; Fri, 25 Jan 2008 17:09: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 112D616A421; Fri, 25 Jan 2008 17:09:17 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by mx1.freebsd.org (Postfix) with ESMTP id 7B15A13C47E; Fri, 25 Jan 2008 17:09:16 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from peter-grehans-power-mac-g5.local (dsl-63-249-90-35.cruzio.com [63.249.90.35]) by dommail.onthenet.com.au (MOS 3.7.5a-GA) with ESMTP id DMU06903 (AUTH peterg@ptree32.com.au); Sat, 26 Jan 2008 03:09:02 +1000 (EST) Message-ID: <479A17AC.4070004@freebsd.org> Date: Fri, 25 Jan 2008 09:09:00 -0800 From: Peter Grehan User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: "M. Warner Losh" References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> <4798C436.6090904@gmail.com> <20080125.100006.-262784007.imp@bsdimp.com> In-Reply-To: <20080125.100006.-262784007.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: yanegomi@gmail.com, perforce@FreeBSD.org, marcel@FreeBSD.org Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: grehan@freebsd.org List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jan 2008 17:09:17 -0000 > I'd rather hoped to run the Cisco stuff using EABI, which doesn't need > fp emulation in the kernel... EABI to my mind only helps in ultra-tight embedded environments, which I don't think exist anymore. 8-byte vs 16-byte stack alignment isn't going to help anyone. And if embedded environments are using a lot of soft-float, they are running on the wrong type of CPU. Trapping to the kernel should be infrequent, and it does allow a single ABI for all processor types. GCC will generate floating point instructions for data copying in contrived situations, but there are none in base FreeBSD/ppc. My $0.02 .. later, Peter. From owner-p4-projects@FreeBSD.ORG Fri Jan 25 18:13:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF22B16A468; Fri, 25 Jan 2008 18:13: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 8B5DF16A41B; Fri, 25 Jan 2008 18:13:39 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by mx1.freebsd.org (Postfix) with ESMTP id D77B713C45A; Fri, 25 Jan 2008 18:13:38 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from localhost (unknown [127.0.0.1]) by mail.semihalf.com (Postfix) with ESMTP id 99D94145DE; Fri, 25 Jan 2008 19:21:04 +0100 (CET) Received: from mail.semihalf.com ([127.0.0.1]) by localhost (mail.semihalf.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22198-07; Fri, 25 Jan 2008 19:21:03 +0100 (CET) Message-ID: <479A26CE.6020104@semihalf.com> Date: Fri, 25 Jan 2008 19:13:34 +0100 From: Rafal Jaworowski MIME-Version: 1.0 To: grehan@freebsd.org References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> <4798C436.6090904@gmail.com> <20080125.100006.-262784007.imp@bsdimp.com> <479A17AC.4070004@freebsd.org> In-Reply-To: <479A17AC.4070004@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at semihalf.com Cc: yanegomi@gmail.com, perforce@FreeBSD.org, marcel@FreeBSD.org, "M. Warner Losh" Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 18:13:40 -0000 Peter Grehan wrote: >> I'd rather hoped to run the Cisco stuff using EABI, which doesn't need >> fp emulation in the kernel... > > EABI to my mind only helps in ultra-tight embedded environments, which > I don't think exist anymore. 8-byte vs 16-byte stack alignment isn't > going to help anyone. > Yes, it's mostly about stack conventions and registers usage policy, so no FP-strictly related (although among others it tells how to use FPRs for [non-]volatile purposes etc.) > And if embedded environments are using a lot of soft-float, they are > running on the wrong type of CPU. Trapping to the kernel should be > infrequent, and it does allow a single ABI for all processor types. > IIRC, almost any AIM binary I tried executing caused FP exceptions (actually, an illegal instrusction ;) on e500, even such that wouldn't be expected tu use FPU. I didn't investigate this at all, but maybe the compiler was using FPRs for optimizations or something of that sort, don't know, so the frequency might not be that low in reality. The interesting aspect about the trapped approach is that we could dispatch the call farther, as please remember that embedded PowerPC can have floating point/signal processing engines that can do the job, but just not the traditional model. This is the very case of PQ3 and its SPE/SPFP which lay idle at the moment.. My 0.02 PLN :) Rafal From owner-p4-projects@FreeBSD.ORG Fri Jan 25 18:22:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35E2916A46C; Fri, 25 Jan 2008 18:22: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 EEA2016A420; Fri, 25 Jan 2008 18:22:53 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by mx1.freebsd.org (Postfix) with ESMTP id 5EE8B13C459; Fri, 25 Jan 2008 18:22:53 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from peter-grehans-power-mac-g5.local (dsl-63-249-90-35.cruzio.com [63.249.90.35]) by dommail.onthenet.com.au (MOS 3.7.5a-GA) with ESMTP id DMU25696 (AUTH peterg@ptree32.com.au); Sat, 26 Jan 2008 04:22:38 +1000 (EST) Message-ID: <479A28E8.1060509@freebsd.org> Date: Fri, 25 Jan 2008 10:22:32 -0800 From: Peter Grehan User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Rafal Jaworowski References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> <4798C436.6090904@gmail.com> <20080125.100006.-262784007.imp@bsdimp.com> <479A17AC.4070004@freebsd.org> <479A26CE.6020104@semihalf.com> In-Reply-To: <479A26CE.6020104@semihalf.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: yanegomi@gmail.com, perforce@FreeBSD.org, marcel@FreeBSD.org, "M. Warner Losh" Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: grehan@freebsd.org List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jan 2008 18:22:54 -0000 > IIRC, almost any AIM binary I tried executing caused FP exceptions (actually, > an illegal instrusction ;) on e500, even such that wouldn't be expected tu use > FPU. I didn't investigate this at all, but maybe the compiler was using FPRs > for optimizations or something of that sort, don't know, so the frequency > might not be that low in reality. It would be interesting to see what is going on. Maybe gcc4 is using FP a lot more than gcc3, which is what the compiler was when the initial ppc FP trap code was done. > The interesting aspect about the trapped approach is that we could dispatch > the call farther, as please remember that embedded PowerPC can have floating > point/signal processing engines that can do the job, but just not the > traditional model. This is the very case of PQ3 and its SPE/SPFP which lay > idle at the moment.. Another option is to vector the trap back to user-space and deal with the emulation there. I heard a rumour that the sparc64 port does this: it sounded like a good idea since the process causing the traps would be the one paying the price, not the system at large. later, Peter. From owner-p4-projects@FreeBSD.ORG Fri Jan 25 18:29:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1BB7C16A496; Fri, 25 Jan 2008 18:29: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 A283B16A419 for ; Fri, 25 Jan 2008 18:29:35 +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 964AB13C474 for ; Fri, 25 Jan 2008 18:29:35 +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 m0PITZTa069142 for ; Fri, 25 Jan 2008 18:29:35 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 m0PITRgK069129 for perforce@freebsd.org; Fri, 25 Jan 2008 18:29:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 18:29:27 GMT Message-Id: <200801251829.m0PITRgK069129@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 134096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 18:29:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=134096 Change 134096 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 18:29:21 Integrate TrustedBSD Capabilities branch, both updating the existing kernel merge and pulling in the remainder of src. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/COPYRIGHT#1 branch .. //depot/projects/trustedbsd/capabilities/src/LOCKS#1 branch .. //depot/projects/trustedbsd/capabilities/src/MAINTAINERS#1 branch .. //depot/projects/trustedbsd/capabilities/src/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/Makefile.inc1#1 branch .. //depot/projects/trustedbsd/capabilities/src/ObsoleteFiles.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/UPDATING#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cat/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cat/cat.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cat/cat.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chflags/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chflags/chflags.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chflags/chflags.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chio/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chio/chio.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chio/chio.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chio/defs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chio/pathnames.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chmod/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chmod/chmod.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/chmod/chmod.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cp/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cp/cp.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cp/cp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cp/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/cp/utils.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/config.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/config_p.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/host.defs#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/iconv.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/csh/iconv_stub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/date.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/date.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/netdate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/vary.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/date/vary.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/args.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/conv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/conv_tab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/dd.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/dd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/dd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/gen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/position.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.ascii#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.ebcdic#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.ibm#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.lcase#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.oldascii#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.oldibm#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.pareven#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.parnone#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.parodd#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.parset#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.swab#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/dd/ref.ucase#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/df/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/df/df.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/df/df.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/domainname/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/domainname/domainname.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/domainname/domainname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/echo/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/echo/echo.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/echo/echo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/POSIX#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/buf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/cbc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/ed.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/ed.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/glbl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/re.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/sub.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/=.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/TODO#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/a.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/a.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/a.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/a1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/a2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/addr.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/addr.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/addr.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/addr1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/addr2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/ascii.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/bang1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/bang1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/bang1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/bang1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/bang2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/c.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/c.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/c.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/c1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/c2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/d.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/d.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/d.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/d.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e3.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e3.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e3.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e4.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e4.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/e4.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/f1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/f2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g3.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g3.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g3.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g4.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g4.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g4.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g5.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g5.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/g5.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/h.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/i3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/j.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/j.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/j.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/k4.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/l.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/l.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/l.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/m.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/m.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/m.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/m.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/n.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/n.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/n.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/nl2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/p.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/p.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/p.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/q.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/q.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/q.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/q1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r3.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r3.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/r3.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s10.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s3.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s3.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s3.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s4.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s5.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s6.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s7.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s8.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/s9.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t1.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t1.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t1.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t2.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t2.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/t2.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/u.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/u.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/u.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/u.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/v.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/v.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/v.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w.d#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w.r#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w.t#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w1.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w2.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/w3.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/x.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/test/z.err#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ed/undo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/expr/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/expr/expr.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/expr/expr.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/getfacl/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/getfacl/getfacl.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/getfacl/getfacl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/hostname/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/hostname/hostname.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/hostname/hostname.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kenv/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kill/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kill/kill.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/kill/kill.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ln/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ln/symlink.7#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/cmp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/ls.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/ls.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/ls.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/print.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ls/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mkdir/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mkdir/mkdir.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mkdir/mkdir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mv/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mv/mv.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/mv/mv.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/ar_io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/ar_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/buf_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/cache.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/cache.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/cpio.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/cpio.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/cpio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/file_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/ftree.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/ftree.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/gen_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/getoldopt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/options.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/options.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/pat_rep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/pat_rep.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/pax.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/pax.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/pax.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/sel_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/sel_subs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tables.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tables.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tar.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tar.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tar.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pax/tty_subs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/fmt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/keyword.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/nlist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/print.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/ps.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/ps.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/ps/ps.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pwd/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pwd/pwd.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/pwd/pwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rcp/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rcp/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rcp/rcp.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rcp/rcp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rcp/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/realpath/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/realpath/realpath.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/realpath/realpath.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rm/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rm/rm.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rm/rm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rmail/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rmdir/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rmdir/rmdir.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/rmdir/rmdir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/file.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/mask.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/merge.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/remove.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/setfacl.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/setfacl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/setfacl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/setfacl/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/TOUR#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/alias.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/alias.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/arith.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/arith.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/arith_lex.l#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/bltin/echo.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/bltin/echo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/builtins.def#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/cd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/cd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/error.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/error.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/eval.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/eval.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/exec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/exec.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/expand.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/expand.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/cmv#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/dirs#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/kill#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/login#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/newgrp#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/popd#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/pushd#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/funcs/suspend#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/histedit.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/init.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/input.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/input.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/jobs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/jobs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mail.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mail.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/main.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/memalloc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/memalloc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/miscbltin.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mkbuiltins#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mkinit.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mknodes.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mksyntax.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mktokens#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/myhistedit.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mystring.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/mystring.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/nodes.c.pat#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/nodetypes#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/options.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/options.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/output.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/output.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/parser.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/parser.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/redir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/redir.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/sh.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/shell.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/show.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/show.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/trap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/trap.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/var.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sh/var.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sleep/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sleep/sleep.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sleep/sleep.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/cchar.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/extern.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/gfmt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/key.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/modes.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/print.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/stty.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/stty.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/stty.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/stty/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sync/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sync/sync.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/sync/sync.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/TEST.README#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/TEST.csh#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/TEST.sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/test.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/bin/test/test.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libavl/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libnvpair/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libumem/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libuutil/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libzfs/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/lib/libzpool/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/sbin/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/sbin/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/sbin/zfs/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/sbin/zpool/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.bin/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.bin/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.bin/ztest/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.sbin/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.sbin/Makefile.inc#1 branch .. //depot/projects/trustedbsd/capabilities/src/cddl/usr.sbin/zdb/Makefile#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/alloca.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/fcntl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/stdio.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/stdlib.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/strings.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/unistd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/AUTHORS#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/BUGS#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/COPYING#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/ChangeLog#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/FAQ#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/INSTALL#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/NEWS#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/README.attrcache#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/README.ldap#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/README.y2k#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amd.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_generic.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/autil.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/clock.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/conf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_exec.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/map.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/opts.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/readdir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/restart.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/sched.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/amq.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/amq.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/amq.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/bootstrap#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/doc/stamp-vti#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/doc/version.texi#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/ldap.schema#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/strutil.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/test-attrcache.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/tasks#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/vers.m4#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/AUTHORS#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/ChangeLog#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/FAQ#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/INSTALL#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/NEWS#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/array.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/atan.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/div.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/exp.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/fact.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/jn.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/ln.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/mul.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/raise.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/signum#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/sine.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/Test/timetest#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/acconfig.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/aclocal.m4#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/bc.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/const.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/execute.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/global.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/global.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/load.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/proto.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/scan.l#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/storage.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/bc/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/config.h.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/configure#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/configure.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/array.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/dc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/dc.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/eval.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/misc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/stack.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/dc/string.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/bc.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/dc.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/h/number.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/install-sh#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/lib/number.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/missing#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bc/stamp-h.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/CHANGES#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/FAQ#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/README#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/README.idnkit#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/acconfig.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/config.guess#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/config.sub#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/config.threads.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/configure.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/trustedbsd/capabilities/src/contrib/bind9/doc/rfc/rfc1996.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jan 25 19:07:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D51C616A476; Fri, 25 Jan 2008 19:07: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 80BA416A418; Fri, 25 Jan 2008 19:07:21 +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 43CCB13C46B; Fri, 25 Jan 2008 19:07:21 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.1/8.14.1) with ESMTP id m0PJ6Y0T004887; Fri, 25 Jan 2008 12:06:34 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Fri, 25 Jan 2008 12:06:09 -0700 (MST) Message-Id: <20080125.120609.87794284.imp@bsdimp.com> To: grehan@FreeBSD.ORG From: "M. Warner Losh" In-Reply-To: <479A17AC.4070004@freebsd.org> References: <4798C436.6090904@gmail.com> <20080125.100006.-262784007.imp@bsdimp.com> <479A17AC.4070004@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: yanegomi@gmail.com, perforce@FreeBSD.ORG, marcel@FreeBSD.ORG Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 19:07:22 -0000 In message: <479A17AC.4070004@freebsd.org> Peter Grehan writes: : > I'd rather hoped to run the Cisco stuff using EABI, which doesn't need : > fp emulation in the kernel... : : EABI to my mind only helps in ultra-tight embedded environments, which : I don't think exist anymore. 8-byte vs 16-byte stack alignment isn't : going to help anyone. : : And if embedded environments are using a lot of soft-float, they are : running on the wrong type of CPU. Trapping to the kernel should be : infrequent, and it does allow a single ABI for all processor types. I've deployed arm binaries that did to a lot of floating point from time to time, and trapping to the kernel for all of it would have made things a lot slower. These are floating point intensive applications, but in some crude tests that I did I found that the CPU usage jumped from approx 10% for the base system to 25% when I tried go get the floating point emulator in place. The numbers it produced were wrong (I tried to hack the NetBSD binary-only arm one and was only marginally successful), but thought they would be typical of a working implementation. Of course, since I tossed all this work, I can't be sure that I wasn't doing something stupid in the kernel to account for it. So while in theory it shouldn't be a big cost, the application I was just working on it made a huge difference. The applications that are being pushed into these parts are also growing in sophistication. Ours did on the order of 500 floating point operations per second, so it was high enough that the overhead of traps was very noticeable. Anyway, different processor, so the trade offs may be different here. Warner From owner-p4-projects@FreeBSD.ORG Fri Jan 25 19:25:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30D8516A421; Fri, 25 Jan 2008 19:25: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 EA8E716A417 for ; Fri, 25 Jan 2008 19:25:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C6C4D13C467 for ; Fri, 25 Jan 2008 19:25:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PJPZs3052055 for ; Fri, 25 Jan 2008 19:25:35 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PJPZ2k052052 for perforce@freebsd.org; Fri, 25 Jan 2008 19:25:35 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 19:25:35 GMT Message-Id: <200801251925.m0PJPZ2k052052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134097 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 19:25:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=134097 Change 134097 by jhb@jhb_mutex on 2008/01/25 19:25:30 Compile. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#47 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#47 (text+ko) ==== @@ -149,7 +149,7 @@ * timeout to fire. */ binuptime(&start); - ret = tsleep(&race_wchan, 0, "race", 5 * hz); + rval = tsleep(&race_wchan, 0, "race", 5 * hz); binuptime(&finish); printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 19:27:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8180216A498; Fri, 25 Jan 2008 19:27: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 2BCFA16A47F for ; Fri, 25 Jan 2008 19:27:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0682713C455 for ; Fri, 25 Jan 2008 19:27:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PJRb79053812 for ; Fri, 25 Jan 2008 19:27:37 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PJRbYC053809 for perforce@freebsd.org; Fri, 25 Jan 2008 19:27:37 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 19:27:37 GMT Message-Id: <200801251927.m0PJRbYC053809@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 19:27:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=134098 Change 134098 by jhb@jhb_mutex on 2008/01/25 19:27:09 Have to PCATCH for TDF_INTERRUPT to take effect. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#48 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#48 (text+ko) ==== @@ -149,7 +149,7 @@ * timeout to fire. */ binuptime(&start); - rval = tsleep(&race_wchan, 0, "race", 5 * hz); + rval = tsleep(&race_wchan, PCATCH, "race", 5 * hz); binuptime(&finish); printf("crash: sleepq_timedwait() returned %d\n", rval); bintime_sub(&finish, &start); From owner-p4-projects@FreeBSD.ORG Fri Jan 25 20:00:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 623A716A474; Fri, 25 Jan 2008 20:00: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 0A2E316A46E for ; Fri, 25 Jan 2008 20:00:16 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F0B2C13C478 for ; Fri, 25 Jan 2008 20:00:15 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0PK0FPH062331 for ; Fri, 25 Jan 2008 20:00:15 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PK0F1c062328 for perforce@freebsd.org; Fri, 25 Jan 2008 20:00:15 GMT (envelope-from jhb@freebsd.org) Date: Fri, 25 Jan 2008 20:00:15 GMT Message-Id: <200801252000.m0PK0F1c062328@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 134101 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 20:00:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=134101 Change 134101 by jhb@jhb_mutex on 2008/01/25 19:59:58 - Add an assert to enforce MTX_RECURSE checking for spin mutexes (previously this was only done with WITNESS, but hardly anyone enables WITNESS on spin locks) - Add test cases for MTX_RECURSE testing for spin locks and a test case for the sleepq chain lock recursing. Affected files ... .. //depot/projects/smpng/sys/kern/kern_mutex.c#150 edit .. //depot/projects/smpng/sys/modules/crash/crash.c#49 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_mutex.c#150 (text+ko) ==== @@ -216,6 +216,10 @@ KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, ("mtx_lock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); + if (mtx_owned(m)) + KASSERT((m->lock_object.lo_flags & LO_RECURSABLE) != 0, + ("mtx_lock_spin: recursed on non-recursive mutex %s @ %s:%d\n", + m->lock_object.lo_name, file, line)); WITNESS_CHECKORDER(&m->lock_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE, file, line); _get_spin_lock(m, curthread, opts, file, line); ==== //depot/projects/smpng/sys/modules/crash/crash.c#49 (text+ko) ==== @@ -100,6 +100,18 @@ } static void +exercise_sc_recurse(void) +{ + struct callout c; + + callout_init(&c, CALLOUT_MPSAFE); + callout_reset(&c, hz, tsleep_race_fallback, NULL); + tsleep(&race_wchan, 0, "race", 5 * hz); + callout_drain(&c); +} +CRASH_EVENT("test recursing on sleepq chain lock", exercise_sc_recurse); + +static void exercise_tsleep_race(void) { struct callout c; @@ -160,6 +172,30 @@ CRASH_EVENT("exercise tsleep() race", exercise_tsleep_race); static void +spin_recurse(void) +{ + + bzero(&test1_mtx, sizeof(test1_mtx)); + mtx_init(&test1_mtx, "test1", NULL, MTX_SPIN | MTX_RECURSE); + mtx_lock_spin(&test1_mtx); + mtx_lock_spin(&test1_mtx); + kdb_enter(KDB_WHY_CRASH, "test1_mtx should be recursed"); + mtx_unlock_spin(&test1_mtx); + mtx_unlock_spin(&test1_mtx); + mtx_destroy(&test1_mtx); + + bzero(&test1_mtx, sizeof(test1_mtx)); + mtx_init(&test1_mtx, "test1", NULL, MTX_SPIN); + printf("recursing on non-recursive spin lock should go boom\n"); + mtx_lock_spin(&test1_mtx); + mtx_lock_spin(&test1_mtx); + mtx_unlock_spin(&test1_mtx); + mtx_unlock_spin(&test1_mtx); + mtx_destroy(&test1_mtx); +} +CRASH_EVENT("test spin lock recurse", spin_recurse); + +static void sx_recurse(void) { From owner-p4-projects@FreeBSD.ORG Fri Jan 25 20:03:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E75416A473; Fri, 25 Jan 2008 20:03: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 BF5FC16A417; Fri, 25 Jan 2008 20:03:41 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpoutm.mac.com (smtpoutm.mac.com [17.148.16.71]) by mx1.freebsd.org (Postfix) with ESMTP id 9BABA13C442; Fri, 25 Jan 2008 20:03:41 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (asmtp010-s [10.150.69.73]) by smtpoutm.mac.com (Xserve/smtpout008/MantshX 4.0) with ESMTP id m0PK3YU4006547; Fri, 25 Jan 2008 12:03:34 -0800 (PST) Received: from mini-g4.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mac.com (Xserve/asmtp010/MantshX 4.0) with ESMTP id m0PK3TVN006396 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 25 Jan 2008 12:03:30 -0800 (PST) Message-Id: From: Marcel Moolenaar To: Rafal Jaworowski In-Reply-To: <479A26CE.6020104@semihalf.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v915) Date: Fri, 25 Jan 2008 12:03:28 -0800 References: <200801230414.m0N4E4ng009323@repoman.freebsd.org> <4797C8E0.4070100@freebsd.org> <4798C436.6090904@gmail.com> <20080125.100006.-262784007.imp@bsdimp.com> <479A17AC.4070004@freebsd.org> <479A26CE.6020104@semihalf.com> X-Mailer: Apple Mail (2.915) Cc: yanegomi@gmail.com, perforce@FreeBSD.org, marcel@FreeBSD.org, "M. Warner Losh" , grehan@FreeBSD.org Subject: Re: PERFORCE change 133911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 20:03:42 -0000 On Jan 25, 2008, at 10:13 AM, Rafal Jaworowski wrote: > IIRC, almost any AIM binary I tried executing caused FP exceptions > (actually, > an illegal instrusction ;) on e500, even such that wouldn't be > expected tu use > FPU. I didn't investigate this at all, but maybe the compiler was > using FPRs > for optimizations or something of that sort, don't know, so the > frequency > might not be that low in reality. We didn't see this at all. We typically only saw ntpdate and top crap out, because they actually use FP. Most of the binaries were fine without -softfloat. Note also that a stray FP status register initialization operation in crtX can cause all processes to fail, even if there's no FP in the process. Your problem may have been caused by libc, crt or libgcc. In fact, we may have seen it ourselves as well and fixed that place to get to where we ended up without softfloat (i.e. only ntpdate, top, etc capping out). BTW: Juniper uses softfloat at this time. > The interesting aspect about the trapped approach is that we could > dispatch > the call farther, as please remember that embedded PowerPC can have > floating > point/signal processing engines that can do the job, but just not the > traditional model. This is the very case of PQ3 and its SPE/SPFP > which lay > idle at the moment.. Exactly: EABI is unrelated to FP. I'd like us to support softfloat (we already use it here at Juniper) for those who build their own kernel and world, but I'd like us to release a single FreeBSD/powerpc that works anywhere. Juniper uses EABI, but there's no advantage. In fact, there are only disadvantages... We may end up not using EABI in the end. -- Marcel Moolenaar xcllnt@mac.com From owner-p4-projects@FreeBSD.ORG Fri Jan 25 21:35:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C67AB16A41B; Fri, 25 Jan 2008 21:35: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 8A3F516A419 for ; Fri, 25 Jan 2008 21:35:54 +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 7513F13C4DD for ; Fri, 25 Jan 2008 21:35:54 +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 m0PLZs5r078989 for ; Fri, 25 Jan 2008 21:35:54 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 m0PLZsHI078985 for perforce@freebsd.org; Fri, 25 Jan 2008 21:35:54 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 21:35:54 GMT Message-Id: <200801252135.m0PLZsHI078985@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 134102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 21:35:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=134102 Change 134102 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 21:35:40 Add more syscalls to capabilities.conf, fix a few existing ones, and comment cases where more work is needed. Of particular importance is scoping pid-related calls, which are needed to implement most POSIX process-related things, but imply a global namespace. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#3 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#3 (text+ko) ==== @@ -5,13 +5,29 @@ # - sys_exit() and close() are very important. # - Sorted alphabeetically, please keep it that way. # -# $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#2 $ +# $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#3 $ +# +__acl_aclcheck_fd +__acl_delete_fd +__acl_get_fd +__acl_set_fd +__mac_get_fd +# +# __mac_get_pid need scoping +# +__mac_get_pid +__mac_get_proc +__mac_set_fd +__mac_set_proc +# +# Certain sysctls need more scoping # +__sysctl +_umtx_lock +_umtx_op +_umtx_unlock +abort2 accept -acl_check_fd -acl_delete_fd -acl_get_fd -acl_set_fd aio_cancel aio_error aio_fsync @@ -20,20 +36,38 @@ aio_suspend aio_waitcomplete aio_write +# +# What to do about audit()? +# +#audit bind cap_enter cap_getmode +cap_getrights cap_new +clock_gettime +clock_getres close connect -extattr_check_fd +dup +dup2 +eaccess +extattr_delete_fd extattr_get_fd extattr_list_fd extattr_set_fd +# +# Possibly fchdir() should be excluded on the basis that this implies access +# to the global namespace, and isn't really useful without it. +# fchdir fchflags fchmod fchown +# +# Need to review fcntl operations for global affects that might need to be +# scoped. +# fcntl flock fork @@ -48,22 +82,118 @@ fsync ftruncate futimes +getaudit +getaudit_addr +getauid +getcontext +getdents getdirentries +getdomainname +getegid +geteuid +gethostid +gethostname +getitimer +getgid +getgroups +# +# Should we allow getlogin? +# +#getlogin +getpagesize getpeername +# +# getpgid needs scoping. +# +getpgid +getpgrp +getpid +# +# getppid might or might not need scoping. +# +getppid +getpriority +getresgid +getresuid +getrlimit +# +# getrusage needs scoping. +# +getrusage +# +# getsid needs scoping. +# +getsid getsockname getsockopt +gettimeofday +getuid +# +# ioctl is dangerous. +# ioctl +issetugid kevent +kmq_notify +kmq_setattr +kmq_timedreceive +kmq_timedsend +# +# kill needs scoping +# +#kill +#killpg kqueue +kse_create +kse_exit +kse_release +kse_switchin +kse_thr_interrupt +kse_wakeup +ktimer_create +ktimer_delete +ktimer_getoverrun +ktimer_gettime +ktimer_settime +# +# ktrace needs scoping +# +#ktrace +lio_listio listen lseek mac_get_fd mac_set_fd +madvise +mincore +minherit +mlock +mlockall +# +# mmap needs scoping +# mmap +mprotect +msync +munlock +munlockall +munmap +nanosleep +ntp_gettime +oaio_read +oaio_write +obreak +olio_listio +openbsd_poll pipe poll pread preadv +profil +# +# ptrace needs scoping. +# +#ptrace pwrite pwritev read @@ -71,17 +201,107 @@ recv recvfrom recvmsg +rfork +# +# rtprio needs scoping. +# +rtprio +rtprio_thread +sbrk +sched_get_priority_max +sched_get_priority_mind +# +# sched_{get,set}* need scoping. +# +sched_getparam +sched_getscheduler +sched_rr_getinterval +sched_setparam +sched_setscheduler +sched_yield sctp_generic_recvmsg sctp_generic_sendmsg +sctp_generic_sendmsg_iov sctp_peeloff select send +sendfile sendmsg sendto +setaudit +setaudit_addr +setauid +setcontext +setegid +seteuid +setgid +setitimer +# +# Need to think about setpriority and capabilities. +# +setpriority +setregid +setresgid +setresuid +setreuid +setrlimit +setsid +# +# Need to review socket options and decide what to do about ones that manage +# globally visible stack properties. +# setsockopt +# +# Need to think hard about the safety of credential manipulation calls where +# the capability model and UNIX model intersect. +# +setuid +# +# shm_open needs scoping (just anonymous memory). +# +#shm_open shutdown +sigaction +sigaltstack +sigblock +sigpending +sigprocmask +sigqueue +sigreturn +sigsetmask +sigstack +sigsuspend +sigtimedwait +sigvec +sigwaitinfo socketpair +sstk +# +# sync isn't all that harmful, but is global. +# +sync sys_exit -__sysctl +thr_create +thr_exit +thr_kill +# +# thr_kill2 needs scoping. +# +#thr_kill2 +thr_new +thr_self +thr_set_name +thr_suspend +thr_wake +umask +utrace +uuidgen +vfork +# +# wait and wait4 needs process scoping work +# +wait +wait4 write writev +yield ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#8 (text+ko) ==== @@ -36,7 +36,7 @@ { 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, 0 }, /* 7 = wait4 */ + { 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 */ @@ -46,13 +46,13 @@ { 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, 0 }, /* 17 = break */ + { 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, 0 }, /* 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, 0 }, /* 23 = setuid */ + { 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, 0 }, /* 24 = getuid */ { 0, (sy_call_t *)geteuid, AUE_GETEUID, NULL, 0, 0, 0 }, /* 25 = geteuid */ { AS(ptrace_args), (sy_call_t *)ptrace, AUE_PTRACE, NULL, 0, 0, 0 }, /* 26 = ptrace */ @@ -70,83 +70,83 @@ { compat(AS(ostat_args),stat), AUE_STAT, NULL, 0, 0, 0 }, /* 38 = old stat */ { 0, (sy_call_t *)getppid, AUE_GETPPID, NULL, 0, 0, 0 }, /* 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, 0 }, /* 41 = dup */ + { 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, 0 }, /* 42 = pipe */ { 0, (sy_call_t *)getegid, AUE_GETEGID, NULL, 0, 0, 0 }, /* 43 = getegid */ - { AS(profil_args), (sy_call_t *)profil, AUE_PROFILE, NULL, 0, 0, 0 }, /* 44 = profil */ + { 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, 0 }, /* 46 = old sigaction */ + { 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, 0 }, /* 47 = getgid */ - { compat(AS(osigprocmask_args),sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 48 = old sigprocmask */ + { 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, 0 }, /* 52 = old sigpending */ - { AS(sigaltstack_args), (sy_call_t *)sigaltstack, AUE_SIGALTSTACK, NULL, 0, 0, 0 }, /* 53 = sigaltstack */ + { 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, 0 }, /* 60 = umask */ + { 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, 0 }, /* 64 = old getpagesize */ - { AS(msync_args), (sy_call_t *)msync, AUE_MSYNC, NULL, 0, 0, 0 }, /* 65 = msync */ + { 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, 0 }, /* 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, 0 }, /* 69 = sbrk */ - { AS(sstk_args), (sy_call_t *)sstk, AUE_SSTK, NULL, 0, 0, 0 }, /* 70 = sstk */ + { 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, 0 }, /* 73 = munmap */ - { AS(mprotect_args), (sy_call_t *)mprotect, AUE_MPROTECT, NULL, 0, 0, 0 }, /* 74 = mprotect */ - { AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE, NULL, 0, 0, 0 }, /* 75 = madvise */ + { 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, 0 }, /* 78 = mincore */ - { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 79 = getgroups */ + { 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, 0 }, /* 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, 0 }, /* 83 = setitimer */ + { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0, SYF_CAPENABLED }, /* 83 = setitimer */ { compat(0,wait), AUE_WAIT4, NULL, 0, 0, 0 }, /* 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, 0 }, /* 86 = getitimer */ - { compat(AS(gethostname_args),gethostname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 87 = old gethostname */ + { 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, 0 }, /* 90 = dup2 */ + { 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, 0 }, /* 96 = setpriority */ + { 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, 0 }, /* 100 = getpriority */ + { 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, 0 }, /* 103 = old sigreturn */ + { 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, 0 }, /* 108 = old sigvec */ - { compat(AS(osigblock_args),sigblock), AUE_NULL, NULL, 0, 0, 0 }, /* 109 = old sigblock */ - { compat(AS(osigsetmask_args),sigsetmask), AUE_NULL, NULL, 0, 0, 0 }, /* 110 = old sigsetmask */ - { compat(AS(osigsuspend_args),sigsuspend), AUE_NULL, NULL, 0, 0, 0 }, /* 111 = old sigsuspend */ - { compat(AS(osigstack_args),sigstack), AUE_NULL, NULL, 0, 0, 0 }, /* 112 = old sigstack */ + { 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, 0 }, /* 116 = gettimeofday */ - { AS(getrusage_args), (sy_call_t *)getrusage, AUE_GETRUSAGE, NULL, 0, 0, 0 }, /* 117 = getrusage */ + { 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 */ @@ -155,8 +155,8 @@ { 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, 0 }, /* 126 = setreuid */ - { AS(setregid_args), (sy_call_t *)setregid, AUE_SETREGID, NULL, 0, 0, 0 }, /* 127 = setregid */ + { 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 */ @@ -173,8 +173,8 @@ { compat(AS(ogetpeername_args),getpeername), AUE_GETPEERNAME, NULL, 0, 0, SYF_CAPENABLED }, /* 141 = old getpeername */ { compat(0,gethostid), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 144 = old getrlimit */ - { compat(AS(osetrlimit_args),setrlimit), AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 145 = old setrlimit */ + { 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, 0 }, /* 147 = setsid */ { AS(quotactl_args), (sy_call_t *)quotactl, AUE_QUOTACTL, NULL, 0, 0, 0 }, /* 148 = quotactl */ @@ -191,11 +191,11 @@ { 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, 0 }, /* 162 = getdomainname */ + { 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, 0 }, /* 166 = rtprio */ + { 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 */ @@ -210,9 +210,9 @@ { 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, 0 }, /* 181 = setgid */ - { AS(setegid_args), (sy_call_t *)setegid, AUE_SETEGID, NULL, 0, 0, 0 }, /* 182 = setegid */ - { AS(seteuid_args), (sy_call_t *)seteuid, AUE_SETEUID, NULL, 0, 0, 0 }, /* 183 = seteuid */ + { 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 */ @@ -223,8 +223,8 @@ { 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, 0 }, /* 194 = getrlimit */ - { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 195 = setrlimit */ + { 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 */ @@ -232,11 +232,11 @@ { 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, 0 }, /* 203 = mlock */ - { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 204 = munlock */ + { 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, 0 }, /* 207 = getpgid */ + { 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 */ @@ -261,15 +261,15 @@ { 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, 0 }, /* 232 = clock_gettime */ + { 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, 0 }, /* 234 = clock_getres */ - { AS(ktimer_create_args), (sy_call_t *)ktimer_create, AUE_NULL, NULL, 0, 0, 0 }, /* 235 = ktimer_create */ - { AS(ktimer_delete_args), (sy_call_t *)ktimer_delete, AUE_NULL, NULL, 0, 0, 0 }, /* 236 = ktimer_delete */ - { AS(ktimer_settime_args), (sy_call_t *)ktimer_settime, AUE_NULL, NULL, 0, 0, 0 }, /* 237 = ktimer_settime */ - { AS(ktimer_gettime_args), (sy_call_t *)ktimer_gettime, AUE_NULL, NULL, 0, 0, 0 }, /* 238 = ktimer_gettime */ - { AS(ktimer_getoverrun_args), (sy_call_t *)ktimer_getoverrun, AUE_NULL, NULL, 0, 0, 0 }, /* 239 = ktimer_getoverrun */ - { AS(nanosleep_args), (sy_call_t *)nanosleep, AUE_NULL, NULL, 0, 0, 0 }, /* 240 = nanosleep */ + { 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 */ @@ -277,11 +277,11 @@ { 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, 0 }, /* 248 = ntp_gettime */ + { 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, 0 }, /* 250 = minherit */ - { AS(rfork_args), (sy_call_t *)rfork, AUE_RFORK, NULL, 0, 0, 0 }, /* 251 = rfork */ - { AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0, 0 }, /* 252 = openbsd_poll */ + { 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, 0 }, /* 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 */ @@ -301,12 +301,12 @@ { 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, 0 }, /* 272 = getdents */ + { 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, 0 }, /* 277 = netbsd_msync */ + { 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 */ @@ -339,9 +339,9 @@ { 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, 0 }, /* 310 = getsid */ - { AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0, 0 }, /* 311 = setresuid */ - { AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0, 0 }, /* 312 = setresgid */ + { 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 */ @@ -353,44 +353,44 @@ { 0, (sy_call_t *)yield, AUE_NULL, NULL, 0, 0, 0 }, /* 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, 0 }, /* 324 = mlockall */ + { 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, 0 }, /* 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, 0 }, /* 327 = sched_setparam */ - { AS(sched_getparam_args), (sy_call_t *)sched_getparam, AUE_NULL, NULL, 0, 0, 0 }, /* 328 = sched_getparam */ - { AS(sched_setscheduler_args), (sy_call_t *)sched_setscheduler, AUE_NULL, NULL, 0, 0, 0 }, /* 329 = sched_setscheduler */ - { AS(sched_getscheduler_args), (sy_call_t *)sched_getscheduler, AUE_NULL, NULL, 0, 0, 0 }, /* 330 = sched_getscheduler */ + { 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, 0 }, /* 331 = sched_yield */ - { AS(sched_get_priority_max_args), (sy_call_t *)sched_get_priority_max, AUE_NULL, NULL, 0, 0, 0 }, /* 332 = sched_get_priority_max */ + { 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, 0 }, /* 335 = utrace */ - { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = old sendfile */ + { 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, 0 }, /* 340 = sigprocmask */ - { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */ - { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old sigaction */ - { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */ - { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old sigreturn */ - { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = sigtimedwait */ - { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 346 = sigwaitinfo */ + { 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, 0 }, /* 349 = __acl_get_fd */ - { AS(__acl_set_fd_args), (sy_call_t *)__acl_set_fd, AUE_NULL, NULL, 0, 0, 0 }, /* 350 = __acl_set_fd */ + { 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, 0 }, /* 352 = __acl_delete_fd */ + { 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, 0 }, /* 354 = __acl_aclcheck_fd */ + { 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, 0 }, /* 360 = getresuid */ - { AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0, 0 }, /* 361 = getresgid */ + { 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, 0 }, /* 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 */ @@ -402,27 +402,27 @@ { 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, 0 }, /* 373 = extattr_delete_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, 0 }, /* 376 = eaccess */ + { 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, 0 }, /* 379 = kse_exit */ - { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup, AUE_NULL, NULL, 0, 0, 0 }, /* 380 = kse_wakeup */ - { AS(kse_create_args), (sy_call_t *)kse_create, AUE_NULL, NULL, 0, 0, 0 }, /* 381 = kse_create */ - { AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt, AUE_NULL, NULL, 0, 0, 0 }, /* 382 = kse_thr_interrupt */ - { AS(kse_release_args), (sy_call_t *)kse_release, AUE_NULL, NULL, 0, 0, 0 }, /* 383 = kse_release */ - { AS(__mac_get_proc_args), (sy_call_t *)__mac_get_proc, AUE_NULL, NULL, 0, 0, 0 }, /* 384 = __mac_get_proc */ - { AS(__mac_set_proc_args), (sy_call_t *)__mac_set_proc, AUE_NULL, NULL, 0, 0, 0 }, /* 385 = __mac_set_proc */ - { AS(__mac_get_fd_args), (sy_call_t *)__mac_get_fd, AUE_NULL, NULL, 0, 0, 0 }, /* 386 = __mac_get_fd */ + { 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, 0 }, /* 388 = __mac_set_fd */ + { 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, 0 }, /* 392 = uuidgen */ - { AS(sendfile_args), (sy_call_t *)sendfile, AUE_SENDFILE, NULL, 0, 0, 0 }, /* 393 = sendfile */ + { 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 */ @@ -438,20 +438,20 @@ { 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, 0 }, /* 409 = __mac_get_pid */ + { 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, 0 }, /* 416 = sigaction */ - { AS(sigreturn_args), (sy_call_t *)sigreturn, AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 417 = sigreturn */ + { 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, 0 }, /* 421 = getcontext */ - { AS(setcontext_args), (sy_call_t *)setcontext, AUE_NULL, NULL, 0, 0, 0 }, /* 422 = setcontext */ + { 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 */ @@ -459,50 +459,50 @@ { 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, 0 }, /* 430 = thr_create */ - { AS(thr_exit_args), (sy_call_t *)thr_exit, AUE_NULL, NULL, 0, 0, 0 }, /* 431 = thr_exit */ - { AS(thr_self_args), (sy_call_t *)thr_self, AUE_NULL, NULL, 0, 0, 0 }, /* 432 = thr_self */ - { AS(thr_kill_args), (sy_call_t *)thr_kill, AUE_NULL, NULL, 0, 0, 0 }, /* 433 = thr_kill */ - { AS(_umtx_lock_args), (sy_call_t *)_umtx_lock, AUE_NULL, NULL, 0, 0, 0 }, /* 434 = _umtx_lock */ - { AS(_umtx_unlock_args), (sy_call_t *)_umtx_unlock, AUE_NULL, NULL, 0, 0, 0 }, /* 435 = _umtx_unlock */ + { 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, 0 }, /* 440 = kse_switchin */ + { 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, 0 }, /* 442 = thr_suspend */ - { AS(thr_wake_args), (sy_call_t *)thr_wake, AUE_NULL, NULL, 0, 0, 0 }, /* 443 = thr_wake */ + { 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, 0 }, /* 447 = getauid */ - { AS(setauid_args), (sy_call_t *)setauid, AUE_SETAUID, NULL, 0, 0, 0 }, /* 448 = setauid */ - { AS(getaudit_args), (sy_call_t *)getaudit, AUE_GETAUDIT, NULL, 0, 0, 0 }, /* 449 = getaudit */ - { AS(setaudit_args), (sy_call_t *)setaudit, AUE_SETAUDIT, NULL, 0, 0, 0 }, /* 450 = setaudit */ - { AS(getaudit_addr_args), (sy_call_t *)getaudit_addr, AUE_GETAUDIT_ADDR, NULL, 0, 0, 0 }, /* 451 = getaudit_addr */ - { AS(setaudit_addr_args), (sy_call_t *)setaudit_addr, AUE_SETAUDIT_ADDR, NULL, 0, 0, 0 }, /* 452 = setaudit_addr */ + { 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, 0 }, /* 454 = _umtx_op */ - { AS(thr_new_args), (sy_call_t *)thr_new, AUE_NULL, NULL, 0, 0, 0 }, /* 455 = thr_new */ - { AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0, 0 }, /* 456 = sigqueue */ + { 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, 0 }, /* 463 = abort2 */ - { AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0, 0 }, /* 464 = thr_set_name */ + { 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, 0 }, /* 466 = rtprio_thread */ + { 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, 0 }, /* 473 = sctp_generic_sendmsg_iov */ + { 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 */ @@ -514,7 +514,7 @@ { AS(shm_open_args), (sy_call_t *)shm_open, AUE_SHMOPEN, NULL, 0, 0, 0 }, /* 482 = shm_open */ { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0, 0 }, /* 483 = shm_unlink */ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 484 = cap_new */ - { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0, 0 }, /* 485 = cap_getrights */ + { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 485 = cap_getrights */ { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0, 0 }, /* 486 = cap_enter */ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 487 = cap_getmode */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#8 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#8 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#8 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#8 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jan 25 21:38:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B15F916A469; Fri, 25 Jan 2008 21:38: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 765A416A420 for ; Fri, 25 Jan 2008 21:38:08 +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 6295B13C45D for ; Fri, 25 Jan 2008 21:38:08 +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 m0PLc8vh079072 for ; Fri, 25 Jan 2008 21:38:08 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 m0PLc8WN079069 for perforce@freebsd.org; Fri, 25 Jan 2008 21:38:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 25 Jan 2008 21:38:08 GMT Message-Id: <200801252138.m0PLc8WN079069@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 134103 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 21:38:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=134103 Change 134103 by rwatson@rwatson_freebsd_capabilities on 2008/01/25 21:37:21 Integrate more sleepqueue fixes into TrustedBSD capabilities branch. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_sleepqueue.c#3 integrate Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/subr_sleepqueue.c#3 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.42 2008/01/25 02:09:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.43 2008/01/25 19:44:46 jhb Exp $"); #include "opt_sleepqueue_profiling.h" #include "opt_ddb.h" @@ -817,8 +817,7 @@ * sleepq_catch_signals(). */ if (TD_ON_SLEEPQ(td)) { - td->td_flags |= TDF_TIMEOUT | TDF_INTERRUPT; - td->td_intrval = EWOULDBLOCK; + td->td_flags |= TDF_TIMEOUT; thread_unlock(td); return; } From owner-p4-projects@FreeBSD.ORG Fri Jan 25 21:44:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0F6316A41B; Fri, 25 Jan 2008 21:44: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 B654F16A419 for ; Fri, 25 Jan 2008 21:44:16 +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 A41F813C442 for ; Fri, 25 Jan 2008 21:44:16 +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 m0PLiF3c079358 for ; Fri, 25 Jan 2008 21:44:15 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PLiFFt079355 for perforce@freebsd.org; Fri, 25 Jan 2008 21:44:15 GMT (envelope-from jb@freebsd.org) Date: Fri, 25 Jan 2008 21:44:15 GMT Message-Id: <200801252144.m0PLiFFt079355@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 134105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 21:44:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=134105 Change 134105 by jb@jb_freebsd1 on 2008/01/25 21:43:33 Restart the port of these from scratch. The world has changed. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap.c#4 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_close.c#2 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_ioctl.c#2 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_load.c#3 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_modevent.c#2 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_open.c#2 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_sysctl.c#2 delete .. //depot/projects/dtrace/src/sys/cddl/dev/fasttrap/fasttrap_unload.c#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jan 25 22:56:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79D4B16A468; Fri, 25 Jan 2008 22:56: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 3EC8816A41B for ; Fri, 25 Jan 2008 22:56:33 +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 1219313C45B for ; Fri, 25 Jan 2008 22:56:33 +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 m0PMuWja084613 for ; Fri, 25 Jan 2008 22:56:32 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PMuWdQ084610 for perforce@freebsd.org; Fri, 25 Jan 2008 22:56:32 GMT (envelope-from imp@freebsd.org) Date: Fri, 25 Jan 2008 22:56:32 GMT Message-Id: <200801252256.m0PMuWdQ084610@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 134107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 22:56:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=134107 Change 134107 by imp@imp_paco-paco on 2008/01/25 22:55:54 mips_interrupt is expecting Reviewed by: gonzo@ (oleksandr tymoshenko) Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#7 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/exception.S#7 (text+ko) ==== @@ -564,6 +564,7 @@ * Call the interrupt handler. */ la gp, _C_LABEL(_gp) + addu a0, sp, STAND_ARG_SIZE la k0, _C_LABEL(mips_interrupt) jalr k0 sw a3, STAND_RA_OFFSET + KERN_REG_SIZE(sp) From owner-p4-projects@FreeBSD.ORG Fri Jan 25 23:39:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6817F16A41A; Fri, 25 Jan 2008 23:39: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 F0E2116A421 for ; Fri, 25 Jan 2008 23:39:17 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA05D13C455 for ; Fri, 25 Jan 2008 23:39:17 +0000 (UTC) (envelope-from andre@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 m0PNdHIT088178 for ; Fri, 25 Jan 2008 23:39:17 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0PNdHjs088175 for perforce@freebsd.org; Fri, 25 Jan 2008 23:39:17 GMT (envelope-from andre@freebsd.org) Date: Fri, 25 Jan 2008 23:39:17 GMT Message-Id: <200801252339.m0PNdHjs088175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 134109 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Jan 2008 23:39:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=134109 Change 134109 by andre@andre_flirtbox on 2008/01/25 23:39:08 Change the SACK tracking based on discussion on the IETF TCPM mailing list. Track and report reassembly queue blocks (==SACK blocks) in the reverse order of their arrival. RFC2018 specifies this as a SHOULD item in Section 4. In the discussion some of the orginal authors of RFC2018 brought up more of the rationale and information about the real-world behavior that explain why this 'SHOULD' is beneficial to fully implement. I have to condense the rationale and benefits into the files comments. Also a pointer to a paper on implementing SACK efficiently with the example of Linux was provided: "An Experimental Investigation of TCP Performance in High Bandwidth-Delay Product Paths", retrieved from http://www.hamilton.ie/publications/baruch_even_thesis.pdf The receive side design of the reassembly is pretty much at the optimum of computational efficiency. SACK tracking is a natural fit and consists only of adding a list tracking the reverse receive order of blocks and approriate function to read and populate the outboud SACK options. The new SACK tracks as many blocks as segments fit into the reassembly queue over the previous fixed limit of 6 blocks. Struct tcpcb is reduced by 44 bytes in size. Struct trq is increased by two pointers. Add many KASSERTs and INVARIANTS to the SACK related parts. If the reassembly queue enable sysctl is disabled check that the queue is empty. The new reassembly and SACK code is tested and performed flawlessly at 2% inbound packet loss for downloads of the FreeBSD 7.0RC1 ISO images and 183 ports in archivers and biology (make fetch) from their original distribution servers around the world. An inspection of packet traces with wireshark shows correct generation and ordering of the SACK options for outbound ACKs. TODO: [done] Testing of latest changes. TODO: [done for SACK part] Discussion on tcpm. TODO: [upcoming] "ipfw tcptruncate" option to test reassembly code with wildly cut segments (think chainsaw massacre). TODO: Condense rationale form IETF TCPM discussion for file comments. TODO: KTR tracing of reassembly queue behavior. TODO: Use m_collapse() to keep down mbuf usage of blocks. TODO: ddb function to examine reassembly queue. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp.h#2 edit .. //depot/projects/tcp_reass/netinet/tcp_reass.c#15 edit .. //depot/projects/tcp_reass/netinet/tcp_subr.c#4 edit .. //depot/projects/tcp_reass/netinet/tcp_var.h#6 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp.h#2 (text+ko) ==== @@ -96,7 +96,6 @@ #define TCPOLEN_SIGNATURE 18 /* Miscellaneous constants */ -#define MAX_SACK_BLKS 6 /* Max # SACK blocks stored at receiver side */ #define TCP_MAX_SACK 4 /* MAX # SACKs sent in any segment */ ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#15 (text+ko) ==== @@ -67,12 +67,20 @@ * m_next m_next m_next * * + * The reassembly queues block structure is also used to track SACK + * information as a data receiver. A double-linked list is added + * that links the blocks the reverse order of their arrival or updating. + * This makes us fully compliant to RFC2018 Section 4 including all + * optional parts marked as "SHOULD". + * + * TODO: * A further improvement is to merge the content of mbufs together if the * preceeding one has enough space to hold the data of the new one. When * trimming the head of an mbuf chain m_adj() empties the mbufs but leaves * them in place. Only when trimming from the tail it actually frees them. * Normally we don't get mbuf chains so this isn't too much of a concern - * right now. TODO. + * right now. Use m_collapse() to compact the mbuf chains within the + * blocks. */ #include "opt_inet.h" @@ -186,7 +194,7 @@ } /* Check if it is really neccessary to do all the work. */ - if (!tcp_reass_enabled) { + if (!tcp_reass_enabled && TAILQ_EMPTY(&tp->t_trq)) { *tlenp = 0; m_freem(m); return (0); @@ -206,13 +214,20 @@ ("%s: got missing segment but queue is empty", __func__)); #ifdef INVARIANTS + i = 0; TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { KASSERT(SEQ_GEQ(tqe->trq_seq, tp->rcv_nxt), ("%s: trq_seq < rcv_nxt", __func__)); KASSERT(tqen == NULL || SEQ_LT(tqe->trq_seq + tqe->trq_len, tqen->trq_seq), ("%s: overlapping blocks", __func__)); + i++; + } + LIST_FOREACH(tqe, &tp->t_trq_sack, trq_s) { + i--; } + KASSERT(i == 0, ("%s: SEQ# ordered tailq and arrival ordered " + "list are not equally long", __func__)); #endif /* @@ -270,7 +285,10 @@ tcp_reass_mcnt += mcnt; tqe->trq_ml->m_next = m; tqe->trq_ml = m_last(m); - tp->t_trq_last = tqe; + if (LIST_FIRST(&tp->t_trq_sack) != tqe) { + LIST_REMOVE(tqe, trq_s); + LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); + } /* TCP statistics. */ tcpstat.tcps_rcvoopack++; tcpstat.tcps_rcvoobyte += *tlenp; @@ -337,7 +355,11 @@ tcpstat.tcps_rcvduppack++; tcpstat.tcps_rcvdupbyte += *tlenp; tcpstat.tcps_reass_covered++; - tp->t_trq_last = tqe; + /* XXXAO: What to SACK report when duplicate? */ + if (LIST_FIRST(&tp->t_trq_sack) != tqe) { + LIST_REMOVE(tqe, trq_s); + LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); + } m_freem(m); *tlenp = 0; return (0); @@ -360,7 +382,10 @@ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) tcp_reass_merge(tp, tqe, tqen); - tp->t_trq_last = tqe; + if (LIST_FIRST(&tp->t_trq_sack) != tqe) { + LIST_REMOVE(tqe, trq_s); + LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); + } tcpstat.tcps_reass_replace++; return (0); } @@ -389,7 +414,10 @@ n = m_last(m); n->m_next = tqe->trq_m; tqe->trq_m = m; - tp->t_trq_last = tqe; + if (LIST_FIRST(&tp->t_trq_sack) != tqe) { + LIST_REMOVE(tqe, trq_s); + LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); + } tcpstat.tcps_reass_prepend++; return (0); } @@ -416,7 +444,10 @@ if (tqen != NULL && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq)) tcp_reass_merge(tp, tqe, tqen); - tp->t_trq_last = tqe; + if (LIST_FIRST(&tp->t_trq_sack) != tqe) { + LIST_REMOVE(tqe, trq_s); + LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); + } tcpstat.tcps_reass_append++; return (0); } @@ -439,7 +470,6 @@ *tlenp = 0; return (0); } - tp->t_trq_last = tqe; tcpstat.tcps_reass_blocks++; } tcp_reass_qsize++; @@ -458,7 +488,7 @@ TAILQ_INSERT_BEFORE(tqe, tqen, trq_q); else { KASSERT(TAILQ_EMPTY(&tp->t_trq), - ("%s: queue not empty", __func__)); + ("%s: first element queue not empty", __func__)); TAILQ_INSERT_HEAD(&tp->t_trq, tqen, trq_q); /* * Flush the reassembly queue after four times the @@ -467,6 +497,7 @@ */ tcp_timer_activate(tp, TT_REASS, tp->t_rxtcur * 4); } + LIST_INSERT_HEAD(&tp->t_trq_sack, tqen, trq_s); /* Missing segment? */ if (tp->rcv_nxt != th->th_seq) @@ -502,8 +533,7 @@ tp->t_trqmcnt -= tqe->trq_mcnt; tcp_reass_mcnt -= tqe->trq_mcnt; TAILQ_REMOVE(&tp->t_trq, tqe, trq_q); - if (tp->t_trq_last == tqe) - tp->t_trq_last = NULL; + LIST_REMOVE(tqe, trq_s); if (tqe != &tqes) uma_zfree(tcp_reass_zone, tqe); tcp_reass_qsize--; @@ -554,6 +584,7 @@ tcp_reass_mcnt -= tqe->trq_mcnt; m_freem(tqen->trq_m); TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); + LIST_REMOVE(tqen, trq_s); uma_zfree(tcp_reass_zone, tqen); tcp_reass_qsize--; /* And the one after that. */ @@ -585,6 +616,7 @@ tqe->trq_ml->m_next = tqen->trq_m; tqe->trq_ml = tqen->trq_ml; TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); + LIST_REMOVE(tqen, trq_s); uma_zfree(tcp_reass_zone, tqen); tcp_reass_qsize--; tcpstat.tcps_reass_merge++; @@ -602,28 +634,19 @@ int nsacks = 0; KASSERT(numsacks > 0, - ("%s: ", __func__)); + ("%s: zero sack blocks to add", __func__)); KASSERT(!TAILQ_EMPTY(&tp->t_trq), - ("%s: ", __func__)); + ("%s: reassembly queue empty", __func__)); + KASSERT(!LIST_EMPTY(&tp->t_trq_sack), + ("%s: sack list empty", __func__)); - /* The most recent block must appear first. RFC2018, Section 4. */ - if (tp->t_trq_last != NULL) { - sack_seq = htonl(tp->t_trq_last->trq_seq); - bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); - optp += sizeof(sack_seq); - sack_seq = htonl(tp->t_trq_last->trq_seq + tp->t_trq_last->trq_len); - bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); - optp += sizeof(sack_seq); - numsacks--; - nsacks++; - } - - /* Add the other less recent blocks in ascending order. */ - TAILQ_FOREACH(tqe, &tp->t_trq, trq_q) { + /* + * The most recent block must appear first. RFC2018, Section 4. + * Add the other blocks in most recent created or updated order. + */ + LIST_FOREACH(tqe, &tp->t_trq_sack, trq_s) { if (numsacks < 1) break; - if (tp->t_trq_last == tqe) - continue; sack_seq = htonl(tqe->trq_seq); bcopy((u_char *)&sack_seq, optp, sizeof(sack_seq)); optp += sizeof(sack_seq); @@ -653,6 +676,7 @@ ("%s: t_trqmcnt incorrect", __func__)); tp->t_trqmcnt -= tqe->trq_mcnt; TAILQ_REMOVE(&tp->t_trq, tqe, trq_q); + LIST_REMOVE(tqe, trq_s); uma_zfree(tcp_reass_zone, tqe); tcp_reass_qsize--; } ==== //depot/projects/tcp_reass/netinet/tcp_subr.c#4 (text+ko) ==== @@ -611,8 +611,9 @@ tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); if (tcp_do_sack) tp->t_flags |= TF_SACK_PERMIT; - TAILQ_INIT(&tp->snd_holes); /* Covered by M_ZERO. */ - TAILQ_INIT(&tp->t_trq); /* Covered by M_ZERO. */ + TAILQ_INIT(&tp->t_trq); + LIST_INIT(&tp->t_trq_sack); + TAILQ_INIT(&tp->snd_holes); tp->t_inpcb = inp; /* XXX */ /* * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no ==== //depot/projects/tcp_reass/netinet/tcp_var.h#6 (text+ko) ==== @@ -42,7 +42,8 @@ /* TCP reassembly queue segment block entry. */ struct trq { - TAILQ_ENTRY(trq) trq_q; + TAILQ_ENTRY(trq) trq_q; /* linked list in SEQ# order */ + LIST_ENTRY(trq) trq_s; /* linked list in SACK order */ tcp_seq trq_seq; /* start of block */ int trq_len; /* length of block */ int trq_mcnt; /* gross mbuf size of block */ @@ -52,6 +53,7 @@ struct mbuf *trq_ml; /* last mbuf in chain of data */ }; TAILQ_HEAD(trq_head, trq); +LIST_HEAD(trq_shead, trq); extern struct uma_zone *tcp_reass_zone; struct sackblk { @@ -96,7 +98,7 @@ */ struct tcpcb { struct trq_head t_trq; /* segment reassembly queue */ - struct trq *t_trq_last; /* last addition to reassembly queue */ + struct trq_shead t_trq_sack; /* last additions to reass queue */ int t_trqmcnt; /* segment reassembly queue gross usage */ int t_dupacks; /* consecutive dup acks recd */ From owner-p4-projects@FreeBSD.ORG Sat Jan 26 00:43:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE18616A46D; Sat, 26 Jan 2008 00:43: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 7BA8416A46C for ; Sat, 26 Jan 2008 00:43:25 +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 645C413C47E for ; Sat, 26 Jan 2008 00:43:25 +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 m0Q0hPCX092635 for ; Sat, 26 Jan 2008 00:43:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q0hPkf092632 for perforce@freebsd.org; Sat, 26 Jan 2008 00:43:25 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 00:43:25 GMT Message-Id: <200801260043.m0Q0hPkf092632@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 134110 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 00:43:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=134110 Change 134110 by jb@jb_freebsd1 on 2008/01/26 00:42:56 Add the chill test. Remove the ignored tests that should have been part of a previous submit. Affected files ... .. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#21 edit Differences ... ==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#21 (text+ko) ==== @@ -27,7 +27,6 @@ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d \ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d \ ${TESTSRCDIR}/tst/common/funcs/tst.bcopy.d \ - ${TESTSRCDIR}/tst/common/funcs/tst.chill.ksh \ ${TESTSRCDIR}/tst/common/funcs/tst.copyin.d \ ${TESTSRCDIR}/tst/common/funcs/tst.copyinto.d \ ${TESTSRCDIR}/tst/common/funcs/tst.ddi_pathname.d \ @@ -101,8 +100,6 @@ ${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \ ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \ - X${TESTSRCDIR}/tst/common/proc/tst.sigwait.c \ - X${TESTSRCDIR}/tst/common/proc/tst.sigwait.d \ ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \ ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.c \ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \ @@ -156,9 +153,6 @@ ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \ ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \ ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \ - X${TESTSRCDIR}/tst/common/raise/tst.raise1.d \ - X${TESTSRCDIR}/tst/common/raise/tst.raise2.d \ - X${TESTSRCDIR}/tst/common/raise/tst.raise3.d \ NOTWORK+= \ ${TESTSRCDIR}/tst/common/io/tst.fds.d \ From owner-p4-projects@FreeBSD.ORG Sat Jan 26 00:43:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EEBF16A509; Sat, 26 Jan 2008 00: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 B61A416A417 for ; Sat, 26 Jan 2008 00:43:25 +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 86E2413C461 for ; Sat, 26 Jan 2008 00:43:25 +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 m0Q0hPCG092641 for ; Sat, 26 Jan 2008 00:43:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q0hPP4092638 for perforce@freebsd.org; Sat, 26 Jan 2008 00:43:25 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 00:43:25 GMT Message-Id: <200801260043.m0Q0hPP4092638@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 134111 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 00:43:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=134111 Change 134111 by jb@jb_freebsd1 on 2008/01/26 00:43:09 IFopensolaris Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/fasttrap_impl.h#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jan 26 00:44:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2411E16A469; Sat, 26 Jan 2008 00:44:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDA9816A417 for ; Sat, 26 Jan 2008 00:44:26 +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 C6A1413C4D9 for ; Sat, 26 Jan 2008 00:44:26 +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 m0Q0iQG4093138 for ; Sat, 26 Jan 2008 00:44:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q0iQKx093135 for perforce@freebsd.org; Sat, 26 Jan 2008 00:44:26 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 00:44:26 GMT Message-Id: <200801260044.m0Q0iQKx093135@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 134112 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 00:44:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=134112 Change 134112 by jb@jb_freebsd1 on 2008/01/26 00:43:56 Tweak some definitions. Affected files ... .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/cpuvar.h#8 edit .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/pcpu.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/compat/opensolaris/sys/cpuvar.h#8 (text+ko) ==== @@ -48,6 +48,7 @@ /* Some code may choose to redefine this if pcpu_t would be more useful. */ #define cpu_t solaris_cpu_t +#define cpu_id cpuid extern solaris_cpu_t solaris_cpu[]; ==== //depot/projects/dtrace/src/sys/compat/opensolaris/sys/pcpu.h#6 (text+ko) ==== @@ -34,6 +34,4 @@ typedef struct pcpu pcpu_t; -#define cpu_id pc_cpuid - #endif From owner-p4-projects@FreeBSD.ORG Sat Jan 26 00:45:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 645B116A41A; Sat, 26 Jan 2008 00:45: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 29C5A16A417 for ; Sat, 26 Jan 2008 00:45:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1272113C47E for ; Sat, 26 Jan 2008 00:45:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0Q0jRjV095148 for ; Sat, 26 Jan 2008 00:45:27 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q0jRV5095145 for perforce@freebsd.org; Sat, 26 Jan 2008 00:45:27 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 00:45:27 GMT Message-Id: <200801260045.m0Q0jRV5095145@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 134113 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 00:45:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=134113 Change 134113 by jb@jb_freebsd1 on 2008/01/26 00:45:06 Make the chill code work. I feel like I need to use the word "dude" here too. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#27 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#27 (text) ==== @@ -5434,15 +5434,12 @@ static void dtrace_action_chill(dtrace_mstate_t *mstate, hrtime_t val) { -printf("%s(%d): DOODAD\n",__func__,__LINE__); -#ifdef DOODAD hrtime_t now; volatile uint16_t *flags; #if defined(sun) cpu_t *cpu = CPU; #else - cpu_t *c = &solaris_cpu[curcpu]; - struct pcpu *cpu = pcpu_find(curcpu); + cpu_t *cpu = &solaris_cpu[curcpu]; #endif if (dtrace_destructive_disallow) @@ -5481,7 +5478,6 @@ */ mstate->dtms_present &= ~DTRACE_MSTATE_TIMESTAMP; cpu->cpu_dtrace_chilled += val; -#endif } static void From owner-p4-projects@FreeBSD.ORG Sat Jan 26 01:38:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 887E816A420; Sat, 26 Jan 2008 01:38: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 33CA116A418 for ; Sat, 26 Jan 2008 01:38:26 +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 1A72713C455 for ; Sat, 26 Jan 2008 01:38:26 +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 m0Q1cQhx008472 for ; Sat, 26 Jan 2008 01:38:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q1cPlF008469 for perforce@freebsd.org; Sat, 26 Jan 2008 01:38:25 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 01:38:25 GMT Message-Id: <200801260138.m0Q1cPlF008469@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 134115 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 01:38:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=134115 Change 134115 by jb@jb_freebsd1 on 2008/01/26 01:38:23 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#11 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml#7 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml#2 integrate .. //depot/projects/dtrace/ports/UPDATING#48 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#27 integrate .. //depot/projects/dtrace/src/etc/rc.d/kerberos#6 integrate .. //depot/projects/dtrace/src/etc/rc.subr#15 integrate .. //depot/projects/dtrace/src/lib/msun/src/k_cos.c#4 integrate .. //depot/projects/dtrace/src/sbin/ipfw/ipfw2.c#16 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uftdi.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uftdireg.h#4 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#10 integrate .. //depot/projects/dtrace/src/sys/modules/cxgb/cxgb/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw.h#8 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw2.c#25 integrate .. //depot/projects/dtrace/src/tools/sched/schedgraph.py#9 integrate .. //depot/projects/dtrace/src/usr.sbin/pw/pw.8#6 integrate .. //depot/projects/dtrace/www/en/administration.sgml#5 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/schedule.sgml#11 integrate .. //depot/projects/dtrace/www/en/releases/7.0R/todo.sgml#4 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#36 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#20 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#11 (text+ko) ==== @@ -1,4 +1,4 @@ - + The &os; Documentation Engineering Team @@ -208,7 +208,7 @@ - None + &a.philip; ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml#7 (text+ko) ==== @@ -15,7 +15,7 @@ Problem Report Handling Guidelines - $FreeBSD: doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml,v 1.28 2007/04/14 13:18:37 blackend Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml,v 1.29 2008/01/25 22:15:03 linimon Exp $ &tm-attrib.freebsd; @@ -335,6 +335,12 @@ + &man.jail.8; subsystem + jail + freebsd-jail + + + &java.virtual.machine; problems java freebsd-java ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -126,6 +126,95 @@ + + + + + 苠郋邾 + 茤玼迡 + 邽郇 + + + + 苤邽迮邾邽邿郇 郋郇郋迣 茤茤茤茤邾迠 訄邿迠 郋郅郋 郇 + + 虷茤邾邽邿郇 郋邽迣郋郋 郋迠 玼郱迡 訄郅迡訄訄訄訄訄 茤邾郇茤 邾訄邽郇訄訄 + 郋郇郋迣 茤茤茤茤邾迠邽邿郇 訇玼迣郅邽邿迣 郋郅迠 訄赲訄 郇 訄訄郅訄迣 赲迡訄郅 邾. + &os; 郇 玼郇迡郇 玼邿郅迡郅邽邿郇 邽迮邾 訇邽 郋邽郋郅迡郋郅迡 訇訄邿迣訄訄 玼邿郅迡郅邽邿郇 + 邽迮邾邽邿郇 郋邽迣郋郋迣 訄訄郇 訇玼迣郅邽邿郇 迠訄迣訄訄郅迣 郅訇訄訄郇 + 玼玼迣迠 訇郋郅郇郋. 邽 郇 µsoft;-邽邿郇 + Device Manager 訇 茤茤茤茤邾迠邽邿郇 + 邾迮郇迮迠迮 郇 郅迣訄迣迡訄郇 茤茤茤茤邾迠玼玼迡邽邿郇 訄郅訄訄 訄郅 + 邾迡郅郅邽邿迣 邽赲郅郇 訄迣郅迡訄迣. + Device Manager 郇 control panel + 訇 郇訄郅郇 訄邾訇訄 訇訄邿郅訄迡訄迣. + + + µsoft.windows;-邽邿郇 郱訄邽邾 赲邽郅訇訄迡訄迡 + System 迣郇 迡玼 訇訄邿迡訄迣 訇茤迣茤茤迡 + 郇 郇 Device Manager 訄郇迡訄 + 訇郋郅郋邾迠郋邿 迡郅迣邽邿迣 訄郅迡訄迣. + + + 苭赲 茤茤 玼邿郅迡郅邽邿郇 邽迮邾 邾訄邽郇 迡 訇訄邿迣玼邿 訇郋郅 + 訄迡邾邽郇邽訄郋 郇 邾迡郅郅邽邿迣 茤茤茤茤 郋郅郋 迣邿 訇郋郅郇郋. + 迣 訄迣訄 郇 &man.dmesg.8; 迣郅 訇郋郅郋郇 &man.man.1; + 訄訄郅迡迣 訄邽迣郅訄 赲迡訄郅 邾. &os; 迡 邽郇 茤茤茤茤邾迠邽邿郇 + 迡訄邿赲迮迡 郇 迡邾迠邽迣迡郇 郋郇郋迣 茤茤茤茤邾迠玼玼迡邽邿郇 迠訄迣訄訄郅迣 + 訄郅訄郇 迣訄郇 訄赲郅訄迣郇 迡訄訄邿 訇訄邿迡訄迣 訇茤迣茤茤迡 訄訄訄郅訄 玼迮迡 + 訄郅迣訄迠 訇訄邿 赲訄迡 郋郅迡郋郇 郋郇郋迣 茤茤茤茤邾迠邽邿迣 訄郅迡訄迣. + 邽 郇 迡訄訄訄 邾茤玼玼迡 郇 psm + 迡訄邿赲迮 郅迣訄郇訄 郋郅郋郇 迣迡迣邽邿迣 訄郅迠 訇訄邿郇訄: + + psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: [GIANT-LOCKED] +psm0: [ITHREAD] +psm0: model Generic PS/2 mouse, device ID 0 + + 衪郇 迡訄邿赲迮 郇 茤茤郅茤郇 郋邽郅訄 茤邾邽邿郇 郋邽迣郋郋郇 + 訄邿郅迡 郋郋郇 訇訄邿 赲郅 &man.loader.conf.5; 訄邽迣郅訄郇 訄訄訄郅訄迣迡訄郇 + 訇訄邿 迣邿 訇郋郅郇郋. + + 訄邽邾 郋邽郋郅迡郋郅迡 dmesg- 迣訄 + 訇訄邿迣訄訄 茤迣茤迣迡茤郅 郇 訄訄訄郅訄郅郇 訄郅迣訄郅, 邽郅玼玼郅郅邽邿郇 迣訄訄郅迣 + 訇邽 郱茤赲茤郇 邽迮邾邽邿郇 邾迡迣迡郅玼玼迡邽邿迣 玼郱玼玼郅迡迣. 衪迡迣 郋邽郋郅迡郅迡訄迡 + /var/log/dmesg.today 訇郋郅郋郇 + /var/log/dmesg.yesterday 訄邿郅迡迣 + 玼郱郇 迣訄訄郅迣 郋郅迠 訄赲 訇郋郅郇郋. + + 苠郋郇郋迣 茤茤茤茤邾迠邽邿迣 郋郅郋 茤茤 郇迣 訄迣訄 訇郋郅 邽郅玼玼 迡郅迣郇迣玼邿 + 迣訄訄郅迣 玼郱玼玼郅迡迣 &man.pciconf.8; 迣郅邽邿迣 訄邽迣郅訄 赲迡訄郅 邾. + 邽 郇: + + ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00 + vendor = 'Atheros Communications Inc.' + device = 'AR5212 Atheros AR5212 802.11abg wireless' + class = network + subclass = ethernet + + pciconf 訄邽迣郅訄郇 + 郋郅迠 訄赲訄郇 郇 訇訄郇 邾迡郅郅 郇 ath + 迡訄邿赲迮 訄迣玼邿 Ethernet 茤茤茤茤邾迠邽邿迣 郋郅郇迣 訄郅迠 訇訄邿郇訄. + man ath 訄訄郅迣 + 訄邽迣郅訄赲訄郅 &man.ath.4; 迣訄郇 訄赲郅訄迣郇 迡迣 訄郅訄 + 訇郋郅郇郋. + + 邽迣訄邿 邾郅郅郅 郋郅迠 訄赲訄郇 郅迡 &man.man.1; + 迣邽邿迣 茤迣茤郇 訄邽迣郅訄迠 訇郋郅郇郋. + 邽郇迣迠 茤迣 訇郋郅郇郋: + + &prompt.root; man -k Atheros + + 苠訄邿郇 郇迣 玼迣 訄迣郅訄郇 迣訄郇 訄赲郅訄迣郇 迡郇 迠訄迣訄訄郅迣 + 郋郅迠 訄赲訄郇 郅迡: + + ath(4) - Atheros IEEE 802.11 wireless network driver +ath_hal(4) - Atheros Hardware Access Layer (HAL) + + 苠郋郇郋迣 茤茤茤茤邾迠邽邿郇 迠訄迣訄訄郅訄訄 郱赲迣郅郇 + 茤邾邽邿迣 茤茤郅茤郇 郋邽郅迠 訇玼 郈郋迮 郇 訄訄邿 郅訇訄 訇郋郅郇郋. + + 茖茤郅茤郇 郋邽郅訄郇 茤邾邽邿迣 訇玼 訇訄 郅迣訄 郇 ==== //depot/projects/dtrace/ports/UPDATING#48 (text+ko) ==== @@ -6,6 +6,16 @@ time you update your ports collection, before attempting any port upgrades. +20080125: + AFFECTS: users of www/mod_security2 + AUTHOR: araujo@FreeBSD.org + + Update of mod_security2 is a dramatic change, because there is a need + to completely rewrite their obsolete rules and migrate for capacity + to use new syntax. + You need to make a complete backup of your conf files before to do an + update. + 20080120: AFFECTS: users of www/apache20 AUTHOR: clement@FreeBSD.org @@ -6005,4 +6015,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.578 2008/01/20 15:00:32 clement Exp $ +$FreeBSD: ports/UPDATING,v 1.579 2008/01/25 11:31:31 araujo Exp $ ==== //depot/projects/dtrace/src/etc/defaults/rc.conf#27 (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.323 2008/01/21 04:41:18 rafan Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.324 2008/01/25 05:23:01 mtm Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -239,7 +239,7 @@ # kerberos5_server_enable="NO" # Run a kerberos 5 master server (or NO). kerberos5_server="/usr/libexec/kdc" # path to kerberos 5 KDC -kerberos5_server_flags="" # Additional flags to the kerberos 5 server +kerberos5_server_flags="--detach" # Additional flags to the kerberos 5 server kadmind5_server_enable="NO" # Run kadmind (or NO) kadmind5_server="/usr/libexec/kadmind" # path to kerberos 5 admin daemon kpasswdd_server_enable="NO" # Run kpasswdd (or NO) ==== //depot/projects/dtrace/src/etc/rc.d/kerberos#6 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/kerberos,v 1.7 2007/10/19 08:59:59 mtm Exp $ +# $FreeBSD: src/etc/rc.d/kerberos,v 1.8 2008/01/25 05:23:01 mtm Exp $ # # PROVIDE: kerberos @@ -10,7 +10,6 @@ name="kerberos5" rcvar="kerberos5_server_enable" -command_args="--detach" load_rc_config $name command="${kerberos5_server}" ==== //depot/projects/dtrace/src/etc/rc.subr#15 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: rc.subr,v 1.67 2006/10/07 11:25:15 elad Exp $ -# $FreeBSD: src/etc/rc.subr,v 1.77 2007/10/09 07:20:44 dougb Exp $ +# $FreeBSD: src/etc/rc.subr,v 1.79 2008/01/25 16:44:34 mtm Exp $ # # Copyright (c) 1997-2004 The NetBSD Foundation, Inc. # All rights reserved. ==== //depot/projects/dtrace/src/lib/msun/src/k_cos.c#4 (text+ko) ==== @@ -12,7 +12,7 @@ */ #ifndef lint -static char rcsid[] = "$FreeBSD: src/lib/msun/src/k_cos.c,v 1.10 2005/10/26 12:36:18 bde Exp $"; +static char rcsid[] = "$FreeBSD: src/lib/msun/src/k_cos.c,v 1.11 2008/01/25 21:09:21 bde Exp $"; #endif /* @@ -73,7 +73,7 @@ z = x*x; r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); - hz = (float)0.5*z; + hz = 0.5*z; w = one-hz; return w + (((one-w)-hz) + (z*r-x*y)); } ==== //depot/projects/dtrace/src/sbin/ipfw/ipfw2.c#16 (text+ko) ==== @@ -17,7 +17,7 @@ * * NEW command line interface for IP firewall facility * - * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.112 2008/01/20 08:31:35 maxim Exp $ + * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.113 2008/01/25 14:38:26 rwatson Exp $ */ #include @@ -47,6 +47,8 @@ #include #include +#define IPFW_INTERNAL /* Access to protected structures in ip_fw.h. */ + #include #include #include ==== //depot/projects/dtrace/src/sys/dev/usb/uftdi.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.37 2007/06/22 05:53:05 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/uftdi.c,v 1.38 2008/01/25 02:41:44 emaste Exp $"); /* * FTDI FT8U100AX serial adapter driver @@ -121,6 +121,7 @@ static void uftdi_write(void *sc, int portno, u_char *to, u_char *from, u_int32_t *count); static void uftdi_break(void *sc, int portno, int onoff); +static int uftdi_8u232am_getrate(speed_t speed, int *rate); struct ucom_callback uftdi_callback = { uftdi_get_status, @@ -569,25 +570,8 @@ break; case UFTDI_TYPE_8U232AM: - switch(t->c_ospeed) { - case 300: rate = ftdi_8u232am_b300; break; - case 600: rate = ftdi_8u232am_b600; break; - case 1200: rate = ftdi_8u232am_b1200; break; - case 2400: rate = ftdi_8u232am_b2400; break; - case 4800: rate = ftdi_8u232am_b4800; break; - case 9600: rate = ftdi_8u232am_b9600; break; - case 19200: rate = ftdi_8u232am_b19200; break; - case 38400: rate = ftdi_8u232am_b38400; break; - case 57600: rate = ftdi_8u232am_b57600; break; - case 115200: rate = ftdi_8u232am_b115200; break; - case 230400: rate = ftdi_8u232am_b230400; break; - case 460800: rate = ftdi_8u232am_b460800; break; - case 921600: rate = ftdi_8u232am_b921600; break; - case 2000000: rate = ftdi_8u232am_b2000000; break; - case 3000000: rate = ftdi_8u232am_b3000000; break; - default: + if (uftdi_8u232am_getrate(t->c_ospeed, &rate) == -1) return (EINVAL); - } break; } req.bmRequestType = UT_WRITE_VENDOR_DEVICE; @@ -702,6 +686,70 @@ (void)usbd_do_request(ucom->sc_udev, &req, NULL); } +static int +uftdi_8u232am_getrate(speed_t speed, int *rate) +{ + /* Table of the nearest even powers-of-2 for values 0..15. */ + static const unsigned char roundoff[16] = { + 0, 2, 2, 4, 4, 4, 8, 8, + 8, 8, 8, 8, 16, 16, 16, 16, + }; + + unsigned int d, freq; + int result; + + if (speed <= 0) + return (-1); + + /* Special cases for 2M and 3M. */ + if (speed >= 3000000 * 100 / 103 && + speed <= 3000000 * 100 / 97) { + result = 0; + goto done; + } + if (speed >= 2000000 * 100 / 103 && + speed <= 2000000 * 100 / 97) { + result = 1; + goto done; + } + + d = (FTDI_8U232AM_FREQ << 4) / speed; + d = (d & ~15) + roundoff[d & 15]; + + if (d < FTDI_8U232AM_MIN_DIV) + d = FTDI_8U232AM_MIN_DIV; + else if (d > FTDI_8U232AM_MAX_DIV) + d = FTDI_8U232AM_MAX_DIV; + + /* + * Calculate the frequency needed for d to exactly divide down + * to our target speed, and check that the actual frequency is + * within 3% of this. + */ + freq = speed * d; + if (freq < (quad_t)(FTDI_8U232AM_FREQ << 4) * 100 / 103 || + freq > (quad_t)(FTDI_8U232AM_FREQ << 4) * 100 / 97) + return (-1); + + /* + * Pack the divisor into the resultant value. The lower + * 14-bits hold the integral part, while the upper 2 bits + * encode the fractional component: either 0, 0.5, 0.25, or + * 0.125. + */ + result = d >> 4; + if (d & 8) + result |= 0x4000; + else if (d & 4) + result |= 0x8000; + else if (d & 2) + result |= 0xc000; + +done: + *rate = result; + return (0); +} + static device_method_t uftdi_methods[] = { /* Device interface */ DEVMETHOD(device_probe, uftdi_match), ==== //depot/projects/dtrace/src/sys/dev/usb/uftdireg.h#4 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: uftdireg.h,v 1.6 2002/07/11 21:14:28 augustss Exp $ */ -/* $FreeBSD: src/sys/dev/usb/uftdireg.h,v 1.2 2004/07/01 17:16:20 brooks Exp $ */ +/* $FreeBSD: src/sys/dev/usb/uftdireg.h,v 1.3 2008/01/25 02:41:44 emaste Exp $ */ /* * Definitions for the FTDI USB Single Port Serial Converter - @@ -91,23 +91,11 @@ ftdi_sio_b115200 = 9 }; -enum { - ftdi_8u232am_b300 = 0x2710, - ftdi_8u232am_b600 = 0x1388, - ftdi_8u232am_b1200 = 0x09c4, - ftdi_8u232am_b2400 = 0x04e2, - ftdi_8u232am_b4800 = 0x0271, - ftdi_8u232am_b9600 = 0x4138, - ftdi_8u232am_b19200 = 0x809c, - ftdi_8u232am_b38400 = 0xc04e, - ftdi_8u232am_b57600 = 0x0034, - ftdi_8u232am_b115200 = 0x001a, - ftdi_8u232am_b230400 = 0x000d, - ftdi_8u232am_b460800 = 0x4006, - ftdi_8u232am_b921600 = 0x8003, - ftdi_8u232am_b2000000 = 0x0001, /* special case for 2M baud */ - ftdi_8u232am_b3000000 = 0x0000, /* special case for 3M baud */ -}; +#define FTDI_8U232AM_FREQ 3000000 + +/* Bounds for normal divisors as 4-bit fixed precision ints. */ +#define FTDI_8U232AM_MIN_DIV 0x20 +#define FTDI_8U232AM_MAX_DIV 0x3fff8 /* * BmRequestType: 0100 0000B ==== //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#10 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.41 2007/11/14 06:51:33 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.43 2008/01/25 19:44:46 jhb Exp $"); #include "opt_sleepqueue_profiling.h" #include "opt_ddb.h" @@ -439,17 +439,36 @@ sleepq_switch(void *wchan) { struct sleepqueue_chain *sc; + struct sleepqueue *sq; struct thread *td; td = curthread; sc = SC_LOOKUP(wchan); mtx_assert(&sc->sc_lock, MA_OWNED); THREAD_LOCK_ASSERT(td, MA_OWNED); - /* We were removed */ + + /* + * If we have a sleep queue, then we've already been woken up, so + * just return. + */ if (td->td_sleepqueue != NULL) { mtx_unlock_spin(&sc->sc_lock); return; } + + /* + * If TDF_TIMEOUT is set, then our sleep has been timed out + * already but we are still on the sleep queue, so dequeue the + * thread and return. + */ + if (td->td_flags & TDF_TIMEOUT) { + MPASS(TD_ON_SLEEPQ(td)); + sq = sleepq_lookup(wchan); + sleepq_resume_thread(sq, td, -1); + mtx_unlock_spin(&sc->sc_lock); + return; + } + thread_lock_set(td, &sc->sc_lock); MPASS(td->td_sleepqueue == NULL); @@ -790,14 +809,15 @@ thread_unlock(td); return; } + /* - * If the thread is on the SLEEPQ but not sleeping and we have it - * locked it must be in sleepq_catch_signals(). Let it know we've - * timedout here so it can remove itself. + * If the thread is on the SLEEPQ but isn't sleeping yet, it + * can either be on another CPU in between sleepq_add() and + * one of the sleepq_*wait*() routines or it can be in + * sleepq_catch_signals(). */ if (TD_ON_SLEEPQ(td)) { - td->td_flags |= TDF_TIMEOUT | TDF_INTERRUPT; - td->td_intrval = EWOULDBLOCK; + td->td_flags |= TDF_TIMEOUT; thread_unlock(td); return; } ==== //depot/projects/dtrace/src/sys/modules/cxgb/cxgb/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/cxgb/cxgb/Makefile,v 1.4 2008/01/13 22:31:59 kmacy Exp $ +# $FreeBSD: src/sys/modules/cxgb/cxgb/Makefile,v 1.5 2008/01/26 01:00:56 kmacy Exp $ CXGB = ${.CURDIR}/../../../dev/cxgb .PATH: ${CXGB} ${CXGB}/common ${CXGB}/sys @@ -7,7 +7,7 @@ SRCS= cxgb_mc5.c cxgb_vsc8211.c cxgb_ael1002.c cxgb_mv88e1xxx.c SRCS+= cxgb_xgmac.c cxgb_vsc7323.c cxgb_t3_hw.c cxgb_main.c SRCS+= cxgb_sge.c cxgb_lro.c cxgb_offload.c cxgb_l2t.c -SRCS+= device_if.h bus_if.h pci_if.h opt_zero.h opt_sched.h +SRCS+= device_if.h bus_if.h pci_if.h opt_zero.h opt_sched.h opt_global.h SRCS+= uipc_mvec.c cxgb_support.c SRCS+= cxgb_multiq.c ==== //depot/projects/dtrace/src/sys/netinet/ip_fw.h#8 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw.h,v 1.110 2007/05/04 11:15:41 bz Exp $ + * $FreeBSD: src/sys/netinet/ip_fw.h,v 1.111 2008/01/25 14:38:27 rwatson Exp $ */ #ifndef _IPFW2_H @@ -310,18 +310,25 @@ u_int32_t log_left; /* how many left to log */ } ipfw_insn_log; +/* + * Data structures required by both ipfw(8) and ipfw(4) but not part of the + * management API are protcted by IPFW_INTERNAL. + */ +#ifdef IPFW_INTERNAL /* Server pool support (LSNAT). */ struct cfg_spool { LIST_ENTRY(cfg_spool) _next; /* chain of spool instances */ struct in_addr addr; u_short port; }; +#endif /* Redirect modes id. */ #define REDIR_ADDR 0x01 #define REDIR_PORT 0x02 #define REDIR_PROTO 0x04 +#ifdef IPFW_INTERNAL /* Nat redirect configuration. */ struct cfg_redir { LIST_ENTRY(cfg_redir) _next; /* chain of redir instances */ @@ -341,8 +348,11 @@ /* chain of spool instances */ LIST_HEAD(spool_chain, cfg_spool) spool_chain; }; +#endif #define NAT_BUF_LEN 1024 + +#ifdef IPFW_INTERNAL /* Nat configuration data struct. */ struct cfg_nat { /* chain of nat instances */ @@ -357,6 +367,7 @@ /* chain of redir instances */ LIST_HEAD(redir_chain, cfg_redir) redir_chain; }; +#endif #define SOF_NAT sizeof(struct cfg_nat) #define SOF_REDIR sizeof(struct cfg_redir) ==== //depot/projects/dtrace/src/sys/netinet/ip_fw2.c#25 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_fw2.c,v 1.179 2007/12/09 15:35:09 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_fw2.c,v 1.180 2008/01/25 14:38:27 rwatson Exp $"); #define DEB(x) #define DDB(x) x @@ -68,6 +68,9 @@ #include #include #include + +#define IPFW_INTERNAL /* Access to protected data structures in ip_fw.h. */ + #include #include #include ==== //depot/projects/dtrace/src/tools/sched/schedgraph.py#9 (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/tools/sched/schedgraph.py,v 1.15 2008/01/13 22:46:24 kris Exp $ +# $FreeBSD: src/tools/sched/schedgraph.py,v 1.16 2008/01/25 19:24:12 jhb Exp $ import sys import re @@ -978,7 +978,7 @@ def synchstamp(self, lines): status.startup("Rationalizing Timestamps") - tstamp_re = re.compile("\s+\d+\s+(\d+)\s+(\d+)\s+.*") + tstamp_re = re.compile("\s*\d+\s+(\d+)\s+(\d+)\s+.*") for line in lines: m = tstamp_re.match(line) if (m != None): @@ -989,7 +989,7 @@ def monostamp(self, lines): laststamp = None - tstamp_re = re.compile("\s+\d+\s+(\d+)\s+(\d+)\s+.*") + tstamp_re = re.compile("\s*\d+\s+(\d+)\s+(\d+)\s+.*") for line in lines: m = tstamp_re.match(line) if (m == None): ==== //depot/projects/dtrace/src/usr.sbin/pw/pw.8#6 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.sbin/pw/pw.8,v 1.41 2007/03/30 11:23:10 le Exp $ +.\" $FreeBSD: src/usr.sbin/pw/pw.8,v 1.42 2008/01/25 15:54:14 mtm Exp $ .\" .Dd March 30, 2007 .Dt PW 8 @@ -402,7 +402,7 @@ .It Fl G Ar grouplist Set additional group memberships for an account. .Ar grouplist -is a comma-separated list of group names or group numbers. +is a comma, space or tab-separated list of group names or group numbers. The user's name is added to the group lists in .Pa /etc/group , and ==== //depot/projects/dtrace/www/en/administration.sgml#5 (text+ko) ==== @@ -1,5 +1,5 @@ + %developers; @@ -350,7 +350,7 @@ actions.

Port Management Team Secretary ==== //depot/projects/dtrace/www/en/releases/7.0R/schedule.sgml#11 (text+ko) ==== @@ -1,7 +1,7 @@ - + @@ -158,7 +158,7 @@ RC2 builds - 26 Dec 2007 + 28 Jan 2008 -- Begin RC2 builds. @@ -193,14 +193,14 @@ RELEASE builds - 9 Jan 2008 + 11 Feb 2008 -- Begin RELEASE builds. Announcement - 14 Jan 2008 + 16 Feb 2008 -- Announcement sent out after a majority of the mirrors have received the bits. ==== //depot/projects/dtrace/www/en/releases/7.0R/todo.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ - + @@ -64,6 +64,37 @@ underlying network infrastructure. The old interface was added back in but marked as depreciated. + + + TCP accept race condition + &status.wip; + &a.glebius;, &a.rwatson; + A race in TCP will lead to very occasional returning of 0.0.0.0:0 + rather than the correct IP address via the socket address returned by + accept(). A patch is in HEAD and RELENG_7, and will shortly be + merged to RELENG_7_0 for inclusion in 7.0RC2. + + + + sleepq race condition + &status.wip; + &a.jhb; + Races in the sleepq implementation will occasionally result in + sleeps with timeouts failing to wake up. A patch is in HEAD and will + shortly be merged to RELENG_7 and RELENG_7_0 for inclusion in 7.0RC2. + The sleepq code is being reviewed for other possibly related bugs + and further fixes may be forthcoming. + + + + pty race condition + &status.wip; + &a.kib; + Multiple race conditions in the tty/pty code have lead to + occasional panics. One set of problems has been fixed, but others + are still being explored It is aniticipated that the remaining + problems will be fixed for 7.0RC2. +

Minor issues for &local.rel;-RELEASE

==== //depot/projects/dtrace/www/share/sgml/news.xml#36 (text+ko) ==== @@ -20,7 +20,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.138 2008/01/19 20:20:00 jkois Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.139 2008/01/25 10:46:05 jkoshy Exp $ @@ -80,6 +80,14 @@ + 9 + +

DesktopBSD 1.6 is released.

+
+
+ + 4

New committer: Wesley Shields ==== //depot/projects/dtrace/www/share/sgml/press.xml#20 (text+ko) ==== @@ -9,11 +9,31 @@ - $FreeBSD: www/share/sgml/press.xml,v 1.56 2008/01/04 21:16:27 jkois Exp $ + $FreeBSD: www/share/sgml/press.xml,v 1.57 2008/01/25 04:07:30 jkoshy Exp $ + 2008 + + + 1 + + + DesktopBSD 1.6 Released + http://www.osnews.com/story/19134/DesktopBSD_1.6_Released + OSNews + http://www.osnews.com/ + 9 January 2008 + Thom Holwerda +

Version 1.6 of DesktopBSD has been released. DesktopBSD is a + desktop operating system based on FreeBSD.

+ + + + + 2007 From owner-p4-projects@FreeBSD.ORG Sat Jan 26 07:26:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2602E16A419; Sat, 26 Jan 2008 07: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 DF38B16A417 for ; Sat, 26 Jan 2008 07:26:39 +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 C73CE13C455 for ; Sat, 26 Jan 2008 07:26:39 +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 m0Q7Qd0J046978 for ; Sat, 26 Jan 2008 07:26:39 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q7QdRR046975 for perforce@freebsd.org; Sat, 26 Jan 2008 07:26:39 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 26 Jan 2008 07:26:39 GMT Message-Id: <200801260726.m0Q7QdRR046975@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 134123 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 07:26:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=134123 Change 134123 by kmacy@pandemonium:kmacy:xen31 on 2008/01/26 07:26:23 fix pmap_enter_quick routines to ensure that they don't submit garbage Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#34 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#34 (text+ko) ==== @@ -272,7 +272,7 @@ 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 vm_page_t pmap_enter_quick_locked(multicall_entry_t *mcl, pmap_t pmap, vm_offset_t va, +static vm_page_t pmap_enter_quick_locked(multicall_entry_t **mcl, int *count, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, vm_page_t *free); @@ -2755,11 +2755,9 @@ m = m_start; PMAP_LOCK(pmap); while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - mpte = pmap_enter_quick_locked(mclp, pmap, start + ptoa(diff), m, + mpte = pmap_enter_quick_locked(&mclp, &count, pmap, start + ptoa(diff), m, prot, mpte); m = TAILQ_NEXT(m, listq); - mclp++; - count++; if (count == 16) { HYPERVISOR_multicall(mcl, count); mclp = mcl; @@ -2783,11 +2781,14 @@ void pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot) { - multicall_entry_t mcl; + multicall_entry_t mcl, *mclp; + int count = 0; + mclp = &mcl; PMAP_LOCK(pmap); - (void) pmap_enter_quick_locked(&mcl, pmap, va, m, prot, NULL); - HYPERVISOR_multicall(&mcl, 1); + (void) pmap_enter_quick_locked(&mclp, &count, pmap, va, m, prot, NULL); + if (count) + HYPERVISOR_multicall(&mcl, count); PMAP_UNLOCK(pmap); } @@ -2803,9 +2804,7 @@ if (!pmap_is_prefaultable_locked(pmap, *addrs)) continue; - (void) pmap_enter_quick_locked(mclp, pmap, *addrs, *pages, *prots, NULL); - index++; - mclp++; + (void) pmap_enter_quick_locked(&mclp, &index, pmap, *addrs, *pages, *prots, NULL); if (index == 16) { HYPERVISOR_multicall(mcl, count); mclp = mcl; @@ -2818,13 +2817,14 @@ } static vm_page_t -pmap_enter_quick_locked(multicall_entry_t *mcl, pmap_t pmap, vm_offset_t va, vm_page_t m, +pmap_enter_quick_locked(multicall_entry_t **mclpp, int *count, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte) { pt_entry_t *pte; vm_paddr_t pa; vm_page_t free; - + multicall_entry_t *mcl = *mclpp; + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva || (m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0, ("pmap_enter_quick_locked: managed mapping within the clean submap")); @@ -2936,6 +2936,8 @@ mcl->args[1] = (uint32_t)(pa & 0xffffffff); mcl->args[2] = (uint32_t)(pa >> 32); mcl->args[3] = 0; + *mclpp = mcl + 1; + *count = *count + 1; #endif return mpte; } From owner-p4-projects@FreeBSD.ORG Sat Jan 26 07:36:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02ECC16A419; Sat, 26 Jan 2008 07:36: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 A48F416A417 for ; Sat, 26 Jan 2008 07:36:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7413E13C457 for ; Sat, 26 Jan 2008 07:36:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0Q7aovG047394 for ; Sat, 26 Jan 2008 07:36:50 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q7aoxB047391 for perforce@freebsd.org; Sat, 26 Jan 2008 07:36:50 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 26 Jan 2008 07:36:50 GMT Message-Id: <200801260736.m0Q7aoxB047391@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 134124 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 07:36:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=134124 Change 134124 by kmacy@pandemonium:kmacy:xen31 on 2008/01/26 07:35:55 assert that the multicalls succeed Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#35 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#35 (text+ko) ==== @@ -1227,7 +1227,8 @@ int mclcount = 0; multicall_entry_t mcl[16]; multicall_entry_t *mclp = mcl; - + int error; + pte = vtopte(sva); endpte = pte + count; while (pte < endpte) { @@ -1245,13 +1246,17 @@ mclp++; mclcount++; if (mclcount == 16) { - HYPERVISOR_multicall(mcl, mclcount); + error = HYPERVISOR_multicall(mcl, mclcount); mclp = mcl; mclcount = 0; + KASSERT(error == 0, ("bad multicall %d", error)); } } - if (mclcount) - HYPERVISOR_multicall(mcl, mclcount); + if (mclcount) { + error = HYPERVISOR_multicall(mcl, mclcount); + KASSERT(error == 0, ("bad multicall %d", error)); + } + #ifdef INVARIANTS for (pte = vtopte(sva), mclcount = 0; mclcount < count; mclcount++, pte++) KASSERT(*pte, ("pte not set for va=0x%x\n", sva + mclcount*PAGE_SIZE)); @@ -2746,7 +2751,7 @@ vm_pindex_t diff, psize; multicall_entry_t mcl[16]; multicall_entry_t *mclp = mcl; - int count = 0; + int error, count = 0; VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); psize = atop(end - start); @@ -2759,14 +2764,18 @@ prot, mpte); m = TAILQ_NEXT(m, listq); if (count == 16) { - HYPERVISOR_multicall(mcl, count); + error = HYPERVISOR_multicall(mcl, count); + KASSERT(error == 0, ("bad multicall %d", error)); mclp = mcl; count = 0; } } - if (count) - HYPERVISOR_multicall(mcl, count); - PMAP_UNLOCK(pmap); + if (count) { + error = HYPERVISOR_multicall(mcl, count); + KASSERT(error == 0, ("bad multicall %d", error)); + } + + PMAP_UNLOCK(pmap); } /* @@ -2795,7 +2804,7 @@ void pmap_enter_quick_range(pmap_t pmap, vm_offset_t *addrs, vm_page_t *pages, vm_prot_t *prots, int count) { - int i, index = 0; + int i, error, index = 0; multicall_entry_t mcl[16]; multicall_entry_t *mclp = mcl; @@ -2806,13 +2815,17 @@ (void) pmap_enter_quick_locked(&mclp, &index, pmap, *addrs, *pages, *prots, NULL); if (index == 16) { - HYPERVISOR_multicall(mcl, count); + error = HYPERVISOR_multicall(mcl, count); mclp = mcl; index = 0; + KASSERT(error == 0, ("bad multicall %d", error)); } } - if (index) - HYPERVISOR_multicall(mcl, index); + if (index) { + error = HYPERVISOR_multicall(mcl, index); + KASSERT(error == 0, ("bad multicall %d", error)); + } + PMAP_UNLOCK(pmap); } From owner-p4-projects@FreeBSD.ORG Sat Jan 26 07:43:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0679D16A420; Sat, 26 Jan 2008 07:43: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 A7F7016A417 for ; Sat, 26 Jan 2008 07:43:58 +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 77BD713C458 for ; Sat, 26 Jan 2008 07:43:58 +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 m0Q7hwcE047723 for ; Sat, 26 Jan 2008 07:43:58 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q7hwmn047720 for perforce@freebsd.org; Sat, 26 Jan 2008 07:43:58 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 26 Jan 2008 07:43:58 GMT Message-Id: <200801260743.m0Q7hwmn047720@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 134126 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 07:43:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=134126 Change 134126 by kmacy@pandemonium:kmacy:xen31 on 2008/01/26 07:43:38 should reference index and not count in multicall Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#36 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#36 (text+ko) ==== @@ -2815,7 +2815,7 @@ (void) pmap_enter_quick_locked(&mclp, &index, pmap, *addrs, *pages, *prots, NULL); if (index == 16) { - error = HYPERVISOR_multicall(mcl, count); + error = HYPERVISOR_multicall(mcl, index); mclp = mcl; index = 0; KASSERT(error == 0, ("bad multicall %d", error)); From owner-p4-projects@FreeBSD.ORG Sat Jan 26 08:00:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3ADE316A41A; Sat, 26 Jan 2008 08:00: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 F1D1716A417 for ; Sat, 26 Jan 2008 08:00:16 +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 D826213C458 for ; Sat, 26 Jan 2008 08:00:16 +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 m0Q80GNj048400 for ; Sat, 26 Jan 2008 08:00:16 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0Q80G5u048397 for perforce@freebsd.org; Sat, 26 Jan 2008 08:00:16 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 26 Jan 2008 08:00:16 GMT Message-Id: <200801260800.m0Q80G5u048397@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 134128 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 08:00:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=134128 Change 134128 by kmacy@kmacy:storage:toehead on 2008/01/26 07:59:26 first cut at implementing zero copy soreceive Affected files ... .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#7 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 edit .. //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#7 edit Differences ... ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#7 (text+ko) ==== @@ -101,6 +101,7 @@ #ifndef PG_FRAME #define PG_FRAME ~PAGE_MASK #endif +#define SBLOCKWAIT(f) (((f) & MSG_DONTWAIT) ? M_NOWAIT : M_WAITOK) void t3_init_socket_ops(void) @@ -251,7 +252,6 @@ * can be posted without closing the window in the middle of DDP (checked * when the connection is offloaded) */ -#ifdef notyet static int so_should_ddp(const struct toepcb *toep, int last_recv_len) { @@ -260,7 +260,67 @@ toep->tp_tp->rcv_wnd > (TOM_TUNABLE(toep->tp_toedev, ddp_copy_limit) + DDP_RSVD_WIN); } -#endif + +static inline int +is_ddp(const struct mbuf *m) +{ + return (m->m_flags & M_DDP); +} + +static inline int +is_ddp_psh(const struct mbuf *m) +{ + return is_ddp(m) && (m->m_pkthdr.csum_flags & DDP_BF_PSH); +} + +static int +m_uiomove(const struct mbuf *m, int offset, int len, struct uio *uio) +{ + int curlen, err = 0; + caddr_t buf; + + while (m && len) { + buf = mtod(m, caddr_t); + curlen = m->m_len; + if (offset < curlen) { + curlen -= offset; + buf += offset; + offset = 0; + } else { + offset -= curlen; + m = m->m_next; + continue; + } + + err = uiomove_frombuf(buf, min(len, curlen), uio); + if (err) + return (err); + len -= min(len, m->m_len); + m = m->m_next; + } + return (err); +} + +/* + * Copy data from an sk_buff to an iovec. Deals with RX_DATA, which carry the + * data in the sk_buff body, and with RX_DATA_DDP, which place the data in a + * DDP buffer. + */ +static inline int +copy_data(const struct mbuf *m, int offset, int len, struct uio *uio) +{ + struct iovec *to = uio->uio_iov; + + if (__predict_true(!is_ddp(m))) /* RX_DATA */ + return m_uiomove(m, offset, len, uio); + if (__predict_true(m->m_ddp_flags & DDP_BF_NOCOPY)) { /* user DDP */ + to->iov_len -= len; + to->iov_base = ((caddr_t)to->iov_base) + len; + uio->uio_iov = to; + return (0); + } + return t3_ddp_copy(m, offset, uio, len); /* kernel DDP */ +} static void cxgb_wait_dma_completion(struct toepcb *toep) @@ -449,34 +509,258 @@ static int -t3_soreceive(struct socket *so, struct uio *uio) +t3_soreceive(struct socket *so, int *flagsp, struct uio *uio) { -#ifdef notyet - int i, rv, count, hold_resid, sent, iovcnt; - struct iovec iovtmp[TMP_IOV_MAX], *iovtmpp, *iov; struct tcpcb *tp = sototcpcb(so); struct toepcb *toep = tp->t_toe; struct mbuf *m; - struct uio uiotmp; + uint32_t offset; + int err, flags, avail, len, buffers_freed = 0, copied = 0; + int target; /* Read at least this many bytes */ + long timeo; + int user_ddp_ok, user_ddp_pending = 0; + struct ddp_state *p; + struct inpcb *inp = sotoinpcb(so); + + flags = flagsp ? (*flagsp &~ MSG_EOR) : 0; + + err = sblock(&so->so_rcv, SBLOCKWAIT(flags)); + if (err) + return (err); +restart: + SOCKBUF_LOCK(&so->so_rcv); + len = uio->uio_resid; + m = so->so_rcv.sb_mb; + target = (flags & MSG_WAITALL) ? min(len, so->so_rcv.sb_hiwat) : so->so_rcv.sb_lowat; + timeo = so->so_rcv.sb_timeo; + p = &toep->tp_ddp_state; + user_ddp_ok = p->ubuf_ddp_ready; + p->cancel_ubuf = 0; + + /* + * XXX check timeo/signal/urgent + */ + if (m) + goto got_mbuf; + + /* empty receive queue */ + if (copied >= target && /* !sk->sk_backlog.tail && */ + !user_ddp_pending) + goto done; + if (copied) { + if (so->so_error || tp->t_state == TCPS_CLOSED || + (so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED))) + goto done; + } else { + if (so->so_state & SS_NOFDREF) + goto done; + if (so->so_error) { + err = so->so_error; + so->so_error = 0; + goto done; + } + if (so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED)) + goto done; + if (tp->t_state == TCPS_CLOSED) { + err = ENOTCONN; + goto done; + } + } + if (so->so_rcv.sb_mb && !user_ddp_pending) { + SOCKBUF_UNLOCK(&so->so_rcv); + INP_LOCK(inp); + t3_cleanup_rbuf(tp); + INP_UNLOCK(inp); + goto restart; + } + if (p->ubuf && user_ddp_ok && !user_ddp_pending && + uio->uio_iov->iov_len > p->kbuf[0]->dgl_length && + p->ubuf_ddp_ready) { + user_ddp_pending = + !t3_overlay_ubuf(so, uio, (so->so_state & SS_NBIO), flags, 1, 1); + if (user_ddp_pending) { + p->kbuf_posted++; + user_ddp_ok = 0; + } + } + if (user_ddp_pending) { + /* One shot at DDP if we already have enough data */ + if (copied >= target) + user_ddp_ok = 0; + if ((err = sbwait(&so->so_rcv)) != 0) + goto done; +//for timers to work await_ddp_completion(sk, flags, &timeo); + } else if (copied >= target) + goto done; + else { + SOCKBUF_UNLOCK(&so->so_rcv); + INP_LOCK(inp); + t3_cleanup_rbuf(tp); + INP_UNLOCK(inp); + if ((err = sbwait(&so->so_rcv)) != 0) + goto done; + } + goto restart; +got_mbuf: + if (m->m_pkthdr.len == 0) { + if ((m->m_ddp_flags & DDP_BF_NOCOPY) == 0) + panic("empty mbuf and NOCOPY not set\n"); + user_ddp_pending = 0; + sbfree(&so->so_rcv, m); + m = so->so_rcv.sb_mb = m_free(m); + goto done; + } + offset = toep->tp_copied_seq - m->m_seq; + if (offset > m->m_pkthdr.len) + panic("t3_soreceive: BUG: OFFSET > LEN seq 0x%x " + "skb->len %d flags 0x%x", m->m_seq, + m->m_pkthdr.len, m->m_ddp_flags); + avail = m->m_pkthdr.len - offset; + if (len < avail) { + if (is_ddp(m) && (m->m_ddp_flags & DDP_BF_NOCOPY)) + panic("bad state in t3_soreceive\n"); + avail = len; + } +#ifdef notyet /* - * Events requiring iteration: - * - number of pages exceeds max hold pages for process or system - * - number of pages exceeds maximum sg entries for a single WR - * - * We're limited to holding 128 pages at once - and we're limited to - * 34 SG entries per work request, but each SG entry can be any number - * of contiguous pages - * + * Check if the data we are preparing to copy contains urgent + * data. Either stop short of urgent data or skip it if it's + * first and we are not delivering urgent data inline. + */ + if (unlikely(tp->urg_data)) { + u32 urg_offset = tp->urg_seq - tp->copied_seq; + + if (urg_offset < avail) { + if (urg_offset) { + /* stop short of the urgent data */ + avail = urg_offset; + } else if (!sock_flag(sk, SOCK_URGINLINE)) { + /* First byte is urgent, skip */ + tp->copied_seq++; + offset++; + avail--; + if (!avail) + goto skip_copy; + } + } + } +#endif + if (is_ddp_psh(m) || offset) { + user_ddp_ok = 0; +#ifdef T3_TRACE + T3_TRACE0(TIDTB(so), "t3_sosend: PSH"); +#endif + } + + if (user_ddp_ok && !user_ddp_pending && + /* + * XXX + */ +#ifdef notyet + uio->uio_iovlen > p->kbuf[0]->length && +#endif + p->ubuf_ddp_ready) { + user_ddp_pending = + !t3_overlay_ubuf(so, uio, (so->so_state & SS_NBIO), flags, 1, 1); + if (user_ddp_pending) { + p->kbuf_posted++; + user_ddp_ok = 0; + } + } + + /* + * If MSG_TRUNC is specified the data is discarded. + * XXX need to check pr_atomic + */ + if (__predict_true(!(flags & MSG_TRUNC))) + if ((err = copy_data(m, offset, avail, uio))) { + if (err) + err = EFAULT; + goto done; + } + + toep->tp_copied_seq += avail; + copied += avail; + len -= avail; +#ifdef notyet +skip_copy: + if (tp->urg_data && after(tp->copied_seq, tp->urg_seq)) + tp->urg_data = 0; +#endif + /* + * If the buffer is fully consumed free it. If it's a DDP + * buffer also handle any events it indicates. + */ + if (avail + offset >= m->m_pkthdr.len) { + unsigned int fl = m->m_ddp_flags; + int got_psh = 0; + + if (p->ubuf != NULL && is_ddp(m) && (fl & 1)) { + if (is_ddp_psh(m) && user_ddp_pending) + got_psh = 1; + + if (fl & DDP_BF_NOCOPY) + user_ddp_pending = 0; + else { + p->kbuf_posted--; + p->ubuf_ddp_ready = 1; + } + } + sbfree(&so->so_rcv, m); + m = so->so_rcv.sb_mb = m_free(m); + buffers_freed++; + + if ((so->so_rcv.sb_mb == NULL) && got_psh) + goto done; + } + if (len > 0) + goto restart; + +done: + /* + * If we can still receive decide what to do in preparation for the + * next receive. Note that RCV_SHUTDOWN is set if the connection + * transitioned to CLOSE but not if it was in that state to begin with. */ + if (__predict_true((so->so_state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED)) == 0)) { + if (user_ddp_pending) { + user_ddp_ok = 0; + t3_cancel_ubuf(toep); + if (so->so_rcv.sb_mb) { + if (copied < 0) + copied = 0; + goto restart; + } + user_ddp_pending = 0; + } + if (p->kbuf_posted == 0) { +#ifdef T3_TRACE + T3_TRACE0(TIDTB(so), + "chelsio_recvmsg: about to exit, repost kbuf"); +#endif + + t3_post_kbuf(so, 1); + p->kbuf_posted++; + } else if (so_should_ddp(toep, copied)) { + t3_enter_ddp(so, TOM_TUNABLE(TOE_DEV(so), + ddp_copy_limit), 0); + p->kbuf_posted = 1; + } + } + if (buffers_freed) + t3_cleanup_rbuf(tp); +#ifdef T3_TRACE + T3_TRACE5(TIDTB(so), + "chelsio_recvmsg <-: copied %d len %d buffers_freed %d " + "kbuf_posted %d user_ddp_pending %u", + copied, len, buffers_freed, p ? p->kbuf_posted : -1, + user_ddp_pending); +#endif + SOCKBUF_UNLOCK(&so->so_rcv); + sbunlock(&so->so_rcv); - uiotmp = *uio; - iovcnt = uio->uio_iovcnt; - iov = uio->uio_iov; - sent = 0; - re; -#endif - return (0); + return (err); } static int @@ -484,9 +768,11 @@ struct mbuf **mp0, struct mbuf **controlp, int *flagsp) { struct toedev *tdev; - int rv, zcopy_thres, zcopy_enabled; + int rv, zcopy_thres, zcopy_enabled, flags; struct tcpcb *tp = sototcpcb(so); + flags = flagsp ? *flagsp &~ MSG_EOR : 0; + /* * In order to use DMA direct from userspace the following * conditions must be met: @@ -500,14 +786,16 @@ * - iovcnt is 1 * */ - if (tp->t_flags & TF_TOE) { + if ((tp->t_flags & TF_TOE) && ((flags & (MSG_WAITALL|MSG_OOB|MSG_PEEK|MSG_DONTWAIT)) == 0) + && ((so->so_state & SS_NBIO) == 0) && (uio->uio_iovcnt == 1) && + ((so->so_rcv.sb_state & SBS_CANTRCVMORE) == 0) && (mp0 == NULL)) { tdev = TOE_DEV(so); zcopy_thres = TOM_TUNABLE(tdev, ddp_thres); zcopy_enabled = TOM_TUNABLE(tdev, ddp); if ((uio->uio_resid > zcopy_thres) && (uio->uio_iovcnt == 1) && ((so->so_state & SS_NBIO) == 0) && zcopy_enabled) { - rv = t3_soreceive(so, uio); + rv = t3_soreceive(so, flagsp, uio); if (rv != EAGAIN) return (rv); } ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 (text+ko) ==== @@ -326,9 +326,9 @@ } /** - * setup_iovec_ppods - setup HW page pods for a user iovec + * setup_uio_ppods - setup HW page pods for a user iovec * @sk: the associated socket - * @iov: the iovec + * @uio: the uio * @oft: additional bytes to map before the start of the buffer * * Pins a user iovec and sets up HW page pods for DDP into it. We allocate @@ -339,13 +339,14 @@ * The current implementation handles iovecs with only one entry. */ static int -setup_iovec_ppods(struct socket *so, const struct iovec *iov, int oft, int *length) +setup_uio_ppods(struct socket *so, const struct uio *uio, int oft, int *length) { int err; unsigned int len; struct ddp_gather_list *gl = NULL; struct toepcb *toep = sototcpcb(so)->t_toe; struct ddp_state *p = &toep->tp_ddp_state; + struct iovec *iov = uio->uio_iov; unsigned long addr = (unsigned long)iov->iov_base - oft; if (__predict_false(!p->ubuf_nppods)) { @@ -424,7 +425,7 @@ * Post a user buffer as an overlay on top of the current kernel buffer. */ int -t3_overlay_ubuf(struct socket *so, const struct iovec *iov, +t3_overlay_ubuf(struct socket *so, const struct uio *uio, int nonblock, int rcv_flags, int modulate, int post_kbuf) { int err, len, ubuf_idx; @@ -435,7 +436,7 @@ if (p->ubuf == NULL) return (EINVAL); - err = setup_iovec_ppods(so, iov, 0, &len); + err = setup_uio_ppods(so, uio, 0, &len); if (err) return (err); @@ -481,67 +482,6 @@ return (0); } -static inline int -is_ddp(const struct mbuf *m) -{ - return (m->m_flags & M_DDP); -} - -static inline int -is_ddp_psh(const struct mbuf *m) -{ - return is_ddp(m) && (m->m_pkthdr.csum_flags & DDP_BF_PSH); -} - -static int -m_uiomove(const struct mbuf *m, int offset, int len, struct uio *uio) -{ - int curlen, err = 0; - caddr_t buf; - - while (m && len) { - buf = mtod(m, caddr_t); - curlen = m->m_len; - if (offset < curlen) { - curlen -= offset; - buf += offset; - offset = 0; - } else { - offset -= curlen; - m = m->m_next; - continue; - } - - err = uiomove_frombuf(buf, min(len, curlen), uio); - if (err) - return (err); - len -= min(len, m->m_len); - m = m->m_next; - } - return (err); -} - -/* - * Copy data from an sk_buff to an iovec. Deals with RX_DATA, which carry the - * data in the sk_buff body, and with RX_DATA_DDP, which place the data in a - * DDP buffer. - */ -static inline int -copy_data(const struct mbuf *m, int offset, struct uio *uio, int len) -{ - struct iovec *to = uio->uio_iov; - - if (__predict_true(!is_ddp(m))) /* RX_DATA */ - return m_uiomove(m, offset, len, uio); - if (__predict_true(m->m_ddp_flags & DDP_BF_NOCOPY)) { /* user DDP */ - to->iov_len -= len; - to->iov_base = ((caddr_t)to->iov_base) + len; - uio->uio_iov = to; - return (0); - } - return t3_ddp_copy(m, offset, uio, len); /* kernel DDP */ -} - /* * Clean up DDP state that needs to survive until socket close time, such as the * DDP buffers. The buffers are already unmapped at this point as unmapping ==== //depot/projects/toehead/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#7 (text+ko) ==== @@ -153,14 +153,13 @@ int t3_alloc_ppods(struct tom_data *td, unsigned int n, int *tag); void t3_free_ppods(struct tom_data *td, unsigned int tag, unsigned int n); void t3_free_ddp_gl(struct ddp_gather_list *gl); -int t3_ddp_copy(const struct mbuf *m, int offset, struct uio *uio, - int len); +int t3_ddp_copy(const struct mbuf *m, int offset, struct uio *uio, int len); //void t3_repost_kbuf(struct socket *so, int modulate, int activate); void t3_post_kbuf(struct socket *so, int modulate); -int t3_post_ubuf(struct socket *so, const struct iovec *iov, int nonblock, +int t3_post_ubuf(struct socket *so, const struct uio *uio, int nonblock, int rcv_flags, int modulate, int post_kbuf); void t3_cancel_ubuf(struct toepcb *toep); -int t3_overlay_ubuf(struct socket *so, const struct iovec *iov, int nonblock, +int t3_overlay_ubuf(struct socket *so, const struct uio *uio, int nonblock, int rcv_flags, int modulate, int post_kbuf); int t3_enter_ddp(struct socket *so, unsigned int kbuf_size, unsigned int waitall); void t3_cleanup_ddp(struct toepcb *toep); From owner-p4-projects@FreeBSD.ORG Sat Jan 26 11:35:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E522C16A46C; Sat, 26 Jan 2008 11:35: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 AA14F16A417 for ; Sat, 26 Jan 2008 11:35:03 +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 9493913C47E for ; Sat, 26 Jan 2008 11:35:03 +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 m0QBZ3BU074869 for ; Sat, 26 Jan 2008 11:35:03 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 m0QBZ3BT074866 for perforce@freebsd.org; Sat, 26 Jan 2008 11:35:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 26 Jan 2008 11:35:03 GMT Message-Id: <200801261135.m0QBZ3BT074866@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 134132 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 11:35:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=134132 Change 134132 by rwatson@rwatson_freebsd_capabilities on 2008/01/26 11:34:44 Capability-enabled tcpdump: once everything is set to go but before entering the workload, give up all rights to name global objects. This leaves tcpdump with access to stdin/stdout/stderr and the bpf descriptor. This probably isn't quite right yet. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/contrib/tcpdump/tcpdump.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/contrib/tcpdump/tcpdump.c#2 (text+ko) ==== @@ -1050,6 +1050,8 @@ (void)fflush(stderr); } #endif /* WIN32 */ + if (cap_enter() < 0) + err(-1, "cap_enter"); status = pcap_loop(pd, cnt, callback, pcap_userdata); if (WFileName == NULL) { /* From owner-p4-projects@FreeBSD.ORG Sat Jan 26 12:07:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 074D716A419; Sat, 26 Jan 2008 12:07: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 C0F9E16A417 for ; Sat, 26 Jan 2008 12:07:37 +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 B44E413C474 for ; Sat, 26 Jan 2008 12:07:37 +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 m0QC7bZd079220 for ; Sat, 26 Jan 2008 12:07:37 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 m0QC7bfd079217 for perforce@freebsd.org; Sat, 26 Jan 2008 12:07:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 26 Jan 2008 12:07:37 GMT Message-Id: <200801261207.m0QC7bfd079217@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 134136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 12:07:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=134136 Change 134136 by rwatson@rwatson_freebsd_capabilities on 2008/01/26 12:07:36 Move capenabled logic a bit higher in parseline() so that it also catches system calls with (void) arguments. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/makesyscalls.sh#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/makesyscalls.sh#3 (text+ko) ==== @@ -267,6 +267,20 @@ f++ #function return type funcname=$f + + # + # We now know the func name, so define a flags field for it. + # Do this before any other processing as we may return early + # from it. + # + # XXXRW: Surely we can just look it up in the array in awk? + # + for (cap in capenabled) { + if (funcname == capenabled[cap]) { + flags = "SYF_CAPENABLED"; + } + } + if (funcalias == "") funcalias = funcname if (argalias == "") { @@ -308,17 +322,6 @@ } if (argc != 0) argssize = "AS(" argalias ")" - - # - # We now know the func name, so define a flags field for it. - # - # XXXRW: Surely we can just look it up in the array in awk? - # - for (cap in capenabled) { - if (funcname == capenabled[cap]) { - flags = "SYF_CAPENABLED"; - } - } } { comment = $4 if (NF < 7) From owner-p4-projects@FreeBSD.ORG Sat Jan 26 12:08:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E0DD16A41B; Sat, 26 Jan 2008 12:08: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 0049616A418 for ; Sat, 26 Jan 2008 12:08:38 +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 E001613C45D for ; Sat, 26 Jan 2008 12:08:38 +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 m0QC8ctn079737 for ; Sat, 26 Jan 2008 12:08:38 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 m0QC8cq8079734 for perforce@freebsd.org; Sat, 26 Jan 2008 12:08:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 26 Jan 2008 12:08:38 GMT Message-Id: <200801261208.m0QC8cq8079734@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 134137 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 12:08:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=134137 Change 134137 by rwatson@rwatson_freebsd_capabilities on 2008/01/26 12:07:57 Regenerate. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#9 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#9 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#9 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#9 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#9 edit .. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#9 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ struct sysent sysent[] = { { 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, 0 }, /* 2 = fork */ + { 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 */ @@ -49,12 +49,12 @@ { 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, 0 }, /* 20 = getpid */ + { 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, 0 }, /* 24 = getuid */ - { 0, (sy_call_t *)geteuid, AUE_GETEUID, NULL, 0, 0, 0 }, /* 25 = geteuid */ + { 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 */ @@ -65,23 +65,23 @@ { 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, 0 }, /* 36 = sync */ + { 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, 0 }, /* 39 = getppid */ + { 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, 0 }, /* 42 = pipe */ - { 0, (sy_call_t *)getegid, AUE_GETEGID, NULL, 0, 0, 0 }, /* 43 = getegid */ + { 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, 0 }, /* 47 = getgid */ + { 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, 0 }, /* 52 = old sigpending */ + { 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 */ @@ -93,9 +93,9 @@ { 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, 0 }, /* 64 = old getpagesize */ + { 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, 0 }, /* 66 = vfork */ + { 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 */ @@ -110,10 +110,10 @@ { 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, 0 }, /* 81 = getpgrp */ + { 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, 0 }, /* 84 = old wait */ + { 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 */ @@ -171,12 +171,12 @@ { 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, 0 }, /* 142 = old gethostid */ + { 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, 0 }, /* 147 = setsid */ + { 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 */ @@ -282,7 +282,7 @@ { 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, 0 }, /* 253 = issetugid */ + { 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 */ @@ -350,17 +350,17 @@ { 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, 0 }, /* 321 = yield */ + { 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, 0 }, /* 325 = munlockall */ + { 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, 0 }, /* 331 = sched_yield */ + { 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 */ @@ -391,7 +391,7 @@ { 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, 0 }, /* 362 = kqueue */ + { 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 */ @@ -408,7 +408,7 @@ { 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, 0 }, /* 379 = kse_exit */ + { 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 */ @@ -515,6 +515,6 @@ { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0, 0 }, /* 483 = shm_unlink */ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 484 = cap_new */ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 485 = cap_getrights */ - { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0, 0 }, /* 486 = cap_enter */ + { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 486 = cap_enter */ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 487 = cap_getmode */ }; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#9 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#9 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#9 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#9 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#9 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jan 26 18:04:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0460516A41B; Sat, 26 Jan 2008 18:04: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 A601516A417 for ; Sat, 26 Jan 2008 18:04:58 +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 9866B13C447 for ; Sat, 26 Jan 2008 18:04:58 +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 m0QI4wEn028441 for ; Sat, 26 Jan 2008 18:04:58 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 m0QI4wRT028438 for perforce@freebsd.org; Sat, 26 Jan 2008 18:04:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 26 Jan 2008 18:04:58 GMT Message-Id: <200801261804.m0QI4wRT028438@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 134149 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 18:04:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=134149 Change 134149 by rwatson@rwatson_freebsd_capabilities on 2008/01/26 18:04:39 Snapshot of capability testing tool, rather half-baked, but baked enough to want in revision-control. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test.h#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_capabilities.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_syscalls.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_sysctl.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jan 26 21:46:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2268916A41B; Sat, 26 Jan 2008 21:46: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 C1B8C16A417 for ; Sat, 26 Jan 2008 21:46:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B4B4213C442 for ; Sat, 26 Jan 2008 21:46:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0QLkoFm065511 for ; Sat, 26 Jan 2008 21:46:50 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QLkoEq065508 for perforce@freebsd.org; Sat, 26 Jan 2008 21:46:50 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 21:46:50 GMT Message-Id: <200801262146.m0QLkoEq065508@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 134151 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 21:46:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=134151 Change 134151 by jb@jb_freebsd1 on 2008/01/26 21:46:37 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/basics/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/ports/chapter.sgml#9 integrate .. //depot/projects/dtrace/ports/UPDATING#49 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#36 integrate .. //depot/projects/dtrace/src/UPDATING#23 integrate .. //depot/projects/dtrace/src/etc/devd.conf#5 integrate .. //depot/projects/dtrace/src/etc/netstart#4 integrate .. //depot/projects/dtrace/src/etc/rc#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ipfw#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountcritremote#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/netif#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/ppp#8 integrate .. //depot/projects/dtrace/src/etc/rc.subr#16 integrate .. //depot/projects/dtrace/src/include/fts.h#4 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#12 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Symbol.map#5 integrate .. //depot/projects/dtrace/src/lib/libc/gen/fts-compat.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/gen/fts-compat.h#2 integrate .. //depot/projects/dtrace/src/lib/libc/gen/fts.3#5 integrate .. //depot/projects/dtrace/src/lib/libc/gen/fts.c#5 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/Makefile#4 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/preen.c#5 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/quotacheck.8#6 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/quotacheck.c#8 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/quotacheck.h#1 branch .. //depot/projects/dtrace/src/share/man/man4/Makefile#28 integrate .. //depot/projects/dtrace/src/share/man/man4/dcons.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/oldcard.4#4 delete .. //depot/projects/dtrace/src/share/man/man5/fstab.5#5 integrate .. //depot/projects/dtrace/src/sys/ddb/db_capture.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uark.c#3 integrate .. //depot/projects/dtrace/src/sys/fs/fifofs/fifo_vnops.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pty.c#12 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/ata_kauai.c#4 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#35 integrate .. //depot/projects/dtrace/src/usr.bin/xargs/xargs.1#5 integrate .. //depot/projects/dtrace/www/en/cgi/dosendpr.cgi#6 integrate .. //depot/projects/dtrace/www/en/cgi/query-pr.cgi#12 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#20 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#9 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -723,8 +723,8 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev - This option is related to the keyboard. It installs a CDEV entry - in /dev. + This option is required to allow the creation of keyboard device + nodes in /dev. options ADAPTIVE_GIANT # Giant mutex is adaptive. @@ -740,6 +740,15 @@ sleep and wait for its next chance to run. If you are not sure, leave this in.
+ + Note that on &os; 8.0-CURRENT and later versions, all mutexes are + adaptive by default, unless explicitly set to non-adaptive by + compiling with the NO_ADAPTIVE_MUTEXES option. As + a result, Giant is adaptive by default now, and the + ADAPTIVE_GIANT option has been removed from the + kernel configuration. + + kernel options SMP ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#10 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -301,6 +301,15 @@ directory.
+ Additionally, you can use a simple &man.echo.1; statement + to find where a port exists in the ports tree. For + example: + + &prompt.root; echo /usr/ports/*/*lsof* +/usr/ports/sysutils/lsof + + + Yet another way to find a particular port is by using the Ports Collection's built-in search mechanism. To use the search feature, you will need to be in the ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/basics/chapter.sgml#7 (text+ko) ==== @@ -1,8 +1,8 @@ @@ -132,8 +132,8 @@ FreeBSD 在允許使用者執行程式前將會先問這兩個問題。 startup scripts - 在 FreeBSD 開機並跑完起動的 script 之後 - 這些起動的 script 是在開機的時候 FreeBSD 會自動執行的程式。 + 在 FreeBSD 開機並跑完啟動的 script 之後 + 這些啟動的 script 是在開機的時候 FreeBSD 會自動執行的程式。 他們主要的功能是將所有該執行的東西設定好, 並將您設定成背景執行的服務啟動。 ,它將會印出提示字元要求您輸入正確的帳號名稱: @@ -254,6 +254,32 @@ 開機程序的人而言,就會相當棘手。 + + + 更改 console 的顯示畫面 + + FreeBSD console 預設顯示大小可以調整為 1024x768、1280x1024 + 或其他顯示卡與螢幕有支援的解析度大小。 要切換顯示大小,必須要重新編譯 + kernel 並加入下面這兩項設定: + + options VESA +options SC_PIXEL_MODE + + 一旦 kernel 有加入這兩項並重新編譯完畢,就可以用 &man.vidcontrol.1; + 來偵測目前所支援的模式有哪些。 若要查看支援的模式,可以打: + + &prompt.root; vidcontrol -i mode + + 該指令會顯示該機器所支援的顯示模式清單。 然後可以在 + root console 內透過 &man.vidcontrol.1; 指令, + 來更改顯示模式: + + &prompt.root; vidcontrol MODE_279 + + 若對新的顯示模式覺得還不錯,可以在 /etc/rc.conf + 設定之,以讓每次重開機後會自動生效。 以上面這情況為例,就是: + + allscreens_flags="MODE_279" @@ -1859,8 +1885,8 @@ Shell 的另一項特點是使用了環境變數。 環境變數是以變數與鍵值(variable/key)的對應關係儲存於 shell 的環境空間中,任何由 shell 所產生的程序都可以讀取此空間, - 因此這個空間儲存了許多程序的設定組態。在此附上 - 一份常見環境變數與其含意的列表: + 因此這個空間儲存了許多程序的設定組態。 在此附上 + 一份常見環境變數與其涵義的列表: environment variables ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/ports/chapter.sgml#9 (text+ko) ==== @@ -1,8 +1,8 @@ @@ -247,12 +247,11 @@ - 若知道該 port 的正確名稱,但不知道放在哪個分類目錄, - 可以用 &man.whereis.1; 指令來找出來。 - 只要打 whereis - file 即可,而 - file 的地方請改為想裝的軟體名稱。 - 若找到該軟體,就會告訴你,就像下面這樣: + 若知道該 port 的正確名稱,但不知道放在哪個分類目錄,可以用 + &man.whereis.1; 指令來找出來。 只要打 whereis + file 即可,而 + file 的地方請改為想裝的軟體名稱。 + 若找到該軟體,就會告訴你,就像下面這樣: &prompt.root; whereis lsof lsof: /usr/ports/sysutils/lsof @@ -261,12 +260,19 @@ /usr/ports/sysutils/lsof 目錄。
+ 此外,也可以用 &man.echo.1; 輕鬆找出該 port 是位於 porte tree + 的何處。 舉例來說: + + &prompt.root; echo /usr/ports/*/*lsof* +/usr/ports/sysutils/lsof + + + 還有另一招,就是用 Ports Collection 本身內建的搜尋機制。 - 要用的時候,請先切換到 /usr/ports 目錄。 - 然後,打 make search - name=program-name,其中 - program-name 請改為想找的軟體名稱。 - 舉例來說,若要找的是 lsof 的話,那麼就是: + 要用的時候,請先切換到 /usr/ports 目錄。 + 然後,打 make search name=程式名稱 + ,其中 程式名稱 請改為想找的軟體名稱。 + 舉例來說,若要找的是 lsof 的話,那麼就是:
&prompt.root; cd /usr/ports &prompt.root; make search name=lsof @@ -999,6 +1005,21 @@ PREFIX 是相當困難,甚至是不可能的事。
+ + + 重新設定 Ports 選項 + + 在編譯某些 port 時會出現選單畫面(ncurses-based), + 可以用來選擇安裝選項。 通常裝好該 port 之後,便不太會需要重加、 + 移除、更改一些當初安裝的選項。 但日後若有需要的話, + 也有許多方式可以調整這些選項。 其中一種方式便是切到該 port 目錄, + 並打 make config + 即可再次回到選項畫面去作調整。 另外還可用 make + showconfig 以顯示該 port 安裝時所用的選項。 + 也可以用 make rmconfig + 來把所有選項回到初始設定。 這些選項跟其他動作都可參閱 &man.ports.7; + 內的詳細說明。 + ==== //depot/projects/dtrace/ports/UPDATING#49 (text+ko) ==== @@ -6,6 +6,16 @@ time you update your ports collection, before attempting any port upgrades. +20080126: + AFFECTS: users of net-p2p/deluge + AUTHOR: mezz@FreeBSD.org + + Update of deluge to 0.5.8.2, if you are using blocklist plugin. You have + to remove blocklist.conf first before you can run it or it will crash in + the start up. + + $ rm -f ~/.config/deluge/blocklist.conf + 20080125: AFFECTS: users of www/mod_security2 AUTHOR: araujo@FreeBSD.org @@ -6015,4 +6025,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.579 2008/01/25 11:31:31 araujo Exp $ +$FreeBSD: ports/UPDATING,v 1.580 2008/01/26 16:44:43 mezz Exp $ ==== //depot/projects/dtrace/src/ObsoleteFiles.inc#36 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.126 2008/01/22 20:08:09 attilio Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.127 2008/01/26 20:23:25 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,9 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080126: oldcard.4 removal +OLD_FILES+=usr/share/man/man4/card.4.gz +OLD_FILES+=usr/share/man/man4/oldcard.4.gz # 20080122: Removed from the tree OLD_FILES+=usr/share/man/man9/BUF_REFCNT.9.gz # 20080108: Moved to section 2 ==== //depot/projects/dtrace/src/UPDATING#23 (text+ko) ==== @@ -22,6 +22,20 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080126: + The fts(3) structures have been changed to use adequate + integer types for their members and so to be able to cope + with huge file trees. The old fts(3) ABI is preserved + through symbol versioning in libc, so third-party binaries + using fts(3) should still work, although they will not take + advantage of the extended types. At the same time, some + third-party software might fail to build after this change + due to unportable assumptions made in its source code about + fts(3) structure members. Such software should be fixed + by its vendor or, in the worst case, in the ports tree. + FreeBSD_version 800015 marks this change for the unlikely + case that a portable fix is impossible. + 20080123: To upgrade to -current after this date, you must be running FreeBSD not older than 6.0-RELEASE. Upgrading to -current @@ -955,4 +969,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.516 2008/01/23 22:21:36 ru Exp $ +$FreeBSD: src/UPDATING,v 1.517 2008/01/26 17:09:39 yar Exp $ ==== //depot/projects/dtrace/src/etc/devd.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.38 2007/06/21 22:50:36 njl Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.39 2008/01/26 13:50:38 mtm Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -53,7 +53,7 @@ match "system" "IFNET"; match "type" "LINK_UP"; media-type "ethernet"; - action "/etc/rc.d/dhclient start $subsystem"; + action "/etc/rc.d/dhclient quietstart $subsystem"; }; # @@ -73,7 +73,7 @@ match "system" "IFNET"; match "type" "LINK_UP"; media-type "802.11"; - action "/etc/rc.d/dhclient start $subsystem"; + action "/etc/rc.d/dhclient quietstart $subsystem"; }; # An entry like this might be in a different file, but is included here @@ -91,11 +91,11 @@ # When a USB Bluetooth dongle appears activate it attach 100 { device-name "ubt[0-9]+"; - action "/etc/rc.d/bluetooth start $device-name"; + action "/etc/rc.d/bluetooth quietstart $device-name"; }; detach 100 { device-name "ubt[0-9]+"; - action "/etc/rc.d/bluetooth stop $device-name"; + action "/etc/rc.d/bluetooth quietstop $device-name"; }; # When a USB keyboard arrives, attach it as the console keyboard. @@ -112,7 +112,7 @@ # stops automatically (actually it bombs :) when the device disappears. attach 100 { device-name "ums[0-9]+"; - action "/etc/rc.d/moused start $device-name"; + action "/etc/rc.d/moused quietstart $device-name"; }; # Firmware download into the ActiveWire board. After the firmware download is ==== //depot/projects/dtrace/src/etc/netstart#4 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/netstart,v 1.67 2006/05/30 02:10:01 brooks Exp $ +# $FreeBSD: src/etc/netstart,v 1.68 2008/01/26 13:37:48 mtm Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # @@ -37,29 +37,31 @@ . /etc/rc.subr load_rc_config 'XXX' -/etc/rc.d/devd start -/etc/rc.d/hostname start -/etc/rc.d/ipmon start -/etc/rc.d/ipfilter start -/etc/rc.d/ipnat start -/etc/rc.d/ipfs start -/etc/rc.d/sppp start -# /etc/rc.d/atm1 start -# . /etc/rc.d/atm2.sh start -# . /etc/rc.d/atm3.sh start -/etc/rc.d/netif start -/etc/rc.d/ipsec start -/etc/rc.d/dhclient start -/etc/rc.d/isdnd start -/etc/rc.d/ppp start -/etc/rc.d/ipfw start -/etc/rc.d/ip6fw start -/etc/rc.d/network_ipv6 start -/etc/rc.d/routing start -/etc/rc.d/mroute6d start -/etc/rc.d/route6d start -/etc/rc.d/mrouted start -/etc/rc.d/routed start -/etc/rc.d/nisdomain start +_start=quietstart + +/etc/rc.d/devd ${_start} +/etc/rc.d/hostname ${_start} +/etc/rc.d/ipmon ${_start} +/etc/rc.d/ipfilter ${_start} +/etc/rc.d/ipnat ${_start} +/etc/rc.d/ipfs ${_start} +/etc/rc.d/sppp ${_start} +# /etc/rc.d/atm1 ${_start} +# . /etc/rc.d/atm2.sh ${_start} +# . /etc/rc.d/atm3.sh ${_start} +/etc/rc.d/netif ${_start} +/etc/rc.d/ipsec ${_start} +/etc/rc.d/dhclient ${_start} +/etc/rc.d/isdnd ${_start} +/etc/rc.d/ppp ${_start} +/etc/rc.d/ipfw ${_start} +/etc/rc.d/ip6fw ${_start} +/etc/rc.d/network_ipv6 ${_start} +/etc/rc.d/routing ${_start} +/etc/rc.d/mroute6d ${_start} +/etc/rc.d/route6d ${_start} +/etc/rc.d/mrouted ${_start} +/etc/rc.d/routed ${_start} +/etc/rc.d/nisdomain ${_start} exit 0 ==== //depot/projects/dtrace/src/etc/rc#5 (text+ko) ==== @@ -25,7 +25,7 @@ # SUCH DAMAGE. # # @(#)rc 5.27 (Berkeley) 6/5/91 -# $FreeBSD: src/etc/rc,v 1.340 2007/04/02 22:53:06 des Exp $ +# $FreeBSD: src/etc/rc,v 1.341 2008/01/26 11:22:11 mtm Exp $ # # System startup script run by init on autoboot @@ -56,7 +56,7 @@ rc_fast=yes # run_rc_command(): do fast booting else autoboot=no - _boot="start" + _boot="quietstart" fi dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` ==== //depot/projects/dtrace/src/etc/rc.d/ipfw#7 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ipfw,v 1.15 2007/04/02 15:38:53 mtm Exp $ +# $FreeBSD: src/etc/rc.d/ipfw,v 1.16 2008/01/26 14:02:19 mtm Exp $ # # PROVIDE: ipfw @@ -24,7 +24,7 @@ if [ -r "${firewall_script}" ]; then if [ -f /etc/rc.d/natd ] ; then - /etc/rc.d/natd start + /etc/rc.d/natd quietstart fi /bin/sh "${firewall_script}" echo 'Firewall rules loaded.' @@ -52,7 +52,7 @@ # ${SYSCTL_W} net.inet.ip.fw.enable=0 if [ -f /etc/rc.d/natd ] ; then - /etc/rc.d/natd stop + /etc/rc.d/natd quietstop fi } ==== //depot/projects/dtrace/src/etc/rc.d/mountcritremote#7 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountcritremote,v 1.17 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/mountcritremote,v 1.18 2008/01/26 14:02:19 mtm Exp $ # # PROVIDE: mountcritremote @@ -65,7 +65,7 @@ done # Cleanup /var again just in case it's a network mount. - /etc/rc.d/cleanvar reload + /etc/rc.d/cleanvar quietreload rm -f /var/run/clean_var /var/spool/lock/clean_var } ==== //depot/projects/dtrace/src/etc/rc.d/netif#6 (text+ko) ==== @@ -22,7 +22,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/netif,v 1.24 2007/07/25 18:08:01 jhb Exp $ +# $FreeBSD: src/etc/rc.d/netif,v 1.25 2008/01/26 11:22:12 mtm Exp $ # # PROVIDE: netif @@ -72,7 +72,7 @@ if [ -f /etc/rc.d/ipfilter ] ; then # Resync ipfilter - /etc/rc.d/ipfilter resync + /etc/rc.d/ipfilter quietresync fi if [ -f /etc/rc.d/bridge -a -n "$cmdifn" ] ; then /etc/rc.d/bridge start $cmdifn ==== //depot/projects/dtrace/src/etc/rc.d/ppp#8 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ppp,v 1.15 2007/10/18 17:10:40 emax Exp $ +# $FreeBSD: src/etc/rc.d/ppp,v 1.16 2008/01/26 14:02:19 mtm Exp $ # # PROVIDE: ppp @@ -82,8 +82,8 @@ { # Re-Sync ipfilter and pf so they pick up any new network interfaces # - /etc/rc.d/ipfilter resync - /etc/rc.d/pf resync + /etc/rc.d/ipfilter quietresync + /etc/rc.d/pf quietresync } ppp_stop_profile() { ==== //depot/projects/dtrace/src/etc/rc.subr#16 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: rc.subr,v 1.67 2006/10/07 11:25:15 elad Exp $ -# $FreeBSD: src/etc/rc.subr,v 1.79 2008/01/25 16:44:34 mtm Exp $ +# $FreeBSD: src/etc/rc.subr,v 1.80 2008/01/26 11:22:11 mtm Exp $ # # Copyright (c) 1997-2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -377,9 +377,10 @@ # If argument has a given prefix, then change the operation as follows: # Prefix Operation # ------ --------- -# fast Skip the pid check, and set rc_fast=yes +# fast Skip the pid check, and set rc_fast=yes, rc_quiet=yes # force Set ${rcvar} to YES, and set rc_force=yes # one Set ${rcvar} to YES +# quiet Don't output some diagnostics, and set rc_quiet=yes # # The following globals are used: # @@ -522,6 +523,8 @@ # # rc_force Not empty if "force" was provided (q.v.) # +# rc_quiet Not empty if "quiet" was provided +# # run_rc_command() { @@ -542,6 +545,7 @@ fast*) # "fast" prefix; don't check pid rc_arg=${rc_arg#fast} rc_fast=yes + rc_quiet=yes ;; force*) # "force prefix; always run rc_force=yes @@ -558,6 +562,11 @@ eval ${rcvar}=YES fi ;; + quiet*) # "quiet" prefix; omit some messages + _rc_prefix=quiet + rc_arg=${rc_arg#${_rc_prefix}} + rc_quiet=yes + ;; esac eval _override_command=\$${name}_program @@ -606,6 +615,12 @@ # if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then if ! checkyesno ${rcvar}; then + if [ -n "${rc_quiet}" ]; then + return 0 + fi + echo -n "Cannot '${rc_arg}' $name. Set ${rcvar} to " + echo -n "YES in /etc/rc.conf or use 'one${rc_arg}' " + echo "instead of '${rc_arg}'." return 0 fi fi ==== //depot/projects/dtrace/src/include/fts.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 - * $FreeBSD: src/include/fts.h,v 1.11 2005/01/07 00:06:20 pjd Exp $ + * $FreeBSD: src/include/fts.h,v 1.12 2008/01/26 17:09:40 yar Exp $ */ #ifndef _FTS_H_ @@ -44,8 +44,8 @@ dev_t fts_dev; /* starting device # */ char *fts_path; /* path for this descent */ int fts_rfd; /* fd for root */ - int fts_pathlen; /* sizeof(path) */ - int fts_nitems; /* elements in the sort array */ + size_t fts_pathlen; /* sizeof(path) */ + size_t fts_nitems; /* elements in the sort array */ int (*fts_compar) /* compare function */ (const struct _ftsent * const *, const struct _ftsent * const *); @@ -69,22 +69,15 @@ struct _ftsent *fts_cycle; /* cycle node */ struct _ftsent *fts_parent; /* parent directory */ struct _ftsent *fts_link; /* next file in directory */ - union { - struct { - long __fts_number; /* local numeric value */ - void *__fts_pointer; /* local address value */ - } __struct_ftsent; - int64_t __fts_bignum; - } __union_ftsent; -#define fts_number __union_ftsent.__struct_ftsent.__fts_number -#define fts_pointer __union_ftsent.__struct_ftsent.__fts_pointer -#define fts_bignum __union_ftsent.__fts_bignum + long long fts_number; /* local numeric value */ +#define fts_bignum fts_number /* XXX non-std, should go away */ + void *fts_pointer; /* local address value */ char *fts_accpath; /* access path */ char *fts_path; /* root path */ int fts_errno; /* errno for this node */ int fts_symfd; /* fd for symlink */ - u_short fts_pathlen; /* strlen(fts_path) */ - u_short fts_namelen; /* strlen(fts_name) */ + size_t fts_pathlen; /* strlen(fts_path) */ + size_t fts_namelen; /* strlen(fts_name) */ ino_t fts_ino; /* inode */ dev_t fts_dev; /* device */ @@ -92,7 +85,7 @@ #define FTS_ROOTPARENTLEVEL -1 #define FTS_ROOTLEVEL 0 - short fts_level; /* depth (-1 to N) */ + long fts_level; /* depth (-1 to N) */ #define FTS_D 1 /* preorder directory */ #define FTS_DC 2 /* directory that causes cycles */ @@ -108,18 +101,18 @@ #define FTS_SL 12 /* symbolic link */ #define FTS_SLNONE 13 /* symbolic link without target */ #define FTS_W 14 /* whiteout object */ - u_short fts_info; /* user flags for FTSENT structure */ + int fts_info; /* user status for FTSENT structure */ #define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ #define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ #define FTS_ISW 0x04 /* this is a whiteout object */ - u_short fts_flags; /* private flags for FTSENT structure */ + unsigned fts_flags; /* private flags for FTSENT structure */ #define FTS_AGAIN 1 /* read node again */ #define FTS_FOLLOW 2 /* follow symbolic link */ #define FTS_NOINSTR 3 /* no instructions */ #define FTS_SKIP 4 /* discard node */ - u_short fts_instr; /* fts_set() instructions */ + int fts_instr; /* fts_set() instructions */ struct stat *fts_statp; /* stat(2) information */ char *fts_name; /* file name */ ==== //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.6 (Berkeley) 5/4/95 -# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.130 2008/01/10 22:11:21 jhb Exp $ +# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.131 2008/01/26 17:09:40 yar Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen @@ -11,7 +11,7 @@ crypt.c ctermid.c daemon.c devname.c dirname.c disklabel.c \ dlfcn.c dlfunc.c drand48.c erand48.c err.c errlst.c errno.c \ exec.c feature_present.c fmtcheck.c fmtmsg.c fnmatch.c \ - fpclassify.c frexp.c fstab.c ftok.c fts.c ftw.c \ + fpclassify.c frexp.c fstab.c ftok.c fts.c fts-compat.c ftw.c \ getbootfile.c getbsize.c \ getcap.c getcwd.c getdomainname.c getgrent.c getgrouplist.c \ gethostname.c getloadavg.c getlogin.c getmntinfo.c getnetgrent.c \ ==== //depot/projects/dtrace/src/lib/libc/gen/Symbol.map#5 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.7 2007/11/27 16:22:21 jasone Exp $ + * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.8 2008/01/26 17:09:40 yar Exp $ */ FBSD_1.0 { @@ -134,14 +134,6 @@ setfsent; endfsent; ftok; - fts_open; - fts_close; - fts_read; - fts_set; - fts_children; - fts_get_clientptr; - fts_get_stream; - fts_set_clientptr; ftw; glob; globfree; @@ -336,6 +328,17 @@ wordfree; }; +FBSD_1.1 { + fts_open; + fts_close; + fts_read; + fts_set; + fts_children; + fts_get_clientptr; + fts_get_stream; + fts_set_clientptr; +}; + FBSDprivate_1.0 { /* needed by thread libraries */ __thr_jtable; ==== //depot/projects/dtrace/src/lib/libc/gen/fts-compat.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fts-compat.c,v 1.29 2007/08/23 05:09:31 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fts-compat.c,v 1.30 2008/01/26 17:09:40 yar Exp $"); #include "namespace.h" #include @@ -46,12 +46,22 @@ #include #include #include -#include #include #include #include +#include "fts-compat.h" #include "un-namespace.h" +FTSENT *__fts_children_44bsd(FTS *, int); +int __fts_close_44bsd(FTS *); +void *__fts_get_clientptr_44bsd(FTS *); +FTS *__fts_get_stream_44bsd(FTSENT *); +FTS *__fts_open_44bsd(char * const *, int, + int (*)(const FTSENT * const *, const FTSENT * const *)); +FTSENT *__fts_read_44bsd(FTS *); +int __fts_set_44bsd(FTS *, FTSENT *, int); +void __fts_set_clientptr_44bsd(FTS *, void *); + static FTSENT *fts_alloc(FTS *, char *, int); static FTSENT *fts_build(FTS *, int); static void fts_lfree(FTSENT *); @@ -107,7 +117,7 @@ }; FTS * -fts_open(argv, options, compar) +__fts_open_44bsd(argv, options, compar) char * const *argv; int options; int (*compar)(const FTSENT * const *, const FTSENT * const *); @@ -246,7 +256,7 @@ } int -fts_close(sp) +__fts_close_44bsd(sp) FTS *sp; { FTSENT *freep, *p; @@ -301,7 +311,7 @@ ? p->fts_pathlen - 1 : p->fts_pathlen) FTSENT * -fts_read(sp) +__fts_read_44bsd(sp) FTS *sp; { FTSENT *p, *tmp; @@ -495,7 +505,7 @@ */ /* ARGSUSED */ int -fts_set(sp, p, instr) +__fts_set_44bsd(sp, p, instr) FTS *sp; FTSENT *p; int instr; @@ -510,7 +520,7 @@ } FTSENT * -fts_children(sp, instr) +__fts_children_44bsd(sp, instr) FTS *sp; int instr; { @@ -582,7 +592,7 @@ #endif void * -(fts_get_clientptr)(FTS *sp) +(__fts_get_clientptr_44bsd)(FTS *sp) { return (fts_get_clientptr(sp)); @@ -593,13 +603,13 @@ #endif FTS * -(fts_get_stream)(FTSENT *p) +(__fts_get_stream_44bsd)(FTSENT *p) { return (fts_get_stream(p)); } void -fts_set_clientptr(FTS *sp, void *clientptr) +__fts_set_clientptr_44bsd(FTS *sp, void *clientptr) { sp->fts_clientptr = clientptr; @@ -1220,3 +1230,12 @@ } return (priv->ftsp_linksreliable); } + +__sym_compat(fts_open, __fts_open_44bsd, FBSD_1.0); +__sym_compat(fts_close, __fts_close_44bsd, FBSD_1.0); +__sym_compat(fts_read, __fts_read_44bsd, FBSD_1.0); +__sym_compat(fts_set, __fts_set_44bsd, FBSD_1.0); +__sym_compat(fts_children, __fts_children_44bsd, FBSD_1.0); +__sym_compat(fts_get_clientptr, __fts_get_clientptr_44bsd, FBSD_1.0); +__sym_compat(fts_get_stream, __fts_get_stream_44bsd, FBSD_1.0); +__sym_compat(fts_set_clientptr, __fts_set_clientptr_44bsd, FBSD_1.0); ==== //depot/projects/dtrace/src/lib/libc/gen/fts-compat.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 - * $FreeBSD: src/lib/libc/gen/fts-compat.h,v 1.12 2007/08/23 05:09:31 yar Exp $ + * $FreeBSD: src/lib/libc/gen/fts-compat.h,v 1.13 2008/01/26 17:09:40 yar Exp $ */ #ifndef _FTS_H_ @@ -126,20 +126,7 @@ FTS *fts_fts; /* back pointer to main FTS */ } FTSENT; -#include - -__BEGIN_DECLS -FTSENT *fts_children(FTS *, int); -int fts_close(FTS *); -void *fts_get_clientptr(FTS *); #define fts_get_clientptr(fts) ((fts)->fts_clientptr) -FTS *fts_get_stream(FTSENT *); #define fts_get_stream(ftsent) ((ftsent)->fts_fts) -FTS *fts_open(char * const *, int, - int (*)(const FTSENT * const *, const FTSENT * const *)); -FTSENT *fts_read(FTS *); -int fts_set(FTS *, FTSENT *, int); -void fts_set_clientptr(FTS *, void *); -__END_DECLS #endif /* !_FTS_H_ */ ==== //depot/projects/dtrace/src/lib/libc/gen/fts.3#5 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 -.\" $FreeBSD: src/lib/libc/gen/fts.3,v 1.23 2007/01/09 00:27:53 imp Exp $ +.\" $FreeBSD: src/lib/libc/gen/fts.3,v 1.24 2008/01/26 17:09:40 yar Exp $ .\" -.Dd January 7, 2005 +.Dd January 26, 2008 .Dt FTS 3 .Os .Sh NAME @@ -133,17 +133,16 @@ described in greater detail below: .Bd -literal typedef struct _ftsent { - u_short fts_info; /* flags for FTSENT structure */ + int fts_info; /* status for FTSENT structure */ char *fts_accpath; /* access path */ char *fts_path; /* root path */ - u_short fts_pathlen; /* strlen(fts_path) */ + size_t fts_pathlen; /* strlen(fts_path) */ char *fts_name; /* file name */ - u_short fts_namelen; /* strlen(fts_name) */ - short fts_level; /* depth (\-1 to N) */ + size_t fts_namelen; /* strlen(fts_name) */ + long fts_level; /* depth (\-1 to N) */ int fts_errno; /* file errno */ - long fts_number; /* local numeric value */ + long long fts_number; /* local numeric value */ void *fts_pointer; /* local address value */ - int64_t fts_bignum; /* local 64-bit numeric value */ struct ftsent *fts_parent; /* parent directory */ struct ftsent *fts_link; /* next file structure */ struct ftsent *fts_cycle; /* cycle structure */ @@ -292,8 +291,6 @@ .Nm functions. It is initialized to 0. -Note that this field is overlaid by -.Fa fts_bignum . .It Fa fts_pointer This field is provided for the use of the application program and is not modified by the @@ -301,18 +298,6 @@ functions. It is initialized to .Dv NULL . -Note that this field is overlaid by -.Fa fts_bignum . -.It Fa fts_bignum -This field is provided for the use of the application program and is -not modified by the -.Nm -functions. -It is initialized to 0. -Note that this field overlays -.Fa fts_number -and -.Fa fts_pointer . .It Fa fts_parent A pointer to the .Vt FTSENT ==== //depot/projects/dtrace/src/lib/libc/gen/fts.c#5 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:22:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E7C416A418; Sat, 26 Jan 2008 22:22: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 4B44616A420 for ; Sat, 26 Jan 2008 22:22:28 +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 3E3DD13C465 for ; Sat, 26 Jan 2008 22:22:28 +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 m0QMMSpX069043 for ; Sat, 26 Jan 2008 22:22:28 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 m0QMMSN1069040 for perforce@freebsd.org; Sat, 26 Jan 2008 22:22:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 26 Jan 2008 22:22:28 GMT Message-Id: <200801262222.m0QMMSN1069040@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 134152 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:22:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=134152 Change 134152 by rwatson@rwatson_freebsd_capabilities on 2008/01/26 22:21:52 Test more system calls. Test for failure for get*id() a bit differently. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_syscalls.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_syscalls.c#2 (text+ko) ==== @@ -31,10 +31,11 @@ */ #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_syscalls.c#1 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/tools/regression/security/cap_test/cap_test_syscalls.c#2 $"); #include #include +#include #include #include #include @@ -104,6 +105,12 @@ } else warnx("test_syscalls:access succeeded"); + if (acct("/tmp/cap_test_syscalls_acct") < 0) { + if (errno != ENOSYS) + warnx("test_syscalls:acct %d", errno); + } else + warnx("test_syscalls:acct succeeded"); + if (chdir("/tmp/cap_test_syscalls_chdir") < 0) { if (errno != ENOSYS) warnx("test_syscalls:chdir %d", errno); @@ -128,6 +135,12 @@ } else warnx("test_syscalls:chown succeeded"); + if (chroot("/tmp/cap_test_syscalls_chroot") < 0) { + if (errno != ENOSYS) + warnx("test_syscalls:chroot %d", errno); + } else + warnx("test_syscalls:chroot succeeded"); + if (close(fd_close)) { if (errno == ENOSYS) warnx("test_syscalls:close ENOSYS"); @@ -142,6 +155,13 @@ } else if (errno != ENOSYS) warnx("test_syscalls:creat %d", errno); + fd = dup(fd_file); + if (fd < 0) { + if (errno == ENOSYS) + warnx("test_syscalls:dup ENOSYS"); + } else + close(fd); + if (fchdir(fd_dir) < 0) { if (errno != ENOSYS) warnx("test_syscall:fchdir %d", errno); @@ -180,15 +200,26 @@ else warnx("test_syscalls:fork %d", errno); + if (fstat(fd_file, &sb) < 0) { + if (errno == ENOSYS) + warnx("test_syscalls:fstat ENOSYS"); + } + + /* + * getegid() can't return an error but check for it anyway. + */ + errno = 0; + (void)getegid(); + if (errno == ENOSYS) + warnx("test_syscalls:getegid ENOSYS"); + /* * geteuid() can't return an error but check for it anyway. */ - if ((int)(geteuid()) < 0) { - if (errno == ENOSYS) - warnx("test_syscalls:geteuid ENOSYS"); - else - warnx("test_syscalls:geteuid %d", errno); - } + errno = 0; + geteuid(); + if (errno == ENOSYS) + warnx("test_syscalls:geteuid ENOSYS"); if (getfsstat(&statfs, sizeof(statfs), MNT_NOWAIT) < 0) { if (errno != ENOSYS) @@ -196,30 +227,40 @@ } else warnx("test_syscalls:getfsstat succeeded"); + /* + * getgid() can't return an error but check for it anyway. + */ + errno = 0; + getgid(); + if (errno == ENOSYS) + warnx("test_syscalls:getgid ENOSYS"); + if (getpeername(fd_socket, NULL, NULL) < 0) { if (errno == ENOSYS) warnx("test_syscalls:getpeername ENOSYS"); } + if (getlogin() == NULL) { + if (errno != ENOSYS) + warnx("test_sycalls:getlogin ENOSYS"); + } else + warnx("test_syscalls:getlogin succeeded"); + /* * getpid() can't return an error but check for it anyway. */ - if (getpid() < 0) { - if (errno == ENOSYS) - warnx("test_syscalls:getpid ENOSYS"); - else - warnx("test_syscalls:getpid %d", errno); - } + errno = 0; + (void)getpid(); + if (errno == ENOSYS) + warnx("test_syscalls:getpid ENOSYS"); /* * getppid() can't return an error but check for it anyway. */ - if (getppid() < 0) { - if (errno == ENOSYS) - warnx("test_syscalls:getppid ENOSYS"); - else - warnx("test_syscalls:getppid %d", errno); - } + errno = 0; + (void)getppid(); + if (errno == ENOSYS) + warnx("test_syscalls:getppid ENOSYS"); if (getsockname(fd_socket, NULL, NULL) < 0) { if (errno == ENOSYS) @@ -229,12 +270,12 @@ /* * getuid() can't return an error but check for it anyway. */ - if ((int)(getuid()) < 0) { - if (errno == ENOSYS) - warnx("test_syscalls:getuid ENOSYS"); - else - warnx("test_syscals:getuid %d", errno); - } + errno = 0; + (void)getuid(); + if (errno == ENOSYS) + warnx("test_syscalls:getuid ENOSYS"); + + /* XXXRW: ktrace */ if (link("/tmp/foo", "/tmp/bar") < 0) { if (errno != ENOSYS) @@ -271,6 +312,11 @@ } else warnx("test_syscalls:mount succeeded"); + if (msync(&fd_file, 8192, MS_ASYNC) < 0) { + if (errno == ENOSYS) + warnx("test_syscalls:msync ENOSYS"); + } + fd = open("/dev/null", O_RDWR); if (fd >= 0) { warnx("test_syscalls:open succeeded"); @@ -283,12 +329,23 @@ } else if (errno == ENOSYS) warnx("test_syscalls:pipe ENOSYS"); + if (profil(NULL, 0, 0, 0) < 0) { + if (errno == ENOSYS) + warnx("test_syscalls:profile ENOSYS"); + } + /* XXXRW: ptrace. */ len = read(fd_file, &ch, sizeof(ch)); if (len < 0 && errno == ENOSYS) warnx("test_syscalls:read ENOSYS"); + if (readlink("/tmp/cap_test_syscalls_readlink", NULL, 0) < 0) { + if (errno != ENOSYS) + warnx("test_syscalls:readlink %d", errno); + } else + warnx("test_syscalls:readlink succeeded"); + len = recvfrom(fd_socket, NULL, 0, 0, NULL, NULL); if (len < 0 && errno == ENOSYS) warnx("test_syscalls:recvfrom ENOSYS"); @@ -297,6 +354,12 @@ if (len < 0 && errno == ENOSYS) warnx("test_syscalls:recvmsg ENOSYS"); + if (revoke("/tmp/cap_test_syscalls_revoke") < 0) { + if (errno != ENOSYS) + warnx("test_syscalls:revoke %d", errno); + } else + warnx("test_syscalls:revoke succeeded"); + len = sendmsg(fd_socket, NULL, 0); if (len < 0 && errno == ENOSYS) warnx("test_syscalls:sendmsg ENOSYS"); @@ -312,6 +375,13 @@ } else warnx("test_syscalls:stat succeeded"); + if (symlink("/tmp/cap_test_syscalls_symlink_from", + "/tmp/cap_test_syscalls_symlink_to") < 0) { + if (errno != ENOSYS) + warnx("test_syscalls:symlink %d", errno); + } else + warnx("test_syscalls:symlink succeeded"); + /* XXXRW: No error return from sync(2) to test. */ if (unlink("/tmp/cap_test_syscalls_unlink") < 0) { From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:27:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B70B16A421; Sat, 26 Jan 2008 22:27: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 280D116A417 for ; Sat, 26 Jan 2008 22:27:35 +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 1C1F113C474 for ; Sat, 26 Jan 2008 22:27:35 +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 m0QMRXpW069311 for ; Sat, 26 Jan 2008 22:27:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMRXEW069308 for perforce@freebsd.org; Sat, 26 Jan 2008 22:27:33 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:27:33 GMT Message-Id: <200801262227.m0QMRXEW069308@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 134154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:27:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=134154 Change 134154 by jb@jb_freebsd1 on 2008/01/26 22:26:53 Add some fasttrap hooks for fork/exec/exit in pursuit of the pid provider. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#24 edit .. //depot/projects/dtrace/src/sys/kern/kern_exit.c#17 edit .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#27 edit .. //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_exec.c#24 (text+ko) ==== @@ -85,6 +85,11 @@ #include #include +#ifdef KDTRACE_HOOKS +#include +dtrace_execexit_func_t dtrace_fasttrap_exec; +#endif + SDT_PROVIDER_DECLARE(proc); SDT_PROBE_DEFINE(proc, kernel, , exec); SDT_PROBE_ARGTYPE(proc, kernel, , exec, 0, "char *"); @@ -668,6 +673,13 @@ p->p_textvp = ndp->ni_vp; /* + * Tell the DTrace fasttrap provider about the exec if it + * has declared an interest. + */ + if (dtrace_fasttrap_exec) + dtrace_fasttrap_exec(p); + + /* * Notify others that we exec'd, and clear the P_INEXEC flag * as we're now a bona fide freshly-execed process. */ @@ -729,6 +741,7 @@ vfs_mark_atime(imgp->vp, td); done1: + /* * Free any resources malloc'd earlier that we didn't use. */ ==== //depot/projects/dtrace/src/sys/kern/kern_exit.c#17 (text+ko) ==== @@ -84,6 +84,11 @@ #include #include +#ifdef KDTRACE_HOOKS +#include +dtrace_execexit_func_t dtrace_fasttrap_exit; +#endif + SDT_PROVIDER_DECLARE(proc); SDT_PROBE_DEFINE(proc, kernel, , exit); SDT_PROBE_ARGTYPE(proc, kernel, , exit, 0, "int"); @@ -454,6 +459,14 @@ PROC_LOCK(p); p->p_xstat = rv; p->p_xthread = td; + + /* + * Tell the DTrace fasttrap provider about the exit if it + * has declared an interest. + */ + if (dtrace_fasttrap_exit) + dtrace_fasttrap_exit(p); + /* * Notify interested parties of our demise. */ ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#27 (text+ko) ==== @@ -77,6 +77,11 @@ #include #include +#ifdef KDTRACE_HOOKS +#include +dtrace_fork_func_t dtrace_fasttrap_fork; +#endif + SDT_PROVIDER_DECLARE(proc); SDT_PROBE_DEFINE(proc, kernel, , create); SDT_PROBE_ARGTYPE(proc, kernel, , create, 0, "struct proc *"); @@ -635,6 +640,13 @@ } /* + * Tell the DTrace fasttrap provider about the new process + * if it has registered an interest. + */ + if (dtrace_fasttrap_fork) + dtrace_fasttrap_fork(p1, p2); + + /* * This begins the section where we must prevent the parent * from being swapped. */ ==== //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#12 (text+ko) ==== @@ -72,6 +72,19 @@ extern int dtrace_vtime_active; extern dtrace_vtime_switch_func_t dtrace_vtime_switch_func; +/* The fasttrap module hooks into the fork, exit and exit. */ +typedef void (*dtrace_fork_func_t)(struct proc *, struct proc *); +typedef void (*dtrace_execexit_func_t)(struct proc *); + +/* Global variable in kern_fork.c */ +extern dtrace_fork_func_t dtrace_fasttrap_fork; + +/* Global variable in kern_exec.c */ +extern dtrace_execexit_func_t dtrace_fasttrap_exec; + +/* Global variable in kern_exit.c */ +extern dtrace_execexit_func_t dtrace_fasttrap_exit; + /* * Functions which allow the dtrace module to check that the kernel * hooks have been compiled with sufficient space for it's private From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:28:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 661DA16A420; Sat, 26 Jan 2008 22:28: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 133DD16A418 for ; Sat, 26 Jan 2008 22:28:35 +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 070C813C44B for ; Sat, 26 Jan 2008 22:28:35 +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 m0QMSYFE069378 for ; Sat, 26 Jan 2008 22:28:34 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMSYlU069375 for perforce@freebsd.org; Sat, 26 Jan 2008 22:28:34 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:28:34 GMT Message-Id: <200801262228.m0QMSYlU069375@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 134155 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:28:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=134155 Change 134155 by jb@jb_freebsd1 on 2008/01/26 22:28:01 Add the fasttrap provider on amd64 only at the moment. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#24 edit .. //depot/projects/dtrace/src/sys/modules/dtrace/dtraceall/dtraceall.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#24 (text+ko) ==== @@ -12,7 +12,8 @@ systrace .if ${MACHINE_ARCH} == "amd64" -SUBDIR+= fbt +SUBDIR+= fasttrap \ + fbt .elif ${MACHINE_ARCH} == "i386" SUBDIR+= fbt .endif ==== //depot/projects/dtrace/src/sys/modules/dtrace/dtraceall/dtraceall.c#4 (text+ko) ==== @@ -64,6 +64,9 @@ MODULE_DEPEND(dtraceall, cyclic, 1, 1, 1); MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); +#if defined(__amd64__) +MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); +#endif #if defined(__amd64__) || defined(__i386__) MODULE_DEPEND(dtraceall, fbt, 1, 1, 1); #endif From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:29:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78EDF16A419; Sat, 26 Jan 2008 22:29: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 3EADB16A417 for ; Sat, 26 Jan 2008 22:29:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3306B13C459 for ; Sat, 26 Jan 2008 22:29:36 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0QMTaY8069447 for ; Sat, 26 Jan 2008 22:29:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMTajW069444 for perforce@freebsd.org; Sat, 26 Jan 2008 22:29:36 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:29:36 GMT Message-Id: <200801262229.m0QMTajW069444@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 134156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:29:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=134156 Change 134156 by jb@jb_freebsd1 on 2008/01/26 22:28:37 Build the fasttrap provider. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/fasttrap/Makefile#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/fasttrap/Makefile#3 (text+ko) ==== @@ -1,14 +1,19 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../cddl/dev/fasttrap +.PATH: ${.CURDIR}/../../../cddl/dev/fasttrap + +KMOD= fasttrap +SRCS= fasttrap.c +SRCS+= vnode_if.h + +CFLAGS+= -I${.CURDIR}/../../../compat/opensolaris \ + -I${.CURDIR}/../../../contrib/opensolaris/uts/common \ + -I${.CURDIR}/../../.. -KMOD= fasttrap -SRCS= fasttrap.c -SRCS+= bus_if.h device_if.h vnode_if.h +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +CFLAGS+= -I${.CURDIR}/../../../contrib/opensolaris/uts/intel +.endif -CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/uts/common \ - -I${.CURDIR}/../../../contrib/opensolaris/compat \ - -I${.CURDIR}/../../contrib \ - -I${.CURDIR}/../.. +CFLAGS+= -DSMP -DDEBUG .include From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:31:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3064E16A46D; Sat, 26 Jan 2008 22:31: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 D14C016A41A for ; Sat, 26 Jan 2008 22:31:38 +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 C5B4313C474 for ; Sat, 26 Jan 2008 22:31:38 +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 m0QMVcoL069821 for ; Sat, 26 Jan 2008 22:31:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMVca4069817 for perforce@freebsd.org; Sat, 26 Jan 2008 22:31:38 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:31:38 GMT Message-Id: <200801262231.m0QMVca4069817@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 134157 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:31:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=134157 Change 134157 by jb@jb_freebsd1 on 2008/01/26 22:30:47 Use FreeBSD mutexes rather than the compatiblized ones. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/fasttrap_impl.h#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/fasttrap_impl.h#2 (text) ==== @@ -74,7 +74,11 @@ pid_t ftpc_pid; /* process ID for this proc */ uint64_t ftpc_acount; /* count of active providers */ uint64_t ftpc_rcount; /* provider reference count */ +#if defined(sun) kmutex_t ftpc_mtx; /* proc lock */ +#else + struct mtx ftpc_mtx; /* proc lock */ +#endif struct fasttrap_proc *ftpc_next; /* next proc in hash chain */ } fasttrap_proc_t; @@ -84,8 +88,13 @@ dtrace_provider_id_t ftp_provid; /* DTrace provider handle */ uint_t ftp_marked; /* mark for possible removal */ uint_t ftp_retired; /* mark when retired */ +#if defined(sun) kmutex_t ftp_mtx; /* provider lock */ kmutex_t ftp_cmtx; /* lock on creating probes */ +#else + struct mtx ftp_mtx; /* provider lock */ + struct mtx ftp_cmtx; /* lock on creating probes */ +#endif uint64_t ftp_rcount; /* enabled probes ref count */ uint64_t ftp_ccount; /* consumers creating probes */ uint64_t ftp_mcount; /* meta provider count */ @@ -139,10 +148,14 @@ }; typedef struct fasttrap_bucket { +#if defined(sun) kmutex_t ftb_mtx; /* bucket lock */ +#else + struct mtx ftb_mtx; /* bucket lock */ +#endif void *ftb_data; /* data payload */ - uint8_t ftb_pad[64 - sizeof (kmutex_t) - sizeof (void *)]; + uint8_t ftb_pad[64 - sizeof (struct mtx) - sizeof (void *)]; } fasttrap_bucket_t; typedef struct fasttrap_hash { From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:32:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E29616A46D; Sat, 26 Jan 2008 22:32: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 1343016A469 for ; Sat, 26 Jan 2008 22:32:40 +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 07D8313C467 for ; Sat, 26 Jan 2008 22:32:40 +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 m0QMWdFw069988 for ; Sat, 26 Jan 2008 22:32:39 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMWd9j069985 for perforce@freebsd.org; Sat, 26 Jan 2008 22:32:39 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:32:39 GMT Message-Id: <200801262232.m0QMWd9j069985@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 134158 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:32:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=134158 Change 134158 by jb@jb_freebsd1 on 2008/01/26 22:31:52 Make a couple of defs Sun-only. I'm not sure I want to use them this way. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#30 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#30 (text) ==== @@ -2213,12 +2213,14 @@ struct regs; +#if defined(sun) extern int (*dtrace_pid_probe_ptr)(struct regs *); extern int (*dtrace_return_probe_ptr)(struct regs *); extern void (*dtrace_fasttrap_fork_ptr)(proc_t *, proc_t *); extern void (*dtrace_fasttrap_exec_ptr)(proc_t *); extern void (*dtrace_fasttrap_exit_ptr)(proc_t *); extern void dtrace_fasttrap_fork(proc_t *, proc_t *); +#endif typedef uintptr_t dtrace_icookie_t; typedef void (*dtrace_xcall_t)(void *); From owner-p4-projects@FreeBSD.ORG Sat Jan 26 22:40:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A593316A419; Sat, 26 Jan 2008 22:40: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 68CDD16A46E for ; Sat, 26 Jan 2008 22:40:49 +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 5CB9F13C442 for ; Sat, 26 Jan 2008 22:40:49 +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 m0QMenPH070594 for ; Sat, 26 Jan 2008 22:40:49 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0QMencs070591 for perforce@freebsd.org; Sat, 26 Jan 2008 22:40:49 GMT (envelope-from jb@freebsd.org) Date: Sat, 26 Jan 2008 22:40:49 GMT Message-Id: <200801262240.m0QMencs070591@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 134160 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Jan 2008 22:40:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=134160 Change 134160 by jb@jb_freebsd1 on 2008/01/26 22:39:51 Remove unnecessary includes. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/prototype.c#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/prototype.c#8 (text+ko) ==== @@ -33,33 +33,10 @@ #include #include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include static d_open_t prototype_open; static int prototype_unload(void); @@ -99,25 +76,21 @@ static struct cdev *prototype_cdev; static dtrace_provider_id_t prototype_id; -/*ARGSUSED*/ static void prototype_provide(void *arg, dtrace_probedesc_t *desc) { } -/* ARGSUSED */ static void prototype_destroy(void *arg, dtrace_id_t id, void *parg) { } -/* ARGSUSED */ static void prototype_enable(void *arg, dtrace_id_t id, void *parg) { } -/* ARGSUSED */ static void prototype_disable(void *arg, dtrace_id_t id, void *parg) { @@ -149,7 +122,6 @@ return (error); } -/* ARGSUSED */ static int prototype_modevent(module_t mod __unused, int type, void *data __unused) { @@ -174,7 +146,6 @@ return (error); } -/* ARGSUSED */ static int prototype_open(struct cdev *dev __unused, int oflags __unused, int devtype __unused, struct thread *td __unused) {